@allgemein/schema-api
Version:
Library for schema api
60 lines (59 loc) • 1.89 kB
TypeScript
import { JS_DATA_TYPES, METADATA_TYPE } from './Constants';
import { IBaseRef } from '../api/IBaseRef';
import { IClassRef } from '../api/IClassRef';
import { ILookupRegistry } from '../api/ILookupRegistry';
export declare abstract class AbstractRef implements IBaseRef {
/**
* Type of this entry
*/
readonly metaType: METADATA_TYPE;
/**
* Namespace better registry of this entry
*/
namespace: string;
private _cachedOptions;
readonly name: string;
readonly object: IClassRef;
constructor(type: METADATA_TYPE, name: string, object?: IClassRef | Function | string, namespace?: string);
getNamespace(): string;
getSourceRef(): IClassRef;
abstract getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef;
abstract getRegistry(): ILookupRegistry;
protected getOptionsEntry(): any;
getOptions(key?: string, defaultValue?: any): any;
setOptions(options: any): void;
setOption(key: string, value: any): void;
hasOption(key: string): boolean;
/**
* Return class ref
*/
getClassRef(): IClassRef;
/**
* Get class for the entry
*
* @param create: create anonymous placeholder if no class exists
*/
getClass(create?: boolean): Function;
/**
* Return the name of the class ref, if not exits then return null
*/
get originalName(): string;
/**
* Return internal name (same as calling storingName)
*/
get internalName(): string;
/**
* Return name in snake case notation
*/
get machineName(): string;
/**
* Return internal name, check if internalName is set else check if name options is present
*
*/
get storingName(): any;
abstract id(): string;
/**
* Return supported primitive data types
*/
getSupportedDataTypes(): JS_DATA_TYPES[];
}