UNPKG

@o3r/configuration

Version:

This module contains configuration-related features such as CMS compatibility, Configuration override, store and debugging. It enables your application runtime configuration and comes with an integrated ng builder to help you generate configurations suppo

48 lines 2.25 kB
import type { Dictionary } from '@ngrx/entity'; import type { Configuration, ConnectContentMessage, ContextualizationDevtoolsCommonOptions, CustomConfig, DevtoolsCommonOptions, MessageDataTypes, OtterMessageContent, RequestMessagesContentMessage } from '@o3r/core'; import type { ConfigurationModel } from '../stores/index'; /** Option for Configuration devtools service */ export interface ConfigurationDevtoolsServiceOptions extends DevtoolsCommonOptions, ContextualizationDevtoolsCommonOptions { /** * Default library name to use if not specified in the function call * @default `@o3r/components` */ defaultLibraryName: string; /** * Default JSON file name if not specified in the function * @default partial-static-config.json */ defaultJsonFilename: string; } export interface ConfigurationsMessage extends OtterMessageContent<'configurations'> { /** Configurations */ configurations: Dictionary<ConfigurationModel>; } export interface UpdateConfigMessage extends OtterMessageContent<'updateConfig'> { /** Configuration ID */ id: string; /** Configuration value */ configValue: any; } type ConfigurationMessageContents = ConfigurationsMessage | UpdateConfigMessage; /** List of possible DataTypes for Configuration messages */ export type ConfigurationMessageDataTypes = MessageDataTypes<ConfigurationMessageContents>; /** List of all messages for configuration purpose */ export type AvailableConfigurationMessageContents = ConfigurationMessageContents | ConnectContentMessage | RequestMessagesContentMessage<ConfigurationMessageDataTypes>; /** * Determine if the given message is a Configuration message * @param message message to check */ export declare const isConfigurationMessage: (message: any) => message is AvailableConfigurationMessageContents; /** * Contextualization devtools exposed for configuration in CMS integration */ export interface ConfigurationContextualizationDevtools { /** * Replace N configurations in one shot * @param configs array of configurations to update */ updateConfigurations: (configurations: CustomConfig<Configuration>[]) => void; } export {}; //# sourceMappingURL=configuration-devtools.interface.d.ts.map