@o3r/core 12.1.0-prerelease.21 → 12.1.0-prerelease.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builders/app-version/index.d.ts +1 -1
- package/builders/lib-build/index.d.ts +1 -1
- package/builders/multi-watcher/index.d.ts +1 -1
- package/builders/ngc/index.d.ts +1 -1
- package/builders/pattern-replacement/index.d.ts +1 -1
- package/builders/run-script/index.d.ts +1 -1
- package/fesm2022/o3r-core.mjs.map +1 -1
- package/package.json +6 -6
- package/schematics/add-modules/index.d.ts +1 -2
- package/schematics/add-modules/index.d.ts.map +1 -1
- package/schematics/add-modules/index.js +1 -1
- package/schematics/component/container/index.d.ts +1 -2
- package/schematics/component/container/index.d.ts.map +1 -1
- package/schematics/component/container/index.js +1 -1
- package/schematics/component/index.d.ts +1 -2
- package/schematics/component/index.d.ts.map +1 -1
- package/schematics/component/index.js +1 -1
- package/schematics/component/presenter/index.d.ts +1 -2
- package/schematics/component/presenter/index.d.ts.map +1 -1
- package/schematics/component/presenter/index.js +1 -1
- package/schematics/context-to-component/index.d.ts +1 -1
- package/schematics/context-to-component/index.d.ts.map +1 -1
- package/schematics/context-to-component/index.js +1 -1
- package/schematics/convert-component/index.d.ts +1 -2
- package/schematics/convert-component/index.d.ts.map +1 -1
- package/schematics/convert-component/index.js +1 -1
- package/schematics/ng-add/index.d.ts +1 -2
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add-create/index.d.ts +2 -3
- package/schematics/ng-add-create/index.d.ts.map +1 -1
- package/schematics/ng-add-create/index.js +2 -2
- package/schematics/ng-add-create/templates/schematics/ng-add/index.ts.template +4 -2
- package/schematics/ng-update/index.d.ts +2 -2
- package/schematics/ng-update/index.d.ts.map +1 -1
- package/schematics/ng-update/index.js +2 -2
- package/schematics/page/index.d.ts +1 -2
- package/schematics/page/index.d.ts.map +1 -1
- package/schematics/page/index.js +1 -1
- package/schematics/renovate/index.d.ts +1 -2
- package/schematics/renovate/index.d.ts.map +1 -1
- package/schematics/renovate/index.js +1 -1
- package/schematics/schematics-update/index.d.ts +1 -2
- package/schematics/schematics-update/index.d.ts.map +1 -1
- package/schematics/schematics-update/index.js +1 -1
- package/schematics/service/index.d.ts +1 -2
- package/schematics/service/index.d.ts.map +1 -1
- package/schematics/service/index.js +1 -1
- package/schematics/show-modules/index.d.ts +1 -2
- package/schematics/show-modules/index.d.ts.map +1 -1
- package/schematics/show-modules/index.js +1 -1
- package/schematics/store/entity-async/index.d.ts +1 -2
- package/schematics/store/entity-async/index.d.ts.map +1 -1
- package/schematics/store/entity-async/index.js +1 -1
- package/schematics/store/entity-sync/index.d.ts +1 -2
- package/schematics/store/entity-sync/index.d.ts.map +1 -1
- package/schematics/store/entity-sync/index.js +1 -1
- package/schematics/store/index.d.ts +1 -2
- package/schematics/store/index.d.ts.map +1 -1
- package/schematics/store/index.js +1 -1
- package/schematics/store/simple-async/index.d.ts +1 -2
- package/schematics/store/simple-async/index.d.ts.map +1 -1
- package/schematics/store/simple-async/index.js +1 -1
- package/schematics/store/simple-sync/index.d.ts +1 -2
- package/schematics/store/simple-sync/index.d.ts.map +1 -1
- package/schematics/store/simple-sync/index.js +1 -1
- package/schematics/store-action/index.d.ts +1 -2
- package/schematics/store-action/index.d.ts.map +1 -1
- package/schematics/store-action/index.js +1 -1
- package/store/async/async.adapter.d.ts.map +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AppVersionBuilderSchema } from './schema';
|
|
2
2
|
export * from './schema';
|
|
3
|
-
declare const _default: import("@angular-devkit/architect
|
|
3
|
+
declare const _default: import("@angular-devkit/architect").Builder<AppVersionBuilderSchema & import("@angular-devkit/core").JsonObject>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { LibraryBuilderSchema } from './schema';
|
|
2
|
-
declare const _default: import("@angular-devkit/architect
|
|
2
|
+
declare const _default: import("@angular-devkit/architect").Builder<LibraryBuilderSchema & import("@angular-devkit/core").JsonObject>;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { MultiWatcherBuilderSchema } from './schema';
|
|
2
|
-
declare const _default: import("@angular-devkit/architect
|
|
2
|
+
declare const _default: import("@angular-devkit/architect").Builder<MultiWatcherBuilderSchema & import("@angular-devkit/core").JsonObject>;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/builders/ngc/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NgcBuilderSchema } from './schema';
|
|
2
2
|
export * from './schema';
|
|
3
|
-
declare const _default: import("@angular-devkit/architect
|
|
3
|
+
declare const _default: import("@angular-devkit/architect").Builder<NgcBuilderSchema & import("@angular-devkit/core").JsonObject>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { PatternReplacementBuilderSchema } from './schema';
|
|
2
|
-
declare const _default: import("@angular-devkit/architect
|
|
2
|
+
declare const _default: import("@angular-devkit/architect").Builder<PatternReplacementBuilderSchema & import("@angular-devkit/core").JsonObject>;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { RunScriptBuilderSchema } from './schema';
|
|
2
|
-
declare const _default: import("@angular-devkit/architect
|
|
2
|
+
declare const _default: import("@angular-devkit/architect").Builder<RunScriptBuilderSchema & import("@angular-devkit/core").JsonObject>;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"o3r-core.mjs","sources":["../../src/core/application/build-properties.ts","../../src/core/metadata/component.decorator.ts","../../src/core/metadata/component.identifier.ts","../../src/messages/message.interfaces.ts","../../src/messages/message.helpers.ts","../../src/store/async/async.adapter.ts","../../src/store/async/async-entity.adapter.ts","../../src/store/async/async.helpers.ts","../../src/store/async/async.operators.ts","../../src/store/async/async.props.ts","../../src/store/async/async.serializer.ts","../../src/store/types.ts","../../src/utils/debug/debug.helper.ts","../../src/utils/deep-fill/deep-fill.ts","../../src/utils/rendering/rendering.helpers.ts","../../src/o3r-core.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention -- exception for `BuildTimeProperties` */\n\n/**\n * Library build time properties\n */\nexport interface BuildTimeProperties {\n /**\n * True if the application in launch in debug mode\n */\n DEBUG_MODE: boolean;\n\n /**\n * True if the webStorage option is enabled\n */\n ENABLE_WEBSTORAGE: boolean;\n\n /**\n * Name of the current environment\n */\n ENVIRONMENT: string;\n\n /**\n * Boolean that can be used to activate API calls mocks for development or mock-up purpose.\n */\n USE_MOCKS: boolean;\n\n /**\n * Maximum size of the dev tool history\n */\n DEVTOOL_HISTORY_SIZE: number | undefined;\n\n /**\n * path to bundles in published folder\n */\n LOCALIZATION_BUNDLES_OUTPUT: string;\n\n /**\n * The name of the bundle generated with the default localization components keys\n */\n DEFAULT_LOC_BUNDLE_NAME: string;\n\n /**\n * Indicates the default server prefix to be used in case no dynamic is found\n */\n APP_BASE_HREF: string | undefined;\n\n /**\n * Version of the App based on the package.json\n */\n APP_VERSION: string;\n\n /**\n * Determine if the ghosting is activated on the app\n */\n ENABLE_GHOSTING: boolean;\n}\n\n/**\n * Library build time default properties\n */\nexport const DEFAULT_BUILD_PROPERTIES: Readonly<BuildTimeProperties> = {\n DEBUG_MODE: true,\n APP_BASE_HREF: '.',\n APP_VERSION: '0.0.0',\n DEFAULT_LOC_BUNDLE_NAME: '',\n DEVTOOL_HISTORY_SIZE: 20,\n ENABLE_GHOSTING: false,\n ENABLE_WEBSTORAGE: true,\n ENVIRONMENT: 'dev',\n LOCALIZATION_BUNDLES_OUTPUT: 'localizations/',\n USE_MOCKS: false\n} as const;\n","import type {\n Translation,\n} from '../interfaces';\n\n/** Type of component */\nexport type ComponentType = 'Block' | 'Page' | 'ExposedComponent' | 'Component';\n\n/**\n * Information about an Otter component to provide\n */\nexport interface OtterComponentInfoToProvide {\n /** Type of component */\n componentType: ComponentType;\n}\n\n/**\n * Information about an Otter component\n */\nexport interface OtterComponentInfo extends OtterComponentInfoToProvide {\n /** Configuration ID */\n configId?: string;\n /** Translation keys */\n translations?: Translation;\n /** Component Name */\n componentName: string;\n}\n\n/**\n * Private field where Otter component information are stored\n */\nexport const otterComponentInfoPropertyName = '__otter-info__';\n\n/**\n * Decorates an Angular component to provide Otter information\n * @param info Information to define the Otter component\n * @returns the component with the information\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- decorator should be PascalCase\nexport function O3rComponent(info: OtterComponentInfoToProvide) {\n return <T extends new (...args: any[]) => object>(constructor: T) => {\n const componentName = constructor.name;\n constructor.prototype[otterComponentInfoPropertyName] = { ...info, componentName };\n return constructor;\n };\n}\n","/**\n * Compute the name of the component with the library's name to generate unique component identifier used in metadata and different modules\n * @param componentName Name of the component to get the configuration\n * @param libraryName Name of the library the component is coming from\n */\nexport function computeItemIdentifier(componentName: string, libraryName?: string) {\n return (libraryName ? libraryName + '#' : '') + componentName;\n}\n","/** Type of a message exchanged within the Otter Framework */\nexport const otterMessageType = 'otter';\n\n/** Target of a message that should be handled by the application */\nexport const applicationMessageTarget = 'app';\n\nexport interface OtterMessageContent<DataType extends string = string> {\n /** Type of data */\n dataType: DataType;\n}\n\nexport interface OtterMessage<Content extends OtterMessageContent = OtterMessageContent, Target extends string | undefined = undefined | string> {\n /** Type of the message */\n type: typeof otterMessageType;\n\n /** Version of the message (default to the @o3r/core version ) */\n version?: string;\n\n /** Target of the message */\n to: Target;\n\n /** Message content */\n content: Content;\n}\n\n/** Type helper to retrieve the data types of a union of MessageContent */\nexport type MessageDataTypes<T extends OtterMessageContent> = T['dataType'];\n\n/** Type helper to filter the message that can be received by the application */\nexport type FilterMessageToApplication<T extends OtterMessage> = T extends { to: infer U } ? U extends (typeof applicationMessageTarget | undefined) ? T : never : never;\n\nexport type ContentMessageData<T extends OtterMessageContent> = T extends any\n ? Omit<T, 'dataType'>\n : never;\n","import {\n filter,\n map,\n Observable,\n} from 'rxjs';\nimport {\n applicationMessageTarget,\n ContentMessageData,\n FilterMessageToApplication,\n OtterMessage,\n OtterMessageContent,\n otterMessageType,\n} from './message.interfaces';\n\n/**\n * Determine if a message should be handle by the application\n * @param message Message to analyze\n */\nexport const isToAppOtterMessage = <T extends OtterMessage>(message?: T): message is FilterMessageToApplication<T & { to: 'app' }> => {\n return message?.to === applicationMessageTarget;\n};\n\n/**\n * Determine if a message is emitted by an Otter tool\n * @param message Message to analyze\n */\nexport const isOtterMessage = <T extends OtterMessageContent>(message: any): message is OtterMessage<T> => {\n return message?.type === otterMessageType;\n};\n\n/**\n * Send an Otter Message\n * @param dataType Type of the message\n * @param content content of the message\n * @param preStringify determine if the message should JSON.stringify before being send (will use the default mechanism otherwise)\n */\nexport const sendOtterMessage = <T extends OtterMessageContent>(dataType: T['dataType'], content: ContentMessageData<T>, preStringify = true) => {\n const message = {\n type: otterMessageType,\n content: {\n ...content,\n dataType\n }\n };\n return window.postMessage(preStringify ? JSON.stringify(message) : message, '*');\n};\n\nexport function filterMessageContent<T extends Event | MessageEvent>(): (source$: Observable<T>) => Observable<OtterMessageContent<string>>;\nexport function filterMessageContent<T extends Event | MessageEvent, S extends OtterMessageContent>(predicate: (message: any) => message is S): (source$: Observable<T>) => Observable<S>;\n/**\n * Filter the Otter message that should be handle by the application and returns it content\n * @param predicate condition to filter the message\n * @returns content of the message\n */\n\n/**\n * Operator to get only Otter messages that match the predicate\n * @param predicate\n */\nexport function filterMessageContent<T extends Event | MessageEvent, S extends OtterMessageContent>(predicate?: (message: any) => message is S):\n(source$: Observable<T>) => Observable<OtterMessageContent<string> | S> {\n return (source$: Observable<T>) => {\n const obs = source$.pipe(\n map((event) => {\n const data = (event as MessageEvent).data;\n return typeof data === 'string' ? JSON.parse(data) : data;\n }),\n filter(isOtterMessage),\n filter(isToAppOtterMessage),\n map((message) => message.content)\n );\n if (predicate) {\n return obs.pipe(filter(predicate));\n }\n return obs;\n };\n}\n","import {\n AsyncStoreItem,\n EntityStatus,\n} from './async.interfaces';\n\n/**\n * Adapter to help manipulate AsyncStoreItems to register new request and update the status when they fail or resolve.\n */\nexport interface AsyncStoreItemAdapter {\n /**\n * Adds a request to an AsyncStoreItem.\n * If the item had a failure and no ongoing requests, sets it's failure status back to false\n * @param item\n * @param requestId\n */\n addRequest<T extends AsyncStoreItem>(item: T, requestId: string): T;\n\n /**\n * Updates an AsyncStoreItem when a request has resolved.\n * Removes it from its requestIds array.\n * If no requestId provided, the method returns the current status of the AsyncStoreItem\n * @param item\n * @param requestId\n */\n resolveRequest<T extends AsyncStoreItem>(item: T, requestId?: string): T;\n\n /**\n * Updates an AsyncStoreItem when a request has failed.\n * Removes it from its requestIds array and set its failure status.\n * @param item\n * @param requestId\n */\n failRequest<T extends AsyncStoreItem>(item: T, requestId?: string): T;\n\n /**\n * Add AsyncStoreItem properties (with initial values) to the given entity\n * @param entityItem\n * @returns Given item improved with AsyncStoreItem properties\n */\n initialize<T extends object>(entityItem: T): T & AsyncStoreItem;\n\n /**\n * Extract only AsyncStoreItem properties from the given entity\n * @param entityItem A model containing AsyncStoreItem properties\n * @returns Object containing only AsyncStoreItem properties\n */\n extractAsyncStoreItem<T extends AsyncStoreItem>(entityItem: T): AsyncStoreItem;\n\n /**\n * Clear AsyncStoreItem properties from the given entity\n * @param entityItem A model containing AsyncStoreItem properties\n */\n clearAsyncStoreItem<T extends AsyncStoreItem>(entityItem: T): T;\n\n /**\n * Merges an AsyncStoreItem collection into one item that gives an overall status.\n * @param items\n */\n merge(...items: (AsyncStoreItem | undefined)[]): AsyncStoreItem;\n\n /**\n * Add a request to the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusAddRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId: string): T;\n\n /**\n * Resolve a request on the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusResolveRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId?: string): T;\n\n /**\n * Fail a request to the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusFailRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId?: string): T;\n\n /**\n * Reset the failure status of the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n */\n entityStatusResetFailure<T extends EntityStatus<T>>(status: T, subResource: keyof T): T;\n\n /**\n * Reset the failure status of the given AsyncStoreItem to false\n * @param entityItem\n * @returns AsyncStoreItem with the updated failure status\n */\n resetFailureStatus<T extends AsyncStoreItem>(entityItem: T): T;\n\n /**\n * Set the pending status of the given AsyncStoreItem to true\n * @param entityItem\n * @returns AsyncStoreItem with the updated pending status\n */\n setLoadingStatus<T extends AsyncStoreItem>(entityItem: T): T;\n}\n\nexport const asyncStoreItemAdapter: AsyncStoreItemAdapter = {\n addRequest: (item, requestId) => {\n return {\n ...item,\n requestIds: [...item.requestIds, requestId],\n isFailure: item.requestIds.length === 0 ? false : item.isFailure,\n isPending: true\n };\n },\n\n failRequest: (item, requestId) => {\n const requestIds = requestId ? item.requestIds.filter((id) => id !== requestId) : item.requestIds;\n return {\n ...item,\n isFailure: true,\n isPending: requestIds.length > 0,\n requestIds\n };\n },\n\n resolveRequest: (item, requestId) => {\n const requestIds = requestId ? item.requestIds.filter((id) => id !== requestId) : item.requestIds;\n return {\n ...item,\n requestIds,\n isPending: requestIds.length > 0\n };\n },\n\n initialize: (entityItem) => {\n return {\n ...entityItem,\n requestIds: []\n };\n },\n\n extractAsyncStoreItem: (entityItem) => {\n return {\n requestIds: [...entityItem.requestIds],\n isFailure: entityItem.isFailure,\n isPending: entityItem.isPending\n };\n },\n\n clearAsyncStoreItem: <T extends AsyncStoreItem>(entityItem: T) => {\n const { isPending, isFailure, ...newResponse }: T = { ...entityItem, requestIds: [] };\n return newResponse as T;\n },\n\n merge: (...items) => {\n return items.reduce<AsyncStoreItem>((mergedItem, item) => item\n ? {\n requestIds: [...mergedItem.requestIds, ...item.requestIds],\n isFailure: mergedItem.isFailure || item.isFailure,\n isPending: mergedItem.isPending || item.isPending\n }\n : mergedItem, asyncStoreItemAdapter.initialize({}));\n },\n\n entityStatusAddRequest: (status, subResource, requestId) => {\n const currentSubStatus: AsyncStoreItem = status[subResource] || asyncStoreItemAdapter.initialize({});\n return {\n ...status,\n [subResource]: asyncStoreItemAdapter.addRequest(currentSubStatus, requestId)\n };\n },\n\n entityStatusResolveRequest: (status, subResource, requestId) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.resolveRequest(currentSubStatus, requestId) : { requestIds: [] }\n };\n },\n\n entityStatusFailRequest: (status, subResource, requestId) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.failRequest(currentSubStatus, requestId) : { requestIds: [], isFailure: true }\n };\n },\n\n entityStatusResetFailure: (status, subResource) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.resetFailureStatus(currentSubStatus) : { requestIds: [] }\n };\n },\n\n resetFailureStatus: (entityItem) => {\n return {\n ...entityItem,\n isFailure: false\n };\n },\n\n setLoadingStatus: (entityItem) => {\n return {\n ...entityItem,\n isPending: true\n };\n }\n};\n","import type {\n EntityAdapter,\n EntityState,\n Update,\n} from '@ngrx/entity';\nimport {\n asyncStoreItemAdapter,\n} from './async.adapter';\nimport {\n AsyncStoreItem,\n EntityWithoutAsyncStoreItem,\n} from './async.interfaces';\n\n/** Adapter for Asynchronous Entity Store */\nexport interface EntityAsyncRequestAdapter<T extends AsyncStoreItem> extends EntityAdapter<T> {\n\n /**\n * Updates the AsyncStoreItem properties of each entity matching an id from the list of given ids, when a request has failed.\n * @param state Actual state\n * @param ids Ids of the entity to be updated with AsyncStoreItem properties\n * @param requestId Id of request which has failed\n */\n failRequestMany<V extends EntityState<T> & AsyncStoreItem>(state: V, ids?: (string | number)[], requestId?: string): V;\n\n /**\n * Adds AsyncStoreItem property to the global store, or the entity if it already exists, when a request is triggered.\n * @param state Actual state\n * @param id Id of the entity to update\n * @param requestId Id of the request which is triggered\n */\n addRequestOne<V extends EntityState<T> & AsyncStoreItem>(state: V, id: string | number | null | undefined, requestId: string): V;\n\n /**\n * Adds AsyncStoreItem properties for each entity matching the given ids, when a request is triggered\n * @param state Actual state\n * @param ids Ids of the entity to be updated with AsyncStoreItem properties\n * @param requestId Id of request which is triggered\n */\n addRequestMany<V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string): V;\n\n /**\n * Updates the state with the given entity. Update the global or the current entity's status if it exists.\n * @param state Actual state\n * @param entity Payload item;\n * @param requestId Id of request which has resolved if any\n */\n resolveRequestOne<V extends EntityState<T> & AsyncStoreItem>(state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<'id', string | number>, requestId?: string): V;\n\n /**\n * Updates the state with the given entity. Update the global or the current entity's status if it exists.\n * @param state Actual state\n * @param entity Payload item;\n * @param requestId Id of request which has resolved if any\n * @param idProperty Property of the entity containing its unique identifier\n */\n resolveRequestOne<V extends EntityState<T> & AsyncStoreItem, W extends keyof T>(state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty?: W): V;\n\n /**\n * Updates the state with the given entities. Updates also AsyncStoreItem properties of each entity, when a request is resolved.\n * @param state Actual state\n * @param entities Payload items;\n * @param requestId Id of request which has resolved if any\n */\n resolveRequestMany<V extends EntityState<T>>(state: V, entities: (Partial<T> & Record<'id', string | number>)[], requestId?: string): V;\n\n /**\n * Updates the state with the given entities. Updates also AsyncStoreItem properties of each entity, when a request is resolved.\n * @param state Actual state\n * @param entities Payload items;\n * @param requestId Id of request which has resolved if any\n * @param idProperty Property of the entity containing its unique identifier\n */\n resolveRequestMany<V extends EntityState<T>, W extends keyof T>(state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty?: W): V;\n}\n\n/**\n * Create an Asynchronous Request Entity Adapter\n * @param adapter Entity Adapter\n */\nexport function createEntityAsyncRequestAdapter<T extends AsyncStoreItem>(adapter: EntityAdapter<T>): EntityAsyncRequestAdapter<T> {\n const addRequestOne: <V extends EntityState<T> & AsyncStoreItem>(state: V, id: string | number | null | undefined, requestId: string) => V = (state, id, requestId) => {\n const currentEntity = typeof id !== 'undefined' && id !== null && state.entities[id];\n if (currentEntity) {\n const changes = asyncStoreItemAdapter.addRequest(asyncStoreItemAdapter.extractAsyncStoreItem(currentEntity), requestId);\n return adapter.updateOne({ id, changes } as Update<T>, state);\n }\n return asyncStoreItemAdapter.addRequest(state, requestId);\n };\n\n const addRequestMany: <V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string) => V = <V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string): V =>\n adapter.updateMany(ids.filter((id) => !!state.entities[id]).map((id) => ({\n id,\n changes: asyncStoreItemAdapter.addRequest(asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[id]!), requestId)\n } as Update<T>)\n ), state);\n\n const resolveRequestOne: <V extends EntityState<T> & AsyncStoreItem, W extends keyof T | 'id' = 'id'>\n (state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty?: W) => V = <V extends EntityState<T> & AsyncStoreItem, W extends keyof T | 'id'>\n (state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty: W = 'id' as W): V => {\n let newEntity;\n const currentEntity = state.entities[entity[idProperty]];\n if (currentEntity) {\n newEntity = asyncStoreItemAdapter.resolveRequest({ ...entity, ...asyncStoreItemAdapter.extractAsyncStoreItem(currentEntity) }, requestId);\n } else {\n newEntity = asyncStoreItemAdapter.initialize(entity);\n state = asyncStoreItemAdapter.resolveRequest(state, requestId);\n }\n return adapter.upsertOne(newEntity as T, state);\n };\n\n const resolveRequestMany: <V extends EntityState<T>, W extends keyof T | 'id' = 'id'>\n (state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty?: W) => V = <V extends EntityState<T>, W extends keyof T | 'id'>\n (state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty: W = 'id' as W): V =>\n adapter.updateMany(\n entities.filter((entity) => !!state.entities[entity[idProperty]]).map((entity) => {\n const model = { ...entity, ...asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[entity[idProperty]]!) };\n return { id: entity[idProperty], changes: asyncStoreItemAdapter.resolveRequest(model, requestId) } as Update<T>;\n }\n ), state);\n\n const failRequestMany: <V extends EntityState<T> & AsyncStoreItem>\n (state: V, ids?: (string | number)[], requestId?: string) => V = <V extends EntityState<T> & AsyncStoreItem>\n (state: V, ids: (string | number)[] = [], requestId?: string): V => {\n if (ids.length > 0 && !ids.some((id) => state.entities[id] === undefined)) {\n return adapter.updateMany(ids.map((id) => ({\n id,\n changes: asyncStoreItemAdapter.failRequest(asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[id]!), requestId)\n } as Update<T>)\n ), state);\n }\n return asyncStoreItemAdapter.failRequest(state, requestId);\n };\n\n return {\n ...adapter,\n failRequestMany,\n addRequestOne,\n addRequestMany,\n resolveRequestOne,\n resolveRequestMany\n };\n}\n","import {\n AsyncRequest,\n FromApiActionPayload,\n} from './async.interfaces';\n\n/**\n * Determine if the action is an AsyncRequest action\n * @param action Redux Action\n */\nexport function isCallAction<T = any>(action?: any): action is FromApiActionPayload<T> {\n if (!action) {\n return false;\n }\n\n return !!action.call && action.call instanceof Promise;\n}\n\n/**\n * Determine if the action is an AsyncRequest action with a Request ID\n * @param action Redux Action\n */\nexport function isIdentifiedCallAction<T = any>(action?: any): action is FromApiActionPayload<T> & AsyncRequest {\n return isCallAction(action) && typeof action.requestId !== 'undefined';\n}\n\n/**\n * Determine if the given item implements the AsyncRequest interface\n * @param item\n */\nexport function isAsyncRequest<T>(item: any): item is T & AsyncRequest {\n return typeof item.requestId !== 'undefined';\n}\n","import {\n Action,\n} from '@ngrx/store';\nimport {\n BehaviorSubject,\n EMPTY,\n from,\n identity,\n isObservable,\n merge,\n Observable,\n of,\n OperatorFunction,\n Subject,\n} from 'rxjs';\nimport {\n catchError,\n delay,\n filter,\n finalize,\n pairwise,\n startWith,\n switchMap,\n tap,\n} from 'rxjs/operators';\nimport {\n isIdentifiedCallAction,\n} from './async.helpers';\nimport {\n AsyncRequest,\n ExtractFromApiActionPayloadType,\n FromApiActionPayload,\n} from './async.interfaces';\n\n/**\n * Determine if the given parameter is a Promise\n * @param object\n */\nconst isPromise = <U>(object: U | Promise<U>): object is Promise<U> => object && typeof object === 'object' && typeof (object as any).then !== 'undefined';\n\n/**\n * Custom operator to use instead of SwitchMap with effects based on FromApi actions.\n * It makes sure to emit an action when the inner subscription is unsubscribed in order to keep the store up-to-date with pending information.\n * @param successHandler function that returns the action to emit in case the FromApi call is a success\n * @param errorHandler function that returns the action to emit in case the FromApi call fails\n * @param cancelRequestActionFactory function that returns the action to emit in case the FromApi action is 'cancelled' because a new action was received by the switchMap\n */\nexport function fromApiEffectSwitchMap<T extends FromApiActionPayload<any>, S extends ExtractFromApiActionPayloadType<T>, U extends Action, V extends Action, W extends Action>(\n successHandler: (result: S, action: T) => U | Observable<U> | Promise<U>,\n errorHandler?: (error: any, action: T) => Observable<V>,\n cancelRequestActionFactory?: (props: AsyncRequest, action: T) => W): OperatorFunction<T, U | V | W> {\n const pendingRequestIdsContext: Record<string, boolean> = {};\n\n return (source$) => source$.pipe(\n tap((action) => {\n if (isIdentifiedCallAction(action)) {\n pendingRequestIdsContext[action.requestId] = true;\n }\n }),\n startWith(undefined),\n pairwise(),\n switchMap(([previousAction, action]) => {\n if (!action) {\n return EMPTY;\n }\n const isPreviousActionStillRunning = isIdentifiedCallAction(previousAction) && pendingRequestIdsContext[previousAction.requestId];\n const cleanStack = () => {\n if (isIdentifiedCallAction(action)) {\n delete pendingRequestIdsContext[action.requestId];\n }\n };\n return from(action.call).pipe(\n tap(cleanStack),\n switchMap((result) => {\n const success = successHandler(result, action);\n return isObservable(success) ? success : (isPromise(success) ? success : of(success));\n }),\n catchError((error) => {\n cleanStack();\n return errorHandler?.(error, action) || EMPTY;\n }),\n isPreviousActionStillRunning && cancelRequestActionFactory ? startWith(cancelRequestActionFactory({ requestId: previousAction.requestId }, action)) : identity\n );\n })\n );\n}\n\n/**\n * Same as {@link fromApiEffectSwitchMap}, instead one inner subscription is kept by id.\n * @param successHandler\n * @param errorHandler\n * @param cancelRequestActionFactory\n * @param cleanUpTimer\n */\nexport function fromApiEffectSwitchMapById<T extends FromApiActionPayload<any> & { id: string },\n S extends ExtractFromApiActionPayloadType<T>,\n U extends Action,\n V extends Action,\n W extends Action>(\n successHandler: (result: S, action: T) => U | Observable<U> | Promise<U>,\n errorHandler?: (error: any, action: T) => Observable<V>,\n cancelRequestActionFactory?: (props: AsyncRequest, action: T) => W,\n cleanUpTimer?: number\n): OperatorFunction<T, U | V | W> {\n const innerSourcesById: Record<string, [Subject<any>, Observable<any>]> = {};\n return (source$: Observable<T>) => {\n return source$.pipe(\n filter((action: T) => {\n if (!isIdentifiedCallAction(action) || !action.id) {\n return false;\n }\n if (isIdentifiedCallAction(action) && innerSourcesById[action.id]) {\n innerSourcesById[action.id][0].next(action);\n return false;\n }\n return true;\n }),\n switchMap((action: T) => {\n const newIdSubject = new BehaviorSubject(action);\n const newId$ = newIdSubject.pipe(\n fromApiEffectSwitchMap(\n successHandler,\n errorHandler,\n cancelRequestActionFactory\n )\n );\n innerSourcesById[action.id] = [newIdSubject, newId$];\n if (cleanUpTimer !== undefined) {\n newIdSubject.pipe(\n switchMap((myAction) => from(myAction.call).pipe(\n delay(cleanUpTimer),\n finalize(() => {\n delete innerSourcesById[myAction.id];\n newIdSubject.complete();\n })\n ))\n ).subscribe();\n }\n const streams = Object.values(innerSourcesById).map(([_, obs]) => obs);\n return merge(...streams);\n })\n );\n };\n}\n","import {\n v4,\n} from 'uuid';\nimport {\n isAsyncRequest,\n} from './async.helpers';\nimport {\n AsyncRequest,\n} from './async.interfaces';\n\n/**\n * Returns a creator that makes sure that requestId is defined in the action's properties by generating one\n * if needed.\n */\nexport const asyncProps = <P extends object>(): (props: P) => P & AsyncRequest => {\n return (props: P) => isAsyncRequest(props) ? props : { ...props, requestId: v4() };\n};\n","import type {\n EntityState,\n} from '@ngrx/entity';\nimport {\n asyncStoreItemAdapter,\n} from './async.adapter';\nimport {\n AsyncStoreItem,\n EntityStatus,\n} from './async.interfaces';\n\n/**\n * Serializer for asynchronous store.\n * @param state State of an asynchronous store to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncSerializer<T extends AsyncStoreItem>(state: T) {\n return asyncStoreItemAdapter.clearAsyncStoreItem(state);\n}\n\n/**\n * Serializer for asynchronous entity store.\n * @param state State of an asynchronous entity store to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncEntitySerializer<T extends AsyncStoreItem & EntityState<AsyncStoreItem>>(state: T) {\n const entities = (state.ids as string[]).reduce((entitiesAcc, entityId) => {\n entitiesAcc[entityId] = asyncStoreItemAdapter.clearAsyncStoreItem(state.entities[entityId]!);\n return entitiesAcc;\n }, {} as typeof state.entities);\n\n return { ...asyncStoreItemAdapter.clearAsyncStoreItem(state), entities };\n}\n\n/**\n * Serializer for asynchronous entity store with status.\n * @param state State of an asynchronous entity store with status to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncEntityWithStatusSerializer<T extends AsyncStoreItem & EntityState<AsyncStoreItem & { status: EntityStatus<T['entities']['status']> }>>(state: T) {\n const entities = (state.ids as string[]).reduce((entitiesAcc, entityId) => {\n entitiesAcc[entityId] = { ...asyncStoreItemAdapter.clearAsyncStoreItem(state.entities[entityId]!), status: {} };\n return entitiesAcc;\n }, {} as typeof state.entities);\n\n return { ...asyncStoreItemAdapter.clearAsyncStoreItem(state), entities };\n}\n","/**\n * Object that define how to serialize a specific state\n */\nexport interface Serializer<T> {\n serialize?: (obj: T) => any;\n deserialize?: (data?: any) => T;\n reviver?: (key: string, value: any) => any;\n replacer?: (key: string, value: any) => any;\n initialState?: T;\n}\n\nexport class StateSerializer<T> implements Serializer<T> {\n public serialize?: (obj: T) => any;\n public deserialize?: (data?: any) => T;\n public replacer?: (key: string, value: any) => any;\n public initialState?: T;\n\n constructor(serializer: Serializer<T>) {\n this.serialize = serializer.serialize || this.serialize;\n this.deserialize = serializer.deserialize || this.deserialize;\n this.reviver = serializer.reviver || this.reviver;\n this.replacer = serializer.replacer || this.replacer;\n this.initialState = serializer.initialState || this.initialState;\n }\n\n public reviver = (_: string, value: any): any => value;\n}\n\nexport interface LocalStateModel {\n /**\n * Temporary ID of the model in the dictionary\n */\n tid: string;\n}\n\n/**\n * Adds an `id` to the given type\n */\nexport type Idfy<T> = T & { id: string | number };\n\n/**\n * Payload to update actions\n */\nexport interface UpdateActionPayload<T> {\n stateDetails: Partial<T>;\n}\n\n/**\n * Payload to set actions\n */\nexport interface SetActionPayload<T> {\n stateDetails: T;\n}\n\n/**\n * Payload to set state actions\n */\nexport interface SetStateActionPayload<T> {\n state: T;\n}\n/**\n * Payload to fail actions\n */\nexport interface FailActionPayload<T> {\n error?: T;\n}\n\nexport type Keep<T, K extends keyof T> = Partial<T> & Pick<T, K>;\n\n/**\n * @deprecated please use {@link Keep} instead, will be removed in v13.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- deprecated\nexport type keep<T, K extends keyof T> = Keep<T, K>;\n\n/** Payload to update entities actions */\nexport interface UpdateEntitiesActionPayload<T, K extends keyof T> {\n entities: Keep<T, K>[];\n}\n\n/** Payload to update entities actions with a field ID */\nexport interface UpdateEntitiesActionPayloadWithId<T extends { id: string | number }> {\n entities: Keep<T, 'id'>[];\n}\n\n/** Payload to update entities actions */\nexport interface UpdateEntityActionPayload<T, K extends keyof T> {\n entity: Keep<T, K>;\n}\n\n/** Payload to update entities actions with a field ID */\nexport interface UpdateEntityActionPayloadWithId<T extends { id: string | number }> {\n entity: Keep<T, 'id'>;\n}\n\n/** Payload to set entities and upsert entities actions */\nexport interface SetEntitiesActionPayload<T> {\n entities: T[];\n}\n\n/** Payload to set entity and upsert entity actions */\nexport interface SetEntityActionPayload<T> {\n entity: T;\n}\n\n/** Payload to fail entities actions */\nexport interface FailEntitiesActionPayload<T> extends FailActionPayload<T> {\n ids?: (string | number)[];\n}\n\n/**\n * Payload to clear the store in case of failure\n */\nexport interface ClearOnFailurePayload {\n /** Clear store on failure */\n clearOnFailure?: boolean;\n}\n","import type {\n BootstrapConfig,\n Dataset,\n} from '../../core/application/dgp.interfaces';\n\n/**\n * Pad number\n * @param val\n * @param digits\n */\nexport function padNumber(val: number, digits = 2): string {\n const str = `${val}`;\n return '0'.repeat(Math.max(0, digits - str.length)) + str;\n}\n\n/**\n * Returns TRUE if bootstrap config environment is production FALSE otherwise\n * @param dataset\n * @returns TRUE if bootstrap config environment is production FALSE otherwise\n */\nexport function isProductionEnvironment(dataset: Dataset): boolean {\n const bootstrapConfig: BootstrapConfig = dataset.bootstrapconfig && JSON.parse(dataset.bootstrapconfig);\n return bootstrapConfig?.environment === 'prod';\n}\n","/** Reviver Mapper to detect and create object on deepFill */\nexport interface PrimitiveReviverMapper<T = any> {\n /** Condition to fill to be determine as */\n condition: (data: any) => boolean;\n\n /**\n * Construct the primitive type if needed\n * @param data to be constructed\n * @default {@see defaultConstruct}\n */\n construct?: (data: any) => T;\n}\n\nconst defaultConstruct = (data: any) => data;\n\nconst isDate = (data: any) => data instanceof Date && !Number.isNaN(data as any);\n\n/**\n * Check if an object is not an array or a date\n * @param obj\n * @param additionalMappers\n */\nexport function isObject(obj: any, additionalMappers?: PrimitiveReviverMapper[]) {\n return obj instanceof Object && !Array.isArray(obj) && !additionalMappers?.some((mapper) => mapper.condition(obj)) && !isDate(obj);\n}\n\n/**\n * Return a new reference of the given object\n * @param obj\n * @param additionalMappers\n */\nexport function immutablePrimitive(obj: any, additionalMappers?: PrimitiveReviverMapper[]) {\n if (Array.isArray(obj)) {\n return obj.slice();\n }\n\n const matchingPrimitive = additionalMappers?.find((mapper) => mapper.condition(obj));\n const resolvedType = matchingPrimitive && ((matchingPrimitive.construct || defaultConstruct)(obj));\n if (resolvedType !== undefined) {\n return resolvedType;\n }\n if (isDate(obj)) {\n return new Date(obj);\n } else if (obj instanceof Object) {\n return deepFill(obj, obj, additionalMappers);\n } else {\n return obj;\n }\n}\n\n/**\n * Deep fill of base object using source\n * It will do a deep merge of the objects, overriding arrays\n * All properties not present in source, but present in base, will remain\n * @param base\n * @param source\n * @param additionalMappers Map of conditions of type mapper\n */\nexport function deepFill<T extends { [x: string]: any }>(base: T, source?: { [x: string]: any }, additionalMappers?: PrimitiveReviverMapper[]): T {\n if (typeof source === 'undefined') {\n return deepFill(base, base, additionalMappers);\n }\n if (!isObject(base, additionalMappers)) {\n return immutablePrimitive(typeof source === 'undefined' ? base : source, additionalMappers);\n }\n const newObj = { ...base };\n for (const key in base) {\n if (source[key] === null) {\n newObj[key] = immutablePrimitive(null, additionalMappers);\n } else if (key in source && typeof base[key] === typeof source[key]) {\n const keyOfSource = source[key];\n newObj[key] = typeof keyOfSource === 'undefined' ? immutablePrimitive(base[key], additionalMappers) : deepFill(base[key], keyOfSource, additionalMappers);\n } else {\n newObj[key] = immutablePrimitive(base[key], additionalMappers);\n }\n }\n\n // getting keys present in source and not present in base\n for (const key in source) {\n if (!(key in newObj)) {\n newObj[key as keyof T] = immutablePrimitive(source[key], additionalMappers);\n }\n }\n return newObj;\n}\n","import {\n animationFrameScheduler,\n from,\n Observable,\n observeOn,\n of,\n} from 'rxjs';\nimport {\n bufferCount,\n concatMap,\n delay,\n mergeMap,\n scan,\n tap,\n} from 'rxjs/operators';\n\n/**\n * Buffers and emits data for lazy/progressive rendering of big lists\n * That could solve issues with long-running tasks when trying to render an array\n * of similar components.\n * @param delayMs Delay between data emits\n * @param concurrency Amount of elements that should be emitted at once\n */\nexport function lazyArray<T>(delayMs = 0, concurrency = 2) {\n let isFirstEmission = true;\n return (source$: Observable<T[]>) => {\n return source$.pipe(\n mergeMap((items) => {\n if (!isFirstEmission) {\n return of(items);\n }\n\n const items$ = from(items);\n\n return items$.pipe(\n bufferCount(concurrency),\n concatMap((value, index) => {\n return of(value).pipe(\n observeOn(animationFrameScheduler),\n delay(index * delayMs)\n );\n }),\n scan((acc: T[], steps: T[]) => {\n return [...acc, ...steps];\n }, []),\n tap((scannedItems: T[]) => {\n const scanDidComplete = scannedItems.length === items.length;\n\n if (scanDidComplete) {\n isFirstEmission = false;\n }\n })\n );\n })\n );\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["filter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"o3r-core.mjs","sources":["../../src/core/application/build-properties.ts","../../src/core/metadata/component.decorator.ts","../../src/core/metadata/component.identifier.ts","../../src/messages/message.interfaces.ts","../../src/messages/message.helpers.ts","../../src/store/async/async.adapter.ts","../../src/store/async/async-entity.adapter.ts","../../src/store/async/async.helpers.ts","../../src/store/async/async.operators.ts","../../src/store/async/async.props.ts","../../src/store/async/async.serializer.ts","../../src/store/types.ts","../../src/utils/debug/debug.helper.ts","../../src/utils/deep-fill/deep-fill.ts","../../src/utils/rendering/rendering.helpers.ts","../../src/o3r-core.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention -- exception for `BuildTimeProperties` */\n\n/**\n * Library build time properties\n */\nexport interface BuildTimeProperties {\n /**\n * True if the application in launch in debug mode\n */\n DEBUG_MODE: boolean;\n\n /**\n * True if the webStorage option is enabled\n */\n ENABLE_WEBSTORAGE: boolean;\n\n /**\n * Name of the current environment\n */\n ENVIRONMENT: string;\n\n /**\n * Boolean that can be used to activate API calls mocks for development or mock-up purpose.\n */\n USE_MOCKS: boolean;\n\n /**\n * Maximum size of the dev tool history\n */\n DEVTOOL_HISTORY_SIZE: number | undefined;\n\n /**\n * path to bundles in published folder\n */\n LOCALIZATION_BUNDLES_OUTPUT: string;\n\n /**\n * The name of the bundle generated with the default localization components keys\n */\n DEFAULT_LOC_BUNDLE_NAME: string;\n\n /**\n * Indicates the default server prefix to be used in case no dynamic is found\n */\n APP_BASE_HREF: string | undefined;\n\n /**\n * Version of the App based on the package.json\n */\n APP_VERSION: string;\n\n /**\n * Determine if the ghosting is activated on the app\n */\n ENABLE_GHOSTING: boolean;\n}\n\n/**\n * Library build time default properties\n */\nexport const DEFAULT_BUILD_PROPERTIES: Readonly<BuildTimeProperties> = {\n DEBUG_MODE: true,\n APP_BASE_HREF: '.',\n APP_VERSION: '0.0.0',\n DEFAULT_LOC_BUNDLE_NAME: '',\n DEVTOOL_HISTORY_SIZE: 20,\n ENABLE_GHOSTING: false,\n ENABLE_WEBSTORAGE: true,\n ENVIRONMENT: 'dev',\n LOCALIZATION_BUNDLES_OUTPUT: 'localizations/',\n USE_MOCKS: false\n} as const;\n","import type {\n Translation,\n} from '../interfaces';\n\n/** Type of component */\nexport type ComponentType = 'Block' | 'Page' | 'ExposedComponent' | 'Component';\n\n/**\n * Information about an Otter component to provide\n */\nexport interface OtterComponentInfoToProvide {\n /** Type of component */\n componentType: ComponentType;\n}\n\n/**\n * Information about an Otter component\n */\nexport interface OtterComponentInfo extends OtterComponentInfoToProvide {\n /** Configuration ID */\n configId?: string;\n /** Translation keys */\n translations?: Translation;\n /** Component Name */\n componentName: string;\n}\n\n/**\n * Private field where Otter component information are stored\n */\nexport const otterComponentInfoPropertyName = '__otter-info__';\n\n/**\n * Decorates an Angular component to provide Otter information\n * @param info Information to define the Otter component\n * @returns the component with the information\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- decorator should be PascalCase\nexport function O3rComponent(info: OtterComponentInfoToProvide) {\n return <T extends new (...args: any[]) => object>(constructor: T) => {\n const componentName = constructor.name;\n constructor.prototype[otterComponentInfoPropertyName] = { ...info, componentName };\n return constructor;\n };\n}\n","/**\n * Compute the name of the component with the library's name to generate unique component identifier used in metadata and different modules\n * @param componentName Name of the component to get the configuration\n * @param libraryName Name of the library the component is coming from\n */\nexport function computeItemIdentifier(componentName: string, libraryName?: string) {\n return (libraryName ? libraryName + '#' : '') + componentName;\n}\n","/** Type of a message exchanged within the Otter Framework */\nexport const otterMessageType = 'otter';\n\n/** Target of a message that should be handled by the application */\nexport const applicationMessageTarget = 'app';\n\nexport interface OtterMessageContent<DataType extends string = string> {\n /** Type of data */\n dataType: DataType;\n}\n\nexport interface OtterMessage<Content extends OtterMessageContent = OtterMessageContent, Target extends string | undefined = undefined | string> {\n /** Type of the message */\n type: typeof otterMessageType;\n\n /** Version of the message (default to the @o3r/core version ) */\n version?: string;\n\n /** Target of the message */\n to: Target;\n\n /** Message content */\n content: Content;\n}\n\n/** Type helper to retrieve the data types of a union of MessageContent */\nexport type MessageDataTypes<T extends OtterMessageContent> = T['dataType'];\n\n/** Type helper to filter the message that can be received by the application */\nexport type FilterMessageToApplication<T extends OtterMessage> = T extends { to: infer U } ? U extends (typeof applicationMessageTarget | undefined) ? T : never : never;\n\nexport type ContentMessageData<T extends OtterMessageContent> = T extends any\n ? Omit<T, 'dataType'>\n : never;\n","import {\n filter,\n map,\n Observable,\n} from 'rxjs';\nimport {\n applicationMessageTarget,\n ContentMessageData,\n FilterMessageToApplication,\n OtterMessage,\n OtterMessageContent,\n otterMessageType,\n} from './message.interfaces';\n\n/**\n * Determine if a message should be handle by the application\n * @param message Message to analyze\n */\nexport const isToAppOtterMessage = <T extends OtterMessage>(message?: T): message is FilterMessageToApplication<T & { to: 'app' }> => {\n return message?.to === applicationMessageTarget;\n};\n\n/**\n * Determine if a message is emitted by an Otter tool\n * @param message Message to analyze\n */\nexport const isOtterMessage = <T extends OtterMessageContent>(message: any): message is OtterMessage<T> => {\n return message?.type === otterMessageType;\n};\n\n/**\n * Send an Otter Message\n * @param dataType Type of the message\n * @param content content of the message\n * @param preStringify determine if the message should JSON.stringify before being send (will use the default mechanism otherwise)\n */\nexport const sendOtterMessage = <T extends OtterMessageContent>(dataType: T['dataType'], content: ContentMessageData<T>, preStringify = true) => {\n const message = {\n type: otterMessageType,\n content: {\n ...content,\n dataType\n }\n };\n return window.postMessage(preStringify ? JSON.stringify(message) : message, '*');\n};\n\nexport function filterMessageContent<T extends Event | MessageEvent>(): (source$: Observable<T>) => Observable<OtterMessageContent<string>>;\nexport function filterMessageContent<T extends Event | MessageEvent, S extends OtterMessageContent>(predicate: (message: any) => message is S): (source$: Observable<T>) => Observable<S>;\n/**\n * Filter the Otter message that should be handle by the application and returns it content\n * @param predicate condition to filter the message\n * @returns content of the message\n */\n\n/**\n * Operator to get only Otter messages that match the predicate\n * @param predicate\n */\nexport function filterMessageContent<T extends Event | MessageEvent, S extends OtterMessageContent>(predicate?: (message: any) => message is S):\n(source$: Observable<T>) => Observable<OtterMessageContent<string> | S> {\n return (source$: Observable<T>) => {\n const obs = source$.pipe(\n map((event) => {\n const data = (event as MessageEvent).data;\n return typeof data === 'string' ? JSON.parse(data) : data;\n }),\n filter(isOtterMessage),\n filter(isToAppOtterMessage),\n map((message) => message.content)\n );\n if (predicate) {\n return obs.pipe(filter(predicate));\n }\n return obs;\n };\n}\n","import {\n AsyncStoreItem,\n EntityStatus,\n RequestId,\n} from './async.interfaces';\n\n/**\n * Adapter to help manipulate AsyncStoreItems to register new request and update the status when they fail or resolve.\n */\nexport interface AsyncStoreItemAdapter {\n /**\n * Adds a request to an AsyncStoreItem.\n * If the item had a failure and no ongoing requests, sets it's failure status back to false\n * @param item\n * @param requestId\n */\n addRequest<T extends AsyncStoreItem>(item: T, requestId: string): T;\n\n /**\n * Updates an AsyncStoreItem when a request has resolved.\n * Removes it from its requestIds array.\n * If no requestId provided, the method returns the current status of the AsyncStoreItem\n * @param item\n * @param requestId\n */\n resolveRequest<T extends AsyncStoreItem>(item: T, requestId?: string): T;\n\n /**\n * Updates an AsyncStoreItem when a request has failed.\n * Removes it from its requestIds array and set its failure status.\n * @param item\n * @param requestId\n */\n failRequest<T extends AsyncStoreItem>(item: T, requestId?: string): T;\n\n /**\n * Add AsyncStoreItem properties (with initial values) to the given entity\n * @param entityItem\n * @returns Given item improved with AsyncStoreItem properties\n */\n initialize<T extends object>(entityItem: T): T & AsyncStoreItem;\n\n /**\n * Extract only AsyncStoreItem properties from the given entity\n * @param entityItem A model containing AsyncStoreItem properties\n * @returns Object containing only AsyncStoreItem properties\n */\n extractAsyncStoreItem<T extends AsyncStoreItem>(entityItem: T): AsyncStoreItem;\n\n /**\n * Clear AsyncStoreItem properties from the given entity\n * @param entityItem A model containing AsyncStoreItem properties\n */\n clearAsyncStoreItem<T extends AsyncStoreItem>(entityItem: T): T;\n\n /**\n * Merges an AsyncStoreItem collection into one item that gives an overall status.\n * @param items\n */\n merge(...items: (AsyncStoreItem | undefined)[]): AsyncStoreItem;\n\n /**\n * Add a request to the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusAddRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId: string): T;\n\n /**\n * Resolve a request on the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusResolveRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId?: string): T;\n\n /**\n * Fail a request to the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n * @param requestId\n */\n entityStatusFailRequest<T extends EntityStatus<T>>(status: T, subResource: keyof T, requestId?: string): T;\n\n /**\n * Reset the failure status of the given subResource of an EntityStatus object\n * @param status\n * @param subResource\n */\n entityStatusResetFailure<T extends EntityStatus<T>>(status: T, subResource: keyof T): T;\n\n /**\n * Reset the failure status of the given AsyncStoreItem to false\n * @param entityItem\n * @returns AsyncStoreItem with the updated failure status\n */\n resetFailureStatus<T extends AsyncStoreItem>(entityItem: T): T;\n\n /**\n * Set the pending status of the given AsyncStoreItem to true\n * @param entityItem\n * @returns AsyncStoreItem with the updated pending status\n */\n setLoadingStatus<T extends AsyncStoreItem>(entityItem: T): T;\n}\n\nexport const asyncStoreItemAdapter: AsyncStoreItemAdapter = {\n addRequest: (item, requestId) => {\n return {\n ...item,\n requestIds: [...item.requestIds, requestId],\n isFailure: item.requestIds.length === 0 ? false : item.isFailure,\n isPending: true\n };\n },\n\n failRequest: (item, requestId) => {\n const requestIds = requestId ? item.requestIds.filter((id) => id !== requestId) : item.requestIds;\n return {\n ...item,\n isFailure: true,\n isPending: requestIds.length > 0,\n requestIds\n };\n },\n\n resolveRequest: (item, requestId) => {\n const requestIds = requestId ? item.requestIds.filter((id) => id !== requestId) : item.requestIds;\n return {\n ...item,\n requestIds,\n isPending: requestIds.length > 0\n };\n },\n\n initialize: (entityItem) => {\n return {\n ...entityItem,\n requestIds: [] as RequestId[]\n };\n },\n\n extractAsyncStoreItem: (entityItem) => {\n return {\n requestIds: [...entityItem.requestIds],\n isFailure: entityItem.isFailure,\n isPending: entityItem.isPending\n };\n },\n\n clearAsyncStoreItem: <T extends AsyncStoreItem>(entityItem: T) => {\n const { isPending, isFailure, ...newResponse }: T = { ...entityItem, requestIds: [] };\n return newResponse as T;\n },\n\n merge: (...items) => {\n return items.reduce<AsyncStoreItem>((mergedItem, item) => item\n ? {\n requestIds: [...mergedItem.requestIds, ...item.requestIds],\n isFailure: mergedItem.isFailure || item.isFailure,\n isPending: mergedItem.isPending || item.isPending\n }\n : mergedItem, asyncStoreItemAdapter.initialize({}));\n },\n\n entityStatusAddRequest: (status, subResource, requestId) => {\n const currentSubStatus: AsyncStoreItem = status[subResource] || asyncStoreItemAdapter.initialize({});\n return {\n ...status,\n [subResource]: asyncStoreItemAdapter.addRequest(currentSubStatus, requestId)\n };\n },\n\n entityStatusResolveRequest: (status, subResource, requestId) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.resolveRequest(currentSubStatus, requestId) : { requestIds: [] as RequestId[] }\n };\n },\n\n entityStatusFailRequest: (status, subResource, requestId) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.failRequest(currentSubStatus, requestId) : { requestIds: [] as RequestId[], isFailure: true }\n };\n },\n\n entityStatusResetFailure: (status, subResource) => {\n const currentSubStatus = status[subResource];\n return {\n ...status,\n [subResource]: currentSubStatus ? asyncStoreItemAdapter.resetFailureStatus(currentSubStatus) : { requestIds: [] as RequestId[] }\n };\n },\n\n resetFailureStatus: (entityItem) => {\n return {\n ...entityItem,\n isFailure: false\n };\n },\n\n setLoadingStatus: (entityItem) => {\n return {\n ...entityItem,\n isPending: true\n };\n }\n};\n","import type {\n EntityAdapter,\n EntityState,\n Update,\n} from '@ngrx/entity';\nimport {\n asyncStoreItemAdapter,\n} from './async.adapter';\nimport {\n AsyncStoreItem,\n EntityWithoutAsyncStoreItem,\n} from './async.interfaces';\n\n/** Adapter for Asynchronous Entity Store */\nexport interface EntityAsyncRequestAdapter<T extends AsyncStoreItem> extends EntityAdapter<T> {\n\n /**\n * Updates the AsyncStoreItem properties of each entity matching an id from the list of given ids, when a request has failed.\n * @param state Actual state\n * @param ids Ids of the entity to be updated with AsyncStoreItem properties\n * @param requestId Id of request which has failed\n */\n failRequestMany<V extends EntityState<T> & AsyncStoreItem>(state: V, ids?: (string | number)[], requestId?: string): V;\n\n /**\n * Adds AsyncStoreItem property to the global store, or the entity if it already exists, when a request is triggered.\n * @param state Actual state\n * @param id Id of the entity to update\n * @param requestId Id of the request which is triggered\n */\n addRequestOne<V extends EntityState<T> & AsyncStoreItem>(state: V, id: string | number | null | undefined, requestId: string): V;\n\n /**\n * Adds AsyncStoreItem properties for each entity matching the given ids, when a request is triggered\n * @param state Actual state\n * @param ids Ids of the entity to be updated with AsyncStoreItem properties\n * @param requestId Id of request which is triggered\n */\n addRequestMany<V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string): V;\n\n /**\n * Updates the state with the given entity. Update the global or the current entity's status if it exists.\n * @param state Actual state\n * @param entity Payload item;\n * @param requestId Id of request which has resolved if any\n */\n resolveRequestOne<V extends EntityState<T> & AsyncStoreItem>(state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<'id', string | number>, requestId?: string): V;\n\n /**\n * Updates the state with the given entity. Update the global or the current entity's status if it exists.\n * @param state Actual state\n * @param entity Payload item;\n * @param requestId Id of request which has resolved if any\n * @param idProperty Property of the entity containing its unique identifier\n */\n resolveRequestOne<V extends EntityState<T> & AsyncStoreItem, W extends keyof T>(state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty?: W): V;\n\n /**\n * Updates the state with the given entities. Updates also AsyncStoreItem properties of each entity, when a request is resolved.\n * @param state Actual state\n * @param entities Payload items;\n * @param requestId Id of request which has resolved if any\n */\n resolveRequestMany<V extends EntityState<T>>(state: V, entities: (Partial<T> & Record<'id', string | number>)[], requestId?: string): V;\n\n /**\n * Updates the state with the given entities. Updates also AsyncStoreItem properties of each entity, when a request is resolved.\n * @param state Actual state\n * @param entities Payload items;\n * @param requestId Id of request which has resolved if any\n * @param idProperty Property of the entity containing its unique identifier\n */\n resolveRequestMany<V extends EntityState<T>, W extends keyof T>(state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty?: W): V;\n}\n\n/**\n * Create an Asynchronous Request Entity Adapter\n * @param adapter Entity Adapter\n */\nexport function createEntityAsyncRequestAdapter<T extends AsyncStoreItem>(adapter: EntityAdapter<T>): EntityAsyncRequestAdapter<T> {\n const addRequestOne: <V extends EntityState<T> & AsyncStoreItem>(state: V, id: string | number | null | undefined, requestId: string) => V = (state, id, requestId) => {\n const currentEntity = typeof id !== 'undefined' && id !== null && state.entities[id];\n if (currentEntity) {\n const changes = asyncStoreItemAdapter.addRequest(asyncStoreItemAdapter.extractAsyncStoreItem(currentEntity), requestId);\n return adapter.updateOne({ id, changes } as Update<T>, state);\n }\n return asyncStoreItemAdapter.addRequest(state, requestId);\n };\n\n const addRequestMany: <V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string) => V = <V extends EntityState<T>>(state: V, ids: (string | number)[], requestId: string): V =>\n adapter.updateMany(ids.filter((id) => !!state.entities[id]).map((id) => ({\n id,\n changes: asyncStoreItemAdapter.addRequest(asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[id]!), requestId)\n } as Update<T>)\n ), state);\n\n const resolveRequestOne: <V extends EntityState<T> & AsyncStoreItem, W extends keyof T | 'id' = 'id'>\n (state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty?: W) => V = <V extends EntityState<T> & AsyncStoreItem, W extends keyof T | 'id'>\n (state: V, entity: EntityWithoutAsyncStoreItem<T> & Record<W, string | number>, requestId?: string, idProperty: W = 'id' as W): V => {\n let newEntity;\n const currentEntity = state.entities[entity[idProperty]];\n if (currentEntity) {\n newEntity = asyncStoreItemAdapter.resolveRequest({ ...entity, ...asyncStoreItemAdapter.extractAsyncStoreItem(currentEntity) }, requestId);\n } else {\n newEntity = asyncStoreItemAdapter.initialize(entity);\n state = asyncStoreItemAdapter.resolveRequest(state, requestId);\n }\n return adapter.upsertOne(newEntity as T, state);\n };\n\n const resolveRequestMany: <V extends EntityState<T>, W extends keyof T | 'id' = 'id'>\n (state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty?: W) => V = <V extends EntityState<T>, W extends keyof T | 'id'>\n (state: V, entities: (Partial<T> & Record<W, string | number>)[], requestId?: string, idProperty: W = 'id' as W): V =>\n adapter.updateMany(\n entities.filter((entity) => !!state.entities[entity[idProperty]]).map((entity) => {\n const model = { ...entity, ...asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[entity[idProperty]]!) };\n return { id: entity[idProperty], changes: asyncStoreItemAdapter.resolveRequest(model, requestId) } as Update<T>;\n }\n ), state);\n\n const failRequestMany: <V extends EntityState<T> & AsyncStoreItem>\n (state: V, ids?: (string | number)[], requestId?: string) => V = <V extends EntityState<T> & AsyncStoreItem>\n (state: V, ids: (string | number)[] = [], requestId?: string): V => {\n if (ids.length > 0 && !ids.some((id) => state.entities[id] === undefined)) {\n return adapter.updateMany(ids.map((id) => ({\n id,\n changes: asyncStoreItemAdapter.failRequest(asyncStoreItemAdapter.extractAsyncStoreItem(state.entities[id]!), requestId)\n } as Update<T>)\n ), state);\n }\n return asyncStoreItemAdapter.failRequest(state, requestId);\n };\n\n return {\n ...adapter,\n failRequestMany,\n addRequestOne,\n addRequestMany,\n resolveRequestOne,\n resolveRequestMany\n };\n}\n","import {\n AsyncRequest,\n FromApiActionPayload,\n} from './async.interfaces';\n\n/**\n * Determine if the action is an AsyncRequest action\n * @param action Redux Action\n */\nexport function isCallAction<T = any>(action?: any): action is FromApiActionPayload<T> {\n if (!action) {\n return false;\n }\n\n return !!action.call && action.call instanceof Promise;\n}\n\n/**\n * Determine if the action is an AsyncRequest action with a Request ID\n * @param action Redux Action\n */\nexport function isIdentifiedCallAction<T = any>(action?: any): action is FromApiActionPayload<T> & AsyncRequest {\n return isCallAction(action) && typeof action.requestId !== 'undefined';\n}\n\n/**\n * Determine if the given item implements the AsyncRequest interface\n * @param item\n */\nexport function isAsyncRequest<T>(item: any): item is T & AsyncRequest {\n return typeof item.requestId !== 'undefined';\n}\n","import {\n Action,\n} from '@ngrx/store';\nimport {\n BehaviorSubject,\n EMPTY,\n from,\n identity,\n isObservable,\n merge,\n Observable,\n of,\n OperatorFunction,\n Subject,\n} from 'rxjs';\nimport {\n catchError,\n delay,\n filter,\n finalize,\n pairwise,\n startWith,\n switchMap,\n tap,\n} from 'rxjs/operators';\nimport {\n isIdentifiedCallAction,\n} from './async.helpers';\nimport {\n AsyncRequest,\n ExtractFromApiActionPayloadType,\n FromApiActionPayload,\n} from './async.interfaces';\n\n/**\n * Determine if the given parameter is a Promise\n * @param object\n */\nconst isPromise = <U>(object: U | Promise<U>): object is Promise<U> => object && typeof object === 'object' && typeof (object as any).then !== 'undefined';\n\n/**\n * Custom operator to use instead of SwitchMap with effects based on FromApi actions.\n * It makes sure to emit an action when the inner subscription is unsubscribed in order to keep the store up-to-date with pending information.\n * @param successHandler function that returns the action to emit in case the FromApi call is a success\n * @param errorHandler function that returns the action to emit in case the FromApi call fails\n * @param cancelRequestActionFactory function that returns the action to emit in case the FromApi action is 'cancelled' because a new action was received by the switchMap\n */\nexport function fromApiEffectSwitchMap<T extends FromApiActionPayload<any>, S extends ExtractFromApiActionPayloadType<T>, U extends Action, V extends Action, W extends Action>(\n successHandler: (result: S, action: T) => U | Observable<U> | Promise<U>,\n errorHandler?: (error: any, action: T) => Observable<V>,\n cancelRequestActionFactory?: (props: AsyncRequest, action: T) => W): OperatorFunction<T, U | V | W> {\n const pendingRequestIdsContext: Record<string, boolean> = {};\n\n return (source$) => source$.pipe(\n tap((action) => {\n if (isIdentifiedCallAction(action)) {\n pendingRequestIdsContext[action.requestId] = true;\n }\n }),\n startWith(undefined),\n pairwise(),\n switchMap(([previousAction, action]) => {\n if (!action) {\n return EMPTY;\n }\n const isPreviousActionStillRunning = isIdentifiedCallAction(previousAction) && pendingRequestIdsContext[previousAction.requestId];\n const cleanStack = () => {\n if (isIdentifiedCallAction(action)) {\n delete pendingRequestIdsContext[action.requestId];\n }\n };\n return from(action.call).pipe(\n tap(cleanStack),\n switchMap((result) => {\n const success = successHandler(result, action);\n return isObservable(success) ? success : (isPromise(success) ? success : of(success));\n }),\n catchError((error) => {\n cleanStack();\n return errorHandler?.(error, action) || EMPTY;\n }),\n isPreviousActionStillRunning && cancelRequestActionFactory ? startWith(cancelRequestActionFactory({ requestId: previousAction.requestId }, action)) : identity\n );\n })\n );\n}\n\n/**\n * Same as {@link fromApiEffectSwitchMap}, instead one inner subscription is kept by id.\n * @param successHandler\n * @param errorHandler\n * @param cancelRequestActionFactory\n * @param cleanUpTimer\n */\nexport function fromApiEffectSwitchMapById<T extends FromApiActionPayload<any> & { id: string },\n S extends ExtractFromApiActionPayloadType<T>,\n U extends Action,\n V extends Action,\n W extends Action>(\n successHandler: (result: S, action: T) => U | Observable<U> | Promise<U>,\n errorHandler?: (error: any, action: T) => Observable<V>,\n cancelRequestActionFactory?: (props: AsyncRequest, action: T) => W,\n cleanUpTimer?: number\n): OperatorFunction<T, U | V | W> {\n const innerSourcesById: Record<string, [Subject<any>, Observable<any>]> = {};\n return (source$: Observable<T>) => {\n return source$.pipe(\n filter((action: T) => {\n if (!isIdentifiedCallAction(action) || !action.id) {\n return false;\n }\n if (isIdentifiedCallAction(action) && innerSourcesById[action.id]) {\n innerSourcesById[action.id][0].next(action);\n return false;\n }\n return true;\n }),\n switchMap((action: T) => {\n const newIdSubject = new BehaviorSubject(action);\n const newId$ = newIdSubject.pipe(\n fromApiEffectSwitchMap(\n successHandler,\n errorHandler,\n cancelRequestActionFactory\n )\n );\n innerSourcesById[action.id] = [newIdSubject, newId$];\n if (cleanUpTimer !== undefined) {\n newIdSubject.pipe(\n switchMap((myAction) => from(myAction.call).pipe(\n delay(cleanUpTimer),\n finalize(() => {\n delete innerSourcesById[myAction.id];\n newIdSubject.complete();\n })\n ))\n ).subscribe();\n }\n const streams = Object.values(innerSourcesById).map(([_, obs]) => obs);\n return merge(...streams);\n })\n );\n };\n}\n","import {\n v4,\n} from 'uuid';\nimport {\n isAsyncRequest,\n} from './async.helpers';\nimport {\n AsyncRequest,\n} from './async.interfaces';\n\n/**\n * Returns a creator that makes sure that requestId is defined in the action's properties by generating one\n * if needed.\n */\nexport const asyncProps = <P extends object>(): (props: P) => P & AsyncRequest => {\n return (props: P) => isAsyncRequest(props) ? props : { ...props, requestId: v4() };\n};\n","import type {\n EntityState,\n} from '@ngrx/entity';\nimport {\n asyncStoreItemAdapter,\n} from './async.adapter';\nimport {\n AsyncStoreItem,\n EntityStatus,\n} from './async.interfaces';\n\n/**\n * Serializer for asynchronous store.\n * @param state State of an asynchronous store to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncSerializer<T extends AsyncStoreItem>(state: T) {\n return asyncStoreItemAdapter.clearAsyncStoreItem(state);\n}\n\n/**\n * Serializer for asynchronous entity store.\n * @param state State of an asynchronous entity store to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncEntitySerializer<T extends AsyncStoreItem & EntityState<AsyncStoreItem>>(state: T) {\n const entities = (state.ids as string[]).reduce((entitiesAcc, entityId) => {\n entitiesAcc[entityId] = asyncStoreItemAdapter.clearAsyncStoreItem(state.entities[entityId]!);\n return entitiesAcc;\n }, {} as typeof state.entities);\n\n return { ...asyncStoreItemAdapter.clearAsyncStoreItem(state), entities };\n}\n\n/**\n * Serializer for asynchronous entity store with status.\n * @param state State of an asynchronous entity store with status to serialize\n * @returns a plain json object to pass to json.stringify\n */\nexport function asyncEntityWithStatusSerializer<T extends AsyncStoreItem & EntityState<AsyncStoreItem & { status: EntityStatus<T['entities']['status']> }>>(state: T) {\n const entities = (state.ids as string[]).reduce((entitiesAcc, entityId) => {\n entitiesAcc[entityId] = { ...asyncStoreItemAdapter.clearAsyncStoreItem(state.entities[entityId]!), status: {} };\n return entitiesAcc;\n }, {} as typeof state.entities);\n\n return { ...asyncStoreItemAdapter.clearAsyncStoreItem(state), entities };\n}\n","/**\n * Object that define how to serialize a specific state\n */\nexport interface Serializer<T> {\n serialize?: (obj: T) => any;\n deserialize?: (data?: any) => T;\n reviver?: (key: string, value: any) => any;\n replacer?: (key: string, value: any) => any;\n initialState?: T;\n}\n\nexport class StateSerializer<T> implements Serializer<T> {\n public serialize?: (obj: T) => any;\n public deserialize?: (data?: any) => T;\n public replacer?: (key: string, value: any) => any;\n public initialState?: T;\n\n constructor(serializer: Serializer<T>) {\n this.serialize = serializer.serialize || this.serialize;\n this.deserialize = serializer.deserialize || this.deserialize;\n this.reviver = serializer.reviver || this.reviver;\n this.replacer = serializer.replacer || this.replacer;\n this.initialState = serializer.initialState || this.initialState;\n }\n\n public reviver = (_: string, value: any): any => value;\n}\n\nexport interface LocalStateModel {\n /**\n * Temporary ID of the model in the dictionary\n */\n tid: string;\n}\n\n/**\n * Adds an `id` to the given type\n */\nexport type Idfy<T> = T & { id: string | number };\n\n/**\n * Payload to update actions\n */\nexport interface UpdateActionPayload<T> {\n stateDetails: Partial<T>;\n}\n\n/**\n * Payload to set actions\n */\nexport interface SetActionPayload<T> {\n stateDetails: T;\n}\n\n/**\n * Payload to set state actions\n */\nexport interface SetStateActionPayload<T> {\n state: T;\n}\n/**\n * Payload to fail actions\n */\nexport interface FailActionPayload<T> {\n error?: T;\n}\n\nexport type Keep<T, K extends keyof T> = Partial<T> & Pick<T, K>;\n\n/**\n * @deprecated please use {@link Keep} instead, will be removed in v13.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- deprecated\nexport type keep<T, K extends keyof T> = Keep<T, K>;\n\n/** Payload to update entities actions */\nexport interface UpdateEntitiesActionPayload<T, K extends keyof T> {\n entities: Keep<T, K>[];\n}\n\n/** Payload to update entities actions with a field ID */\nexport interface UpdateEntitiesActionPayloadWithId<T extends { id: string | number }> {\n entities: Keep<T, 'id'>[];\n}\n\n/** Payload to update entities actions */\nexport interface UpdateEntityActionPayload<T, K extends keyof T> {\n entity: Keep<T, K>;\n}\n\n/** Payload to update entities actions with a field ID */\nexport interface UpdateEntityActionPayloadWithId<T extends { id: string | number }> {\n entity: Keep<T, 'id'>;\n}\n\n/** Payload to set entities and upsert entities actions */\nexport interface SetEntitiesActionPayload<T> {\n entities: T[];\n}\n\n/** Payload to set entity and upsert entity actions */\nexport interface SetEntityActionPayload<T> {\n entity: T;\n}\n\n/** Payload to fail entities actions */\nexport interface FailEntitiesActionPayload<T> extends FailActionPayload<T> {\n ids?: (string | number)[];\n}\n\n/**\n * Payload to clear the store in case of failure\n */\nexport interface ClearOnFailurePayload {\n /** Clear store on failure */\n clearOnFailure?: boolean;\n}\n","import type {\n BootstrapConfig,\n Dataset,\n} from '../../core/application/dgp.interfaces';\n\n/**\n * Pad number\n * @param val\n * @param digits\n */\nexport function padNumber(val: number, digits = 2): string {\n const str = `${val}`;\n return '0'.repeat(Math.max(0, digits - str.length)) + str;\n}\n\n/**\n * Returns TRUE if bootstrap config environment is production FALSE otherwise\n * @param dataset\n * @returns TRUE if bootstrap config environment is production FALSE otherwise\n */\nexport function isProductionEnvironment(dataset: Dataset): boolean {\n const bootstrapConfig: BootstrapConfig = dataset.bootstrapconfig && JSON.parse(dataset.bootstrapconfig);\n return bootstrapConfig?.environment === 'prod';\n}\n","/** Reviver Mapper to detect and create object on deepFill */\nexport interface PrimitiveReviverMapper<T = any> {\n /** Condition to fill to be determine as */\n condition: (data: any) => boolean;\n\n /**\n * Construct the primitive type if needed\n * @param data to be constructed\n * @default {@see defaultConstruct}\n */\n construct?: (data: any) => T;\n}\n\nconst defaultConstruct = (data: any) => data;\n\nconst isDate = (data: any) => data instanceof Date && !Number.isNaN(data as any);\n\n/**\n * Check if an object is not an array or a date\n * @param obj\n * @param additionalMappers\n */\nexport function isObject(obj: any, additionalMappers?: PrimitiveReviverMapper[]) {\n return obj instanceof Object && !Array.isArray(obj) && !additionalMappers?.some((mapper) => mapper.condition(obj)) && !isDate(obj);\n}\n\n/**\n * Return a new reference of the given object\n * @param obj\n * @param additionalMappers\n */\nexport function immutablePrimitive(obj: any, additionalMappers?: PrimitiveReviverMapper[]) {\n if (Array.isArray(obj)) {\n return obj.slice();\n }\n\n const matchingPrimitive = additionalMappers?.find((mapper) => mapper.condition(obj));\n const resolvedType = matchingPrimitive && ((matchingPrimitive.construct || defaultConstruct)(obj));\n if (resolvedType !== undefined) {\n return resolvedType;\n }\n if (isDate(obj)) {\n return new Date(obj);\n } else if (obj instanceof Object) {\n return deepFill(obj, obj, additionalMappers);\n } else {\n return obj;\n }\n}\n\n/**\n * Deep fill of base object using source\n * It will do a deep merge of the objects, overriding arrays\n * All properties not present in source, but present in base, will remain\n * @param base\n * @param source\n * @param additionalMappers Map of conditions of type mapper\n */\nexport function deepFill<T extends { [x: string]: any }>(base: T, source?: { [x: string]: any }, additionalMappers?: PrimitiveReviverMapper[]): T {\n if (typeof source === 'undefined') {\n return deepFill(base, base, additionalMappers);\n }\n if (!isObject(base, additionalMappers)) {\n return immutablePrimitive(typeof source === 'undefined' ? base : source, additionalMappers);\n }\n const newObj = { ...base };\n for (const key in base) {\n if (source[key] === null) {\n newObj[key] = immutablePrimitive(null, additionalMappers);\n } else if (key in source && typeof base[key] === typeof source[key]) {\n const keyOfSource = source[key];\n newObj[key] = typeof keyOfSource === 'undefined' ? immutablePrimitive(base[key], additionalMappers) : deepFill(base[key], keyOfSource, additionalMappers);\n } else {\n newObj[key] = immutablePrimitive(base[key], additionalMappers);\n }\n }\n\n // getting keys present in source and not present in base\n for (const key in source) {\n if (!(key in newObj)) {\n newObj[key as keyof T] = immutablePrimitive(source[key], additionalMappers);\n }\n }\n return newObj;\n}\n","import {\n animationFrameScheduler,\n from,\n Observable,\n observeOn,\n of,\n} from 'rxjs';\nimport {\n bufferCount,\n concatMap,\n delay,\n mergeMap,\n scan,\n tap,\n} from 'rxjs/operators';\n\n/**\n * Buffers and emits data for lazy/progressive rendering of big lists\n * That could solve issues with long-running tasks when trying to render an array\n * of similar components.\n * @param delayMs Delay between data emits\n * @param concurrency Amount of elements that should be emitted at once\n */\nexport function lazyArray<T>(delayMs = 0, concurrency = 2) {\n let isFirstEmission = true;\n return (source$: Observable<T[]>) => {\n return source$.pipe(\n mergeMap((items) => {\n if (!isFirstEmission) {\n return of(items);\n }\n\n const items$ = from(items);\n\n return items$.pipe(\n bufferCount(concurrency),\n concatMap((value, index) => {\n return of(value).pipe(\n observeOn(animationFrameScheduler),\n delay(index * delayMs)\n );\n }),\n scan((acc: T[], steps: T[]) => {\n return [...acc, ...steps];\n }, []),\n tap((scannedItems: T[]) => {\n const scanDidComplete = scannedItems.length === items.length;\n\n if (scanDidComplete) {\n isFirstEmission = false;\n }\n })\n );\n })\n );\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["filter"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/core",
|
|
3
|
-
"version": "12.1.0-prerelease.
|
|
3
|
+
"version": "12.1.0-prerelease.23",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"default": "./src/public_api.js",
|
|
13
13
|
"types": "./src/public_api.d.ts",
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@angular-devkit/architect": "
|
|
15
|
+
"@angular-devkit/architect": ">=0.1900.0 <0.2000.0-0",
|
|
16
16
|
"@angular-devkit/core": "^19.0.0",
|
|
17
17
|
"@angular-devkit/schematics": "^19.0.0",
|
|
18
18
|
"@angular/cli": "^19.0.0",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@ngrx/entity": "^19.0.0",
|
|
26
26
|
"@ngrx/store": "^19.0.0",
|
|
27
27
|
"@nx/angular": "~20.2.0",
|
|
28
|
-
"@o3r/telemetry": "^12.1.0-prerelease.
|
|
28
|
+
"@o3r/telemetry": "^12.1.0-prerelease.23",
|
|
29
29
|
"@schematics/angular": "^19.0.0",
|
|
30
30
|
"chokidar": "^4.0.3",
|
|
31
31
|
"globby": "^11.1.0",
|
|
@@ -64,12 +64,12 @@
|
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@o3r/schematics": "^12.1.0-prerelease.
|
|
67
|
+
"@o3r/schematics": "^12.1.0-prerelease.23",
|
|
68
68
|
"tslib": "^2.6.2",
|
|
69
69
|
"uuid": "^11.0.5"
|
|
70
70
|
},
|
|
71
71
|
"generatorDependencies": {
|
|
72
|
-
"@angular/material": "~19.
|
|
72
|
+
"@angular/material": "~19.1.0",
|
|
73
73
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
|
|
74
74
|
"@ngrx/effects": "~19.0.0",
|
|
75
75
|
"@ngrx/entity": "~19.0.0",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"@ngrx/store": "~19.0.0",
|
|
78
78
|
"@ngrx/store-devtools": "~19.0.0",
|
|
79
79
|
"@nx/eslint-plugin": "~20.2.0",
|
|
80
|
-
"@o3r/store-sync": "^12.1.0-prerelease.
|
|
80
|
+
"@o3r/store-sync": "^12.1.0-prerelease.23",
|
|
81
81
|
"@stylistic/eslint-plugin": "~3.0.0",
|
|
82
82
|
"@types/jest": "~29.5.2",
|
|
83
83
|
"@typescript-eslint/eslint-plugin": "~8.23.0",
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import type { NgAddModulesSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Select the available modules to add to the project
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngAddModules: (options:
|
|
6
|
+
export declare const ngAddModules: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/add-modules/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,IAAI,EACL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/add-modules/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,IAAI,EACL,MAAM,4BAA4B,CAAC;AA0EpC;;;GAGG;AACH,eAAO,MAAM,YAAY,wBAAuC,CAAC"}
|
|
@@ -63,5 +63,5 @@ function ngAddModulesFn(options) {
|
|
|
63
63
|
* Select the available modules to add to the project
|
|
64
64
|
* @param options
|
|
65
65
|
*/
|
|
66
|
-
exports.ngAddModules = (0, schematics_2.
|
|
66
|
+
exports.ngAddModules = (0, schematics_2.createOtterSchematic)(ngAddModulesFn);
|
|
67
67
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateComponentContainerSchematicsSchema } from './schema';
|
|
3
2
|
export declare const CONTAINER_FOLDER = "container";
|
|
4
3
|
/**
|
|
5
4
|
* Add Otter container component to an Angular Project
|
|
6
5
|
* @param options
|
|
7
6
|
*/
|
|
8
|
-
export declare const ngGenerateComponentContainer: (options:
|
|
7
|
+
export declare const ngGenerateComponentContainer: (options: any) => Rule;
|
|
9
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/component/container/index.ts"],"names":[],"mappings":"AACA,OAAO,EASL,IAAI,EAML,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/component/container/index.ts"],"names":[],"mappings":"AACA,OAAO,EASL,IAAI,EAML,MAAM,4BAA4B,CAAC;AA+CpC,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAiQ5C;;;GAGG;AACH,eAAO,MAAM,4BAA4B,wBAAuD,CAAC"}
|
|
@@ -188,5 +188,5 @@ class Mock${properties.presenterComponentName} {}
|
|
|
188
188
|
* Add Otter container component to an Angular Project
|
|
189
189
|
* @param options
|
|
190
190
|
*/
|
|
191
|
-
exports.ngGenerateComponentContainer = (0, schematics_2.
|
|
191
|
+
exports.ngGenerateComponentContainer = (0, schematics_2.createOtterSchematic)(ngGenerateComponentContainerFn);
|
|
192
192
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateComponentSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Add Otter component to an Angular Project
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngGenerateComponent: (options:
|
|
6
|
+
export declare const ngGenerateComponent: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/component/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,IAAI,EAML,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/component/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,IAAI,EAML,MAAM,4BAA4B,CAAC;AA2HpC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,wBAA8C,CAAC"}
|
|
@@ -110,5 +110,5 @@ function ngGenerateComponentFn(options) {
|
|
|
110
110
|
* Add Otter component to an Angular Project
|
|
111
111
|
* @param options
|
|
112
112
|
*/
|
|
113
|
-
exports.ngGenerateComponent = (0, schematics_2.
|
|
113
|
+
exports.ngGenerateComponent = (0, schematics_2.createOtterSchematic)(ngGenerateComponentFn);
|
|
114
114
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateComponentSchematicsSchema } from '../schema';
|
|
3
2
|
export declare const PRESENTER_FOLDER = "presenter";
|
|
4
3
|
/**
|
|
5
4
|
* Add Otter component to an Angular Project
|
|
6
5
|
* @param options
|
|
7
6
|
*/
|
|
8
|
-
export declare const ngGenerateComponentPresenter: (options:
|
|
7
|
+
export declare const ngGenerateComponentPresenter: (options: any) => Rule;
|
|
9
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/component/presenter/index.ts"],"names":[],"mappings":"AACA,OAAO,EASL,IAAI,EAML,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/component/presenter/index.ts"],"names":[],"mappings":"AACA,OAAO,EASL,IAAI,EAML,MAAM,4BAA4B,CAAC;AAyCpC,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAgL5C;;;GAGG;AACH,eAAO,MAAM,4BAA4B,wBAAuD,CAAC"}
|
|
@@ -127,5 +127,5 @@ function ngGenerateComponentPresenterFn(options) {
|
|
|
127
127
|
* Add Otter component to an Angular Project
|
|
128
128
|
* @param options
|
|
129
129
|
*/
|
|
130
|
-
exports.ngGenerateComponentPresenter = (0, schematics_2.
|
|
130
|
+
exports.ngGenerateComponentPresenter = (0, schematics_2.createOtterSchematic)(ngGenerateComponentPresenterFn);
|
|
131
131
|
//# sourceMappingURL=index.js.map
|
|
@@ -5,5 +5,5 @@ import type { NgAddConfigSchematicsSchema } from './schema';
|
|
|
5
5
|
* @param options
|
|
6
6
|
*/
|
|
7
7
|
export declare function ngAddContextFn(options: NgAddConfigSchematicsSchema): Rule;
|
|
8
|
-
export declare const ngAddContext: (options:
|
|
8
|
+
export declare const ngAddContext: (options: any) => Rule;
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/context-to-component/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAQL,IAAI,EAML,MAAM,4BAA4B,CAAC;AAapC,OAAO,KAAK,EACV,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAWlB;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAsEzE;AAED,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/context-to-component/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAQL,IAAI,EAML,MAAM,4BAA4B,CAAC;AAapC,OAAO,KAAK,EACV,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAWlB;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAsEzE;AAED,eAAO,MAAM,YAAY,wBAAuC,CAAC"}
|
|
@@ -77,5 +77,5 @@ function ngAddContextFn(options) {
|
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
|
-
exports.ngAddContext = (0, schematics_2.
|
|
80
|
+
exports.ngAddContext = (0, schematics_2.createOtterSchematic)(ngAddContextFn);
|
|
81
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { ConvertToO3rComponentSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Convert an Angular component into an Otter component
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const convertToO3rComponent: (options:
|
|
6
|
+
export declare const convertToO3rComponent: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/convert-component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,IAAI,EAEL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/convert-component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,IAAI,EAEL,MAAM,4BAA4B,CAAC;AAmEpC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,wBAAgD,CAAC"}
|
|
@@ -37,5 +37,5 @@ function convertToO3rComponentFn(options) {
|
|
|
37
37
|
* Convert an Angular component into an Otter component
|
|
38
38
|
* @param options
|
|
39
39
|
*/
|
|
40
|
-
exports.convertToO3rComponent = (0, schematics_2.
|
|
40
|
+
exports.convertToO3rComponent = (0, schematics_2.createOtterSchematic)(convertToO3rComponentFn);
|
|
41
41
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgAddSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Add Otter library to an Angular Project
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngAdd: (options:
|
|
6
|
+
export declare const ngAdd: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,IAAI,EACL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,IAAI,EACL,MAAM,4BAA4B,CAAC;AAkGpC;;;GAGG;AACH,eAAO,MAAM,KAAK,wBAAgC,CAAC"}
|
|
@@ -78,5 +78,5 @@ function ngAddFn(options) {
|
|
|
78
78
|
* Add Otter library to an Angular Project
|
|
79
79
|
* @param options
|
|
80
80
|
*/
|
|
81
|
-
exports.ngAdd = (0, schematics_2.
|
|
81
|
+
exports.ngAdd = (0, schematics_2.createOtterSchematic)(ngAddFn);
|
|
82
82
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateUpdateSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Rule factory to include `ng add` skeleton
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const updateTemplates: (options:
|
|
6
|
+
export declare const updateTemplates: (options: any) => Rule;
|
|
8
7
|
/**
|
|
9
8
|
* add a new ngUpdate function
|
|
10
9
|
* @param options
|
|
11
10
|
*/
|
|
12
|
-
export declare const ngAddCreate: (options:
|
|
11
|
+
export declare const ngAddCreate: (options: any) => Rule;
|
|
13
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add-create/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,IAAI,EAKL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add-create/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AAuEpC;;;GAGG;AACH,eAAO,MAAM,eAAe,wBAA0C,CAAC;AAYvE;;;GAGG;AACH,eAAO,MAAM,WAAW,wBAAsC,CAAC"}
|
|
@@ -62,7 +62,7 @@ function updateTemplatesFn(options) {
|
|
|
62
62
|
* Rule factory to include `ng add` skeleton
|
|
63
63
|
* @param options
|
|
64
64
|
*/
|
|
65
|
-
exports.updateTemplates = (0, schematics_2.
|
|
65
|
+
exports.updateTemplates = (0, schematics_2.createOtterSchematic)(updateTemplatesFn);
|
|
66
66
|
/**
|
|
67
67
|
* add a new ngUpdate function
|
|
68
68
|
* @param options
|
|
@@ -76,5 +76,5 @@ function ngAddCreateFn(options) {
|
|
|
76
76
|
* add a new ngUpdate function
|
|
77
77
|
* @param options
|
|
78
78
|
*/
|
|
79
|
-
exports.ngAddCreate = (0, schematics_2.
|
|
79
|
+
exports.ngAddCreate = (0, schematics_2.createOtterSchematic)(ngAddCreateFn);
|
|
80
80
|
//# sourceMappingURL=index.js.map
|
|
@@ -65,6 +65,8 @@ function ngAddFn(options: NgAddSchematicsSchema): Rule {
|
|
|
65
65
|
* @param options ng add options
|
|
66
66
|
*/
|
|
67
67
|
export const ngAdd = (options: NgAddSchematicsSchema): Rule => async (_, { logger }) => {
|
|
68
|
-
const {
|
|
69
|
-
|
|
68
|
+
const {
|
|
69
|
+
createOtterSchematic
|
|
70
|
+
} = await import('@o3r/schematics').catch(reportMissingSchematicsDep(logger));
|
|
71
|
+
return createOtterSchematic(ngAddFn)(options);
|
|
70
72
|
};
|
|
@@ -2,9 +2,9 @@ import { Rule } from '@angular-devkit/schematics';
|
|
|
2
2
|
/**
|
|
3
3
|
* Update of Otter library V8.2
|
|
4
4
|
*/
|
|
5
|
-
export declare const updateV8_2: (options:
|
|
5
|
+
export declare const updateV8_2: (options: any) => Rule;
|
|
6
6
|
/**
|
|
7
7
|
* Update of Otter library V10.0
|
|
8
8
|
*/
|
|
9
|
-
export declare const updateV10_0: (options:
|
|
9
|
+
export declare const updateV10_0: (options: any) => Rule;
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-update/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,EAGL,MAAM,4BAA4B,CAAC;AA0BpC;;GAEG;AAEH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-update/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,EAGL,MAAM,4BAA4B,CAAC;AA0BpC;;GAEG;AAEH,eAAO,MAAM,UAAU,wBAAqC,CAAC;AAkB7D;;GAEG;AAEH,eAAO,MAAM,WAAW,wBAAsC,CAAC"}
|
|
@@ -21,7 +21,7 @@ function updateV8_2Fn() {
|
|
|
21
21
|
* Update of Otter library V8.2
|
|
22
22
|
*/
|
|
23
23
|
// eslint-disable-next-line @typescript-eslint/naming-convention -- version is in the function name
|
|
24
|
-
exports.updateV8_2 = (0, schematics_2.
|
|
24
|
+
exports.updateV8_2 = (0, schematics_2.createOtterSchematic)(updateV8_2Fn);
|
|
25
25
|
/**
|
|
26
26
|
* Update of Otter library V10.0
|
|
27
27
|
*/
|
|
@@ -40,5 +40,5 @@ function updateV10_0Fn() {
|
|
|
40
40
|
* Update of Otter library V10.0
|
|
41
41
|
*/
|
|
42
42
|
// eslint-disable-next-line @typescript-eslint/naming-convention -- version is in the function name
|
|
43
|
-
exports.updateV10_0 = (0, schematics_2.
|
|
43
|
+
exports.updateV10_0 = (0, schematics_2.createOtterSchematic)(updateV10_0Fn);
|
|
44
44
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGeneratePageSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Add a Page to an Otter project
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngGeneratePage: (options:
|
|
6
|
+
export declare const ngGeneratePage: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/page/index.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,IAAI,EAML,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/page/index.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,IAAI,EAML,MAAM,4BAA4B,CAAC;AAkQpC;;;GAGG;AACH,eAAO,MAAM,cAAc,wBAAyC,CAAC"}
|
package/schematics/page/index.js
CHANGED
|
@@ -169,5 +169,5 @@ function ngGeneratePageFn(options) {
|
|
|
169
169
|
* Add a Page to an Otter project
|
|
170
170
|
* @param options
|
|
171
171
|
*/
|
|
172
|
-
exports.ngGeneratePage = (0, schematics_2.
|
|
172
|
+
exports.ngGeneratePage = (0, schematics_2.createOtterSchematic)(ngGeneratePageFn);
|
|
173
173
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateRenovateBotSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Create a Renovate Bot basic configuration
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngGenerateRenovateBotComponent: (options:
|
|
6
|
+
export declare const ngGenerateRenovateBotComponent: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/renovate/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,IAAI,EAKL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/renovate/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AA+BpC;;;GAGG;AACH,eAAO,MAAM,8BAA8B,wBAAyD,CAAC"}
|
|
@@ -27,5 +27,5 @@ function ngGenerateRenovateBotComponentFn(options) {
|
|
|
27
27
|
* Create a Renovate Bot basic configuration
|
|
28
28
|
* @param options
|
|
29
29
|
*/
|
|
30
|
-
exports.ngGenerateRenovateBotComponent = (0, schematics_2.
|
|
30
|
+
exports.ngGenerateRenovateBotComponent = (0, schematics_2.createOtterSchematic)(ngGenerateRenovateBotComponentFn);
|
|
31
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateUpdateSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* add a new ngUpdate function
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngGenerateUpdate: (options:
|
|
6
|
+
export declare const ngGenerateUpdate: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/schematics-update/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,IAAI,EAGL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/schematics-update/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,IAAI,EAGL,MAAM,4BAA4B,CAAC;AA+EpC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,wBAA2C,CAAC"}
|
|
@@ -67,5 +67,5 @@ export function ${updateFunction}(): Rule {
|
|
|
67
67
|
* add a new ngUpdate function
|
|
68
68
|
* @param options
|
|
69
69
|
*/
|
|
70
|
-
exports.ngGenerateUpdate = (0, schematics_2.
|
|
70
|
+
exports.ngGenerateUpdate = (0, schematics_2.createOtterSchematic)(ngGenerateUpdateFn);
|
|
71
71
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateServiceSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Add a Service to an Otter project
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngGenerateService: (options:
|
|
6
|
+
export declare const ngGenerateService: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/service/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,IAAI,EAKL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/service/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AA+GpC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,wBAA4C,CAAC"}
|
|
@@ -93,5 +93,5 @@ function ngGenerateServiceFn(options) {
|
|
|
93
93
|
* Add a Service to an Otter project
|
|
94
94
|
* @param options
|
|
95
95
|
*/
|
|
96
|
-
exports.ngGenerateService = (0, schematics_2.
|
|
96
|
+
exports.ngGenerateService = (0, schematics_2.createOtterSchematic)(ngGenerateServiceFn);
|
|
97
97
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgShowModulesSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Show the list of available modules
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngShowModules: (options:
|
|
6
|
+
export declare const ngShowModules: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/show-modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/show-modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACL,MAAM,4BAA4B,CAAC;AAmBpC;;;GAGG;AACH,eAAO,MAAM,aAAa,wBAAwC,CAAC"}
|
|
@@ -13,5 +13,5 @@ function ngShowModulesFn(options) {
|
|
|
13
13
|
* Show the list of available modules
|
|
14
14
|
* @param options
|
|
15
15
|
*/
|
|
16
|
-
exports.ngShowModules = (0, schematics_1.
|
|
16
|
+
exports.ngShowModules = (0, schematics_1.createOtterSchematic)(ngShowModulesFn);
|
|
17
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateEntityAsyncStoreSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Create an Otter friendly entity async store
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngGenerateEntityAsyncStore: (options:
|
|
6
|
+
export declare const ngGenerateEntityAsyncStore: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/store/entity-async/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,IAAI,EAKL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/store/entity-async/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AAuFpC;;;GAGG;AACH,eAAO,MAAM,0BAA0B,wBAAqD,CAAC"}
|
|
@@ -74,5 +74,5 @@ function ngGenerateEntityAsyncStoreFn(options) {
|
|
|
74
74
|
* Create an Otter friendly entity async store
|
|
75
75
|
* @param options
|
|
76
76
|
*/
|
|
77
|
-
exports.ngGenerateEntityAsyncStore = (0, schematics_2.
|
|
77
|
+
exports.ngGenerateEntityAsyncStore = (0, schematics_2.createOtterSchematic)(ngGenerateEntityAsyncStoreFn);
|
|
78
78
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateEntitySyncStoreSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Create an Otter friendly entity sync store
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngGenerateEntitySyncStore: (options:
|
|
6
|
+
export declare const ngGenerateEntitySyncStore: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/store/entity-sync/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,IAAI,EAKL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/store/entity-sync/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AAsFpC;;;GAGG;AACH,eAAO,MAAM,yBAAyB,wBAAoD,CAAC"}
|
|
@@ -72,5 +72,5 @@ function ngGenerateEntitySyncStoreFn(options) {
|
|
|
72
72
|
* Create an Otter friendly entity sync store
|
|
73
73
|
* @param options
|
|
74
74
|
*/
|
|
75
|
-
exports.ngGenerateEntitySyncStore = (0, schematics_2.
|
|
75
|
+
exports.ngGenerateEntitySyncStore = (0, schematics_2.createOtterSchematic)(ngGenerateEntitySyncStoreFn);
|
|
76
76
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateStoreSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Create an Otter store
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngGenerateStore: (options:
|
|
6
|
+
export declare const ngGenerateStore: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAEL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAEL,MAAM,4BAA4B,CAAC;AAqCpC;;;GAGG;AACH,eAAO,MAAM,eAAe,wBAA0C,CAAC"}
|
|
@@ -35,5 +35,5 @@ function ngGenerateStoreFn(options) {
|
|
|
35
35
|
* Create an Otter store
|
|
36
36
|
* @param options
|
|
37
37
|
*/
|
|
38
|
-
exports.ngGenerateStore = (0, schematics_2.
|
|
38
|
+
exports.ngGenerateStore = (0, schematics_2.createOtterSchematic)(ngGenerateStoreFn);
|
|
39
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateSimpleAsyncStoreSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Create an Otter friendly simple async store
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngGenerateSimpleAsyncStore: (options:
|
|
6
|
+
export declare const ngGenerateSimpleAsyncStore: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/store/simple-async/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,IAAI,EAKL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/store/simple-async/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AAoFpC;;;GAGG;AACH,eAAO,MAAM,0BAA0B,wBAAqD,CAAC"}
|
|
@@ -70,5 +70,5 @@ function ngGenerateSimpleAsyncStoreFn(options) {
|
|
|
70
70
|
* Create an Otter friendly simple async store
|
|
71
71
|
* @param options
|
|
72
72
|
*/
|
|
73
|
-
exports.ngGenerateSimpleAsyncStore = (0, schematics_2.
|
|
73
|
+
exports.ngGenerateSimpleAsyncStore = (0, schematics_2.createOtterSchematic)(ngGenerateSimpleAsyncStoreFn);
|
|
74
74
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
|
|
3
|
-
export declare const ngGenerateSimpleSyncStore: (options: NgGenerateSimpleSyncStoreSchematicsSchema) => Rule;
|
|
2
|
+
export declare const ngGenerateSimpleSyncStore: (options: any) => Rule;
|
|
4
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/store/simple-sync/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,IAAI,EAKL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/store/simple-sync/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AA6EpC,eAAO,MAAM,yBAAyB,wBAAoD,CAAC"}
|
|
@@ -59,5 +59,5 @@ function ngGenerateSimpleSyncStoreFn(options) {
|
|
|
59
59
|
options.skipLinter ? (0, schematics_1.noop)() : (0, schematics_2.applyEsLintFix)()
|
|
60
60
|
]);
|
|
61
61
|
}
|
|
62
|
-
exports.ngGenerateSimpleSyncStore = (0, schematics_2.
|
|
62
|
+
exports.ngGenerateSimpleSyncStore = (0, schematics_2.createOtterSchematic)(ngGenerateSimpleSyncStoreFn);
|
|
63
63
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import { NgGenerateStoreActionSchematicsSchema } from './schema';
|
|
3
2
|
/**
|
|
4
3
|
* Add an Action to an Otter Store
|
|
5
4
|
* @param options
|
|
6
5
|
*/
|
|
7
|
-
export declare const ngGenerateStoreAction: (options:
|
|
6
|
+
export declare const ngGenerateStoreAction: (options: any) => Rule;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/store-action/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,IAAI,EAGL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/store-action/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,IAAI,EAGL,MAAM,4BAA4B,CAAC;AAwMpC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,wBAAgD,CAAC"}
|
|
@@ -165,5 +165,5 @@ ${actionDefinitionTemplate}`;
|
|
|
165
165
|
* Add an Action to an Otter Store
|
|
166
166
|
* @param options
|
|
167
167
|
*/
|
|
168
|
-
exports.ngGenerateStoreAction = (0, schematics_2.
|
|
168
|
+
exports.ngGenerateStoreAction = (0, schematics_2.createOtterSchematic)(ngGenerateStoreActionFn);
|
|
169
169
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async.adapter.d.ts","sourceRoot":"","sources":["../../../src/store/async/async.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,
|
|
1
|
+
{"version":3,"file":"async.adapter.d.ts","sourceRoot":"","sources":["../../../src/store/async/async.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC;IAEpE;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,WAAW,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IAEtE;;;;OAIG;IACH,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;IAEhE;;;;OAIG;IACH,qBAAqB,CAAC,CAAC,SAAS,cAAc,EAAE,UAAU,EAAE,CAAC,GAAG,cAAc,CAAC;IAE/E;;;OAGG;IACH,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAEhE;;;OAGG;IACH,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,cAAc,GAAG,SAAS,CAAC,EAAE,GAAG,cAAc,CAAC;IAEhE;;;;;OAKG;IACH,sBAAsB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC;IAEzG;;;;;OAKG;IACH,0BAA0B,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IAE9G;;;;;OAKG;IACH,uBAAuB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IAE3G;;;;OAIG;IACH,wBAAwB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAExF;;;;OAIG;IACH,kBAAkB,CAAC,CAAC,SAAS,cAAc,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAE/D;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;CAC9D;AAED,eAAO,MAAM,qBAAqB,EAAE,qBAwGnC,CAAC"}
|