type of data the ChildModel contains.
Optional
hasDelay in milliseconds before model data actually unloaded after call to Model.unload
Static
INITSAdds a document to the collection, under an id subpath corresponding
to either the document's id
property if present, or else a new randomly
generated id.
If a callback is provided, it's called when the write is committed or fails.
Document to add
Optional
cb: ValueCallback<string>Optional callback
Adds a document to the collection, under an id subpath corresponding
to either the document's id
property if present, or else a new randomly
generated id.
If a callback is provided, it's called when the write is committed or fails.
Optional Collection under which to add the document
Document to add
Optional
cb: ValueCallback<string>Optional callback
Returns a child model where ShareDB operations are always composed.
Returns a ChildModel scoped to the root path.
Returns a ChildModel scoped to a relative subpath under this model's path.
Creates a new child model with a specific named data-loading context. The child model has the same scoped path as this model.
Contexts are used to track counts of fetches and subscribes, so that all data relating to a context can be unloaded all at once, without having to manually track loaded data.
Contexts are in a global namespace for each root model, so calling
model.context(contextId)
from two different places will return child
models that both refer to the same context.
context id
Optional
cb: ErrorCallbackOptional
cb: ErrorCallbackOptional
cb: ErrorCallbackOptional
cb: ErrorCallbackDeletes the value at this relative subpath.
If a callback is provided, it's called when the write is committed or fails.
the old value at the path
Deletes the value at this model's path.
If a callback is provided, it's called when the write is committed or fails.
Optional
cb: Callbackthe old value at the path
Optional
subpath: PathCall the function with the values at the input paths, returning the value
on completion. Unlike start
, this only occurs once and does not create
a listener for updating based on changes.
The function should be a pure function - it should always return the same result given the same inputs, and it should be side-effect free.
Retrieve data from the server, loading it into the model.
Items to fetch
Optional
cb: ErrorCallbackCallback called when operation completed
Retrieve data from the server, loading it into the model.
Item to fetch
Optional
cb: ErrorCallbackCallback called when operation completed
Retrieve data from the server, loading it into the model.
Optional
cb: ErrorCallbackCallback called when operation completed
Retrieve data from the server, loading it into the model.
Name of colleciton to load item to
Id of doc to load
Optional
callback: ErrorCallbackCallback called when operation completed
Promised version of Model.fetch. Instead of a callback, returns a promise that is resolved when operation completed
Promised version of Model.fetch. Instead of a callback, returns a promise that is resolved when operation completed
Promised version of Model.fetch. Instead of a callback, returns a promise that is resolved when operation completed
Creates a live-updating list from items in an object, which results in automatically updating as the input items change.
Path pointing to an object or array. The path's value is retrieved via model.get(), and each item checked against filter function
Other parameters can be set in the model, and the filter function will be re-evaluated when these parameters change as well.
skip - The number of first results to skip limit - The maximum number of results. A limit of zero is equivalent to no limit.
A function or the name of a function defined via model.fn(). The function should have the arguments function(item, key, object, additionalInputs...)
Defines a named reactive function.
It's not recommended to use this in most cases. Instead, to share reactive functions,
have the components import a shared function to pass to model.start
.
The use of named functions is deprecated. Instead, to share a reactive function, you should export it and then require/import it into each file that needs to use it.
Gets the value located at this model's path.
If no value exists at the path, this returns undefined
.
Note: The value is returned by reference, and object values should not be directly modified - use the Model mutator methods instead. The TypeScript compiler will enforce no direct modifications, but there are no runtime guards, which means JavaScript source code could still improperly make direct modifications.
Gets the value located at a relative subpath.
If no value exists at the path, this returns undefined
.
Note: The value is returned by reference, and object values should not be directly modified - use the Model mutator methods instead. The TypeScript compiler will enforce no direct modifications, but there are no runtime guards, which means JavaScript source code could still improperly make direct modifications.
Optional
subpath: PathGets a shallow copy of the value located at this model's path or a relative subpath.
If no value exists at the path, this returns undefined
.
Gets value at the path if not nullish, otherwise returns provided default value
Gets the value located at this model's path or a relative subpath.
If no value exists at the path, or the value is nullish (null or undefined), this will throw an error.
Gets array of values of collection at this model's path or relative subpath
If no values exist at subpath, an empty array is returned
Optional
subpath: PathOptional
value: numberOptional
value: numberOptional
cb: ErrorCallbackOptional
cb: ErrorCallbackCheck if subpath is a PathLike
boolean
Optional
cb: ErrorCallbackOptional
cb: ErrorCallbackOptional
cb: ErrorCallbackOptional
cb: ErrorCallbackListen to Racer events matching a certain path or path pattern.
pathPattern
is a path pattern that will filter emitted events, calling
the handler function only when a mutator matches the pattern.
Path patterns support a single segment wildcard '*'
anywhere in a path,
and a multi-segment wildcard '**'
at the end of the path. The
multi-segment wildcard alone '**'
matches all paths.
Examples of path patterns:
'notes.abc-123.author'
- Trigger on a direct modification to a
specific note's author
. Will not trigger if a sub-property of the
author is modified or if the entire note is replaced.notes.*.author
- Trigger on a direct modification to any note's
author
. Will not trigger if a sub-property of the author is modified
or if an entire note is replaced.notes.*.author.**
- Trigger on a modification to any note's author
or any sub-property of author
. Will not trigger if an entire note is
replaced.Listen to Racer events matching a certain path or path pattern, removing the listener after it gets triggered once.
Get full path to given subpath
Optional
subpath: PathLikePathLike subpath
Returns a child model where ShareDB operations are never composed.
Push a value to a model array
the length of the array
Push a value to a model array at subpath
Optional
cb: ErrorCallbackthe length of the array
Creates a reference for this model pointing to another path to
. Like a
symlink, any reads/writes on this to
ref will work as if they were done on
path
directly.
Location that the reference points to
a model scoped to path
Creates a reference at path
pointing to another path to
. Like a
symlink, any reads/writes on path
will work as if they were done on
path
directly.
Location at which to create the reference. This must be
under a local collection, typically '_page'
or a component model.
Location that the reference points to
Optional
options: RefOptionsa model scoped to path
Optional
options: RefListOptionsOptional
options: RefListOptionsCreates an array at outputPath
that consists of references to all the
objects at collectionPath
that have ids matching the ids at idsPath
.
The array is automatically updated based on changes to the input paths.
Path at which to create the ref list. This must be
under a local collection, typically '_page'
or a component model.
Path to a Racer collection or a collection-like
object, where each id string key maps to an object value with matching
id
property.
Path to an array of string ids
Optional
options: RefListOptionsOptional
Removes one or more items from the array at this model's path or a relative subpath.
If a callback is provided, it's called when the write is committed or fails.
array of the removed items
Optional
howMany: numberOptional
cb: CallbackRemoves a model reference.
Location of the reference to remove
Returns a ChildModel scoped to the root path.
ChildModel
Returns a ChildModel scoped to an absolute path.
Path of GhildModel to scope to
ChildModel
Optional
cb: ErrorCallbackOptional
cb: ErrorCallbackSets the array value at this model's path or a relative subpath, based on
a strict equality comparison (===
) between array items.
This only issues array insert, remove, and move operations.
If a callback is provided, it's called when the write is committed or fails.
the value previously at the path
Sets the array value at this model's path or a relative subpath, based on a deep equality comparison between array items.
This only issues array insert, remove, and move operations. Unlike
setDiffDeep
, this will never issue fine-grained ops inside of array
items.
If a callback is provided, it's called when the write is committed or fails.
the value previously at the path
Sets the value at this model's path or a relative subpath, if different
from the current value based on a strict equality comparison (===
).
If a callback is provided, it's called when the write is committed or fails.
the value previously at the path
Sets the value at this model's path or a relative subpath, if different from the current value based on a recursive deep equal comparison.
This attempts to issue fine-grained ops on subpaths if possible.
If a callback is provided, it's called when the write is committed or fails.
the value previously at the path
Optional
cb: ErrorCallbackOptional
cb: ErrorCallbackOptional
cb: ErrorCallbackOptional
cb: ErrorCallbackOptional
subpath: PathOptional
cb: ErrorCallbackCreates a live-updating list from items in an object, which results in automatically updating as the input items change. The results are sorted by ascending order (default) or by a provided 'fn' parameter.
Path pointing to an object or array. The path's value is retrieved via model.get(), and each item checked against filter function
Other parameters can be set in the model, and the filter function will be re-evaluated when these parameters change as well.
skip - The number of first results to skip limit - The maximum number of results. A limit of zero is equivalent to no limit.
A function or the name of a function defined via model.fn().
Call the function with the values at the input paths, writing the return value to the output path. In addition, whenever any of the input values change, re-invoke the function and set the new return value to the output path.
The function should be a pure function - it should always return the same result given the same inputs, and it should be side-effect free.
Optional
cb: ErrorCallbackOptional
cb: ErrorCallbackOptional
cb: ErrorCallbackOptional
cb: ErrorCallbackOptional
cb: ErrorCallbackRetrieve data from the server, loading it into the model. In addition, subscribe to the items, such that updates from any other client will automatically get reflected in this client's model.
Any item that's already subscribed will not result in a network call.
Item to subscribe to
Optional
cb: ErrorCallbackCallback called when operation completed
Retrieve data from the server, loading it into the model. In addition, subscribe to the items, such that updates from any other client will automatically get reflected in this client's model.
Any item that's already subscribed will not result in a network call.
Item to subscribe to
Optional
cb: ErrorCallbackCallback called when operation completed
Retrieve data from the server, loading it into the model. In addition, subscribe to the items, such that updates from any other client will automatically get reflected in this client's model.
Any item that's already subscribed will not result in a network call.
Optional
cb: ErrorCallbackCallback called when operation completed
Optional
callback: ErrorCallbackPromised version of Model.subscribe. Instead of a callback, returns a promise that is resolved when operation completed
Items to subscribe to
Promised version of Model.subscribe. Instead of a callback, returns a promise that is resolved when operation completed
Item to subscribe to
Promised version of Model.subscribe. Instead of a callback, returns a promise that is resolved when operation completed
Optional
cb: ErrorCallbackOptional
cb: ErrorCallbackThe reverse of Model.fetch, marking the items as no longer needed in the model.
Items to unfetch
Optional
cb: ErrorCallbackOptional Called after operation completed
The reverse of Model.fetch, marking the items as no longer needed in the model.
Item to unfetch
Optional
cb: ErrorCallbackOptional Called after operation completed
The reverse of Model.fetch, marking the items as no longer needed in the model.
Optional
cb: ErrorCallbackOptional Called after operation completed
Promised unfetch. See Model.unfetch. Instead of a callback, returns a promise that is resolved when operation completed
Items to unfetch
Promise
Promised unfetch. See Model.unfetch. Instead of a callback, returns a promise that is resolved when operation completed
Item to unfetch
Promise
Promised Model.unfetch. Instead of taking a callback, returns a promise that is resolved when operation completed
Promise
Optional
cb: ErrorCallbackThe reverse of Model.subscribe, marking the items as no longer needed in the model.
The items to unsubscribe
Optional
cb: ErrorCallbackOptional Called after operation completed
The reverse of Model.subscribe, marking the items as no longer needed in the model.
The item to unsubscribe
Optional
cb: ErrorCallbackOptional Called after operation completed
The reverse of Model.subscribe, marking the items as no longer needed in the model.
Optional
cb: ErrorCallbackOptional Called after operation completed
Optional
cb: ErrorCallback
Model for some subset of the data