A reference to the graph, this entity belongs to. Initially empty, and is populated when the entity instance is added to the replica (Replica.addEntity)
An object, which properties corresponds to the ChronoGraph Identifiers, created for every field.
For example:
class Author extends Entity.mix(Base) {
@field()
firstName : string
@field()
lastName : string
}
const author = Author.new()
// identifier for the field `firstName`
author.$.firstName
const firstName = replica.read(author.$.firstName)
A graph identifier, that represents the whole entity.
An EntityMeta instance, representing the "meta" information about the entity class. It is shared among all instances of the class.
An EntityMeta instance, representing the "meta" information about the entity class. It is shared among all instances of the class.
This is a convenience method, that just delegates to the ChronoGraph.commit method of this entity's graph.
If there's no graph (entity has not been added to any replica) a CommitZero constant will be returned.
This is a convenience method, that just delegates to the ChronoGraph.commitAsync method of this entity's graph.
If there's no graph (entity has not been added to any replica) a resolved promise with CommitZero constant will be returned.
This method is called when entity is added to some replica.
This method is called when entity is removed from the replica it's been added to.
Generated using TypeDoc
Entity mixin. When applied to some base class (recommended one is Base), turns it into entity. Entity may have several fields, which are properties decorated with field decorator.
To apply this mixin use the
Entity.mix
property, which represents the mixin lambda.Another decorator, calculate, marks the method, that will be used to calculate the value of field.
Example:
class Author extends Entity.mix(Base) { @field() firstName : string @field() lastName : string @field() fullName : string @calculate('fullName') calculateFullName () : string { return this.firstName + ' ' + this.lastName } }