@anticrm/core Package

Packages > @anticrm/core

Classes

List of classes contained in this package or namespace
Class Description
MarkdownParser
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.
ModelIndex Perform model update and forward updates into chained storage if required.
Request_2
TextIndex
TitleIndex
TxIndex
TxProcessor
VDocIndex

Enumerations

List of enums contained in this package or namespace
Enumeration Description
ClassifierKind
MessageMarkType
MessageNodeType
TxContextSource Operation direction, is it came from server or it is own operation.

Functions

List of functions contained in this package or namespace
Function Description
compareDeep(a, b)
generateId()
isValidQuery(query)
messageContent(node)
messageMarks(node)
mixinKey(mixin, key)
newMessageDocument()
parseMessage(message)
parseMessageMarkdown(message)
readRequest(request)
readResponse(response)
serialize(object)
serializeMessage(node)
serializeMessageMarkdown(node)
toStatus(response)
traverseMarks(node, f)
traverseMessage(node, f)
txContext(source, network) Return a complete TxContext

Interfaces

List of interfaces contained in this package or namespace
Interface Description
AnyLayout
Application
ArrayOf
Attribute
Backlink
Backlinks
BagOf
CoreProtocol
CreateTx
DeleteTx
Doc
DocumentProtocol
DomainIndex
EClass
EClassifier
Emb
EMixin
FieldRef
Indices
InstanceOf
IState
LinkMark
List
MatchResult
MessageMark
MessageNode
Obj
ObjectTx
PushTx
ReferenceMark
RefTo
Response_2
RpcError
Space
SpaceUser Define a space user - association, it hold some extra properties.
Storage_2
Title
Tx Transaction operation being processed.
TxContext Define a transaction processing context.
Type
UpdateTx
VDoc

Variables

List of variables contained in this package or namespace
Variable Description
BACKLINKS_DOMAIN
core
MODEL_DOMAIN
TITLE_DOMAIN
TX_DOMAIN

Type Aliases

List of type aliases contained in this package or namespace
Type Alias Description
AllAttributes
Attributes
BooleanProperty
Class
Classifier
DateProperty
Mixin
Property
PropertyType
Ref
ReqId
StringProperty

Enumerations

ClassifierKind enum

Signature:

export declare enum ClassifierKind 

Enumeration Members

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

MessageMarkType enum

Signature:

export declare enum MessageMarkType 

Enumeration Members

List of members in use in this enum
Member Value Description
code "code"
em "em"
link "link"
reference "reference"
strong "strong"

MessageNodeType enum

Signature:

export declare enum MessageNodeType 

Enumeration Members

List of members in use in this enum
Member Value Description
blockquote "blockquote"
bullet_list "bullet_list"
code_block "code_block"
doc "doc"
hard_break "hard_break"
heading "heading"
horizontal_rule "horizontal_rule"
image "image"
list_item "list_item"
ordered_list "ordered_list"
paragraph "paragraph"
text "text"

TxContextSource enum

Operation direction, is it came from server or it is own operation.

Signature:

export declare enum TxContextSource 

Enumeration Members

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

Functions

compareDeep

Signature:

export declare function compareDeep(a: any, b: any): boolean;

Parameters

List of parameters
Parameter Type Description
a any
b any

Returns:

boolean

generateId

Signature:

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

Returns:

Ref<Doc>

isValidQuery

Signature:

export declare function isValidQuery(query: AnyLayout | null): boolean;

Parameters

List of parameters
Parameter Type Description
query AnyLayout | null

Returns:

boolean

messageContent

Signature:

export declare function messageContent(node: MessageNode): MessageNode[];

Parameters

List of parameters
Parameter Type Description
node MessageNode

Returns:

MessageNode[]

messageMarks

Signature:

export declare function messageMarks(node: MessageNode): MessageMark[];

Parameters

List of parameters
Parameter Type Description
node MessageNode

Returns:

MessageMark[]

mixinKey

Signature:

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

Parameters

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

Returns:

string

newMessageDocument

Signature:

export declare function newMessageDocument(): MessageNode;

Returns:

MessageNode

