@anticrm/core Package

Packages > @anticrm/core

Classes #

List of classes contained in this package or namespace
Class Description
Model Model is a storage for Class descriptors and useful functions to match class instances to queries and apply values to them based on changes.
TxProcessor

Enumerations #

List of enums contained in this package or namespace
Enumeration Description
ClassifierKind
SortingOrder
TxContextSource

Functions #

List of functions contained in this package or namespace
Function Description
combineStorage(storages) Return a combined storage
generateId()
isValidSelector(selector)
mixinFromKey(key)
mixinKey(mixin, key)
txContext(source, network) Return a complete TxContext

Interfaces #

List of interfaces contained in this package or namespace
Interface Description
AnyLayout
ArrayOf
Attribute
AttributeMatch
BagOf
Classifier
CoreProtocol
Doc
DocumentProtocol
DomainIndex
EClass
EDomainClassifier
EEnum
Emb
EMixin
EnumLiteral
EnumOf
FindOptions Some options used to perform find opertion.
Indices
InstanceOf
Obj
RefTo
RegExpression
Storage_2
Tx Transaction operation being processed.
TxContext Define a transaction processing context.
Type

Variables #

List of variables contained in this package or namespace
Variable Description
CORE_CLASS_ARRAY_OF
CORE_CLASS_ATTRIBUTE
CORE_CLASS_BAG_OF
CORE_CLASS_BOOLEAN
CORE_CLASS_CLASS
CORE_CLASS_DOC
CORE_CLASS_EMB
CORE_CLASS_ENUM_OF
CORE_CLASS_ENUM
CORE_CLASS_INSTANCE_OF
CORE_CLASS_MIXIN
CORE_CLASS_NUMBER
CORE_CLASS_OBJ
CORE_CLASS_REF_TO
CORE_CLASS_STRING
CORE_CLASS_TYPE
CORE_MIXIN_INDICES
MODEL_DOMAIN

Type Aliases #

List of type aliases contained in this package or namespace
Type Alias Description
AllAttributes
ArrayQueryType
Attributes
BooleanProperty
Class
DateProperty
DocumentQuery A possible query values to be used with Document access protocol.It allows to pass individual values with matched type to T. In case of Arrays it is possible o match entire array with partial fields or to match an element in array if object is specified as query.
DocumentSorting
DocumentSortingValueRaw
DocumentValue
DocumentValueRaw
Enum
EnumKey
EnumLiterals
Mixin
NumberProperty
ObjQueryType
PrimitiveType
Property
PropertyType
Ref
StringProperty
TSortingWithoutEmbArray
TWithoutEmbArray

Enumerations #

ClassifierKind enum #

Signature:

export declare enum ClassifierKind 

Enumeration Members #

List of members in use in this enum
Member Value Description
CLASS 0
ENUM 2
MIXIN 1

SortingOrder enum #

Signature:

export declare enum SortingOrder 

Enumeration Members #

List of members in use in this enum
Member Value Description
Ascending 1
Descending -1

TxContextSource enum #

Signature:

export declare enum TxContextSource 

Enumeration Members #

List of members in use in this enum
Member Value Description
Client 0
Server 1
ServerTransient 2

Functions #

combineStorage #

Return a combined storage

Signature:

export declare function combineStorage(...storages: Storage[]): Storage;

Parameters

List of parameters
Parameter Type Description
storages Storage[]

Returns:

Storage

generateId #

Signature:

export declare function generateId(): Ref<Doc>;

Returns:

Ref<Doc>

isValidSelector #

Signature:

export declare function isValidSelector(selector: ObjectSelector[]): boolean;

Parameters

List of parameters
Parameter Type Description
selector ObjectSelector[]

Returns:

boolean

mixinFromKey #

Signature:

export declare function mixinFromKey(key: string): {
    mixin: Ref<Mixin<Obj>>;
    key: string;
};

Parameters

List of parameters
Parameter Type Description
key string

Returns:

{ mixin: Ref<Mixin<Obj>>; key: string; }

mixinKey #

Signature:

export declare function mixinKey(mixin: Ref<Mixin<Obj>>, key: string): string;

Parameters

List of parameters
Parameter Type Description
mixin Ref<Mixin<Obj>>
key string

Returns:

string

txContext #

Return a complete TxContext

Signature:

export declare function txContext(source?: TxContextSource, network?: Promise<void>): TxContext;

Parameters

List of parameters
Parameter Type Description
source TxContextSource
network Promise

Returns:

TxContext

Variables #

CORE_CLASS_ARRAY_OF #

Signature:

CORE_CLASS_ARRAY_OF: Ref<Class<ArrayOf>>

CORE_CLASS_ATTRIBUTE #

Signature:

CORE_CLASS_ATTRIBUTE: Ref<Class<Attribute>>

CORE_CLASS_BAG_OF #

Signature:

CORE_CLASS_BAG_OF: Ref<Class<BagOf>>

CORE_CLASS_BOOLEAN #

Signature:

CORE_CLASS_BOOLEAN: Ref<Class<Type>>

CORE_CLASS_CLASS #

Signature:

CORE_CLASS_CLASS: Ref<Class<Class<Obj>>>

