The list of spaces in the Roomy instance.
Checks whether the given wrapper type matches the this entity.
Register a callback that will be run when the entity is committed.
A function that may be called to unregister the callback.
Static
initCreate a Roomy instance.
You must first construct a Leaf Peer
and configure it's storage backend
and syncer implementations before constructing the Roomy instance.
The catalogId
ID of the entity that will be used to store the user's list of
joined spaces, preferences, etc.
Static
matchesChecks whether the given entity matches this wrapper type.
The default implementation is to return true
for every entity, but some wrappers will
override it to check for the existence of certain marker components.
The string entity ID.
Commit any changes made to the entity.
Important: You must call commit after making changes in order for those changes to be immediately applied, reacted to, and synced to network and/or storage.
Create a new entity of the given type.
This can be used to create a new Entity
for any type that implements
EntityWrapper
.
const roomy = await Roomy.init(peer, catalogId);
const space = roomy.create(Space);
Note: This method is inherited from
EntityWrapper
on all entity types, and it doesn't matter which type you callcreate()
on, they are all equivalent.
Open an existing Entity
using it's ID.
You provide an EntityWrapper
type like Space
or Message
that will be wrapped around the entity.
The underlying Leaf Entity
.
The leaf peer instance.
Cast from one EntityWrapper
type to another.
Returns undefined
if EntityWrapper#matches
returns false
for the given
constructor type.
You will not usually need to cast entity types to other ones, but it can be useful in some
situations, where you would like to use another EntityWrapper
types's accessors.
A roomy instance.
Contains everything necessary to interact with Roomy data