@plumix/core 0.5.0 → 0.6.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/dist/context/app.d.ts +12 -0
- package/dist/context/app.d.ts.map +1 -1
- package/dist/context/app.js +10 -4
- package/dist/context/app.js.map +1 -1
- package/dist/context/memo.d.ts +22 -0
- package/dist/context/memo.d.ts.map +1 -0
- package/dist/context/memo.js +27 -0
- package/dist/context/memo.js.map +1 -0
- package/dist/context/traced-slots.d.ts +17 -0
- package/dist/context/traced-slots.d.ts.map +1 -0
- package/dist/context/traced-slots.js +57 -0
- package/dist/context/traced-slots.js.map +1 -0
- package/dist/entries/read-service.d.ts +6 -0
- package/dist/entries/read-service.d.ts.map +1 -1
- package/dist/entries/read-service.js +14 -0
- package/dist/entries/read-service.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin/fields/entry.d.ts +8 -0
- package/dist/plugin/fields/entry.d.ts.map +1 -1
- package/dist/plugin/fields/entry.js.map +1 -1
- package/dist/plugin/lookup.d.ts +4 -9
- package/dist/plugin/lookup.d.ts.map +1 -1
- package/dist/plugin/manifest.d.ts +11 -32
- package/dist/plugin/manifest.d.ts.map +1 -1
- package/dist/plugin/manifest.js.map +1 -1
- package/dist/plugin/setup-context.d.ts +5 -0
- package/dist/plugin/setup-context.d.ts.map +1 -1
- package/dist/plugin/setup-context.js.map +1 -1
- package/dist/route/render/asset-manifest.d.ts +1 -1
- package/dist/route/render/asset-manifest.d.ts.map +1 -1
- package/dist/route/render/asset-manifest.js +7 -1
- package/dist/route/render/asset-manifest.js.map +1 -1
- package/dist/route/render/build-resolved-entries.d.ts.map +1 -1
- package/dist/route/render/build-resolved-entries.js +18 -10
- package/dist/route/render/build-resolved-entries.js.map +1 -1
- package/dist/route/render/render-template.d.ts +1 -1
- package/dist/route/render/render-template.d.ts.map +1 -1
- package/dist/route/render/render-template.js +38 -21
- package/dist/route/render/render-template.js.map +1 -1
- package/dist/rpc/meta/core.d.ts +3 -4
- package/dist/rpc/meta/core.d.ts.map +1 -1
- package/dist/rpc/meta/core.js +87 -152
- package/dist/rpc/meta/core.js.map +1 -1
- package/dist/rpc/procedures/entry/lookup.js +14 -11
- package/dist/rpc/procedures/entry/lookup.js.map +1 -1
- package/dist/rpc/procedures/lookup.errors.d.ts +2 -1
- package/dist/rpc/procedures/lookup.errors.d.ts.map +1 -1
- package/dist/rpc/procedures/lookup.errors.js +3 -0
- package/dist/rpc/procedures/lookup.errors.js.map +1 -1
- package/dist/rpc/procedures/term/lookup.js +3 -8
- package/dist/rpc/procedures/term/lookup.js.map +1 -1
- package/dist/runtime/dispatcher.d.ts.map +1 -1
- package/dist/runtime/dispatcher.js +70 -29
- package/dist/runtime/dispatcher.js.map +1 -1
- package/dist/telemetry-otel.d.ts +29 -0
- package/dist/telemetry-otel.d.ts.map +1 -0
- package/dist/telemetry-otel.js +218 -0
- package/dist/telemetry-otel.js.map +1 -0
- package/dist/template-deps-core.d.ts.map +1 -1
- package/dist/template-deps-core.js +31 -14
- package/dist/template-deps-core.js.map +1 -1
- package/dist/template-deps.d.ts.map +1 -1
- package/dist/template-deps.js +12 -8
- package/dist/template-deps.js.map +1 -1
- package/dist/test/index.d.ts +3 -0
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +4 -0
- package/dist/test/index.js.map +1 -1
- package/dist/test/traced-context.d.ts +17 -0
- package/dist/test/traced-context.d.ts.map +1 -0
- package/dist/test/traced-context.js +28 -0
- package/dist/test/traced-context.js.map +1 -0
- package/package.json +6 -2
|
@@ -54,7 +54,10 @@ async function renderThroughThemeInner({ ctx, theme, document, templateDeps, ass
|
|
|
54
54
|
const deps = await loadTemplateDeps(mergeTemplateDepDeclarations(theme, template), templateDeps, ctx);
|
|
55
55
|
const merged = resolveRenderDocument({ template, document, data, ctx, deps });
|
|
56
56
|
const filtered = await ctx.hooks.applyFilter("render:document", merged, data, ctx);
|
|
57
|
-
|
|
57
|
+
// Head assembly reads site settings from the DB — worth its own row in the
|
|
58
|
+
// waterfall. The `render:document` subscribers above are already traced per
|
|
59
|
+
// handler as `hook:` spans.
|
|
60
|
+
const renderDocument = await ctx.telemetry.span("render: head", () => applyHeadMeta(applyCanonical(filtered, ctx), data, ctx, title));
|
|
58
61
|
const loaderData = await prefetchEntryLoaders(ctx, data, template);
|
|
59
62
|
return renderTree({
|
|
60
63
|
ctx,
|
|
@@ -93,7 +96,15 @@ const ERROR_VARIANTS = {
|
|
|
93
96
|
fallback: DefaultServerError,
|
|
94
97
|
},
|
|
95
98
|
};
|
|
96
|
-
export
|
|
99
|
+
export function renderErrorThroughTheme(args) {
|
|
100
|
+
// Same phase span as the happy path — without it the error render's queries
|
|
101
|
+
// dangle directly under `dispatch` in the trace (#1491).
|
|
102
|
+
return args.ctx.telemetry.span("render", (s) => {
|
|
103
|
+
s.set("render.node", `error: ${ERROR_VARIANTS[args.kind].tier}`);
|
|
104
|
+
return renderErrorThroughThemeInner(args);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
async function renderErrorThroughThemeInner({ ctx, theme, document, templateDeps, assetManifest, kind, data, }) {
|
|
97
108
|
const variant = ERROR_VARIANTS[kind];
|
|
98
109
|
const raw = resolveErrorTemplate(templateRules(theme.templates), variant.tier)
|
|
99
110
|
?.template ?? variant.fallback;
|
|
@@ -126,24 +137,29 @@ async function prefetchEntryLoaders(ctx, data, template) {
|
|
|
126
137
|
const blocks = collectLoaderBlocks(data, template);
|
|
127
138
|
if (blocks.length === 0)
|
|
128
139
|
return undefined;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
// Loader fan-out gets its own span so the DB/fetch work it triggers nests
|
|
141
|
+
// here instead of parenting onto `render` directly.
|
|
142
|
+
return ctx.telemetry.span("render: loaders", (s) => {
|
|
143
|
+
s.set("loaders.blocks", blocks.length);
|
|
144
|
+
return resolveBlockLoaders(blocks, ctx.blocks, ctx, {
|
|
145
|
+
// Fire-and-forget bridge into the framework filter so plugins can
|
|
146
|
+
// subscribe via `addFilter("blocks:loader:error", ...)`. `applyFilter`
|
|
147
|
+
// is async; we don't await (the loader resolver shouldn't back-pressure
|
|
148
|
+
// on observability), but we DO catch — a throwing subscriber would
|
|
149
|
+
// otherwise surface as an unhandledRejection and on workers that
|
|
150
|
+
// kills the request. `LoaderErrorEvent` shape matches `BlockLoaderErrorContext`.
|
|
151
|
+
onLoaderError: (event) => {
|
|
152
|
+
ctx.hooks
|
|
153
|
+
.applyFilter("blocks:loader:error", undefined, event)
|
|
154
|
+
.catch((hookError) => {
|
|
155
|
+
ctx.logger.error("[plumix] blocks:loader:error hook threw", {
|
|
156
|
+
hookError,
|
|
157
|
+
blockName: event.spec.name,
|
|
158
|
+
nodeId: event.node.id,
|
|
159
|
+
});
|
|
144
160
|
});
|
|
145
|
-
}
|
|
146
|
-
}
|
|
161
|
+
},
|
|
162
|
+
});
|
|
147
163
|
});
|
|
148
164
|
}
|
|
149
165
|
function collectLoaderBlocks(data, template) {
|
|
@@ -239,7 +255,8 @@ function renderTree({ ctx, document, assetManifest, data, title, template, deps,
|
|
|
239
255
|
process.env.PLUMIX_DEV && editMode.mode !== "edit"
|
|
240
256
|
? createElement(PlumixDebugBar, { ctx })
|
|
241
257
|
: null, createElement(TemplateAdapter));
|
|
242
|
-
|
|
258
|
+
// The bulk of `render` self-time (#1494).
|
|
259
|
+
const rendered = ctx.telemetry.span("render: react", () => renderToString(templateTree));
|
|
243
260
|
const { hoisted, body } = splitHoistedMetadata(rendered);
|
|
244
261
|
const scripts = groupScriptsByPosition(document.script);
|
|
245
262
|
const { code, direction } = ctx.locale;
|
|
@@ -271,7 +288,7 @@ function renderTree({ ctx, document, assetManifest, data, title, template, deps,
|
|
|
271
288
|
hoisted +
|
|
272
289
|
titleFallback +
|
|
273
290
|
voidTagsToHtml("link", document.link) +
|
|
274
|
-
bundledCssTags(assetManifest, ctx.basePath) +
|
|
291
|
+
bundledCssTags(assetManifest, command, ctx.basePath) +
|
|
275
292
|
devThemeStylesTag(command, ctx.basePath) +
|
|
276
293
|
voidTagsToHtml("meta", document.meta) +
|
|
277
294
|
scripts.headEnd.map(scriptToHtml).join("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-template.js","sourceRoot":"","sources":["../../../src/route/render/render-template.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render-template.js","sourceRoot":"","sources":["../../../src/route/render/render-template.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAmBzD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,SAAS,GACV,MAAM,yBAAyB,CAAC;AAiCjC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,0EAA0E;IAC1E,wEAAwE;IACxE,mBAAmB;IACnB,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QAC7C,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,EACrC,GAAG,EACH,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,GAAG,cAAc,GACd;IACX,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1D,yEAAyE;QACzE,6DAA6D;QAC7D,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,GAAG,CACH,YAAY,EACZ,GAAG,EAAE,CACH,CAAC;YACC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC;YAClC,GAAG,yBAAyB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;SAChD,CAAyB,CAC7B,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,GAAG,CAAC,gBAAgB,GAAG,YAAY,CAAC;IACpC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CACjC,4BAA4B,CAC1B,KAAK,EACL,QAA8C,CAC/C,EACD,YAAY,EACZ,GAAG,CACJ,CAAC;IACF,MAAM,MAAM,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAC1C,iBAAiB,EACjB,MAAM,EACN,IAAI,EACJ,GAAG,CACJ,CAAC;IACF,2EAA2E;IAC3E,4EAA4E;IAC5E,4BAA4B;IAC5B,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CACnE,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAC/D,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnE,OAAO,UAAU,CAAC;QAChB,GAAG;QACH,QAAQ,EAAE,cAAc;QACxB,aAAa;QACb,IAAI;QACJ,KAAK,EAAE,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC;QAC1C,QAAQ;QACR,IAAI;QACJ,UAAU;QACV,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED,uEAAuE;AACvE,8EAA8E;AAC9E,SAAS,YAAY,CAAC,QAA0B,EAAE,QAAgB;IAChE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;IAC1C,IAAI,OAAO,aAAa,KAAK,UAAU;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,IAAI,QAAQ,CAAC;AAC3B,CAAC;AAYD,MAAM,cAAc,GAAG;IACrB,WAAW,EAAE;QACX,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;KAC1B;IACD,cAAc,EAAE;QACd,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,uBAAuB;QAC9B,QAAQ,EAAE,kBAAkB;KAC7B;CACO,CAAC;AAEX,MAAM,UAAU,uBAAuB,CACrC,IAAqB;IAErB,4EAA4E;IAC5E,yDAAyD;IACzD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QAC7C,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,EAC1C,GAAG,EACH,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,IAAI,GACY;IAChB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,GAAG,GACP,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;QAChE,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CACjC,4BAA4B,CAC1B,KAAK,EACL,QAA8C,CAC/C,EACD,YAAY,EACZ,GAAG,CACJ,CAAC;IACF,MAAM,cAAc,GAAG,qBAAqB,CAAC;QAC3C,QAAQ;QACR,QAAQ;QACR,IAAI;QACJ,GAAG;QACH,IAAI;KACL,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;QAChB,GAAG;QACH,QAAQ,EAAE,cAAc;QACxB,aAAa;QACb,IAAI;QACJ,qEAAqE;QACrE,2DAA2D;QAC3D,KAAK,EAAE,YAAY,CACjB,EAAE,GAAG,cAAc,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,EACnE,OAAO,CAAC,KAAK,CACd;QACD,QAAQ;QACR,IAAI;QACJ,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,cAAc;KACzB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,GAAe,EACf,IAAkB,EAClB,QAAgC;IAEhC,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,0EAA0E;IAC1E,oDAAoD;IACpD,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE;QACjD,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE;YAClD,kEAAkE;YAClE,uEAAuE;YACvE,wEAAwE;YACxE,mEAAmE;YACnE,iEAAiE;YACjE,iFAAiF;YACjF,aAAa,EAAE,CAAC,KAAuB,EAAE,EAAE;gBACzC,GAAG,CAAC,KAAK;qBACN,WAAW,CAAC,qBAAqB,EAAE,SAAS,EAAE,KAAK,CAAC;qBACpD,KAAK,CAAC,CAAC,SAAkB,EAAE,EAAE;oBAC5B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;wBAC1D,SAAS;wBACT,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;wBAC1B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;qBACtB,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAkB,EAClB,QAAgC;IAEhC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC;IACnE,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC,QAAQ,CAAC,sBAAsB;QAAE,OAAO,EAAE,CAAC;IAChD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;AACpE,CAAC;AAUD,+EAA+E;AAC/E,4EAA4E;AAC5E,SAAS,qBAAqB,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,IAAI,GACgB;IACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,QAAQ,GACZ,OAAO,QAAQ,KAAK,UAAU;QAC5B,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAClC,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzD,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC;AAgBD,uEAAuE;AACvE,qEAAqE;AACrE,oEAAoE;AACpE,mEAAmE;AACnE,kEAAkE;AAClE,mDAAmD;AACnD,SAAS,UAAU,CAAC,EAClB,GAAG,EACH,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,WAAW,EACX,UAAU,EACV,QAAQ,GACO;IACf,mEAAmE;IACnE,gEAAgE;IAChE,+DAA+D;IAC/D,oEAAoE;IACpE,+DAA+D;IAC/D,+DAA+D;IAC/D,mEAAmE;IACnE,uCAAuC;IACvC,MAAM,eAAe,GAAG,GAAc,EAAE,CACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,mBAAmB,GACvB,OAAO,IAAI,IAAI;QACb,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC1D,CAAC,CAAC,SAAS,CAAC;IAChB,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,KAAK,GACT,OAAO,IAAI,IAAI;QACb,CAAC,CAAE,IAAI,CAAC,KAAsD;QAC9D,CAAC,CAAC,IAAI,CAAC;IACX,kEAAkE;IAClE,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;IACxC,MAAM,YAAY,GAAc,aAAa,CAC3C,cAAc,EACd;QACE,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG,CAAC,MAAM;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM;YACN,WAAW;YACX,UAAU;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,YAAY,EAAE,GAAG,CAAC,cAAc;YAChC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;YACvB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,KAAK;YACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,aAAa,EAAE,aAAa;gBAC1B,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACZ,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE;oBACrB,KAAK,EAAE,IAAI,EAAE,KAAK;oBAClB,OAAO,EAAE,IAAI,EAAE,OAAO;oBACtB,qDAAqD;oBACrD,MAAM,EAAE,IAAI,EAAE,MAAiC;iBAChD,CAAC;gBACN,CAAC,CAAC,SAAS;YACb,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;SAC7C;KACF;IACD,wEAAwE;IACxE,oEAAoE;IACpE,qEAAqE;IACrE,qDAAqD;IACrD,QAAQ,CAAC,IAAI,KAAK,MAAM;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,aAAa,CAAC,cAAc,EAAE;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,MAAM;YAChC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,mBAAmB;YACnB,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU;SACnC,CAAC;IACN,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,qDAAqD;IACrD,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;QAChD,CAAC,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,CAAC;QACxC,CAAC,CAAC,IAAI,EACR,aAAa,CAAC,eAAe,CAAC,CAC/B,CAAC;IACF,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,YAAY,CAAC,CAC7B,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAEzD,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IACvC,MAAM,SAAS,GAAG,WAAW,CAAC;QAC5B,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,SAAS;QACd,GAAG,QAAQ,CAAC,IAAI;QAChB,yEAAyE;QACzE,sEAAsE;QACtE,wEAAwE;QACxE,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,yEAAyE;IACzE,uEAAuE;IACvE,mEAAmE;IACnE,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC;QAC5C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,UAAU,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;IAE1C,oEAAoE;IACpE,iEAAiE;IACjE,oEAAoE;IACpE,sEAAsE;IACtE,2CAA2C;IAC3C,MAAM,OAAO,GAAgB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAExE,MAAM,WAAW,GACf,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,yBAAyB;QACzB,uEAAuE;QACvE,OAAO;QACP,aAAa;QACb,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;QACrC,cAAc,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC;QACpD,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC;QACxC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,sBAAsB,CACxC,IAAI,EACJ,aAAa,EACb,OAAO,EACP,GAAG,CAAC,QAAQ,CACb,CAAC;IACF,MAAM,YAAY,GAAG,qBAAqB,CACxC,WAAW,EACX,QAAQ,CAAC,aAAa,EACtB,aAAa,EACb,OAAO,EACP,GAAG,CAAC,QAAQ,CACb,CAAC;IACF,MAAM,WAAW,GACf,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,YAAY;QACZ,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,cAAc,CAAC;IAEjB,OAAO,CACL,iBAAiB;QACjB,QAAQ,SAAS,GAAG;QACpB,SAAS,WAAW,SAAS;QAC7B,QAAQ,SAAS,IAAI,WAAW,SAAS;QACzC,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,cAAc,GAAG,8BAA8B,CAAC;AAEtD,wEAAwE;AACxE,6DAA6D;AAC7D,qEAAqE;AACrE,kEAAkE;AAClE,gEAAgE;AAChE,sEAAsE;AACtE,gDAAgD;AAChD,SAAS,oBAAoB,CAAC,QAAgB;IAI5C,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC;IAC7B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,wEAAwE;AACxE,qEAAqE;AACrE,6DAA6D;AAC7D,MAAM,cAAc,GAClB,2FAA2F,CAAC;AAI9F,SAAS,sBAAsB,CAC7B,OAA8C;IAE9C,MAAM,GAAG,GAA6C;QACpD,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAC9B,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2EAA2E;AAC3E,qEAAqE;AACrE,qDAAqD;AACrD,SAAS,YAAY,CAAC,MAAsB;IAC1C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;IACzE,KAAK,QAAQ,CAAC;IACd,MAAM,KAAK,GAAG,QAAQ,IAAI,uBAAuB,EAAE,MAAM,IAAI,EAAE,CAAC;IAChE,OAAO,UAAU,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;AAC1D,CAAC;AAED,SAAS,cAAc,CACrB,GAAoB,EACpB,KAA2D;IAE3D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,WAAW,CAAC,KAA0C;IAC7D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QACvE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QACrE,GAAG,IAAI,IAAI,QAAQ,KAAK,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iEAAiE;AACjE,yEAAyE;AACzE,sEAAsE;AACtE,mDAAmD;AACnD,MAAM,YAAY,GAA2B;IAC3C,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,gBAAgB;IAC/B,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CACL,2BACE,qCAAkB,EAClB,qEAAiD,IAC5C,CACR,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,CACL,2BACE,iDAA8B,EAC9B,0EAAsD,IACjD,CACR,CAAC;AACJ,CAAC"}
|
package/dist/rpc/meta/core.d.ts
CHANGED
|
@@ -9,10 +9,9 @@ type MetaMap = Record<string, unknown>;
|
|
|
9
9
|
* doesn't have to double-parse. `applyMetaPatch` JSON-encodes at the
|
|
10
10
|
* last moment, before the UPDATE.
|
|
11
11
|
*
|
|
12
|
-
* `upserts` is mutable: `validateMetaReferences`
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* stored shape. Other callers should treat it as read-only.
|
|
12
|
+
* `upserts` is mutable: `validateMetaReferences` normalizes reference
|
|
13
|
+
* values to the plain-id storage form (a legacy `{ id, ... }` object
|
|
14
|
+
* self-heals to its id). Other callers should treat it as read-only.
|
|
16
15
|
*/
|
|
17
16
|
export interface MetaPatch {
|
|
18
17
|
readonly upserts: Map<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/rpc/meta/core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,0BAA0B,CAAC;AAgBlC,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvC
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/rpc/meta/core.ts"],"names":[],"mappings":"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"}
|
package/dist/rpc/meta/core.js
CHANGED
|
@@ -133,25 +133,13 @@ export async function validateMetaReferences(ctx, findField, patch) {
|
|
|
133
133
|
throw MetaSanitizationError.invalidValue({ key });
|
|
134
134
|
}
|
|
135
135
|
const ids = referenceIdsForValidation(key, value, target, fieldMax(field));
|
|
136
|
+
// Normalize eagerly — a validation failure below aborts the whole
|
|
137
|
+
// save, so a rewritten patch never persists on the failure path.
|
|
138
|
+
patch.upserts.set(key, target.multiple ? ids : ids[0]);
|
|
136
139
|
const group = upsertGroup(groups, target, registered);
|
|
137
140
|
for (const id of ids)
|
|
138
141
|
group.ids.add(id);
|
|
139
|
-
group.contributions.push({
|
|
140
|
-
errorKey: key,
|
|
141
|
-
ids,
|
|
142
|
-
applyNormalize: (rowsById) => {
|
|
143
|
-
if (target.valueShape !== "object")
|
|
144
|
-
return;
|
|
145
|
-
if (target.multiple) {
|
|
146
|
-
patch.upserts.set(key, ids.map((id) => buildCachedReference(id, rowsById)));
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
const [singleId] = ids;
|
|
150
|
-
if (singleId !== undefined) {
|
|
151
|
-
patch.upserts.set(key, buildCachedReference(singleId, rowsById));
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
});
|
|
142
|
+
group.contributions.push({ errorKey: key, ids });
|
|
155
143
|
continue;
|
|
156
144
|
}
|
|
157
145
|
// Repeater fields don't carry a `referenceTarget` themselves but
|
|
@@ -169,11 +157,10 @@ export async function validateMetaReferences(ctx, findField, patch) {
|
|
|
169
157
|
for (const group of groups.values()) {
|
|
170
158
|
if (group.ids.size === 0)
|
|
171
159
|
continue;
|
|
172
|
-
const
|
|
173
|
-
const rowsById = new Map(liveRows.map((r) => [r.id, r]));
|
|
160
|
+
const liveIds = await fetchLiveIds(ctx, group.registered, group.scope, group.ids, "validateMetaReferences");
|
|
174
161
|
for (const contribution of group.contributions) {
|
|
175
162
|
for (const id of contribution.ids) {
|
|
176
|
-
if (!
|
|
163
|
+
if (!liveIds.has(id)) {
|
|
177
164
|
if (contribution.diagnostic !== undefined) {
|
|
178
165
|
// Wire error keys on the top-level field; this log line
|
|
179
166
|
// is the only place the row index + subKey surface, so
|
|
@@ -192,7 +179,6 @@ export async function validateMetaReferences(ctx, findField, patch) {
|
|
|
192
179
|
});
|
|
193
180
|
}
|
|
194
181
|
}
|
|
195
|
-
contribution.applyNormalize(rowsById);
|
|
196
182
|
}
|
|
197
183
|
}
|
|
198
184
|
}
|
|
@@ -222,30 +208,17 @@ function collectRepeaterReferences(ctx, topKey, field, rows, groups) {
|
|
|
222
208
|
throw MetaSanitizationError.invalidValue({ key: topKey });
|
|
223
209
|
}
|
|
224
210
|
const ids = referenceIdsForValidation(topKey, subValue, target, fieldMax(subField));
|
|
211
|
+
// Normalize the row's slot in place — the top-level upsert array
|
|
212
|
+
// is the live storage shape, so mutating an object inside it is
|
|
213
|
+
// what the caller will serialize.
|
|
214
|
+
rowObj[subField.key] = target.multiple ? ids : ids[0];
|
|
225
215
|
const group = upsertGroup(groups, target, registered);
|
|
226
216
|
for (const id of ids)
|
|
227
217
|
group.ids.add(id);
|
|
228
|
-
const subKey = subField.key;
|
|
229
218
|
group.contributions.push({
|
|
230
219
|
errorKey: topKey,
|
|
231
220
|
ids,
|
|
232
|
-
diagnostic: { rowIdx, subKey },
|
|
233
|
-
applyNormalize: (rowsById) => {
|
|
234
|
-
if (target.valueShape !== "object")
|
|
235
|
-
return;
|
|
236
|
-
// Rewrite the row's cached-object value in place — the
|
|
237
|
-
// top-level upsert array is the live storage shape, so
|
|
238
|
-
// mutating an object inside it is what the caller will
|
|
239
|
-
// serialize.
|
|
240
|
-
if (target.multiple) {
|
|
241
|
-
rowObj[subKey] = ids.map((id) => buildCachedReference(id, rowsById));
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
const [singleId] = ids;
|
|
245
|
-
if (singleId !== undefined) {
|
|
246
|
-
rowObj[subKey] = buildCachedReference(singleId, rowsById);
|
|
247
|
-
}
|
|
248
|
-
},
|
|
221
|
+
diagnostic: { rowIdx, subKey: subField.key },
|
|
249
222
|
});
|
|
250
223
|
}
|
|
251
224
|
}
|
|
@@ -264,13 +237,6 @@ function upsertGroup(groups, target, registered) {
|
|
|
264
237
|
}
|
|
265
238
|
return group;
|
|
266
239
|
}
|
|
267
|
-
// Adapter cached fields override anything; user-supplied non-id keys
|
|
268
|
-
// don't survive. Per-usage user fields (e.g. alt overrides) are a
|
|
269
|
-
// post-v0.1 feature — when added, this is where they'd merge in.
|
|
270
|
-
function buildCachedReference(id, rowsById) {
|
|
271
|
-
const row = rowsById.get(id);
|
|
272
|
-
return { id, ...(row?.cached ?? {}) };
|
|
273
|
-
}
|
|
274
240
|
// Defense-in-depth ceiling on the internal-aggregated id-batch size.
|
|
275
241
|
// Above this, the live-id fetch throws rather than silently truncating.
|
|
276
242
|
// The wire cap (100) and per-field cap (`HARD_MULTI_REFERENCE_LIMIT`,
|
|
@@ -305,20 +271,17 @@ function referenceGroupKey(target) {
|
|
|
305
271
|
// 100, so we only hit the ceiling when many fields share `(kind, scope)`
|
|
306
272
|
// and aggregate — at which point throwing beats silent truncation
|
|
307
273
|
// (truncation would either reject valid writes or hide live targets).
|
|
308
|
-
|
|
309
|
-
// Returns `LookupResult[]` rather than just live ids so the validator
|
|
310
|
-
// can read `cached` for the cached-object normalize step. Callers that
|
|
311
|
-
// only care about presence build a `Set` from the row ids.
|
|
312
|
-
async function fetchLiveRows(ctx, registered, scope, ids, callsite) {
|
|
274
|
+
async function fetchLiveIds(ctx, registered, scope, ids, callsite) {
|
|
313
275
|
if (ids.size > MAX_REFERENCE_GROUP_BATCH) {
|
|
314
276
|
throw MetaReferenceError.batchSizeExceeded(callsite, ids.size, MAX_REFERENCE_GROUP_BATCH);
|
|
315
277
|
}
|
|
316
278
|
const idList = [...ids];
|
|
317
|
-
|
|
279
|
+
const rows = await registered.adapter.list(ctx, {
|
|
318
280
|
ids: idList,
|
|
319
281
|
scope,
|
|
320
282
|
limit: idList.length,
|
|
321
283
|
});
|
|
284
|
+
return new Set(rows.map((row) => row.id));
|
|
322
285
|
}
|
|
323
286
|
// Defensive upper bound on multi-reference array length, applied
|
|
324
287
|
// per-field before grouping. Even with the batched `list({ ids })`
|
|
@@ -328,18 +291,11 @@ async function fetchLiveRows(ctx, registered, scope, ids, callsite) {
|
|
|
328
291
|
// can declare a lower `max` and the validator picks the smaller.
|
|
329
292
|
const HARD_MULTI_REFERENCE_LIMIT = 100;
|
|
330
293
|
// Validates the wire shape of a reference value and returns the ids
|
|
331
|
-
// to feed into the group's batched `list({ ids })` call.
|
|
332
|
-
//
|
|
333
|
-
//
|
|
334
|
-
//
|
|
335
|
-
//
|
|
336
|
-
// cached-object reference
|
|
337
|
-
// (or bare strings for
|
|
338
|
-
// leniency on first write)
|
|
339
|
-
// - multi=false, valueShape="id" (default): bare string id
|
|
340
|
-
// - multi=false, valueShape="object": `{ id: string, ... }`
|
|
341
|
-
// (or a bare string for
|
|
342
|
-
// leniency on first write)
|
|
294
|
+
// to feed into the group's batched `list({ ids })` call. Storage is
|
|
295
|
+
// plain ids — a bare string (single) or string[] (multi) — but each
|
|
296
|
+
// slot leniently accepts the retired cached-object shape
|
|
297
|
+
// (`{ id, ... }`) so legacy values self-heal to the plain form on
|
|
298
|
+
// the entity's next save.
|
|
343
299
|
function referenceIdsForValidation(key, value, target, max) {
|
|
344
300
|
if (target.multiple) {
|
|
345
301
|
if (!Array.isArray(value)) {
|
|
@@ -351,47 +307,17 @@ function referenceIdsForValidation(key, value, target, max) {
|
|
|
351
307
|
if (max !== undefined && value.length > max) {
|
|
352
308
|
throw MetaSanitizationError.invalidValue({ key });
|
|
353
309
|
}
|
|
354
|
-
|
|
355
|
-
// Lenient on input: each item can be `"42"` (first-write
|
|
356
|
-
// convenience) or `{ id: "42", ... }`. Always rewritten to the
|
|
357
|
-
// canonical `{ id, ...cached }` shape after the live-id check.
|
|
358
|
-
const ids = [];
|
|
359
|
-
for (const item of value) {
|
|
360
|
-
if (typeof item === "string" && item !== "") {
|
|
361
|
-
ids.push(item);
|
|
362
|
-
continue;
|
|
363
|
-
}
|
|
364
|
-
const id = extractStringId(item);
|
|
365
|
-
if (id !== null && id !== "") {
|
|
366
|
-
ids.push(id);
|
|
367
|
-
continue;
|
|
368
|
-
}
|
|
369
|
-
throw MetaSanitizationError.invalidValue({ key });
|
|
370
|
-
}
|
|
371
|
-
return ids;
|
|
372
|
-
}
|
|
373
|
-
for (const item of value) {
|
|
374
|
-
if (typeof item !== "string" || item === "") {
|
|
375
|
-
throw MetaSanitizationError.invalidValue({ key });
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
return value;
|
|
379
|
-
}
|
|
380
|
-
if (target.valueShape === "object") {
|
|
381
|
-
// Lenient on input: accept either `"42"` (first-write convenience)
|
|
382
|
-
// or `{ id: "42", ... }`. Always rewritten to the canonical
|
|
383
|
-
// `{ id, ...cached }` shape after the live-id check.
|
|
384
|
-
if (typeof value === "string" && value !== "")
|
|
385
|
-
return [value];
|
|
386
|
-
const id = extractStringId(value);
|
|
387
|
-
if (id !== null && id !== "")
|
|
388
|
-
return [id];
|
|
389
|
-
throw MetaSanitizationError.invalidValue({ key });
|
|
390
|
-
}
|
|
391
|
-
if (typeof value !== "string") {
|
|
392
|
-
throw MetaSanitizationError.invalidValue({ key });
|
|
310
|
+
return value.map((item) => referenceItemId(key, item));
|
|
393
311
|
}
|
|
394
|
-
return [value];
|
|
312
|
+
return [referenceItemId(key, value)];
|
|
313
|
+
}
|
|
314
|
+
function referenceItemId(key, item) {
|
|
315
|
+
if (typeof item === "string" && item !== "")
|
|
316
|
+
return item;
|
|
317
|
+
const id = extractStringId(item);
|
|
318
|
+
if (id !== null && id !== "")
|
|
319
|
+
return id;
|
|
320
|
+
throw MetaSanitizationError.invalidValue({ key });
|
|
395
321
|
}
|
|
396
322
|
// Returns the `id` string of a `{ id: string, ... }` object, or null
|
|
397
323
|
// for any other shape (string, array, null, primitive, missing key).
|
|
@@ -478,7 +404,6 @@ export async function filterMetaOrphans(ctx, findField, decoded) {
|
|
|
478
404
|
candidates.push({
|
|
479
405
|
key: occ.key,
|
|
480
406
|
multiple: occ.target.multiple === true,
|
|
481
|
-
valueShape: occ.target.valueShape ?? "id",
|
|
482
407
|
groupKey,
|
|
483
408
|
ids,
|
|
484
409
|
nested: occ.nested,
|
|
@@ -496,38 +421,26 @@ export async function filterMetaOrphans(ctx, findField, decoded) {
|
|
|
496
421
|
// Pass 2: one `list({ ids })` per group, keyed for O(1) apply lookup.
|
|
497
422
|
const liveIdsByGroup = new Map();
|
|
498
423
|
for (const [groupKey, group] of groups) {
|
|
499
|
-
const
|
|
500
|
-
liveIdsByGroup.set(groupKey,
|
|
501
|
-
}
|
|
502
|
-
// Pass 3: apply the filter.
|
|
503
|
-
//
|
|
504
|
-
//
|
|
505
|
-
//
|
|
506
|
-
// - single + object: null on missing; otherwise keep the stored
|
|
507
|
-
// cached value as-is (no read-time refresh — write rewrites)
|
|
508
|
-
// Nested-in-repeater candidates rewrite the row's subField slot in
|
|
509
|
-
// a per-key cloned array so the input bag stays untouched.
|
|
424
|
+
const liveIds = await fetchLiveIds(ctx, group.registered, group.scope, group.ids, "filterMetaOrphans");
|
|
425
|
+
liveIdsByGroup.set(groupKey, liveIds);
|
|
426
|
+
}
|
|
427
|
+
// Pass 3: apply the filter. Multi refs filter the string[] dense
|
|
428
|
+
// and in order; single refs null on missing. Nested-in-repeater
|
|
429
|
+
// candidates rewrite the row's subField slot in a per-key cloned
|
|
430
|
+
// array so the input bag stays untouched.
|
|
510
431
|
const out = { ...decoded };
|
|
511
432
|
const empty = new Set();
|
|
512
433
|
for (const candidate of candidates) {
|
|
513
|
-
const { key, multiple,
|
|
434
|
+
const { key, multiple, groupKey, ids, nested } = candidate;
|
|
514
435
|
const liveIds = liveIdsByGroup.get(groupKey) ?? empty;
|
|
515
436
|
if (nested !== undefined) {
|
|
516
437
|
const rowObj = takeWritableRow(out, decoded, key, nested.rowIdx);
|
|
517
438
|
if (!rowObj)
|
|
518
439
|
continue;
|
|
519
|
-
applyOrphanToSlot(rowObj, nested.subKey, multiple,
|
|
440
|
+
applyOrphanToSlot(rowObj, nested.subKey, multiple, ids, liveIds);
|
|
520
441
|
continue;
|
|
521
442
|
}
|
|
522
443
|
if (multiple) {
|
|
523
|
-
if (valueShape === "object") {
|
|
524
|
-
const stored = decoded[key];
|
|
525
|
-
out[key] = stored.filter((item) => {
|
|
526
|
-
const id = extractStringId(item);
|
|
527
|
-
return id !== null && liveIds.has(id);
|
|
528
|
-
});
|
|
529
|
-
continue;
|
|
530
|
-
}
|
|
531
444
|
out[key] = ids.filter((id) => liveIds.has(id));
|
|
532
445
|
continue;
|
|
533
446
|
}
|
|
@@ -560,16 +473,8 @@ function takeWritableRow(out, decoded, key, rowIdx) {
|
|
|
560
473
|
return null;
|
|
561
474
|
return row;
|
|
562
475
|
}
|
|
563
|
-
function applyOrphanToSlot(rowObj, subKey, multiple,
|
|
476
|
+
function applyOrphanToSlot(rowObj, subKey, multiple, ids, liveIds) {
|
|
564
477
|
if (multiple) {
|
|
565
|
-
if (valueShape === "object") {
|
|
566
|
-
const stored = rowObj[subKey];
|
|
567
|
-
rowObj[subKey] = stored.filter((item) => {
|
|
568
|
-
const id = extractStringId(item);
|
|
569
|
-
return id !== null && liveIds.has(id);
|
|
570
|
-
});
|
|
571
|
-
return;
|
|
572
|
-
}
|
|
573
478
|
rowObj[subKey] = ids.filter((id) => liveIds.has(id));
|
|
574
479
|
return;
|
|
575
480
|
}
|
|
@@ -582,29 +487,15 @@ function applyOrphanToSlot(rowObj, subKey, multiple, valueShape, ids, liveIds) {
|
|
|
582
487
|
// Returns `null` to mean "no candidates from this key" (skip), or
|
|
583
488
|
// the ids to feed into the group's batch query. Mirrors the storage-
|
|
584
489
|
// shape guards in the apply step so we don't enqueue work that's
|
|
585
|
-
// going to be skipped.
|
|
586
|
-
//
|
|
587
|
-
//
|
|
588
|
-
// normalize step, not on every render).
|
|
490
|
+
// going to be skipped. Callers pass values already decoded through
|
|
491
|
+
// `decodeMetaBag`, so legacy object shapes have been healed to plain
|
|
492
|
+
// ids by the time this runs.
|
|
589
493
|
function orphanCandidateIds(target, value) {
|
|
590
494
|
if (target.multiple) {
|
|
591
495
|
if (!Array.isArray(value))
|
|
592
496
|
return null;
|
|
593
|
-
if (target.valueShape === "object") {
|
|
594
|
-
const ids = [];
|
|
595
|
-
for (const item of value) {
|
|
596
|
-
const id = extractStringId(item);
|
|
597
|
-
if (id !== null)
|
|
598
|
-
ids.push(id);
|
|
599
|
-
}
|
|
600
|
-
return ids;
|
|
601
|
-
}
|
|
602
497
|
return value.filter((id) => typeof id === "string");
|
|
603
498
|
}
|
|
604
|
-
if (target.valueShape === "object") {
|
|
605
|
-
const id = extractStringId(value);
|
|
606
|
-
return id !== null ? [id] : null;
|
|
607
|
-
}
|
|
608
499
|
return typeof value === "string" ? [value] : null;
|
|
609
500
|
}
|
|
610
501
|
function referenceTargetOf(field) {
|
|
@@ -626,10 +517,54 @@ export function decodeMetaBag(findField, raw) {
|
|
|
626
517
|
const out = {};
|
|
627
518
|
for (const [key, value] of Object.entries(raw)) {
|
|
628
519
|
const field = findField(key);
|
|
629
|
-
out[key] = field ?
|
|
520
|
+
out[key] = field ? decodeFieldValue(field, value) : value;
|
|
630
521
|
}
|
|
631
522
|
return out;
|
|
632
523
|
}
|
|
524
|
+
// Reference storage is plain ids, but bags written before the
|
|
525
|
+
// write-time snapshot machinery was removed may hold `{ id, ... }`
|
|
526
|
+
// objects. Reads yield the id; the next save persists the plain form
|
|
527
|
+
// (`referenceItemId` accepts the legacy shape on write).
|
|
528
|
+
function decodeFieldValue(field, value) {
|
|
529
|
+
const target = referenceTargetOf(field);
|
|
530
|
+
if (target)
|
|
531
|
+
return healReferenceValue(target, value);
|
|
532
|
+
if (isRepeaterField(field) && Array.isArray(value)) {
|
|
533
|
+
return value.map((row) => healRepeaterRow(field, row));
|
|
534
|
+
}
|
|
535
|
+
return coerceOnRead(field.type, value);
|
|
536
|
+
}
|
|
537
|
+
function healReferenceValue(target, value) {
|
|
538
|
+
if (target.multiple) {
|
|
539
|
+
if (!Array.isArray(value))
|
|
540
|
+
return value;
|
|
541
|
+
// Identity-preserving on the already-plain path — `healRepeaterRow`
|
|
542
|
+
// clones a row only when the healed slot differs.
|
|
543
|
+
if (!value.some((item) => extractStringId(item) !== null)) {
|
|
544
|
+
return value;
|
|
545
|
+
}
|
|
546
|
+
return value.map((item) => extractStringId(item) ?? item);
|
|
547
|
+
}
|
|
548
|
+
return extractStringId(value) ?? value;
|
|
549
|
+
}
|
|
550
|
+
function healRepeaterRow(field, row) {
|
|
551
|
+
if (!row || typeof row !== "object" || Array.isArray(row))
|
|
552
|
+
return row;
|
|
553
|
+
const rowObj = row;
|
|
554
|
+
let healed = null;
|
|
555
|
+
for (const subField of field.subFields) {
|
|
556
|
+
const target = referenceTargetOf(subField);
|
|
557
|
+
if (!target)
|
|
558
|
+
continue;
|
|
559
|
+
const value = rowObj[subField.key];
|
|
560
|
+
const next = healReferenceValue(target, value);
|
|
561
|
+
if (next !== value) {
|
|
562
|
+
healed ??= { ...rowObj };
|
|
563
|
+
healed[subField.key] = next;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
return healed ?? row;
|
|
567
|
+
}
|
|
633
568
|
export function isEmptyMetaPatch(patch) {
|
|
634
569
|
return (patch === null || (patch.upserts.size === 0 && patch.deletes.length === 0));
|
|
635
570
|
}
|