CORE_CLASS_DOC #

Signature:

CORE_CLASS_DOC: Ref<Class<Doc>>

CORE_CLASS_EMB #

Signature:

CORE_CLASS_EMB: Ref<Class<Emb>>

CORE_CLASS_ENUM_OF #

Signature:

CORE_CLASS_ENUM_OF: Ref<Class<EnumOf<EnumKey>>>

CORE_CLASS_ENUM #

Signature:

CORE_CLASS_ENUM: Ref<Class<Enum<any>>>

CORE_CLASS_INSTANCE_OF #

Signature:

CORE_CLASS_INSTANCE_OF: Ref<Class<InstanceOf<Emb>>>

CORE_CLASS_MIXIN #

Signature:

CORE_CLASS_MIXIN: Ref<Class<Mixin<Obj>>>

CORE_CLASS_NUMBER #

Signature:

CORE_CLASS_NUMBER: Ref<Class<Type>>

CORE_CLASS_OBJ #

Signature:

CORE_CLASS_OBJ: Ref<Class<Obj>>

CORE_CLASS_REF_TO #

Signature:

CORE_CLASS_REF_TO: Ref<Class<RefTo<Doc>>>

CORE_CLASS_STRING #

Signature:

CORE_CLASS_STRING: Ref<Class<Type>>

CORE_CLASS_TYPE #

Signature:

CORE_CLASS_TYPE: Ref<Class<Type>>

CORE_MIXIN_INDICES #

Signature:

CORE_MIXIN_INDICES: Ref<Mixin<Indices>>

MODEL_DOMAIN #

Signature:

MODEL_DOMAIN = "model"

Type Aliases #

AllAttributes #

Signature:

export declare type AllAttributes<T extends E, E extends Obj> = Required<Attributes<T, E>> & Partial<Attributes<E, Obj>>;

ArrayQueryType #

Signature:

export declare type ArrayQueryType<A> = A extends Array<infer T> ? ObjQueryType<T> | Array<ObjQueryType<T>> : ObjQueryType<A>;

Attributes #

Signature:

export declare type Attributes<T extends E, E extends Obj> = Record<Exclude<keyof T, keyof E>, Attribute>;

BooleanProperty #

Signature:

export declare type BooleanProperty = Property<boolean, boolean>;

Class #

Signature:

export declare type Class<T extends Obj> = EClass<T, Obj>;

DateProperty #

Signature:

export declare type DateProperty = Property<number, Date>;

DocumentQuery #

A possible query values to be used with Document access protocol.

It allows to pass individual values with matched type to T. In case of Arrays it is possible o match entire array with partial fields or to match an element in array if object is specified as query.

Signature:

export declare type DocumentQuery<T> = {
    [P in keyof T]?: ArrayQueryType<T[P]>;
};

DocumentSorting #

Signature:

export declare type DocumentSorting<T> = T extends Obj ? DocumentSortingValueRaw<T> : SortingOrder;

DocumentSortingValueRaw #

Signature:

export declare type DocumentSortingValueRaw<T> = {
    [P in keyof T]?: TSortingWithoutEmbArray<T[P]>;
};

DocumentValue #

Signature:

export declare type DocumentValue<T> = T extends Doc ? DocumentValueRaw<Omit<T, keyof Doc>> : never | T extends Emb ? DocumentValueRaw<Omit<T, keyof Emb>> : never | T extends Obj ? T : T;

DocumentValueRaw #

Signature:

export declare type DocumentValueRaw<T> = {
    [P in keyof T]: TWithoutEmbArray<T[P]>;
};

Enum #

Signature:

export declare type Enum<T extends EnumKey> = EEnum<T, EnumLiteral>;

EnumKey #

Signature:

export declare type EnumKey = string | number | symbol;

EnumLiterals #

Signature:

export declare type EnumLiterals<T extends EnumKey, E extends EnumLiteral> = {
    [Q in T]: E;
};

Mixin #

Signature:

export declare type Mixin<T extends Obj> = EMixin<T, Obj>;

NumberProperty #

Signature:

export declare type NumberProperty = Property<number, number>;

ObjQueryType #

Signature:

export declare type ObjQueryType<T> = T extends Obj ? DocumentQuery<T> : T | RegExpression;

PrimitiveType #

Signature:

export declare type PrimitiveType = number | string | boolean | undefined;

Property #

Signature:

export declare type Property<P extends PrimitiveType, T> = P & {
    __property: T;
};

PropertyType #

Signature:

export declare type PropertyType = Property<PrimitiveType, any> | Ref<Doc> | Emb | PropertyType[] | {
    [key: string]: PropertyType;
};

Ref #

Signature:

export declare type Ref<T extends Doc> = string & {
    __ref: T;
};

StringProperty #

Signature:

export declare type StringProperty = Property<string, string>;

TSortingWithoutEmbArray #

Signature:

export declare type TSortingWithoutEmbArray<A> = A extends Array<infer T> ? DocumentSorting<T> : DocumentSorting<A>;

TWithoutEmbArray #

Signature:

export declare type TWithoutEmbArray<A> = A extends Array<infer T> ? Array<DocumentValue<T>> : DocumentValue<A>;