@allgemein/schema-api
Version:
Library for schema api
45 lines (44 loc) • 1.36 kB
TypeScript
import { ILookupRegistry } from '../../api/ILookupRegistry';
import { ClassType } from '../Constants';
import { IRegistryOptions } from './IRegistryOptions';
export declare class RegistryFactory {
static $types: {
pattern: string | RegExp;
registryClass: ClassType<ILookupRegistry>;
}[];
static $handles: {
[]: ILookupRegistry;
};
/**
* Return the registry handling schema/objects of given context or if not exists the generic default namescaped registry
*
* @param namespace
*/
static get<T extends ILookupRegistry>(namespace?: string, options?: IRegistryOptions): T;
/**
* Remove registry from handles list
*
* @param namespace
*/
static remove(namespace: string): void;
/**
* Register a special registry for a given namespace or pattern, remove previous if existed
*
* @param namespace
* @param registry
*/
static register(namespace: string | RegExp, registryClass: ClassType<ILookupRegistry>): void;
/**
* Return active and registered namespaces
*/
static getNamespaces(): string[];
static getTargets(): any[];
/**
* Return all declared namespaces
*/
static getDeclaredNamespaces(): {
target: Function;
namespace: string;
}[];
static reset(): void;
}