@voxgig/apidef 2.4.1 → 3.1.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 (108) hide show
  1. package/dist/apidef.d.ts +7 -2
  2. package/dist/apidef.js +190 -114
  3. package/dist/apidef.js.map +1 -1
  4. package/dist/builder/entity/entity.d.ts +3 -0
  5. package/dist/builder/entity/{apiEntity.js → entity.js} +12 -9
  6. package/dist/builder/entity/entity.js.map +1 -0
  7. package/dist/builder/entity/info.d.ts +3 -0
  8. package/dist/builder/entity/info.js +22 -0
  9. package/dist/builder/entity/info.js.map +1 -0
  10. package/dist/builder/entity.js +7 -21
  11. package/dist/builder/entity.js.map +1 -1
  12. package/dist/builder/flow/flowHeuristic01.js +21 -11
  13. package/dist/builder/flow/flowHeuristic01.js.map +1 -1
  14. package/dist/builder/flow.d.ts +2 -1
  15. package/dist/builder/flow.js +39 -12
  16. package/dist/builder/flow.js.map +1 -1
  17. package/dist/def.d.ts +62 -0
  18. package/dist/def.js +4 -0
  19. package/dist/def.js.map +1 -0
  20. package/dist/desc.d.ts +87 -0
  21. package/dist/desc.js +4 -0
  22. package/dist/desc.js.map +1 -0
  23. package/dist/guide/guide.d.ts +2 -1
  24. package/dist/guide/guide.js +161 -30
  25. package/dist/guide/guide.js.map +1 -1
  26. package/dist/guide/heuristic01.d.ts +2 -1
  27. package/dist/guide/heuristic01.js +1122 -234
  28. package/dist/guide/heuristic01.js.map +1 -1
  29. package/dist/model.d.ts +90 -0
  30. package/dist/model.js +4 -0
  31. package/dist/model.js.map +1 -0
  32. package/dist/parse.d.ts +4 -3
  33. package/dist/parse.js +40 -46
  34. package/dist/parse.js.map +1 -1
  35. package/dist/resolver.js +2 -1
  36. package/dist/resolver.js.map +1 -1
  37. package/dist/transform/args.d.ts +3 -0
  38. package/dist/transform/args.js +54 -0
  39. package/dist/transform/args.js.map +1 -0
  40. package/dist/transform/clean.d.ts +2 -2
  41. package/dist/transform/clean.js +28 -3
  42. package/dist/transform/clean.js.map +1 -1
  43. package/dist/transform/entity.d.ts +9 -1
  44. package/dist/transform/entity.js +57 -41
  45. package/dist/transform/entity.js.map +1 -1
  46. package/dist/transform/field.d.ts +1 -1
  47. package/dist/transform/field.js +89 -65
  48. package/dist/transform/field.js.map +1 -1
  49. package/dist/transform/flow.d.ts +3 -0
  50. package/dist/transform/flow.js +26 -0
  51. package/dist/transform/flow.js.map +1 -0
  52. package/dist/transform/flowstep.d.ts +3 -0
  53. package/dist/transform/flowstep.js +145 -0
  54. package/dist/transform/flowstep.js.map +1 -0
  55. package/dist/transform/operation.d.ts +3 -3
  56. package/dist/transform/operation.js +101 -296
  57. package/dist/transform/operation.js.map +1 -1
  58. package/dist/transform/select.d.ts +3 -0
  59. package/dist/transform/select.js +65 -0
  60. package/dist/transform/select.js.map +1 -0
  61. package/dist/transform/top.js +24 -2
  62. package/dist/transform/top.js.map +1 -1
  63. package/dist/transform.d.ts +1 -1
  64. package/dist/transform.js +4 -0
  65. package/dist/transform.js.map +1 -1
  66. package/dist/tsconfig.tsbuildinfo +1 -1
  67. package/dist/types.d.ts +115 -14
  68. package/dist/types.js +4 -2
  69. package/dist/types.js.map +1 -1
  70. package/dist/utility.d.ts +34 -2
  71. package/dist/utility.js +444 -6
  72. package/dist/utility.js.map +1 -1
  73. package/model/apidef.jsonic +76 -1
  74. package/model/guide.jsonic +14 -44
  75. package/package.json +19 -16
  76. package/src/apidef.ts +258 -122
  77. package/src/builder/entity/{apiEntity.ts → entity.ts} +18 -11
  78. package/src/builder/entity/info.ts +53 -0
  79. package/src/builder/entity.ts +9 -35
  80. package/src/builder/flow/flowHeuristic01.ts +46 -12
  81. package/src/builder/flow.ts +54 -13
  82. package/src/def.ts +91 -0
  83. package/src/desc.ts +154 -0
  84. package/src/guide/guide.ts +208 -134
  85. package/src/guide/heuristic01.ts +1653 -272
  86. package/src/model.ts +143 -0
  87. package/src/parse.ts +50 -59
  88. package/src/resolver.ts +3 -1
  89. package/src/schematron.ts.off +317 -0
  90. package/src/transform/args.ts +98 -0
  91. package/src/transform/clean.ts +45 -11
  92. package/src/transform/entity.ts +96 -50
  93. package/src/transform/field.ts +136 -75
  94. package/src/transform/flow.ts +59 -0
  95. package/src/transform/flowstep.ts +242 -0
  96. package/src/transform/operation.ts +119 -419
  97. package/src/transform/select.ts +119 -0
  98. package/src/transform/top.ts +46 -4
  99. package/src/transform.ts +8 -4
  100. package/src/types.ts +181 -5
  101. package/src/utility.ts +567 -9
  102. package/dist/builder/entity/apiEntity.d.ts +0 -3
  103. package/dist/builder/entity/apiEntity.js.map +0 -1
  104. package/dist/builder/entity/def.d.ts +0 -3
  105. package/dist/builder/entity/def.js +0 -19
  106. package/dist/builder/entity/def.js.map +0 -1
  107. package/src/builder/entity/def.ts +0 -44
  108. package/src/guide.ts.off +0 -136
