1.0.0-beta.2 • Published 4 years ago

@dxos/document v1.0.0-beta.2

Weekly downloads
-
License
GPL-3.0
Repository
github
Last release
4 years ago

Usage example

See this sync example.

API

Document

Extends: EventEmitter
Emits: update

new Document(id, doc)

Creates a new Document.

ParamTypeDescription
idstringdocument id
docY.Docdocument doc instance

document.id : string

Document id.

document.doc : Y.Doc

YJS Doc instance.

document.content : DocumentContent

Content representation.

document.versions : DocumentVersions

Versions for this document.

document.docState : Uint8Array

document.doc encoded as YJS update.

document.doc

Sets YJS document

ParamTypeDescription
docY.DocYJS document

document.init()

Initialize current doc. On events.

document.destroy()

Destroy current doc. Off events.

document.clone() ⇒ Document

Clone this document and return a new one.

document.applyUpdate(update, origin)

ParamType
updateUint8Array
originany

document.updateDiff(otherDoc) ⇒ Uint8Array

Computes differences between doc states and return diff as update.

Returns: Uint8Array - diff update.

ParamTypeDescription
otherDocDocumentDocument to compare.

document.equals(otherDocument)

ParamType
otherDocumentDocument

document.transact(fn, origin)

Creates a transaction in wich the function fn will be executed

ParamTypeDescription
fnfunctionFunction to execute in a transaction
originanyOrigin for this transaction

"update" (data, documentContent)

ParamTypeDescription
dataobject
data.eventsArray.<Y.Event>list of events for this update.
data.transactionY.Transactiontransaction for this update.
documentContentDocumentContentDocumentContent updated.

"update" (data, document)

ParamTypeDescription
dataobject
data.updateUint8ArrayUpdate applied.
data.originanyOrigin for this update.
documentDocumentDocument updated.

Document.encode(document) ⇒ Uint8Array

Encode a Document instance.

Returns: Uint8Array - encoded document

ParamType
documentDocument

Document.decode(encodedDocument) ⇒ Document

Decodes an encoded Document instance.

Returns: Document - document

ParamType
encodedDocumentUint8Array

DocumentContent

DocumentContent class for content

Extends: EventEmitter
Emits: DocumentContent#event:update

new DocumentContent(document)

Creates a DocumentContent for a Document instance.

ParamTypeDescription
documentDocumentdocument for this content

documentContent.document : Document

Document for this content.

documentContent.xmlFragment : Y.XmlFragment

Y.XmlFragment content

documentContent.length : number

Content length.

documentContent.init()

Initialize content. On events.

documentContent.destroy()

Destroy current content. Off events.

documentContent.equals(otherContent) ⇒ boolean

Compares two DocumentContent instances.

Returns: boolean - same

ParamType
otherContentDocumentContent

documentContent.insert(index, content, origin)

Inserts new content at an index.

ParamTypeDefaultDescription
indexnumberThe index to insert content at
contentArray.<(YXmlElement|YXmlText)>The array of content
originobject{}Origin extra data for transaction

documentContent.delete(index, length, origin)

Deletes elements starting from an index.

ParamTypeDefaultDescription
indexnumberIndex at which to start deleting elements
lengthnumber1The number of elements to remove. Defaults to 1
originobject{}Origin extra data for transaction

documentContent.toString() ⇒ string

Get the string representation of this content.

Returns: string - The string representation of this content.

documentContent.fromMarkdown(markdown) ⇒ Document

Set current content based on markdown. Current content will be replaced.

Returns: Document - document

ParamType
markdownstring

documentContent.toMarkdown() ⇒ string

Markdown representation of this content.

Returns: string - Content as Markdown

documentContent.toHtml() ⇒ string

HTML representation of this content.

Returns: string - Content as HTML

DocumentVersions

DocumentVersions class for document

documentVersions.document : Document

Document for this content.

documentVersions.versions : Object.<string, version>

Available versions.

documentVersions.currentVersionId : string

Current version id for documentVersions.document.

documentVersions.current : version

Current version for document.

documentVersions.count : number

Versions count.

documentVersions.currentVersionId

Sets current version id.

ParamTypeDescription
currentVersionIdstringid for current version.

documentVersions.init()

Initialize versions. On events.

documentVersions.destroy()

Destroy current versions. Off events.

documentVersions.create(name, origin) ⇒ version

Creates and sets a new version as current. Current version will be freezed.

Returns: version - Created and current version.

ParamTypeDefaultDescription
namestringName for new version.
originobject{}Origin extra data for transaction

documentVersions.restore(versionId, origin) ⇒ version

Restore #documentVersions.document to a previous version.

Returns: version - Restored version data.

ParamTypeDefaultDescription
versionIdstringdesired id version to restore.
originobject{}Origin extra data for transaction