@metaobjectsdev/runtime-ts 0.14.1 → 0.15.0-rc.1
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/extract-object.js +25 -19
- package/dist/extract-object.js.map +1 -1
- package/dist/identity-strategy.d.ts.map +1 -1
- package/dist/identity-strategy.js +4 -2
- package/dist/identity-strategy.js.map +1 -1
- package/dist/n2m-resolver.d.ts.map +1 -1
- package/dist/n2m-resolver.js +11 -7
- package/dist/n2m-resolver.js.map +1 -1
- package/dist/object-manager.d.ts.map +1 -1
- package/dist/object-manager.js +4 -2
- package/dist/object-manager.js.map +1 -1
- package/dist/relation-resolver.d.ts.map +1 -1
- package/dist/relation-resolver.js +21 -12
- package/dist/relation-resolver.js.map +1 -1
- package/dist/tph.d.ts.map +1 -1
- package/dist/tph.js +4 -1
- package/dist/tph.js.map +1 -1
- package/dist/type-coercer.js +9 -4
- package/dist/type-coercer.js.map +1 -1
- package/dist/validator-runner.d.ts.map +1 -1
- package/dist/validator-runner.js +17 -10
- package/dist/validator-runner.js.map +1 -1
- package/dist/view.d.ts.map +1 -1
- package/dist/view.js +14 -9
- package/dist/view.js.map +1 -1
- package/package.json +3 -3
- package/src/extract-object.ts +25 -19
- package/src/identity-strategy.ts +4 -2
- package/src/n2m-resolver.ts +11 -7
- package/src/object-manager.ts +4 -2
- package/src/relation-resolver.ts +21 -12
- package/src/tph.ts +4 -1
- package/src/type-coercer.ts +9 -4
- package/src/validator-runner.ts +17 -10
- package/src/view.ts +14 -9
package/dist/extract-object.js
CHANGED
|
@@ -78,10 +78,10 @@ function fieldSpecFor(field, owner, format, visited, depth) {
|
|
|
78
78
|
if (field.subType === FIELD_SUBTYPE_ENUM) {
|
|
79
79
|
const values = enumValues(field);
|
|
80
80
|
const aliases = enumAliases(field);
|
|
81
|
-
const cd =
|
|
82
|
-
const dv =
|
|
81
|
+
const cd = attrString(field, FIELD_ATTR_COERCE_DEFAULT);
|
|
82
|
+
const dv = attrString(field, FIELD_ATTR_DEFAULT);
|
|
83
83
|
const normalize = resolveNormalize(field, owner);
|
|
84
|
-
const build = field.
|
|
84
|
+
const build = field.resolvedIsArray() ? enumArray : enumField;
|
|
85
85
|
return build(name, required, values, aliases, cd, normalize, dv);
|
|
86
86
|
}
|
|
87
87
|
// --- Nested object (single or array) --------------------------------------
|
|
@@ -93,17 +93,17 @@ function fieldSpecFor(field, owner, format, visited, depth) {
|
|
|
93
93
|
return scalar(name, FieldKind.STRING, required);
|
|
94
94
|
}
|
|
95
95
|
const nested = extractSchemaForInner(ref, format, visited, depth + 1);
|
|
96
|
-
return object(name, required, field.
|
|
96
|
+
return object(name, required, field.resolvedIsArray(), nested);
|
|
97
97
|
}
|
|
98
98
|
// --- Scalar (carry generalized @default) ----------------------------------
|
|
99
99
|
const kind = scalarKind(field.subType);
|
|
100
|
-
const dv =
|
|
101
|
-
if (field.
|
|
100
|
+
const dv = attrString(field, FIELD_ATTR_DEFAULT);
|
|
101
|
+
if (field.resolvedIsArray()) {
|
|
102
102
|
// Scalar array: the engine coerces each element; no per-element default fill.
|
|
103
103
|
return scalarArray(name, kind, required);
|
|
104
104
|
}
|
|
105
105
|
// @xmlText: a (non-array) scalar field marked to receive its element's XML text content.
|
|
106
|
-
if (
|
|
106
|
+
if (attrString(field, FIELD_ATTR_XML_TEXT) === "true") {
|
|
107
107
|
return textContentField(name, kind, required);
|
|
108
108
|
}
|
|
109
109
|
// Numeric range: source the bound from the field's numeric validator (@min/@max) — the single
|
|
@@ -157,7 +157,7 @@ function assembleInner(mo, data, visited, depth) {
|
|
|
157
157
|
// Nested object — guard cycles/depth (mirror the schema guard).
|
|
158
158
|
const ref = resolveObjectRef(field);
|
|
159
159
|
const cyclicOrDeep = ref === undefined || visited.has(ref) || depth + 1 >= MAX_NEST_DEPTH;
|
|
160
|
-
if (field.
|
|
160
|
+
if (field.resolvedIsArray()) {
|
|
161
161
|
// Array-of-objects: map each element record -> assembled child.
|
|
162
162
|
if (Array.isArray(value)) {
|
|
163
163
|
const children = [];
|
|
@@ -215,23 +215,26 @@ function scalarKind(subType) {
|
|
|
215
215
|
return FieldKind.STRING;
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
|
-
/** True iff `@required` is explicitly true (or the string "true").
|
|
218
|
+
/** True iff `@required` is explicitly true (or the string "true").
|
|
219
|
+
* ADR-0039: resolving — @required may be inherited via extends. */
|
|
219
220
|
function isRequired(field) {
|
|
220
|
-
const v = field.
|
|
221
|
+
const v = field.attr(FIELD_ATTR_REQUIRED);
|
|
221
222
|
if (v === true)
|
|
222
223
|
return true;
|
|
223
224
|
return typeof v === "string" && v.toLowerCase() === "true";
|
|
224
225
|
}
|
|
225
|
-
/** The string members of an enum field's `@values` attr (empty when absent).
|
|
226
|
+
/** The string members of an enum field's `@values` attr (empty when absent).
|
|
227
|
+
* ADR-0039: resolving — @values may be inherited from an abstract enum base via extends. */
|
|
226
228
|
function enumValues(field) {
|
|
227
|
-
const v = field.
|
|
229
|
+
const v = field.attr(FIELD_ATTR_VALUES);
|
|
228
230
|
if (Array.isArray(v))
|
|
229
231
|
return v.map((e) => String(e));
|
|
230
232
|
return [];
|
|
231
233
|
}
|
|
232
|
-
/** The `@enumAlias` map (an object literal) of an enum field, or {} when absent/empty.
|
|
234
|
+
/** The `@enumAlias` map (an object literal) of an enum field, or {} when absent/empty.
|
|
235
|
+
* ADR-0039: resolving — @enumAlias may be inherited via extends. */
|
|
233
236
|
function enumAliases(field) {
|
|
234
|
-
const raw = field.
|
|
237
|
+
const raw = field.attr(FIELD_ATTR_ENUM_ALIAS);
|
|
235
238
|
if (raw == null || typeof raw !== "object" || Array.isArray(raw))
|
|
236
239
|
return {};
|
|
237
240
|
const out = {};
|
|
@@ -255,12 +258,15 @@ function resolveNormalize(field, owner) {
|
|
|
255
258
|
return NORMALIZE_DEFAULT;
|
|
256
259
|
}
|
|
257
260
|
function normalizeAttrOf(node) {
|
|
258
|
-
|
|
261
|
+
// ADR-0039: resolving — @normalize may be inherited via extends.
|
|
262
|
+
const v = node.attr(FIELD_ATTR_NORMALIZE);
|
|
259
263
|
return typeof v === "string" && v.length > 0 ? v : null;
|
|
260
264
|
}
|
|
261
|
-
/** The
|
|
262
|
-
|
|
263
|
-
|
|
265
|
+
/** The effective string value of an attr on a node, or null when absent/empty.
|
|
266
|
+
* ADR-0039: resolving — extract config attrs (@default/@coerceDefault/@xmlText/
|
|
267
|
+
* @objectRef) may be inherited via extends. */
|
|
268
|
+
function attrString(node, attr) {
|
|
269
|
+
const v = node.attr(attr);
|
|
264
270
|
if (typeof v === "string")
|
|
265
271
|
return v.length > 0 ? v : null;
|
|
266
272
|
return v == null ? null : String(v);
|
|
@@ -271,7 +277,7 @@ function ownAttrString(node, attr) {
|
|
|
271
277
|
* name after the last package separator. Returns undefined when unresolvable (→ opaque-leaf guard).
|
|
272
278
|
*/
|
|
273
279
|
function resolveObjectRef(field) {
|
|
274
|
-
const ref =
|
|
280
|
+
const ref = attrString(field, FIELD_ATTR_OBJECT_REF) ?? field.objectRef;
|
|
275
281
|
if (ref === undefined || ref === null)
|
|
276
282
|
return undefined;
|
|
277
283
|
const root = field.root();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-object.js","sourceRoot":"","sources":["../src/extract-object.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"extract-object.js","sourceRoot":"","sources":["../src/extract-object.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-strategy.d.ts","sourceRoot":"","sources":["../src/identity-strategy.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAQzD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAExD,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"identity-strategy.d.ts","sourceRoot":"","sources":["../src/identity-strategy.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAQzD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAExD,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB,CA4EnG"}
|
|
@@ -11,13 +11,15 @@ export function resolveIdentity(entity, data) {
|
|
|
11
11
|
if (!primary) {
|
|
12
12
|
throw new MetadataError(`Entity '${entity.name}' has no primary identity — cannot resolve PK for create`, { entity: entity.name });
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
// ADR-0039: effective attr — @fields may be inherited via the identity's extends.
|
|
15
|
+
const fieldsAttr = primary.attr(IDENTITY_ATTR_FIELDS);
|
|
15
16
|
if (!Array.isArray(fieldsAttr) || fieldsAttr.length === 0) {
|
|
16
17
|
throw new MetadataError(`Entity '${entity.name}' primary identity has no @fields`, { entity: entity.name });
|
|
17
18
|
}
|
|
18
19
|
const pkFields = fieldsAttr.map(String);
|
|
19
20
|
const isComposite = pkFields.length > 1;
|
|
20
|
-
|
|
21
|
+
// ADR-0039: effective attr — @generation may be inherited via the identity's extends.
|
|
22
|
+
const generation = primary.attr(IDENTITY_ATTR_GENERATION);
|
|
21
23
|
if (isComposite || generation === undefined || generation === GENERATION_ASSIGNED) {
|
|
22
24
|
const missing = pkFields.filter((f) => data[f] === undefined || data[f] === null);
|
|
23
25
|
if (missing.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-strategy.js","sourceRoot":"","sources":["../src/identity-strategy.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,kHAAkH;AAClH,kFAAkF;AAClF,uCAAuC;AACvC,gFAAgF;AAGhF,OAAO,EACL,aAAa,EAAE,wBAAwB,EACvC,oBAAoB,EAAE,wBAAwB,EAC9C,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,GAC3D,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAM7D,MAAM,UAAU,eAAe,CAAC,MAAgB,EAAE,IAA6B;IAC7E,+EAA+E;IAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,OAAO,KAAK,wBAAwB,CAC1E,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,aAAa,CACrB,WAAW,MAAM,CAAC,IAAI,0DAA0D,EAChF,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CACxB,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"identity-strategy.js","sourceRoot":"","sources":["../src/identity-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"n2m-resolver.d.ts","sourceRoot":"","sources":["../src/n2m-resolver.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAwB,MAAM,0BAA0B,CAAC;AAYrG,OAAO,KAAK,EAAE,UAAU,EAA+B,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAE5F,MAAM,WAAW,aAAa;IAC5B,8FAA8F;IAC9F,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,8FAA8F;IAC9F,eAAe,EAAE,MAAM,CAAC;IACxB,8FAA8F;IAC9F,eAAe,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,UAAU,CAAC;IACrB,gFAAgF;IAChF,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,UAAU,GAAG,IAAI,CAAC;CACxD;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;AAE3C,uGAAuG;AACvG,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,QAAQ,EACtB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,QAAQ,GACb,aAAa,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"n2m-resolver.d.ts","sourceRoot":"","sources":["../src/n2m-resolver.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAwB,MAAM,0BAA0B,CAAC;AAYrG,OAAO,KAAK,EAAE,UAAU,EAA+B,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAE5F,MAAM,WAAW,aAAa;IAC5B,8FAA8F;IAC9F,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,8FAA8F;IAC9F,eAAe,EAAE,MAAM,CAAC;IACxB,8FAA8F;IAC9F,eAAe,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,UAAU,CAAC;IACrB,gFAAgF;IAChF,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,UAAU,GAAG,IAAI,CAAC;CACxD;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;AAE3C,uGAAuG;AACvG,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,QAAQ,EACtB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,QAAQ,GACb,aAAa,GAAG,IAAI,CAyCtB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,aAAa,EACnB,YAAY,EAAE,GAAG,EACjB,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAE,oBAAqD,GAC9D,aAAa,CAEf;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,GAAG,EAAE,EACpB,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAE,oBAAqD,GAC9D,cAAc,CAEhB;AA0HD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EACvC,QAAQ,GAAE,oBAAqD,GAC9D,MAAM,CAKR"}
|
package/dist/n2m-resolver.js
CHANGED
|
@@ -22,18 +22,20 @@ import { MetadataError } from "./errors.js";
|
|
|
22
22
|
import { buildSelectSpec, resolvePkFields } from "./query-builder.js";
|
|
23
23
|
/** Returns null if the named relationship is not M:N — caller should try resolveRelationDescriptor. */
|
|
24
24
|
export function resolveN2mDescriptor(sourceEntity, relationName, root) {
|
|
25
|
-
|
|
25
|
+
// ADR-0039: effective children — a relationship may be inherited via extends.
|
|
26
|
+
for (const child of sourceEntity.children()) {
|
|
26
27
|
if (child.type !== TYPE_RELATIONSHIP)
|
|
27
28
|
continue;
|
|
28
29
|
if (child.name !== relationName)
|
|
29
30
|
continue;
|
|
30
|
-
|
|
31
|
+
// ADR-0039: effective attrs — @cardinality/@through/@objectRef may be inherited.
|
|
32
|
+
if (child.attr(RELATIONSHIP_ATTR_CARDINALITY) !== CARDINALITY_MANY)
|
|
31
33
|
continue;
|
|
32
|
-
if (child.
|
|
34
|
+
if (child.attr(RELATIONSHIP_ATTR_THROUGH) === undefined)
|
|
33
35
|
continue; // 1:N many — not M:N.
|
|
34
36
|
const rel = child;
|
|
35
|
-
const targetEntityName = rel.
|
|
36
|
-
const joinEntityName = rel.
|
|
37
|
+
const targetEntityName = rel.attr(RELATIONSHIP_ATTR_OBJECT_REF);
|
|
38
|
+
const joinEntityName = rel.attr(RELATIONSHIP_ATTR_THROUGH);
|
|
37
39
|
if (!targetEntityName || !joinEntityName) {
|
|
38
40
|
throw new MetadataError(`M:N relationship '${relationName}' on '${sourceEntity.name}' requires @objectRef + @through`, { entity: sourceEntity.name });
|
|
39
41
|
}
|
|
@@ -101,7 +103,8 @@ function inOrEq(column, ids) {
|
|
|
101
103
|
: { kind: "in", column, values: ids };
|
|
102
104
|
}
|
|
103
105
|
function mustGetEntity(root, name) {
|
|
104
|
-
|
|
106
|
+
// ADR-0039: effective children — resolve rather than rely on root being unextended.
|
|
107
|
+
const e = root.children().find((c) => c.type === TYPE_OBJECT && c.name === name);
|
|
105
108
|
if (!e)
|
|
106
109
|
throw new MetadataError(`Entity '${name}' not found`, { entity: name });
|
|
107
110
|
return e;
|
|
@@ -172,7 +175,8 @@ function collectSymmetricTargetIds(joinRows, sourceCol, targetCol, sourceIds) {
|
|
|
172
175
|
return [...seen];
|
|
173
176
|
}
|
|
174
177
|
export function resolveJoinColumnName(joinEntity, fieldName, strategy = DEFAULT_COLUMN_NAMING_STRATEGY) {
|
|
175
|
-
|
|
178
|
+
// ADR-0039: effective children — a junction field may be inherited via extends.
|
|
179
|
+
const field = joinEntity.children().find((c) => c.type === TYPE_FIELD && c.name === fieldName);
|
|
176
180
|
if (!field)
|
|
177
181
|
throw new MetadataError(`Join field '${fieldName}' not on '${joinEntity.name}'`);
|
|
178
182
|
return resolveColumnName(field, strategy);
|
package/dist/n2m-resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"n2m-resolver.js","sourceRoot":"","sources":["../src/n2m-resolver.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,4EAA4E;AAC5E,uEAAuE;AACvE,+EAA+E;AAC/E,2EAA2E;AAC3E,qEAAqE;AACrE,+EAA+E;AAC/E,4EAA4E;AAC5E,2DAA2D;AAC3D,EAAE;AACF,sDAAsD;AACtD,+EAA+E;AAC/E,2DAA2D;AAC3D,+EAA+E;AAC/E,gEAAgE;AAChE,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAGhF,OAAO,EACL,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAC1C,6BAA6B,EAAE,4BAA4B,EAAE,yBAAyB,EACtF,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAwBtE,uGAAuG;AACvG,MAAM,UAAU,oBAAoB,CAClC,YAAsB,EACtB,YAAoB,EACpB,IAAc;IAEd,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"n2m-resolver.js","sourceRoot":"","sources":["../src/n2m-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-manager.d.ts","sourceRoot":"","sources":["../src/object-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"object-manager.d.ts","sourceRoot":"","sources":["../src/object-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/object-manager.js
CHANGED
|
@@ -366,7 +366,8 @@ export class ObjectManager {
|
|
|
366
366
|
if (!VALID_ENTITY_NAME.test(entityName)) {
|
|
367
367
|
throw new UnsafeNameError(`Unsafe entity name '${entityName}'`, { value: entityName });
|
|
368
368
|
}
|
|
369
|
-
|
|
369
|
+
// ADR-0039: effective children — resolve rather than rely on root being unextended.
|
|
370
|
+
const entity = this.metadata.children().find((c) => c.type === TYPE_OBJECT && c.name === entityName);
|
|
370
371
|
if (!entity) {
|
|
371
372
|
throw new MetadataError(`Unknown entity '${entityName}'`, { entity: entityName });
|
|
372
373
|
}
|
|
@@ -401,7 +402,8 @@ const NUMERIC_SUBTYPES = new Set([
|
|
|
401
402
|
]);
|
|
402
403
|
// decodeRef always returns strings; numeric PK fields need coercion back to number.
|
|
403
404
|
function coercePkValue(entity, fieldName, rawValue) {
|
|
404
|
-
|
|
405
|
+
// ADR-0039: resolving — the PK field may be inherited from a BaseEntity via extends.
|
|
406
|
+
const field = entity.children().find((c) => c.type === TYPE_FIELD && c.name === fieldName);
|
|
405
407
|
if (field && NUMERIC_SUBTYPES.has(field.subType)) {
|
|
406
408
|
const n = Number(rawValue);
|
|
407
409
|
if (!Number.isNaN(n))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-manager.js","sourceRoot":"","sources":["../src/object-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"object-manager.js","sourceRoot":"","sources":["../src/object-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-resolver.d.ts","sourceRoot":"","sources":["../src/relation-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAML,eAAe,EAAE,gBAAgB,EAElC,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,UAAU,EAAkB,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,4GAA4G;IAC5G,WAAW,EAAE,OAAO,eAAe,GAAG,OAAO,gBAAgB,CAAC;IAC9D,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,4GAA4G;IAC5G,WAAW,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,WAAW,EAAE,MAAM,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"relation-resolver.d.ts","sourceRoot":"","sources":["../src/relation-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAML,eAAe,EAAE,gBAAgB,EAElC,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,UAAU,EAAkB,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,4GAA4G;IAC5G,WAAW,EAAE,OAAO,eAAe,GAAG,OAAO,gBAAgB,CAAC;IAC9D,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,4GAA4G;IAC5G,WAAW,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,WAAW,EAAE,MAAM,CAAC;CACrB;AA2BD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,QAAQ,EACtB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,QAAQ,GACb,kBAAkB,CAwEpB;AAUD,uFAAuF;AACvF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,kBAAkB,EACxB,YAAY,EAAE,GAAG,EACjB,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAE,oBAAqD,GAC9D,UAAU,GAAG,IAAI,CAKnB;AAED,gGAAgG;AAChG,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,aAAa,EAAE,GAAG,EAAE,EACpB,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAE,oBAAqD,GAC9D,UAAU,GAAG,IAAI,CAUnB"}
|
|
@@ -6,19 +6,21 @@ import { buildSelectSpec, resolvePkFields, } from "./query-builder.js";
|
|
|
6
6
|
* Returns the FK field name (first field on the identity) or undefined.
|
|
7
7
|
*/
|
|
8
8
|
function findReferenceFkField(holder, targetName) {
|
|
9
|
-
|
|
9
|
+
// ADR-0039: effective children — an identity.reference may be inherited via extends.
|
|
10
|
+
for (const child of holder.children()) {
|
|
10
11
|
if (child.type !== TYPE_IDENTITY)
|
|
11
12
|
continue;
|
|
12
13
|
if (child.subType !== IDENTITY_SUBTYPE_REFERENCE)
|
|
13
14
|
continue;
|
|
14
|
-
|
|
15
|
+
// ADR-0039: effective attrs — @references/@fields may be inherited.
|
|
16
|
+
const ref = child.attr(IDENTITY_REFERENCE_ATTR_REFERENCES);
|
|
15
17
|
if (typeof ref !== "string")
|
|
16
18
|
continue;
|
|
17
19
|
const dotIdx = ref.indexOf(".");
|
|
18
20
|
const entityName = dotIdx === -1 ? ref : ref.slice(0, dotIdx);
|
|
19
21
|
if (entityName !== targetName)
|
|
20
22
|
continue;
|
|
21
|
-
const fields = child.
|
|
23
|
+
const fields = child.attr(IDENTITY_ATTR_FIELDS);
|
|
22
24
|
if (Array.isArray(fields) && fields.length > 0)
|
|
23
25
|
return String(fields[0]);
|
|
24
26
|
if (typeof fields === "string") {
|
|
@@ -38,15 +40,17 @@ function findReferenceFkField(holder, targetName) {
|
|
|
38
40
|
* FK direction is sourced from identity.reference declarations, not relationship attrs.
|
|
39
41
|
*/
|
|
40
42
|
export function resolveRelationDescriptor(sourceEntity, relationName, root) {
|
|
41
|
-
|
|
43
|
+
// ADR-0039: effective children — a relationship may be inherited via extends.
|
|
44
|
+
for (const child of sourceEntity.children()) {
|
|
42
45
|
if (child.type !== TYPE_RELATIONSHIP)
|
|
43
46
|
continue;
|
|
44
47
|
if (child.name !== relationName)
|
|
45
48
|
continue;
|
|
46
|
-
|
|
49
|
+
// ADR-0039: effective attrs — @cardinality/@objectRef may be inherited.
|
|
50
|
+
const card = child.attr(RELATIONSHIP_ATTR_CARDINALITY);
|
|
47
51
|
if (card !== CARDINALITY_ONE)
|
|
48
52
|
continue;
|
|
49
|
-
const targetEntityName = child.
|
|
53
|
+
const targetEntityName = child.attr(RELATIONSHIP_ATTR_OBJECT_REF);
|
|
50
54
|
if (!targetEntityName) {
|
|
51
55
|
throw new MetadataError(`Relationship '${relationName}' on '${sourceEntity.name}' missing @objectRef`, { entity: sourceEntity.name });
|
|
52
56
|
}
|
|
@@ -54,7 +58,8 @@ export function resolveRelationDescriptor(sourceEntity, relationName, root) {
|
|
|
54
58
|
if (!fkField) {
|
|
55
59
|
throw new MetadataError(`Relationship '${relationName}' on '${sourceEntity.name}' has no identity.reference targeting '${targetEntityName}'`, { entity: sourceEntity.name });
|
|
56
60
|
}
|
|
57
|
-
|
|
61
|
+
// ADR-0039: effective children — resolve rather than rely on root being unextended.
|
|
62
|
+
const target = root.children().find((c) => c.type === TYPE_OBJECT && c.name === targetEntityName);
|
|
58
63
|
if (!target) {
|
|
59
64
|
throw new MetadataError(`Target entity '${targetEntityName}' not found for relation '${relationName}' on '${sourceEntity.name}'`, { entity: sourceEntity.name });
|
|
60
65
|
}
|
|
@@ -65,18 +70,21 @@ export function resolveRelationDescriptor(sourceEntity, relationName, root) {
|
|
|
65
70
|
targetField: resolvePkFields(target)[0],
|
|
66
71
|
};
|
|
67
72
|
}
|
|
68
|
-
|
|
73
|
+
// ADR-0039: effective children — resolve rather than rely on root being unextended.
|
|
74
|
+
for (const other of root.children()) {
|
|
69
75
|
if (other.type !== TYPE_OBJECT)
|
|
70
76
|
continue;
|
|
71
77
|
if (other.name === sourceEntity.name)
|
|
72
78
|
continue;
|
|
73
|
-
|
|
79
|
+
// ADR-0039: effective children — a relationship may be inherited via extends.
|
|
80
|
+
for (const child of other.children()) {
|
|
74
81
|
if (child.type !== TYPE_RELATIONSHIP)
|
|
75
82
|
continue;
|
|
76
|
-
|
|
83
|
+
// ADR-0039: effective attrs — @cardinality/@objectRef may be inherited.
|
|
84
|
+
const card = child.attr(RELATIONSHIP_ATTR_CARDINALITY);
|
|
77
85
|
if (card !== CARDINALITY_ONE)
|
|
78
86
|
continue;
|
|
79
|
-
const targetEntityName = child.
|
|
87
|
+
const targetEntityName = child.attr(RELATIONSHIP_ATTR_OBJECT_REF);
|
|
80
88
|
if (targetEntityName !== sourceEntity.name)
|
|
81
89
|
continue;
|
|
82
90
|
const inverseName = inversePluralName(other.name);
|
|
@@ -128,7 +136,8 @@ export function buildIncludeBatchSpec(desc, sourceRecords, root, strategy = DEFA
|
|
|
128
136
|
return buildSelectSpec(target, { [desc.targetField]: [...seen] }, {}, undefined, strategy);
|
|
129
137
|
}
|
|
130
138
|
function mustGetEntity(root, name) {
|
|
131
|
-
|
|
139
|
+
// ADR-0039: effective children — resolve rather than rely on root being unextended.
|
|
140
|
+
const e = root.children().find((c) => c.type === TYPE_OBJECT && c.name === name);
|
|
132
141
|
if (!e)
|
|
133
142
|
throw new MetadataError(`Entity '${name}' not found`, { entity: name });
|
|
134
143
|
return e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-resolver.js","sourceRoot":"","sources":["../src/relation-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAC7C,0BAA0B,EAC1B,oBAAoB,EACpB,kCAAkC,EAClC,6BAA6B,EAAE,4BAA4B,EAC3D,eAAe,EAAE,gBAAgB,EACjC,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,eAAe,EAAE,eAAe,GACjC,MAAM,oBAAoB,CAAC;AAc5B;;;GAGG;AACH,SAAS,oBAAoB,CAAC,MAAgB,EAAE,UAAkB;IAChE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"relation-resolver.js","sourceRoot":"","sources":["../src/relation-resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/tph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tph.d.ts","sourceRoot":"","sources":["../src/tph.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,MAAM,WAAW,UAAU;IACzB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"tph.d.ts","sourceRoot":"","sources":["../src/tph.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,MAAM,WAAW,UAAU;IACzB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,CAiBhE"}
|
package/dist/tph.js
CHANGED
|
@@ -20,12 +20,15 @@ import { OBJECT_ATTR_DISCRIMINATOR, OBJECT_ATTR_DISCRIMINATOR_VALUE } from "@met
|
|
|
20
20
|
* from an ancestor in its resolved super chain.
|
|
21
21
|
*/
|
|
22
22
|
export function tphSubtypeOf(entity) {
|
|
23
|
-
|
|
23
|
+
// ADR-0039: effective attr — @discriminatorValue may be inherited (sub-subtype).
|
|
24
|
+
const value = entity.attr(OBJECT_ATTR_DISCRIMINATOR_VALUE);
|
|
24
25
|
if (value === undefined || value === null)
|
|
25
26
|
return null;
|
|
26
27
|
// Walk the resolved super chain to find the @discriminator-bearing ancestor.
|
|
27
28
|
let ancestor = entity.superResolved;
|
|
28
29
|
while (ancestor !== undefined) {
|
|
30
|
+
// ADR-0039 category 3: super-resolution walk — read each ancestor's OWN
|
|
31
|
+
// @discriminator as we ascend (this manual walk IS the resolution).
|
|
29
32
|
const field = ancestor.ownAttr(OBJECT_ATTR_DISCRIMINATOR);
|
|
30
33
|
if (field !== undefined && field !== null) {
|
|
31
34
|
return { field: String(field), value: String(value) };
|
package/dist/tph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tph.js","sourceRoot":"","sources":["../src/tph.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,WAAW;AACX,8EAA8E;AAC9E,iCAAiC;AACjC,0EAA0E;AAC1E,yEAAyE;AACzE,wEAAwE;AACxE,2EAA2E;AAC3E,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,uEAAuE;AAGvE,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAStG;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAAgB;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"tph.js","sourceRoot":"","sources":["../src/tph.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,WAAW;AACX,8EAA8E;AAC9E,iCAAiC;AACjC,0EAA0E;AAC1E,yEAAyE;AACzE,wEAAwE;AACxE,2EAA2E;AAC3E,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,uEAAuE;AAGvE,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAStG;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAAgB;IAC3C,iFAAiF;IACjF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC3D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvD,6EAA6E;IAC7E,IAAI,QAAQ,GAAyB,MAAM,CAAC,aAAa,CAAC;IAC1D,OAAO,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC9B,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|