@voxgig/apidef 2.3.1 → 2.4.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 (45) hide show
  1. package/dist/apidef.d.ts +2 -6
  2. package/dist/apidef.js +44 -11
  3. package/dist/apidef.js.map +1 -1
  4. package/dist/builder/flow/flowHeuristic01.js +1 -1
  5. package/dist/builder/flow/flowHeuristic01.js.map +1 -1
  6. package/dist/guide/guide.d.ts +2 -0
  7. package/dist/guide/guide.js +107 -0
  8. package/dist/guide/guide.js.map +1 -0
  9. package/dist/guide/heuristic01.js +149 -218
  10. package/dist/guide/heuristic01.js.map +1 -1
  11. package/dist/resolver.js +2 -2
  12. package/dist/resolver.js.map +1 -1
  13. package/dist/transform/entity.js +1 -2
  14. package/dist/transform/entity.js.map +1 -1
  15. package/dist/transform/field.js +1 -2
  16. package/dist/transform/field.js.map +1 -1
  17. package/dist/transform/operation.js +1 -2
  18. package/dist/transform/operation.js.map +1 -1
  19. package/dist/transform/top.js +0 -1
  20. package/dist/transform/top.js.map +1 -1
  21. package/dist/tsconfig.tsbuildinfo +1 -1
  22. package/dist/types.d.ts +297 -2
  23. package/dist/types.js +12 -1
  24. package/dist/types.js.map +1 -1
  25. package/dist/utility.d.ts +3 -1
  26. package/dist/utility.js +155 -0
  27. package/dist/utility.js.map +1 -1
  28. package/model/apidef.jsonic +1 -50
  29. package/model/guide.jsonic +53 -0
  30. package/package.json +6 -5
  31. package/src/apidef.ts +61 -15
  32. package/src/builder/flow/flowHeuristic01.ts +1 -1
  33. package/src/guide/guide.ts +274 -0
  34. package/src/guide/heuristic01.ts +173 -232
  35. package/src/{guide.ts → guide.ts.off} +8 -5
  36. package/src/resolver.ts +2 -2
  37. package/src/transform/entity.ts +1 -6
  38. package/src/transform/field.ts +1 -6
  39. package/src/transform/operation.ts +1 -2
  40. package/src/transform/top.ts +0 -6
  41. package/src/types.ts +31 -0
  42. package/src/utility.ts +184 -37
  43. package/dist/guide.d.ts +0 -2
  44. package/dist/guide.js +0 -95
  45. package/dist/guide.js.map +0 -1
package/dist/apidef.d.ts CHANGED
@@ -1,11 +1,7 @@
1
- import type { ApiDefOptions, ApiModel } from './types';
1
+ import type { ApiDefOptions, ApiDefResult } from './types';
2
2
  import { parse } from './parse';
3
3
  declare function ApiDef(opts: ApiDefOptions): {
4
- generate: (spec: any) => Promise<{
5
- ok: boolean;
6
- name: string;
7
- apimodel: ApiModel;
8
- }>;
4
+ generate: (spec: any) => Promise<ApiDefResult>;
9
5
  };
10
6
  declare namespace ApiDef {
11
7
  var makeBuild: (opts: ApiDefOptions) => Promise<{
package/dist/apidef.js CHANGED
@@ -44,7 +44,7 @@ const node_path_1 = __importDefault(require("node:path"));
44
44
  const jostraca_1 = require("jostraca");
45
45
  const util_1 = require("@voxgig/util");
46
46
  const types_1 = require("./types");
47
- const guide_1 = require("./guide");
47
+ const guide_1 = require("./guide/guide");
48
48
  const parse_1 = require("./parse");
49
49
  Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_1.parse; } });
50
50
  const transform_1 = require("./transform");
