@voxgig/apidef 8.12.1 → 8.14.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.
Files changed (56) hide show
  1. package/dist/apidef.d.ts +2 -2
  2. package/dist/apidef.js +2 -2
  3. package/dist/apidef.js.map +1 -1
  4. package/dist/builder/entity/entity.d.ts +5 -1
  5. package/dist/builder/entity/entity.js +17 -1
  6. package/dist/builder/entity/entity.js.map +1 -1
  7. package/dist/builder/flow/flowHeuristic01.js +14 -14
  8. package/dist/builder/flow/flowHeuristic01.js.map +1 -1
  9. package/dist/model.d.ts +35 -33
  10. package/dist/resolved.d.ts +10 -6
  11. package/dist/resolved.js +65 -15
  12. package/dist/resolved.js.map +1 -1
  13. package/dist/transform/args.js +19 -19
  14. package/dist/transform/args.js.map +1 -1
  15. package/dist/transform/clean.js +4 -0
  16. package/dist/transform/clean.js.map +1 -1
  17. package/dist/transform/contract.d.ts +0 -2
  18. package/dist/transform/contract.js +6 -75
  19. package/dist/transform/contract.js.map +1 -1
  20. package/dist/transform/entity.d.ts +2 -1
  21. package/dist/transform/entity.js +13 -1
  22. package/dist/transform/entity.js.map +1 -1
  23. package/dist/transform/field.js +64 -64
  24. package/dist/transform/field.js.map +1 -1
  25. package/dist/transform/flowstep.js +42 -42
  26. package/dist/transform/flowstep.js.map +1 -1
  27. package/dist/transform/graphql.js +8 -8
  28. package/dist/transform/graphql.js.map +1 -1
  29. package/dist/transform/operation.js +9 -9
  30. package/dist/transform/operation.js.map +1 -1
  31. package/dist/transform/select.js +13 -13
  32. package/dist/transform/select.js.map +1 -1
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/dist/types.d.ts +1 -1
  35. package/dist/utility.d.ts +2 -1
  36. package/dist/utility.js +5 -0
  37. package/dist/utility.js.map +1 -1
  38. package/model/apidef.aon +128 -183
  39. package/model/guide.aon +3 -2
  40. package/package.json +5 -3
  41. package/src/apidef.ts +4 -3
  42. package/src/builder/entity/entity.ts +18 -1
  43. package/src/builder/flow/flowHeuristic01.ts +14 -14
  44. package/src/model.ts +36 -37
  45. package/src/resolved.ts +62 -17
  46. package/src/transform/args.ts +20 -20
  47. package/src/transform/clean.ts +5 -0
  48. package/src/transform/contract.ts +6 -71
  49. package/src/transform/entity.ts +13 -1
  50. package/src/transform/field.ts +66 -69
  51. package/src/transform/flowstep.ts +42 -42
  52. package/src/transform/graphql.ts +8 -8
  53. package/src/transform/operation.ts +9 -9
  54. package/src/transform/select.ts +13 -13
  55. package/src/types.ts +1 -1
  56. package/src/utility.ts +7 -0
