botbuilder-core
Version:
Core components for Microsoft Bot Builder. Components in this library can run either in a browser or on the server.
34 lines (30 loc) • 1.05 kB
text/typescript
/**
* @module botbuilder
*/
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
/**
* ComponentRegistration is a signature class for discovering assets from components.
*/
export class ComponentRegistration {
private static readonly _components: Map<string, ComponentRegistration> = new Map<string, ComponentRegistration>();
/**
* Gets list of all ComponentRegistration objects registered.
*
* @returns A list of ComponentRegistration objects.
*/
static get components(): ComponentRegistration[] {
return Array.from(ComponentRegistration._components.values());
}
/**
* Add a component, only one instance per type is allowed for components.
*
* @param componentRegistration The component to be registered.
*/
static add(componentRegistration: ComponentRegistration): void {
const name = componentRegistration.constructor.name;
ComponentRegistration._components.set(name, componentRegistration);
}
}