Skip to content

BlockSuite API Documentation / @blocksuite/store / BlockSuiteDoc

Class: BlockSuiteDoc ​

A Yjs instance handles the state of shared data.

Contents ​

Extends ​

Constructors ​

new BlockSuiteDoc(opts) ​

new BlockSuiteDoc(opts?): BlockSuiteDoc

Parameters ​

• opts?: DocOpts

configuration

Returns ​

BlockSuiteDoc

Inherited from ​

@blocksuite/store.Y.Doc.constructor

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:20

Properties ​

_item ​

_item: null | Item

If this document is a subdocument - a document integrated into another document - then _item is defined.

Inherited from ​

@blocksuite/store.Y.Doc._item

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:47


_observers ​

_observers: Map<string, any>

Some desc.

Inherited from ​

@blocksuite/store.Y.Doc._observers

Source ​

node_modules/.pnpm/lib0@0.2.88/node_modules/lib0/observable.d.ts:58


_spaces ​

private _spaces: Map<Doc>

Source ​

packages/store/src/yjs/doc.ts:13


_transaction ​

_transaction: null | Transaction

Inherited from ​

@blocksuite/store.Y.Doc._transaction

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:34


_transactionCleanups ​

_transactionCleanups: Transaction[]

Inherited from ​

@blocksuite/store.Y.Doc._transactionCleanups

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:38


autoLoad ​

autoLoad: boolean

Inherited from ​

@blocksuite/store.Y.Doc.autoLoad

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:49


clientID ​

clientID: number

Inherited from ​

@blocksuite/store.Y.Doc.clientID

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:23


collectionid ​

collectionid: null | string

Inherited from ​

@blocksuite/store.Y.Doc.collectionid

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:25


gc ​

gc: boolean

Inherited from ​

@blocksuite/store.Y.Doc.gc

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:21


gcFilter ​

gcFilter: (arg0) => boolean

Parameters ​

• arg0: Item

Returns ​

boolean

Inherited from ​

@blocksuite/store.Y.Doc.gcFilter

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:22


guid ​

guid: string

Inherited from ​

@blocksuite/store.Y.Doc.guid

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:24


isLoaded ​

isLoaded: boolean

This is set to true when the persistence provider loaded the document from the database or when the sync event fires. Note that not all providers implement this feature. Provider authors are encouraged to fire the load event when the doc content is loaded from the database.

Inherited from ​

@blocksuite/store.Y.Doc.isLoaded

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:57


isSynced ​

isSynced: boolean

This is set to true when the connection provider has successfully synced with a backend. Note that when using peer-to-peer providers this event may not provide very useful. Also note that not all providers implement this feature. Provider authors are encouraged to fire the sync event when the doc has been synced (with true as a parameter) or if connection is lost (with false as a parameter).

Inherited from ​

@blocksuite/store.Y.Doc.isSynced

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:65


meta ​

meta: any

Inherited from ​

@blocksuite/store.Y.Doc.meta

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:50


share ​

share: Map<string, AbstractType<YEvent<any>>>

Inherited from ​

@blocksuite/store.Y.Doc.share

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:29


shouldLoad ​

shouldLoad: boolean

Inherited from ​

@blocksuite/store.Y.Doc.shouldLoad

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:48


store ​

store: StructStore

Inherited from ​

@blocksuite/store.Y.Doc.store

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:30


subdocs ​

subdocs: Set<Doc>

Inherited from ​

@blocksuite/store.Y.Doc.subdocs

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:42


whenLoaded ​

whenLoaded: Promise<any>

Promise that resolves once the document has been loaded from a presistence provider.

Inherited from ​

@blocksuite/store.Y.Doc.whenLoaded

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:69


whenSynced ​

whenSynced: Promise<any>

Inherited from ​

@blocksuite/store.Y.Doc.whenSynced

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:70

Accessors ​

spaces ​

get spaces(): Map<Doc>

Returns ​

Map<Doc>

Source ​

packages/store/src/yjs/doc.ts:15

Methods ​

destroy() ​

destroy(): void

Returns ​

void

Inherited from ​

@blocksuite/store.Y.Doc.destroy

Source ​

node_modules/.pnpm/lib0@0.2.88/node_modules/lib0/observable.d.ts:84


emit() ​

emit(name, args): void

Emit a named event. All registered event listeners that listen to the specified name will receive the event.

Parameters ​

• name: string

The event name.

• args: any[]

The arguments that are applied to the event listener.

Returns ​

void

Inherited from ​

@blocksuite/store.Y.Doc.emit

Todo ​

This should catch exceptions

Source ​

node_modules/.pnpm/lib0@0.2.88/node_modules/lib0/observable.d.ts:83


get() ​

get(name, TypeConstructor?): AbstractType<any>

Define a shared data type.

