Comparing version 13.5.51 to 13.5.52
@@ -7,3 +7,3 @@ export function followRedone(store: StructStore, id: ID): { | ||
export function splitItem(transaction: Transaction, leftItem: Item, diff: number): Item; | ||
export function redoItem(transaction: Transaction, item: Item, redoitems: Set<Item>, itemsToDelete: DeleteSet, ignoreRemoteMapChanges: boolean): Item | null; | ||
export function redoItem(transaction: Transaction, item: Item, redoitems: Set<Item>, itemsToDelete: DeleteSet, ignoreRemoteMapChanges: boolean, um: import('../utils/UndoManager.js').UndoManager): Item | null; | ||
/** | ||
@@ -177,29 +177,29 @@ * Abstract class that represents any content. | ||
/** | ||
* @param {number} offset | ||
* @param {number} _offset | ||
* @return {AbstractContent} | ||
*/ | ||
splice(offset: number): AbstractContent; | ||
splice(_offset: number): AbstractContent; | ||
/** | ||
* @param {AbstractContent} right | ||
* @param {AbstractContent} _right | ||
* @return {boolean} | ||
*/ | ||
mergeWith(right: AbstractContent): boolean; | ||
mergeWith(_right: AbstractContent): boolean; | ||
/** | ||
* @param {Transaction} transaction | ||
* @param {Item} item | ||
* @param {Transaction} _transaction | ||
* @param {Item} _item | ||
*/ | ||
integrate(transaction: Transaction, item: Item): void; | ||
integrate(_transaction: Transaction, _item: Item): void; | ||
/** | ||
* @param {Transaction} transaction | ||
* @param {Transaction} _transaction | ||
*/ | ||
delete(transaction: Transaction): void; | ||
delete(_transaction: Transaction): void; | ||
/** | ||
* @param {StructStore} store | ||
* @param {StructStore} _store | ||
*/ | ||
gc(store: StructStore): void; | ||
gc(_store: StructStore): void; | ||
/** | ||
* @param {UpdateEncoderV1 | UpdateEncoderV2} encoder | ||
* @param {number} offset | ||
* @param {UpdateEncoderV1 | UpdateEncoderV2} _encoder | ||
* @param {number} _offset | ||
*/ | ||
write(encoder: UpdateEncoderV1 | UpdateEncoderV2, offset: number): void; | ||
write(_encoder: UpdateEncoderV1 | UpdateEncoderV2, _offset: number): void; | ||
/** | ||
@@ -206,0 +206,0 @@ * @return {number} |
@@ -135,3 +135,3 @@ /** | ||
/** | ||
* Executes a provided function on once on overy element of this YArray. | ||
* Executes a provided function once on overy element of this YArray. | ||
* | ||
@@ -138,0 +138,0 @@ * @param {function(T,number,YArray<T>):void} f A function to execute on every element of this YArray. |
@@ -0,1 +1,14 @@ | ||
export class StackItem { | ||
/** | ||
* @param {DeleteSet} deletions | ||
* @param {DeleteSet} insertions | ||
*/ | ||
constructor(deletions: DeleteSet, insertions: DeleteSet); | ||
insertions: DeleteSet; | ||
deletions: DeleteSet; | ||
/** | ||
* Use this to save and restore metadata like selection range | ||
*/ | ||
meta: Map<any, any>; | ||
} | ||
/** | ||
@@ -140,2 +153,3 @@ * @typedef {Object} UndoManagerOptions | ||
}; | ||
import { DeleteSet } from "./DeleteSet.js"; | ||
import { Observable } from "lib0/observable"; | ||
@@ -145,18 +159,3 @@ import { AbstractType } from "../types/AbstractType.js"; | ||
import { Transaction } from "./Transaction.js"; | ||
declare class StackItem { | ||
/** | ||
* @param {DeleteSet} deletions | ||
* @param {DeleteSet} insertions | ||
*/ | ||
constructor(deletions: DeleteSet, insertions: DeleteSet); | ||
insertions: DeleteSet; | ||
deletions: DeleteSet; | ||
/** | ||
* Use this to save and restore metadata like selection range | ||
*/ | ||
meta: Map<any, any>; | ||
} | ||
import { Doc } from "./Doc.js"; | ||
import { DeleteSet } from "./DeleteSet.js"; | ||
export {}; | ||
//# sourceMappingURL=UndoManager.d.ts.map |
{ | ||
"name": "yjs", | ||
"version": "13.5.51", | ||
"version": "13.5.52", | ||
"description": "Shared Editing Library", | ||
@@ -5,0 +5,0 @@ "main": "./dist/yjs.cjs", |
@@ -26,3 +26,3 @@ | ||
isDeleted, | ||
DeleteSet, UpdateDecoderV1, UpdateDecoderV2, UpdateEncoderV1, UpdateEncoderV2, ContentType, ContentDeleted, StructStore, ID, AbstractType, Transaction // eslint-disable-line | ||
StackItem, DeleteSet, UpdateDecoderV1, UpdateDecoderV2, UpdateEncoderV1, UpdateEncoderV2, ContentType, ContentDeleted, StructStore, ID, AbstractType, Transaction // eslint-disable-line | ||
} from '../internals.js' | ||
@@ -32,2 +32,3 @@ | ||
import * as binary from 'lib0/binary' | ||
import * as array from 'lib0/array' | ||
@@ -126,2 +127,8 @@ /** | ||
/** | ||
* @param {Array<StackItem>} stack | ||
* @param {ID} id | ||
*/ | ||
const isDeletedByUndoStack = (stack, id) => array.some(stack, /** @param {StackItem} s */ s => isDeleted(s.deletions, id)) | ||
/** | ||
* Redoes the effect of this operation. | ||
@@ -134,2 +141,3 @@ * | ||
* @param {boolean} ignoreRemoteMapChanges | ||
* @param {import('../utils/UndoManager.js').UndoManager} um | ||
* | ||
@@ -140,3 +148,3 @@ * @return {Item|null} | ||
*/ | ||
export const redoItem = (transaction, item, redoitems, itemsToDelete, ignoreRemoteMapChanges) => { | ||
export const redoItem = (transaction, item, redoitems, itemsToDelete, ignoreRemoteMapChanges, um) => { | ||
const doc = transaction.doc | ||
@@ -161,3 +169,3 @@ const store = doc.store | ||
// try to undo parent if it will be undone anyway | ||
if (parentItem.redone === null && (!redoitems.has(parentItem) || redoItem(transaction, parentItem, redoitems, itemsToDelete, ignoreRemoteMapChanges) === null)) { | ||
if (parentItem.redone === null && (!redoitems.has(parentItem) || redoItem(transaction, parentItem, redoitems, itemsToDelete, ignoreRemoteMapChanges, um) === null)) { | ||
return null | ||
@@ -212,10 +220,7 @@ } | ||
// If it is intended to delete right while item is redone, we can expect that item should replace right. | ||
while (left !== null && left.right !== null && isDeleted(itemsToDelete, left.right.id)) { | ||
while (left !== null && left.right !== null && (left.right.redone || isDeleted(itemsToDelete, left.right.id) || isDeletedByUndoStack(um.undoStack, left.right.id) || isDeletedByUndoStack(um.redoStack, left.right.id))) { | ||
left = left.right | ||
// follow redone | ||
while (left.redone) left = getItemCleanStart(transaction, left.redone) | ||
} | ||
// follow redone | ||
// trace redone until parent matches | ||
while (left !== null && left.redone !== null) { | ||
left = getItemCleanStart(transaction, left.redone) | ||
} | ||
if (left && left.right !== null) { | ||
@@ -766,6 +771,6 @@ // It is not possible to redo this item because it conflicts with a | ||
/** | ||
* @param {number} offset | ||
* @param {number} _offset | ||
* @return {AbstractContent} | ||
*/ | ||
splice (offset) { | ||
splice (_offset) { | ||
throw error.methodUnimplemented() | ||
@@ -775,6 +780,6 @@ } | ||
/** | ||
* @param {AbstractContent} right | ||
* @param {AbstractContent} _right | ||
* @return {boolean} | ||
*/ | ||
mergeWith (right) { | ||
mergeWith (_right) { | ||
throw error.methodUnimplemented() | ||
@@ -784,6 +789,6 @@ } | ||
/** | ||
* @param {Transaction} transaction | ||
* @param {Item} item | ||
* @param {Transaction} _transaction | ||
* @param {Item} _item | ||
*/ | ||
integrate (transaction, item) { | ||
integrate (_transaction, _item) { | ||
throw error.methodUnimplemented() | ||
@@ -793,5 +798,5 @@ } | ||
/** | ||
* @param {Transaction} transaction | ||
* @param {Transaction} _transaction | ||
*/ | ||
delete (transaction) { | ||
delete (_transaction) { | ||
throw error.methodUnimplemented() | ||
@@ -801,5 +806,5 @@ } | ||
/** | ||
* @param {StructStore} store | ||
* @param {StructStore} _store | ||
*/ | ||
gc (store) { | ||
gc (_store) { | ||
throw error.methodUnimplemented() | ||
@@ -809,6 +814,6 @@ } | ||
/** | ||
* @param {UpdateEncoderV1 | UpdateEncoderV2} encoder | ||
* @param {number} offset | ||
* @param {UpdateEncoderV1 | UpdateEncoderV2} _encoder | ||
* @param {number} _offset | ||
*/ | ||
write (encoder, offset) { | ||
write (_encoder, _offset) { | ||
throw error.methodUnimplemented() | ||
@@ -815,0 +820,0 @@ } |
@@ -247,3 +247,3 @@ /** | ||
/** | ||
* Executes a provided function on once on overy element of this YArray. | ||
* Executes a provided function once on overy element of this YArray. | ||
* | ||
@@ -250,0 +250,0 @@ * @param {function(T,number,YArray<T>):void} f A function to execute on every element of this YArray. |
@@ -13,3 +13,3 @@ import { | ||
addToDeleteSet, | ||
Transaction, Doc, Item, GC, DeleteSet, AbstractType, YEvent // eslint-disable-line | ||
Transaction, Doc, Item, GC, DeleteSet, AbstractType // eslint-disable-line | ||
} from '../internals.js' | ||
@@ -21,3 +21,3 @@ | ||
class StackItem { | ||
export class StackItem { | ||
/** | ||
@@ -106,3 +106,3 @@ * @param {DeleteSet} deletions | ||
itemsToRedo.forEach(struct => { | ||
performedChange = redoItem(transaction, struct, itemsToRedo, stackItem.insertions, undoManager.ignoreRemoteMapChanges) !== null || performedChange | ||
performedChange = redoItem(transaction, struct, itemsToRedo, stackItem.insertions, undoManager.ignoreRemoteMapChanges, undoManager) !== null || performedChange | ||
}) | ||
@@ -164,3 +164,3 @@ // We want to delete in reverse order so that children are deleted before | ||
captureTimeout = 500, | ||
captureTransaction = tr => true, | ||
captureTransaction = _tr => true, | ||
deleteFilter = () => true, | ||
@@ -167,0 +167,0 @@ trackedOrigins = new Set([null]), |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2176896
33030