@kubohiroya/turbowarp-extension-data-editor 0.1.0 → 0.2.0
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/README.md +24 -3
- package/dist/build-info.json +7 -2
- package/dist/descendants.js +11 -2
- package/dist/index.d.ts +1 -0
- package/dist/json-value.d.ts +4 -0
- package/dist/json-value.js +12 -0
- package/dist/prepared-save.d.ts +5 -0
- package/dist/prepared-save.js +47 -0
- package/dist/prepared-types.d.ts +13 -0
- package/dist/prepared-types.js +1 -0
- package/dist/registry.d.ts +2 -0
- package/dist/registry.js +57 -45
- package/dist/rjsf.d.ts +25 -1
- package/dist/rjsf.js +70 -6
- package/dist/schema-compose.d.ts +6 -0
- package/dist/schema-compose.js +103 -0
- package/dist/schema-engine.d.ts +18 -0
- package/dist/schema-engine.js +298 -0
- package/dist/schema-json.d.ts +10 -0
- package/dist/schema-json.js +68 -0
- package/dist/schema-types.d.ts +161 -0
- package/dist/schema-types.js +2 -0
- package/dist/schema-view.d.ts +7 -0
- package/dist/schema-view.js +102 -0
- package/dist/schema.d.ts +8 -0
- package/dist/schema.js +86 -0
- package/dist/session.d.ts +1 -1
- package/dist/session.js +18 -5
- package/dist/source-document.d.ts +3 -0
- package/dist/source-document.js +415 -0
- package/dist/source-editor.d.ts +13 -0
- package/dist/source-editor.js +235 -0
- package/dist/source-schema-hints.d.ts +3 -0
- package/dist/source-schema-hints.js +13 -0
- package/dist/source-types.d.ts +47 -0
- package/dist/source-types.js +1 -0
- package/dist/source-view.d.ts +3 -0
- package/dist/source-view.js +318 -0
- package/dist/types.d.ts +2 -4
- package/dist/webpack4/index.js +4 -2
- package/dist/webpack4/metafile.json +9551 -8644
- package/dist/webpack4/react.js +2 -1
- package/dist/webpack4/react.js.map +1 -1
- package/dist/webpack4/rjsf.js +15014 -20975
- package/dist/webpack4/rjsf.js.map +4 -4
- package/dist/webpack4/schema.js +17 -0
- package/dist/webpack4/schema.js.map +7 -0
- package/dist/webpack4/shared-BKTRZUZH.js +42 -0
- package/dist/webpack4/{shared-KIFRVTSM.js.map → shared-BKTRZUZH.js.map} +1 -1
- package/dist/webpack4/shared-KQOUMWJ4.js +8490 -0
- package/dist/webpack4/shared-KQOUMWJ4.js.map +7 -0
- package/dist/webpack4/shared-MRPGBJIH.js +75 -0
- package/dist/webpack4/shared-MRPGBJIH.js.map +7 -0
- package/dist/webpack4/{shared-WHOAW2VF.js → shared-N6YQE2X6.js} +116 -44
- package/dist/webpack4/shared-N6YQE2X6.js.map +7 -0
- package/dist/webpack4/{shared-KIFRVTSM.js → shared-RN7GOT65.js} +2 -41
- package/dist/webpack4/shared-RN7GOT65.js.map +7 -0
- package/dist/webpack4/turbowarp.js +4 -2
- package/dist/webpack4/turbowarp.js.map +1 -1
- package/docs/README.md +1 -0
- package/docs/block-editor-e2e.md +98 -16
- package/docs/ci-success-gate.md +84 -0
- package/docs/editor/issue-12-public-validation/README.md +61 -0
- package/docs/editor/issue-12-public-validation/dark-invalid.png +0 -0
- package/docs/editor/issue-12-public-validation/dark-styles.json +173 -0
- package/docs/editor/issue-12-public-validation/dark-valid.png +0 -0
- package/docs/editor/issue-12-public-validation/deployment-target.json +5 -0
- package/docs/editor/issue-12-public-validation/deployment-wait.json +7 -0
- package/docs/editor/issue-12-public-validation/light-invalid.png +0 -0
- package/docs/editor/issue-12-public-validation/light-styles.json +173 -0
- package/docs/editor/issue-12-public-validation/light-valid.png +0 -0
- package/docs/editor/issue-12-public-validation/provenance.json +88 -0
- package/docs/editor/issue-12-public-validation/results.json +677 -0
- package/docs/editor/issue-12-public-validation/summary.json +206 -0
- package/docs/github-pages.md +48 -41
- package/docs/package-distribution.md +2 -2
- package/docs/schema-stage1-browser.json +10 -0
- package/docs/schema-stage1-contracts.json +242 -0
- package/docs/schema-stage1-dependencies.json +202 -0
- package/docs/schema-stage1-git-artifact-20261018.ja.md +17 -0
- package/docs/schema-stage1-profile-compat.json +30 -0
- package/docs/schema-stage1-review-fixes-20261018.ja.md +36 -0
- package/docs/schema-stage1-verification.json +541 -0
- package/docs/schema-stage1.ja.md +80 -0
- package/docs/schema.md +43 -0
- package/docs/source-forms.ja.md +19 -0
- package/docs/stage-2-publication.ja.md +29 -0
- package/docs/template-fixture-separation.ja.md +43 -0
- package/package.json +11 -3
- package/webpack4.cjs +1 -1
- package/dist/webpack4/shared-WHOAW2VF.js.map +0 -7
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// dist/schema-json.js
|
|
2
|
+
var JsonSnapshotError = class extends Error {
|
|
3
|
+
constructor(kind, dataPath) {
|
|
4
|
+
super("JSON snapshot failed.");
|
|
5
|
+
this.kind = kind;
|
|
6
|
+
this.dataPath = dataPath;
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
function appendPointer(path, key) {
|
|
10
|
+
return `${path}/${key.replace(/~/g, "~0").replace(/\//g, "~1")}`;
|
|
11
|
+
}
|
|
12
|
+
function snapshotJson(value) {
|
|
13
|
+
const active = /* @__PURE__ */ new WeakSet();
|
|
14
|
+
let remaining = 1e5;
|
|
15
|
+
const visit = (input, path, depth) => {
|
|
16
|
+
if (--remaining < 0 || depth > 128)
|
|
17
|
+
throw new JsonSnapshotError("limit", path);
|
|
18
|
+
if (input === null || typeof input === "string" || typeof input === "boolean")
|
|
19
|
+
return input;
|
|
20
|
+
if (typeof input === "number" && Number.isFinite(input))
|
|
21
|
+
return input;
|
|
22
|
+
if (typeof input !== "object" || input === null || active.has(input))
|
|
23
|
+
throw new JsonSnapshotError("invalid", path);
|
|
24
|
+
const array = Array.isArray(input);
|
|
25
|
+
const prototype = Object.getPrototypeOf(input);
|
|
26
|
+
if (!array && prototype !== null && prototype !== Object.prototype)
|
|
27
|
+
throw new JsonSnapshotError("invalid", path);
|
|
28
|
+
if (Object.getOwnPropertySymbols(input).length)
|
|
29
|
+
throw new JsonSnapshotError("invalid", path);
|
|
30
|
+
active.add(input);
|
|
31
|
+
try {
|
|
32
|
+
if (array) {
|
|
33
|
+
const length = input.length;
|
|
34
|
+
if (!Number.isSafeInteger(length) || length > remaining)
|
|
35
|
+
throw new JsonSnapshotError("limit", path);
|
|
36
|
+
const result2 = [];
|
|
37
|
+
for (let i = 0; i < length; i++) {
|
|
38
|
+
const child = appendPointer(path, String(i));
|
|
39
|
+
const descriptor = Object.getOwnPropertyDescriptor(input, i);
|
|
40
|
+
if (!descriptor || !("value" in descriptor))
|
|
41
|
+
throw new JsonSnapshotError("invalid", child);
|
|
42
|
+
result2.push(visit(descriptor.value, child, depth + 1));
|
|
43
|
+
}
|
|
44
|
+
for (const key of Object.keys(input)) {
|
|
45
|
+
if (!/^(0|[1-9][0-9]*)$/.test(key) || Number(key) >= length)
|
|
46
|
+
throw new JsonSnapshotError("invalid", appendPointer(path, key));
|
|
47
|
+
}
|
|
48
|
+
return result2;
|
|
49
|
+
}
|
|
50
|
+
const result = {};
|
|
51
|
+
for (const key of Object.keys(input)) {
|
|
52
|
+
const child = appendPointer(path, key);
|
|
53
|
+
const descriptor = Object.getOwnPropertyDescriptor(input, key);
|
|
54
|
+
if (!descriptor || !("value" in descriptor))
|
|
55
|
+
throw new JsonSnapshotError("invalid", child);
|
|
56
|
+
Object.defineProperty(result, key, { value: visit(descriptor.value, child, depth + 1), enumerable: true, writable: true, configurable: true });
|
|
57
|
+
}
|
|
58
|
+
return result;
|
|
59
|
+
} finally {
|
|
60
|
+
active.delete(input);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
return visit(value, "", 0);
|
|
64
|
+
}
|
|
65
|
+
function isJsonRecord(value) {
|
|
66
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export {
|
|
70
|
+
JsonSnapshotError,
|
|
71
|
+
appendPointer,
|
|
72
|
+
snapshotJson,
|
|
73
|
+
isJsonRecord
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=shared-MRPGBJIH.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../schema-json.js"],
|
|
4
|
+
"sourcesContent": ["export class JsonSnapshotError extends Error {\n constructor(kind, dataPath) {\n super('JSON snapshot failed.');\n this.kind = kind;\n this.dataPath = dataPath;\n }\n}\nexport function appendPointer(path, key) {\n return `${path}/${key.replace(/~/g, '~0').replace(/\\//g, '~1')}`;\n}\n/** Copy JSON values without invoking accessors, toJSON, or input iterators. */\nexport function snapshotJson(value) {\n const active = new WeakSet();\n let remaining = 100000;\n const visit = (input, path, depth) => {\n if (--remaining < 0 || depth > 128)\n throw new JsonSnapshotError('limit', path);\n if (input === null || typeof input === 'string' || typeof input === 'boolean')\n return input;\n if (typeof input === 'number' && Number.isFinite(input))\n return input;\n if (typeof input !== 'object' || input === null || active.has(input))\n throw new JsonSnapshotError('invalid', path);\n const array = Array.isArray(input);\n const prototype = Object.getPrototypeOf(input);\n if (!array && prototype !== null && prototype !== Object.prototype)\n throw new JsonSnapshotError('invalid', path);\n if (Object.getOwnPropertySymbols(input).length)\n throw new JsonSnapshotError('invalid', path);\n active.add(input);\n try {\n if (array) {\n const length = input.length;\n if (!Number.isSafeInteger(length) || length > remaining)\n throw new JsonSnapshotError('limit', path);\n const result = [];\n for (let i = 0; i < length; i++) {\n const child = appendPointer(path, String(i));\n const descriptor = Object.getOwnPropertyDescriptor(input, i);\n if (!descriptor || !('value' in descriptor))\n throw new JsonSnapshotError('invalid', child);\n result.push(visit(descriptor.value, child, depth + 1));\n }\n for (const key of Object.keys(input)) {\n if (!/^(0|[1-9][0-9]*)$/.test(key) || Number(key) >= length)\n throw new JsonSnapshotError('invalid', appendPointer(path, key));\n }\n return result;\n }\n const result = {};\n for (const key of Object.keys(input)) {\n const child = appendPointer(path, key);\n const descriptor = Object.getOwnPropertyDescriptor(input, key);\n if (!descriptor || !('value' in descriptor))\n throw new JsonSnapshotError('invalid', child);\n Object.defineProperty(result, key, { value: visit(descriptor.value, child, depth + 1), enumerable: true, writable: true, configurable: true });\n }\n return result;\n }\n finally {\n active.delete(input);\n }\n };\n return visit(value, '', 0);\n}\nexport function isJsonRecord(value) {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n"],
|
|
5
|
+
"mappings": ";AAAO,IAAM,oBAAN,cAAgC,MAAM;AAAA,EACzC,YAAY,MAAM,UAAU;AACxB,UAAM,uBAAuB;AAC7B,SAAK,OAAO;AACZ,SAAK,WAAW;AAAA,EACpB;AACJ;AACO,SAAS,cAAc,MAAM,KAAK;AACrC,SAAO,GAAG,IAAI,IAAI,IAAI,QAAQ,MAAM,IAAI,EAAE,QAAQ,OAAO,IAAI,CAAC;AAClE;AAEO,SAAS,aAAa,OAAO;AAChC,QAAM,SAAS,oBAAI,QAAQ;AAC3B,MAAI,YAAY;AAChB,QAAM,QAAQ,CAAC,OAAO,MAAM,UAAU;AAClC,QAAI,EAAE,YAAY,KAAK,QAAQ;AAC3B,YAAM,IAAI,kBAAkB,SAAS,IAAI;AAC7C,QAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,OAAO,UAAU;AAChE,aAAO;AACX,QAAI,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK;AAClD,aAAO;AACX,QAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAO,IAAI,KAAK;AAC/D,YAAM,IAAI,kBAAkB,WAAW,IAAI;AAC/C,UAAM,QAAQ,MAAM,QAAQ,KAAK;AACjC,UAAM,YAAY,OAAO,eAAe,KAAK;AAC7C,QAAI,CAAC,SAAS,cAAc,QAAQ,cAAc,OAAO;AACrD,YAAM,IAAI,kBAAkB,WAAW,IAAI;AAC/C,QAAI,OAAO,sBAAsB,KAAK,EAAE;AACpC,YAAM,IAAI,kBAAkB,WAAW,IAAI;AAC/C,WAAO,IAAI,KAAK;AAChB,QAAI;AACA,UAAI,OAAO;AACP,cAAM,SAAS,MAAM;AACrB,YAAI,CAAC,OAAO,cAAc,MAAM,KAAK,SAAS;AAC1C,gBAAM,IAAI,kBAAkB,SAAS,IAAI;AAC7C,cAAMA,UAAS,CAAC;AAChB,iBAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC7B,gBAAM,QAAQ,cAAc,MAAM,OAAO,CAAC,CAAC;AAC3C,gBAAM,aAAa,OAAO,yBAAyB,OAAO,CAAC;AAC3D,cAAI,CAAC,cAAc,EAAE,WAAW;AAC5B,kBAAM,IAAI,kBAAkB,WAAW,KAAK;AAChD,UAAAA,QAAO,KAAK,MAAM,WAAW,OAAO,OAAO,QAAQ,CAAC,CAAC;AAAA,QACzD;AACA,mBAAW,OAAO,OAAO,KAAK,KAAK,GAAG;AAClC,cAAI,CAAC,oBAAoB,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK;AACjD,kBAAM,IAAI,kBAAkB,WAAW,cAAc,MAAM,GAAG,CAAC;AAAA,QACvE;AACA,eAAOA;AAAA,MACX;AACA,YAAM,SAAS,CAAC;AAChB,iBAAW,OAAO,OAAO,KAAK,KAAK,GAAG;AAClC,cAAM,QAAQ,cAAc,MAAM,GAAG;AACrC,cAAM,aAAa,OAAO,yBAAyB,OAAO,GAAG;AAC7D,YAAI,CAAC,cAAc,EAAE,WAAW;AAC5B,gBAAM,IAAI,kBAAkB,WAAW,KAAK;AAChD,eAAO,eAAe,QAAQ,KAAK,EAAE,OAAO,MAAM,WAAW,OAAO,OAAO,QAAQ,CAAC,GAAG,YAAY,MAAM,UAAU,MAAM,cAAc,KAAK,CAAC;AAAA,MACjJ;AACA,aAAO;AAAA,IACX,UACA;AACI,aAAO,OAAO,KAAK;AAAA,IACvB;AAAA,EACJ;AACA,SAAO,MAAM,OAAO,IAAI,CAAC;AAC7B;AACO,SAAS,aAAa,OAAO;AAChC,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC9E;",
|
|
6
|
+
"names": ["result"]
|
|
7
|
+
}
|
|
@@ -5,7 +5,10 @@ import {
|
|
|
5
5
|
DescendantNodeError,
|
|
6
6
|
EDITOR_API_VERSION,
|
|
7
7
|
supportsDescendantEditing
|
|
8
|
-
} from "./shared-
|
|
8
|
+
} from "./shared-BKTRZUZH.js";
|
|
9
|
+
import {
|
|
10
|
+
snapshotJson
|
|
11
|
+
} from "./shared-MRPGBJIH.js";
|
|
9
12
|
|
|
10
13
|
// dist/data.js
|
|
11
14
|
function isLiteral(value) {
|
|
@@ -170,6 +173,49 @@ var EditorView = class {
|
|
|
170
173
|
};
|
|
171
174
|
_EditorView_unmount = /* @__PURE__ */ new WeakMap(), _EditorView_mounting = /* @__PURE__ */ new WeakMap();
|
|
172
175
|
|
|
176
|
+
// dist/prepared-save.js
|
|
177
|
+
function isPreparedEditor(definition) {
|
|
178
|
+
return definition.saveContract === "prepared-source-v1";
|
|
179
|
+
}
|
|
180
|
+
function capturePreparedSave(definition, draft, snapshot) {
|
|
181
|
+
const output = definition.prepareSave(draft, snapshot);
|
|
182
|
+
try {
|
|
183
|
+
const value = snapshotJson(output);
|
|
184
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
185
|
+
throw new TypeError("Invalid prepared save.");
|
|
186
|
+
const result = value;
|
|
187
|
+
if (result.kind === "ready" && Array.isArray(result.changes)) {
|
|
188
|
+
const changes = [];
|
|
189
|
+
for (let i = 0; i < result.changes.length; i++) {
|
|
190
|
+
const change = result.changes[i];
|
|
191
|
+
if (!change || typeof change.argument !== "string" || !(typeof change.value === "string" || typeof change.value === "boolean" || typeof change.value === "number" && Number.isFinite(change.value))) {
|
|
192
|
+
throw new TypeError("Invalid prepared change.");
|
|
193
|
+
}
|
|
194
|
+
changes.push(Object.freeze({ argument: change.argument, value: change.value }));
|
|
195
|
+
}
|
|
196
|
+
return Object.freeze({ kind: "ready", changes: Object.freeze(changes) });
|
|
197
|
+
}
|
|
198
|
+
if (result.kind === "invalid" && Array.isArray(result.issues) && result.issues.length > 0) {
|
|
199
|
+
const issues = [];
|
|
200
|
+
for (let i = 0; i < result.issues.length; i++) {
|
|
201
|
+
const issue = result.issues[i];
|
|
202
|
+
if (!issue || typeof issue.message !== "string" || issue.path !== void 0 && typeof issue.path !== "string") {
|
|
203
|
+
throw new TypeError("Invalid prepared issue.");
|
|
204
|
+
}
|
|
205
|
+
issues.push(Object.freeze({ message: issue.message, ...issue.path === void 0 ? {} : { path: issue.path } }));
|
|
206
|
+
}
|
|
207
|
+
return Object.freeze({ kind: "invalid", issues: Object.freeze(issues) });
|
|
208
|
+
}
|
|
209
|
+
throw new TypeError("Invalid prepared save.");
|
|
210
|
+
} catch (error) {
|
|
211
|
+
try {
|
|
212
|
+
void Promise.prototype.then.call(output, () => void 0, () => void 0);
|
|
213
|
+
} catch (_a) {
|
|
214
|
+
}
|
|
215
|
+
throw error;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
173
219
|
// dist/session.js
|
|
174
220
|
var __classPrivateFieldSet2 = function(receiver, state, value, kind, f) {
|
|
175
221
|
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
@@ -192,6 +238,7 @@ var _EditorSession_view;
|
|
|
192
238
|
var _EditorSession_definition;
|
|
193
239
|
var _EditorSession_snapshot;
|
|
194
240
|
var _EditorSession_host;
|
|
241
|
+
var _EditorSession_isRegistered;
|
|
195
242
|
var _EditorSession_prepareChanges;
|
|
196
243
|
var _EditorSession_copyIssues;
|
|
197
244
|
var _EditorSession_copyDraft;
|
|
@@ -201,7 +248,7 @@ var _EditorSession_notify;
|
|
|
201
248
|
var _EditorSession_reportObserverError;
|
|
202
249
|
var EditorSession = class {
|
|
203
250
|
/** Use EditorRegistry.open() to construct sessions from a captured host snapshot. */
|
|
204
|
-
constructor(definition, snapshot, host) {
|
|
251
|
+
constructor(definition, snapshot, host, isRegistered) {
|
|
205
252
|
_EditorSession_instances.add(this);
|
|
206
253
|
_EditorSession_draft.set(this, void 0);
|
|
207
254
|
_EditorSession_status.set(this, "editing");
|
|
@@ -212,6 +259,8 @@ var EditorSession = class {
|
|
|
212
259
|
_EditorSession_definition.set(this, void 0);
|
|
213
260
|
_EditorSession_snapshot.set(this, void 0);
|
|
214
261
|
_EditorSession_host.set(this, void 0);
|
|
262
|
+
_EditorSession_isRegistered.set(this, void 0);
|
|
263
|
+
__classPrivateFieldSet2(this, _EditorSession_isRegistered, isRegistered, "f");
|
|
215
264
|
__classPrivateFieldSet2(this, _EditorSession_definition, definition, "f");
|
|
216
265
|
__classPrivateFieldSet2(this, _EditorSession_snapshot, captureSnapshot(snapshot, captureReference(snapshot)), "f");
|
|
217
266
|
__classPrivateFieldSet2(this, _EditorSession_host, host, "f");
|
|
@@ -267,18 +316,25 @@ var EditorSession = class {
|
|
|
267
316
|
__classPrivateFieldSet2(this, _EditorSession_error, void 0, "f");
|
|
268
317
|
__classPrivateFieldGet2(this, _EditorSession_instances, "m", _EditorSession_notify).call(this);
|
|
269
318
|
try {
|
|
270
|
-
|
|
319
|
+
if (__classPrivateFieldGet2(this, _EditorSession_isRegistered, "f") && !__classPrivateFieldGet2(this, _EditorSession_isRegistered, "f").call(this))
|
|
320
|
+
throw new BlockEditorConflictError("The source editor registration expired.");
|
|
321
|
+
const prepared = isPreparedEditor(__classPrivateFieldGet2(this, _EditorSession_definition, "f")) ? capturePreparedSave(__classPrivateFieldGet2(this, _EditorSession_definition, "f"), cloneJson(__classPrivateFieldGet2(this, _EditorSession_draft, "f")), __classPrivateFieldGet2(this, _EditorSession_snapshot, "f")) : void 0;
|
|
322
|
+
const issues = prepared ? prepared.kind === "invalid" ? prepared.issues : [] : await __classPrivateFieldGet2(this, _EditorSession_definition, "f").validate(cloneJson(__classPrivateFieldGet2(this, _EditorSession_draft, "f")), __classPrivateFieldGet2(this, _EditorSession_snapshot, "f"));
|
|
271
323
|
if (!Array.isArray(issues))
|
|
272
324
|
throw new TypeError("validate() must return an issue array.");
|
|
273
325
|
if (issues.length > 0) {
|
|
274
326
|
__classPrivateFieldSet2(this, _EditorSession_issues, __classPrivateFieldGet2(this, _EditorSession_instances, "m", _EditorSession_copyIssues).call(this, issues), "f");
|
|
275
327
|
return { status: "invalid", issues: __classPrivateFieldGet2(this, _EditorSession_issues, "f") };
|
|
276
328
|
}
|
|
277
|
-
const changes = __classPrivateFieldGet2(this, _EditorSession_instances, "m", _EditorSession_prepareChanges).call(this, __classPrivateFieldGet2(this, _EditorSession_definition, "f").createPatch(cloneJson(__classPrivateFieldGet2(this, _EditorSession_draft, "f")), __classPrivateFieldGet2(this, _EditorSession_snapshot, "f")));
|
|
329
|
+
const changes = __classPrivateFieldGet2(this, _EditorSession_instances, "m", _EditorSession_prepareChanges).call(this, (prepared === null || prepared === void 0 ? void 0 : prepared.kind) === "ready" ? prepared.changes : __classPrivateFieldGet2(this, _EditorSession_definition, "f").createPatch(cloneJson(__classPrivateFieldGet2(this, _EditorSession_draft, "f")), __classPrivateFieldGet2(this, _EditorSession_snapshot, "f")));
|
|
330
|
+
if (__classPrivateFieldGet2(this, _EditorSession_isRegistered, "f") && !__classPrivateFieldGet2(this, _EditorSession_isRegistered, "f").call(this))
|
|
331
|
+
throw new BlockEditorConflictError("The source editor registration expired.");
|
|
278
332
|
const current = __classPrivateFieldGet2(this, _EditorSession_host, "f").readBlock(__classPrivateFieldGet2(this, _EditorSession_snapshot, "f"));
|
|
279
333
|
if (!current || !sameSnapshot(__classPrivateFieldGet2(this, _EditorSession_snapshot, "f"), captureSnapshot(current, __classPrivateFieldGet2(this, _EditorSession_snapshot, "f")))) {
|
|
280
334
|
throw new BlockEditorConflictError();
|
|
281
335
|
}
|
|
336
|
+
if (__classPrivateFieldGet2(this, _EditorSession_isRegistered, "f") && !__classPrivateFieldGet2(this, _EditorSession_isRegistered, "f").call(this))
|
|
337
|
+
throw new BlockEditorConflictError("The source editor registration expired.");
|
|
282
338
|
if (changes.length > 0) {
|
|
283
339
|
await __classPrivateFieldGet2(this, _EditorSession_host, "f").commit(Object.freeze({ expected: __classPrivateFieldGet2(this, _EditorSession_snapshot, "f"), changes }));
|
|
284
340
|
}
|
|
@@ -309,7 +365,7 @@ var EditorSession = class {
|
|
|
309
365
|
return true;
|
|
310
366
|
}
|
|
311
367
|
};
|
|
312
|
-
_EditorSession_draft = /* @__PURE__ */ new WeakMap(), _EditorSession_status = /* @__PURE__ */ new WeakMap(), _EditorSession_issues = /* @__PURE__ */ new WeakMap(), _EditorSession_error = /* @__PURE__ */ new WeakMap(), _EditorSession_listeners = /* @__PURE__ */ new WeakMap(), _EditorSession_view = /* @__PURE__ */ new WeakMap(), _EditorSession_definition = /* @__PURE__ */ new WeakMap(), _EditorSession_snapshot = /* @__PURE__ */ new WeakMap(), _EditorSession_host = /* @__PURE__ */ new WeakMap(), _EditorSession_instances = /* @__PURE__ */ new WeakSet(), _EditorSession_prepareChanges = function _EditorSession_prepareChanges2(patch) {
|
|
368
|
+
_EditorSession_draft = /* @__PURE__ */ new WeakMap(), _EditorSession_status = /* @__PURE__ */ new WeakMap(), _EditorSession_issues = /* @__PURE__ */ new WeakMap(), _EditorSession_error = /* @__PURE__ */ new WeakMap(), _EditorSession_listeners = /* @__PURE__ */ new WeakMap(), _EditorSession_view = /* @__PURE__ */ new WeakMap(), _EditorSession_definition = /* @__PURE__ */ new WeakMap(), _EditorSession_snapshot = /* @__PURE__ */ new WeakMap(), _EditorSession_host = /* @__PURE__ */ new WeakMap(), _EditorSession_isRegistered = /* @__PURE__ */ new WeakMap(), _EditorSession_instances = /* @__PURE__ */ new WeakSet(), _EditorSession_prepareChanges = function _EditorSession_prepareChanges2(patch) {
|
|
313
369
|
if (!Array.isArray(patch))
|
|
314
370
|
throw new TypeError("createPatch() must return an array.");
|
|
315
371
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -638,9 +694,13 @@ var DescendantSession = class {
|
|
|
638
694
|
__classPrivateFieldGet3(this, _DescendantSession_instances, "m", _DescendantSession_notify).call(this);
|
|
639
695
|
try {
|
|
640
696
|
__classPrivateFieldGet3(this, _DescendantSession_instances, "m", _DescendantSession_assertSaving).call(this);
|
|
697
|
+
const prepared = /* @__PURE__ */ new Map();
|
|
641
698
|
for (const record of __classPrivateFieldGet3(this, _DescendantSession_records, "f").values()) {
|
|
642
699
|
try {
|
|
643
|
-
const
|
|
700
|
+
const result = isPreparedEditor(record.definition) ? capturePreparedSave(record.definition, cloneJson(record.draft), record.snapshot) : void 0;
|
|
701
|
+
if (result)
|
|
702
|
+
prepared.set(record.snapshot.blockId, result);
|
|
703
|
+
const issues2 = result ? result.kind === "invalid" ? result.issues : [] : await abortable(record.definition.validate(cloneJson(record.draft), record.snapshot), __classPrivateFieldGet3(this, _DescendantSession_abort, "f").signal);
|
|
644
704
|
__classPrivateFieldGet3(this, _DescendantSession_instances, "m", _DescendantSession_assertSaving).call(this);
|
|
645
705
|
record.issues = copyIssues(issues2);
|
|
646
706
|
} catch (cause) {
|
|
@@ -655,7 +715,8 @@ var DescendantSession = class {
|
|
|
655
715
|
const destinations = /* @__PURE__ */ new Set();
|
|
656
716
|
for (const record of __classPrivateFieldGet3(this, _DescendantSession_records, "f").values()) {
|
|
657
717
|
try {
|
|
658
|
-
const
|
|
718
|
+
const result = prepared.get(record.snapshot.blockId);
|
|
719
|
+
const patch = (result === null || result === void 0 ? void 0 : result.kind) === "ready" ? result.changes : record.definition.createPatch(cloneJson(record.draft), record.snapshot);
|
|
659
720
|
__classPrivateFieldGet3(this, _DescendantSession_instances, "m", _DescendantSession_assertSaving).call(this);
|
|
660
721
|
if (!Array.isArray(patch))
|
|
661
722
|
throw new TypeError("createPatch() must return an array.");
|
|
@@ -857,6 +918,7 @@ var _EditorRegistry_instances;
|
|
|
857
918
|
var _EditorRegistry_editors;
|
|
858
919
|
var _EditorRegistry_opcodes;
|
|
859
920
|
var _EditorRegistry_changes;
|
|
921
|
+
var _EditorRegistry_register;
|
|
860
922
|
var _EditorRegistry_notifyChanges;
|
|
861
923
|
var EditorRegistry = class {
|
|
862
924
|
constructor() {
|
|
@@ -866,41 +928,15 @@ var EditorRegistry = class {
|
|
|
866
928
|
_EditorRegistry_changes.set(this, /* @__PURE__ */ new Set());
|
|
867
929
|
}
|
|
868
930
|
register(definition) {
|
|
869
|
-
if (definition
|
|
870
|
-
throw new TypeError("
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
if (!
|
|
875
|
-
throw new TypeError("Expected
|
|
876
|
-
}
|
|
877
|
-
if (!Array.isArray(definition.editableArguments) || new Set(definition.editableArguments).size !== definition.editableArguments.length || definition.editableArguments.some((name) => typeof name !== "string" || !name)) {
|
|
878
|
-
throw new TypeError("Expected distinct editable argument names.");
|
|
879
|
-
}
|
|
880
|
-
if (typeof definition.read !== "function" || typeof definition.validate !== "function" || typeof definition.createPatch !== "function" || definition.mount !== void 0 && typeof definition.mount !== "function") {
|
|
881
|
-
throw new TypeError("Invalid editor callbacks.");
|
|
882
|
-
}
|
|
883
|
-
const key = JSON.stringify([definition.extensionId, definition.editorId]);
|
|
884
|
-
if (__classPrivateFieldGet4(this, _EditorRegistry_editors, "f").has(key) || definition.opcodes.some((opcode) => __classPrivateFieldGet4(this, _EditorRegistry_opcodes, "f").has(opcode))) {
|
|
885
|
-
throw new Error("The editor ID or an opcode is already registered.");
|
|
931
|
+
if (isPreparedEditor(definition))
|
|
932
|
+
throw new TypeError("Prepared editors require registerPrepared().");
|
|
933
|
+
return __classPrivateFieldGet4(this, _EditorRegistry_instances, "m", _EditorRegistry_register).call(this, definition);
|
|
934
|
+
}
|
|
935
|
+
registerPrepared(definition) {
|
|
936
|
+
if (!isPreparedEditor(definition) || typeof definition.prepareSave !== "function") {
|
|
937
|
+
throw new TypeError("Expected a prepared source editor.");
|
|
886
938
|
}
|
|
887
|
-
|
|
888
|
-
...definition,
|
|
889
|
-
opcodes: Object.freeze([...definition.opcodes]),
|
|
890
|
-
editableArguments: Object.freeze([...definition.editableArguments])
|
|
891
|
-
});
|
|
892
|
-
__classPrivateFieldGet4(this, _EditorRegistry_editors, "f").set(key, entry);
|
|
893
|
-
for (const opcode of entry.opcodes)
|
|
894
|
-
__classPrivateFieldGet4(this, _EditorRegistry_opcodes, "f").set(opcode, entry);
|
|
895
|
-
__classPrivateFieldGet4(this, _EditorRegistry_instances, "m", _EditorRegistry_notifyChanges).call(this);
|
|
896
|
-
return () => {
|
|
897
|
-
if (__classPrivateFieldGet4(this, _EditorRegistry_editors, "f").get(key) !== entry)
|
|
898
|
-
return;
|
|
899
|
-
__classPrivateFieldGet4(this, _EditorRegistry_editors, "f").delete(key);
|
|
900
|
-
for (const opcode of entry.opcodes)
|
|
901
|
-
__classPrivateFieldGet4(this, _EditorRegistry_opcodes, "f").delete(opcode);
|
|
902
|
-
__classPrivateFieldGet4(this, _EditorRegistry_instances, "m", _EditorRegistry_notifyChanges).call(this);
|
|
903
|
-
};
|
|
939
|
+
return __classPrivateFieldGet4(this, _EditorRegistry_instances, "m", _EditorRegistry_register).call(this, definition);
|
|
904
940
|
}
|
|
905
941
|
resolve(opcode) {
|
|
906
942
|
const entry = __classPrivateFieldGet4(this, _EditorRegistry_opcodes, "f").get(opcode);
|
|
@@ -921,7 +957,7 @@ var EditorRegistry = class {
|
|
|
921
957
|
return void 0;
|
|
922
958
|
const snapshot = captureSnapshot(live, capturedReference);
|
|
923
959
|
const entry = __classPrivateFieldGet4(this, _EditorRegistry_opcodes, "f").get(snapshot.opcode);
|
|
924
|
-
return entry ? new EditorSession(entry, snapshot, host) : void 0;
|
|
960
|
+
return entry ? new EditorSession(entry, snapshot, host, isPreparedEditor(entry) ? () => __classPrivateFieldGet4(this, _EditorRegistry_opcodes, "f").get(snapshot.opcode) === entry : void 0) : void 0;
|
|
925
961
|
}
|
|
926
962
|
openDescendants(reference, host, limits) {
|
|
927
963
|
if (!supportsDescendantEditing(host))
|
|
@@ -943,7 +979,43 @@ var EditorRegistry = class {
|
|
|
943
979
|
}, resolvedLimits);
|
|
944
980
|
}
|
|
945
981
|
};
|
|
946
|
-
_EditorRegistry_editors = /* @__PURE__ */ new WeakMap(), _EditorRegistry_opcodes = /* @__PURE__ */ new WeakMap(), _EditorRegistry_changes = /* @__PURE__ */ new WeakMap(), _EditorRegistry_instances = /* @__PURE__ */ new WeakSet(),
|
|
982
|
+
_EditorRegistry_editors = /* @__PURE__ */ new WeakMap(), _EditorRegistry_opcodes = /* @__PURE__ */ new WeakMap(), _EditorRegistry_changes = /* @__PURE__ */ new WeakMap(), _EditorRegistry_instances = /* @__PURE__ */ new WeakSet(), _EditorRegistry_register = function _EditorRegistry_register2(definition) {
|
|
983
|
+
if (definition.apiVersion !== EDITOR_API_VERSION)
|
|
984
|
+
throw new TypeError("Unsupported editor API version.");
|
|
985
|
+
if (!/^[a-z0-9]+$/i.test(definition.extensionId) || !/^[a-z0-9][a-z0-9._-]*$/i.test(definition.editorId)) {
|
|
986
|
+
throw new TypeError("Invalid extension ID or editor ID.");
|
|
987
|
+
}
|
|
988
|
+
if (!Array.isArray(definition.opcodes) || definition.opcodes.length === 0 || new Set(definition.opcodes).size !== definition.opcodes.length || definition.opcodes.some((opcode) => typeof opcode !== "string" || !opcode.startsWith(`${definition.extensionId}_`) || opcode === `${definition.extensionId}_`)) {
|
|
989
|
+
throw new TypeError("Expected distinct full opcodes belonging to the extension.");
|
|
990
|
+
}
|
|
991
|
+
if (!Array.isArray(definition.editableArguments) || new Set(definition.editableArguments).size !== definition.editableArguments.length || definition.editableArguments.some((name) => typeof name !== "string" || !name)) {
|
|
992
|
+
throw new TypeError("Expected distinct editable argument names.");
|
|
993
|
+
}
|
|
994
|
+
if (typeof definition.read !== "function" || typeof definition.validate !== "function" || typeof definition.createPatch !== "function" || definition.mount !== void 0 && typeof definition.mount !== "function") {
|
|
995
|
+
throw new TypeError("Invalid editor callbacks.");
|
|
996
|
+
}
|
|
997
|
+
const key = JSON.stringify([definition.extensionId, definition.editorId]);
|
|
998
|
+
if (__classPrivateFieldGet4(this, _EditorRegistry_editors, "f").has(key) || definition.opcodes.some((opcode) => __classPrivateFieldGet4(this, _EditorRegistry_opcodes, "f").has(opcode))) {
|
|
999
|
+
throw new Error("The editor ID or an opcode is already registered.");
|
|
1000
|
+
}
|
|
1001
|
+
const entry = Object.freeze({
|
|
1002
|
+
...definition,
|
|
1003
|
+
opcodes: Object.freeze([...definition.opcodes]),
|
|
1004
|
+
editableArguments: Object.freeze([...definition.editableArguments])
|
|
1005
|
+
});
|
|
1006
|
+
__classPrivateFieldGet4(this, _EditorRegistry_editors, "f").set(key, entry);
|
|
1007
|
+
for (const opcode of entry.opcodes)
|
|
1008
|
+
__classPrivateFieldGet4(this, _EditorRegistry_opcodes, "f").set(opcode, entry);
|
|
1009
|
+
__classPrivateFieldGet4(this, _EditorRegistry_instances, "m", _EditorRegistry_notifyChanges).call(this);
|
|
1010
|
+
return () => {
|
|
1011
|
+
if (__classPrivateFieldGet4(this, _EditorRegistry_editors, "f").get(key) !== entry)
|
|
1012
|
+
return;
|
|
1013
|
+
__classPrivateFieldGet4(this, _EditorRegistry_editors, "f").delete(key);
|
|
1014
|
+
for (const opcode of entry.opcodes)
|
|
1015
|
+
__classPrivateFieldGet4(this, _EditorRegistry_opcodes, "f").delete(opcode);
|
|
1016
|
+
__classPrivateFieldGet4(this, _EditorRegistry_instances, "m", _EditorRegistry_notifyChanges).call(this);
|
|
1017
|
+
};
|
|
1018
|
+
}, _EditorRegistry_notifyChanges = function _EditorRegistry_notifyChanges2() {
|
|
947
1019
|
for (const listener of [...__classPrivateFieldGet4(this, _EditorRegistry_changes, "f")])
|
|
948
1020
|
listener();
|
|
949
1021
|
};
|
|
@@ -954,4 +1026,4 @@ export {
|
|
|
954
1026
|
DescendantSession,
|
|
955
1027
|
EditorRegistry
|
|
956
1028
|
};
|
|
957
|
-
//# sourceMappingURL=shared-
|
|
1029
|
+
//# sourceMappingURL=shared-N6YQE2X6.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../data.js", "../view.js", "../prepared-save.js", "../session.js", "../subtree.js", "../descendants.js", "../registry.js"],
|
|
4
|
+
"sourcesContent": ["export function isLiteral(value) {\n return typeof value === 'string' || typeof value === 'boolean' ||\n (typeof value === 'number' && Number.isFinite(value));\n}\n/** Reject values whose meaning would change during JSON persistence. */\nexport function cloneJson(value) {\n const ancestors = new Set();\n const visit = (item, depth) => {\n if (depth > 100)\n throw new TypeError('JSON data exceeds the maximum depth.');\n if (item === null || isLiteral(item))\n return item;\n if (typeof item !== 'object')\n throw new TypeError('Expected JSON-compatible data.');\n if (ancestors.has(item))\n throw new TypeError('JSON data must not contain cycles.');\n ancestors.add(item);\n try {\n if (Array.isArray(item))\n return Array.from(item, child => visit(child, depth + 1));\n const prototype = Object.getPrototypeOf(item);\n if (prototype !== Object.prototype && prototype !== null) {\n throw new TypeError('JSON objects must be plain objects.');\n }\n if (Object.getOwnPropertySymbols(item).length > 0) {\n throw new TypeError('JSON objects must not have symbol properties.');\n }\n return Object.fromEntries(Object.entries(item).map(([key, child]) => [key, visit(child, depth + 1)]));\n }\n finally {\n ancestors.delete(item);\n }\n };\n return visit(value, 0);\n}\nexport function captureReference(reference) {\n if (!reference || typeof reference.targetId !== 'string' || !reference.targetId ||\n typeof reference.blockId !== 'string' || !reference.blockId) {\n throw new TypeError('A target ID and block ID are required.');\n }\n return Object.freeze({ targetId: reference.targetId, blockId: reference.blockId });\n}\nexport function captureSnapshot(snapshot, reference) {\n if (snapshot.targetId !== reference.targetId || snapshot.blockId !== reference.blockId ||\n typeof snapshot.opcode !== 'string' || !snapshot.opcode ||\n typeof snapshot.revision !== 'string' || !snapshot.revision ||\n !snapshot.arguments || typeof snapshot.arguments !== 'object' ||\n Array.isArray(snapshot.arguments)) {\n throw new TypeError('The host returned an invalid block snapshot.');\n }\n const entries = Object.entries(snapshot.arguments).map(([name, slot]) => {\n if (!slot || (slot.kind !== 'reporter' && slot.kind !== 'literal') ||\n (slot.kind === 'literal' && !isLiteral(slot.value))) {\n throw new TypeError(`Invalid argument slot: ${name}`);\n }\n const copy = slot.kind === 'reporter'\n ? Object.freeze({ kind: 'reporter' })\n : Object.freeze({ kind: 'literal', value: slot.value });\n return [name, copy];\n });\n return Object.freeze({\n ...captureReference(reference), opcode: snapshot.opcode, revision: snapshot.revision,\n arguments: Object.freeze(Object.fromEntries(entries))\n });\n}\nexport function sameSnapshot(left, right) {\n const names = Object.keys(left.arguments);\n return left.targetId === right.targetId && left.blockId === right.blockId &&\n left.opcode === right.opcode && left.revision === right.revision &&\n names.length === Object.keys(right.arguments).length && names.every(name => {\n const a = left.arguments[name];\n const b = Object.hasOwn(right.arguments, name) ? right.arguments[name] : undefined;\n return b !== undefined && a.kind === b.kind &&\n (a.kind === 'reporter' || (b.kind === 'literal' && a.value === b.value));\n });\n}\n", "var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _EditorView_unmount, _EditorView_mounting;\n/** Shared body lifetime for single-block and aggregate sessions. */\nexport class EditorView {\n constructor() {\n _EditorView_unmount.set(this, void 0);\n _EditorView_mounting.set(this, false);\n }\n mount(container, mount, owner) {\n if (owner.getState().status !== 'editing' || __classPrivateFieldGet(this, _EditorView_unmount, \"f\") || __classPrivateFieldGet(this, _EditorView_mounting, \"f\")) {\n throw new Error('The session cannot mount another view.');\n }\n if (!mount)\n throw new Error('No editor view is registered.');\n let active = true;\n const subscriptions = new Set();\n const assertMounted = () => {\n if (!active)\n throw new Error('The editor view is unmounted.');\n };\n const release = () => {\n active = false;\n for (const unsubscribe of subscriptions)\n unsubscribe();\n subscriptions.clear();\n };\n const context = Object.freeze({\n getDraft: () => owner.getDraft(),\n setDraft: (draft) => { assertMounted(); owner.setDraft(draft); },\n setValidationIssues: (issues) => {\n assertMounted();\n owner.setValidationIssues(issues);\n },\n getState: () => owner.getState(),\n subscribe: (listener) => {\n assertMounted();\n const unsubscribe = owner.subscribe(() => { if (active)\n listener(); });\n const remove = () => { subscriptions.delete(remove); unsubscribe(); };\n subscriptions.add(remove);\n return remove;\n }\n });\n __classPrivateFieldSet(this, _EditorView_mounting, true, \"f\");\n let cleanup;\n try {\n cleanup = mount(container, context);\n if (typeof cleanup !== 'function')\n throw new TypeError('mount() must return a cleanup function.');\n }\n catch (error) {\n release();\n throw error;\n }\n finally {\n __classPrivateFieldSet(this, _EditorView_mounting, false, \"f\");\n }\n if (owner.getState().status !== 'editing' && owner.getState().status !== 'saving') {\n release();\n cleanup();\n return () => { };\n }\n const unmount = () => {\n if (!active)\n return;\n release();\n __classPrivateFieldSet(this, _EditorView_unmount, undefined, \"f\");\n cleanup();\n };\n __classPrivateFieldSet(this, _EditorView_unmount, unmount, \"f\");\n return unmount;\n }\n unmount() { var _a; (_a = __classPrivateFieldGet(this, _EditorView_unmount, \"f\")) === null || _a === void 0 ? void 0 : _a.call(this); }\n}\n_EditorView_unmount = new WeakMap(), _EditorView_mounting = new WeakMap();\n", "import { snapshotJson } from './schema-json.js';\nexport function isPreparedEditor(definition) {\n return definition.saveContract === 'prepared-source-v1';\n}\n/** Capture callback output before checking it; accessors and iterators never supply writes. */\nexport function capturePreparedSave(definition, draft, snapshot) {\n const output = definition.prepareSave(draft, snapshot);\n try {\n const value = snapshotJson(output);\n if (!value || typeof value !== 'object' || Array.isArray(value))\n throw new TypeError('Invalid prepared save.');\n const result = value;\n if (result.kind === 'ready' && Array.isArray(result.changes)) {\n const changes = [];\n for (let i = 0; i < result.changes.length; i++) {\n const change = result.changes[i];\n if (!change || typeof change.argument !== 'string' ||\n !(typeof change.value === 'string' || typeof change.value === 'boolean' ||\n (typeof change.value === 'number' && Number.isFinite(change.value)))) {\n throw new TypeError('Invalid prepared change.');\n }\n changes.push(Object.freeze({ argument: change.argument, value: change.value }));\n }\n return Object.freeze({ kind: 'ready', changes: Object.freeze(changes) });\n }\n if (result.kind === 'invalid' && Array.isArray(result.issues) && result.issues.length > 0) {\n const issues = [];\n for (let i = 0; i < result.issues.length; i++) {\n const issue = result.issues[i];\n if (!issue || typeof issue.message !== 'string' || (issue.path !== undefined && typeof issue.path !== 'string')) {\n throw new TypeError('Invalid prepared issue.');\n }\n issues.push(Object.freeze({ message: issue.message, ...(issue.path === undefined ? {} : { path: issue.path }) }));\n }\n return Object.freeze({ kind: 'invalid', issues: Object.freeze(issues) });\n }\n throw new TypeError('Invalid prepared save.');\n }\n catch (error) {\n // A synchronous contract never awaits foreign thenables. Drain native rejected promises.\n try {\n void Promise.prototype.then.call(output, () => undefined, () => undefined);\n }\n catch ( /* Non-promises are rejected without touching their then property. */_a) { /* Non-promises are rejected without touching their then property. */ }\n throw error;\n }\n}\n", "var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _EditorSession_instances, _EditorSession_draft, _EditorSession_status, _EditorSession_issues, _EditorSession_error, _EditorSession_listeners, _EditorSession_view, _EditorSession_definition, _EditorSession_snapshot, _EditorSession_host, _EditorSession_isRegistered, _EditorSession_prepareChanges, _EditorSession_copyIssues, _EditorSession_copyDraft, _EditorSession_assertOpen, _EditorSession_finish, _EditorSession_notify, _EditorSession_reportObserverError;\nimport { captureReference, captureSnapshot, cloneJson, isLiteral, sameSnapshot } from './data.js';\nimport { BlockEditorConflictError } from './types.js';\nimport { EditorView } from './view.js';\nimport { isPreparedEditor, capturePreparedSave } from './prepared-save.js';\nexport class EditorSession {\n /** Use EditorRegistry.open() to construct sessions from a captured host snapshot. */\n constructor(definition, snapshot, host, isRegistered) {\n _EditorSession_instances.add(this);\n _EditorSession_draft.set(this, void 0);\n _EditorSession_status.set(this, 'editing');\n _EditorSession_issues.set(this, []);\n _EditorSession_error.set(this, void 0);\n _EditorSession_listeners.set(this, new Set());\n _EditorSession_view.set(this, new EditorView());\n _EditorSession_definition.set(this, void 0);\n _EditorSession_snapshot.set(this, void 0);\n _EditorSession_host.set(this, void 0);\n _EditorSession_isRegistered.set(this, void 0);\n __classPrivateFieldSet(this, _EditorSession_isRegistered, isRegistered, \"f\");\n __classPrivateFieldSet(this, _EditorSession_definition, definition, \"f\");\n __classPrivateFieldSet(this, _EditorSession_snapshot, captureSnapshot(snapshot, captureReference(snapshot)), \"f\");\n __classPrivateFieldSet(this, _EditorSession_host, host, \"f\");\n __classPrivateFieldSet(this, _EditorSession_draft, __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_copyDraft).call(this, definition.read(__classPrivateFieldGet(this, _EditorSession_snapshot, \"f\"))), \"f\");\n }\n /** Stable instance identity remains available after the session closes. */\n get reference() {\n return captureReference(__classPrivateFieldGet(this, _EditorSession_snapshot, \"f\"));\n }\n getDraft() {\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_assertOpen).call(this);\n return cloneJson(__classPrivateFieldGet(this, _EditorSession_draft, \"f\"));\n }\n setDraft(draft) {\n if (__classPrivateFieldGet(this, _EditorSession_status, \"f\") !== 'editing')\n throw new Error('The session is not editable.');\n __classPrivateFieldSet(this, _EditorSession_draft, __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_copyDraft).call(this, draft), \"f\");\n __classPrivateFieldSet(this, _EditorSession_issues, [], \"f\");\n __classPrivateFieldSet(this, _EditorSession_error, undefined, \"f\");\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_notify).call(this);\n }\n setValidationIssues(issues) {\n if (__classPrivateFieldGet(this, _EditorSession_status, \"f\") !== 'editing')\n throw new Error('The session is not editable.');\n __classPrivateFieldSet(this, _EditorSession_issues, __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_copyIssues).call(this, issues), \"f\");\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_notify).call(this);\n }\n getState() {\n return Object.freeze({\n status: __classPrivateFieldGet(this, _EditorSession_status, \"f\"), canSave: __classPrivateFieldGet(this, _EditorSession_status, \"f\") === 'editing' && __classPrivateFieldGet(this, _EditorSession_issues, \"f\").length === 0,\n issues: __classPrivateFieldGet(this, _EditorSession_issues, \"f\"), error: __classPrivateFieldGet(this, _EditorSession_error, \"f\")\n });\n }\n subscribe(listener) {\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_assertOpen).call(this);\n __classPrivateFieldGet(this, _EditorSession_listeners, \"f\").add(listener);\n return () => { __classPrivateFieldGet(this, _EditorSession_listeners, \"f\").delete(listener); };\n }\n mount(container) {\n return __classPrivateFieldGet(this, _EditorSession_view, \"f\").mount(container, __classPrivateFieldGet(this, _EditorSession_definition, \"f\").mount, this);\n }\n async save() {\n if (__classPrivateFieldGet(this, _EditorSession_status, \"f\") === 'saving')\n return { status: 'busy' };\n if (__classPrivateFieldGet(this, _EditorSession_status, \"f\") !== 'editing')\n return { status: 'closed' };\n __classPrivateFieldSet(this, _EditorSession_status, 'saving', \"f\");\n __classPrivateFieldSet(this, _EditorSession_issues, [], \"f\");\n __classPrivateFieldSet(this, _EditorSession_error, undefined, \"f\");\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_notify).call(this);\n try {\n if (__classPrivateFieldGet(this, _EditorSession_isRegistered, \"f\") && !__classPrivateFieldGet(this, _EditorSession_isRegistered, \"f\").call(this))\n throw new BlockEditorConflictError('The source editor registration expired.');\n const prepared = isPreparedEditor(__classPrivateFieldGet(this, _EditorSession_definition, \"f\"))\n ? capturePreparedSave(__classPrivateFieldGet(this, _EditorSession_definition, \"f\"), cloneJson(__classPrivateFieldGet(this, _EditorSession_draft, \"f\")), __classPrivateFieldGet(this, _EditorSession_snapshot, \"f\")) : undefined;\n const issues = prepared ? (prepared.kind === 'invalid' ? prepared.issues : [])\n : await __classPrivateFieldGet(this, _EditorSession_definition, \"f\").validate(cloneJson(__classPrivateFieldGet(this, _EditorSession_draft, \"f\")), __classPrivateFieldGet(this, _EditorSession_snapshot, \"f\"));\n if (!Array.isArray(issues))\n throw new TypeError('validate() must return an issue array.');\n if (issues.length > 0) {\n __classPrivateFieldSet(this, _EditorSession_issues, __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_copyIssues).call(this, issues), \"f\");\n return { status: 'invalid', issues: __classPrivateFieldGet(this, _EditorSession_issues, \"f\") };\n }\n const changes = __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_prepareChanges).call(this, (prepared === null || prepared === void 0 ? void 0 : prepared.kind) === 'ready' ? prepared.changes\n : __classPrivateFieldGet(this, _EditorSession_definition, \"f\").createPatch(cloneJson(__classPrivateFieldGet(this, _EditorSession_draft, \"f\")), __classPrivateFieldGet(this, _EditorSession_snapshot, \"f\")));\n if (__classPrivateFieldGet(this, _EditorSession_isRegistered, \"f\") && !__classPrivateFieldGet(this, _EditorSession_isRegistered, \"f\").call(this))\n throw new BlockEditorConflictError('The source editor registration expired.');\n const current = __classPrivateFieldGet(this, _EditorSession_host, \"f\").readBlock(__classPrivateFieldGet(this, _EditorSession_snapshot, \"f\"));\n if (!current || !sameSnapshot(__classPrivateFieldGet(this, _EditorSession_snapshot, \"f\"), captureSnapshot(current, __classPrivateFieldGet(this, _EditorSession_snapshot, \"f\")))) {\n throw new BlockEditorConflictError();\n }\n if (__classPrivateFieldGet(this, _EditorSession_isRegistered, \"f\") && !__classPrivateFieldGet(this, _EditorSession_isRegistered, \"f\").call(this))\n throw new BlockEditorConflictError('The source editor registration expired.');\n if (changes.length > 0) {\n await __classPrivateFieldGet(this, _EditorSession_host, \"f\").commit(Object.freeze({ expected: __classPrivateFieldGet(this, _EditorSession_snapshot, \"f\"), changes }));\n }\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_finish).call(this, 'saved');\n return { status: 'saved', changed: changes.length > 0 };\n }\n catch (error) {\n __classPrivateFieldSet(this, _EditorSession_error, error, \"f\");\n return error instanceof BlockEditorConflictError\n ? { status: 'conflict', error } : { status: 'failed', error };\n }\n finally {\n if (__classPrivateFieldGet(this, _EditorSession_status, \"f\") === 'saving') {\n __classPrivateFieldSet(this, _EditorSession_status, 'editing', \"f\");\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_notify).call(this);\n }\n }\n }\n /** Closing is refused while saving; the host must keep the modal open. */\n cancel() {\n if (__classPrivateFieldGet(this, _EditorSession_status, \"f\") !== 'editing')\n return false;\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_finish).call(this, 'cancelled');\n return true;\n }\n dispose() {\n if (__classPrivateFieldGet(this, _EditorSession_status, \"f\") === 'saving')\n return false;\n if (__classPrivateFieldGet(this, _EditorSession_status, \"f\") === 'editing')\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_finish).call(this, 'disposed');\n return true;\n }\n}\n_EditorSession_draft = new WeakMap(), _EditorSession_status = new WeakMap(), _EditorSession_issues = new WeakMap(), _EditorSession_error = new WeakMap(), _EditorSession_listeners = new WeakMap(), _EditorSession_view = new WeakMap(), _EditorSession_definition = new WeakMap(), _EditorSession_snapshot = new WeakMap(), _EditorSession_host = new WeakMap(), _EditorSession_isRegistered = new WeakMap(), _EditorSession_instances = new WeakSet(), _EditorSession_prepareChanges = function _EditorSession_prepareChanges(patch) {\n if (!Array.isArray(patch))\n throw new TypeError('createPatch() must return an array.');\n const seen = new Set();\n const changes = [];\n for (const change of patch) {\n if (!change || !__classPrivateFieldGet(this, _EditorSession_definition, \"f\").editableArguments.includes(change.argument) ||\n seen.has(change.argument) || !isLiteral(change.value)) {\n throw new TypeError('Patch contains an invalid, duplicate or disallowed argument.');\n }\n seen.add(change.argument);\n const slot = Object.hasOwn(__classPrivateFieldGet(this, _EditorSession_snapshot, \"f\").arguments, change.argument)\n ? __classPrivateFieldGet(this, _EditorSession_snapshot, \"f\").arguments[change.argument] : undefined;\n if (!slot || slot.kind !== 'literal') {\n throw new TypeError('Only existing literal arguments can be changed.');\n }\n if (slot.value !== change.value)\n changes.push(Object.freeze({ ...change }));\n }\n return Object.freeze(changes);\n}, _EditorSession_copyIssues = function _EditorSession_copyIssues(issues) {\n if (!Array.isArray(issues))\n throw new TypeError('Expected a validation issue array.');\n return Object.freeze(issues.map(issue => {\n if (!issue || typeof issue.message !== 'string' ||\n (issue.path !== undefined && typeof issue.path !== 'string')) {\n throw new TypeError('Invalid validation issue.');\n }\n return Object.freeze({ ...issue });\n }));\n}, _EditorSession_copyDraft = function _EditorSession_copyDraft(draft) {\n if (!draft || typeof draft !== 'object' || Array.isArray(draft)) {\n throw new TypeError('The editor draft must be a JSON object.');\n }\n return cloneJson(draft);\n}, _EditorSession_assertOpen = function _EditorSession_assertOpen() {\n if (__classPrivateFieldGet(this, _EditorSession_status, \"f\") !== 'editing' && __classPrivateFieldGet(this, _EditorSession_status, \"f\") !== 'saving') {\n throw new Error('The session is closed.');\n }\n}, _EditorSession_finish = function _EditorSession_finish(status) {\n __classPrivateFieldSet(this, _EditorSession_status, status, \"f\");\n __classPrivateFieldSet(this, _EditorSession_draft, {}, \"f\");\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_notify).call(this);\n try {\n __classPrivateFieldGet(this, _EditorSession_view, \"f\").unmount();\n }\n catch (error) {\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_reportObserverError).call(this, error);\n }\n __classPrivateFieldGet(this, _EditorSession_listeners, \"f\").clear();\n}, _EditorSession_notify = function _EditorSession_notify() {\n for (const listener of [...__classPrivateFieldGet(this, _EditorSession_listeners, \"f\")]) {\n try {\n listener();\n }\n catch (error) {\n __classPrivateFieldGet(this, _EditorSession_instances, \"m\", _EditorSession_reportObserverError).call(this, error);\n }\n }\n}, _EditorSession_reportObserverError = function _EditorSession_reportObserverError(error) {\n // A view failure must not turn a completed host commit into a failed save.\n console.error('Block editor view callback failed:', error);\n};\n", "import { captureReference, captureSnapshot, sameSnapshot } from './data.js';\nimport { BlockEditorStructureError, DEFAULT_DESCENDANT_LIMITS } from './descendant-types.js';\nexport function descendantLimits(limits = {}) {\n const result = { ...DEFAULT_DESCENDANT_LIMITS, ...limits };\n if (!Number.isSafeInteger(result.maxDepth) || result.maxDepth < 0 || result.maxDepth > DEFAULT_DESCENDANT_LIMITS.maxDepth ||\n !Number.isSafeInteger(result.maxNodes) || result.maxNodes < 1 || result.maxNodes > DEFAULT_DESCENDANT_LIMITS.maxNodes) {\n throw new BlockEditorStructureError('Limits must be integers: depth 0\u201332, nodes 1\u2013500.', 'limit');\n }\n return Object.freeze(result);\n}\n/** Validate the host's complete graph before any editor callback sees it. */\nexport function captureSubtree(source, reference, limits) {\n const invalid = (message) => {\n throw new BlockEditorStructureError(message, 'invalid-structure');\n };\n if (!source || source.targetId !== reference.targetId || source.blockId !== reference.blockId ||\n typeof source.generation !== 'string' || !source.generation || !Array.isArray(source.nodes) ||\n source.nodes.length === 0)\n invalid('The host returned an invalid subtree snapshot.');\n if (source.nodes.length > limits.maxNodes) {\n throw new BlockEditorStructureError('The subtree exceeds the node limit.', 'limit');\n }\n const entries = new Map();\n let edges = 0;\n for (const node of source.nodes) {\n if (!(node === null || node === void 0 ? void 0 : node.block) || !Array.isArray(node.branches))\n invalid('Invalid subtree node.');\n const block = (() => {\n try {\n return captureSnapshot(node.block, { targetId: reference.targetId, blockId: node.block.blockId });\n }\n catch (_a) {\n return invalid('Invalid subtree block snapshot or target identity.');\n }\n })();\n if (entries.has(block.blockId))\n invalid('Duplicate block ID in subtree.');\n const inputs = new Set();\n const branches = node.branches.map(branch => {\n if (!branch || typeof branch.input !== 'string' || !branch.input || inputs.has(branch.input) ||\n !Array.isArray(branch.blockIds))\n invalid('Invalid or duplicate statement input.');\n inputs.add(branch.input);\n edges += branch.blockIds.length;\n if (edges >= source.nodes.length)\n invalid('Subtree connections contain a cycle or duplicate parent.');\n const blockIds = branch.blockIds.map(id => {\n if (typeof id !== 'string' || !id)\n invalid('Invalid statement block ID.');\n return id;\n });\n return Object.freeze({ input: branch.input, blockIds: Object.freeze(blockIds) });\n });\n entries.set(block.blockId, Object.freeze({ block, branches: Object.freeze(branches) }));\n }\n const paths = new Map();\n const ordered = [];\n const stack = [{ id: reference.blockId, path: Object.freeze([]) }];\n while (stack.length) {\n const { id, path } = stack.pop();\n if (paths.has(id))\n throw new BlockEditorStructureError('Cycle or repeated subtree node.', 'cycle');\n if (path.length > limits.maxDepth) {\n throw new BlockEditorStructureError('The subtree exceeds the depth limit.', 'limit');\n }\n const node = entries.get(id);\n if (!node)\n invalid(`Missing subtree node: ${id}`);\n paths.set(id, path);\n ordered.push(node);\n for (let branchIndex = node.branches.length - 1; branchIndex >= 0; branchIndex--) {\n const branch = node.branches[branchIndex];\n for (let index = branch.blockIds.length - 1; index >= 0; index--) {\n stack.push({ id: branch.blockIds[index], path: Object.freeze([\n ...path, Object.freeze({ blockId: id, input: branch.input, index })\n ]) });\n }\n }\n }\n if (paths.size !== entries.size)\n invalid('Subtree includes disconnected or out-of-scope nodes.');\n return {\n snapshot: Object.freeze({\n ...captureReference(reference), generation: source.generation, nodes: Object.freeze(ordered)\n }), paths\n };\n}\nexport function sameSubtree(left, right) {\n return left.targetId === right.targetId && left.blockId === right.blockId &&\n left.generation === right.generation && left.nodes.length === right.nodes.length &&\n left.nodes.every((node, index) => {\n const other = right.nodes[index];\n return sameSnapshot(node.block, other.block) && node.branches.length === other.branches.length &&\n node.branches.every((branch, branchIndex) => {\n const b = other.branches[branchIndex];\n return branch.input === b.input && branch.blockIds.length === b.blockIds.length &&\n branch.blockIds.every((id, i) => id === b.blockIds[i]);\n });\n });\n}\n", "var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _DescendantSession_instances, _DescendantSession_snapshot, _DescendantSession_host, _DescendantSession_limits, _DescendantSession_lookup, _DescendantSession_bindings, _DescendantSession_records, _DescendantSession_nodes, _DescendantSession_listeners, _DescendantSession_detach, _DescendantSession_abort, _DescendantSession_status, _DescendantSession_committing, _DescendantSession_error, _DescendantSession_createRecord, _DescendantSession_isOpen, _DescendantSession_closedSaveResult, _DescendantSession_assertOpen, _DescendantSession_assertEditable, _DescendantSession_bindingsCurrent, _DescendantSession_checkBindings, _DescendantSession_assertSaving, _DescendantSession_notify, _DescendantSession_watch, _DescendantSession_finish;\nimport { captureReference, cloneJson, isLiteral } from './data.js';\nimport { BlockEditorConflictError } from './types.js';\nimport { DescendantNodeError } from './descendant-types.js';\nimport { captureSubtree, sameSubtree } from './subtree.js';\nimport { EditorView } from './view.js';\nfunction copyDraft(draft) {\n if (!draft || typeof draft !== 'object' || Array.isArray(draft)) {\n throw new TypeError('The editor draft must be a JSON object.');\n }\n return cloneJson(draft);\n}\nfunction copyIssues(issues) {\n if (!Array.isArray(issues))\n throw new TypeError('Expected a validation issue array.');\n return Object.freeze(issues.map(issue => {\n if (!issue || typeof issue.message !== 'string' ||\n (issue.path !== undefined && typeof issue.path !== 'string')) {\n throw new TypeError('Invalid validation issue.');\n }\n return Object.freeze({ message: issue.message, ...(issue.path === undefined ? {} : { path: issue.path }) });\n }));\n}\nfunction observe(listeners) {\n for (const listener of [...listeners]) {\n try {\n listener();\n }\n catch (error) {\n report(error);\n }\n }\n}\nfunction report(error) {\n console.error('Block editor view callback failed:', error);\n}\n/** Stop waiting immediately on invalidation; late resolutions/rejections stay handled. */\nfunction abortable(value, signal) {\n return new Promise((resolve, reject) => {\n const abort = () => reject(signal.reason);\n signal.addEventListener('abort', abort, { once: true });\n Promise.resolve(value).then(resolve, reject).finally(() => signal.removeEventListener('abort', abort));\n if (signal.aborted) {\n signal.removeEventListener('abort', abort);\n abort();\n }\n });\n}\n/** Aggregate draft/validation only. The negotiated host owns the atomic write. */\nexport class DescendantSession {\n /** Use EditorRegistry.openDescendants() to negotiate and capture the scope. */\n constructor(captured, host, lookup, subscribeRegistry, limits) {\n _DescendantSession_instances.add(this);\n _DescendantSession_snapshot.set(this, void 0);\n _DescendantSession_host.set(this, void 0);\n _DescendantSession_limits.set(this, void 0);\n _DescendantSession_lookup.set(this, void 0);\n _DescendantSession_bindings.set(this, new Map());\n _DescendantSession_records.set(this, new Map());\n _DescendantSession_nodes.set(this, void 0);\n _DescendantSession_listeners.set(this, new Set());\n _DescendantSession_detach.set(this, new Set());\n _DescendantSession_abort.set(this, new AbortController());\n _DescendantSession_status.set(this, 'editing');\n _DescendantSession_committing.set(this, false);\n _DescendantSession_error.set(this, void 0);\n __classPrivateFieldSet(this, _DescendantSession_snapshot, captured.snapshot, \"f\");\n __classPrivateFieldSet(this, _DescendantSession_host, host, \"f\");\n __classPrivateFieldSet(this, _DescendantSession_lookup, lookup, \"f\");\n __classPrivateFieldSet(this, _DescendantSession_limits, limits, \"f\");\n for (const node of captured.snapshot.nodes)\n __classPrivateFieldGet(this, _DescendantSession_bindings, \"f\").set(node.block.opcode, lookup(node.block.opcode));\n __classPrivateFieldSet(this, _DescendantSession_nodes, Object.freeze(captured.snapshot.nodes.map(node => {\n const definition = __classPrivateFieldGet(this, _DescendantSession_bindings, \"f\").get(node.block.opcode);\n const descriptor = Object.freeze({\n reference: captureReference(node.block), opcode: node.block.opcode,\n inputPath: captured.paths.get(node.block.blockId),\n ...(definition ? { editor: Object.freeze({\n apiVersion: definition.apiVersion, extensionId: definition.extensionId,\n editorId: definition.editorId, opcodes: definition.opcodes,\n editableArguments: definition.editableArguments\n }) } : {})\n });\n if (definition) {\n try {\n __classPrivateFieldGet(this, _DescendantSession_records, \"f\").set(node.block.blockId, __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_createRecord).call(this, descriptor, definition, node.block));\n }\n catch (cause) {\n throw new DescendantNodeError(descriptor.reference, descriptor.inputPath, cause);\n }\n }\n return descriptor;\n })), \"f\");\n try {\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_watch).call(this, () => subscribeRegistry(() => {\n if (!__classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_bindingsCurrent).call(this))\n this.invalidate(new BlockEditorConflictError('An editor registration changed.'));\n }));\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_checkBindings).call(this);\n if (host.subscribeInvalidation) {\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_watch).call(this, () => host.subscribeInvalidation(this.reference, reason => this.invalidate(reason)));\n }\n }\n catch (error) {\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_finish).call(this, 'disposed');\n throw error;\n }\n }\n get reference() { return captureReference(__classPrivateFieldGet(this, _DescendantSession_snapshot, \"f\")); }\n get generation() { return __classPrivateFieldGet(this, _DescendantSession_snapshot, \"f\").generation; }\n getNodes() { return __classPrivateFieldGet(this, _DescendantSession_nodes, \"f\"); }\n getEditor(blockId) { var _a; return (_a = __classPrivateFieldGet(this, _DescendantSession_records, \"f\").get(blockId)) === null || _a === void 0 ? void 0 : _a.editor; }\n getState() {\n const issues = Object.freeze([...__classPrivateFieldGet(this, _DescendantSession_records, \"f\").values()].flatMap(record => record.issues.map(issue => Object.freeze({ ...issue, reference: record.descriptor.reference, inputPath: record.descriptor.inputPath }))));\n return Object.freeze({ status: __classPrivateFieldGet(this, _DescendantSession_status, \"f\"),\n canSave: __classPrivateFieldGet(this, _DescendantSession_status, \"f\") === 'editing' && issues.length === 0, issues, error: __classPrivateFieldGet(this, _DescendantSession_error, \"f\") });\n }\n subscribe(listener) {\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertOpen).call(this);\n __classPrivateFieldGet(this, _DescendantSession_listeners, \"f\").add(listener);\n return () => { __classPrivateFieldGet(this, _DescendantSession_listeners, \"f\").delete(listener); };\n }\n async save() {\n if (__classPrivateFieldGet(this, _DescendantSession_status, \"f\") === 'saving')\n return { status: 'busy' };\n if (__classPrivateFieldGet(this, _DescendantSession_status, \"f\") !== 'editing')\n return { status: 'closed' };\n __classPrivateFieldSet(this, _DescendantSession_status, 'saving', \"f\");\n __classPrivateFieldSet(this, _DescendantSession_error, undefined, \"f\");\n for (const record of __classPrivateFieldGet(this, _DescendantSession_records, \"f\").values())\n record.issues = [];\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_notify).call(this);\n try {\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertSaving).call(this);\n const prepared = new Map();\n for (const record of __classPrivateFieldGet(this, _DescendantSession_records, \"f\").values()) {\n try {\n const result = isPreparedEditor(record.definition)\n ? capturePreparedSave(record.definition, cloneJson(record.draft), record.snapshot) : undefined;\n if (result)\n prepared.set(record.snapshot.blockId, result);\n const issues = result ? (result.kind === 'invalid' ? result.issues : [])\n : await abortable(record.definition.validate(cloneJson(record.draft), record.snapshot), __classPrivateFieldGet(this, _DescendantSession_abort, \"f\").signal);\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertSaving).call(this);\n record.issues = copyIssues(issues);\n }\n catch (cause) {\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertSaving).call(this);\n throw new DescendantNodeError(record.descriptor.reference, record.descriptor.inputPath, cause);\n }\n }\n const issues = this.getState().issues;\n if (issues.length)\n return { status: 'invalid', issues };\n const changes = [];\n const destinations = new Set();\n for (const record of __classPrivateFieldGet(this, _DescendantSession_records, \"f\").values()) {\n try {\n const result = prepared.get(record.snapshot.blockId);\n const patch = (result === null || result === void 0 ? void 0 : result.kind) === 'ready' ? result.changes\n : record.definition.createPatch(cloneJson(record.draft), record.snapshot);\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertSaving).call(this);\n if (!Array.isArray(patch))\n throw new TypeError('createPatch() must return an array.');\n for (const change of patch) {\n if (!change || !record.definition.editableArguments.includes(change.argument) || !isLiteral(change.value)) {\n throw new TypeError('Patch contains an invalid or disallowed argument.');\n }\n const destination = JSON.stringify([record.snapshot.blockId, change.argument]);\n if (destinations.has(destination))\n throw new TypeError('Duplicate subtree write destination.');\n destinations.add(destination);\n const slot = Object.hasOwn(record.snapshot.arguments, change.argument)\n ? record.snapshot.arguments[change.argument] : undefined;\n if ((slot === null || slot === void 0 ? void 0 : slot.kind) !== 'literal')\n throw new TypeError('Only existing literal arguments can be changed.');\n if (slot.value !== change.value)\n changes.push(Object.freeze({\n blockId: record.snapshot.blockId, argument: change.argument, value: change.value\n }));\n }\n }\n catch (cause) {\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertSaving).call(this);\n throw new DescendantNodeError(record.descriptor.reference, record.descriptor.inputPath, cause);\n }\n }\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertSaving).call(this);\n const live = __classPrivateFieldGet(this, _DescendantSession_host, \"f\").readSubtree(this.reference);\n let matches = false;\n if (live) {\n try {\n matches = sameSubtree(__classPrivateFieldGet(this, _DescendantSession_snapshot, \"f\"), captureSubtree(live, this.reference, __classPrivateFieldGet(this, _DescendantSession_limits, \"f\")).snapshot);\n }\n catch ( /* A malformed current graph is also a conflict with the captured scope. */_a) { /* A malformed current graph is also a conflict with the captured scope. */ }\n }\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertSaving).call(this);\n if (!matches)\n throw new BlockEditorConflictError('The subtree changed or is no longer editable.');\n if (changes.length) {\n __classPrivateFieldSet(this, _DescendantSession_committing, true, \"f\");\n await abortable(__classPrivateFieldGet(this, _DescendantSession_host, \"f\").commitSubtree(Object.freeze({\n expected: __classPrivateFieldGet(this, _DescendantSession_snapshot, \"f\"), changes: Object.freeze(changes), signal: __classPrivateFieldGet(this, _DescendantSession_abort, \"f\").signal\n })), __classPrivateFieldGet(this, _DescendantSession_abort, \"f\").signal);\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertSaving).call(this);\n }\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_finish).call(this, 'saved');\n return { status: 'saved', changed: changes.length > 0 };\n }\n catch (error) {\n if (!__classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_isOpen).call(this))\n return __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_closedSaveResult).call(this);\n __classPrivateFieldSet(this, _DescendantSession_error, error, \"f\");\n return error instanceof BlockEditorConflictError ? { status: 'conflict', error } : { status: 'failed', error };\n }\n finally {\n __classPrivateFieldSet(this, _DescendantSession_committing, false, \"f\");\n if (__classPrivateFieldGet(this, _DescendantSession_status, \"f\") === 'saving') {\n __classPrivateFieldSet(this, _DescendantSession_status, 'editing', \"f\");\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_notify).call(this);\n }\n }\n }\n /** Validation may be cancelled; an already dispatched commit must finish atomically. */\n cancel() {\n if (!__classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_isOpen).call(this) || __classPrivateFieldGet(this, _DescendantSession_committing, \"f\"))\n return false;\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_finish).call(this, 'cancelled');\n return true;\n }\n dispose() {\n if (__classPrivateFieldGet(this, _DescendantSession_committing, \"f\") && __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_isOpen).call(this))\n return false;\n if (__classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_isOpen).call(this))\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_finish).call(this, 'disposed');\n return true;\n }\n /** The host must observe the abort signal before any deferred write. */\n invalidate(reason = new BlockEditorConflictError('The subtree session was invalidated.')) {\n if (!__classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_isOpen).call(this))\n return false;\n __classPrivateFieldSet(this, _DescendantSession_error, reason, \"f\");\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_finish).call(this, 'invalidated');\n return true;\n }\n}\n_DescendantSession_snapshot = new WeakMap(), _DescendantSession_host = new WeakMap(), _DescendantSession_limits = new WeakMap(), _DescendantSession_lookup = new WeakMap(), _DescendantSession_bindings = new WeakMap(), _DescendantSession_records = new WeakMap(), _DescendantSession_nodes = new WeakMap(), _DescendantSession_listeners = new WeakMap(), _DescendantSession_detach = new WeakMap(), _DescendantSession_abort = new WeakMap(), _DescendantSession_status = new WeakMap(), _DescendantSession_committing = new WeakMap(), _DescendantSession_error = new WeakMap(), _DescendantSession_instances = new WeakSet(), _DescendantSession_createRecord = function _DescendantSession_createRecord(descriptor, definition, snapshot) {\n const view = new EditorView();\n const listeners = new Set();\n const editor = Object.freeze({\n reference: descriptor.reference,\n getDraft: () => { __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertOpen).call(this); return cloneJson(record.draft); },\n setDraft: (draft) => {\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertEditable).call(this);\n record.draft = copyDraft(draft);\n record.issues = [];\n __classPrivateFieldSet(this, _DescendantSession_error, undefined, \"f\");\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_notify).call(this, record);\n },\n setValidationIssues: (issues) => {\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertEditable).call(this);\n record.issues = copyIssues(issues);\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_notify).call(this, record);\n },\n getState: () => Object.freeze({\n status: __classPrivateFieldGet(this, _DescendantSession_status, \"f\") === 'invalidated' ? 'disposed' : __classPrivateFieldGet(this, _DescendantSession_status, \"f\"),\n canSave: __classPrivateFieldGet(this, _DescendantSession_status, \"f\") === 'editing' && record.issues.length === 0,\n issues: record.issues, error: __classPrivateFieldGet(this, _DescendantSession_error, \"f\")\n }),\n subscribe: (listener) => {\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_assertOpen).call(this);\n listeners.add(listener);\n return () => { listeners.delete(listener); };\n },\n mount: (container) => view.mount(container, definition.mount, editor)\n });\n const record = { descriptor, definition, snapshot, view, listeners, editor,\n draft: copyDraft(definition.read(snapshot)), issues: [] };\n return record;\n}, _DescendantSession_isOpen = function _DescendantSession_isOpen() { return __classPrivateFieldGet(this, _DescendantSession_status, \"f\") === 'editing' || __classPrivateFieldGet(this, _DescendantSession_status, \"f\") === 'saving'; }, _DescendantSession_closedSaveResult = function _DescendantSession_closedSaveResult() {\n return __classPrivateFieldGet(this, _DescendantSession_status, \"f\") === 'invalidated' ? { status: 'invalidated' } : { status: 'closed' };\n}, _DescendantSession_assertOpen = function _DescendantSession_assertOpen() { if (!__classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_isOpen).call(this))\n throw new Error('The session is closed.'); }, _DescendantSession_assertEditable = function _DescendantSession_assertEditable() { if (__classPrivateFieldGet(this, _DescendantSession_status, \"f\") !== 'editing')\n throw new Error('The session is not editable.'); }, _DescendantSession_bindingsCurrent = function _DescendantSession_bindingsCurrent() {\n return [...__classPrivateFieldGet(this, _DescendantSession_bindings, \"f\")].every(([opcode, definition]) => __classPrivateFieldGet(this, _DescendantSession_lookup, \"f\").call(this, opcode) === definition);\n}, _DescendantSession_checkBindings = function _DescendantSession_checkBindings() {\n if (!__classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_bindingsCurrent).call(this))\n throw new BlockEditorConflictError('An editor registration changed.');\n}, _DescendantSession_assertSaving = function _DescendantSession_assertSaving() {\n if (__classPrivateFieldGet(this, _DescendantSession_status, \"f\") !== 'saving')\n throw new Error('The save was cancelled or invalidated.');\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_checkBindings).call(this);\n}, _DescendantSession_notify = function _DescendantSession_notify(record) {\n if (record)\n observe(record.listeners);\n else\n for (const node of __classPrivateFieldGet(this, _DescendantSession_records, \"f\").values())\n observe(node.listeners);\n observe(__classPrivateFieldGet(this, _DescendantSession_listeners, \"f\"));\n}, _DescendantSession_watch = function _DescendantSession_watch(subscribe) {\n const detach = subscribe();\n if (typeof detach !== 'function')\n throw new TypeError('Invalidation subscriptions must return a cleanup function.');\n if (__classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_isOpen).call(this))\n __classPrivateFieldGet(this, _DescendantSession_detach, \"f\").add(detach);\n else\n detach();\n}, _DescendantSession_finish = function _DescendantSession_finish(status) {\n __classPrivateFieldSet(this, _DescendantSession_status, status, \"f\");\n __classPrivateFieldGet(this, _DescendantSession_abort, \"f\").abort(__classPrivateFieldGet(this, _DescendantSession_error, \"f\"));\n __classPrivateFieldGet(this, _DescendantSession_instances, \"m\", _DescendantSession_notify).call(this);\n for (const record of __classPrivateFieldGet(this, _DescendantSession_records, \"f\").values()) {\n try {\n record.view.unmount();\n }\n catch (error) {\n report(error);\n }\n record.draft = {};\n record.issues = [];\n record.listeners.clear();\n }\n for (const detach of __classPrivateFieldGet(this, _DescendantSession_detach, \"f\")) {\n try {\n detach();\n }\n catch (error) {\n report(error);\n }\n }\n __classPrivateFieldGet(this, _DescendantSession_detach, \"f\").clear();\n __classPrivateFieldGet(this, _DescendantSession_listeners, \"f\").clear();\n};\nimport { isPreparedEditor, capturePreparedSave } from './prepared-save.js';\n", "var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _EditorRegistry_instances, _EditorRegistry_editors, _EditorRegistry_opcodes, _EditorRegistry_changes, _EditorRegistry_register, _EditorRegistry_notifyChanges;\nimport { captureReference, captureSnapshot } from './data.js';\nimport { EditorSession } from './session.js';\nimport { DescendantSession } from './descendants.js';\nimport { supportsDescendantEditing } from './descendant-types.js';\nimport { captureSubtree, descendantLimits } from './subtree.js';\nimport { EDITOR_API_VERSION } from './types.js';\nimport { isPreparedEditor } from './prepared-save.js';\nexport class EditorRegistry {\n constructor() {\n _EditorRegistry_instances.add(this);\n _EditorRegistry_editors.set(this, new Map());\n _EditorRegistry_opcodes.set(this, new Map());\n _EditorRegistry_changes.set(this, new Set());\n }\n register(definition) {\n if (isPreparedEditor(definition))\n throw new TypeError('Prepared editors require registerPrepared().');\n return __classPrivateFieldGet(this, _EditorRegistry_instances, \"m\", _EditorRegistry_register).call(this, definition);\n }\n registerPrepared(definition) {\n if (!isPreparedEditor(definition) || typeof definition.prepareSave !== 'function') {\n throw new TypeError('Expected a prepared source editor.');\n }\n return __classPrivateFieldGet(this, _EditorRegistry_instances, \"m\", _EditorRegistry_register).call(this, definition);\n }\n resolve(opcode) {\n const entry = __classPrivateFieldGet(this, _EditorRegistry_opcodes, \"f\").get(opcode);\n if (!entry)\n return undefined;\n return Object.freeze({\n apiVersion: entry.apiVersion, extensionId: entry.extensionId, editorId: entry.editorId,\n opcodes: entry.opcodes, editableArguments: entry.editableArguments\n });\n }\n open(reference, host) {\n const capturedReference = captureReference(reference);\n const live = host.readBlock(capturedReference);\n if (!live)\n return undefined;\n const snapshot = captureSnapshot(live, capturedReference);\n const entry = __classPrivateFieldGet(this, _EditorRegistry_opcodes, \"f\").get(snapshot.opcode);\n return entry ? new EditorSession(entry, snapshot, host, isPreparedEditor(entry)\n ? () => __classPrivateFieldGet(this, _EditorRegistry_opcodes, \"f\").get(snapshot.opcode) === entry : undefined) : undefined;\n }\n openDescendants(reference, host, limits) {\n if (!supportsDescendantEditing(host))\n return undefined;\n const port = host.descendants;\n const capturedReference = captureReference(reference);\n const resolvedLimits = descendantLimits(limits);\n const live = port.readSubtree(capturedReference);\n if (!live)\n return undefined;\n const captured = captureSubtree(live, capturedReference, resolvedLimits);\n if (!__classPrivateFieldGet(this, _EditorRegistry_opcodes, \"f\").has(captured.snapshot.nodes[0].block.opcode))\n return undefined;\n return new DescendantSession(captured, port, opcode => __classPrivateFieldGet(this, _EditorRegistry_opcodes, \"f\").get(opcode), listener => {\n __classPrivateFieldGet(this, _EditorRegistry_changes, \"f\").add(listener);\n return () => { __classPrivateFieldGet(this, _EditorRegistry_changes, \"f\").delete(listener); };\n }, resolvedLimits);\n }\n}\n_EditorRegistry_editors = new WeakMap(), _EditorRegistry_opcodes = new WeakMap(), _EditorRegistry_changes = new WeakMap(), _EditorRegistry_instances = new WeakSet(), _EditorRegistry_register = function _EditorRegistry_register(definition) {\n if (definition.apiVersion !== EDITOR_API_VERSION)\n throw new TypeError('Unsupported editor API version.');\n if (!/^[a-z0-9]+$/i.test(definition.extensionId) ||\n !/^[a-z0-9][a-z0-9._-]*$/i.test(definition.editorId)) {\n throw new TypeError('Invalid extension ID or editor ID.');\n }\n if (!Array.isArray(definition.opcodes) || definition.opcodes.length === 0 ||\n new Set(definition.opcodes).size !== definition.opcodes.length ||\n definition.opcodes.some(opcode => typeof opcode !== 'string' ||\n !opcode.startsWith(`${definition.extensionId}_`) || opcode === `${definition.extensionId}_`)) {\n throw new TypeError('Expected distinct full opcodes belonging to the extension.');\n }\n if (!Array.isArray(definition.editableArguments) ||\n new Set(definition.editableArguments).size !== definition.editableArguments.length ||\n definition.editableArguments.some(name => typeof name !== 'string' || !name)) {\n throw new TypeError('Expected distinct editable argument names.');\n }\n if (typeof definition.read !== 'function' || typeof definition.validate !== 'function' ||\n typeof definition.createPatch !== 'function' ||\n (definition.mount !== undefined && typeof definition.mount !== 'function')) {\n throw new TypeError('Invalid editor callbacks.');\n }\n const key = JSON.stringify([definition.extensionId, definition.editorId]);\n if (__classPrivateFieldGet(this, _EditorRegistry_editors, \"f\").has(key) || definition.opcodes.some(opcode => __classPrivateFieldGet(this, _EditorRegistry_opcodes, \"f\").has(opcode))) {\n throw new Error('The editor ID or an opcode is already registered.');\n }\n const entry = Object.freeze({\n ...definition,\n opcodes: Object.freeze([...definition.opcodes]),\n editableArguments: Object.freeze([...definition.editableArguments])\n });\n __classPrivateFieldGet(this, _EditorRegistry_editors, \"f\").set(key, entry);\n for (const opcode of entry.opcodes)\n __classPrivateFieldGet(this, _EditorRegistry_opcodes, \"f\").set(opcode, entry);\n __classPrivateFieldGet(this, _EditorRegistry_instances, \"m\", _EditorRegistry_notifyChanges).call(this);\n return () => {\n if (__classPrivateFieldGet(this, _EditorRegistry_editors, \"f\").get(key) !== entry)\n return;\n __classPrivateFieldGet(this, _EditorRegistry_editors, \"f\").delete(key);\n for (const opcode of entry.opcodes)\n __classPrivateFieldGet(this, _EditorRegistry_opcodes, \"f\").delete(opcode);\n __classPrivateFieldGet(this, _EditorRegistry_instances, \"m\", _EditorRegistry_notifyChanges).call(this);\n };\n}, _EditorRegistry_notifyChanges = function _EditorRegistry_notifyChanges() {\n for (const listener of [...__classPrivateFieldGet(this, _EditorRegistry_changes, \"f\")])\n listener();\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["__classPrivateFieldSet", "__classPrivateFieldGet", "_EditorSession_prepareChanges", "_EditorSession_copyIssues", "_EditorSession_copyDraft", "_EditorSession_assertOpen", "_EditorSession_finish", "_EditorSession_notify", "_EditorSession_reportObserverError", "__classPrivateFieldSet", "__classPrivateFieldGet", "issues", "_DescendantSession_createRecord", "_DescendantSession_isOpen", "_DescendantSession_closedSaveResult", "_DescendantSession_assertOpen", "_DescendantSession_assertEditable", "_DescendantSession_bindingsCurrent", "_DescendantSession_checkBindings", "_DescendantSession_assertSaving", "_DescendantSession_notify", "_DescendantSession_watch", "_DescendantSession_finish", "__classPrivateFieldGet", "_EditorRegistry_register", "_EditorRegistry_notifyChanges"]
|
|
7
|
+
}
|