@@ -12,7 +12,7 @@ const argsTransform = async function (ctx) {
12
12
  (0, jostraca_1.each)(ment.op, (mop, opname) => {
13
13
  (0, jostraca_1.each)(mop.points, (mpoint) => {
14
14
  const argdefs = [];
15
- if ('graphql' === mpoint.kind) {
15
+ if ('graphql' === mpoint.k) {
16
16
  // GraphQL root-field arguments become 'param' args, so the existing
17
17
  // arg machinery (select.exist matching, request typing, test
18
18
  // generation) works on them unchanged. Input-object arguments are
@@ -35,9 +35,9 @@ const argsTransform = async function (ctx) {
35
35
  }
36
36
  }
37
37
  else {
38
- const pathdef = def.paths[mpoint.orig];
38
+ const pathdef = def.paths[mpoint.o];
39
39
  argdefs.push(...(pathdef?.parameters ?? []));
40
- const opdef = pathdef?.[mpoint.method.toLowerCase()];
40
+ const opdef = pathdef?.[mpoint.m.toLowerCase()];
41
41
  argdefs.push(...(opdef?.parameters ?? []));
42
42
  }
43
43
  resolveArgs(ctx, ment, mop, mpoint, argdefs);
@@ -50,8 +50,8 @@ const argsTransform = async function (ctx) {
50
50
  exports.argsTransform = argsTransform;
51
51
  // Locate the normalised root-field descriptor a GraphQL point came from.
52
52
  function graphqlFieldDef(def, mpoint) {
53
- const field = mpoint.graphql?.field ?? mpoint.orig;
54
- return 'mutation' === mpoint.graphql?.optype ?
53
+ const field = mpoint.gq?.field ?? mpoint.o;
54
+ return 'mutation' === mpoint.gq?.optype ?
55
55
  def.mutation?.[field] : def.query?.[field];
56
56
  }
57
57
  function gqlScalarType(typeName) {
@@ -76,11 +76,11 @@ function resolveArgs(ctx, ment, mop, mpoint, argdefs) {
76
76
  const ref = argdef?.$ref;
77
77
  ctx?.warn?.({
78
78
  note: `Parameter with no name on entity=${ment.name} op=${mop.name}` +
79
- ` path=${mpoint.orig} is dropped` +
79
+ ` path=${mpoint.o} is dropped` +
80
80
  (null == ref ? '.' : `: \`$ref\` "${ref}" resolves to nothing.`) +
81
81
  ' A parameter needs a `name`, or a reference that resolves to one.',
82
82
  entity: ment.name,
83
- path: mpoint.orig,
83
+ path: mpoint.o,
84
84
  op: mop.name,
85
85
  });
86
86
  return;
@@ -89,31 +89,31 @@ function resolveArgs(ctx, ment, mop, mpoint, argdefs) {
89
89
  // Rename map can be keyed by either the spec original (camelCase) or by
90
90
  // the snakified form depending on which path went through heuristic01.
91
91
  // Try both before falling through to `orig`.
92
- const renameMap = mpoint.rename[kind];
92
+ const renameMap = mpoint.r[kind];
93
93
  const name = renameMap?.[specName] ?? renameMap?.[orig] ?? orig;
94
94
  const marg = {
95
- name,
96
- orig,
97
- type: (0, utility_1.inferFieldType)(name, (0, utility_1.validator)(argdef.schema?.type)),
98
- kind,
99
- reqd: !!argdef.required
95
+ n: name,
96
+ or: orig,
97
+ t: (0, utility_1.inferFieldType)(name, (0, utility_1.validator)(argdef.schema?.type)),
98
+ k: kind,
99
+ r: !!argdef.required
100
100
  };
101
101
  const example = resolveArgExample(argdef);
102
102
  if (undefined !== example) {
103
- marg.example = example;
103
+ marg.ex = example;
104
104
  }
105
105
  if (argdef.nullable) {
106
- marg.type = ['`$ONE`', '`$NULL`', marg.type];
106
+ marg.t = ['`$ONE`', '`$NULL`', marg.t];
107
107
  }
108
- const argsKey = (marg.kind === 'param' ? 'params' : marg.kind);
109
- let kindargs = (mpoint.args[argsKey] = mpoint.args[argsKey] ?? []);
108
+ const argsKey = (marg.k === 'param' ? 'params' : marg.k);
109
+ let kindargs = (mpoint.g[argsKey] = mpoint.g[argsKey] ?? []);
110
110
  kindargs.push(marg);
111
111
  touchedKeys.add(argsKey);
112
112
  });
113
113
  // Sort once after all args are collected
114
- const cmp = (a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
114
+ const cmp = (a, b) => a.n < b.n ? -1 : a.n > b.n ? 1 : 0;
115
115
  for (const key of touchedKeys) {
116
- mpoint.args[key]?.sort(cmp);
116
+ mpoint.g[key]?.sort(cmp);
117
117
  }
118
118
  }
119
119
  function resolveArgExample(argdef) {
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/transform/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/transform/args.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cleanTransform = void 0;
4
+ const types_1 = require("../types");
4
5
  const struct_1 = require("@voxgig/struct");
5
6
  const cleanTransform = async function (ctx) {
6
7
  const { apimodel } = ctx;
@@ -36,6 +37,9 @@ const cleanTransform = async function (ctx) {
36
37
  return v;
37
38
  });
38
39
  ctx.apimodel = cur[0];
40
+ for (const entity of Object.values(ctx.apimodel.main?.[types_1.KIT]?.entity ?? {})) {
41
+ entity.fields ??= {};
42
+ }
39
43
  return { ok: true, msg: 'clean' };
40
44
  };
41
45
  exports.cleanTransform = cleanTransform;
@@ -1 +1 @@
1
- {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/transform/clean.ts"],"names":[],"mappings":";;;AAGA,2CAAqE;AAGrE,MAAM,cAAc,GAAc,KAAK,WACrC,GAAQ;IAER,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;IAExB,IAAI,GAAG,GAAU,EAAE,CAAA;IAEnB,kFAAkF;IAClF,gDAAgD;IAChD,IAAA,aAAI,EACF,QAAQ,EACR,CAAC,CAAM,EAAE,CAAM,EAAE,EAAO,EAAE,SAAc,EAAE,EAAE;QAC1C,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAA,cAAK,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,eAAM,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,OAAO,CAAC,CAAA;QACV,CAAC;QAED,IAAI,EAAE,GAAG,CAAC,CAAA;QAEV,IAAI,IAAA,eAAM,EAAC,CAAC,CAAC,EAAE,CAAC;YACd,IAAI,IAAA,gBAAO,EAAC,CAAC,CAAC,EAAE,CAAC;gBACf,EAAE,GAAG,SAAS,CAAA;YAChB,CAAC;iBACI,CAAC;gBACJ,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAA,cAAK,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACjD,CAAC;QAEH,CAAC;QAED,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACnC,CAAC;QAED,OAAO,CAAC,CAAA;IACV,CAAC,EAED,CAAC,CAAM,EAAE,CAAM,EAAE,EAAO,EAAE,SAAc,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACpC,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YAChB,IAAI,IAAA,eAAM,EAAC,EAAE,CAAC,IAAI,IAAA,gBAAO,EAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACd,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC,CACF,CAAA;IAED,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IAErB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;AACnC,CAAC,CAAA;QAIC,cAAc"}
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/transform/clean.ts"],"names":[],"mappings":";;;AAEA,oCAA8B;AAE9B,2CAAqE;AAGrE,MAAM,cAAc,GAAc,KAAK,WACrC,GAAQ;IAER,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;IAExB,IAAI,GAAG,GAAU,EAAE,CAAA;IAEnB,kFAAkF;IAClF,gDAAgD;IAChD,IAAA,aAAI,EACF,QAAQ,EACR,CAAC,CAAM,EAAE,CAAM,EAAE,EAAO,EAAE,SAAc,EAAE,EAAE;QAC1C,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAA,cAAK,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,eAAM,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,OAAO,CAAC,CAAA;QACV,CAAC;QAED,IAAI,EAAE,GAAG,CAAC,CAAA;QAEV,IAAI,IAAA,eAAM,EAAC,CAAC,CAAC,EAAE,CAAC;YACd,IAAI,IAAA,gBAAO,EAAC,CAAC,CAAC,EAAE,CAAC;gBACf,EAAE,GAAG,SAAS,CAAA;YAChB,CAAC;iBACI,CAAC;gBACJ,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAA,cAAK,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACjD,CAAC;QAEH,CAAC;QAED,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACnC,CAAC;QAED,OAAO,CAAC,CAAA;IACV,CAAC,EAED,CAAC,CAAM,EAAE,CAAM,EAAE,EAAO,EAAE,SAAc,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACpC,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YAChB,IAAI,IAAA,eAAM,EAAC,EAAE,CAAC,IAAI,IAAA,gBAAO,EAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACd,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC,CACF,CAAA;IAED,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IAErB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAG,CAAC,EAAE,MAAM,IAAI,EAAE,CAAU,EAAE,CAAC;QACpF,MAAM,CAAC,MAAM,KAAK,EAAE,CAAA;IACtB,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;AACnC,CAAC,CAAA;QAIC,cAAc"}
@@ -1,4 +1,2 @@
1
1
  import type { Transform } from '../transform';
2
- export declare function contractJSON(value: any): string;
3
- export declare function graphqlInputTypes(field: any, types: any): any;
4
2
  export declare const contractTransform: Transform;
@@ -1,94 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.contractTransform = void 0;
4
- exports.contractJSON = contractJSON;
5
- exports.graphqlInputTypes = graphqlInputTypes;
6
- const resolved_1 = require("../resolved");
7
- function contractJSON(value) {
8
- function walk(root, base) {
9
- // One memo per fact, so refs stay local to it.
10
- const seen = new Map();
11
- function copy(v, path) {
12
- if (v === null || typeof v !== 'object')
13
- return v;
14
- if (seen.has(v))
15
- return { $ref: seen.get(v) };
16
- seen.set(v, path);
17
- const out = Array.isArray(v) ? v.map((item, i) => copy(item, path + '/' + i)) : {};
18
- if (!Array.isArray(v))
19
- for (const k of Object.keys(v).sort()) {
20
- if (!k.endsWith('$') && !k.startsWith('x-') && undefined !== v[k])
21
- out[k] = copy(v[k], path + '/' + k.replace(/~/g, '~0').replace(/\//g, '~1'));
22
- }
23
- return out;
24
- }
25
- return copy(root, base);
26
- }
27
- if (null === value || 'object' !== typeof value || Array.isArray(value)) {
28
- return JSON.stringify(walk(value, '#'));
29
- }
30
- const out = {};
31
- for (const k of Object.keys(value).sort()) {
32
- if (k.endsWith('$') || k.startsWith('x-') || undefined === value[k])
33
- continue;
34
- out[k] = walk(value[k], '#/' + k.replace(/~/g, '~0').replace(/\//g, '~1'));
35
- }
36
- return JSON.stringify(out);
37
- }
38
- // An operation needs its argument types, including recursive input objects.
39
- // Output types are represented by the field and generated invocation selection;
40
- // copying the entire connected output graph per operation is quadratic in API size.
41
- function graphqlInputTypes(field, types) {
42
- const out = {};
43
- function visit(name) {
44
- if (!types[name] || Object.prototype.hasOwnProperty.call(out, name))
45
- return;
46
- const type = types[name];
47
- out[name] = type;
48
- if (type.kind === 'INPUT_OBJECT') {
49
- for (const child of Object.values(type.fields || {}))
50
- visit(child.type);
51
- }
52
- }
53
- for (const arg of field.args || [])
54
- visit(arg.type);
55
- return out;
56
- }
57
4
  const contractTransform = async (ctx) => {
58
5
  const def = ctx.def || {};
59
6
  for (const entity of Object.values(ctx.apimodel.main.kit.entity || {})) {
60
7
  for (const op of Object.values(entity.op || {})) {
61
8
  for (const point of op?.points || []) {
62
- const path = def.paths?.[point.orig];
63
- const method = path?.[point.method.toLowerCase()];
64
- const graphql = def.query?.[point.orig] || def.mutation?.[point.orig];
9
+ const path = def.paths?.[point.o];
10
+ const method = path?.[point.m.toLowerCase()];
11
+ const graphql = def.query?.[point.o] || def.mutation?.[point.o];
65
12
  if (!method && !graphql)
66
13
  continue;
67
- const facts = (0, resolved_1.operationFacts)(def, point);
68
- if (null == facts)
69
- continue;
70
- // A property of the point, not of the definition.
71
- if (graphql)
72
- facts.invocation = point.graphql;
73
- const guideOp = ctx.guide?.entity?.[entity.name]?.[graphql ? 'field' : 'path']?.[point.orig]?.op?.[op.name];
14
+ const guideOp = ctx.guide?.entity?.[entity.name]?.[graphql ? 'field' : 'path']?.[point.o]?.op?.[op.name];
74
15
  const hint = guideOp?.live;
75
- for (const key of ['requestBody', 'responses', 'parameters', 'security']) {
76
- if (guideOp?.contract?.[key] !== undefined) {
77
- facts[key] = guideOp.contract[key];
78
- (facts.factSources ??= {})[key] = 'guide';
79
- }
80
- }
81
16
  if (hint !== undefined) {
82
- facts.live = hint;
83
- point.live = hint;
17
+ point.li = hint;
84
18
  }
85
19
  // Identity only; facts come from the capability. See
86
20
  // docs/design/resolved-spec-capability.md
87
- point.contract = { version: 1, id: point.method + ' ' + point.orig,
21
+ point.co = { version: 2, id: point.m + ' ' + point.o,
88
22
  source: graphql ? 'graphql' : def.swagger ? 'swagger2' : 'openapi3' };
89
- if (ctx.opts?.contractJson) {
90
- point.contract.json = contractJSON(facts);
91
- }
92
23
  }
93
24
  }
94
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/transform/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/transform/contract.ts"],"names":[],"mappings":";;;AAGO,MAAM,iBAAiB,GAAc,KAAK,EAAE,GAAQ,EAAE,EAAE;IAC7D,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAA;IACzB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAU,EAAE,CAAC;QAChF,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAU,EAAE,CAAC;YACzD,KAAK,MAAM,KAAK,IAAI,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACjC,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;gBAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC/D,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;oBAAE,SAAQ;gBACjC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;gBACxG,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,CAAA;gBAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,KAAK,CAAC,EAAE,GAAG,IAAI,CAAA;gBACjB,CAAC;gBACD,qDAAqD;gBACrD,0CAA0C;gBAC1C,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;oBAClD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;AACtC,CAAC,CAAA;AAtBY,QAAA,iBAAiB,GAAjB,iBAAiB,CAsB7B"}
@@ -2,6 +2,7 @@ import type { Transform } from '../transform';
2
2
  import type { GuideEntity } from '../types';
3
3
  import type { PathDesc } from '../desc';
4
4
  declare const entityTransform: Transform;
5
+ declare function filterEntityAncestors(entities: Record<string, any>): void;
5
6
  declare function mergeCollectionPaths(guide: any, log?: any): void;
6
7
  declare function resolvePathList(guideEntity: GuideEntity, def: {
7
8
  paths: Record<string, any>;
@@ -9,4 +10,4 @@ declare function resolvePathList(guideEntity: GuideEntity, def: {
9
10
  declare function buildRelations(guideEntity: any, paths$: PathDesc[]): {
10
11
  ancestors: any[];
11
12
  };
12
- export { resolvePathList, buildRelations, entityTransform, mergeCollectionPaths, };
13
+ export { filterEntityAncestors, resolvePathList, buildRelations, entityTransform, mergeCollectionPaths, };
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.entityTransform = void 0;
4
+ exports.filterEntityAncestors = filterEntityAncestors;
4
5
  exports.resolvePathList = resolvePathList;
5
6
  exports.buildRelations = buildRelations;
6
7
  exports.mergeCollectionPaths = mergeCollectionPaths;
@@ -30,15 +31,26 @@ const entityTransform = async function (ctx) {
30
31
  const modelent = {
31
32
  name: entname,
32
33
  op: {},
33
- fields: [],
34
+ fields: {},
34
35
  relations,
35
36
  };
36
37
  kit.entity[entname] = modelent;
37
38
  msg += guideEntity.name + ' ';
38
39
  });
40
+ filterEntityAncestors(kit.entity);
39
41
  return { ok: true, msg };
40
42
  };
41
43
  exports.entityTransform = entityTransform;
44
+ function filterEntityAncestors(entities) {
45
+ for (const [name, entity] of Object.entries(entities)) {
46
+ if (null == entity.relations)
47
+ continue;
48
+ entity.relations.ancestors = (entity.relations.ancestors ?? [])
49
+ .map((chain) => chain.filter(ancestor => ancestor !== name &&
50
+ Object.prototype.hasOwnProperty.call(entities, ancestor)))
51
+ .filter((chain) => 0 < chain.length);
52
+ }
53
+ }
42
54
  // Move "/X" paths onto the entity that owns "/X/{id}" or "/X/{id}/sub".
43
55
  // Only acts when the path "/X" sits on a different entity than the
44
56
  // per-instance paths — leaves correctly-classified APIs alone.
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/transform/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/transform/entity.ts"],"names":[],"mappings":"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"}