parseMessage

Signature:

export declare function parseMessage(message: string): MessageNode;

Parameters

List of parameters
Parameter Type Description
message string

Returns:

MessageNode

parseMessageMarkdown

Signature:

export declare function parseMessageMarkdown(message: string): MessageNode;

Parameters

List of parameters
Parameter Type Description
message string

Returns:

MessageNode

readRequest

Signature:

export declare function readRequest<P extends any[]>(request: string): Request<P>;

Parameters

List of parameters
Parameter Type Description
request string

Returns:

Request<P>

readResponse

Signature:

export declare function readResponse<D>(response: string): Response<D>;

Parameters

List of parameters
Parameter Type Description
response string

Returns:

Response<D>

serialize

Signature:

export declare function serialize(object: Request<any> | Response<any>): string;

Parameters

List of parameters
Parameter Type Description
object Request | Response

Returns:

string

serializeMessage

Signature:

export declare function serializeMessage(node: MessageNode): string;

Parameters

List of parameters
Parameter Type Description
node MessageNode

Returns:

string

serializeMessageMarkdown

Signature:

export declare function serializeMessageMarkdown(node: MessageNode): string;

Parameters

List of parameters
Parameter Type Description
node MessageNode

Returns:

string

toStatus

Signature:

export declare function toStatus(response: Response<any>): Status;

Parameters

List of parameters
Parameter Type Description
response Response

Returns:

Status

traverseMarks

Signature:

export declare function traverseMarks(node: MessageNode, f: (el: MessageMark) => void): void;

Parameters

List of parameters
Parameter Type Description
node MessageNode
f (el: MessageMark) => void

Returns:

void

traverseMessage

Signature:

export declare function traverseMessage(node: MessageNode, f: (el: MessageNode) => void): void;

Parameters

List of parameters
Parameter Type Description
node MessageNode
f (el: MessageNode) => void

Returns:

void

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

Signature:

BACKLINKS_DOMAIN = "backlinks"

core

Signature:

core: {
    class: {
        Obj: Ref<Class<Obj>>;
        Emb: Ref<Class<Emb>>;
        Doc: Ref<Class<Doc>>;
        Classifier: Ref<Class<Classifier<Obj>>>;
        Attribute: Ref<Class<Attribute>>;
        Class: Ref<Class<Class<Obj>>>;
        Mixin: Ref<Class<Mixin<Obj>>>;
        Type: Ref<Class<Type>>;
        String: Ref<Class<Type>>;
        Number: Ref<Class<Type>>;
        Boolean: Ref<Class<Type>>;
        ArrayOf: Ref<Class<ArrayOf>>;
        RefTo: Ref<Class<RefTo<Doc>>>;
        BagOf: Ref<Class<BagOf>>;
        InstanceOf: Ref<Class<InstanceOf<Type>>>;
    };
    mixin: {
        Indices: Ref<Mixin<Indices>>;
    };
} & {
    class: {
        Tx: Ref<Class<Tx>>;
        CreateTx: Ref<Class<CreateTx>>;
        PushTx: Ref<Class<PushTx>>;
        UpdateTx: Ref<Class<UpdateTx>>;
        DeleteTx: Ref<Class<DeleteTx>>;
        Title: Ref<Class<Title>>;
        VDoc: Ref<Class<VDoc>>;
        Space: Ref<Class<Space>>;
        SpaceUser: Ref<Class<SpaceUser>>;
        Backlinks: Ref<Class<Backlinks>>;
        Application: Ref<Class<Application>>;
    };
}

MODEL_DOMAIN

Signature:

MODEL_DOMAIN = "model"

TITLE_DOMAIN

Signature:

TITLE_DOMAIN = "title"

TX_DOMAIN

Signature:

TX_DOMAIN = "tx"

Type Aliases

AllAttributes

Signature:

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

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>;

Classifier

Signature:

export declare type Classifier<T extends Obj> = EClassifier<T, Obj>;

DateProperty

Signature:

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

Mixin

Signature:

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

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;
};

ReqId

Signature:

export declare type ReqId = string | number;

StringProperty

Signature:

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