Skip to content

BlockSuite API Documentation / @blocksuite/store / BlockSuiteDoc

Class: BlockSuiteDoc

A Yjs instance handles the state of shared data.

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.11/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.11/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/framework/store/src/yjs/doc.ts:13


_transaction

_transaction: null | Transaction

Inherited from

@blocksuite/store.Y.Doc._transaction

Source

node_modules/.pnpm/yjs@13.6.11/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.11/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.11/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.11/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.11/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.11/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.11/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.11/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.11/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.11/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.11/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.11/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.11/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.11/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.11/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.11/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.11/node_modules/yjs/dist/src/utils/Doc.d.ts:70

Accessors

spaces

get spaces(): Map<Doc>

Returns

Map<Doc>

Source

packages/framework/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.11/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.11/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/framework/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.11/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/framework/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.11/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.11/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.11/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.11/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.11/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.11/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/framework/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/framework/store/src/yjs/doc.ts:56


Generated using TypeDoc and typedoc-plugin-markdown.