Type Alias OverrideCollectionInterface<T, S>
OverrideCollectionInterface<T, S>: { [isOverrideCollection]: boolean; getSerializedByKey: ((key: string) => S | undefined); override: ((item: T) => T | null); parseItems: ((items: (S & { type?: string; })[] | undefined,
moduleId: string) => Promise<void>); removeModule: ((moduleId: string) => void); replace: ((item: T) => T | null); replaced: VcsEvent<ReplacedEvent<T>>; serializeModule: ((moduleId: string) => object[]); shadowMap: Map<string, (S & { [moduleIdSymbol]?: string; })[]>; uniqueKey: keyof T; } Type declaration
[isOverrideCollection]: boolean
getSerializedByKey: ((key: string) => S | undefined)
- (key): S | undefined
Returns S | undefined
override: ((item: T) => T | null)
- (item): T | null
Returns T | null
parseItems: ((items: (S & {
type?: string;
})[] | undefined, moduleId: string) => Promise<void>)
- (items, moduleId): Promise<void>
Parameters
- items: (S & {
type?: string;
})[] | undefined - moduleId: string
Returns Promise<void>
removeModule: ((moduleId: string) => void)
- (moduleId): void
Returns void
replace: ((item: T) => T | null)
- (item): T | null
Returns T | null
serializeModule: ((moduleId: string) => object[])
- (moduleId): object[]
Returns object[]
shadowMap: Map<string, (S & {
[moduleIdSymbol]?: string;
})[]>
uniqueKey: keyof T
The override collection adds the ability to override a unique item and re-creating it, should the override be removed. This does change some flow of called events. 1) if you override an item, removed is not called for the removed current item. 2) replaced is called for items which where replaced. 3) added can be called more the once for the same unique id. Replaced is called before added has been called for the item.