From faf8025adfd9b438024197dd16d3c43f6c39cdae Mon Sep 17 00:00:00 2001 From: Jared Pereira Date: Sun, 31 Aug 2025 19:34:09 +0900 Subject: [PATCH] remove ywasm --- public/wasm/ywasm_bg.wasm | Bin 1172866 -> 0 bytes src/ywasm/LICENSE | 23 - src/ywasm/README.md | 36 - src/ywasm/package.json | 27 - src/ywasm/ywasm.d.ts | 1537 ------------ src/ywasm/ywasm.js | 5022 ------------------------------------- 6 files changed, 6645 deletions(-) delete mode 100644 public/wasm/ywasm_bg.wasm delete mode 100644 src/ywasm/LICENSE delete mode 100644 src/ywasm/README.md delete mode 100644 src/ywasm/package.json delete mode 100644 src/ywasm/ywasm.d.ts delete mode 100644 src/ywasm/ywasm.js diff --git a/public/wasm/ywasm_bg.wasm b/public/wasm/ywasm_bg.wasm deleted file mode 100644 index d5577ee335cfd81ad4df330bc97d75112f757ea7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1172866 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�eU7 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

84TbBd29;c#ug}~kQ!J@Op2f;7O0!X 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

nSZ&x$~u^61}I~0vTEDl9u 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�k6Q&>3`UB|)B}h_A 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 diff --git a/src/ywasm/LICENSE b/src/ywasm/LICENSE deleted file mode 100644 index 50afe80d..00000000 --- a/src/ywasm/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2020 - - Kevin Jahns . - - Bartosz Sypytkowski . - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/src/ywasm/README.md b/src/ywasm/README.md deleted file mode 100644 index f287a7e0..00000000 --- a/src/ywasm/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# Ywasm - -This project is a wrapper around [Yrs](../yrs/README.md) and targets Web Assembly bindings. - -It's a library used on collaborative document editing using Conflict-free Replicated Data Types. -This enables to provide a shared document editing experience on a client devices without explicit requirement for hosting a single server - CRDTs can resolve potential update conflicts on their own with no central authority - as well as provide first-class offline editing capabilities, where document replicas are modified without having connection to each other, and then synchronize automatically once such connection is enabled. - -## [Documentation](https://docs.rs/ywasm/) - -## Example - -```js -import * as Y from 'ywasm'; - -const doc = new Y.YDoc() -const text = doc.getText('name') - -// append text to our collaborative document -text.insert(0, 'hello world', { bold: true }) - -// simulate update with remote peer -const remoteDoc = new Y.YDoc() -const remoteText = remoteDoc.getText('name') - -// in order to exchange data with other documents -// we first need to create a state vector -const remoteSV = Y.encodeStateVector(remoteDoc) -// now compute a differential update based on remote document's state vector -const update = Y.encodeStateAsUpdate(doc, remoteSV) -// both update and state vector are serializable, we can pass them over the wire -// now apply update to a remote document -Y.applyUpdate(remoteDoc, update) - -const str = remoteText.toString() -console.log(str) -``` \ No newline at end of file diff --git a/src/ywasm/package.json b/src/ywasm/package.json deleted file mode 100644 index c81ee890..00000000 --- a/src/ywasm/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "ywasm", - "collaborators": [ - "Kevin Jahns ", - "Bartosz Sypytkowski " - ], - "description": "High performance implementation of the Yjs CRDT", - "version": "0.24.0", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/yjs/y-crdt/" - }, - "files": [ - "ywasm_bg.wasm", - "ywasm.js", - "ywasm.d.ts" - ], - "main": "ywasm.js", - "homepage": "https://github.com/yjs/y-crdt/", - "types": "ywasm.d.ts", - "keywords": [ - "crdt", - "wasm", - "yrs" - ] -} \ No newline at end of file diff --git a/src/ywasm/ywasm.d.ts b/src/ywasm/ywasm.d.ts deleted file mode 100644 index 7a3824a5..00000000 --- a/src/ywasm/ywasm.d.ts +++ /dev/null @@ -1,1537 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * When called will call console log errors whenever internal panic is called from within - * WebAssembly module. - */ -export function setPanicHook(): void; -/** - * Encodes a state vector of a given ywasm document into its binary representation using lib0 v1 - * encoding. State vector is a compact representation of updates performed on a given document and - * can be used by `encode_state_as_update` on remote peer to generate a delta update payload to - * synchronize changes between peers. - * - * Example: - * - * ```javascript - * import {YDoc, encodeStateVector, encodeStateAsUpdate, applyUpdate} from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localSV = encodeStateVector(localDoc) - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteDelta = encodeStateAsUpdate(remoteDoc, localSV) - * - * applyUpdate(localDoc, remoteDelta) - * ``` - */ -export function encodeStateVector(doc: YDoc): Uint8Array; -/** - * Returns a string dump representation of a given `update` encoded using lib0 v1 encoding. - */ -export function debugUpdateV1(update: Uint8Array): string; -/** - * Returns a string dump representation of a given `update` encoded using lib0 v2 encoding. - */ -export function debugUpdateV2(update: Uint8Array): string; -/** - * Merges a sequence of updates (encoded using lib0 v1 encoding) together, producing another - * update (also lib0 v1 encoded) in the result. Returned binary is a combination of all input - * `updates`, compressed. - * - * Returns an error whenever any of the input updates couldn't be decoded. - */ -export function mergeUpdatesV1(updates: Array): Uint8Array; -/** - * Merges a sequence of updates (encoded using lib0 v2 encoding) together, producing another - * update (also lib0 v2 encoded) in the result. Returned binary is a combination of all input - * `updates`, compressed. - * - * Returns an error whenever any of the input updates couldn't be decoded. - */ -export function mergeUpdatesV2(updates: Array): Uint8Array; -/** - * Encodes all updates that have happened since a given version `vector` into a compact delta - * representation using lib0 v1 encoding. If `vector` parameter has not been provided, generated - * delta payload will contain all changes of a current ywasm document, working effectivelly as its - * state snapshot. - * - * Example: - * - * ```javascript - * import {YDoc, encodeStateVector, encodeStateAsUpdate, applyUpdate} from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localSV = encodeStateVector(localDoc) - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteDelta = encodeStateAsUpdate(remoteDoc, localSV) - * - * applyUpdate(localDoc, remoteDelta) - * ``` - */ -export function encodeStateAsUpdate(doc: YDoc, vector?: Uint8Array | null): Uint8Array; -/** - * Encodes all updates that have happened since a given version `vector` into a compact delta - * representation using lib0 v2 encoding. If `vector` parameter has not been provided, generated - * delta payload will contain all changes of a current ywasm document, working effectivelly as its - * state snapshot. - * - * Example: - * - * ```javascript - * import {YDoc, encodeStateVector, encodeStateAsUpdate, applyUpdate} from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localSV = encodeStateVector(localDoc) - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteDelta = encodeStateAsUpdateV2(remoteDoc, localSV) - * - * applyUpdate(localDoc, remoteDelta) - * ``` - */ -export function encodeStateAsUpdateV2(doc: YDoc, vector?: Uint8Array | null): Uint8Array; -/** - * Applies delta update generated by the remote document replica to a current document. This - * method assumes that a payload maintains lib0 v1 encoding format. - * - * Example: - * - * ```javascript - * import {YDoc, encodeStateVector, encodeStateAsUpdate, applyUpdate} from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localSV = encodeStateVector(localDoc) - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteDelta = encodeStateAsUpdate(remoteDoc, localSV) - * - * applyUpdateV2(localDoc, remoteDelta) - * ``` - */ -export function applyUpdate(doc: YDoc, update: Uint8Array, origin: any): void; -/** - * Applies delta update generated by the remote document replica to a current document. This - * method assumes that a payload maintains lib0 v2 encoding format. - * - * Example: - * - * ```javascript - * import {YDoc, encodeStateVector, encodeStateAsUpdate, applyUpdate} from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localSV = encodeStateVector(localDoc) - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteDelta = encodeStateAsUpdateV2(remoteDoc, localSV) - * - * applyUpdateV2(localDoc, remoteDelta) - * ``` - */ -export function applyUpdateV2(doc: YDoc, update: Uint8Array, origin: any): void; -export function snapshot(doc: YDoc): any; -export function equalSnapshots(snap1: any, snap2: any): boolean; -export function encodeSnapshotV1(snapshot: any): Uint8Array; -export function encodeSnapshotV2(snapshot: any): Uint8Array; -export function decodeSnapshotV2(snapshot: Uint8Array): any; -export function decodeSnapshotV1(snapshot: Uint8Array): any; -export function encodeStateFromSnapshotV1(doc: YDoc, snapshot: any): Uint8Array; -export function encodeStateFromSnapshotV2(doc: YDoc, snapshot: any): Uint8Array; -/** - * Retrieves a sticky index corresponding to a given human-readable `index` pointing into - * the shared `ytype`. Unlike standard indexes sticky indexes enables to track - * the location inside of a shared y-types, even in the face of concurrent updates. - * - * If association is >= 0, the resulting position will point to location **after** the referenced index. - * If association is < 0, the resulting position will point to location **before** the referenced index. - */ -export function createRelativePositionFromTypeIndex(ytype: any, index: number, assoc: number, txn: YTransaction | undefined): any; -/** - * Converts a sticky index (see: `createStickyIndexFromType`) into an object - * containing human-readable index. - */ -export function createAbsolutePositionFromRelativePosition(rpos: any, doc: YDoc): any; -/** - * Serializes sticky index created by `createStickyIndexFromType` into a binary - * payload. - */ -export function encodeRelativePosition(rpos: any): Uint8Array; -/** - * Deserializes sticky index serialized previously by `encodeStickyIndex`. - */ -export function decodeRelativePosition(bin: Uint8Array): any; -export function compareRelativePositions(a: any, b: any): boolean; -export function removeAwarenessStates(awareness: Awareness, clients: BigUint64Array): void; -export function encodeAwarenessUpdate(awareness: Awareness, clients: any): Uint8Array; -export function modifyAwarenessUpdate(update: Uint8Array, modify: Function): Uint8Array; -export function applyAwarenessUpdate(awareness: Awareness, update: Uint8Array, _origin: any): void; -export class Awareness { - free(): void; - constructor(doc: YDoc); - destroy(): void; - getLocalState(): any; - setLocalState(state: any): void; - setLocalStateField(key: string, value: any): void; - getStates(): Map; - on(event: string, callback: Function): void; - off(event: string, callback: Function): boolean; - readonly doc: YDoc; - readonly meta: Map; -} -/** - * A collection used to store data in an indexed sequence structure. This type is internally - * implemented as a double linked list, which may squash values inserted directly one after another - * into single list node upon transaction commit. - * - * Reading a root-level type as an YArray means treating its sequence components as a list, where - * every countable element becomes an individual entity: - * - * - JSON-like primitives (booleans, numbers, strings, JSON maps, arrays etc.) are counted - * individually. - * - Text chunks inserted by [Text] data structure: each character becomes an element of an - * array. - * - Embedded and binary values: they count as a single element even though they correspond of - * multiple bytes. - * - * Like all Yrs shared data types, YArray is resistant to the problem of interleaving (situation - * when elements inserted one after another may interleave with other peers concurrent inserts - * after merging all updates together). In case of Yrs conflict resolution is solved by using - * unique document id to determine correct and consistent ordering. - */ -export class YArray { - free(): void; - /** - * Creates a new preliminary instance of a `YArray` shared data type, with its state - * initialized to provided parameter. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - */ - constructor(items?: any[] | null); - /** - * Checks if current YArray reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - */ - alive(txn: YTransaction): boolean; - /** - * Returns a number of elements stored within this instance of `YArray`. - */ - length(txn: YTransaction | undefined): number; - /** - * Converts an underlying contents of this `YArray` instance into their JSON representation. - */ - toJson(txn: YTransaction | undefined): any; - /** - * Inserts a given range of `items` into this `YArray` instance, starting at given `index`. - */ - insert(index: number, items: any[], txn: YTransaction | undefined): void; - /** - * Appends a range of `items` at the end of this `YArray` instance. - */ - push(items: any[], txn: YTransaction | undefined): void; - /** - * Deletes a range of items of given `length` from current `YArray` instance, - * starting from given `index`. - */ - delete(index: number, length: number | null | undefined, txn: YTransaction | undefined): void; - /** - * Moves element found at `source` index into `target` index position. - */ - move(source: number, target: number, txn: YTransaction | undefined): void; - /** - * Returns an element stored under given `index`. - */ - get(index: number, txn: YTransaction | undefined): any; - quote(lower: number | null | undefined, upper: number | null | undefined, lower_open: boolean | null | undefined, upper_open: boolean | null | undefined, txn: YTransaction | undefined): YWeakLink; - /** - * Returns an iterator that can be used to traverse over the values stored withing this - * instance of `YArray`. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const doc = new YDoc() - * const array = doc.getArray('name') - * const txn = doc.beginTransaction() - * try { - * array.push(txn, ['hello', 'world']) - * for (let item of array.values(txn)) { - * console.log(item) - * } - * } finally { - * txn.free() - * } - * ``` - */ - values(txn: YTransaction | undefined): any; - /** - * Subscribes to all operations happening over this instance of `YArray`. All changes are - * batched and eventually triggered during transaction commit phase. - */ - observe(callback: Function): void; - unobserve(callback: Function): boolean; - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - */ - observeDeep(callback: Function): void; - unobserveDeep(callback: Function): boolean; - readonly type: number; - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - */ - readonly id: any; - /** - * Returns true if this is a preliminary instance of `YArray`. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - */ - readonly prelim: boolean; -} -/** - * Event generated by `YArray.observe` method. Emitted during transaction commit phase. - */ -export class YArrayEvent { - private constructor(); - free(): void; - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - */ - path(): any; - /** - * Returns a current shared type instance, that current event changes refer to. - */ - readonly target: any; - readonly origin: any; - /** - * Returns a list of text changes made over corresponding `YArray` collection within - * bounds of current transaction. These changes follow a format: - * - * - { insert: any[] } - * - { delete: number } - * - { retain: number } - */ - readonly delta: any; -} -/** - * A ywasm document type. Documents are most important units of collaborative resources management. - * All shared collections live within a scope of their corresponding documents. All updates are - * generated on per-document basis (rather than individual shared type). All operations on shared - * collections happen via [YTransaction], which lifetime is also bound to a document. - * - * Document manages so-called root types, which are top-level shared types definitions (as opposed - * to recursively nested types). - * - * A basic workflow sample: - * - * ```javascript - * import YDoc from 'ywasm' - * - * const doc = new YDoc() - * const txn = doc.beginTransaction() - * try { - * const text = txn.getText('name') - * text.push(txn, 'hello world') - * const output = text.toString(txn) - * console.log(output) - * } finally { - * txn.free() - * } - * ``` - */ -export class YDoc { - free(): void; - /** - * Creates a new ywasm document. If `id` parameter was passed it will be used as this document - * globally unique identifier (it's up to caller to ensure that requirement). Otherwise it will - * be assigned a randomly generated number. - */ - constructor(options: any); - /** - * Returns a new transaction for this document. Ywasm shared data types execute their - * operations in a context of a given transaction. Each document can have only one active - * transaction at the time - subsequent attempts will cause exception to be thrown. - * - * Transactions started with `doc.beginTransaction` can be released using `transaction.free` - * method. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * // helper function used to simplify transaction - * // create/release cycle - * YDoc.prototype.transact = callback => { - * const txn = this.transaction() - * try { - * return callback(txn) - * } finally { - * txn.free() - * } - * } - * - * const doc = new YDoc() - * const text = doc.getText('name') - * doc.transact(txn => text.insert(txn, 0, 'hello world')) - * ``` - */ - beginTransaction(origin: any): YTransaction; - /** - * Returns a `YText` shared data type, that's accessible for subsequent accesses using given - * `name`. - * - * If there was no instance with this name before, it will be created and then returned. - * - * If there was an instance with this name, but it was of different type, it will be projected - * onto `YText` instance. - */ - getText(name: string): YText; - /** - * Returns a `YArray` shared data type, that's accessible for subsequent accesses using given - * `name`. - * - * If there was no instance with this name before, it will be created and then returned. - * - * If there was an instance with this name, but it was of different type, it will be projected - * onto `YArray` instance. - */ - getArray(name: string): YArray; - /** - * Returns a `YMap` shared data type, that's accessible for subsequent accesses using given - * `name`. - * - * If there was no instance with this name before, it will be created and then returned. - * - * If there was an instance with this name, but it was of different type, it will be projected - * onto `YMap` instance. - */ - getMap(name: string): YMap; - /** - * Returns a `YXmlFragment` shared data type, that's accessible for subsequent accesses using - * given `name`. - * - * If there was no instance with this name before, it will be created and then returned. - * - * If there was an instance with this name, but it was of different type, it will be projected - * onto `YXmlFragment` instance. - */ - getXmlFragment(name: string): YXmlFragment; - on(event: string, callback: Function): void; - off(event: string, callback: Function): boolean; - /** - * Notify the parent document that you request to load data into this subdocument - * (if it is a subdocument). - */ - load(parent_txn: YTransaction | undefined): void; - /** - * Emit `onDestroy` event and unregister all event handlers. - */ - destroy(parent_txn: YTransaction | undefined): void; - /** - * Returns a list of sub-documents existings within the scope of this document. - */ - getSubdocs(txn: YTransaction | undefined): Array; - /** - * Returns a list of unique identifiers of the sub-documents existings within the scope of - * this document. - */ - getSubdocGuids(txn: YTransaction | undefined): Set; - /** - * Returns a list of all root-level replicated collections, together with their types. - * These collections can then be accessed via `getMap`/`getText` etc. methods. - * - * Example: - * ```js - * import * as Y from 'ywasm' - * - * const doc = new Y.YDoc() - * const ymap = doc.getMap('a') - * const yarray = doc.getArray('b') - * const ytext = doc.getText('c') - * const yxml = doc.getXmlFragment('d') - * - * const roots = doc.roots() // [['a',ymap], ['b',yarray], ['c',ytext], ['d',yxml]] - * ``` - */ - roots(txn: YTransaction | undefined): Array; - /** - * Evaluates a JSON path expression (see: https://en.wikipedia.org/wiki/JSONPath) on - * the document and returns an array of values matching that query. - * - * Currently, this method supports the following syntax: - * - `$` - root object - * - `@` - current object - * - `.field` or `['field']` - member accessor - * - `[1]` - array index (also supports negative indices) - * - `.*` or `[*]` - wildcard (matches all members of an object or array) - * - `..` - recursive descent (matches all descendants not only direct children) - * - `[start:end:step]` - array slice operator (requires positive integer arguments) - * - `['a', 'b', 'c']` - union operator (returns an array of values for each query) - * - `[1, -1, 3]` - multiple indices operator (returns an array of values for each index) - * - * At the moment, JSON Path does not support filter predicates. - */ - selectAll(json_path: string): Array; - /** - * Evaluates a JSON path expression (see: https://en.wikipedia.org/wiki/JSONPath) on - * the document and returns first value matching that query. - * - * Currently, this method supports the following syntax: - * - `$` - root object - * - `@` - current object - * - `.field` or `['field']` - member accessor - * - `[1]` - array index (also supports negative indices) - * - `.*` or `[*]` - wildcard (matches all members of an object or array) - * - `..` - recursive descent (matches all descendants not only direct children) - * - `[start:end:step]` - array slice operator (requires positive integer arguments) - * - `['a', 'b', 'c']` - union operator (returns an array of values for each query) - * - `[1, -1, 3]` - multiple indices operator (returns an array of values for each index) - * - * At the moment, JSON Path does not support filter predicates. - */ - selectOne(json_path: string): any; - readonly type: number; - /** - * Checks if a document is a preliminary type. It returns false, if current document - * is already a sub-document of another document. - */ - readonly prelim: boolean; - /** - * Returns a parent document of this document or null if current document is not sub-document. - */ - readonly parentDoc: YDoc | undefined; - /** - * Gets unique peer identifier of this `YDoc` instance. - */ - readonly id: number; - /** - * Gets globally unique identifier of this `YDoc` instance. - */ - readonly guid: string; - readonly shouldLoad: boolean; - readonly autoLoad: boolean; -} -/** - * Collection used to store key-value entries in an unordered manner. Keys are always represented - * as UTF-8 strings. Values can be any value type supported by Yrs: JSON-like primitives as well as - * shared data types. - * - * In terms of conflict resolution, [Map] uses logical last-write-wins principle, meaning the past - * updates are automatically overridden and discarded by newer ones, while concurrent updates made - * by different peers are resolved into a single value using document id seniority to establish - * order. - */ -export class YMap { - free(): void; - /** - * Creates a new preliminary instance of a `YMap` shared data type, with its state - * initialized to provided parameter. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - */ - constructor(init?: object | null); - /** - * Checks if current YMap reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - */ - alive(txn: YTransaction): boolean; - /** - * Returns a number of entries stored within this instance of `YMap`. - */ - length(txn: YTransaction | undefined): number; - /** - * Converts contents of this `YMap` instance into a JSON representation. - */ - toJson(txn: YTransaction | undefined): any; - /** - * Sets a given `key`-`value` entry within this instance of `YMap`. If another entry was - * already stored under given `key`, it will be overridden with new `value`. - */ - set(key: string, value: any, txn: YTransaction | undefined): void; - /** - * Removes an entry identified by a given `key` from this instance of `YMap`, if such exists. - */ - delete(key: string, txn: YTransaction | undefined): void; - /** - * Returns value of an entry stored under given `key` within this instance of `YMap`, - * or `undefined` if no such entry existed. - */ - get(key: string, txn: YTransaction | undefined): any; - link(key: string, txn: YTransaction | undefined): any; - /** - * Returns an iterator that can be used to traverse over all entries stored within this - * instance of `YMap`. Order of entry is not specified. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const doc = new YDoc() - * const map = doc.getMap('name') - * const txn = doc.beginTransaction() - * try { - * map.set(txn, 'key1', 'value1') - * map.set(txn, 'key2', true) - * - * for (let [key, value] of map.entries(txn)) { - * console.log(key, value) - * } - * } finally { - * txn.free() - * } - * ``` - */ - entries(txn: YTransaction | undefined): any; - /** - * Subscribes to all operations happening over this instance of `YMap`. All changes are - * batched and eventually triggered during transaction commit phase. - */ - observe(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observe` method. - */ - unobserve(callback: Function): boolean; - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - */ - observeDeep(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observeDeep` method. - */ - unobserveDeep(callback: Function): boolean; - readonly type: number; - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - */ - readonly id: any; - /** - * Returns true if this is a preliminary instance of `YMap`. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - */ - readonly prelim: boolean; -} -/** - * Event generated by `YMap.observe` method. Emitted during transaction commit phase. - */ -export class YMapEvent { - private constructor(); - free(): void; - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - */ - path(): any; - readonly origin: any; - /** - * Returns a current shared type instance, that current event changes refer to. - */ - readonly target: any; - /** - * Returns a list of key-value changes made over corresponding `YMap` collection within - * bounds of current transaction. These changes follow a format: - * - * - { action: 'add'|'update'|'delete', oldValue: any|undefined, newValue: any|undefined } - */ - readonly keys: any; -} -export class YSubdocsEvent { - private constructor(); - free(): void; - readonly added: Array; - readonly removed: Array; - readonly loaded: Array; -} -/** - * A shared data type used for collaborative text editing. It enables multiple users to add and - * remove chunks of text in efficient manner. This type is internally represented as a mutable - * double-linked list of text chunks - an optimization occurs during `YTransaction.commit`, which - * allows to squash multiple consecutively inserted characters together as a single chunk of text - * even between transaction boundaries in order to preserve more efficient memory model. - * - * `YText` structure internally uses UTF-8 encoding and its length is described in a number of - * bytes rather than individual characters (a single UTF-8 code point can consist of many bytes). - * - * Like all Yrs shared data types, `YText` is resistant to the problem of interleaving (situation - * when characters inserted one after another may interleave with other peers concurrent inserts - * after merging all updates together). In case of Yrs conflict resolution is solved by using - * unique document id to determine correct and consistent ordering. - */ -export class YText { - free(): void; - /** - * Creates a new preliminary instance of a `YText` shared data type, with its state initialized - * to provided parameter. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - */ - constructor(init?: string | null); - /** - * Checks if current YArray reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - */ - alive(txn: YTransaction): boolean; - /** - * Returns length of an underlying string stored in this `YText` instance, - * understood as a number of UTF-8 encoded bytes. - */ - length(txn: YTransaction | undefined): number; - /** - * Returns an underlying shared string stored in this data type. - */ - toString(txn: YTransaction | undefined): string; - /** - * Returns an underlying shared string stored in this data type. - */ - toJson(txn: YTransaction | undefined): any; - /** - * Inserts a given `chunk` of text into this `YText` instance, starting at a given `index`. - * - * Optional object with defined `attributes` will be used to wrap provided text `chunk` - * with a formatting blocks.`attributes` are only supported for a `YText` instance which - * already has been integrated into document store. - */ - insert(index: number, chunk: string, attributes: any, txn: YTransaction | undefined): void; - /** - * Inserts a given `embed` object into this `YText` instance, starting at a given `index`. - * - * Optional object with defined `attributes` will be used to wrap provided `embed` - * with a formatting blocks.`attributes` are only supported for a `YText` instance which - * already has been integrated into document store. - */ - insertEmbed(index: number, embed: any, attributes: any, txn: YTransaction | undefined): void; - /** - * Wraps an existing piece of text within a range described by `index`-`length` parameters with - * formatting blocks containing provided `attributes` metadata. This method only works for - * `YText` instances that already have been integrated into document store. - */ - format(index: number, length: number, attributes: any, txn: YTransaction | undefined): void; - /** - * Appends a given `chunk` of text at the end of current `YText` instance. - * - * Optional object with defined `attributes` will be used to wrap provided text `chunk` - * with a formatting blocks.`attributes` are only supported for a `YText` instance which - * already has been integrated into document store. - */ - push(chunk: string, attributes: any, txn: YTransaction | undefined): void; - /** - * Deletes a specified range of characters, starting at a given `index`. - * Both `index` and `length` are counted in terms of a number of UTF-8 character bytes. - */ - delete(index: number, length: number, txn: YTransaction | undefined): void; - quote(lower: number | null | undefined, upper: number | null | undefined, lower_open: boolean | null | undefined, upper_open: boolean | null | undefined, txn: YTransaction | undefined): YWeakLink; - /** - * Returns the Delta representation of this YText type. - */ - toDelta(snapshot: any, prev_snapshot: any, compute_ychange: Function | null | undefined, txn: YTransaction | undefined): Array; - applyDelta(delta: Array, txn: YTransaction | undefined): void; - /** - * Subscribes to all operations happening over this instance of `YText`. All changes are - * batched and eventually triggered during transaction commit phase. - */ - observe(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observe` method. - */ - unobserve(callback: Function): boolean; - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - */ - observeDeep(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observeDeep` method. - */ - unobserveDeep(callback: Function): boolean; - readonly type: number; - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - */ - readonly id: any; - /** - * Returns true if this is a preliminary instance of `YArray`. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - */ - readonly prelim: boolean; -} -/** - * Event generated by `YYText.observe` method. Emitted during transaction commit phase. - */ -export class YTextEvent { - private constructor(); - free(): void; - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - */ - path(): any; - /** - * Returns a current shared type instance, that current event changes refer to. - */ - readonly target: any; - readonly origin: any; - /** - * Returns a list of text changes made over corresponding `YText` collection within - * bounds of current transaction. These changes follow a format: - * - * - { insert: string, attributes: any|undefined } - * - { delete: number } - * - { retain: number, attributes: any|undefined } - */ - readonly delta: any; -} -export class YTransaction { - private constructor(); - free(): void; - /** - * Given a logical identifier of the collection (obtained via `YText.id`, `YArray.id` etc.), - * attempts to return an instance of that collection in the scope of current document. - * - * Returns `undefined` if an instance was not defined locally, haven't been integrated or - * has been deleted. - */ - get(id: any): any; - /** - * Triggers a post-update series of operations without `free`ing the transaction. This includes - * compaction and optimization of internal representation of updates, triggering events etc. - * ywasm transactions are auto-committed when they are `free`d. - */ - commit(): void; - /** - * Encodes a state vector of a given transaction document into its binary representation using - * lib0 v1 encoding. State vector is a compact representation of updates performed on a given - * document and can be used by `encode_state_as_update` on remote peer to generate a delta - * update payload to synchronize changes between peers. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localTxn = localDoc.beginTransaction() - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteTxn = localDoc.beginTransaction() - * - * try { - * const localSV = localTxn.stateVectorV1() - * const remoteDelta = remoteTxn.diffV1(localSv) - * localTxn.applyV1(remoteDelta) - * } finally { - * localTxn.free() - * remoteTxn.free() - * } - * ``` - */ - stateVectorV1(): Uint8Array; - /** - * Encodes all updates that have happened since a given version `vector` into a compact delta - * representation using lib0 v1 encoding. If `vector` parameter has not been provided, generated - * delta payload will contain all changes of a current ywasm document, working effectively as - * its state snapshot. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localTxn = localDoc.beginTransaction() - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteTxn = localDoc.beginTransaction() - * - * try { - * const localSV = localTxn.stateVectorV1() - * const remoteDelta = remoteTxn.diffV1(localSv) - * localTxn.applyV1(remoteDelta) - * } finally { - * localTxn.free() - * remoteTxn.free() - * } - * ``` - */ - diffV1(vector?: Uint8Array | null): Uint8Array; - /** - * Encodes all updates that have happened since a given version `vector` into a compact delta - * representation using lib0 v1 encoding. If `vector` parameter has not been provided, generated - * delta payload will contain all changes of a current ywasm document, working effectively as - * its state snapshot. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localTxn = localDoc.beginTransaction() - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteTxn = localDoc.beginTransaction() - * - * try { - * const localSV = localTxn.stateVectorV1() - * const remoteDelta = remoteTxn.diffV2(localSv) - * localTxn.applyV2(remoteDelta) - * } finally { - * localTxn.free() - * remoteTxn.free() - * } - * ``` - */ - diffV2(vector?: Uint8Array | null): Uint8Array; - /** - * Applies delta update generated by the remote document replica to a current transaction's - * document. This method assumes that a payload maintains lib0 v1 encoding format. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localTxn = localDoc.beginTransaction() - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteTxn = localDoc.beginTransaction() - * - * try { - * const localSV = localTxn.stateVectorV1() - * const remoteDelta = remoteTxn.diffV1(localSv) - * localTxn.applyV1(remoteDelta) - * } finally { - * localTxn.free() - * remoteTxn.free() - * } - * ``` - */ - applyV1(diff: Uint8Array): void; - /** - * Applies delta update generated by the remote document replica to a current transaction's - * document. This method assumes that a payload maintains lib0 v2 encoding format. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localTxn = localDoc.beginTransaction() - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteTxn = localDoc.beginTransaction() - * - * try { - * const localSV = localTxn.stateVectorV1() - * const remoteDelta = remoteTxn.diffV2(localSv) - * localTxn.applyV2(remoteDelta) - * } finally { - * localTxn.free() - * remoteTxn.free() - * } - * ``` - */ - applyV2(diff: Uint8Array): void; - encodeUpdate(): Uint8Array; - encodeUpdateV2(): Uint8Array; - /** - * Force garbage collection of the deleted elements, regardless of a parent doc was created - * with `gc` option turned on or off. - */ - gc(): void; - /** - * Evaluates a JSON path expression (see: https://en.wikipedia.org/wiki/JSONPath) on - * the document and returns an array of values matching that query. - * - * Currently, this method supports the following syntax: - * - `$` - root object - * - `@` - current object - * - `.field` or `['field']` - member accessor - * - `[1]` - array index (also supports negative indices) - * - `.*` or `[*]` - wildcard (matches all members of an object or array) - * - `..` - recursive descent (matches all descendants not only direct children) - * - `[start:end:step]` - array slice operator (requires positive integer arguments) - * - `['a', 'b', 'c']` - union operator (returns an array of values for each query) - * - `[1, -1, 3]` - multiple indices operator (returns an array of values for each index) - * - * At the moment, JSON Path does not support filter predicates. - */ - selectAll(json_path: string): Array; - /** - * Evaluates a JSON path expression (see: https://en.wikipedia.org/wiki/JSONPath) on - * the document and returns first value matching that query. - * - * Currently, this method supports the following syntax: - * - `$` - root object - * - `@` - current object - * - `.field` or `['field']` - member accessor - * - `[1]` - array index (also supports negative indices) - * - `.*` or `[*]` - wildcard (matches all members of an object or array) - * - `..` - recursive descent (matches all descendants not only direct children) - * - `[start:end:step]` - array slice operator (requires positive integer arguments) - * - `['a', 'b', 'c']` - union operator (returns an array of values for each query) - * - `[1, -1, 3]` - multiple indices operator (returns an array of values for each index) - * - * At the moment, JSON Path does not support filter predicates. - */ - selectOne(json_path: string): any; - /** - * Returns state vector describing the state of the document - * at the moment when the transaction began. - */ - readonly beforeState: Map; - /** - * Returns state vector describing the current state of - * the document. - */ - readonly afterState: Map; - readonly pendingStructs: any; - /** - * Returns a unapplied delete set, that was received in one of the previous remote updates. - * This DeleteSet is waiting for a missing updates to arrive in order to be applied. - */ - readonly pendingDeleteSet: Map | undefined; - /** - * Returns a delete set containing information about - * all blocks removed as part of a current transaction. - */ - readonly deleteSet: Map; - readonly origin: any; -} -export class YUndoEvent { - private constructor(); - free(): void; - readonly origin: any; - readonly kind: any; - meta: any; -} -export class YUndoManager { - free(): void; - constructor(doc: YDoc, scope: any, options: any); - addToScope(ytypes: Array): void; - addTrackedOrigin(origin: any): void; - removeTrackedOrigin(origin: any): void; - clear(): void; - stopCapturing(): void; - undo(): void; - redo(): void; - on(event: string, callback: Function): void; - off(event: string, callback: Function): boolean; - readonly canUndo: boolean; - readonly canRedo: boolean; -} -export class YWeakLink { - private constructor(); - free(): void; - /** - * Checks if current YWeakLink reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - */ - alive(txn: YTransaction): boolean; - deref(txn: YTransaction | undefined): any; - unquote(txn: YTransaction | undefined): Array; - toString(txn: YTransaction | undefined): string; - /** - * Subscribes to all operations happening over this instance of `YMap`. All changes are - * batched and eventually triggered during transaction commit phase. - */ - observe(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observe` method. - */ - unobserve(callback: Function): boolean; - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - */ - observeDeep(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observeDeep` method. - */ - unobserveDeep(callback: Function): boolean; - /** - * Returns true if this is a preliminary instance of `YWeakLink`. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - */ - readonly prelim: boolean; - readonly type: number; - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - */ - readonly id: any; -} -/** - * Event generated by `YXmlElement.observe` method. Emitted during transaction commit phase. - */ -export class YWeakLinkEvent { - private constructor(); - free(): void; - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - */ - path(): any; - readonly origin: any; - /** - * Returns a current shared type instance, that current event changes refer to. - */ - readonly target: any; -} -/** - * XML element data type. It represents an XML node, which can contain key-value attributes - * (interpreted as strings) as well as other nested XML elements or rich text (represented by - * `YXmlText` type). - * - * In terms of conflict resolution, `YXmlElement` uses following rules: - * - * - Attribute updates use logical last-write-wins principle, meaning the past updates are - * automatically overridden and discarded by newer ones, while concurrent updates made by - * different peers are resolved into a single value using document id seniority to establish - * an order. - * - Child node insertion uses sequencing rules from other Yrs collections - elements are inserted - * using interleave-resistant algorithm, where order of concurrent inserts at the same index - * is established using peer's document id seniority. - */ -export class YXmlElement { - free(): void; - constructor(name: string, attributes: any, children: any); - /** - * Checks if current shared type reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - */ - alive(txn: YTransaction): boolean; - /** - * Returns a tag name of this XML node. - */ - name(txn: YTransaction | undefined): string; - /** - * Returns a number of child XML nodes stored within this `YXMlElement` instance. - */ - length(txn: YTransaction | undefined): number; - insert(index: number, xml_node: any, txn: YTransaction | undefined): void; - push(xml_node: any, txn: YTransaction | undefined): void; - delete(index: number, length: number | null | undefined, txn: YTransaction | undefined): void; - /** - * Returns a first child of this XML node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node has not children. - */ - firstChild(txn: YTransaction | undefined): any; - /** - * Returns a next XML sibling node of this XMl node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node is a last child of - * parent XML node. - */ - nextSibling(txn: YTransaction | undefined): any; - /** - * Returns a previous XML sibling node of this XMl node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node is a first child - * of parent XML node. - */ - prevSibling(txn: YTransaction | undefined): any; - /** - * Returns a parent `YXmlElement` node or `undefined` if current node has no parent assigned. - */ - parent(txn: YTransaction | undefined): any; - /** - * Returns a string representation of this XML node. - */ - toString(txn: YTransaction | undefined): string; - /** - * Sets a `name` and `value` as new attribute for this XML node. If an attribute with the same - * `name` already existed on that node, its value with be overridden with a provided one. - * This method accepts any JavaScript value, not just strings. - */ - setAttribute(name: string, value: any, txn: YTransaction | undefined): void; - /** - * Returns a value of an attribute given its `name` as any JS value. If no attribute with such name existed, - * `undefined` will be returned. - */ - getAttribute(name: string, txn: YTransaction | undefined): any; - /** - * Removes an attribute from this XML node, given its `name`. - */ - removeAttribute(name: string, txn: YTransaction | undefined): void; - /** - * Returns an iterator that enables to traverse over all attributes of this XML node in - * unspecified order. This method returns attribute values as their original JS values, - * not just as strings. - */ - attributes(txn: YTransaction | undefined): any; - /** - * Returns an iterator that enables a deep traversal of this XML node - starting from first - * child over this XML node successors using depth-first strategy. - */ - treeWalker(txn: YTransaction | undefined): Array; - /** - * Subscribes to all operations happening over this instance of `YXmlElement`. All changes are - * batched and eventually triggered during transaction commit phase. - */ - observe(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observe` method. - */ - unobserve(callback: Function): boolean; - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - */ - observeDeep(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observeDeep` method. - */ - unobserveDeep(callback: Function): boolean; - readonly type: number; - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - */ - readonly id: any; - /** - * Returns true if this is a preliminary instance of `YXmlElement`. - * - * Preliminary instances can be nested into other shared data types. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - */ - readonly prelim: boolean; -} -/** - * Event generated by `YXmlElement.observe` method. Emitted during transaction commit phase. - */ -export class YXmlEvent { - private constructor(); - free(): void; - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - */ - path(): any; - /** - * Returns a current shared type instance, that current event changes refer to. - */ - readonly target: any; - readonly origin: any; - /** - * Returns a list of attribute changes made over corresponding `YXmlText` collection within - * bounds of current transaction. These changes follow a format: - * - * - { action: 'add'|'update'|'delete', oldValue: string|undefined, newValue: string|undefined } - */ - readonly keys: any; - /** - * Returns a list of XML child node changes made over corresponding `YXmlElement` collection - * within bounds of current transaction. These changes follow a format: - * - * - { insert: (YXmlText|YXmlElement)[] } - * - { delete: number } - * - { retain: number } - */ - readonly delta: any; -} -/** - * Represents a list of `YXmlElement` and `YXmlText` types. - * A `YXmlFragment` is similar to a `YXmlElement`, but it does not have a - * nodeName and it does not have attributes. Though it can be bound to a DOM - * element - in this case the attributes and the nodeName are not shared - */ -export class YXmlFragment { - free(): void; - constructor(children: any[]); - /** - * Checks if current shared type reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - */ - alive(txn: YTransaction): boolean; - /** - * Returns a number of child XML nodes stored within this `YXMlElement` instance. - */ - length(txn: YTransaction | undefined): number; - insert(index: number, xml_node: any, txn: YTransaction | undefined): void; - push(xml_node: any, txn: YTransaction | undefined): void; - delete(index: number, length: number | null | undefined, txn: YTransaction | undefined): void; - /** - * Returns a first child of this XML node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node has not children. - */ - firstChild(txn: YTransaction | undefined): any; - /** - * Returns a string representation of this XML node. - */ - toString(txn: YTransaction | undefined): string; - /** - * Returns an iterator that enables a deep traversal of this XML node - starting from first - * child over this XML node successors using depth-first strategy. - */ - treeWalker(txn: YTransaction | undefined): Array; - /** - * Subscribes to all operations happening over this instance of `YXmlFragment`. All changes are - * batched and eventually triggered during transaction commit phase. - */ - observe(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observe` method. - */ - unobserve(callback: Function): boolean; - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - */ - observeDeep(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observeDeep` method. - */ - unobserveDeep(callback: Function): boolean; - readonly type: number; - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - */ - readonly id: any; - /** - * Returns true if this is a preliminary instance of `YXmlFragment`. - * - * Preliminary instances can be nested into other shared data types. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - */ - readonly prelim: boolean; -} -/** - * A shared data type used for collaborative text editing, that can be used in a context of - * `YXmlElement` nodee. It enables multiple users to add and remove chunks of text in efficient - * manner. This type is internally represented as a mutable double-linked list of text chunks - * - an optimization occurs during `YTransaction.commit`, which allows to squash multiple - * consecutively inserted characters together as a single chunk of text even between transaction - * boundaries in order to preserve more efficient memory model. - * - * Just like `YXmlElement`, `YXmlText` can be marked with extra metadata in form of attributes. - * - * `YXmlText` structure internally uses UTF-8 encoding and its length is described in a number of - * bytes rather than individual characters (a single UTF-8 code point can consist of many bytes). - * - * Like all Yrs shared data types, `YXmlText` is resistant to the problem of interleaving (situation - * when characters inserted one after another may interleave with other peers concurrent inserts - * after merging all updates together). In case of Yrs conflict resolution is solved by using - * unique document id to determine correct and consistent ordering. - */ -export class YXmlText { - free(): void; - constructor(text: string | null | undefined, attributes: any); - /** - * Checks if current shared type reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - */ - alive(txn: YTransaction): boolean; - /** - * Returns length of an underlying string stored in this `YXmlText` instance, - * understood as a number of UTF-8 encoded bytes. - */ - length(txn: YTransaction | undefined): number; - /** - * Inserts a given `chunk` of text into this `YXmlText` instance, starting at a given `index`. - * - * Optional object with defined `attributes` will be used to wrap provided text `chunk` - * with a formatting blocks. - */ - insert(index: number, chunk: string, attributes: any, txn: YTransaction | undefined): void; - /** - * Formats text within bounds specified by `index` and `len` with a given formatting - * attributes. - */ - format(index: number, length: number, attributes: any, txn: YTransaction | undefined): void; - quote(lower: number | null | undefined, upper: number | null | undefined, lower_open: boolean | null | undefined, upper_open: boolean | null | undefined, txn: YTransaction | undefined): YWeakLink; - /** - * Returns the Delta representation of this YXmlText type. - */ - toDelta(snapshot: any, prev_snapshot: any, compute_ychange: Function | null | undefined, txn: YTransaction | undefined): Array; - /** - * Inserts a given `embed` object into this `YXmlText` instance, starting at a given `index`. - * - * Optional object with defined `attributes` will be used to wrap provided `embed` - * with a formatting blocks.`attributes` are only supported for a `YXmlText` instance which - * already has been integrated into document store. - */ - insertEmbed(index: number, embed: any, attributes: any, txn: YTransaction | undefined): void; - /** - * Appends a given `chunk` of text at the end of `YXmlText` instance. - * - * Optional object with defined `attributes` will be used to wrap provided text `chunk` - * with a formatting blocks. - */ - push(chunk: string, attributes: any, txn: YTransaction | undefined): void; - applyDelta(delta: Array, txn: YTransaction | undefined): void; - /** - * Deletes a specified range of characters, starting at a given `index`. - * Both `index` and `length` are counted in terms of a number of UTF-8 character bytes. - */ - delete(index: number, length: number, txn: YTransaction | undefined): void; - /** - * Returns a next XML sibling node of this XMl node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node is a last child of - * parent XML node. - */ - nextSibling(txn: YTransaction | undefined): any; - /** - * Returns a previous XML sibling node of this XMl node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node is a first child - * of parent XML node. - */ - prevSibling(txn: YTransaction | undefined): any; - /** - * Returns a parent `YXmlElement` node or `undefined` if current node has no parent assigned. - */ - parent(txn: YTransaction | undefined): any; - /** - * Returns an underlying string stored in this `YXmlText` instance. - */ - toString(txn: YTransaction | undefined): string; - /** - * Sets a `name` and `value` as new attribute for this XML node. If an attribute with the same - * `name` already existed on that node, its value with be overridden with a provided one. - * This method accepts any JavaScript value, not just strings. - */ - setAttribute(name: string, value: any, txn: YTransaction | undefined): void; - /** - * Returns a value of an attribute given its `name` as any JS value. If no attribute with such name existed, - * `undefined` will be returned. - */ - getAttribute(name: string, txn: YTransaction | undefined): any; - /** - * Removes an attribute from this XML node, given its `name`. - */ - removeAttribute(name: string, txn: YTransaction | undefined): void; - /** - * Returns an iterator that enables to traverse over all attributes of this XML node in - * unspecified order. This method returns attribute values as their original JS values, - * not just as strings. - */ - attributes(txn: YTransaction | undefined): any; - /** - * Subscribes to all operations happening over this instance of `YXmlText`. All changes are - * batched and eventually triggered during transaction commit phase. - */ - observe(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observe` method. - */ - unobserve(callback: Function): boolean; - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - */ - observeDeep(callback: Function): void; - /** - * Unsubscribes a callback previously subscribed with `observe` method. - */ - unobserveDeep(callback: Function): boolean; - readonly type: number; - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - */ - readonly id: any; - /** - * Returns true if this is a preliminary instance of `YXmlText`. - * - * Preliminary instances can be nested into other shared data types. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - */ - readonly prelim: boolean; -} -/** - * Event generated by `YXmlText.observe` method. Emitted during transaction commit phase. - */ -export class YXmlTextEvent { - private constructor(); - free(): void; - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - */ - path(): any; - /** - * Returns a current shared type instance, that current event changes refer to. - */ - readonly target: any; - readonly origin: any; - /** - * Returns a list of text changes made over corresponding `YText` collection within - * bounds of current transaction. These changes follow a format: - * - * - { insert: string, attributes: any|undefined } - * - { delete: number } - * - { retain: number, attributes: any|undefined } - */ - readonly delta: any; - /** - * Returns a list of attribute changes made over corresponding `YXmlText` collection within - * bounds of current transaction. These changes follow a format: - * - * - { action: 'add'|'update'|'delete', oldValue: string|undefined, newValue: string|undefined } - */ - readonly keys: any; -} diff --git a/src/ywasm/ywasm.js b/src/ywasm/ywasm.js deleted file mode 100644 index 22a8e844..00000000 --- a/src/ywasm/ywasm.js +++ /dev/null @@ -1,5022 +0,0 @@ -let imports = {}; -imports["__wbindgen_placeholder__"] = module.exports; -let wasm; -const { TextDecoder, TextEncoder } = require(`util`); - -function addToExternrefTable0(obj) { - const idx = wasm.__externref_table_alloc(); - wasm.__wbindgen_export_2.set(idx, obj); - return idx; -} - -function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - const idx = addToExternrefTable0(e); - wasm.__wbindgen_exn_store(idx); - } -} - -let cachedTextDecoder = new TextDecoder("utf-8", { - ignoreBOM: true, - fatal: true, -}); - -cachedTextDecoder.decode(); - -let cachedUint8ArrayMemory0 = null; - -function getUint8ArrayMemory0() { - if ( - cachedUint8ArrayMemory0 === null || - cachedUint8ArrayMemory0.byteLength === 0 - ) { - cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8ArrayMemory0; -} - -function getStringFromWasm0(ptr, len) { - ptr = ptr >>> 0; - return cachedTextDecoder.decode( - getUint8ArrayMemory0().subarray(ptr, ptr + len), - ); -} - -let WASM_VECTOR_LEN = 0; - -let cachedTextEncoder = new TextEncoder("utf-8"); - -const encodeString = - typeof cachedTextEncoder.encodeInto === "function" - ? function (arg, view) { - return cachedTextEncoder.encodeInto(arg, view); - } - : function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length, - }; - }; - -function passStringToWasm0(arg, malloc, realloc) { - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length, 1) >>> 0; - getUint8ArrayMemory0() - .subarray(ptr, ptr + buf.length) - .set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - - let len = arg.length; - let ptr = malloc(len, 1) >>> 0; - - const mem = getUint8ArrayMemory0(); - - let offset = 0; - - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7f) break; - mem[ptr + offset] = code; - } - - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, (len = offset + arg.length * 3), 1) >>> 0; - const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - - offset += ret.written; - ptr = realloc(ptr, len, offset, 1) >>> 0; - } - - WASM_VECTOR_LEN = offset; - return ptr; -} - -let cachedDataViewMemory0 = null; - -function getDataViewMemory0() { - if ( - cachedDataViewMemory0 === null || - cachedDataViewMemory0.buffer.detached === true || - (cachedDataViewMemory0.buffer.detached === undefined && - cachedDataViewMemory0.buffer !== wasm.memory.buffer) - ) { - cachedDataViewMemory0 = new DataView(wasm.memory.buffer); - } - return cachedDataViewMemory0; -} - -function isLikeNone(x) { - return x === undefined || x === null; -} - -function debugString(val) { - // primitive types - const type = typeof val; - if (type == "number" || type == "boolean" || val == null) { - return `${val}`; - } - if (type == "string") { - return `"${val}"`; - } - if (type == "symbol") { - const description = val.description; - if (description == null) { - return "Symbol"; - } else { - return `Symbol(${description})`; - } - } - if (type == "function") { - const name = val.name; - if (typeof name == "string" && name.length > 0) { - return `Function(${name})`; - } else { - return "Function"; - } - } - // objects - if (Array.isArray(val)) { - const length = val.length; - let debug = "["; - if (length > 0) { - debug += debugString(val[0]); - } - for (let i = 1; i < length; i++) { - debug += ", " + debugString(val[i]); - } - debug += "]"; - return debug; - } - // Test for built-in - const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); - let className; - if (builtInMatches && builtInMatches.length > 1) { - className = builtInMatches[1]; - } else { - // Failed to match the standard '[object ClassName]' - return toString.call(val); - } - if (className == "Object") { - // we're a user defined class or Object - // JSON.stringify avoids problems with cycles, and is generally much - // easier than looping through ownProperties of `val`. - try { - return "Object(" + JSON.stringify(val) + ")"; - } catch (_) { - return "Object"; - } - } - // errors - if (val instanceof Error) { - return `${val.name}: ${val.message}\n${val.stack}`; - } - // TODO we could test for more things here, like `Set`s and `Map`s. - return className; -} - -function takeFromExternrefTable0(idx) { - const value = wasm.__wbindgen_export_2.get(idx); - wasm.__externref_table_dealloc(idx); - return value; -} - -function _assertClass(instance, klass) { - if (!(instance instanceof klass)) { - throw new Error(`expected instance of ${klass.name}`); - } -} - -function passArrayJsValueToWasm0(array, malloc) { - const ptr = malloc(array.length * 4, 4) >>> 0; - for (let i = 0; i < array.length; i++) { - const add = addToExternrefTable0(array[i]); - getDataViewMemory0().setUint32(ptr + 4 * i, add, true); - } - WASM_VECTOR_LEN = array.length; - return ptr; -} -/** - * When called will call console log errors whenever internal panic is called from within - * WebAssembly module. - */ -module.exports.setPanicHook = function () { - wasm.setPanicHook(); -}; - -/** - * Encodes a state vector of a given ywasm document into its binary representation using lib0 v1 - * encoding. State vector is a compact representation of updates performed on a given document and - * can be used by `encode_state_as_update` on remote peer to generate a delta update payload to - * synchronize changes between peers. - * - * Example: - * - * ```javascript - * import {YDoc, encodeStateVector, encodeStateAsUpdate, applyUpdate} from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localSV = encodeStateVector(localDoc) - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteDelta = encodeStateAsUpdate(remoteDoc, localSV) - * - * applyUpdate(localDoc, remoteDelta) - * ``` - * @param {YDoc} doc - * @returns {Uint8Array} - */ -module.exports.encodeStateVector = function (doc) { - _assertClass(doc, YDoc); - const ret = wasm.encodeStateVector(doc.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * Returns a string dump representation of a given `update` encoded using lib0 v1 encoding. - * @param {Uint8Array} update - * @returns {string} - */ -module.exports.debugUpdateV1 = function (update) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.debugUpdateV1(update); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; - len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } -}; - -/** - * Returns a string dump representation of a given `update` encoded using lib0 v2 encoding. - * @param {Uint8Array} update - * @returns {string} - */ -module.exports.debugUpdateV2 = function (update) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.debugUpdateV2(update); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; - len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } -}; - -/** - * Merges a sequence of updates (encoded using lib0 v1 encoding) together, producing another - * update (also lib0 v1 encoded) in the result. Returned binary is a combination of all input - * `updates`, compressed. - * - * Returns an error whenever any of the input updates couldn't be decoded. - * @param {Array} updates - * @returns {Uint8Array} - */ -module.exports.mergeUpdatesV1 = function (updates) { - const ret = wasm.mergeUpdatesV1(updates); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * Merges a sequence of updates (encoded using lib0 v2 encoding) together, producing another - * update (also lib0 v2 encoded) in the result. Returned binary is a combination of all input - * `updates`, compressed. - * - * Returns an error whenever any of the input updates couldn't be decoded. - * @param {Array} updates - * @returns {Uint8Array} - */ -module.exports.mergeUpdatesV2 = function (updates) { - const ret = wasm.mergeUpdatesV2(updates); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * Encodes all updates that have happened since a given version `vector` into a compact delta - * representation using lib0 v1 encoding. If `vector` parameter has not been provided, generated - * delta payload will contain all changes of a current ywasm document, working effectivelly as its - * state snapshot. - * - * Example: - * - * ```javascript - * import {YDoc, encodeStateVector, encodeStateAsUpdate, applyUpdate} from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localSV = encodeStateVector(localDoc) - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteDelta = encodeStateAsUpdate(remoteDoc, localSV) - * - * applyUpdate(localDoc, remoteDelta) - * ``` - * @param {YDoc} doc - * @param {Uint8Array | null} [vector] - * @returns {Uint8Array} - */ -module.exports.encodeStateAsUpdate = function (doc, vector) { - _assertClass(doc, YDoc); - const ret = wasm.encodeStateAsUpdate( - doc.__wbg_ptr, - isLikeNone(vector) ? 0 : addToExternrefTable0(vector), - ); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * Encodes all updates that have happened since a given version `vector` into a compact delta - * representation using lib0 v2 encoding. If `vector` parameter has not been provided, generated - * delta payload will contain all changes of a current ywasm document, working effectivelly as its - * state snapshot. - * - * Example: - * - * ```javascript - * import {YDoc, encodeStateVector, encodeStateAsUpdate, applyUpdate} from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localSV = encodeStateVector(localDoc) - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteDelta = encodeStateAsUpdateV2(remoteDoc, localSV) - * - * applyUpdate(localDoc, remoteDelta) - * ``` - * @param {YDoc} doc - * @param {Uint8Array | null} [vector] - * @returns {Uint8Array} - */ -module.exports.encodeStateAsUpdateV2 = function (doc, vector) { - _assertClass(doc, YDoc); - const ret = wasm.encodeStateAsUpdateV2( - doc.__wbg_ptr, - isLikeNone(vector) ? 0 : addToExternrefTable0(vector), - ); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * Applies delta update generated by the remote document replica to a current document. This - * method assumes that a payload maintains lib0 v1 encoding format. - * - * Example: - * - * ```javascript - * import {YDoc, encodeStateVector, encodeStateAsUpdate, applyUpdate} from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localSV = encodeStateVector(localDoc) - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteDelta = encodeStateAsUpdate(remoteDoc, localSV) - * - * applyUpdateV2(localDoc, remoteDelta) - * ``` - * @param {YDoc} doc - * @param {Uint8Array} update - * @param {any} origin - */ -module.exports.applyUpdate = function (doc, update, origin) { - _assertClass(doc, YDoc); - const ret = wasm.applyUpdate(doc.__wbg_ptr, update, origin); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } -}; - -/** - * Applies delta update generated by the remote document replica to a current document. This - * method assumes that a payload maintains lib0 v2 encoding format. - * - * Example: - * - * ```javascript - * import {YDoc, encodeStateVector, encodeStateAsUpdate, applyUpdate} from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localSV = encodeStateVector(localDoc) - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteDelta = encodeStateAsUpdateV2(remoteDoc, localSV) - * - * applyUpdateV2(localDoc, remoteDelta) - * ``` - * @param {YDoc} doc - * @param {Uint8Array} update - * @param {any} origin - */ -module.exports.applyUpdateV2 = function (doc, update, origin) { - _assertClass(doc, YDoc); - const ret = wasm.applyUpdateV2(doc.__wbg_ptr, update, origin); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } -}; - -/** - * @param {YDoc} doc - * @returns {any} - */ -module.exports.snapshot = function (doc) { - _assertClass(doc, YDoc); - const ret = wasm.snapshot(doc.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * @param {any} snap1 - * @param {any} snap2 - * @returns {boolean} - */ -module.exports.equalSnapshots = function (snap1, snap2) { - const ret = wasm.equalSnapshots(snap1, snap2); - return ret !== 0; -}; - -function getArrayU8FromWasm0(ptr, len) { - ptr = ptr >>> 0; - return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len); -} -/** - * @param {any} snapshot - * @returns {Uint8Array} - */ -module.exports.encodeSnapshotV1 = function (snapshot) { - const ret = wasm.encodeSnapshotV1(snapshot); - var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); - return v1; -}; - -/** - * @param {any} snapshot - * @returns {Uint8Array} - */ -module.exports.encodeSnapshotV2 = function (snapshot) { - const ret = wasm.encodeSnapshotV2(snapshot); - var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); - return v1; -}; - -function passArray8ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 1, 1) >>> 0; - getUint8ArrayMemory0().set(arg, ptr / 1); - WASM_VECTOR_LEN = arg.length; - return ptr; -} -/** - * @param {Uint8Array} snapshot - * @returns {any} - */ -module.exports.decodeSnapshotV2 = function (snapshot) { - const ptr0 = passArray8ToWasm0(snapshot, wasm.__wbindgen_malloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.decodeSnapshotV2(ptr0, len0); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * @param {Uint8Array} snapshot - * @returns {any} - */ -module.exports.decodeSnapshotV1 = function (snapshot) { - const ptr0 = passArray8ToWasm0(snapshot, wasm.__wbindgen_malloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.decodeSnapshotV1(ptr0, len0); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * @param {YDoc} doc - * @param {any} snapshot - * @returns {Uint8Array} - */ -module.exports.encodeStateFromSnapshotV1 = function (doc, snapshot) { - _assertClass(doc, YDoc); - const ret = wasm.encodeStateFromSnapshotV1(doc.__wbg_ptr, snapshot); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); - return v1; -}; - -/** - * @param {YDoc} doc - * @param {any} snapshot - * @returns {Uint8Array} - */ -module.exports.encodeStateFromSnapshotV2 = function (doc, snapshot) { - _assertClass(doc, YDoc); - const ret = wasm.encodeStateFromSnapshotV2(doc.__wbg_ptr, snapshot); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); - return v1; -}; - -/** - * Retrieves a sticky index corresponding to a given human-readable `index` pointing into - * the shared `ytype`. Unlike standard indexes sticky indexes enables to track - * the location inside of a shared y-types, even in the face of concurrent updates. - * - * If association is >= 0, the resulting position will point to location **after** the referenced index. - * If association is < 0, the resulting position will point to location **before** the referenced index. - * @param {any} ytype - * @param {number} index - * @param {number} assoc - * @param {YTransaction | undefined} txn - * @returns {any} - */ -module.exports.createRelativePositionFromTypeIndex = function ( - ytype, - index, - assoc, - txn, -) { - const ret = wasm.createRelativePositionFromTypeIndex( - ytype, - index, - assoc, - txn, - ); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * Converts a sticky index (see: `createStickyIndexFromType`) into an object - * containing human-readable index. - * @param {any} rpos - * @param {YDoc} doc - * @returns {any} - */ -module.exports.createAbsolutePositionFromRelativePosition = function ( - rpos, - doc, -) { - _assertClass(doc, YDoc); - const ret = wasm.createAbsolutePositionFromRelativePosition( - rpos, - doc.__wbg_ptr, - ); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * Serializes sticky index created by `createStickyIndexFromType` into a binary - * payload. - * @param {any} rpos - * @returns {Uint8Array} - */ -module.exports.encodeRelativePosition = function (rpos) { - const ret = wasm.encodeRelativePosition(rpos); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * Deserializes sticky index serialized previously by `encodeStickyIndex`. - * @param {Uint8Array} bin - * @returns {any} - */ -module.exports.decodeRelativePosition = function (bin) { - const ret = wasm.decodeRelativePosition(bin); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * @param {any} a - * @param {any} b - * @returns {boolean} - */ -module.exports.compareRelativePositions = function (a, b) { - const ret = wasm.compareRelativePositions(a, b); - return ret !== 0; -}; - -let cachedBigUint64ArrayMemory0 = null; - -function getBigUint64ArrayMemory0() { - if ( - cachedBigUint64ArrayMemory0 === null || - cachedBigUint64ArrayMemory0.byteLength === 0 - ) { - cachedBigUint64ArrayMemory0 = new BigUint64Array(wasm.memory.buffer); - } - return cachedBigUint64ArrayMemory0; -} - -function passArray64ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 8, 8) >>> 0; - getBigUint64ArrayMemory0().set(arg, ptr / 8); - WASM_VECTOR_LEN = arg.length; - return ptr; -} -/** - * @param {Awareness} awareness - * @param {BigUint64Array} clients - */ -module.exports.removeAwarenessStates = function (awareness, clients) { - _assertClass(awareness, Awareness); - const ptr0 = passArray64ToWasm0(clients, wasm.__wbindgen_malloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.removeAwarenessStates(awareness.__wbg_ptr, ptr0, len0); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } -}; - -/** - * @param {Awareness} awareness - * @param {any} clients - * @returns {Uint8Array} - */ -module.exports.encodeAwarenessUpdate = function (awareness, clients) { - _assertClass(awareness, Awareness); - const ret = wasm.encodeAwarenessUpdate(awareness.__wbg_ptr, clients); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * @param {Uint8Array} update - * @param {Function} modify - * @returns {Uint8Array} - */ -module.exports.modifyAwarenessUpdate = function (update, modify) { - const ret = wasm.modifyAwarenessUpdate(update, modify); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -}; - -/** - * @param {Awareness} awareness - * @param {Uint8Array} update - * @param {any} _origin - */ -module.exports.applyAwarenessUpdate = function (awareness, update, _origin) { - _assertClass(awareness, Awareness); - const ret = wasm.applyAwarenessUpdate(awareness.__wbg_ptr, update, _origin); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } -}; - -const AwarenessFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_awareness_free(ptr >>> 0, 1), - ); - -class Awareness { - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - AwarenessFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_awareness_free(ptr, 0); - } - /** - * @param {YDoc} doc - */ - constructor(doc) { - _assertClass(doc, YDoc); - var ptr0 = doc.__destroy_into_raw(); - const ret = wasm.awareness_new(ptr0); - this.__wbg_ptr = ret >>> 0; - AwarenessFinalization.register(this, this.__wbg_ptr, this); - return this; - } - /** - * @returns {YDoc} - */ - get doc() { - const ret = wasm.awareness_doc(this.__wbg_ptr); - return YDoc.__wrap(ret); - } - /** - * @returns {Map} - */ - get meta() { - const ret = wasm.awareness_meta(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - destroy() { - wasm.awareness_destroy(this.__wbg_ptr); - } - /** - * @returns {any} - */ - getLocalState() { - const ret = wasm.awareness_getLocalState(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @param {any} state - */ - setLocalState(state) { - const ret = wasm.awareness_setLocalState(this.__wbg_ptr, state); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} key - * @param {any} value - */ - setLocalStateField(key, value) { - const ptr0 = passStringToWasm0( - key, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.awareness_setLocalStateField( - this.__wbg_ptr, - ptr0, - len0, - value, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @returns {Map} - */ - getStates() { - const ret = wasm.awareness_getStates(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @param {string} event - * @param {Function} callback - */ - on(event, callback) { - const ptr0 = passStringToWasm0( - event, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.awareness_on(this.__wbg_ptr, ptr0, len0, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} event - * @param {Function} callback - * @returns {boolean} - */ - off(event, callback) { - const ptr0 = passStringToWasm0( - event, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.awareness_off(this.__wbg_ptr, ptr0, len0, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } -} -module.exports.Awareness = Awareness; - -const YArrayFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => wasm.__wbg_yarray_free(ptr >>> 0, 1)); -/** - * A collection used to store data in an indexed sequence structure. This type is internally - * implemented as a double linked list, which may squash values inserted directly one after another - * into single list node upon transaction commit. - * - * Reading a root-level type as an YArray means treating its sequence components as a list, where - * every countable element becomes an individual entity: - * - * - JSON-like primitives (booleans, numbers, strings, JSON maps, arrays etc.) are counted - * individually. - * - Text chunks inserted by [Text] data structure: each character becomes an element of an - * array. - * - Embedded and binary values: they count as a single element even though they correspond of - * multiple bytes. - * - * Like all Yrs shared data types, YArray is resistant to the problem of interleaving (situation - * when elements inserted one after another may interleave with other peers concurrent inserts - * after merging all updates together). In case of Yrs conflict resolution is solved by using - * unique document id to determine correct and consistent ordering. - */ -class YArray { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YArray.prototype); - obj.__wbg_ptr = ptr; - YArrayFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YArrayFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_yarray_free(ptr, 0); - } - /** - * Creates a new preliminary instance of a `YArray` shared data type, with its state - * initialized to provided parameter. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - * @param {any[] | null} [items] - */ - constructor(items) { - var ptr0 = isLikeNone(items) - ? 0 - : passArrayJsValueToWasm0(items, wasm.__wbindgen_malloc); - var len0 = WASM_VECTOR_LEN; - const ret = wasm.yarray_new(ptr0, len0); - this.__wbg_ptr = ret >>> 0; - YArrayFinalization.register(this, this.__wbg_ptr, this); - return this; - } - /** - * @returns {number} - */ - get type() { - const ret = wasm.yarray_type(this.__wbg_ptr); - return ret; - } - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - * @returns {any} - */ - get id() { - const ret = wasm.yarray_id(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns true if this is a preliminary instance of `YArray`. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - * @returns {boolean} - */ - get prelim() { - const ret = wasm.yarray_prelim(this.__wbg_ptr); - return ret !== 0; - } - /** - * Checks if current YArray reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - * @param {YTransaction} txn - * @returns {boolean} - */ - alive(txn) { - _assertClass(txn, YTransaction); - const ret = wasm.yarray_alive(this.__wbg_ptr, txn.__wbg_ptr); - return ret !== 0; - } - /** - * Returns a number of elements stored within this instance of `YArray`. - * @param {YTransaction | undefined} txn - * @returns {number} - */ - length(txn) { - const ret = wasm.yarray_length(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] >>> 0; - } - /** - * Converts an underlying contents of this `YArray` instance into their JSON representation. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - toJson(txn) { - const ret = wasm.yarray_toJson(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Inserts a given range of `items` into this `YArray` instance, starting at given `index`. - * @param {number} index - * @param {any[]} items - * @param {YTransaction | undefined} txn - */ - insert(index, items, txn) { - const ptr0 = passArrayJsValueToWasm0(items, wasm.__wbindgen_malloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yarray_insert(this.__wbg_ptr, index, ptr0, len0, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Appends a range of `items` at the end of this `YArray` instance. - * @param {any[]} items - * @param {YTransaction | undefined} txn - */ - push(items, txn) { - const ptr0 = passArrayJsValueToWasm0(items, wasm.__wbindgen_malloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yarray_push(this.__wbg_ptr, ptr0, len0, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Deletes a range of items of given `length` from current `YArray` instance, - * starting from given `index`. - * @param {number} index - * @param {number | null | undefined} length - * @param {YTransaction | undefined} txn - */ - delete(index, length, txn) { - const ret = wasm.yarray_delete( - this.__wbg_ptr, - index, - isLikeNone(length) ? 0x100000001 : length >>> 0, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Moves element found at `source` index into `target` index position. - * @param {number} source - * @param {number} target - * @param {YTransaction | undefined} txn - */ - move(source, target, txn) { - const ret = wasm.yarray_move(this.__wbg_ptr, source, target, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Returns an element stored under given `index`. - * @param {number} index - * @param {YTransaction | undefined} txn - * @returns {any} - */ - get(index, txn) { - const ret = wasm.yarray_get(this.__wbg_ptr, index, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @param {number | null | undefined} lower - * @param {number | null | undefined} upper - * @param {boolean | null | undefined} lower_open - * @param {boolean | null | undefined} upper_open - * @param {YTransaction | undefined} txn - * @returns {YWeakLink} - */ - quote(lower, upper, lower_open, upper_open, txn) { - const ret = wasm.yarray_quote( - this.__wbg_ptr, - isLikeNone(lower) ? 0x100000001 : lower >>> 0, - isLikeNone(upper) ? 0x100000001 : upper >>> 0, - isLikeNone(lower_open) ? 0xffffff : lower_open ? 1 : 0, - isLikeNone(upper_open) ? 0xffffff : upper_open ? 1 : 0, - txn, - ); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return YWeakLink.__wrap(ret[0]); - } - /** - * Returns an iterator that can be used to traverse over the values stored withing this - * instance of `YArray`. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const doc = new YDoc() - * const array = doc.getArray('name') - * const txn = doc.beginTransaction() - * try { - * array.push(txn, ['hello', 'world']) - * for (let item of array.values(txn)) { - * console.log(item) - * } - * } finally { - * txn.free() - * } - * ``` - * @param {YTransaction | undefined} txn - * @returns {any} - */ - values(txn) { - const ret = wasm.yarray_values(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Subscribes to all operations happening over this instance of `YArray`. All changes are - * batched and eventually triggered during transaction commit phase. - * @param {Function} callback - */ - observe(callback) { - const ret = wasm.yarray_observe(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {Function} callback - * @returns {boolean} - */ - unobserve(callback) { - const ret = wasm.yarray_unobserve(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - * @param {Function} callback - */ - observeDeep(callback) { - const ret = wasm.yarray_observeDeep(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {Function} callback - * @returns {boolean} - */ - unobserveDeep(callback) { - const ret = wasm.yarray_unobserveDeep(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } -} -module.exports.YArray = YArray; - -const YArrayEventFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_yarrayevent_free(ptr >>> 0, 1), - ); -/** - * Event generated by `YArray.observe` method. Emitted during transaction commit phase. - */ -class YArrayEvent { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YArrayEvent.prototype); - obj.__wbg_ptr = ptr; - YArrayEventFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YArrayEventFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_yarrayevent_free(ptr, 0); - } - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - * @returns {any} - */ - path() { - const ret = wasm.yarrayevent_path(this.__wbg_ptr); - return ret; - } - /** - * Returns a current shared type instance, that current event changes refer to. - * @returns {any} - */ - get target() { - const ret = wasm.yarrayevent_target(this.__wbg_ptr); - return ret; - } - /** - * @returns {any} - */ - get origin() { - const ret = wasm.yarrayevent_origin(this.__wbg_ptr); - return ret; - } - /** - * Returns a list of text changes made over corresponding `YArray` collection within - * bounds of current transaction. These changes follow a format: - * - * - { insert: any[] } - * - { delete: number } - * - { retain: number } - * @returns {any} - */ - get delta() { - const ret = wasm.yarrayevent_delta(this.__wbg_ptr); - return ret; - } -} -module.exports.YArrayEvent = YArrayEvent; - -const YDocFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => wasm.__wbg_ydoc_free(ptr >>> 0, 1)); -/** - * A ywasm document type. Documents are most important units of collaborative resources management. - * All shared collections live within a scope of their corresponding documents. All updates are - * generated on per-document basis (rather than individual shared type). All operations on shared - * collections happen via [YTransaction], which lifetime is also bound to a document. - * - * Document manages so-called root types, which are top-level shared types definitions (as opposed - * to recursively nested types). - * - * A basic workflow sample: - * - * ```javascript - * import YDoc from 'ywasm' - * - * const doc = new YDoc() - * const txn = doc.beginTransaction() - * try { - * const text = txn.getText('name') - * text.push(txn, 'hello world') - * const output = text.toString(txn) - * console.log(output) - * } finally { - * txn.free() - * } - * ``` - */ -class YDoc { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YDoc.prototype); - obj.__wbg_ptr = ptr; - YDocFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YDocFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_ydoc_free(ptr, 0); - } - /** - * Creates a new ywasm document. If `id` parameter was passed it will be used as this document - * globally unique identifier (it's up to caller to ensure that requirement). Otherwise it will - * be assigned a randomly generated number. - * @param {any} options - */ - constructor(options) { - const ret = wasm.ydoc_new(options); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - this.__wbg_ptr = ret[0] >>> 0; - YDocFinalization.register(this, this.__wbg_ptr, this); - return this; - } - /** - * @returns {number} - */ - get type() { - const ret = wasm.ydoc_type(this.__wbg_ptr); - return ret; - } - /** - * Checks if a document is a preliminary type. It returns false, if current document - * is already a sub-document of another document. - * @returns {boolean} - */ - get prelim() { - const ret = wasm.ydoc_prelim(this.__wbg_ptr); - return ret !== 0; - } - /** - * Returns a parent document of this document or null if current document is not sub-document. - * @returns {YDoc | undefined} - */ - get parentDoc() { - const ret = wasm.ydoc_parentDoc(this.__wbg_ptr); - return ret === 0 ? undefined : YDoc.__wrap(ret); - } - /** - * Gets unique peer identifier of this `YDoc` instance. - * @returns {number} - */ - get id() { - const ret = wasm.ydoc_id(this.__wbg_ptr); - return ret; - } - /** - * Gets globally unique identifier of this `YDoc` instance. - * @returns {string} - */ - get guid() { - let deferred1_0; - let deferred1_1; - try { - const ret = wasm.ydoc_guid(this.__wbg_ptr); - deferred1_0 = ret[0]; - deferred1_1 = ret[1]; - return getStringFromWasm0(ret[0], ret[1]); - } finally { - wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); - } - } - /** - * @returns {boolean} - */ - get shouldLoad() { - const ret = wasm.ydoc_shouldLoad(this.__wbg_ptr); - return ret !== 0; - } - /** - * @returns {boolean} - */ - get autoLoad() { - const ret = wasm.ydoc_autoLoad(this.__wbg_ptr); - return ret !== 0; - } - /** - * Returns a new transaction for this document. Ywasm shared data types execute their - * operations in a context of a given transaction. Each document can have only one active - * transaction at the time - subsequent attempts will cause exception to be thrown. - * - * Transactions started with `doc.beginTransaction` can be released using `transaction.free` - * method. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * // helper function used to simplify transaction - * // create/release cycle - * YDoc.prototype.transact = callback => { - * const txn = this.transaction() - * try { - * return callback(txn) - * } finally { - * txn.free() - * } - * } - * - * const doc = new YDoc() - * const text = doc.getText('name') - * doc.transact(txn => text.insert(txn, 0, 'hello world')) - * ``` - * @param {any} origin - * @returns {YTransaction} - */ - beginTransaction(origin) { - const ret = wasm.ydoc_beginTransaction(this.__wbg_ptr, origin); - return YTransaction.__wrap(ret); - } - /** - * Returns a `YText` shared data type, that's accessible for subsequent accesses using given - * `name`. - * - * If there was no instance with this name before, it will be created and then returned. - * - * If there was an instance with this name, but it was of different type, it will be projected - * onto `YText` instance. - * @param {string} name - * @returns {YText} - */ - getText(name) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ydoc_getText(this.__wbg_ptr, ptr0, len0); - return YText.__wrap(ret); - } - /** - * Returns a `YArray` shared data type, that's accessible for subsequent accesses using given - * `name`. - * - * If there was no instance with this name before, it will be created and then returned. - * - * If there was an instance with this name, but it was of different type, it will be projected - * onto `YArray` instance. - * @param {string} name - * @returns {YArray} - */ - getArray(name) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ydoc_getArray(this.__wbg_ptr, ptr0, len0); - return YArray.__wrap(ret); - } - /** - * Returns a `YMap` shared data type, that's accessible for subsequent accesses using given - * `name`. - * - * If there was no instance with this name before, it will be created and then returned. - * - * If there was an instance with this name, but it was of different type, it will be projected - * onto `YMap` instance. - * @param {string} name - * @returns {YMap} - */ - getMap(name) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ydoc_getMap(this.__wbg_ptr, ptr0, len0); - return YMap.__wrap(ret); - } - /** - * Returns a `YXmlFragment` shared data type, that's accessible for subsequent accesses using - * given `name`. - * - * If there was no instance with this name before, it will be created and then returned. - * - * If there was an instance with this name, but it was of different type, it will be projected - * onto `YXmlFragment` instance. - * @param {string} name - * @returns {YXmlFragment} - */ - getXmlFragment(name) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ydoc_getXmlFragment(this.__wbg_ptr, ptr0, len0); - return YXmlFragment.__wrap(ret); - } - /** - * @param {string} event - * @param {Function} callback - */ - on(event, callback) { - const ptr0 = passStringToWasm0( - event, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ydoc_on(this.__wbg_ptr, ptr0, len0, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} event - * @param {Function} callback - * @returns {boolean} - */ - off(event, callback) { - const ptr0 = passStringToWasm0( - event, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ydoc_off(this.__wbg_ptr, ptr0, len0, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * Notify the parent document that you request to load data into this subdocument - * (if it is a subdocument). - * @param {YTransaction | undefined} parent_txn - */ - load(parent_txn) { - const ret = wasm.ydoc_load(this.__wbg_ptr, parent_txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Emit `onDestroy` event and unregister all event handlers. - * @param {YTransaction | undefined} parent_txn - */ - destroy(parent_txn) { - const ret = wasm.ydoc_destroy(this.__wbg_ptr, parent_txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Returns a list of sub-documents existings within the scope of this document. - * @param {YTransaction | undefined} txn - * @returns {Array} - */ - getSubdocs(txn) { - const ret = wasm.ydoc_getSubdocs(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a list of unique identifiers of the sub-documents existings within the scope of - * this document. - * @param {YTransaction | undefined} txn - * @returns {Set} - */ - getSubdocGuids(txn) { - const ret = wasm.ydoc_getSubdocGuids(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a list of all root-level replicated collections, together with their types. - * These collections can then be accessed via `getMap`/`getText` etc. methods. - * - * Example: - * ```js - * import * as Y from 'ywasm' - * - * const doc = new Y.YDoc() - * const ymap = doc.getMap('a') - * const yarray = doc.getArray('b') - * const ytext = doc.getText('c') - * const yxml = doc.getXmlFragment('d') - * - * const roots = doc.roots() // [['a',ymap], ['b',yarray], ['c',ytext], ['d',yxml]] - * ``` - * @param {YTransaction | undefined} txn - * @returns {Array} - */ - roots(txn) { - const ret = wasm.ydoc_roots(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Evaluates a JSON path expression (see: https://en.wikipedia.org/wiki/JSONPath) on - * the document and returns an array of values matching that query. - * - * Currently, this method supports the following syntax: - * - `$` - root object - * - `@` - current object - * - `.field` or `['field']` - member accessor - * - `[1]` - array index (also supports negative indices) - * - `.*` or `[*]` - wildcard (matches all members of an object or array) - * - `..` - recursive descent (matches all descendants not only direct children) - * - `[start:end:step]` - array slice operator (requires positive integer arguments) - * - `['a', 'b', 'c']` - union operator (returns an array of values for each query) - * - `[1, -1, 3]` - multiple indices operator (returns an array of values for each index) - * - * At the moment, JSON Path does not support filter predicates. - * @param {string} json_path - * @returns {Array} - */ - selectAll(json_path) { - const ptr0 = passStringToWasm0( - json_path, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ydoc_selectAll(this.__wbg_ptr, ptr0, len0); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Evaluates a JSON path expression (see: https://en.wikipedia.org/wiki/JSONPath) on - * the document and returns first value matching that query. - * - * Currently, this method supports the following syntax: - * - `$` - root object - * - `@` - current object - * - `.field` or `['field']` - member accessor - * - `[1]` - array index (also supports negative indices) - * - `.*` or `[*]` - wildcard (matches all members of an object or array) - * - `..` - recursive descent (matches all descendants not only direct children) - * - `[start:end:step]` - array slice operator (requires positive integer arguments) - * - `['a', 'b', 'c']` - union operator (returns an array of values for each query) - * - `[1, -1, 3]` - multiple indices operator (returns an array of values for each index) - * - * At the moment, JSON Path does not support filter predicates. - * @param {string} json_path - * @returns {any} - */ - selectOne(json_path) { - const ptr0 = passStringToWasm0( - json_path, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ydoc_selectOne(this.__wbg_ptr, ptr0, len0); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } -} -module.exports.YDoc = YDoc; - -const YMapFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => wasm.__wbg_ymap_free(ptr >>> 0, 1)); -/** - * Collection used to store key-value entries in an unordered manner. Keys are always represented - * as UTF-8 strings. Values can be any value type supported by Yrs: JSON-like primitives as well as - * shared data types. - * - * In terms of conflict resolution, [Map] uses logical last-write-wins principle, meaning the past - * updates are automatically overridden and discarded by newer ones, while concurrent updates made - * by different peers are resolved into a single value using document id seniority to establish - * order. - */ -class YMap { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YMap.prototype); - obj.__wbg_ptr = ptr; - YMapFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YMapFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_ymap_free(ptr, 0); - } - /** - * Creates a new preliminary instance of a `YMap` shared data type, with its state - * initialized to provided parameter. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - * @param {object | null} [init] - */ - constructor(init) { - const ret = wasm.ymap_new( - isLikeNone(init) ? 0 : addToExternrefTable0(init), - ); - this.__wbg_ptr = ret >>> 0; - YMapFinalization.register(this, this.__wbg_ptr, this); - return this; - } - /** - * @returns {number} - */ - get type() { - const ret = wasm.ymap_type(this.__wbg_ptr); - return ret; - } - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - * @returns {any} - */ - get id() { - const ret = wasm.ymap_id(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns true if this is a preliminary instance of `YMap`. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - * @returns {boolean} - */ - get prelim() { - const ret = wasm.ymap_prelim(this.__wbg_ptr); - return ret !== 0; - } - /** - * Checks if current YMap reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - * @param {YTransaction} txn - * @returns {boolean} - */ - alive(txn) { - _assertClass(txn, YTransaction); - const ret = wasm.ymap_alive(this.__wbg_ptr, txn.__wbg_ptr); - return ret !== 0; - } - /** - * Returns a number of entries stored within this instance of `YMap`. - * @param {YTransaction | undefined} txn - * @returns {number} - */ - length(txn) { - const ret = wasm.ymap_length(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] >>> 0; - } - /** - * Converts contents of this `YMap` instance into a JSON representation. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - toJson(txn) { - const ret = wasm.ymap_toJson(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Sets a given `key`-`value` entry within this instance of `YMap`. If another entry was - * already stored under given `key`, it will be overridden with new `value`. - * @param {string} key - * @param {any} value - * @param {YTransaction | undefined} txn - */ - set(key, value, txn) { - const ptr0 = passStringToWasm0( - key, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ymap_set(this.__wbg_ptr, ptr0, len0, value, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Removes an entry identified by a given `key` from this instance of `YMap`, if such exists. - * @param {string} key - * @param {YTransaction | undefined} txn - */ - delete(key, txn) { - const ptr0 = passStringToWasm0( - key, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ymap_delete(this.__wbg_ptr, ptr0, len0, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Returns value of an entry stored under given `key` within this instance of `YMap`, - * or `undefined` if no such entry existed. - * @param {string} key - * @param {YTransaction | undefined} txn - * @returns {any} - */ - get(key, txn) { - const ptr0 = passStringToWasm0( - key, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ymap_get(this.__wbg_ptr, ptr0, len0, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @param {string} key - * @param {YTransaction | undefined} txn - * @returns {any} - */ - link(key, txn) { - const ptr0 = passStringToWasm0( - key, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ymap_link(this.__wbg_ptr, ptr0, len0, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns an iterator that can be used to traverse over all entries stored within this - * instance of `YMap`. Order of entry is not specified. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const doc = new YDoc() - * const map = doc.getMap('name') - * const txn = doc.beginTransaction() - * try { - * map.set(txn, 'key1', 'value1') - * map.set(txn, 'key2', true) - * - * for (let [key, value] of map.entries(txn)) { - * console.log(key, value) - * } - * } finally { - * txn.free() - * } - * ``` - * @param {YTransaction | undefined} txn - * @returns {any} - */ - entries(txn) { - const ret = wasm.ymap_entries(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Subscribes to all operations happening over this instance of `YMap`. All changes are - * batched and eventually triggered during transaction commit phase. - * @param {Function} callback - */ - observe(callback) { - const ret = wasm.ymap_observe(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observe` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserve(callback) { - const ret = wasm.ymap_unobserve(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - * @param {Function} callback - */ - observeDeep(callback) { - const ret = wasm.ymap_observeDeep(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observeDeep` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserveDeep(callback) { - const ret = wasm.ymap_unobserveDeep(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } -} -module.exports.YMap = YMap; - -const YMapEventFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_ymapevent_free(ptr >>> 0, 1), - ); -/** - * Event generated by `YMap.observe` method. Emitted during transaction commit phase. - */ -class YMapEvent { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YMapEvent.prototype); - obj.__wbg_ptr = ptr; - YMapEventFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YMapEventFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_ymapevent_free(ptr, 0); - } - /** - * @returns {any} - */ - get origin() { - const ret = wasm.ymapevent_origin(this.__wbg_ptr); - return ret; - } - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - * @returns {any} - */ - path() { - const ret = wasm.ymapevent_path(this.__wbg_ptr); - return ret; - } - /** - * Returns a current shared type instance, that current event changes refer to. - * @returns {any} - */ - get target() { - const ret = wasm.ymapevent_target(this.__wbg_ptr); - return ret; - } - /** - * Returns a list of key-value changes made over corresponding `YMap` collection within - * bounds of current transaction. These changes follow a format: - * - * - { action: 'add'|'update'|'delete', oldValue: any|undefined, newValue: any|undefined } - * @returns {any} - */ - get keys() { - const ret = wasm.ymapevent_keys(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } -} -module.exports.YMapEvent = YMapEvent; - -const YSubdocsEventFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_ysubdocsevent_free(ptr >>> 0, 1), - ); - -class YSubdocsEvent { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YSubdocsEvent.prototype); - obj.__wbg_ptr = ptr; - YSubdocsEventFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YSubdocsEventFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_ysubdocsevent_free(ptr, 0); - } - /** - * @returns {Array} - */ - get added() { - const ret = wasm.ysubdocsevent_added(this.__wbg_ptr); - return ret; - } - /** - * @returns {Array} - */ - get removed() { - const ret = wasm.ysubdocsevent_removed(this.__wbg_ptr); - return ret; - } - /** - * @returns {Array} - */ - get loaded() { - const ret = wasm.ysubdocsevent_loaded(this.__wbg_ptr); - return ret; - } -} -module.exports.YSubdocsEvent = YSubdocsEvent; - -const YTextFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => wasm.__wbg_ytext_free(ptr >>> 0, 1)); -/** - * A shared data type used for collaborative text editing. It enables multiple users to add and - * remove chunks of text in efficient manner. This type is internally represented as a mutable - * double-linked list of text chunks - an optimization occurs during `YTransaction.commit`, which - * allows to squash multiple consecutively inserted characters together as a single chunk of text - * even between transaction boundaries in order to preserve more efficient memory model. - * - * `YText` structure internally uses UTF-8 encoding and its length is described in a number of - * bytes rather than individual characters (a single UTF-8 code point can consist of many bytes). - * - * Like all Yrs shared data types, `YText` is resistant to the problem of interleaving (situation - * when characters inserted one after another may interleave with other peers concurrent inserts - * after merging all updates together). In case of Yrs conflict resolution is solved by using - * unique document id to determine correct and consistent ordering. - */ -class YText { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YText.prototype); - obj.__wbg_ptr = ptr; - YTextFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YTextFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_ytext_free(ptr, 0); - } - /** - * Creates a new preliminary instance of a `YText` shared data type, with its state initialized - * to provided parameter. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - * @param {string | null} [init] - */ - constructor(init) { - var ptr0 = isLikeNone(init) - ? 0 - : passStringToWasm0( - init, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - var len0 = WASM_VECTOR_LEN; - const ret = wasm.ytext_new(ptr0, len0); - this.__wbg_ptr = ret >>> 0; - YTextFinalization.register(this, this.__wbg_ptr, this); - return this; - } - /** - * @returns {number} - */ - get type() { - const ret = wasm.ytext_type(this.__wbg_ptr); - return ret; - } - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - * @returns {any} - */ - get id() { - const ret = wasm.ytext_id(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns true if this is a preliminary instance of `YArray`. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - * @returns {boolean} - */ - get prelim() { - const ret = wasm.ytext_prelim(this.__wbg_ptr); - return ret !== 0; - } - /** - * Checks if current YArray reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - * @param {YTransaction} txn - * @returns {boolean} - */ - alive(txn) { - _assertClass(txn, YTransaction); - const ret = wasm.ytext_alive(this.__wbg_ptr, txn.__wbg_ptr); - return ret !== 0; - } - /** - * Returns length of an underlying string stored in this `YText` instance, - * understood as a number of UTF-8 encoded bytes. - * @param {YTransaction | undefined} txn - * @returns {number} - */ - length(txn) { - const ret = wasm.ytext_length(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] >>> 0; - } - /** - * Returns an underlying shared string stored in this data type. - * @param {YTransaction | undefined} txn - * @returns {string} - */ - toString(txn) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.ytext_toString(this.__wbg_ptr, txn); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; - len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } - } - /** - * Returns an underlying shared string stored in this data type. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - toJson(txn) { - const ret = wasm.ytext_toJson(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Inserts a given `chunk` of text into this `YText` instance, starting at a given `index`. - * - * Optional object with defined `attributes` will be used to wrap provided text `chunk` - * with a formatting blocks.`attributes` are only supported for a `YText` instance which - * already has been integrated into document store. - * @param {number} index - * @param {string} chunk - * @param {any} attributes - * @param {YTransaction | undefined} txn - */ - insert(index, chunk, attributes, txn) { - const ptr0 = passStringToWasm0( - chunk, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ytext_insert( - this.__wbg_ptr, - index, - ptr0, - len0, - attributes, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Inserts a given `embed` object into this `YText` instance, starting at a given `index`. - * - * Optional object with defined `attributes` will be used to wrap provided `embed` - * with a formatting blocks.`attributes` are only supported for a `YText` instance which - * already has been integrated into document store. - * @param {number} index - * @param {any} embed - * @param {any} attributes - * @param {YTransaction | undefined} txn - */ - insertEmbed(index, embed, attributes, txn) { - const ret = wasm.ytext_insertEmbed( - this.__wbg_ptr, - index, - embed, - attributes, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Wraps an existing piece of text within a range described by `index`-`length` parameters with - * formatting blocks containing provided `attributes` metadata. This method only works for - * `YText` instances that already have been integrated into document store. - * @param {number} index - * @param {number} length - * @param {any} attributes - * @param {YTransaction | undefined} txn - */ - format(index, length, attributes, txn) { - const ret = wasm.ytext_format( - this.__wbg_ptr, - index, - length, - attributes, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Appends a given `chunk` of text at the end of current `YText` instance. - * - * Optional object with defined `attributes` will be used to wrap provided text `chunk` - * with a formatting blocks.`attributes` are only supported for a `YText` instance which - * already has been integrated into document store. - * @param {string} chunk - * @param {any} attributes - * @param {YTransaction | undefined} txn - */ - push(chunk, attributes, txn) { - const ptr0 = passStringToWasm0( - chunk, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ytext_push(this.__wbg_ptr, ptr0, len0, attributes, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Deletes a specified range of characters, starting at a given `index`. - * Both `index` and `length` are counted in terms of a number of UTF-8 character bytes. - * @param {number} index - * @param {number} length - * @param {YTransaction | undefined} txn - */ - delete(index, length, txn) { - const ret = wasm.ytext_delete(this.__wbg_ptr, index, length, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {number | null | undefined} lower - * @param {number | null | undefined} upper - * @param {boolean | null | undefined} lower_open - * @param {boolean | null | undefined} upper_open - * @param {YTransaction | undefined} txn - * @returns {YWeakLink} - */ - quote(lower, upper, lower_open, upper_open, txn) { - const ret = wasm.ytext_quote( - this.__wbg_ptr, - isLikeNone(lower) ? 0x100000001 : lower >>> 0, - isLikeNone(upper) ? 0x100000001 : upper >>> 0, - isLikeNone(lower_open) ? 0xffffff : lower_open ? 1 : 0, - isLikeNone(upper_open) ? 0xffffff : upper_open ? 1 : 0, - txn, - ); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return YWeakLink.__wrap(ret[0]); - } - /** - * Returns the Delta representation of this YText type. - * @param {any} snapshot - * @param {any} prev_snapshot - * @param {Function | null | undefined} compute_ychange - * @param {YTransaction | undefined} txn - * @returns {Array} - */ - toDelta(snapshot, prev_snapshot, compute_ychange, txn) { - const ret = wasm.ytext_toDelta( - this.__wbg_ptr, - snapshot, - prev_snapshot, - isLikeNone(compute_ychange) ? 0 : addToExternrefTable0(compute_ychange), - txn, - ); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @param {Array} delta - * @param {YTransaction | undefined} txn - */ - applyDelta(delta, txn) { - const ret = wasm.ytext_applyDelta(this.__wbg_ptr, delta, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Subscribes to all operations happening over this instance of `YText`. All changes are - * batched and eventually triggered during transaction commit phase. - * @param {Function} callback - */ - observe(callback) { - const ret = wasm.ytext_observe(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observe` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserve(callback) { - const ret = wasm.ytext_unobserve(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - * @param {Function} callback - */ - observeDeep(callback) { - const ret = wasm.ytext_observeDeep(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observeDeep` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserveDeep(callback) { - const ret = wasm.ytext_unobserveDeep(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } -} -module.exports.YText = YText; - -const YTextEventFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_ytextevent_free(ptr >>> 0, 1), - ); -/** - * Event generated by `YYText.observe` method. Emitted during transaction commit phase. - */ -class YTextEvent { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YTextEvent.prototype); - obj.__wbg_ptr = ptr; - YTextEventFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YTextEventFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_ytextevent_free(ptr, 0); - } - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - * @returns {any} - */ - path() { - const ret = wasm.ytextevent_path(this.__wbg_ptr); - return ret; - } - /** - * Returns a current shared type instance, that current event changes refer to. - * @returns {any} - */ - get target() { - const ret = wasm.ytextevent_target(this.__wbg_ptr); - return ret; - } - /** - * @returns {any} - */ - get origin() { - const ret = wasm.ytextevent_origin(this.__wbg_ptr); - return ret; - } - /** - * Returns a list of text changes made over corresponding `YText` collection within - * bounds of current transaction. These changes follow a format: - * - * - { insert: string, attributes: any|undefined } - * - { delete: number } - * - { retain: number, attributes: any|undefined } - * @returns {any} - */ - get delta() { - const ret = wasm.ytextevent_delta(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } -} -module.exports.YTextEvent = YTextEvent; - -const YTransactionFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_ytransaction_free(ptr >>> 0, 1), - ); - -class YTransaction { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YTransaction.prototype); - obj.__wbg_ptr = ptr; - YTransactionFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YTransactionFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_ytransaction_free(ptr, 0); - } - /** - * Returns state vector describing the state of the document - * at the moment when the transaction began. - * @returns {Map} - */ - get beforeState() { - const ret = wasm.ytransaction_beforeState(this.__wbg_ptr); - return ret; - } - /** - * Returns state vector describing the current state of - * the document. - * @returns {Map} - */ - get afterState() { - const ret = wasm.ytransaction_afterState(this.__wbg_ptr); - return ret; - } - /** - * @returns {any} - */ - get pendingStructs() { - const ret = wasm.ytransaction_pendingStructs(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a unapplied delete set, that was received in one of the previous remote updates. - * This DeleteSet is waiting for a missing updates to arrive in order to be applied. - * @returns {Map | undefined} - */ - get pendingDeleteSet() { - const ret = wasm.ytransaction_pendingDeleteSet(this.__wbg_ptr); - return ret; - } - /** - * Returns a delete set containing information about - * all blocks removed as part of a current transaction. - * @returns {Map} - */ - get deleteSet() { - const ret = wasm.ytransaction_deleteSet(this.__wbg_ptr); - return ret; - } - /** - * @returns {any} - */ - get origin() { - const ret = wasm.ytransaction_origin(this.__wbg_ptr); - return ret; - } - /** - * Given a logical identifier of the collection (obtained via `YText.id`, `YArray.id` etc.), - * attempts to return an instance of that collection in the scope of current document. - * - * Returns `undefined` if an instance was not defined locally, haven't been integrated or - * has been deleted. - * @param {any} id - * @returns {any} - */ - get(id) { - const ret = wasm.ytransaction_get(this.__wbg_ptr, id); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Triggers a post-update series of operations without `free`ing the transaction. This includes - * compaction and optimization of internal representation of updates, triggering events etc. - * ywasm transactions are auto-committed when they are `free`d. - */ - commit() { - const ret = wasm.ytransaction_commit(this.__wbg_ptr); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Encodes a state vector of a given transaction document into its binary representation using - * lib0 v1 encoding. State vector is a compact representation of updates performed on a given - * document and can be used by `encode_state_as_update` on remote peer to generate a delta - * update payload to synchronize changes between peers. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localTxn = localDoc.beginTransaction() - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteTxn = localDoc.beginTransaction() - * - * try { - * const localSV = localTxn.stateVectorV1() - * const remoteDelta = remoteTxn.diffV1(localSv) - * localTxn.applyV1(remoteDelta) - * } finally { - * localTxn.free() - * remoteTxn.free() - * } - * ``` - * @returns {Uint8Array} - */ - stateVectorV1() { - const ret = wasm.ytransaction_stateVectorV1(this.__wbg_ptr); - return ret; - } - /** - * Encodes all updates that have happened since a given version `vector` into a compact delta - * representation using lib0 v1 encoding. If `vector` parameter has not been provided, generated - * delta payload will contain all changes of a current ywasm document, working effectively as - * its state snapshot. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localTxn = localDoc.beginTransaction() - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteTxn = localDoc.beginTransaction() - * - * try { - * const localSV = localTxn.stateVectorV1() - * const remoteDelta = remoteTxn.diffV1(localSv) - * localTxn.applyV1(remoteDelta) - * } finally { - * localTxn.free() - * remoteTxn.free() - * } - * ``` - * @param {Uint8Array | null} [vector] - * @returns {Uint8Array} - */ - diffV1(vector) { - const ret = wasm.ytransaction_diffV1( - this.__wbg_ptr, - isLikeNone(vector) ? 0 : addToExternrefTable0(vector), - ); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Encodes all updates that have happened since a given version `vector` into a compact delta - * representation using lib0 v1 encoding. If `vector` parameter has not been provided, generated - * delta payload will contain all changes of a current ywasm document, working effectively as - * its state snapshot. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localTxn = localDoc.beginTransaction() - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteTxn = localDoc.beginTransaction() - * - * try { - * const localSV = localTxn.stateVectorV1() - * const remoteDelta = remoteTxn.diffV2(localSv) - * localTxn.applyV2(remoteDelta) - * } finally { - * localTxn.free() - * remoteTxn.free() - * } - * ``` - * @param {Uint8Array | null} [vector] - * @returns {Uint8Array} - */ - diffV2(vector) { - const ret = wasm.ytransaction_diffV2( - this.__wbg_ptr, - isLikeNone(vector) ? 0 : addToExternrefTable0(vector), - ); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Applies delta update generated by the remote document replica to a current transaction's - * document. This method assumes that a payload maintains lib0 v1 encoding format. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localTxn = localDoc.beginTransaction() - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteTxn = localDoc.beginTransaction() - * - * try { - * const localSV = localTxn.stateVectorV1() - * const remoteDelta = remoteTxn.diffV1(localSv) - * localTxn.applyV1(remoteDelta) - * } finally { - * localTxn.free() - * remoteTxn.free() - * } - * ``` - * @param {Uint8Array} diff - */ - applyV1(diff) { - const ret = wasm.ytransaction_applyV1(this.__wbg_ptr, diff); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Applies delta update generated by the remote document replica to a current transaction's - * document. This method assumes that a payload maintains lib0 v2 encoding format. - * - * Example: - * - * ```javascript - * import YDoc from 'ywasm' - * - * /// document on machine A - * const localDoc = new YDoc() - * const localTxn = localDoc.beginTransaction() - * - * // document on machine B - * const remoteDoc = new YDoc() - * const remoteTxn = localDoc.beginTransaction() - * - * try { - * const localSV = localTxn.stateVectorV1() - * const remoteDelta = remoteTxn.diffV2(localSv) - * localTxn.applyV2(remoteDelta) - * } finally { - * localTxn.free() - * remoteTxn.free() - * } - * ``` - * @param {Uint8Array} diff - */ - applyV2(diff) { - const ret = wasm.ytransaction_applyV2(this.__wbg_ptr, diff); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @returns {Uint8Array} - */ - encodeUpdate() { - const ret = wasm.ytransaction_encodeUpdate(this.__wbg_ptr); - return ret; - } - /** - * @returns {Uint8Array} - */ - encodeUpdateV2() { - const ret = wasm.ytransaction_encodeUpdateV2(this.__wbg_ptr); - return ret; - } - /** - * Force garbage collection of the deleted elements, regardless of a parent doc was created - * with `gc` option turned on or off. - */ - gc() { - const ret = wasm.ytransaction_gc(this.__wbg_ptr); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Evaluates a JSON path expression (see: https://en.wikipedia.org/wiki/JSONPath) on - * the document and returns an array of values matching that query. - * - * Currently, this method supports the following syntax: - * - `$` - root object - * - `@` - current object - * - `.field` or `['field']` - member accessor - * - `[1]` - array index (also supports negative indices) - * - `.*` or `[*]` - wildcard (matches all members of an object or array) - * - `..` - recursive descent (matches all descendants not only direct children) - * - `[start:end:step]` - array slice operator (requires positive integer arguments) - * - `['a', 'b', 'c']` - union operator (returns an array of values for each query) - * - `[1, -1, 3]` - multiple indices operator (returns an array of values for each index) - * - * At the moment, JSON Path does not support filter predicates. - * @param {string} json_path - * @returns {Array} - */ - selectAll(json_path) { - const ptr0 = passStringToWasm0( - json_path, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ytransaction_selectAll(this.__wbg_ptr, ptr0, len0); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Evaluates a JSON path expression (see: https://en.wikipedia.org/wiki/JSONPath) on - * the document and returns first value matching that query. - * - * Currently, this method supports the following syntax: - * - `$` - root object - * - `@` - current object - * - `.field` or `['field']` - member accessor - * - `[1]` - array index (also supports negative indices) - * - `.*` or `[*]` - wildcard (matches all members of an object or array) - * - `..` - recursive descent (matches all descendants not only direct children) - * - `[start:end:step]` - array slice operator (requires positive integer arguments) - * - `['a', 'b', 'c']` - union operator (returns an array of values for each query) - * - `[1, -1, 3]` - multiple indices operator (returns an array of values for each index) - * - * At the moment, JSON Path does not support filter predicates. - * @param {string} json_path - * @returns {any} - */ - selectOne(json_path) { - const ptr0 = passStringToWasm0( - json_path, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.ytransaction_selectOne(this.__wbg_ptr, ptr0, len0); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } -} -module.exports.YTransaction = YTransaction; - -const YUndoEventFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_yundoevent_free(ptr >>> 0, 1), - ); - -class YUndoEvent { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YUndoEvent.prototype); - obj.__wbg_ptr = ptr; - YUndoEventFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YUndoEventFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_yundoevent_free(ptr, 0); - } - /** - * @returns {any} - */ - get origin() { - const ret = wasm.yundoevent_origin(this.__wbg_ptr); - return ret; - } - /** - * @returns {any} - */ - get kind() { - const ret = wasm.yundoevent_kind(this.__wbg_ptr); - return ret; - } - /** - * @returns {any} - */ - get meta() { - const ret = wasm.yundoevent_meta(this.__wbg_ptr); - return ret; - } - /** - * @param {any} value - */ - set meta(value) { - wasm.yundoevent_set_meta(this.__wbg_ptr, value); - } -} -module.exports.YUndoEvent = YUndoEvent; - -const YUndoManagerFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_yundomanager_free(ptr >>> 0, 1), - ); - -class YUndoManager { - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YUndoManagerFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_yundomanager_free(ptr, 0); - } - /** - * @param {YDoc} doc - * @param {any} scope - * @param {any} options - */ - constructor(doc, scope, options) { - _assertClass(doc, YDoc); - const ret = wasm.yundomanager_new(doc.__wbg_ptr, scope, options); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - this.__wbg_ptr = ret[0] >>> 0; - YUndoManagerFinalization.register(this, this.__wbg_ptr, this); - return this; - } - /** - * @param {Array} ytypes - */ - addToScope(ytypes) { - const ret = wasm.yundomanager_addToScope(this.__wbg_ptr, ytypes); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {any} origin - */ - addTrackedOrigin(origin) { - wasm.yundomanager_addTrackedOrigin(this.__wbg_ptr, origin); - } - /** - * @param {any} origin - */ - removeTrackedOrigin(origin) { - wasm.yundomanager_removeTrackedOrigin(this.__wbg_ptr, origin); - } - clear() { - wasm.yundomanager_clear(this.__wbg_ptr); - } - stopCapturing() { - wasm.yundomanager_stopCapturing(this.__wbg_ptr); - } - undo() { - const ret = wasm.yundomanager_undo(this.__wbg_ptr); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - redo() { - const ret = wasm.yundomanager_redo(this.__wbg_ptr); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @returns {boolean} - */ - get canUndo() { - const ret = wasm.yundomanager_canUndo(this.__wbg_ptr); - return ret !== 0; - } - /** - * @returns {boolean} - */ - get canRedo() { - const ret = wasm.yundomanager_canRedo(this.__wbg_ptr); - return ret !== 0; - } - /** - * @param {string} event - * @param {Function} callback - */ - on(event, callback) { - const ptr0 = passStringToWasm0( - event, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yundomanager_on(this.__wbg_ptr, ptr0, len0, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} event - * @param {Function} callback - * @returns {boolean} - */ - off(event, callback) { - const ptr0 = passStringToWasm0( - event, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yundomanager_off(this.__wbg_ptr, ptr0, len0, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } -} -module.exports.YUndoManager = YUndoManager; - -const YWeakLinkFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_yweaklink_free(ptr >>> 0, 1), - ); - -class YWeakLink { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YWeakLink.prototype); - obj.__wbg_ptr = ptr; - YWeakLinkFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YWeakLinkFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_yweaklink_free(ptr, 0); - } - /** - * Returns true if this is a preliminary instance of `YWeakLink`. - * - * Preliminary instances can be nested into other shared data types such as `YArray` and `YMap`. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - * @returns {boolean} - */ - get prelim() { - const ret = wasm.yweaklink_prelim(this.__wbg_ptr); - return ret !== 0; - } - /** - * @returns {number} - */ - get type() { - const ret = wasm.yweaklink_type(this.__wbg_ptr); - return ret; - } - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - * @returns {any} - */ - get id() { - const ret = wasm.yweaklink_id(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Checks if current YWeakLink reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - * @param {YTransaction} txn - * @returns {boolean} - */ - alive(txn) { - _assertClass(txn, YTransaction); - const ret = wasm.yweaklink_alive(this.__wbg_ptr, txn.__wbg_ptr); - return ret !== 0; - } - /** - * @param {YTransaction | undefined} txn - * @returns {any} - */ - deref(txn) { - const ret = wasm.yweaklink_deref(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @param {YTransaction | undefined} txn - * @returns {Array} - */ - unquote(txn) { - const ret = wasm.yweaklink_unquote(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @param {YTransaction | undefined} txn - * @returns {string} - */ - toString(txn) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.yweaklink_toString(this.__wbg_ptr, txn); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; - len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } - } - /** - * Subscribes to all operations happening over this instance of `YMap`. All changes are - * batched and eventually triggered during transaction commit phase. - * @param {Function} callback - */ - observe(callback) { - const ret = wasm.yweaklink_observe(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observe` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserve(callback) { - const ret = wasm.yweaklink_unobserve(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - * @param {Function} callback - */ - observeDeep(callback) { - const ret = wasm.yweaklink_observeDeep(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observeDeep` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserveDeep(callback) { - const ret = wasm.yweaklink_unobserveDeep(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } -} -module.exports.YWeakLink = YWeakLink; - -const YWeakLinkEventFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_yweaklinkevent_free(ptr >>> 0, 1), - ); -/** - * Event generated by `YXmlElement.observe` method. Emitted during transaction commit phase. - */ -class YWeakLinkEvent { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YWeakLinkEvent.prototype); - obj.__wbg_ptr = ptr; - YWeakLinkEventFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YWeakLinkEventFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_yweaklinkevent_free(ptr, 0); - } - /** - * @returns {any} - */ - get origin() { - const ret = wasm.yweaklinkevent_origin(this.__wbg_ptr); - return ret; - } - /** - * Returns a current shared type instance, that current event changes refer to. - * @returns {any} - */ - get target() { - const ret = wasm.yweaklinkevent_target(this.__wbg_ptr); - return ret; - } - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - * @returns {any} - */ - path() { - const ret = wasm.yweaklinkevent_path(this.__wbg_ptr); - return ret; - } -} -module.exports.YWeakLinkEvent = YWeakLinkEvent; - -const YXmlElementFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_yxmlelement_free(ptr >>> 0, 1), - ); -/** - * XML element data type. It represents an XML node, which can contain key-value attributes - * (interpreted as strings) as well as other nested XML elements or rich text (represented by - * `YXmlText` type). - * - * In terms of conflict resolution, `YXmlElement` uses following rules: - * - * - Attribute updates use logical last-write-wins principle, meaning the past updates are - * automatically overridden and discarded by newer ones, while concurrent updates made by - * different peers are resolved into a single value using document id seniority to establish - * an order. - * - Child node insertion uses sequencing rules from other Yrs collections - elements are inserted - * using interleave-resistant algorithm, where order of concurrent inserts at the same index - * is established using peer's document id seniority. - */ -class YXmlElement { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YXmlElement.prototype); - obj.__wbg_ptr = ptr; - YXmlElementFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YXmlElementFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_yxmlelement_free(ptr, 0); - } - /** - * @param {string} name - * @param {any} attributes - * @param {any} children - */ - constructor(name, attributes, children) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yxmlelement_new(ptr0, len0, attributes, children); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - this.__wbg_ptr = ret[0] >>> 0; - YXmlElementFinalization.register(this, this.__wbg_ptr, this); - return this; - } - /** - * @returns {number} - */ - get type() { - const ret = wasm.yxmlelement_type(this.__wbg_ptr); - return ret; - } - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - * @returns {any} - */ - get id() { - const ret = wasm.yxmlelement_id(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns true if this is a preliminary instance of `YXmlElement`. - * - * Preliminary instances can be nested into other shared data types. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - * @returns {boolean} - */ - get prelim() { - const ret = wasm.yxmlelement_prelim(this.__wbg_ptr); - return ret !== 0; - } - /** - * Checks if current shared type reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - * @param {YTransaction} txn - * @returns {boolean} - */ - alive(txn) { - _assertClass(txn, YTransaction); - const ret = wasm.yxmlelement_alive(this.__wbg_ptr, txn.__wbg_ptr); - return ret !== 0; - } - /** - * Returns a tag name of this XML node. - * @param {YTransaction | undefined} txn - * @returns {string} - */ - name(txn) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.yxmlelement_name(this.__wbg_ptr, txn); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; - len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } - } - /** - * Returns a number of child XML nodes stored within this `YXMlElement` instance. - * @param {YTransaction | undefined} txn - * @returns {number} - */ - length(txn) { - const ret = wasm.yxmlelement_length(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] >>> 0; - } - /** - * @param {number} index - * @param {any} xml_node - * @param {YTransaction | undefined} txn - */ - insert(index, xml_node, txn) { - const ret = wasm.yxmlelement_insert(this.__wbg_ptr, index, xml_node, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {any} xml_node - * @param {YTransaction | undefined} txn - */ - push(xml_node, txn) { - const ret = wasm.yxmlelement_push(this.__wbg_ptr, xml_node, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {number} index - * @param {number | null | undefined} length - * @param {YTransaction | undefined} txn - */ - delete(index, length, txn) { - const ret = wasm.yxmlelement_delete( - this.__wbg_ptr, - index, - isLikeNone(length) ? 0x100000001 : length >>> 0, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Returns a first child of this XML node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node has not children. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - firstChild(txn) { - const ret = wasm.yxmlelement_firstChild(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a next XML sibling node of this XMl node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node is a last child of - * parent XML node. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - nextSibling(txn) { - const ret = wasm.yxmlelement_nextSibling(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a previous XML sibling node of this XMl node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node is a first child - * of parent XML node. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - prevSibling(txn) { - const ret = wasm.yxmlelement_prevSibling(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a parent `YXmlElement` node or `undefined` if current node has no parent assigned. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - parent(txn) { - const ret = wasm.yxmlelement_parent(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a string representation of this XML node. - * @param {YTransaction | undefined} txn - * @returns {string} - */ - toString(txn) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.yxmlelement_toString(this.__wbg_ptr, txn); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; - len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } - } - /** - * Sets a `name` and `value` as new attribute for this XML node. If an attribute with the same - * `name` already existed on that node, its value with be overridden with a provided one. - * This method accepts any JavaScript value, not just strings. - * @param {string} name - * @param {any} value - * @param {YTransaction | undefined} txn - */ - setAttribute(name, value, txn) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yxmlelement_setAttribute( - this.__wbg_ptr, - ptr0, - len0, - value, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Returns a value of an attribute given its `name` as any JS value. If no attribute with such name existed, - * `undefined` will be returned. - * @param {string} name - * @param {YTransaction | undefined} txn - * @returns {any} - */ - getAttribute(name, txn) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yxmlelement_getAttribute(this.__wbg_ptr, ptr0, len0, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Removes an attribute from this XML node, given its `name`. - * @param {string} name - * @param {YTransaction | undefined} txn - */ - removeAttribute(name, txn) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yxmlelement_removeAttribute( - this.__wbg_ptr, - ptr0, - len0, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Returns an iterator that enables to traverse over all attributes of this XML node in - * unspecified order. This method returns attribute values as their original JS values, - * not just as strings. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - attributes(txn) { - const ret = wasm.yxmlelement_attributes(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns an iterator that enables a deep traversal of this XML node - starting from first - * child over this XML node successors using depth-first strategy. - * @param {YTransaction | undefined} txn - * @returns {Array} - */ - treeWalker(txn) { - const ret = wasm.yxmlelement_treeWalker(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Subscribes to all operations happening over this instance of `YXmlElement`. All changes are - * batched and eventually triggered during transaction commit phase. - * @param {Function} callback - */ - observe(callback) { - const ret = wasm.yxmlelement_observe(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observe` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserve(callback) { - const ret = wasm.yxmlelement_unobserve(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - * @param {Function} callback - */ - observeDeep(callback) { - const ret = wasm.yxmlelement_observeDeep(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observeDeep` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserveDeep(callback) { - const ret = wasm.yxmlelement_unobserveDeep(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } -} -module.exports.YXmlElement = YXmlElement; - -const YXmlEventFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_yxmlevent_free(ptr >>> 0, 1), - ); -/** - * Event generated by `YXmlElement.observe` method. Emitted during transaction commit phase. - */ -class YXmlEvent { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YXmlEvent.prototype); - obj.__wbg_ptr = ptr; - YXmlEventFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YXmlEventFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_yxmlevent_free(ptr, 0); - } - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - * @returns {any} - */ - path() { - const ret = wasm.yxmlevent_path(this.__wbg_ptr); - return ret; - } - /** - * Returns a current shared type instance, that current event changes refer to. - * @returns {any} - */ - get target() { - const ret = wasm.yxmlevent_target(this.__wbg_ptr); - return ret; - } - /** - * @returns {any} - */ - get origin() { - const ret = wasm.yxmlevent_origin(this.__wbg_ptr); - return ret; - } - /** - * Returns a list of attribute changes made over corresponding `YXmlText` collection within - * bounds of current transaction. These changes follow a format: - * - * - { action: 'add'|'update'|'delete', oldValue: string|undefined, newValue: string|undefined } - * @returns {any} - */ - get keys() { - const ret = wasm.yxmlevent_keys(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a list of XML child node changes made over corresponding `YXmlElement` collection - * within bounds of current transaction. These changes follow a format: - * - * - { insert: (YXmlText|YXmlElement)[] } - * - { delete: number } - * - { retain: number } - * @returns {any} - */ - get delta() { - const ret = wasm.yxmlevent_delta(this.__wbg_ptr); - return ret; - } -} -module.exports.YXmlEvent = YXmlEvent; - -const YXmlFragmentFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_yxmlfragment_free(ptr >>> 0, 1), - ); -/** - * Represents a list of `YXmlElement` and `YXmlText` types. - * A `YXmlFragment` is similar to a `YXmlElement`, but it does not have a - * nodeName and it does not have attributes. Though it can be bound to a DOM - * element - in this case the attributes and the nodeName are not shared - */ -class YXmlFragment { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YXmlFragment.prototype); - obj.__wbg_ptr = ptr; - YXmlFragmentFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YXmlFragmentFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_yxmlfragment_free(ptr, 0); - } - /** - * @param {any[]} children - */ - constructor(children) { - const ptr0 = passArrayJsValueToWasm0(children, wasm.__wbindgen_malloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yxmlfragment_new(ptr0, len0); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - this.__wbg_ptr = ret[0] >>> 0; - YXmlFragmentFinalization.register(this, this.__wbg_ptr, this); - return this; - } - /** - * @returns {number} - */ - get type() { - const ret = wasm.yxmlfragment_type(this.__wbg_ptr); - return ret; - } - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - * @returns {any} - */ - get id() { - const ret = wasm.yxmlfragment_id(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns true if this is a preliminary instance of `YXmlFragment`. - * - * Preliminary instances can be nested into other shared data types. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - * @returns {boolean} - */ - get prelim() { - const ret = wasm.yxmlfragment_prelim(this.__wbg_ptr); - return ret !== 0; - } - /** - * Checks if current shared type reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - * @param {YTransaction} txn - * @returns {boolean} - */ - alive(txn) { - _assertClass(txn, YTransaction); - const ret = wasm.yxmlfragment_alive(this.__wbg_ptr, txn.__wbg_ptr); - return ret !== 0; - } - /** - * Returns a number of child XML nodes stored within this `YXMlElement` instance. - * @param {YTransaction | undefined} txn - * @returns {number} - */ - length(txn) { - const ret = wasm.yxmlfragment_length(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] >>> 0; - } - /** - * @param {number} index - * @param {any} xml_node - * @param {YTransaction | undefined} txn - */ - insert(index, xml_node, txn) { - const ret = wasm.yxmlfragment_insert(this.__wbg_ptr, index, xml_node, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {any} xml_node - * @param {YTransaction | undefined} txn - */ - push(xml_node, txn) { - const ret = wasm.yxmlfragment_push(this.__wbg_ptr, xml_node, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {number} index - * @param {number | null | undefined} length - * @param {YTransaction | undefined} txn - */ - delete(index, length, txn) { - const ret = wasm.yxmlfragment_delete( - this.__wbg_ptr, - index, - isLikeNone(length) ? 0x100000001 : length >>> 0, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Returns a first child of this XML node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node has not children. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - firstChild(txn) { - const ret = wasm.yxmlfragment_firstChild(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a string representation of this XML node. - * @param {YTransaction | undefined} txn - * @returns {string} - */ - toString(txn) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.yxmlfragment_toString(this.__wbg_ptr, txn); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; - len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } - } - /** - * Returns an iterator that enables a deep traversal of this XML node - starting from first - * child over this XML node successors using depth-first strategy. - * @param {YTransaction | undefined} txn - * @returns {Array} - */ - treeWalker(txn) { - const ret = wasm.yxmlfragment_treeWalker(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Subscribes to all operations happening over this instance of `YXmlFragment`. All changes are - * batched and eventually triggered during transaction commit phase. - * @param {Function} callback - */ - observe(callback) { - const ret = wasm.yxmlfragment_observe(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observe` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserve(callback) { - const ret = wasm.yxmlfragment_unobserve(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - * @param {Function} callback - */ - observeDeep(callback) { - const ret = wasm.yxmlfragment_observeDeep(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observeDeep` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserveDeep(callback) { - const ret = wasm.yxmlfragment_unobserveDeep(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } -} -module.exports.YXmlFragment = YXmlFragment; - -const YXmlTextFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => wasm.__wbg_yxmltext_free(ptr >>> 0, 1)); -/** - * A shared data type used for collaborative text editing, that can be used in a context of - * `YXmlElement` nodee. It enables multiple users to add and remove chunks of text in efficient - * manner. This type is internally represented as a mutable double-linked list of text chunks - * - an optimization occurs during `YTransaction.commit`, which allows to squash multiple - * consecutively inserted characters together as a single chunk of text even between transaction - * boundaries in order to preserve more efficient memory model. - * - * Just like `YXmlElement`, `YXmlText` can be marked with extra metadata in form of attributes. - * - * `YXmlText` structure internally uses UTF-8 encoding and its length is described in a number of - * bytes rather than individual characters (a single UTF-8 code point can consist of many bytes). - * - * Like all Yrs shared data types, `YXmlText` is resistant to the problem of interleaving (situation - * when characters inserted one after another may interleave with other peers concurrent inserts - * after merging all updates together). In case of Yrs conflict resolution is solved by using - * unique document id to determine correct and consistent ordering. - */ -class YXmlText { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YXmlText.prototype); - obj.__wbg_ptr = ptr; - YXmlTextFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YXmlTextFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_yxmltext_free(ptr, 0); - } - /** - * @param {string | null | undefined} text - * @param {any} attributes - */ - constructor(text, attributes) { - var ptr0 = isLikeNone(text) - ? 0 - : passStringToWasm0( - text, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - var len0 = WASM_VECTOR_LEN; - const ret = wasm.yxmltext_new(ptr0, len0, attributes); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - this.__wbg_ptr = ret[0] >>> 0; - YXmlTextFinalization.register(this, this.__wbg_ptr, this); - return this; - } - /** - * @returns {number} - */ - get type() { - const ret = wasm.yxmltext_type(this.__wbg_ptr); - return ret; - } - /** - * Gets unique logical identifier of this type, shared across peers collaborating on the same - * document. - * @returns {any} - */ - get id() { - const ret = wasm.yxmltext_id(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns true if this is a preliminary instance of `YXmlText`. - * - * Preliminary instances can be nested into other shared data types. - * Once a preliminary instance has been inserted this way, it becomes integrated into ywasm - * document store and cannot be nested again: attempt to do so will result in an exception. - * @returns {boolean} - */ - get prelim() { - const ret = wasm.yxmltext_prelim(this.__wbg_ptr); - return ret !== 0; - } - /** - * Checks if current shared type reference is alive and has not been deleted by its parent collection. - * This method only works on already integrated shared types and will return false is current - * type is preliminary (has not been integrated into document). - * @param {YTransaction} txn - * @returns {boolean} - */ - alive(txn) { - _assertClass(txn, YTransaction); - const ret = wasm.yxmltext_alive(this.__wbg_ptr, txn.__wbg_ptr); - return ret !== 0; - } - /** - * Returns length of an underlying string stored in this `YXmlText` instance, - * understood as a number of UTF-8 encoded bytes. - * @param {YTransaction | undefined} txn - * @returns {number} - */ - length(txn) { - const ret = wasm.yxmltext_length(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] >>> 0; - } - /** - * Inserts a given `chunk` of text into this `YXmlText` instance, starting at a given `index`. - * - * Optional object with defined `attributes` will be used to wrap provided text `chunk` - * with a formatting blocks. - * @param {number} index - * @param {string} chunk - * @param {any} attributes - * @param {YTransaction | undefined} txn - */ - insert(index, chunk, attributes, txn) { - const ptr0 = passStringToWasm0( - chunk, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yxmltext_insert( - this.__wbg_ptr, - index, - ptr0, - len0, - attributes, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Formats text within bounds specified by `index` and `len` with a given formatting - * attributes. - * @param {number} index - * @param {number} length - * @param {any} attributes - * @param {YTransaction | undefined} txn - */ - format(index, length, attributes, txn) { - const ret = wasm.yxmltext_format( - this.__wbg_ptr, - index, - length, - attributes, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {number | null | undefined} lower - * @param {number | null | undefined} upper - * @param {boolean | null | undefined} lower_open - * @param {boolean | null | undefined} upper_open - * @param {YTransaction | undefined} txn - * @returns {YWeakLink} - */ - quote(lower, upper, lower_open, upper_open, txn) { - const ret = wasm.yxmltext_quote( - this.__wbg_ptr, - isLikeNone(lower) ? 0x100000001 : lower >>> 0, - isLikeNone(upper) ? 0x100000001 : upper >>> 0, - isLikeNone(lower_open) ? 0xffffff : lower_open ? 1 : 0, - isLikeNone(upper_open) ? 0xffffff : upper_open ? 1 : 0, - txn, - ); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return YWeakLink.__wrap(ret[0]); - } - /** - * Returns the Delta representation of this YXmlText type. - * @param {any} snapshot - * @param {any} prev_snapshot - * @param {Function | null | undefined} compute_ychange - * @param {YTransaction | undefined} txn - * @returns {Array} - */ - toDelta(snapshot, prev_snapshot, compute_ychange, txn) { - const ret = wasm.yxmltext_toDelta( - this.__wbg_ptr, - snapshot, - prev_snapshot, - isLikeNone(compute_ychange) ? 0 : addToExternrefTable0(compute_ychange), - txn, - ); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Inserts a given `embed` object into this `YXmlText` instance, starting at a given `index`. - * - * Optional object with defined `attributes` will be used to wrap provided `embed` - * with a formatting blocks.`attributes` are only supported for a `YXmlText` instance which - * already has been integrated into document store. - * @param {number} index - * @param {any} embed - * @param {any} attributes - * @param {YTransaction | undefined} txn - */ - insertEmbed(index, embed, attributes, txn) { - const ret = wasm.yxmltext_insertEmbed( - this.__wbg_ptr, - index, - embed, - attributes, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Appends a given `chunk` of text at the end of `YXmlText` instance. - * - * Optional object with defined `attributes` will be used to wrap provided text `chunk` - * with a formatting blocks. - * @param {string} chunk - * @param {any} attributes - * @param {YTransaction | undefined} txn - */ - push(chunk, attributes, txn) { - const ptr0 = passStringToWasm0( - chunk, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yxmltext_push(this.__wbg_ptr, ptr0, len0, attributes, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {Array} delta - * @param {YTransaction | undefined} txn - */ - applyDelta(delta, txn) { - const ret = wasm.yxmltext_applyDelta(this.__wbg_ptr, delta, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Deletes a specified range of characters, starting at a given `index`. - * Both `index` and `length` are counted in terms of a number of UTF-8 character bytes. - * @param {number} index - * @param {number} length - * @param {YTransaction | undefined} txn - */ - delete(index, length, txn) { - const ret = wasm.yxmltext_delete(this.__wbg_ptr, index, length, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Returns a next XML sibling node of this XMl node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node is a last child of - * parent XML node. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - nextSibling(txn) { - const ret = wasm.yxmltext_nextSibling(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a previous XML sibling node of this XMl node. - * It can be either `YXmlElement`, `YXmlText` or `undefined` if current node is a first child - * of parent XML node. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - prevSibling(txn) { - const ret = wasm.yxmltext_prevSibling(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a parent `YXmlElement` node or `undefined` if current node has no parent assigned. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - parent(txn) { - const ret = wasm.yxmltext_parent(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns an underlying string stored in this `YXmlText` instance. - * @param {YTransaction | undefined} txn - * @returns {string} - */ - toString(txn) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.yxmltext_toString(this.__wbg_ptr, txn); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; - len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } - } - /** - * Sets a `name` and `value` as new attribute for this XML node. If an attribute with the same - * `name` already existed on that node, its value with be overridden with a provided one. - * This method accepts any JavaScript value, not just strings. - * @param {string} name - * @param {any} value - * @param {YTransaction | undefined} txn - */ - setAttribute(name, value, txn) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yxmltext_setAttribute( - this.__wbg_ptr, - ptr0, - len0, - value, - txn, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Returns a value of an attribute given its `name` as any JS value. If no attribute with such name existed, - * `undefined` will be returned. - * @param {string} name - * @param {YTransaction | undefined} txn - * @returns {any} - */ - getAttribute(name, txn) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yxmltext_getAttribute(this.__wbg_ptr, ptr0, len0, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Removes an attribute from this XML node, given its `name`. - * @param {string} name - * @param {YTransaction | undefined} txn - */ - removeAttribute(name, txn) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.yxmltext_removeAttribute(this.__wbg_ptr, ptr0, len0, txn); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Returns an iterator that enables to traverse over all attributes of this XML node in - * unspecified order. This method returns attribute values as their original JS values, - * not just as strings. - * @param {YTransaction | undefined} txn - * @returns {any} - */ - attributes(txn) { - const ret = wasm.yxmltext_attributes(this.__wbg_ptr, txn); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Subscribes to all operations happening over this instance of `YXmlText`. All changes are - * batched and eventually triggered during transaction commit phase. - * @param {Function} callback - */ - observe(callback) { - const ret = wasm.yxmltext_observe(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observe` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserve(callback) { - const ret = wasm.yxmltext_unobserve(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * Subscribes to all operations happening over this Y shared type, as well as events in - * shared types stored within this one. All changes are batched and eventually triggered - * during transaction commit phase. - * @param {Function} callback - */ - observeDeep(callback) { - const ret = wasm.yxmltext_observeDeep(this.__wbg_ptr, callback); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * Unsubscribes a callback previously subscribed with `observe` method. - * @param {Function} callback - * @returns {boolean} - */ - unobserveDeep(callback) { - const ret = wasm.yxmltext_unobserveDeep(this.__wbg_ptr, callback); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } -} -module.exports.YXmlText = YXmlText; - -const YXmlTextEventFinalization = - typeof FinalizationRegistry === "undefined" - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_yxmltextevent_free(ptr >>> 0, 1), - ); -/** - * Event generated by `YXmlText.observe` method. Emitted during transaction commit phase. - */ -class YXmlTextEvent { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(YXmlTextEvent.prototype); - obj.__wbg_ptr = ptr; - YXmlTextEventFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - YXmlTextEventFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_yxmltextevent_free(ptr, 0); - } - /** - * Returns an array of keys and indexes creating a path from root type down to current instance - * of shared type (accessible via `target` getter). - * @returns {any} - */ - path() { - const ret = wasm.yxmltextevent_path(this.__wbg_ptr); - return ret; - } - /** - * Returns a current shared type instance, that current event changes refer to. - * @returns {any} - */ - get target() { - const ret = wasm.yxmltextevent_target(this.__wbg_ptr); - return ret; - } - /** - * @returns {any} - */ - get origin() { - const ret = wasm.yxmltextevent_origin(this.__wbg_ptr); - return ret; - } - /** - * Returns a list of text changes made over corresponding `YText` collection within - * bounds of current transaction. These changes follow a format: - * - * - { insert: string, attributes: any|undefined } - * - { delete: number } - * - { retain: number, attributes: any|undefined } - * @returns {any} - */ - get delta() { - const ret = wasm.yxmltextevent_delta(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * Returns a list of attribute changes made over corresponding `YXmlText` collection within - * bounds of current transaction. These changes follow a format: - * - * - { action: 'add'|'update'|'delete', oldValue: string|undefined, newValue: string|undefined } - * @returns {any} - */ - get keys() { - const ret = wasm.yxmltextevent_keys(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } -} -module.exports.YXmlTextEvent = YXmlTextEvent; - -module.exports.__wbg_buffer_609cc3eee51ed158 = function (arg0) { - const ret = arg0.buffer; - return ret; -}; - -module.exports.__wbg_call_672a4d21634d4a24 = function () { - return handleError(function (arg0, arg1) { - const ret = arg0.call(arg1); - return ret; - }, arguments); -}; - -module.exports.__wbg_call_7cccdd69e0791ae2 = function () { - return handleError(function (arg0, arg1, arg2) { - const ret = arg0.call(arg1, arg2); - return ret; - }, arguments); -}; - -module.exports.__wbg_call_833bed5770ea2041 = function () { - return handleError(function (arg0, arg1, arg2, arg3) { - const ret = arg0.call(arg1, arg2, arg3); - return ret; - }, arguments); -}; - -module.exports.__wbg_crypto_574e78ad8b13b65f = function (arg0) { - const ret = arg0.crypto; - return ret; -}; - -module.exports.__wbg_entries_3265d4158b33e5dc = function (arg0) { - const ret = Object.entries(arg0); - return ret; -}; - -module.exports.__wbg_error_7534b8e9a36f1ab4 = function (arg0, arg1) { - let deferred0_0; - let deferred0_1; - try { - deferred0_0 = arg0; - deferred0_1 = arg1; - console.error(getStringFromWasm0(arg0, arg1)); - } finally { - wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); - } -}; - -module.exports.__wbg_from_2a5d3e218e67aa85 = function (arg0) { - const ret = Array.from(arg0); - return ret; -}; - -module.exports.__wbg_getRandomValues_b8f5dbd5f3995a9e = function () { - return handleError(function (arg0, arg1) { - arg0.getRandomValues(arg1); - }, arguments); -}; - -module.exports.__wbg_get_67b2ba62fc30de12 = function () { - return handleError(function (arg0, arg1) { - const ret = Reflect.get(arg0, arg1); - return ret; - }, arguments); -}; - -module.exports.__wbg_get_b9b93047fe3cf45b = function (arg0, arg1) { - const ret = arg0[arg1 >>> 0]; - return ret; -}; - -module.exports.__wbg_isArray_a1eab7e0d067391b = function (arg0) { - const ret = Array.isArray(arg0); - return ret; -}; - -module.exports.__wbg_length_a446193dc22c12f8 = function (arg0) { - const ret = arg0.length; - return ret; -}; - -module.exports.__wbg_length_e2d2a49132c1b256 = function (arg0) { - const ret = arg0.length; - return ret; -}; - -module.exports.__wbg_msCrypto_a61aeb35a24c1329 = function (arg0) { - const ret = arg0.msCrypto; - return ret; -}; - -module.exports.__wbg_new_405e22f390576ce2 = function () { - const ret = new Object(); - return ret; -}; - -module.exports.__wbg_new_5e0be73521bc8c17 = function () { - const ret = new Map(); - return ret; -}; - -module.exports.__wbg_new_78feb108b6472713 = function () { - const ret = new Array(); - return ret; -}; - -module.exports.__wbg_new_8a6f238a6ece86ea = function () { - const ret = new Error(); - return ret; -}; - -module.exports.__wbg_new_a12002a7f91c75be = function (arg0) { - const ret = new Uint8Array(arg0); - return ret; -}; - -module.exports.__wbg_new_a239edaa1dc2968f = function (arg0) { - const ret = new Set(arg0); - return ret; -}; - -module.exports.__wbg_newnoargs_105ed471475aaf50 = function (arg0, arg1) { - const ret = new Function(getStringFromWasm0(arg0, arg1)); - return ret; -}; - -module.exports.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a = function ( - arg0, - arg1, - arg2, -) { - const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); - return ret; -}; - -module.exports.__wbg_newwithlength_a381634e90c276d4 = function (arg0) { - const ret = new Uint8Array(arg0 >>> 0); - return ret; -}; - -module.exports.__wbg_node_905d3e251edff8a2 = function (arg0) { - const ret = arg0.node; - return ret; -}; - -module.exports.__wbg_now_807e54c39636c349 = function () { - const ret = Date.now(); - return ret; -}; - -module.exports.__wbg_parse_def2e24ef1252aff = function () { - return handleError(function (arg0, arg1) { - const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); - return ret; - }, arguments); -}; - -module.exports.__wbg_process_dc0fbacc7c1c06f7 = function (arg0) { - const ret = arg0.process; - return ret; -}; - -module.exports.__wbg_push_737cfc8c1432c2c6 = function (arg0, arg1) { - const ret = arg0.push(arg1); - return ret; -}; - -module.exports.__wbg_randomFillSync_ac0988aba3254290 = function () { - return handleError(function (arg0, arg1) { - arg0.randomFillSync(arg1); - }, arguments); -}; - -module.exports.__wbg_require_60cc747a6bc5215a = function () { - return handleError(function () { - const ret = module.require; - return ret; - }, arguments); -}; - -module.exports.__wbg_set_65595bdd868b3009 = function (arg0, arg1, arg2) { - arg0.set(arg1, arg2 >>> 0); -}; - -module.exports.__wbg_set_8fc6bf8a5b1071d1 = function (arg0, arg1, arg2) { - const ret = arg0.set(arg1, arg2); - return ret; -}; - -module.exports.__wbg_set_bb8cecf6a62b9f46 = function () { - return handleError(function (arg0, arg1, arg2) { - const ret = Reflect.set(arg0, arg1, arg2); - return ret; - }, arguments); -}; - -module.exports.__wbg_stack_0ed75d68575b0f3c = function (arg0, arg1) { - const ret = arg1.stack; - const ptr1 = passStringToWasm0( - ret, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len1 = WASM_VECTOR_LEN; - getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); - getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); -}; - -module.exports.__wbg_static_accessor_GLOBAL_88a902d13a557d07 = function () { - const ret = typeof global === "undefined" ? null : global; - return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); -}; - -module.exports.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0 = - function () { - const ret = typeof globalThis === "undefined" ? null : globalThis; - return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); - }; - -module.exports.__wbg_static_accessor_SELF_37c5d418e4bf5819 = function () { - const ret = typeof self === "undefined" ? null : self; - return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); -}; - -module.exports.__wbg_static_accessor_WINDOW_5de37043a91a9c40 = function () { - const ret = typeof window === "undefined" ? null : window; - return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); -}; - -module.exports.__wbg_stringify_f7ed6987935b4a24 = function () { - return handleError(function (arg0) { - const ret = JSON.stringify(arg0); - return ret; - }, arguments); -}; - -module.exports.__wbg_subarray_aa9065fa9dc5df96 = function (arg0, arg1, arg2) { - const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0); - return ret; -}; - -module.exports.__wbg_versions_c01dfd4722a88165 = function (arg0) { - const ret = arg0.versions; - return ret; -}; - -module.exports.__wbg_yarray_new = function (arg0) { - const ret = YArray.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_yarrayevent_new = function (arg0) { - const ret = YArrayEvent.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_ydoc_new = function (arg0) { - const ret = YDoc.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_ymap_new = function (arg0) { - const ret = YMap.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_ymapevent_new = function (arg0) { - const ret = YMapEvent.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_ysubdocsevent_new = function (arg0) { - const ret = YSubdocsEvent.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_ytext_new = function (arg0) { - const ret = YText.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_ytextevent_new = function (arg0) { - const ret = YTextEvent.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_ytransaction_new = function (arg0) { - const ret = YTransaction.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_yundoevent_new = function (arg0) { - const ret = YUndoEvent.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_yweaklink_new = function (arg0) { - const ret = YWeakLink.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_yweaklinkevent_new = function (arg0) { - const ret = YWeakLinkEvent.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_yxmlelement_new = function (arg0) { - const ret = YXmlElement.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_yxmlevent_new = function (arg0) { - const ret = YXmlEvent.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_yxmlfragment_new = function (arg0) { - const ret = YXmlFragment.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_yxmltext_new = function (arg0) { - const ret = YXmlText.__wrap(arg0); - return ret; -}; - -module.exports.__wbg_yxmltextevent_new = function (arg0) { - const ret = YXmlTextEvent.__wrap(arg0); - return ret; -}; - -module.exports.__wbindgen_bigint_from_i64 = function (arg0) { - const ret = arg0; - return ret; -}; - -module.exports.__wbindgen_bigint_from_u64 = function (arg0) { - const ret = BigInt.asUintN(64, arg0); - return ret; -}; - -module.exports.__wbindgen_boolean_get = function (arg0) { - const v = arg0; - const ret = typeof v === "boolean" ? (v ? 1 : 0) : 2; - return ret; -}; - -module.exports.__wbindgen_debug_string = function (arg0, arg1) { - const ret = debugString(arg1); - const ptr1 = passStringToWasm0( - ret, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len1 = WASM_VECTOR_LEN; - getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); - getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); -}; - -module.exports.__wbindgen_init_externref_table = function () { - const table = wasm.__wbindgen_export_2; - const offset = table.grow(4); - table.set(0, undefined); - table.set(offset + 0, undefined); - table.set(offset + 1, null); - table.set(offset + 2, true); - table.set(offset + 3, false); -}; - -module.exports.__wbindgen_is_bigint = function (arg0) { - const ret = typeof arg0 === "bigint"; - return ret; -}; - -module.exports.__wbindgen_is_function = function (arg0) { - const ret = typeof arg0 === "function"; - return ret; -}; - -module.exports.__wbindgen_is_null = function (arg0) { - const ret = arg0 === null; - return ret; -}; - -module.exports.__wbindgen_is_object = function (arg0) { - const val = arg0; - const ret = typeof val === "object" && val !== null; - return ret; -}; - -module.exports.__wbindgen_is_string = function (arg0) { - const ret = typeof arg0 === "string"; - return ret; -}; - -module.exports.__wbindgen_is_undefined = function (arg0) { - const ret = arg0 === undefined; - return ret; -}; - -module.exports.__wbindgen_memory = function () { - const ret = wasm.memory; - return ret; -}; - -module.exports.__wbindgen_number_get = function (arg0, arg1) { - const obj = arg1; - const ret = typeof obj === "number" ? obj : undefined; - getDataViewMemory0().setFloat64( - arg0 + 8 * 1, - isLikeNone(ret) ? 0 : ret, - true, - ); - getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); -}; - -module.exports.__wbindgen_number_new = function (arg0) { - const ret = arg0; - return ret; -}; - -module.exports.__wbindgen_string_get = function (arg0, arg1) { - const obj = arg1; - const ret = typeof obj === "string" ? obj : undefined; - var ptr1 = isLikeNone(ret) - ? 0 - : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); - getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); -}; - -module.exports.__wbindgen_string_new = function (arg0, arg1) { - const ret = getStringFromWasm0(arg0, arg1); - return ret; -}; - -module.exports.__wbindgen_throw = function (arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); -}; - -const path = require("path").join( - process.cwd(), - "public", - "wasm", - "ywasm_bg.wasm", -); -const bytes = require("fs").readFileSync(path); - -const wasmModule = new WebAssembly.Module(bytes); -const wasmInstance = new WebAssembly.Instance(wasmModule, imports); -wasm = wasmInstance.exports; -module.exports.__wasm = wasm; - -wasm.__wbindgen_start(); -- 2.51.2