@@ -1 +1 @@
1
- {"version":3,"file":"heuristic01.js","sourceRoot":"","sources":["../../src/guide/heuristic01.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heuristic01.js","sourceRoot":"","sources":["../../src/guide/heuristic01.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import type { MethodName } from './types';
2
+ type OpName = 'load' | 'list' | 'create' | 'update' | 'remove' | 'patch' | 'head' | 'options';
3
+ type Model = {
4
+ main: {
5
+ kit: {
6
+ entity: Record<string, ModelEntity>;
7
+ };
8
+ };
9
+ };
10
+ type ModelEntityRelations = {
11
+ ancestors: string[][];
12
+ };
13
+ type ModelOpMap = Partial<Record<OpName, ModelOp | undefined>>;
14
+ type ModelFieldOp = {
15
+ type: any;
16
+ req: boolean;
17
+ };
18
+ type ModelField = {
19
+ name: string;
20
+ type: any;
21
+ req: boolean;
22
+ op: Partial<Record<OpName, ModelFieldOp>>;
23
+ };
24
+ type ModelArg = {
25
+ name: string;
26
+ orig: string;
27
+ type: any;
28
+ kind: 'param' | 'query' | 'header' | 'cookie';
29
+ reqd: boolean;
30
+ };
31
+ type ModelAlt = {
32
+ orig: string;
33
+ method: MethodName;
34
+ parts: string[];
35
+ rename: Partial<{
36
+ param: Record<string, string>;
37
+ query: Record<string, string>;
38
+ header: Record<string, string>;
39
+ cookie: Record<string, string>;
40
+ }>;
41
+ args: Partial<{
42
+ param: ModelArg[];
43
+ query: ModelArg[];
44
+ header: ModelArg[];
45
+ cookie: ModelArg[];
46
+ }>;
47
+ transform: {
48
+ req?: any;
49
+ res?: any;
50
+ };
51
+ select: {
52
+ exist: string[];
53
+ $action?: string;
54
+ };
55
+ };
56
+ type ModelOp = {
57
+ name: OpName;
58
+ alts: ModelAlt[];
59
+ };
60
+ type ModelEntity = {
61
+ name: string;
62
+ op: ModelOpMap;
63
+ fields: ModelField[];
64
+ id: {
65
+ name: string;
66
+ field: string;
67
+ };
68
+ relations: ModelEntityRelations;
69
+ };
70
+ type ModelEntityFlow = {
71
+ name: string;
72
+ entity: string;
73
+ kind: string;
74
+ step: ModelEntityFlowStep[];
75
+ };
76
+ type ModelEntityFlowStep = {
77
+ op: OpName;
78
+ input: Record<string, any>;
79
+ match: Record<string, any>;
80
+ data: Record<string, any>;
81
+ spec: {
82
+ apply: string;
83
+ def: Record<string, any>;
84
+ }[];
85
+ valid: {
86
+ apply: string;
87
+ def: Record<string, any>;
88
+ }[];
89
+ };
90
+ export type { OpName, Model, ModelEntityRelations, ModelOpMap, ModelFieldOp, ModelField, ModelArg, ModelAlt, ModelOp, ModelEntity, ModelEntityFlow, ModelEntityFlowStep, };
package/dist/model.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ /* Copyright (c) 2024-2025 Voxgig, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":";AAAA,iDAAiD"}
package/dist/parse.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- declare function parse(kind: string, source: any, meta?: any): Promise<any>;
2
- declare function rewrite(def: any): any;
3
- export { parse, rewrite, };
1
+ declare function parse(kind: string, source: any, meta: {
2
+ file: string;
3
+ }): Promise<any>;
4
+ export { parse, };
package/dist/parse.js CHANGED
@@ -1,18 +1,39 @@
1
1
  "use strict";
2
- /* Copyright (c) 2024 Voxgig, MIT License */
2
+ /* Copyright (c) 2024-2025 Voxgig, MIT License */
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
3
6
  Object.defineProperty(exports, "__esModule", { value: true });
4
7
  exports.parse = parse;
5
- exports.rewrite = rewrite;
6
8
  const openapi_core_1 = require("@redocly/openapi-core");
7
- const jostraca_1 = require("jostraca");
9
+ const decircular_1 = __importDefault(require("decircular"));
8
10
  const utility_1 = require("./utility");
9
11
  // Parse an API definition source into a JSON sructure.
10
12
  async function parse(kind, source, meta) {
11
13
  if ('OpenAPI' === kind) {
12
- return parseOpenAPI(source, meta);
14
+ validateSource(kind, source, meta);
15
+ try {
16
+ const def = await parseOpenAPI(source, meta);
17
+ return def;
18
+ }
19
+ catch (pe) {
20
+ if (pe.originalError) {
21
+ pe.originalError.message =
22
+ `@voxgig/apidef: parse: syntax: ${pe.originalError.message}` +
23
+ ` (${(0, utility_1.relativizePath)(meta.file)})`;
24
+ pe = pe.originalError;
25
+ }
26
+ else {
27
+ pe.message =
28
+ `@voxgig/apidef: parse: internal: ${pe.message}` +
29
+ ` (${(0, utility_1.relativizePath)(meta.file)})`;
30
+ }
31
+ throw pe;
32
+ }
13
33
  }
14
34
  else {
15
- throw new Error('@voxgig/apidef-parse: unknown kind: ' + kind);
35
+ throw new Error(`@voxgig/apidef: parse: unknown kind: ${kind}` +
36
+ ` (${(0, utility_1.relativizePath)(meta.file)})`);
16
37
  }
17
38
  }
18
39
  async function parseOpenAPI(source, meta) {
@@ -50,55 +71,28 @@ async function parseOpenAPI(source, meta) {
50
71
  }
51
72
  addXRefs(bundleWithRefs.bundle.parsed);
52
73
  // Serialize back to string with x-refs preserved
53
- const sourceWithXRefs = JSON.stringify(bundleWithRefs.bundle.parsed);
74
+ const sourceWithXRefs = JSON.stringify((0, decircular_1.default)(bundleWithRefs.bundle.parsed));
54
75
  // Second pass: parse with dereferencing
55
76
  const bundle = await (0, openapi_core_1.bundleFromString)({
56
77
  source: sourceWithXRefs,
78
+ // source,
57
79
  config,
58
80
  dereference: true,
59
81
  });
60
- const def = bundle.bundle.parsed;
82
+ const def = (0, decircular_1.default)(bundle.bundle.parsed);
61
83
  return def;
62
84
  }
63
- // Make consistent changes to support semantic entities.
64
- function rewrite(def) {
65
- const paths = def.paths;
66
- (0, jostraca_1.each)(paths, (path) => {
67
- (0, jostraca_1.each)(path.parameters, (param) => {
68
- let new_param = param.name;
69
- let new_path = path.key$;
70
- // Rename param if nane is "id", and not the final param.
71
- // Rewrite /foo/{id}/bar as /foo/{foo_id}/bar.
72
- // Avoids ambiguity with bar id.
73
- if (param.name.match(/^id$/i)) {
74
- let m = path.key$.match(/\/([^\/]+)\/{id\}\/[^\/]/);
75
- if (m) {
76
- const parent = (0, utility_1.depluralize)((0, jostraca_1.snakify)(m[1]));
77
- new_param = `${parent}_id`;
78
- new_path = path.key$.replace('{id}', '{' + new_param + '}');
79
- }
80
- }
81
- else {
82
- new_param = (0, utility_1.depluralize)((0, jostraca_1.snakify)(param.name));
83
- new_path = path.key$.replace('{' + param.name + '}', '{' + new_param + '}');
84
- }
85
- let pathdef = paths[path.key$];
86
- delete paths[path.key$];
87
- paths[new_path] = pathdef;
88
- path.key$ = new_path;
89
- param.name = new_param;
90
- });
91
- });
92
- sortkeys(def, 'paths');
93
- sortkeys(def, 'components');
94
- return def;
95
- }
96
- function sortkeys(obj, prop) {
97
- const sorted = {};
98
- const sorted_keys = Object.keys(obj[prop]).sort();
99
- for (let sk of sorted_keys) {
100
- sorted[sk] = obj[prop][sk];
85
+ function validateSource(kind, source, meta) {
86
+ if (typeof source !== 'string') {
87
+ throw new Error(`@voxgig/apidef: parse: ${kind}: source must be a string` +
88
+ ` (${(0, utility_1.relativizePath)(meta.file)})`);
89
+ }
90
+ // Remove YAML comment lines (lines that start with # after
91
+ // optional whitespace)
92
+ const withoutComments = source.replace(/^\s*#.*$/gm, '');
93
+ if (withoutComments.trim().length === 0) {
94
+ throw new Error(`@voxgig/apidef: parse: ${kind}: source is empty` +
95
+ ` (${(0, utility_1.relativizePath)(meta.file)})`);
101
96
  }
102
- obj[prop] = sorted;
103
97
  }
104
98
  //# sourceMappingURL=parse.js.map
package/dist/parse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
package/dist/resolver.js CHANGED
@@ -6,6 +6,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.resolveElements = resolveElements;
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
+ const utility_1 = require("./utility");
9
10
  async function resolveElements(ctx, kind, subkind, standard) {
10
11
  const { log, model, guide } = ctx;
11
12
  // TODO: model access should be via a utility that generates
@@ -53,7 +54,7 @@ async function resolveElement(en, control, target, standard, ctx) {
53
54
  }
54
55
  catch (e) {
55
56
  const err = new Error('Custom element not found: ' +
56
- customtpath + ': ' + e.message);
57
+ (0, utility_1.relativizePath)(customtpath) + ': ' + e.message);
57
58
  log.error({ what: 'element', element: target + ': ' + en, fail: 'require', err });
58
59
  throw err;
59
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Transform } from '../transform';
2
+ declare const argsTransform: Transform;
3
+ export { argsTransform, };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.argsTransform = void 0;
4
+ const jostraca_1 = require("jostraca");
5
+ const utility_1 = require("../utility");
6
+ const types_1 = require("../types");
7
+ const argsTransform = async function (ctx) {
8
+ const { apimodel, def } = ctx;
9
+ const kit = apimodel.main[types_1.KIT];
10
+ let msg = 'args ';
11
+ (0, jostraca_1.each)(kit.entity, (ment, entname) => {
12
+ (0, jostraca_1.each)(ment.op, (mop, opname) => {
13
+ (0, jostraca_1.each)(mop.alts, (malt) => {
14
+ const argdefs = [];
15
+ const pathdef = def.paths[malt.orig];
16
+ argdefs.push(...(pathdef.parameters ?? []));
17
+ const opdef = pathdef[malt.method.toLowerCase()];
18
+ argdefs.push(...(opdef.parameters ?? []));
19
+ resolveArgs(ment, mop, malt, argdefs);
20
+ });
21
+ });
22
+ msg += ment.name + ' ';
23
+ });
24
+ return { ok: true, msg };
25
+ };
26
+ exports.argsTransform = argsTransform;
27
+ const ARG_KIND = {
28
+ 'query': 'query',
29
+ 'header': 'header',
30
+ 'path': 'param',
31
+ 'cookie': 'cookie',
32
+ };
33
+ function resolveArgs(ment, mop, malt, argdefs) {
34
+ (0, jostraca_1.each)(argdefs, (argdef) => {
35
+ const orig = (0, utility_1.depluralize)((0, jostraca_1.snakify)(argdef.name));
36
+ const kind = ARG_KIND[argdef.in] ?? 'query';
37
+ const name = malt.rename[kind]?.[orig] ?? orig;
38
+ const marg = {
39
+ name,
40
+ orig,
41
+ type: (0, utility_1.validator)(argdef.schema?.type),
42
+ kind,
43
+ reqd: !!argdef.required
44
+ };
45
+ if (argdef.nullable) {
46
+ marg.type = ['`$ONE`', '`$NULL`', marg.type];
47
+ }
48
+ // insert sorted by name
49
+ let kindargs = (malt.args[marg.kind] = malt.args[marg.kind] ?? []);
50
+ kindargs.push(marg);
51
+ kindargs.sort((a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0);
52
+ });
53
+ }
54
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/transform/args.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { TransformResult } from '../transform';
2
- declare const cleanTransform: (ctx: any) => Promise<TransformResult>;
1
+ import type { Transform } from '../transform';
2
+ declare const cleanTransform: Transform;
3
3
  export { cleanTransform };
@@ -4,12 +4,37 @@ exports.cleanTransform = void 0;
4
4
  const struct_1 = require("@voxgig/struct");
5
5
  const cleanTransform = async function (ctx) {
6
6
  const { apimodel } = ctx;
7
- (0, struct_1.walk)(apimodel, (k, v) => {
8
- if ('string' === typeof k && k.includes('$')) {
9
- return undefined;
7
+ let cur = [];
8
+ // Remove empty nodes and undefined values. This avoids spurious content in model.
9
+ // NOTE: including ancestors if thus also empty!
10
+ (0, struct_1.walk)(apimodel, (k, v, _p, ancestors) => {
11
+ if (undefined === k) {
12
+ cur[ancestors.length] = (0, struct_1.ismap)(v) ? {} : (0, struct_1.islist)(v) ? [] : v;
13
+ return v;
14
+ }
15
+ let vi = v;
16
+ if ((0, struct_1.isnode)(v)) {
17
+ if ((0, struct_1.isempty)(v)) {
18
+ vi = undefined;
19
+ }
20
+ else {
21
+ vi = cur[ancestors.length] = (0, struct_1.ismap)(v) ? {} : [];
22
+ }
23
+ }
24
+ if (undefined !== vi && !k.endsWith('$')) {
25
+ cur[ancestors.length - 1][k] = vi;
10
26
  }
11
27
  return v;
28
+ }, (k, _v, _p, ancestors) => {
29
+ const pi = cur[ancestors.length - 1];
30
+ if (undefined !== pi) {
31
+ const vi = pi[k];
32
+ if ((0, struct_1.isnode)(vi) && (0, struct_1.isempty)(vi)) {
33
+ delete pi[k];
34
+ }
35
+ }
12
36
  });
37
+ ctx.apimodel = cur[0];
13
38
  return { ok: true, msg: 'clean' };
14
39
  };
15
40
  exports.cleanTransform = cleanTransform;
@@ -1 +1 @@
1
- {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/transform/clean.ts"],"names":[],"mappings":";;;AAKA,2CAAqC;AAIrC,MAAM,cAAc,GAAG,KAAK,WAC1B,GAAQ;IAER,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;IAExB,IAAA,aAAI,EAAC,QAAQ,EAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;QAChC,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;AACnC,CAAC,CAAA;AAIC,wCAAc"}
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,EAAO,EAAE,EAAO,EAAE,SAAc,EAAE,EAAE;QAC3C,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;IACH,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;AAIC,wCAAc"}
@@ -1,3 +1,11 @@
1
1
  import type { Transform } from '../transform';
2
+ import type { GuideEntity } from '../types';
3
+ import type { PathDesc } from '../desc';
2
4
  declare const entityTransform: Transform;
3
- export { entityTransform };
5
+ declare function resolvePathList(guideEntity: GuideEntity, def: {
6
+ paths: Record<string, any>;
7
+ }): PathDesc[];
8
+ declare function buildRelations(guideEntity: any, paths$: PathDesc[]): {
9
+ ancestors: any[];
10
+ };
11
+ export { resolvePathList, buildRelations, entityTransform, };