sanity 3.74.2-corel.18 → 3.74.2-coreui.20
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/lib/_chunks-cjs/runtime.js +8 -4
- package/lib/_chunks-cjs/runtime.js.map +1 -1
- package/lib/_chunks-cjs/version.js +1 -1
- package/lib/_chunks-es/version.mjs +1 -1
- package/lib/_legacy/version.esm.js +1 -1
- package/package.json +10 -11
- package/src/_internal/cli/server/renderDocument.tsx +12 -0
- package/src/_internal/cli/server/runtime.ts +13 -10
- package/src/_internal/cli/server/vite/plugin-sanity-build-entries.ts +14 -12
- package/dist/BroadcastDisplayedDocument-BHYI8o6u.mjs +0 -19
- package/dist/BroadcastDisplayedDocument-BHYI8o6u.mjs.map +0 -1
- package/dist/DisplayedDocumentBroadcaster-DfHPxc7C.mjs +0 -58
- package/dist/DisplayedDocumentBroadcaster-DfHPxc7C.mjs.map +0 -1
- package/dist/LiveQueries-sYvgBCKh.mjs +0 -267
- package/dist/LiveQueries-sYvgBCKh.mjs.map +0 -1
- package/dist/LoaderQueries-AQneabiG.mjs +0 -581
- package/dist/LoaderQueries-AQneabiG.mjs.map +0 -1
- package/dist/Observable-wwWYwtkh.mjs +0 -551
- package/dist/Observable-wwWYwtkh.mjs.map +0 -1
- package/dist/PostMessageDocuments-DLMdHDk6.mjs +0 -75
- package/dist/PostMessageDocuments-DLMdHDk6.mjs.map +0 -1
- package/dist/PostMessageFeatures-CazMQz3f.mjs +0 -21
- package/dist/PostMessageFeatures-CazMQz3f.mjs.map +0 -1
- package/dist/PostMessagePerspective-m4uZ6sI5.mjs +0 -23
- package/dist/PostMessagePerspective-m4uZ6sI5.mjs.map +0 -1
- package/dist/PostMessagePreviewSnapshots-Dr7CEAiM.mjs +0 -66
- package/dist/PostMessagePreviewSnapshots-Dr7CEAiM.mjs.map +0 -1
- package/dist/PostMessageRefreshMutations-CWb9UqSy.mjs +0 -66
- package/dist/PostMessageRefreshMutations-CWb9UqSy.mjs.map +0 -1
- package/dist/PostMessageSchema-BVFyZOH1.mjs +0 -514
- package/dist/PostMessageSchema-BVFyZOH1.mjs.map +0 -1
- package/dist/PostMessageTelemetry-CSluBvcC.mjs +0 -51
- package/dist/PostMessageTelemetry-CSluBvcC.mjs.map +0 -1
- package/dist/PresentationToolGrantsCheck-4zo266wj.mjs +0 -3919
- package/dist/PresentationToolGrantsCheck-4zo266wj.mjs.map +0 -1
- package/dist/QRCodeSVG-D6VfGEbM.mjs +0 -648
- package/dist/QRCodeSVG-D6VfGEbM.mjs.map +0 -1
- package/dist/SourceContext-T8zcpOpp.mjs +0 -33
- package/dist/SourceContext-T8zcpOpp.mjs.map +0 -1
- package/dist/StructureToolProvider-BMLps71e.mjs +0 -13815
- package/dist/StructureToolProvider-BMLps71e.mjs.map +0 -1
- package/dist/Subject-DP0DoUP_.mjs +0 -108
- package/dist/Subject-DP0DoUP_.mjs.map +0 -1
- package/dist/ViteDevServerStopped-DdibXNvO.mjs +0 -44
- package/dist/ViteDevServerStopped-DdibXNvO.mjs.map +0 -1
- package/dist/_createContext.mjs +0 -36
- package/dist/_createContext.mjs.map +0 -1
- package/dist/_singletons.mjs +0 -195
- package/dist/_singletons.mjs.map +0 -1
- package/dist/browser-BzDH2pyp.mjs +0 -455
- package/dist/browser-BzDH2pyp.mjs.map +0 -1
- package/dist/browser-DWCoWoiH.mjs +0 -3988
- package/dist/browser-DWCoWoiH.mjs.map +0 -1
- package/dist/debounceTime-BeoKrERE.mjs +0 -130
- package/dist/debounceTime-BeoKrERE.mjs.map +0 -1
- package/dist/desk.mjs +0 -52
- package/dist/desk.mjs.map +0 -1
- package/dist/first-Di4GZDIY.mjs +0 -42
- package/dist/first-Di4GZDIY.mjs.map +0 -1
- package/dist/get-psIoeD-z.mjs +0 -327
- package/dist/get-psIoeD-z.mjs.map +0 -1
- package/dist/hooks-4sgcd521.mjs +0 -90
- package/dist/hooks-4sgcd521.mjs.map +0 -1
- package/dist/index-9PJcXUTv.mjs +0 -87
- package/dist/index-9PJcXUTv.mjs.map +0 -1
- package/dist/index-ByFK-IwD.mjs +0 -528
- package/dist/index-ByFK-IwD.mjs.map +0 -1
- package/dist/index-C2OAo3To.mjs +0 -7079
- package/dist/index-C2OAo3To.mjs.map +0 -1
- package/dist/index-C3OvVLVP.mjs +0 -4636
- package/dist/index-C3OvVLVP.mjs.map +0 -1
- package/dist/index-DBPVDKJN.mjs +0 -1198
- package/dist/index-DBPVDKJN.mjs.map +0 -1
- package/dist/index-DkvUNBNf.mjs +0 -73
- package/dist/index-DkvUNBNf.mjs.map +0 -1
- package/dist/index-Sp9w8lMg.mjs +0 -118
- package/dist/index-Sp9w8lMg.mjs.map +0 -1
- package/dist/index.browser-BxT2qp9y.mjs +0 -104
- package/dist/index.browser-BxT2qp9y.mjs.map +0 -1
- package/dist/index.mjs +0 -129019
- package/dist/index.mjs.map +0 -1
- package/dist/isObservable-ByOheaM8.mjs +0 -8
- package/dist/isObservable-ByOheaM8.mjs.map +0 -1
- package/dist/never-ChKjLemk.mjs +0 -6
- package/dist/never-ChKjLemk.mjs.map +0 -1
- package/dist/pane-C4tskUPg.mjs +0 -5
- package/dist/pane-C4tskUPg.mjs.map +0 -1
- package/dist/pane-Dhx8FvsK.mjs +0 -5
- package/dist/pane-Dhx8FvsK.mjs.map +0 -1
- package/dist/presentation-CSS9GR9X.mjs +0 -984
- package/dist/presentation-CSS9GR9X.mjs.map +0 -1
- package/dist/presentation.mjs +0 -14
- package/dist/presentation.mjs.map +0 -1
- package/dist/resources-4cbq8YlR.mjs +0 -124
- package/dist/resources-4cbq8YlR.mjs.map +0 -1
- package/dist/resources-BVETz6Ur.mjs +0 -57
- package/dist/resources-BVETz6Ur.mjs.map +0 -1
- package/dist/resources-D4AaU75F.mjs +0 -434
- package/dist/resources-D4AaU75F.mjs.map +0 -1
- package/dist/resources-Dc-6ZcPg.mjs +0 -157
- package/dist/resources-Dc-6ZcPg.mjs.map +0 -1
- package/dist/resources-DgU0prBM.mjs +0 -179
- package/dist/resources-DgU0prBM.mjs.map +0 -1
- package/dist/resources-MD8RsYhH.mjs +0 -288
- package/dist/resources-MD8RsYhH.mjs.map +0 -1
- package/dist/router.mjs +0 -689
- package/dist/router.mjs.map +0 -1
- package/dist/share-bcOpIdQz.mjs +0 -71
- package/dist/share-bcOpIdQz.mjs.map +0 -1
- package/dist/shareReplay-Dj1O6fKV.mjs +0 -43
- package/dist/shareReplay-Dj1O6fKV.mjs.map +0 -1
- package/dist/stegaEncodeSourceMap-DXdUZQye.mjs +0 -342
- package/dist/stegaEncodeSourceMap-DXdUZQye.mjs.map +0 -1
- package/dist/structure.mjs +0 -56
- package/dist/structure.mjs.map +0 -1
- package/dist/takeUntil-CgZP1bze.mjs +0 -111
- package/dist/takeUntil-CgZP1bze.mjs.map +0 -1
- package/dist/v4-C78sE4Gb.mjs +0 -27082
- package/dist/v4-C78sE4Gb.mjs.map +0 -1
- package/dist/version-D7UZEoYI.mjs +0 -5
- package/dist/version-D7UZEoYI.mjs.map +0 -1
package/dist/index-ByFK-IwD.mjs
DELETED
@@ -1,528 +0,0 @@
|
|
1
|
-
var k = Object.defineProperty;
|
2
|
-
var O = (i, t, e) => t in i ? k(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
|
3
|
-
var h = (i, t, e) => O(i, typeof t != "symbol" ? t + "" : t, e);
|
4
|
-
const w = [
|
5
|
-
"Value",
|
6
|
-
"Copy",
|
7
|
-
"Blank",
|
8
|
-
"ReturnIntoArray",
|
9
|
-
"ReturnIntoObject",
|
10
|
-
"ReturnIntoObjectSameKey",
|
11
|
-
"PushField",
|
12
|
-
"PushElement",
|
13
|
-
"PushParent",
|
14
|
-
"Pop",
|
15
|
-
"PushFieldCopy",
|
16
|
-
"PushFieldBlank",
|
17
|
-
"PushElementCopy",
|
18
|
-
"PushElementBlank",
|
19
|
-
"ReturnIntoObjectPop",
|
20
|
-
"ReturnIntoObjectSameKeyPop",
|
21
|
-
"ReturnIntoArrayPop",
|
22
|
-
"ObjectSetFieldValue",
|
23
|
-
"ObjectCopyField",
|
24
|
-
"ObjectDeleteField",
|
25
|
-
"ArrayAppendValue",
|
26
|
-
"ArrayAppendSlice",
|
27
|
-
"StringAppendString",
|
28
|
-
"StringAppendSlice"
|
29
|
-
];
|
30
|
-
class A {
|
31
|
-
constructor(t, e, s) {
|
32
|
-
h(this, "model");
|
33
|
-
h(this, "root");
|
34
|
-
h(this, "patch");
|
35
|
-
h(this, "i");
|
36
|
-
h(this, "inputStack");
|
37
|
-
h(this, "outputStack");
|
38
|
-
this.model = t, this.root = e, this.patch = s, this.i = 0, this.inputStack = [], this.outputStack = [];
|
39
|
-
}
|
40
|
-
read() {
|
41
|
-
return this.patch[this.i++];
|
42
|
-
}
|
43
|
-
process() {
|
44
|
-
for (this.inputStack.push({ value: this.root }), this.outputStack.push({ value: this.root }); this.i < this.patch.length; ) {
|
45
|
-
let e = this.read(), s = w[e];
|
46
|
-
if (!s)
|
47
|
-
throw new Error(`Unknown opcode: ${e}`);
|
48
|
-
let r = `process${s}`;
|
49
|
-
this[r].apply(this);
|
50
|
-
}
|
51
|
-
let t = this.outputStack.pop();
|
52
|
-
return this.finalizeOutput(t);
|
53
|
-
}
|
54
|
-
inputEntry() {
|
55
|
-
return this.inputStack[this.inputStack.length - 1];
|
56
|
-
}
|
57
|
-
inputKey(t, e) {
|
58
|
-
return t.keys || (t.keys = this.model.objectGetKeys(t.value).sort()), t.keys[e];
|
59
|
-
}
|
60
|
-
outputEntry() {
|
61
|
-
return this.outputStack[this.outputStack.length - 1];
|
62
|
-
}
|
63
|
-
outputArray() {
|
64
|
-
let t = this.outputEntry();
|
65
|
-
return t.writeValue || (t.writeValue = this.model.copyArray(t.value)), t.writeValue;
|
66
|
-
}
|
67
|
-
outputObject() {
|
68
|
-
let t = this.outputEntry();
|
69
|
-
return t.writeValue || (t.writeValue = this.model.copyObject(t.value)), t.writeValue;
|
70
|
-
}
|
71
|
-
outputString() {
|
72
|
-
let t = this.outputEntry();
|
73
|
-
return t.writeValue || (t.writeValue = this.model.copyString(t.value)), t.writeValue;
|
74
|
-
}
|
75
|
-
finalizeOutput(t) {
|
76
|
-
return t.writeValue ? this.model.finalize(t.writeValue) : t.value;
|
77
|
-
}
|
78
|
-
// Processors:
|
79
|
-
processValue() {
|
80
|
-
let t = this.model.wrap(this.read());
|
81
|
-
this.outputStack.push({ value: t });
|
82
|
-
}
|
83
|
-
processCopy() {
|
84
|
-
let t = this.inputEntry();
|
85
|
-
this.outputStack.push({ value: t.value });
|
86
|
-
}
|
87
|
-
processBlank() {
|
88
|
-
this.outputStack.push({ value: null });
|
89
|
-
}
|
90
|
-
processReturnIntoArray() {
|
91
|
-
let t = this.outputStack.pop(), e = this.finalizeOutput(t), s = this.outputArray();
|
92
|
-
this.model.arrayAppendValue(s, e);
|
93
|
-
}
|
94
|
-
processReturnIntoObject() {
|
95
|
-
let t = this.read(), e = this.outputStack.pop(), s = this.finalizeOutput(e);
|
96
|
-
s = this.model.markChanged(s);
|
97
|
-
let r = this.outputObject();
|
98
|
-
this.model.objectSetField(r, t, s);
|
99
|
-
}
|
100
|
-
processReturnIntoObjectSameKey() {
|
101
|
-
let t = this.inputEntry(), e = this.outputStack.pop(), s = this.finalizeOutput(e), r = this.outputObject();
|
102
|
-
this.model.objectSetField(r, t.key, s);
|
103
|
-
}
|
104
|
-
processPushField() {
|
105
|
-
let t = this.read(), e = this.inputEntry(), s = this.inputKey(e, t), r = this.model.objectGetField(e.value, s);
|
106
|
-
this.inputStack.push({ value: r, key: s });
|
107
|
-
}
|
108
|
-
processPushElement() {
|
109
|
-
let t = this.read(), e = this.inputEntry(), s = this.model.arrayGetElement(e.value, t);
|
110
|
-
this.inputStack.push({ value: s });
|
111
|
-
}
|
112
|
-
processPop() {
|
113
|
-
this.inputStack.pop();
|
114
|
-
}
|
115
|
-
processPushFieldCopy() {
|
116
|
-
this.processPushField(), this.processCopy();
|
117
|
-
}
|
118
|
-
processPushFieldBlank() {
|
119
|
-
this.processPushField(), this.processBlank();
|
120
|
-
}
|
121
|
-
processPushElementCopy() {
|
122
|
-
this.processPushElement(), this.processCopy();
|
123
|
-
}
|
124
|
-
processPushElementBlank() {
|
125
|
-
this.processPushElement(), this.processBlank();
|
126
|
-
}
|
127
|
-
processReturnIntoObjectPop() {
|
128
|
-
this.processReturnIntoObject(), this.processPop();
|
129
|
-
}
|
130
|
-
processReturnIntoObjectSameKeyPop() {
|
131
|
-
this.processReturnIntoObjectSameKey(), this.processPop();
|
132
|
-
}
|
133
|
-
processReturnIntoArrayPop() {
|
134
|
-
this.processReturnIntoArray(), this.processPop();
|
135
|
-
}
|
136
|
-
processObjectSetFieldValue() {
|
137
|
-
this.processValue(), this.processReturnIntoObject();
|
138
|
-
}
|
139
|
-
processObjectCopyField() {
|
140
|
-
this.processPushField(), this.processCopy(), this.processReturnIntoObjectSameKey(), this.processPop();
|
141
|
-
}
|
142
|
-
processObjectDeleteField() {
|
143
|
-
let t = this.read(), e = this.inputEntry(), s = this.inputKey(e, t), r = this.outputObject();
|
144
|
-
this.model.objectDeleteField(r, s);
|
145
|
-
}
|
146
|
-
processArrayAppendValue() {
|
147
|
-
let t = this.model.wrap(this.read()), e = this.outputArray();
|
148
|
-
this.model.arrayAppendValue(e, t);
|
149
|
-
}
|
150
|
-
processArrayAppendSlice() {
|
151
|
-
let t = this.read(), e = this.read(), s = this.outputArray(), r = this.inputEntry().value;
|
152
|
-
this.model.arrayAppendSlice(s, r, t, e);
|
153
|
-
}
|
154
|
-
processStringAppendString() {
|
155
|
-
let t = this.model.wrap(this.read()), e = this.outputString();
|
156
|
-
this.model.stringAppendValue(e, t);
|
157
|
-
}
|
158
|
-
processStringAppendSlice() {
|
159
|
-
let t = this.read(), e = this.read(), s = this.outputString(), r = this.inputEntry().value;
|
160
|
-
this.model.stringAppendSlice(s, r, t, e);
|
161
|
-
}
|
162
|
-
}
|
163
|
-
function m(i) {
|
164
|
-
return i >> 16 ? 4 : i >> 11 ? 3 : i >> 7 ? 2 : 1;
|
165
|
-
}
|
166
|
-
function b(i) {
|
167
|
-
let t = 0;
|
168
|
-
for (let e = 0; e < i.length; e++) {
|
169
|
-
let s = i.codePointAt(e), r = m(s);
|
170
|
-
r == 4 && e++, t += r;
|
171
|
-
}
|
172
|
-
return t;
|
173
|
-
}
|
174
|
-
function P(i, t, e = 0) {
|
175
|
-
let s = e, r = 0;
|
176
|
-
for (r = e; s < t; r++) {
|
177
|
-
let n = i.codePointAt(r), l = m(n);
|
178
|
-
l === 4 && r++, s += l;
|
179
|
-
}
|
180
|
-
return r;
|
181
|
-
}
|
182
|
-
function M(i, t) {
|
183
|
-
let e = Math.min(i.length, t.length), s = 0;
|
184
|
-
for (let r = 0; r < e; ) {
|
185
|
-
let n = i.codePointAt(r), l = t.codePointAt(r);
|
186
|
-
if (n !== l)
|
187
|
-
return s;
|
188
|
-
let a = m(n);
|
189
|
-
s += a, r += a === 4 ? 2 : 1;
|
190
|
-
}
|
191
|
-
return s;
|
192
|
-
}
|
193
|
-
function E(i, t, e = 0) {
|
194
|
-
let s = Math.min(i.length, t.length) - e, r = 0;
|
195
|
-
for (let n = 0; n < s; ) {
|
196
|
-
let l = i.codePointAt(i.length - 1 - n), a = t.codePointAt(t.length - 1 - n);
|
197
|
-
if (l !== a)
|
198
|
-
return r;
|
199
|
-
let o = m(l);
|
200
|
-
r += o, n += o === 4 ? 2 : 1;
|
201
|
-
}
|
202
|
-
return r;
|
203
|
-
}
|
204
|
-
class S {
|
205
|
-
constructor(t) {
|
206
|
-
h(this, "meta");
|
207
|
-
this.meta = t;
|
208
|
-
}
|
209
|
-
wrap(t) {
|
210
|
-
return this.wrapWithMeta(t, this.meta, this.meta);
|
211
|
-
}
|
212
|
-
wrapWithMeta(t, e, s = this.meta) {
|
213
|
-
return { data: t, startMeta: e, endMeta: s };
|
214
|
-
}
|
215
|
-
asObject(t) {
|
216
|
-
if (!t.content) {
|
217
|
-
let e = {};
|
218
|
-
for (let [s, r] of Object.entries(t.data))
|
219
|
-
e[s] = this.wrapWithMeta(r, t.startMeta);
|
220
|
-
t.content = { type: "object", fields: e };
|
221
|
-
}
|
222
|
-
return t.content;
|
223
|
-
}
|
224
|
-
asArray(t) {
|
225
|
-
if (!t.content) {
|
226
|
-
let e = t.data.map(
|
227
|
-
(r) => this.wrapWithMeta(r, t.startMeta)
|
228
|
-
), s = e.map(() => this.meta);
|
229
|
-
t.content = { type: "array", elements: e, metas: s };
|
230
|
-
}
|
231
|
-
return t.content;
|
232
|
-
}
|
233
|
-
asString(t) {
|
234
|
-
if (!t.content) {
|
235
|
-
let e = t.data, s = {
|
236
|
-
value: e,
|
237
|
-
utf8size: b(e),
|
238
|
-
uses: [],
|
239
|
-
startMeta: t.startMeta,
|
240
|
-
endMeta: t.endMeta
|
241
|
-
};
|
242
|
-
t.content = this.stringFromParts([s]);
|
243
|
-
}
|
244
|
-
return t.content;
|
245
|
-
}
|
246
|
-
stringFromParts(t) {
|
247
|
-
let e = {
|
248
|
-
type: "string",
|
249
|
-
parts: t
|
250
|
-
};
|
251
|
-
for (let s of t)
|
252
|
-
s.uses.push(e);
|
253
|
-
return e;
|
254
|
-
}
|
255
|
-
objectGetKeys(t) {
|
256
|
-
return t.content ? Object.keys(t.content.fields) : Object.keys(t.data);
|
257
|
-
}
|
258
|
-
objectGetField(t, e) {
|
259
|
-
return this.asObject(t).fields[e];
|
260
|
-
}
|
261
|
-
arrayGetElement(t, e) {
|
262
|
-
return this.asArray(t).elements[e];
|
263
|
-
}
|
264
|
-
finalize(t) {
|
265
|
-
return this.updateEndMeta(t), { content: t, startMeta: this.meta, endMeta: this.meta };
|
266
|
-
}
|
267
|
-
markChanged(t) {
|
268
|
-
return this.wrap(c(t));
|
269
|
-
}
|
270
|
-
updateEndMeta(t) {
|
271
|
-
if (t.type == "string")
|
272
|
-
for (let e of t.parts)
|
273
|
-
e.endMeta = this.meta;
|
274
|
-
else if (t.type === "array")
|
275
|
-
for (let e of t.elements)
|
276
|
-
e.content && e.endMeta !== this.meta && this.updateEndMeta(e.content), e.endMeta = this.meta;
|
277
|
-
else
|
278
|
-
for (let e of Object.values(t.fields))
|
279
|
-
e.content && e.endMeta !== this.meta && this.updateEndMeta(e.content), e.endMeta = this.meta;
|
280
|
-
}
|
281
|
-
copyString(t) {
|
282
|
-
if (t) {
|
283
|
-
let e = this.asString(t);
|
284
|
-
return this.stringFromParts(e.parts.slice());
|
285
|
-
} else
|
286
|
-
return {
|
287
|
-
type: "string",
|
288
|
-
parts: []
|
289
|
-
};
|
290
|
-
}
|
291
|
-
copyObject(t) {
|
292
|
-
let e = {
|
293
|
-
type: "object",
|
294
|
-
fields: {}
|
295
|
-
};
|
296
|
-
if (t) {
|
297
|
-
let s = this.asObject(t);
|
298
|
-
Object.assign(e.fields, s.fields);
|
299
|
-
}
|
300
|
-
return e;
|
301
|
-
}
|
302
|
-
copyArray(t) {
|
303
|
-
let e = t ? this.asArray(t) : null, s = e ? e.elements : [], r = e ? e.metas : [];
|
304
|
-
return {
|
305
|
-
type: "array",
|
306
|
-
elements: s,
|
307
|
-
metas: r
|
308
|
-
};
|
309
|
-
}
|
310
|
-
objectSetField(t, e, s) {
|
311
|
-
t.fields[e] = s;
|
312
|
-
}
|
313
|
-
objectDeleteField(t, e) {
|
314
|
-
delete t.fields[e];
|
315
|
-
}
|
316
|
-
arrayAppendValue(t, e) {
|
317
|
-
t.elements.push(e), t.metas.push(this.meta);
|
318
|
-
}
|
319
|
-
arrayAppendSlice(t, e, s, r) {
|
320
|
-
let n = this.asArray(e), l = n.elements.length === s;
|
321
|
-
if (t.elements.push(...n.elements.slice(s, r)), l)
|
322
|
-
t.metas.push(...n.metas.slice(s, r));
|
323
|
-
else
|
324
|
-
for (let a = s; a < r; a++)
|
325
|
-
t.metas.push(this.meta);
|
326
|
-
}
|
327
|
-
stringAppendValue(t, e) {
|
328
|
-
let s = this.asString(e);
|
329
|
-
for (let r of s.parts)
|
330
|
-
this.stringAppendPart(t, r);
|
331
|
-
}
|
332
|
-
stringAppendPart(t, e) {
|
333
|
-
t.parts.push(e), e.uses.push(t);
|
334
|
-
}
|
335
|
-
resolveStringPart(t, e, s) {
|
336
|
-
if (s === 0)
|
337
|
-
return e;
|
338
|
-
for (let r = e; r < t.parts.length; r++) {
|
339
|
-
let n = t.parts[r];
|
340
|
-
if (s === n.utf8size)
|
341
|
-
return r + 1;
|
342
|
-
if (s < n.utf8size)
|
343
|
-
return this.splitString(n, s), r + 1;
|
344
|
-
s -= n.utf8size;
|
345
|
-
}
|
346
|
-
throw new Error("splitting string out of bounds");
|
347
|
-
}
|
348
|
-
splitString(t, e) {
|
349
|
-
let s, r, n = e, l = t.utf8size - n;
|
350
|
-
if (t.utf8size !== t.value.length) {
|
351
|
-
let o = 0;
|
352
|
-
for (e = 0; o < n; e++) {
|
353
|
-
let u = t.value.codePointAt(e), p = m(u);
|
354
|
-
p === 4 && e++, o += p;
|
355
|
-
}
|
356
|
-
}
|
357
|
-
s = t.value.slice(0, e), r = t.value.slice(e);
|
358
|
-
let a = {
|
359
|
-
value: r,
|
360
|
-
utf8size: l,
|
361
|
-
uses: t.uses.slice(),
|
362
|
-
startMeta: t.startMeta,
|
363
|
-
endMeta: t.endMeta
|
364
|
-
};
|
365
|
-
t.value = s, t.utf8size = n;
|
366
|
-
for (let o of t.uses) {
|
367
|
-
let u = o.parts.indexOf(t);
|
368
|
-
if (u === -1)
|
369
|
-
throw new Error("bug: mismatch between string parts and use.");
|
370
|
-
o.parts.splice(u + 1, 0, a);
|
371
|
-
}
|
372
|
-
}
|
373
|
-
stringAppendSlice(t, e, s, r) {
|
374
|
-
let n = this.asString(e), l = this.resolveStringPart(n, 0, s), a = this.resolveStringPart(n, l, r - s);
|
375
|
-
for (let o = l; o < a; o++) {
|
376
|
-
let u = n.parts[o];
|
377
|
-
this.stringAppendPart(t, u);
|
378
|
-
}
|
379
|
-
}
|
380
|
-
}
|
381
|
-
function F(i, t) {
|
382
|
-
return { data: i, startMeta: t, endMeta: t };
|
383
|
-
}
|
384
|
-
function c(i) {
|
385
|
-
if (typeof i.data < "u")
|
386
|
-
return i.data;
|
387
|
-
let t, e = i.content;
|
388
|
-
switch (e.type) {
|
389
|
-
case "string":
|
390
|
-
t = e.parts.map((s) => s.value).join("");
|
391
|
-
break;
|
392
|
-
case "array":
|
393
|
-
t = e.elements.map((s) => c(s));
|
394
|
-
break;
|
395
|
-
case "object": {
|
396
|
-
t = {};
|
397
|
-
for (let [s, r] of Object.entries(e.fields))
|
398
|
-
t[s] = c(r);
|
399
|
-
}
|
400
|
-
}
|
401
|
-
return i.data = t, t;
|
402
|
-
}
|
403
|
-
function g(i) {
|
404
|
-
return i.content ? i.content.type : Array.isArray(i.data) ? "array" : i.data === null ? "null" : typeof i.data;
|
405
|
-
}
|
406
|
-
function j(i, t) {
|
407
|
-
let e = g(i), s = g(t);
|
408
|
-
if (e !== s)
|
409
|
-
return t;
|
410
|
-
let r = new S(i.endMeta), n = new S(t.endMeta);
|
411
|
-
switch (e) {
|
412
|
-
case "object": {
|
413
|
-
let l = r.asObject(i), a = n.asObject(t), o = 0, u = Object.keys(l.fields).length, p = Object.keys(a.fields).length;
|
414
|
-
for (let [d, y] of Object.entries(a.fields)) {
|
415
|
-
let f = l.fields[d];
|
416
|
-
f && (a.fields[d] = j(f, y), a.fields[d] === f && o++);
|
417
|
-
}
|
418
|
-
return u === p && u === o ? i : t;
|
419
|
-
}
|
420
|
-
case "array": {
|
421
|
-
let l = r.asArray(i), a = n.asArray(t);
|
422
|
-
if (l.elements.length !== a.elements.length)
|
423
|
-
break;
|
424
|
-
let o = 0;
|
425
|
-
for (let u = 0; u < a.elements.length; u++)
|
426
|
-
a.elements[u] = j(l.elements[u], a.elements[u]), a.elements[u] !== l.elements[u] && o++;
|
427
|
-
return o === 0 ? i : t;
|
428
|
-
}
|
429
|
-
case "null":
|
430
|
-
case "boolean":
|
431
|
-
case "number": {
|
432
|
-
if (c(i) === c(t))
|
433
|
-
return i;
|
434
|
-
break;
|
435
|
-
}
|
436
|
-
case "string": {
|
437
|
-
let l = c(i), a = c(t);
|
438
|
-
if (l === a)
|
439
|
-
return i;
|
440
|
-
let o = n.copyString(null), u = M(l, a), p = E(l, a, u), d = b(a), y = b(l);
|
441
|
-
0 < u && n.stringAppendSlice(o, i, 0, u), u < d - p && n.stringAppendSlice(o, t, u, d - p), y - p < y && n.stringAppendSlice(o, i, y - p, y);
|
442
|
-
let f = n.finalize(o);
|
443
|
-
if (c(f) !== a)
|
444
|
-
throw new Error("incorrect string rebase");
|
445
|
-
return f;
|
446
|
-
}
|
447
|
-
}
|
448
|
-
return t;
|
449
|
-
}
|
450
|
-
function V(i, t, e) {
|
451
|
-
let s = new S(e);
|
452
|
-
return new A(s, i, t).process();
|
453
|
-
}
|
454
|
-
var R = /* @__PURE__ */ Object.freeze({
|
455
|
-
__proto__: null,
|
456
|
-
applyPatch: V,
|
457
|
-
getType: g,
|
458
|
-
rebaseValue: j,
|
459
|
-
unwrap: c,
|
460
|
-
wrap: F
|
461
|
-
});
|
462
|
-
class z {
|
463
|
-
wrap(t) {
|
464
|
-
return t;
|
465
|
-
}
|
466
|
-
finalize(t) {
|
467
|
-
return Array.isArray(t) ? t : t.data;
|
468
|
-
}
|
469
|
-
markChanged(t) {
|
470
|
-
return t;
|
471
|
-
}
|
472
|
-
objectGetKeys(t) {
|
473
|
-
return Object.keys(t);
|
474
|
-
}
|
475
|
-
objectGetField(t, e) {
|
476
|
-
return t[e];
|
477
|
-
}
|
478
|
-
arrayGetElement(t, e) {
|
479
|
-
return t[e];
|
480
|
-
}
|
481
|
-
copyObject(t) {
|
482
|
-
let e = {
|
483
|
-
type: "object",
|
484
|
-
data: {}
|
485
|
-
};
|
486
|
-
if (t !== null)
|
487
|
-
for (let [s, r] of Object.entries(t))
|
488
|
-
e.data[s] = r;
|
489
|
-
return e;
|
490
|
-
}
|
491
|
-
copyArray(t) {
|
492
|
-
return t === null ? [] : t.slice();
|
493
|
-
}
|
494
|
-
copyString(t) {
|
495
|
-
return {
|
496
|
-
type: "string",
|
497
|
-
data: t === null ? "" : t
|
498
|
-
};
|
499
|
-
}
|
500
|
-
objectSetField(t, e, s) {
|
501
|
-
t.data[e] = s;
|
502
|
-
}
|
503
|
-
objectDeleteField(t, e) {
|
504
|
-
delete t.data[e];
|
505
|
-
}
|
506
|
-
arrayAppendValue(t, e) {
|
507
|
-
t.push(e);
|
508
|
-
}
|
509
|
-
arrayAppendSlice(t, e, s, r) {
|
510
|
-
t.push(...e.slice(s, r));
|
511
|
-
}
|
512
|
-
stringAppendSlice(t, e, s, r) {
|
513
|
-
const n = e, l = P(n, s), a = P(n, r, l);
|
514
|
-
t.data += n.slice(l, a);
|
515
|
-
}
|
516
|
-
stringAppendValue(t, e) {
|
517
|
-
t.data += e;
|
518
|
-
}
|
519
|
-
}
|
520
|
-
function C(i, t) {
|
521
|
-
let e = i;
|
522
|
-
return new A(new z(), e, t).process();
|
523
|
-
}
|
524
|
-
export {
|
525
|
-
C as a,
|
526
|
-
R as i
|
527
|
-
};
|
528
|
-
//# sourceMappingURL=index-ByFK-IwD.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index-ByFK-IwD.mjs","sources":["../../../node_modules/.pnpm/mendoza@3.0.8/node_modules/mendoza/dist/index.js"],"sourcesContent":["const OPS = [\n \"Value\",\n \"Copy\",\n \"Blank\",\n \"ReturnIntoArray\",\n \"ReturnIntoObject\",\n \"ReturnIntoObjectSameKey\",\n \"PushField\",\n \"PushElement\",\n \"PushParent\",\n \"Pop\",\n \"PushFieldCopy\",\n \"PushFieldBlank\",\n \"PushElementCopy\",\n \"PushElementBlank\",\n \"ReturnIntoObjectPop\",\n \"ReturnIntoObjectSameKeyPop\",\n \"ReturnIntoArrayPop\",\n \"ObjectSetFieldValue\",\n \"ObjectCopyField\",\n \"ObjectDeleteField\",\n \"ArrayAppendValue\",\n \"ArrayAppendSlice\",\n \"StringAppendString\",\n \"StringAppendSlice\"\n];\nclass Patcher {\n model;\n root;\n patch;\n i;\n inputStack;\n outputStack;\n constructor(model, root, patch) {\n this.model = model, this.root = root, this.patch = patch, this.i = 0, this.inputStack = [], this.outputStack = [];\n }\n read() {\n return this.patch[this.i++];\n }\n process() {\n for (this.inputStack.push({ value: this.root }), this.outputStack.push({ value: this.root }); this.i < this.patch.length; ) {\n let opcode = this.read(), op = OPS[opcode];\n if (!op)\n throw new Error(`Unknown opcode: ${opcode}`);\n let processor = `process${op}`;\n this[processor].apply(this);\n }\n let entry = this.outputStack.pop();\n return this.finalizeOutput(entry);\n }\n inputEntry() {\n return this.inputStack[this.inputStack.length - 1];\n }\n inputKey(entry, idx) {\n return entry.keys || (entry.keys = this.model.objectGetKeys(entry.value).sort()), entry.keys[idx];\n }\n outputEntry() {\n return this.outputStack[this.outputStack.length - 1];\n }\n outputArray() {\n let entry = this.outputEntry();\n return entry.writeValue || (entry.writeValue = this.model.copyArray(entry.value)), entry.writeValue;\n }\n outputObject() {\n let entry = this.outputEntry();\n return entry.writeValue || (entry.writeValue = this.model.copyObject(entry.value)), entry.writeValue;\n }\n outputString() {\n let entry = this.outputEntry();\n return entry.writeValue || (entry.writeValue = this.model.copyString(entry.value)), entry.writeValue;\n }\n finalizeOutput(entry) {\n return entry.writeValue ? this.model.finalize(entry.writeValue) : entry.value;\n }\n // Processors:\n processValue() {\n let value = this.model.wrap(this.read());\n this.outputStack.push({ value });\n }\n processCopy() {\n let input = this.inputEntry();\n this.outputStack.push({ value: input.value });\n }\n processBlank() {\n this.outputStack.push({ value: null });\n }\n processReturnIntoArray() {\n let entry = this.outputStack.pop(), result = this.finalizeOutput(entry), arr = this.outputArray();\n this.model.arrayAppendValue(arr, result);\n }\n processReturnIntoObject() {\n let key = this.read(), entry = this.outputStack.pop(), result = this.finalizeOutput(entry);\n result = this.model.markChanged(result);\n let obj = this.outputObject();\n this.model.objectSetField(obj, key, result);\n }\n processReturnIntoObjectSameKey() {\n let input = this.inputEntry(), entry = this.outputStack.pop(), result = this.finalizeOutput(entry), obj = this.outputObject();\n this.model.objectSetField(obj, input.key, result);\n }\n processPushField() {\n let idx = this.read(), entry = this.inputEntry(), key = this.inputKey(entry, idx), value = this.model.objectGetField(entry.value, key);\n this.inputStack.push({ value, key });\n }\n processPushElement() {\n let idx = this.read(), entry = this.inputEntry(), value = this.model.arrayGetElement(entry.value, idx);\n this.inputStack.push({ value });\n }\n processPop() {\n this.inputStack.pop();\n }\n processPushFieldCopy() {\n this.processPushField(), this.processCopy();\n }\n processPushFieldBlank() {\n this.processPushField(), this.processBlank();\n }\n processPushElementCopy() {\n this.processPushElement(), this.processCopy();\n }\n processPushElementBlank() {\n this.processPushElement(), this.processBlank();\n }\n processReturnIntoObjectPop() {\n this.processReturnIntoObject(), this.processPop();\n }\n processReturnIntoObjectSameKeyPop() {\n this.processReturnIntoObjectSameKey(), this.processPop();\n }\n processReturnIntoArrayPop() {\n this.processReturnIntoArray(), this.processPop();\n }\n processObjectSetFieldValue() {\n this.processValue(), this.processReturnIntoObject();\n }\n processObjectCopyField() {\n this.processPushField(), this.processCopy(), this.processReturnIntoObjectSameKey(), this.processPop();\n }\n processObjectDeleteField() {\n let idx = this.read(), entry = this.inputEntry(), key = this.inputKey(entry, idx), obj = this.outputObject();\n this.model.objectDeleteField(obj, key);\n }\n processArrayAppendValue() {\n let value = this.model.wrap(this.read()), arr = this.outputArray();\n this.model.arrayAppendValue(arr, value);\n }\n processArrayAppendSlice() {\n let left = this.read(), right = this.read(), str = this.outputArray(), val = this.inputEntry().value;\n this.model.arrayAppendSlice(str, val, left, right);\n }\n processStringAppendString() {\n let value = this.model.wrap(this.read()), str = this.outputString();\n this.model.stringAppendValue(str, value);\n }\n processStringAppendSlice() {\n let left = this.read(), right = this.read(), str = this.outputString(), val = this.inputEntry().value;\n this.model.stringAppendSlice(str, val, left, right);\n }\n}\nfunction utf8charSize(code) {\n return code >> 16 ? 4 : code >> 11 ? 3 : code >> 7 ? 2 : 1;\n}\nfunction utf8stringSize(str) {\n let b = 0;\n for (let i = 0; i < str.length; i++) {\n let code = str.codePointAt(i), size = utf8charSize(code);\n size == 4 && i++, b += size;\n }\n return b;\n}\nfunction utf8resolveIndex(str, idx, start = 0) {\n let byteCount = start, ucsIdx = 0;\n for (ucsIdx = start; byteCount < idx; ucsIdx++) {\n let code = str.codePointAt(ucsIdx), size = utf8charSize(code);\n size === 4 && ucsIdx++, byteCount += size;\n }\n return ucsIdx;\n}\nfunction commonPrefix(str, str2) {\n let len = Math.min(str.length, str2.length), b = 0;\n for (let i = 0; i < len; ) {\n let aPoint = str.codePointAt(i), bPoint = str2.codePointAt(i);\n if (aPoint !== bPoint)\n return b;\n let size = utf8charSize(aPoint);\n b += size, i += size === 4 ? 2 : 1;\n }\n return b;\n}\nfunction commonSuffix(str, str2, prefix = 0) {\n let len = Math.min(str.length, str2.length) - prefix, b = 0;\n for (let i = 0; i < len; ) {\n let aPoint = str.codePointAt(str.length - 1 - i), bPoint = str2.codePointAt(str2.length - 1 - i);\n if (aPoint !== bPoint)\n return b;\n let size = utf8charSize(aPoint);\n b += size, i += size === 4 ? 2 : 1;\n }\n return b;\n}\nclass IncrementalModel {\n meta;\n constructor(meta) {\n this.meta = meta;\n }\n wrap(data) {\n return this.wrapWithMeta(data, this.meta, this.meta);\n }\n wrapWithMeta(data, startMeta, endMeta = this.meta) {\n return { data, startMeta, endMeta };\n }\n asObject(value) {\n if (!value.content) {\n let fields = {};\n for (let [key, val] of Object.entries(value.data))\n fields[key] = this.wrapWithMeta(val, value.startMeta);\n value.content = { type: \"object\", fields };\n }\n return value.content;\n }\n asArray(value) {\n if (!value.content) {\n let elements = value.data.map(\n (item) => this.wrapWithMeta(item, value.startMeta)\n ), metas = elements.map(() => this.meta);\n value.content = { type: \"array\", elements, metas };\n }\n return value.content;\n }\n asString(value) {\n if (!value.content) {\n let str = value.data, part = {\n value: str,\n utf8size: utf8stringSize(str),\n uses: [],\n startMeta: value.startMeta,\n endMeta: value.endMeta\n };\n value.content = this.stringFromParts([part]);\n }\n return value.content;\n }\n stringFromParts(parts) {\n let str = {\n type: \"string\",\n parts\n };\n for (let part of parts)\n part.uses.push(str);\n return str;\n }\n objectGetKeys(value) {\n return value.content ? Object.keys(value.content.fields) : Object.keys(value.data);\n }\n objectGetField(value, key) {\n return this.asObject(value).fields[key];\n }\n arrayGetElement(value, idx) {\n return this.asArray(value).elements[idx];\n }\n finalize(content) {\n return this.updateEndMeta(content), { content, startMeta: this.meta, endMeta: this.meta };\n }\n markChanged(value) {\n return this.wrap(unwrap(value));\n }\n updateEndMeta(content) {\n if (content.type == \"string\")\n for (let part of content.parts)\n part.endMeta = this.meta;\n else if (content.type === \"array\")\n for (let val of content.elements)\n val.content && val.endMeta !== this.meta && this.updateEndMeta(val.content), val.endMeta = this.meta;\n else\n for (let val of Object.values(content.fields))\n val.content && val.endMeta !== this.meta && this.updateEndMeta(val.content), val.endMeta = this.meta;\n }\n copyString(value) {\n if (value) {\n let other = this.asString(value);\n return this.stringFromParts(other.parts.slice());\n } else\n return {\n type: \"string\",\n parts: []\n };\n }\n copyObject(value) {\n let obj = {\n type: \"object\",\n fields: {}\n };\n if (value) {\n let other = this.asObject(value);\n Object.assign(obj.fields, other.fields);\n }\n return obj;\n }\n copyArray(value) {\n let arr = value ? this.asArray(value) : null, elements = arr ? arr.elements : [], metas = arr ? arr.metas : [];\n return {\n type: \"array\",\n elements,\n metas\n };\n }\n objectSetField(target, key, value) {\n target.fields[key] = value;\n }\n objectDeleteField(target, key) {\n delete target.fields[key];\n }\n arrayAppendValue(target, value) {\n target.elements.push(value), target.metas.push(this.meta);\n }\n arrayAppendSlice(target, source, left, right) {\n let arr = this.asArray(source), samePosition = arr.elements.length === left;\n if (target.elements.push(...arr.elements.slice(left, right)), samePosition)\n target.metas.push(...arr.metas.slice(left, right));\n else\n for (let i = left; i < right; i++)\n target.metas.push(this.meta);\n }\n stringAppendValue(target, value) {\n let str = this.asString(value);\n for (let part of str.parts)\n this.stringAppendPart(target, part);\n }\n stringAppendPart(target, part) {\n target.parts.push(part), part.uses.push(target);\n }\n resolveStringPart(str, from, len) {\n if (len === 0)\n return from;\n for (let i = from; i < str.parts.length; i++) {\n let part = str.parts[i];\n if (len === part.utf8size)\n return i + 1;\n if (len < part.utf8size)\n return this.splitString(part, len), i + 1;\n len -= part.utf8size;\n }\n throw new Error(\"splitting string out of bounds\");\n }\n splitString(part, idx) {\n let leftValue, rightValue, leftSize = idx, rightSize = part.utf8size - leftSize;\n if (part.utf8size !== part.value.length) {\n let byteCount = 0;\n for (idx = 0; byteCount < leftSize; idx++) {\n let code = part.value.codePointAt(idx), size = utf8charSize(code);\n size === 4 && idx++, byteCount += size;\n }\n }\n leftValue = part.value.slice(0, idx), rightValue = part.value.slice(idx);\n let newPart = {\n value: rightValue,\n utf8size: rightSize,\n uses: part.uses.slice(),\n startMeta: part.startMeta,\n endMeta: part.endMeta\n };\n part.value = leftValue, part.utf8size = leftSize;\n for (let use of part.uses) {\n let ndx = use.parts.indexOf(part);\n if (ndx === -1)\n throw new Error(\"bug: mismatch between string parts and use.\");\n use.parts.splice(ndx + 1, 0, newPart);\n }\n }\n stringAppendSlice(target, source, left, right) {\n let str = this.asString(source), firstPart = this.resolveStringPart(str, 0, left), lastPart = this.resolveStringPart(str, firstPart, right - left);\n for (let i = firstPart; i < lastPart; i++) {\n let part = str.parts[i];\n this.stringAppendPart(target, part);\n }\n }\n}\nfunction wrap(data, meta) {\n return { data, startMeta: meta, endMeta: meta };\n}\nfunction unwrap(value) {\n if (typeof value.data < \"u\")\n return value.data;\n let result, content = value.content;\n switch (content.type) {\n case \"string\":\n result = content.parts.map((part) => part.value).join(\"\");\n break;\n case \"array\":\n result = content.elements.map((val) => unwrap(val));\n break;\n case \"object\": {\n result = {};\n for (let [key, val] of Object.entries(content.fields))\n result[key] = unwrap(val);\n }\n }\n return value.data = result, result;\n}\nfunction getType(value) {\n return value.content ? value.content.type : Array.isArray(value.data) ? \"array\" : value.data === null ? \"null\" : typeof value.data;\n}\nfunction rebaseValue(left, right) {\n let leftType = getType(left), rightType = getType(right);\n if (leftType !== rightType)\n return right;\n let leftModel = new IncrementalModel(left.endMeta), rightModel = new IncrementalModel(right.endMeta);\n switch (leftType) {\n case \"object\": {\n let leftObj = leftModel.asObject(left), rightObj = rightModel.asObject(right), identicalFieldCount = 0, leftFieldCount = Object.keys(leftObj.fields).length, rightFieldCount = Object.keys(rightObj.fields).length;\n for (let [key, rightVal] of Object.entries(rightObj.fields)) {\n let leftVal = leftObj.fields[key];\n leftVal && (rightObj.fields[key] = rebaseValue(leftVal, rightVal), rightObj.fields[key] === leftVal && identicalFieldCount++);\n }\n return leftFieldCount === rightFieldCount && leftFieldCount === identicalFieldCount ? left : right;\n }\n case \"array\": {\n let leftArr = leftModel.asArray(left), rightArr = rightModel.asArray(right);\n if (leftArr.elements.length !== rightArr.elements.length)\n break;\n let numRebased = 0;\n for (let i = 0; i < rightArr.elements.length; i++)\n rightArr.elements[i] = rebaseValue(leftArr.elements[i], rightArr.elements[i]), rightArr.elements[i] !== leftArr.elements[i] && numRebased++;\n return numRebased === 0 ? left : right;\n }\n case \"null\":\n case \"boolean\":\n case \"number\": {\n if (unwrap(left) === unwrap(right))\n return left;\n break;\n }\n case \"string\": {\n let leftRaw = unwrap(left), rightRaw = unwrap(right);\n if (leftRaw === rightRaw)\n return left;\n let result = rightModel.copyString(null), prefix = commonPrefix(leftRaw, rightRaw), suffix = commonSuffix(leftRaw, rightRaw, prefix), rightLen = utf8stringSize(rightRaw), leftLen = utf8stringSize(leftRaw);\n 0 < prefix && rightModel.stringAppendSlice(result, left, 0, prefix), prefix < rightLen - suffix && rightModel.stringAppendSlice(result, right, prefix, rightLen - suffix), leftLen - suffix < leftLen && rightModel.stringAppendSlice(result, left, leftLen - suffix, leftLen);\n let value = rightModel.finalize(result);\n if (unwrap(value) !== rightRaw)\n throw new Error(\"incorrect string rebase\");\n return value;\n }\n }\n return right;\n}\nfunction applyPatch$1(left, patch, startMeta) {\n let model = new IncrementalModel(startMeta);\n return new Patcher(model, left, patch).process();\n}\nvar incrementalPatcher = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n applyPatch: applyPatch$1,\n getType,\n rebaseValue,\n unwrap,\n wrap\n});\nclass SimpleModel {\n wrap(data) {\n return data;\n }\n finalize(b) {\n return Array.isArray(b) ? b : b.data;\n }\n markChanged(value) {\n return value;\n }\n objectGetKeys(value) {\n return Object.keys(value);\n }\n objectGetField(value, key) {\n return value[key];\n }\n arrayGetElement(value, idx) {\n return value[idx];\n }\n copyObject(value) {\n let res = {\n type: \"object\",\n data: {}\n };\n if (value !== null)\n for (let [key, val] of Object.entries(value))\n res.data[key] = val;\n return res;\n }\n copyArray(value) {\n return value === null ? [] : value.slice();\n }\n copyString(value) {\n return {\n type: \"string\",\n data: value === null ? \"\" : value\n };\n }\n objectSetField(target, key, value) {\n target.data[key] = value;\n }\n objectDeleteField(target, key) {\n delete target.data[key];\n }\n arrayAppendValue(target, value) {\n target.push(value);\n }\n arrayAppendSlice(target, source, left, right) {\n target.push(...source.slice(left, right));\n }\n stringAppendSlice(target, source, left, right) {\n const sourceString = source, leftPos = utf8resolveIndex(sourceString, left), rightPos = utf8resolveIndex(sourceString, right, leftPos);\n target.data += sourceString.slice(leftPos, rightPos);\n }\n stringAppendValue(target, value) {\n target.data += value;\n }\n}\nfunction applyPatch(left, patch) {\n let root = left;\n return new Patcher(new SimpleModel(), root, patch).process();\n}\nexport {\n applyPatch,\n incrementalPatcher as incremental\n};\n//# sourceMappingURL=index.js.map\n"],"names":["OPS","Patcher","model","root","patch","__publicField","opcode","op","processor","entry","idx","value","input","result","arr","key","obj","left","right","str","val","utf8charSize","code","utf8stringSize","b","i","size","utf8resolveIndex","start","byteCount","ucsIdx","commonPrefix","str2","len","aPoint","bPoint","commonSuffix","prefix","IncrementalModel","meta","data","startMeta","endMeta","fields","elements","item","metas","part","parts","content","unwrap","other","target","source","samePosition","from","leftValue","rightValue","leftSize","rightSize","newPart","use","ndx","firstPart","lastPart","wrap","getType","rebaseValue","leftType","rightType","leftModel","rightModel","leftObj","rightObj","identicalFieldCount","leftFieldCount","rightFieldCount","rightVal","leftVal","leftArr","rightArr","numRebased","leftRaw","rightRaw","suffix","rightLen","leftLen","applyPatch$1","incrementalPatcher","SimpleModel","res","sourceString","leftPos","rightPos","applyPatch"],"mappings":"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","x_google_ignoreList":[0]}
|