@@ -67,9 +67,15 @@ function ApiDef(opts) {
67
67
  opts.strategy = opts.strategy || 'heuristic01';
68
68
  async function generate(spec) {
69
69
  const start = Date.now();
70
+ const steps = [];
70
71
  // dlog('start')
71
- const model = (0, types_1.OpenModelShape)(spec.model);
72
- const build = (0, types_1.OpenBuildShape)(spec.build);
72
+ const ctrl = (0, types_1.OpenControlShape)(spec.ctrl || {});
73
+ const model = (0, types_1.OpenModelShape)(spec.model || {});
74
+ const build = (0, types_1.OpenBuildShape)(spec.build || {});
75
+ // Step: parse (API spec).
76
+ if (!ctrl.step.parse) {
77
+ return { ok: false, steps, start, end: Date.now(), ctrl };
78
+ }
73
79
  (0, jostraca_1.names)(model, model.name);
74
80
  const apimodel = {
75
81
  main: {
@@ -97,14 +103,27 @@ function ApiDef(opts) {
97
103
  defpath: node_path_1.default.dirname(defpath),
98
104
  model,
99
105
  apimodel,
100
- def: undefined
106
+ guide: {},
107
+ def: undefined,
108
+ note: {}
101
109
  };
102
110
  const defsrc = (0, utility_1.loadFile)(defpath, 'def', fs, log);
103
111
  let def = await (0, parse_1.parse)('OpenAPI', defsrc, { file: defpath });
104
112
  def = (0, parse_1.rewrite)(def);
105
113
  fs.writeFileSync(defpath + '.full.json', JSON.stringify(def, null, 2));
106
114
  ctx.def = def;
107
- const guideBuilder = await (0, guide_1.resolveGuide)(ctx);
115
+ steps.push('parse');
116
+ // Step: guide (derive).
117
+ if (!ctrl.step.guide) {
118
+ return { ok: false, steps, start, end: Date.now(), ctrl };
119
+ }
120
+ const guideModel = await (0, guide_1.buildGuide)(ctx);
121
+ ctx.guide = guideModel.guide;
122
+ steps.push('guide');
123
+ // Step: transformers (transform spec and guide into core structures).
124
+ if (!ctrl.step.transformers) {
125
+ return { ok: false, steps, start, end: Date.now(), ctrl, guide: ctx.guide };
126
+ }
108
127
  // const transformSpec = await resolveTransforms(ctx)
109
128
  const transforms = await (0, resolver_1.resolveElements)(ctx, 'transform', 'openapi', {
110
129
  top: top_1.topTransform,
@@ -113,10 +132,20 @@ function ApiDef(opts) {
113
132
  field: field_1.fieldTransform,
114
133
  clean: clean_1.cleanTransform,
115
134
  });
135
+ steps.push('transformers');
136
+ // Step: builders (build generated sub models).
137
+ if (!ctrl.step.builders) {
138
+ return { ok: false, steps, start, end: Date.now(), ctrl, guide: ctx.guide };
139
+ }
116
140
  const builders = await (0, resolver_1.resolveElements)(ctx, 'builder', 'standard', {
117
141
  entity: entity_2.makeEntityBuilder,
118
142
  flow: flow_1.makeFlowBuilder,
119
143
  });
144
+ steps.push('builders');
145
+ // Step: generate (generate model files).
146
+ if (!ctrl.step.generate) {
147
+ return { ok: false, steps, start, end: Date.now(), ctrl, guide: ctx.guide };
148
+ }
120
149
  const jostraca = (0, jostraca_1.Jostraca)({
121
150
  now: spec.now,
122
151
  fs: () => fs,
@@ -124,9 +153,6 @@ function ApiDef(opts) {
124
153
  });
125
154
  const jmodel = {};
126
155
  const root = () => (0, jostraca_1.Project)({ folder: '.' }, async () => {
127
- guideBuilder();
128
- // entityBuilder()
129
- // flowBuilder()
130
156
  for (let builder of builders) {
131
157
  builder();
132
158
  }
@@ -143,11 +169,18 @@ function ApiDef(opts) {
143
169
  log.debug({ point: 'generate-warning', dlogentry, note: String(dlogentry) });
144
170
  }
145
171
  }
172
+ steps.push('generate');
146
173
  log.info({ point: 'generate-end', note: 'success', break: true });
147
174
  return {
148
175
  ok: true,
149
- name: 'apidef',
176
+ start,
177
+ end: Date.now(),
178
+ steps,
179
+ ctrl,
180
+ guide: ctx.guide,
150
181
  apimodel,
182
+ ctx,
183
+ jres,
151
184
  };
152
185
  }
153
186
  return {
@@ -156,7 +189,6 @@ function ApiDef(opts) {
156
189
  }
157
190
  ApiDef.makeBuild = async function (opts) {
158
191
  let apidef = undefined;
159
- // const outprefix = null == opts.outprefix ? '' : opts.outprefix
160
192
  const config = {
161
193
  def: opts.def || 'no-def',
162
194
  kind: 'openapi3',
@@ -175,7 +207,8 @@ ApiDef.makeBuild = async function (opts) {
175
207
  pino: build.log,
176
208
  });
177
209
  }
178
- return await apidef.generate({ model, build, config });
210
+ const ctrl = build.spec.buildargs?.apidef?.ctrl || {};
211
+ return await apidef.generate({ model, build, config, ctrl });
179
212
  };
180
213
  build.step = 'pre';
181
214
  return build;
@@ -1 +1 @@
1
- {"version":3,"file":"apidef.js","sourceRoot":"","sources":["../src/apidef.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apidef.js","sourceRoot":"","sources":["../src/apidef.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ exports.flowHeuristic01 = flowHeuristic01;
4
4
  const struct_1 = require("@voxgig/struct");
5
5
  const jostraca_1 = require("jostraca");
6
6
  async function flowHeuristic01(ctx) {
7
- let entity = ctx.model.main.api.guide.entity;
7
+ let entity = ctx.guide.entity;
8
8
  const flows = [];
9
9
  (0, jostraca_1.each)(entity, (entity) => {
10
10
  flows.push(resolveBasicEntityFlow(ctx, entity));
@@ -1 +1 @@
1
- {"version":3,"file":"flowHeuristic01.js","sourceRoot":"","sources":["../../../src/builder/flow/flowHeuristic01.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flowHeuristic01.js","sourceRoot":"","sources":["../../../src/builder/flow/flowHeuristic01.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare function buildGuide(ctx: any): Promise<any>;
2
+ export { buildGuide };
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildGuide = buildGuide;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ const jostraca_1 = require("jostraca");
9
+ const aontu_1 = require("aontu");
10
+ const struct_1 = require("@voxgig/struct");
11
+ const heuristic01_1 = require("./heuristic01");
12
+ const utility_1 = require("../utility");
13
+ // Log non-fatal wierdness.
14
+ const dlog = (0, utility_1.getdlog)('apidef', __filename);
15
+ async function buildGuide(ctx) {
16
+ const errs = [];
17
+ // console.log(ctx)
18
+ const folder = node_path_1.default.resolve(ctx.opts.folder);
19
+ // console.log('GUIDE folder', folder)
20
+ try {
21
+ const basejres = await buildBaseGuide(ctx);
22
+ }
23
+ catch (err) {
24
+ errs.push(err);
25
+ }
26
+ handleErrors(ctx, errs);
27
+ let src = '';
28
+ let guidePath = node_path_1.default.join(folder, 'guide', (null == ctx.opts.outprefix ? '' : ctx.opts.outprefix) + 'guide.jsonic');
29
+ try {
30
+ src = ctx.fs.readFileSync(guidePath, 'utf8');
31
+ }
32
+ catch (err) {
33
+ errs.push(err);
34
+ }
35
+ handleErrors(ctx, errs);
36
+ const opts = {
37
+ path: guidePath
38
+ };
39
+ const guideRoot = (0, aontu_1.Aontu)(src, opts);
40
+ errs.push(...guideRoot.err);
41
+ handleErrors(ctx, errs);
42
+ let genctx = new aontu_1.Context({ root: guideRoot });
43
+ const guideModel = guideRoot.gen(genctx);
44
+ errs.push(...genctx.err);
45
+ handleErrors(ctx, errs);
46
+ return guideModel;
47
+ }
48
+ function handleErrors(ctx, errs) {
49
+ if (0 < errs.length) {
50
+ let topmsg = [];
51
+ for (let err of errs) {
52
+ topmsg.push((err?.message?.split('\n')[0]) || '');
53
+ ctx.log.error({ err });
54
+ }
55
+ throw new Error('SUMMARY: ' + topmsg.join('; '));
56
+ }
57
+ }
58
+ async function buildBaseGuide(ctx) {
59
+ let baseguide = {};
60
+ if ('heuristic01' === ctx.opts.strategy) {
61
+ baseguide = await (0, heuristic01_1.heuristic01)(ctx);
62
+ }
63
+ else {
64
+ throw new Error('Unknown guide strategy: ' + ctx.opts.strategy);
65
+ }
66
+ const guideBlocks = [
67
+ '# Guide',
68
+ '',
69
+ 'guide: {',
70
+ ];
71
+ (0, struct_1.items)(baseguide.entity).map(([entityname, entity]) => {
72
+ guideBlocks.push(`
73
+ entity: ${entityname}: {` +
74
+ (0 < entity.why_name.length ? ' # name:' + entity.why_name.join(';') : ''));
75
+ (0, struct_1.items)(entity.path).map(([pathname, path]) => {
76
+ guideBlocks.push(` path: '${pathname}': op: {` +
77
+ (0 < path.why_ent.length ? ' # ent:' + path.why_ent.join(';') : ''));
78
+ (0, struct_1.items)(path.op).map(([opname, op]) => {
79
+ guideBlocks.push(` '${opname}': method: ${op.method}` +
80
+ (0 < op.why_op.length ? ' # ' + op.why_op : ''));
81
+ if (op.transform?.reqform) {
82
+ guideBlocks.push(` '${opname}': transform: reqform: ${JSON.stringify(op.transform.reqform)}`);
83
+ }
84
+ });
85
+ guideBlocks.push(` }`);
86
+ });
87
+ guideBlocks.push(` }`);
88
+ });
89
+ guideBlocks.push('', '}');
90
+ const guideSrc = guideBlocks.join('\n');
91
+ ctx.note.guide = { base: guideSrc };
92
+ const baseGuideFileName = (null == ctx.opts.outprefix ? '' : ctx.opts.outprefix) + 'base-guide.jsonic';
93
+ const jostraca = (0, jostraca_1.Jostraca)({
94
+ folder: ctx.opts.folder + '/guide',
95
+ now: ctx.spec.now,
96
+ fs: () => ctx.fs,
97
+ log: ctx.log,
98
+ });
99
+ const root = () => (0, jostraca_1.Project)({ folder: '.' }, async () => {
100
+ (0, jostraca_1.File)({ name: baseGuideFileName }, () => (0, jostraca_1.Content)(guideSrc));
101
+ });
102
+ const jres = await jostraca.generate({
103
+ existing: { txt: { merge: true } }
104
+ }, root);
105
+ return jres;
106
+ }
107
+ //# sourceMappingURL=guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/guide/guide.ts"],"names":[],"mappings":"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"}