@y/y 14.0.0-rc.21 → 14.0.0-rc.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/ytype.d.ts +11 -4
- package/dist/src/ytype.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/utils/Transaction.js +1 -1
- package/src/ytype.js +11 -4
package/dist/src/ytype.d.ts
CHANGED
|
@@ -55,7 +55,8 @@ export function callTypeObservers(type: YType, transaction: Transaction, event:
|
|
|
55
55
|
* Abstract Yjs Type class.
|
|
56
56
|
*
|
|
57
57
|
* A `YType` is a {@link https://github.com/dmonad/lib0 lib0} `RDT` ("replicated data type", see
|
|
58
|
-
* `lib0/delta/rdt.js`): it emits a `'delta'` event whenever its state changes
|
|
58
|
+
* `lib0/delta/rdt.js`): it emits a `'delta'` event whenever its state changes (carrying the change
|
|
59
|
+
* and the origin of the transaction that caused it), accepts foreign
|
|
59
60
|
* changes via {@link YType#applyDelta}, exposes its delta {@link YType#$delta schema}, and can be
|
|
60
61
|
* torn down via {@link YType#destroy}. This lets a `YType` be `bind()`-ed to any other RDT (another
|
|
61
62
|
* `YType`, an in-memory delta, a DOM subtree, …). The legacy {@link YType#observe `observe`} /
|
|
@@ -63,10 +64,10 @@ export function callTypeObservers(type: YType, transaction: Transaction, event:
|
|
|
63
64
|
* channel.
|
|
64
65
|
*
|
|
65
66
|
* @template {delta.DeltaConf} [DConf=any]
|
|
66
|
-
* @extends {ObservableV2<{ delta: (delta: delta.Delta<DConf
|
|
67
|
+
* @extends {ObservableV2<{ delta: (delta: delta.Delta<DConf>, origin: any) => void, destroy: (type: YType<DConf>) => void }>}
|
|
67
68
|
*/
|
|
68
69
|
export class YType<DConf extends delta.DeltaConf = any> extends ObservableV2<{
|
|
69
|
-
delta: (delta: delta.Delta<DConf
|
|
70
|
+
delta: (delta: delta.Delta<DConf>, origin: any) => void;
|
|
70
71
|
destroy: (type: YType<DConf>) => void;
|
|
71
72
|
}> {
|
|
72
73
|
/**
|
|
@@ -149,6 +150,11 @@ export class YType<DConf extends delta.DeltaConf = any> extends ObservableV2<{
|
|
|
149
150
|
* (e.g. `type.delta.clone()`) if you need a stable snapshot, and call {@link YType#clearCache} to
|
|
150
151
|
* drop the cache.
|
|
151
152
|
*
|
|
153
|
+
* Consider the returned delta **done** — it must not be edited from the outside. It is
|
|
154
|
+
* deliberately typed as a `Delta` (not a `DeltaBuilder`) so the mutating builder API is not
|
|
155
|
+
* reachable; editing it anyway would corrupt the cache without changing the CRDT. The proper way
|
|
156
|
+
* to change this type is {@link YType#applyDelta}.
|
|
157
|
+
*
|
|
152
158
|
* @type {delta.Delta<DConf>}
|
|
153
159
|
*/
|
|
154
160
|
get delta(): delta.Delta<DConf>;
|
|
@@ -175,7 +181,8 @@ export class YType<DConf extends delta.DeltaConf = any> extends ObservableV2<{
|
|
|
175
181
|
*
|
|
176
182
|
* If the deep-delta cache ({@link YType#delta}) is being maintained, or a `'delta'` listener is
|
|
177
183
|
* attached, the content is re-rendered with the new renderer and the difference is emitted on the
|
|
178
|
-
* `'delta'` channel only (a renderer switch is not a CRDT change, so no `YEvent` is produced
|
|
184
|
+
* `'delta'` channel only (a renderer switch is not a CRDT change, so no `YEvent` is produced, and
|
|
185
|
+
* the emitted origin is `null` as no transaction is involved).
|
|
179
186
|
*
|
|
180
187
|
* @param {AbstractRenderer} renderer
|
|
181
188
|
* @return {this}
|
package/dist/src/ytype.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ytype.d.ts","sourceRoot":"","sources":["../../src/ytype.js"],"names":[],"mappings":"AA6CO,4CAAiH;AAWjH,6DALI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAC,WAC7B,OAAO,GACN,WAAW,GAAC,SAAS,CAiChC;AAWD;IACE;;;;;;OAMG;IACH,kBANW,IAAI,GAAC,IAAI,SACT,IAAI,GAAC,IAAI,SACT,MAAM,kBACN,GAAG,CAAC,MAAM,EAAC,GAAG,CAAC,YACf,gBAAgB,EAQ1B;IALC,kBAAgB;IAChB,mBAAkB;IAClB,cAAkB;IAClB,iCAAoC;IACpC,iEAAwB;IAG1B;;OAEG;IACH,gBAgBC;IAED;;;;;;;OAOG;IACH,wBAPW,WAAW,UACX,KAAK,UACL,MAAM;;aA4EhB;CACF;AAqHM,2CATI,WAAW,UACX,KAAK,WACL,oBAAoB,WACpB,OAAO,mBAAmB,EAAE,eAAe;;SA0BrD;AASM,iDANI,WAAW,UACX,KAAK,WACL,oBAAoB,UACpB,KAAK,CAAC,GAAG,CAAC,GAAC,MAAM;;SA0B3B;AAWM,wCARI,WAAW,WACX,oBAAoB,UACpB,MAAM,GACL,oBAAoB,CAkD/B;AAED;IACE;;;OAGG;IACH,eAHW,IAAI,SACJ,MAAM,EAOhB;IAHC,QAAU;IACV,cAAkB;IAClB,kBAA8C;CAEjD;AAqDM,mCAHI,KAAK,SACL,MAAM,4BAgDhB;AAWM,kDAJI,KAAK,CAAC,iBAAiB,CAAC,SACxB,MAAM,OACN,MAAM,QAiChB;AAQM,mCAHI,KAAK,GACJ,KAAK,CAAC,IAAI,CAAC,CAWtB;AAUM,wCAJI,KAAK,eACL,WAAW,SACV,MAAM,CAAC,GAAG,CAAC,QActB;AAED
|
|
1
|
+
{"version":3,"file":"ytype.d.ts","sourceRoot":"","sources":["../../src/ytype.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@y/y",
|
|
3
|
-
"version": "14.0.0-rc.
|
|
3
|
+
"version": "14.0.0-rc.22",
|
|
4
4
|
"description": "Shared Editing Library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
},
|
|
72
72
|
"homepage": "https://docs.yjs.dev",
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"lib0": "^1.0.0-rc.
|
|
74
|
+
"lib0": "^1.0.0-rc.20"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@types/node": "^22.14.1",
|
package/src/utils/Transaction.js
CHANGED
|
@@ -257,7 +257,7 @@ const cleanupTransactions = (transactionCleanups, i) => {
|
|
|
257
257
|
// the type-rooted deep delta of this transaction (a nested `modify` chain for ancestors)
|
|
258
258
|
const change = /** @type {any} */ (deepEventHandler.getDelta({ renderer: type._renderer, deep: true }).done())
|
|
259
259
|
type._delta?.apply(change) // keep the cache current (incl. ancestors and diff-renderer attributions)
|
|
260
|
-
if (hasDeltaListeners) type.emit('delta', [change])
|
|
260
|
+
if (hasDeltaListeners) type.emit('delta', [change, transaction.origin])
|
|
261
261
|
}
|
|
262
262
|
})
|
|
263
263
|
})
|
package/src/ytype.js
CHANGED
|
@@ -636,7 +636,8 @@ export const callTypeObservers = (type, transaction, event) => {
|
|
|
636
636
|
* Abstract Yjs Type class.
|
|
637
637
|
*
|
|
638
638
|
* A `YType` is a {@link https://github.com/dmonad/lib0 lib0} `RDT` ("replicated data type", see
|
|
639
|
-
* `lib0/delta/rdt.js`): it emits a `'delta'` event whenever its state changes
|
|
639
|
+
* `lib0/delta/rdt.js`): it emits a `'delta'` event whenever its state changes (carrying the change
|
|
640
|
+
* and the origin of the transaction that caused it), accepts foreign
|
|
640
641
|
* changes via {@link YType#applyDelta}, exposes its delta {@link YType#$delta schema}, and can be
|
|
641
642
|
* torn down via {@link YType#destroy}. This lets a `YType` be `bind()`-ed to any other RDT (another
|
|
642
643
|
* `YType`, an in-memory delta, a DOM subtree, …). The legacy {@link YType#observe `observe`} /
|
|
@@ -644,7 +645,7 @@ export const callTypeObservers = (type, transaction, event) => {
|
|
|
644
645
|
* channel.
|
|
645
646
|
*
|
|
646
647
|
* @template {delta.DeltaConf} [DConf=any]
|
|
647
|
-
* @extends {ObservableV2<{ delta: (delta: delta.Delta<DConf
|
|
648
|
+
* @extends {ObservableV2<{ delta: (delta: delta.Delta<DConf>, origin: any) => void, destroy: (type: YType<DConf>) => void }>}
|
|
648
649
|
*/
|
|
649
650
|
export class YType extends ObservableV2 {
|
|
650
651
|
/**
|
|
@@ -731,6 +732,11 @@ export class YType extends ObservableV2 {
|
|
|
731
732
|
* (e.g. `type.delta.clone()`) if you need a stable snapshot, and call {@link YType#clearCache} to
|
|
732
733
|
* drop the cache.
|
|
733
734
|
*
|
|
735
|
+
* Consider the returned delta **done** — it must not be edited from the outside. It is
|
|
736
|
+
* deliberately typed as a `Delta` (not a `DeltaBuilder`) so the mutating builder API is not
|
|
737
|
+
* reachable; editing it anyway would corrupt the cache without changing the CRDT. The proper way
|
|
738
|
+
* to change this type is {@link YType#applyDelta}.
|
|
739
|
+
*
|
|
734
740
|
* @type {delta.Delta<DConf>}
|
|
735
741
|
*/
|
|
736
742
|
get delta () {
|
|
@@ -772,7 +778,8 @@ export class YType extends ObservableV2 {
|
|
|
772
778
|
*
|
|
773
779
|
* If the deep-delta cache ({@link YType#delta}) is being maintained, or a `'delta'` listener is
|
|
774
780
|
* attached, the content is re-rendered with the new renderer and the difference is emitted on the
|
|
775
|
-
* `'delta'` channel only (a renderer switch is not a CRDT change, so no `YEvent` is produced
|
|
781
|
+
* `'delta'` channel only (a renderer switch is not a CRDT change, so no `YEvent` is produced, and
|
|
782
|
+
* the emitted origin is `null` as no transaction is involved).
|
|
776
783
|
*
|
|
777
784
|
* @param {AbstractRenderer} renderer
|
|
778
785
|
* @return {this}
|
|
@@ -787,7 +794,7 @@ export class YType extends ObservableV2 {
|
|
|
787
794
|
if (this._delta !== null) this._delta = newState
|
|
788
795
|
if (hasDeltaListeners) {
|
|
789
796
|
const d = /** @type {any} */ (delta.diff(/** @type {any} */ (oldState), /** @type {any} */ (newState)))
|
|
790
|
-
if (!d.isEmpty()) this.emit('delta', [d])
|
|
797
|
+
if (!d.isEmpty()) this.emit('delta', [d, null])
|
|
791
798
|
}
|
|
792
799
|
} else {
|
|
793
800
|
this._renderer = renderer
|