# Class JsonEntityStore
ClassModule | import { JsonEntityStore } from "@tsed/schema" |
---|---|
Source | /packages/specs/schema/src/types/domain/JsonEntityStore.ts |
# Overview
abstract class JsonEntityStore implements JsonEntityStoreOptions {
<span class="token keyword">readonly</span> propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span> | symbol<span class="token punctuation">;</span>
<span class="token keyword">readonly</span> propertyName<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">;</span>
<span class="token keyword">readonly</span> index<span class="token punctuation">:</span> <span class="token keyword">number</span><span class="token punctuation">;</span>
<span class="token keyword">readonly</span> descriptor<span class="token punctuation">:</span> PropertyDescriptor<span class="token punctuation">;</span>
<span class="token keyword">readonly</span> decoratorType<span class="token punctuation">:</span> <a href="/api/core/types/domain/DecoratorTypes.html"><span class="token">DecoratorTypes</span></a><span class="token punctuation">;</span>
collectionType<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">;</span>
token<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">;</span>
<span class="token keyword">readonly</span> store<span class="token punctuation">:</span> <a href="/api/core/types/domain/Store.html"><span class="token">Store</span></a><span class="token punctuation">;</span>
<span class="token keyword">readonly</span> isStore<span class="token punctuation"> = </span>true<span class="token punctuation">;</span>
<span class="token keyword">readonly</span> parent<span class="token punctuation">:</span> JsonEntityStore<span class="token punctuation">;</span>
<span class="token keyword">readonly</span> target<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">;</span>
<span class="token keyword">protected</span> _type<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">;</span>
<span class="token keyword">protected</span> _schema<span class="token punctuation">:</span> <a href="/api/specs/schema/types/domain/JsonSchema.html"><span class="token">JsonSchema</span></a><span class="token punctuation">;</span>
<span class="token punctuation">[</span>key<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">]</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
<span class="token keyword">constructor</span><span class="token punctuation">(</span>options<span class="token punctuation">:</span> <a href="/api/specs/schema/types/domain/JsonEntityStoreOptions.html"><span class="token">JsonEntityStoreOptions</span></a><span class="token punctuation">)</span><span class="token punctuation">;</span>
get <span class="token function">targetName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">;</span>
get <span class="token function">isCollection</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">boolean</span><span class="token punctuation">;</span>
get <span class="token function">isArray</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">boolean</span><span class="token punctuation">;</span>
get <span class="token function">discriminatorAncestor</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> JsonEntityStore | undefined<span class="token punctuation">;</span>
get <span class="token function">isPrimitive</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">boolean</span><span class="token punctuation">;</span>
get <span class="token function">isDate</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">boolean</span><span class="token punctuation">;</span>
get <span class="token function">isObject</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">boolean</span><span class="token punctuation">;</span>
get <span class="token function">isClass</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">boolean</span><span class="token punctuation">;</span>
get <span class="token function">schema</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/specs/schema/types/domain/JsonSchema.html"><span class="token">JsonSchema</span></a><span class="token punctuation">;</span>
get <span class="token function">nestedGenerics</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
set <span class="token function">nestedGenerics</span><span class="token punctuation">(</span>nestedGenerics<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
get <span class="token function">type</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>> | <span class="token keyword">any</span><span class="token punctuation">;</span>
set <span class="token function">type</span><span class="token punctuation">(</span>value<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>> | <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
get <span class="token function">computedType</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
get <span class="token function">itemSchema</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/specs/schema/types/domain/JsonSchema.html"><span class="token">JsonSchema</span></a><span class="token punctuation">;</span>
get <span class="token function">parentSchema</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/specs/schema/types/domain/JsonSchema.html"><span class="token">JsonSchema</span></a><span class="token punctuation">;</span>
get <span class="token function">isDiscriminatorChild</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">boolean</span><span class="token punctuation">;</span>
<span class="token keyword">static</span> <span class="token keyword">from</span><T <span class="token keyword">extends</span> <a href="/api/specs/schema/types/domain/JsonClassStore.html"><span class="token">JsonClassStore</span></a><span class="token punctuation"> = </span><a href="/api/specs/schema/types/domain/JsonClassStore.html"><span class="token">JsonClassStore</span></a>><span class="token punctuation">(</span>target<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">)</span><span class="token punctuation">:</span> T<span class="token punctuation">;</span>
<span class="token keyword">static</span> <span class="token keyword">from</span><T <span class="token keyword">extends</span> <a href="/api/specs/schema/types/domain/JsonPropertyStore.html"><span class="token">JsonPropertyStore</span></a><span class="token punctuation"> = </span><a href="/api/specs/schema/types/domain/JsonPropertyStore.html"><span class="token">JsonPropertyStore</span></a>><span class="token punctuation">(</span>target<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>> | <span class="token keyword">any</span><span class="token punctuation">,</span> propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span> | symbol<span class="token punctuation">)</span><span class="token punctuation">:</span> T<span class="token punctuation">;</span>
<span class="token keyword">static</span> <span class="token keyword">from</span><T <span class="token keyword">extends</span> <a href="/api/specs/schema/types/domain/JsonParameterStore.html"><span class="token">JsonParameterStore</span></a><span class="token punctuation"> = </span><a href="/api/specs/schema/types/domain/JsonParameterStore.html"><span class="token">JsonParameterStore</span></a>><span class="token punctuation">(</span>target<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>> | <span class="token keyword">any</span><span class="token punctuation">,</span> propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span> | symbol<span class="token punctuation">,</span> index<span class="token punctuation">:</span> <span class="token keyword">number</span><span class="token punctuation">)</span><span class="token punctuation">:</span> T<span class="token punctuation">;</span>
<span class="token keyword">static</span> <span class="token keyword">from</span><T <span class="token keyword">extends</span> <a href="/api/specs/schema/types/domain/JsonMethodStore.html"><span class="token">JsonMethodStore</span></a><span class="token punctuation"> = </span><a href="/api/specs/schema/types/domain/JsonMethodStore.html"><span class="token">JsonMethodStore</span></a>><span class="token punctuation">(</span>target<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>> | <span class="token keyword">any</span><span class="token punctuation">,</span> propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span> | symbol<span class="token punctuation">,</span> descriptor<span class="token punctuation">:</span> PropertyDescriptor<span class="token punctuation">)</span><span class="token punctuation">:</span> T<span class="token punctuation">;</span>
<span class="token keyword">static</span> <span class="token keyword">from</span><T <span class="token keyword">extends</span> JsonEntityStore<span class="token punctuation"> = </span>JsonEntityStore><span class="token punctuation">(</span>...args<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> T<span class="token punctuation">;</span>
<span class="token keyword">static</span> fromMethod<T <span class="token keyword">extends</span> <a href="/api/specs/schema/types/domain/JsonMethodStore.html"><span class="token">JsonMethodStore</span></a><span class="token punctuation"> = </span><a href="/api/specs/schema/types/domain/JsonMethodStore.html"><span class="token">JsonMethodStore</span></a>><span class="token punctuation">(</span>target<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">,</span> propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span> | symbol<span class="token punctuation">)</span><span class="token punctuation">:</span> T<span class="token punctuation">;</span>
<span class="token keyword">static</span> <span class="token function">get</span><span class="token punctuation">(</span>target<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">,</span> propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span> | symbol<span class="token punctuation">,</span> descriptor?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> JsonEntityStore<span class="token punctuation">;</span>
<span class="token function">isGetterOnly</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">boolean</span> | undefined<span class="token punctuation">;</span>
get<T<span class="token punctuation"> = </span><span class="token keyword">any</span>><span class="token punctuation">(</span>key<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> defaultValue?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> T<span class="token punctuation">;</span>
<span class="token function">set</span><span class="token punctuation">(</span>key<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> value?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/core/types/domain/Store.html"><span class="token">Store</span></a><span class="token punctuation">;</span>
<span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token keyword">abstract</span> <span class="token function">build</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">void</span><span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token function">buildType</span><span class="token punctuation">(</span>type<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">void</span><span class="token punctuation">;</span>
<span class="token function">getBestType</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
}
# Members
readonly propertyKey: string | symbol;
Original property key decorated by the decorator
readonly propertyName: string;
Alias of the property
readonly index: number;
Parameter index
readonly descriptor: PropertyDescriptor;
Method's descriptor
readonly decoratorType: DecoratorTypes;
Decorator type used to the JsonSchemaStore.
collectionType: Type<any>;
Type of the collection (Array, Map, Set, etc...)
token: Type<any>;
readonly store: Store;
readonly isStore = true;
readonly parent: JsonEntityStore;
readonly target: Type<any>;
protected _type: Type<any>;
protected _schema: JsonSchema;
Ref to JsonSchema
[key: string]: any;
get targetName(): string;
Return the class name of the entity.
get isCollection(): boolean;
get isArray(): boolean;
get discriminatorAncestor(): JsonEntityStore | undefined;
get isPrimitive(): boolean;
get isDate(): boolean;
get isObject(): boolean;
get isClass(): boolean;
get schema(): JsonSchema;
Return the JsonSchema
get nestedGenerics(): Type<any>[][];
set nestedGenerics(nestedGenerics: Type<any>[][]);
get type(): Type<any> | any;
set type(value: Type<any> | any);
Get original type without transformation
get computedType(): any;
Return the itemSchema computed type. if the type is a function used for recursive model, the function will be called to get the right type.
get itemSchema(): JsonSchema;
get parentSchema(): JsonSchema;
get isDiscriminatorChild(): boolean;
static from<T extends JsonClassStore = JsonClassStore>(target: Type<any>): T;
static from<T extends JsonPropertyStore = JsonPropertyStore>(target: Type<any> | any, propertyKey: string | symbol): T;
static from<T extends JsonParameterStore = JsonParameterStore>(target: Type<any> | any, propertyKey: string | symbol, index: number): T;
static from<T extends JsonMethodStore = JsonMethodStore>(target: Type<any> | any, propertyKey: string | symbol, descriptor: PropertyDescriptor): T;
static from<T extends JsonEntityStore = JsonEntityStore>(...args: any[]): T;
static fromMethod<T extends JsonMethodStore = JsonMethodStore>(target: any, propertyKey: string | symbol): T;
static get(target: Type<any>, propertyKey: string | symbol, descriptor?: any): JsonEntityStore;
isGetterOnly(): boolean | undefined;
get<T = any>(key: string, defaultValue?: any): T;
set(key: string, value?: any): Store;
toString(): string;
protected abstract build(): void;
protected buildType(type: any): void;
getBestType(): any;