SerializeModel

ceramic.Entitytracker.SerializeModel (Class)
Implements: ceramic.Component

Utility to serialize a model object (and its children) continuously and efficiently

Static Members

loadFromData(model: Model, data: String, ?hotReload: Bool = false): Bool
Name Type Default
model Model
data String
hotReload Bool false
Returns
Bool

Instance Members

checkInterval: Float

compactInterval: Float

destroyModelOnUntrack: Bool

serializedMap: Map

model: Model

entity: Model

initializerName: String

compact(?done: Function): Void

Recompute the whole object tree instead of appending. This will untrack every object not on the model anymore and generate a new changeset with the whole serialized object tree.

Name Type Default
done Function (optional)

synchronize(): Void

Synchronize (expected to be called at regular intervals or when something important needs to be serialized)


new(): Void

Private Members

trackedModels: Map

willCleanDestroyedTrackedModels: Bool

dirtyModels: Map

canCompact: Bool

dirty: Bool

emitChangeset(changeset: SerializeChangeset): Void

Triggered when serialized data is updated. If append is true, the given string should be appended to the existing one.

Name Type
changeset SerializeChangeset

bindAsComponent(): Void

track(model: Model): Void
Name Type
model Model

untrack(model: Model): Void
Name Type
model Model

trackedModelDestroyed(_: ceramic.Entity): Void
Name Type
_ ceramic.Entity

cleanTrackingFromPrevSerializedMap(prevSerializedMap: Map): Void
Name Type
prevSerializedMap Map

modelDirty(model: Model, fromSerializedField: Bool): Void
Name Type
model Model
fromSerializedField Bool

explicitModelDirty(model: Model): Void
Name Type
model Model

compactIfNeeded(): Void

serializeModel(model: Model, toAppend: Array<AnonStruct>): Void
Name Type
model Model
toAppend Array

setEntity(entity: ceramic.Entity): Void
Name Type
entity ceramic.Entity

getEntity(): ceramic.Entity
Returns
ceramic.Entity

Metadata

Name Parameters
:build ceramic.macros.ComponentMacro.build()
:autoBuild ceramic.macros.ComponentMacro.build()
:build ceramic.macros.EntityMacro.buildForCompletion()
:autoBuild ceramic.macros.EntityMacro.buildForCompletion()
:build tracker.macros.EventsMacro.build()
:autoBuild tracker.macros.EventsMacro.build()