Multiple calls of y.get(name, TypeConstructor) yield the same result and do not overwrite each other. I.e. y.define(name, Y.Array) === y.define(name, Y.Array)

After this method is called, the type is also available on y.share.get(name).

Best Practices: Define all types right after the Yjs instance is created and store them in a separate object. Also use the typed methods getText(name), getArray(name), ..

Parameters ​

• name: string

• TypeConstructor?: Function

The constructor of the type definition. E.g. Y.Text, Y.Array, Y.Map, ...

Returns ​

AbstractType<any>

The created type. Constructed with TypeConstructor

Inherited from ​

@blocksuite/store.Y.Doc.get

Example ​

ts
const y = new Y(..)
  const appState = {
    document: y.getText('document')
    comments: y.getArray('comments')
  }

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:121


getArray() ​

getArray<T_1>(name?): Array<T_1>

Type parameters ​

• T_1

Parameters ​

• name?: string

Returns ​

Array<T_1>

Inherited from ​

@blocksuite/store.Y.Doc.getArray

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:129


getArrayProxy() ​

getArrayProxy<Key, Value>(key): Value

Type parameters ​

• Key extends string

• Value extends unknown[] = never

Parameters ​

• key: Key

Returns ​

Value

Source ​

packages/store/src/yjs/doc.ts:46


getMap() ​

getMap<T_2>(name?): Map<T_2>

Type parameters ​

• T_2

Parameters ​

• name?: string

Returns ​

Map<T_2>

Inherited from ​

@blocksuite/store.Y.Doc.getMap

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:144


getMapProxy() ​

getMapProxy<Key, Value>(key): Value

Type parameters ​

• Key extends string

• Value extends Record<string, unknown> = never

Parameters ​

• key: Key

Returns ​

Value

Source ​

packages/store/src/yjs/doc.ts:33


getSubdocGuids() ​

getSubdocGuids(): Set<string>

Returns ​

Set<string>

Inherited from ​

@blocksuite/store.Y.Doc.getSubdocGuids

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:80


getSubdocs() ​

getSubdocs(): Set<Doc>

Returns ​

Set<Doc>

Inherited from ​

@blocksuite/store.Y.Doc.getSubdocs

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:79


getText() ​

getText(name?): Text

Parameters ​

• name?: string

Returns ​

Text

Inherited from ​

@blocksuite/store.Y.Doc.getText

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:136


getXmlFragment() ​

getXmlFragment(name?): XmlFragment

Parameters ​

• name?: string

Returns ​

XmlFragment

Inherited from ​

@blocksuite/store.Y.Doc.getXmlFragment

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:151


load() ​

load(): void

Notify the parent document that you request to load data into this subdocument (if it is a subdocument).

load() might be used in the future to request any provider to load the most current data.

It is safe to call load() multiple times.

Returns ​

void

Inherited from ​

@blocksuite/store.Y.Doc.load

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:78


off() ​

off(name, f): void

Parameters ​

• name: string

• f: Function

Returns ​

void

Inherited from ​

@blocksuite/store.Y.Doc.off

Source ​

node_modules/.pnpm/lib0@0.2.88/node_modules/lib0/observable.d.ts:73


on() ​

on(eventName, f): void

Parameters ​

• eventName: string

• f: (...args) => any

Returns ​

void

Inherited from ​

@blocksuite/store.Y.Doc.on

Source ​

node_modules/.pnpm/yjs@13.6.10/node_modules/yjs/dist/src/utils/Doc.d.ts:167


once() ​

once(name, f): void

Parameters ​

• name: string

• f: Function

Returns ​

void

Inherited from ​

@blocksuite/store.Y.Doc.once

Source ​

node_modules/.pnpm/lib0@0.2.88/node_modules/lib0/observable.d.ts:68


toJSON() ​

toJSON(): Record<string, any>

Converts the entire document into a js object, recursively traversing each yjs type Doesn't log types that have not been defined (using ydoc.getType(..)).

Returns ​

Record<string, any>

Overrides ​

@blocksuite/store.Y.Doc.toJSON

Deprecated ​

Do not use this method and rather call toJSON directly on the shared types.

Source ​

packages/store/src/yjs/doc.ts:20


transact() ​

transact<T>(f, origin?): T

Changes that happen inside of a transaction are bundled. This means that the observer fires after the transaction is finished and that all changes that happened inside of the transaction are sent as one message to the other peers.

Type parameters ​

• T

Parameters ​

• f: (arg0) => T

The function that should be executed as a transaction

• origin?: string | number

Origin of who started the transaction. Will be stored on transaction.origin

Returns ​

T

T

Overrides ​

@blocksuite/store.Y.Doc.transact

Source ​

packages/store/src/yjs/doc.ts:56


Generated using typedoc-plugin-markdown and TypeDoc