@voxgig/apidef 0.1.4 → 0.3.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/apidef.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- /* Copyright (c) 2024 Richard Rodger, MIT License */
2
+ /* Copyright (c) 2024 Voxgig, MIT License */
3
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
4
  if (k2 === undefined) k2 = k;
5
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -33,28 +33,77 @@ const node_path_1 = __importDefault(require("node:path"));
33
33
  const openapi_core_1 = require("@redocly/openapi-core");
34
34
  const chokidar_1 = require("chokidar");
35
35
  const aontu_1 = require("aontu");
36
- const jostraca_1 = require("jostraca");
36
+ const pino_1 = __importDefault(require("pino"));
37
+ const pino_pretty_1 = __importDefault(require("pino-pretty"));
38
+ const transform_1 = require("./transform");
37
39
  function ApiDef(opts = {}) {
38
40
  const fs = opts.fs || Fs;
41
+ let pino = opts.pino;
42
+ if (null == pino) {
43
+ let pretty = (0, pino_pretty_1.default)({ sync: true });
44
+ const level = null == opts.debug ? 'info' :
45
+ true === opts.debug ? 'debug' :
46
+ 'string' == typeof opts.debug ? opts.debug :
47
+ 'info';
48
+ pino = (0, pino_1.default)({
49
+ name: 'apidef',
50
+ level,
51
+ }, pretty);
52
+ }
53
+ const log = pino.child({ cmp: 'apidef' });
39
54
  async function watch(spec) {
55
+ log.info({ point: 'watch-start' });
56
+ log.debug({ point: 'watch-spec', spec });
40
57
  await generate(spec);
41
58
  const fsw = new chokidar_1.FSWatcher();
42
59
  fsw.on('change', (...args) => {
60
+ log.trace({ watch: 'change', file: args[0] });
43
61
  generate(spec);
44
62
  });
63
+ log.trace({ watch: 'add', what: 'def', file: spec.def });
45
64
  fsw.add(spec.def);
65
+ log.trace({ watch: 'add', what: 'guide', file: spec.guilde });
66
+ fsw.add(spec.guide);
46
67
  }
47
68
  async function generate(spec) {
69
+ const start = Date.now();
70
+ log.info({ point: 'generate-start', start });
71
+ log.debug({ point: 'generate-spec', spec });
72
+ // TODO: Validate spec
73
+ const ctx = {
74
+ log,
75
+ spec,
76
+ guide: {},
77
+ opts,
78
+ util: { fixName: transform_1.fixName },
79
+ defpath: node_path_1.default.dirname(spec.def)
80
+ };
48
81
  const guide = await resolveGuide(spec, opts);
49
- const transform = resolveTranform(spec, guide, opts);
50
- const source = fs.readFileSync(spec.def, 'utf8');
51
- const modelBasePath = node_path_1.default.dirname(spec.model);
82
+ log.debug({ point: 'guide', guide });
83
+ ctx.guide = guide;
84
+ const transformSpec = await (0, transform_1.resolveTransforms)(ctx);
85
+ log.debug({ point: 'transform', spec: transformSpec });
86
+ let source;
87
+ try {
88
+ source = fs.readFileSync(spec.def, 'utf8');
89
+ }
90
+ catch (err) {
91
+ log.error({ read: 'fail', what: 'def', file: spec.def, err });
92
+ throw err;
93
+ }
52
94
  const config = await (0, openapi_core_1.createConfig)({});
53
- const bundle = await (0, openapi_core_1.bundleFromString)({
54
- source,
55
- config,
56
- dereference: true,
57
- });
95
+ let bundle;
96
+ try {
97
+ bundle = await (0, openapi_core_1.bundleFromString)({
98
+ source,
99
+ config,
100
+ dereference: true,
101
+ });
102
+ }
103
+ catch (err) {
104
+ log.error({ parse: 'fail', what: 'openapi', file: spec.def, err });
105
+ throw err;
106
+ }
58
107
  const model = {
59
108
  main: {
60
109
  api: {
@@ -65,71 +114,155 @@ function ApiDef(opts = {}) {
65
114
  };
66
115
  try {
67
116
  const def = bundle.bundle.parsed;
68
- // console.dir(def, { depth: null })
69
- transform(def, model);
117
+ const processResult = await (0, transform_1.processTransforms)(ctx, transformSpec, model, def);
118
+ if (!processResult.ok) {
119
+ log.error({ process: 'fail', what: 'transform', result: processResult });
120
+ throw new Error('Transform failed: ' + processResult.msg);
121
+ }
122
+ else {
123
+ log.debug({ process: 'result', what: 'transform', result: processResult });
124
+ }
70
125
  }
71
126
  catch (err) {
72
- console.log('APIDEF ERROR', err);
127
+ log.error({ process: 'fail', what: 'transform', err });
73
128
  throw err;
74
129
  }
75
130
  const modelapi = { main: { api: model.main.api } };
76
131
  let modelSrc = JSON.stringify(modelapi, null, 2);
77
132
  modelSrc = modelSrc.substring(1, modelSrc.length - 1);
78
- fs.writeFileSync(spec.model, modelSrc);
133
+ writeChanged('api-model', spec.model, modelSrc);
134
+ const modelBasePath = node_path_1.default.dirname(spec.model);
79
135
  const defFilePath = node_path_1.default.join(modelBasePath, 'def.jsonic');
80
136
  const modelDef = { main: { def: model.main.def } };
81
137
  let modelDefSrc = JSON.stringify(modelDef, null, 2);
82
138
  modelDefSrc = modelDefSrc.substring(1, modelDefSrc.length - 1);
83
- fs.writeFileSync(defFilePath, modelDefSrc);
139
+ writeChanged('def-model', defFilePath, modelDefSrc);
140
+ /*
141
+ let existingSrc: string = ''
142
+ if (fs.existsSync(defFilePath)) {
143
+ existingSrc = fs.readFileSync(defFilePath, 'utf8')
144
+ }
145
+
146
+ let writeModelDef = existingSrc !== modelDefSrc
147
+ // console.log('APIDEF', writeModelDef)
148
+
149
+ // Only write the model def if it has changed
150
+ if (writeModelDef) {
151
+ fs.writeFileSync(
152
+ defFilePath,
153
+ modelDefSrc
154
+ )
155
+ }
156
+ */
84
157
  return {
85
158
  ok: true,
86
159
  model,
87
160
  };
88
161
  }
162
+ function writeChanged(what, path, content) {
163
+ let exists = false;
164
+ let changed = false;
165
+ let action = '';
166
+ try {
167
+ let existingContent = '';
168
+ exists = fs.existsSync(path);
169
+ if (exists) {
170
+ action = 'read';
171
+ existingContent = fs.readFileSync(path, 'utf8');
172
+ }
173
+ changed = existingContent !== content;
174
+ log.info({
175
+ write: 'file', what, skip: !changed, exists, changed,
176
+ contentLength: content.length, file: path
177
+ });
178
+ if (changed) {
179
+ action = 'write';
180
+ fs.writeFileSync(path, content);
181
+ }
182
+ }
183
+ catch (err) {
184
+ log.error({
185
+ fail: action, what, file: path, exists, changed,
186
+ contentLength: content.length, err
187
+ });
188
+ throw err;
189
+ }
190
+ }
89
191
  async function resolveGuide(spec, _opts) {
90
192
  if (null == spec.guide) {
91
193
  spec.guide = spec.def + '-guide.jsonic';
92
194
  }
93
195
  const path = node_path_1.default.normalize(spec.guide);
94
196
  let src;
95
- // console.log('APIDEF resolveGuide', path)
96
- if (fs.existsSync(path)) {
97
- src = fs.readFileSync(path, 'utf8');
98
- }
99
- else {
100
- src = `
197
+ let action = '';
198
+ let exists = false;
199
+ try {
200
+ action = 'exists';
201
+ let exists = fs.existsSync(path);
202
+ log.debug({ read: 'file', what: 'guide', file: path, exists });
203
+ if (exists) {
204
+ action = 'read';
205
+ src = fs.readFileSync(path, 'utf8');
206
+ }
207
+ else {
208
+ src = `
101
209
  # API Specification Transform Guide
102
210
 
103
- @"node_modules/@voxgig/apidef/model/guide.jsonic"
211
+ @"@voxgig/apidef/model/guide.jsonic"
104
212
 
105
213
  guide: entity: {
106
214
 
107
215
  }
108
216
 
217
+ guide: control: transform: openapi: order: \`
218
+ top,
219
+ entity,
220
+ operation,
221
+ field,
222
+ manual,
223
+ \`
224
+
109
225
  `;
110
- fs.writeFileSync(path, src);
226
+ action = 'write';
227
+ fs.writeFileSync(path, src);
228
+ }
111
229
  }
112
- const aopts = {};
230
+ catch (err) {
231
+ log.error({ fail: action, what: 'guide', file: path, exists, err });
232
+ throw err;
233
+ }
234
+ const aopts = { path };
113
235
  const root = (0, aontu_1.Aontu)(src, aopts);
114
236
  const hasErr = root.err && 0 < root.err.length;
115
- // TODO: collect all errors
116
237
  if (hasErr) {
117
- // console.log(root.err)
118
- // throw new Error(root.err[0])
119
- throw root.err[0].err;
238
+ const err = new Error('Guide parse error:\n' +
239
+ (root.err.map((pe) => pe.msg)).join('\n'));
240
+ log.error({ fail: 'parse', what: 'guide', file: path, err });
241
+ err.errs = () => root.err;
242
+ throw err;
120
243
  }
121
244
  let genctx = new aontu_1.Context({ root });
122
245
  const guide = spec.guideModel = root.gen(genctx);
123
246
  // TODO: collect all errors
124
247
  if (genctx.err && 0 < genctx.err.length) {
125
- // console.log(genctx.err)
126
- throw new Error(JSON.stringify(genctx.err[0]));
248
+ const err = new Error('Guide build error:\n' +
249
+ (genctx.err.map((pe) => pe.msg)).join('\n'));
250
+ log.error({ fail: 'build', what: 'guide', file: path, err });
251
+ err.errs = () => genctx.err;
252
+ throw err;
127
253
  }
128
- // console.log('GUIDE')
129
- // console.dir(guide, { depth: null })
130
254
  const pathParts = node_path_1.default.parse(path);
131
255
  spec.guideModelPath = node_path_1.default.join(pathParts.dir, pathParts.name + '.json');
132
- fs.writeFileSync(spec.guideModelPath, JSON.stringify(guide, null, 2));
256
+ const updatedSrc = JSON.stringify(guide, null, 2);
257
+ writeChanged('guide-model', spec.guideModelPath, updatedSrc);
258
+ // console.log('APIDEF resolveGuide write', spec.guideModelPath, src !== updatedSrc)
259
+ // let existingSrc = ''
260
+ // if (fs.existsSync(spec.guideModelPath)) {
261
+ // existingSrc = fs.readFileSync(spec.guideModelPath, 'utf8')
262
+ // }
263
+ // if (existingSrc !== updatedSrc) {
264
+ // fs.writeFileSync(spec.guideModelPath, updatedSrc)
265
+ // }
133
266
  return guide;
134
267
  }
135
268
  return {
@@ -137,133 +270,4 @@ guide: entity: {
137
270
  generate,
138
271
  };
139
272
  }
140
- function resolveTranform(spec, guide, opts) {
141
- return makeOpenAPITransform(spec, guide, opts);
142
- }
143
- function extractFields(properties) {
144
- const fieldMap = (0, jostraca_1.each)(properties)
145
- .reduce((a, p) => (a[p.key$] =
146
- { name: p.key$, kind: (0, jostraca_1.camelify)(p.type) }, a), {});
147
- return fieldMap;
148
- }
149
- function fixName(base, name, prop = 'name') {
150
- base[prop.toLowerCase()] = name.toLowerCase();
151
- base[(0, jostraca_1.camelify)(prop)] = (0, jostraca_1.camelify)(name);
152
- base[prop.toUpperCase()] = name.toUpperCase();
153
- }
154
- function makeOpenAPITransform(spec, guideModel, opts) {
155
- const paramBuilder = (paramMap, paramDef, entityModel, pathdef, op, path, entity, model) => {
156
- paramMap[paramDef.name] = {
157
- required: paramDef.required
158
- };
159
- fixName(paramMap[paramDef.name], paramDef.name);
160
- const type = paramDef.schema ? paramDef.schema.type : paramDef.type;
161
- fixName(paramMap[paramDef.name], type, 'type');
162
- };
163
- const queryBuilder = (queryMap, queryDef, entityModel, pathdef, op, path, entity, model) => {
164
- queryMap[queryDef.name] = {
165
- required: queryDef.required
166
- };
167
- fixName(queryMap[queryDef.name], queryDef.name);
168
- const type = queryDef.schema ? queryDef.schema.type : queryDef.type;
169
- fixName(queryMap[queryDef.name], type, 'type');
170
- };
171
- const opBuilder = {
172
- any: (entityModel, pathdef, op, path, entity, model) => {
173
- const em = entityModel.op[op.key$] = {
174
- path: path.key$,
175
- method: op.val$,
176
- param: {},
177
- query: {},
178
- };
179
- fixName(em, op.key$);
180
- // Params are in the path
181
- if (0 < path.params.length) {
182
- let params = (0, jostraca_1.getx)(pathdef[op.val$], 'parameters?in=path') || [];
183
- if (Array.isArray(params)) {
184
- params.reduce((a, p) => (paramBuilder(a, p, entityModel, pathdef, op, path, entity, model), a), em.param);
185
- }
186
- }
187
- // Queries are after the ?
188
- let queries = (0, jostraca_1.getx)(pathdef[op.val$], 'parameters?in!=path') || [];
189
- if (Array.isArray(queries)) {
190
- queries.reduce((a, p) => (queryBuilder(a, p, entityModel, pathdef, op, path, entity, model), a), em.query);
191
- }
192
- return em;
193
- },
194
- list: (entityModel, pathdef, op, path, entity, model) => {
195
- return opBuilder.any(entityModel, pathdef, op, path, entity, model);
196
- },
197
- load: (entityModel, pathdef, op, path, entity, model) => {
198
- return opBuilder.any(entityModel, pathdef, op, path, entity, model);
199
- },
200
- create: (entityModel, pathdef, op, path, entity, model) => {
201
- return opBuilder.any(entityModel, pathdef, op, path, entity, model);
202
- },
203
- save: (entityModel, pathdef, op, path, entity, model) => {
204
- return opBuilder.any(entityModel, pathdef, op, path, entity, model);
205
- },
206
- remove: (entityModel, pathdef, op, path, entity, model) => {
207
- return opBuilder.any(entityModel, pathdef, op, path, entity, model);
208
- },
209
- };
210
- function fieldbuild(entityModel, pathdef, op, path, entity, model) {
211
- // console.log(pathdef)
212
- let fieldSets = (0, jostraca_1.getx)(pathdef.get, 'responses 200 content "application/json" schema');
213
- if (fieldSets) {
214
- if (Array.isArray(fieldSets.allOf)) {
215
- fieldSets = fieldSets.allOf;
216
- }
217
- else if (fieldSets.properties) {
218
- fieldSets = [fieldSets];
219
- }
220
- }
221
- (0, jostraca_1.each)(fieldSets, (fieldSet) => {
222
- (0, jostraca_1.each)(fieldSet.properties, (property) => {
223
- // console.log(property)
224
- const field = (entityModel.field[property.key$] = entityModel.field[property.key$] || {});
225
- field.name = property.key$;
226
- fixName(field, field.name);
227
- field.type = property.type;
228
- fixName(field, field.type, 'type');
229
- field.short = property.description;
230
- });
231
- });
232
- }
233
- return function OpenAPITransform(def, model) {
234
- fixName(model.main.api, spec.meta.name);
235
- // console.log('OpenAPITransform', guideModel)
236
- model.main.def.desc = def.info.description;
237
- (0, jostraca_1.each)(guideModel.guide.entity, (entity) => {
238
- // console.log('ENTITY', entity)
239
- const entityModel = model.main.api.entity[entity.key$] = {
240
- op: {},
241
- field: {},
242
- cmd: {},
243
- };
244
- fixName(entityModel, entity.key$);
245
- (0, jostraca_1.each)(entity.path, (path) => {
246
- const pathdef = def.paths[path.key$];
247
- if (null == pathdef) {
248
- throw new Error('APIDEF: path not found in OpenAPI: ' + path.key$ +
249
- ' (entity: ' + entity.name + ')');
250
- }
251
- path.parts = path.key$.split('/');
252
- path.params = path.parts
253
- .filter((p) => p.startsWith('{'))
254
- .map((p) => p.substring(1, p.length - 1));
255
- // console.log('ENTITY-PATH', entity, path)
256
- (0, jostraca_1.each)(path.op, (op) => {
257
- const opbuild = opBuilder[op.key$];
258
- if (opbuild) {
259
- opbuild(entityModel, pathdef, op, path, entity, model);
260
- }
261
- if ('load' === op.key$) {
262
- fieldbuild(entityModel, pathdef, op, path, entity, model);
263
- }
264
- });
265
- });
266
- });
267
- };
268
- }
269
273
  //# sourceMappingURL=apidef.js.map
@@ -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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"}
@@ -0,0 +1,6 @@
1
+ import type { TransformCtx, TransformSpec } from '../transform';
2
+ declare function entityTransform(ctx: TransformCtx, tspec: TransformSpec, model: any, def: any): Promise<{
3
+ ok: boolean;
4
+ msg: string;
5
+ }>;
6
+ export { entityTransform };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.entityTransform = entityTransform;
4
+ const jostraca_1 = require("jostraca");
5
+ const transform_1 = require("../transform");
6
+ async function entityTransform(ctx, tspec, model, def) {
7
+ const { guide: { guide } } = ctx;
8
+ let msg = '';
9
+ (0, jostraca_1.each)(guide.entity, (guideEntity) => {
10
+ const entityModel = model.main.api.entity[guideEntity.key$] = {
11
+ op: {},
12
+ field: {},
13
+ cmd: {},
14
+ id: {
15
+ name: 'id',
16
+ field: 'id',
17
+ }
18
+ };
19
+ (0, transform_1.fixName)(entityModel, guideEntity.key$);
20
+ (0, jostraca_1.each)(guideEntity.path, (guidePath) => {
21
+ const pathdef = def.paths[guidePath.key$];
22
+ if (null == pathdef) {
23
+ throw new Error('APIDEF: path not found in OpenAPI: ' + guidePath.key$ +
24
+ ' (entity: ' + guideEntity.name + ')');
25
+ }
26
+ guidePath.parts$ = guidePath.key$.split('/');
27
+ guidePath.params$ = guidePath.parts$
28
+ .filter((p) => p.startsWith('{'))
29
+ .map((p) => p.substring(1, p.length - 1));
30
+ });
31
+ msg += guideEntity.name + ' ';
32
+ });
33
+ return { ok: true, msg };
34
+ }
35
+ //# sourceMappingURL=entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/transform/entity.ts"],"names":[],"mappings":";;AAoDE,0CAAe;AAlDjB,uCAA+B;AAI/B,4CAAsC;AAItC,KAAK,UAAU,eAAe,CAAC,GAAiB,EAAE,KAAoB,EAAE,KAAU,EAAE,GAAQ;IAC1F,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,CAAA;IAChC,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,IAAA,eAAI,EAAC,KAAK,CAAC,MAAM,EAAE,CAAC,WAAgB,EAAE,EAAE;QAEtC,MAAM,WAAW,GAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG;YACjE,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,EAAE,EAAE;gBACF,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;aACZ;SACF,CAAA;QAED,IAAA,mBAAO,EAAC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;QAEtC,IAAA,eAAI,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,SAAc,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAEzC,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,SAAS,CAAC,IAAI;oBACpE,YAAY,GAAG,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;YAC1C,CAAC;YAED,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC5C,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM;iBACjC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBACxC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QAErD,CAAC,CAAC,CAAA;QAEF,GAAG,IAAI,WAAW,CAAC,IAAI,GAAG,GAAG,CAAA;IAE/B,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;AAC1B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { TransformCtx, TransformSpec } from '../transform';
2
+ declare function fieldTransform(ctx: TransformCtx, tspec: TransformSpec, model: any, def: any): Promise<{
3
+ ok: boolean;
4
+ msg: string;
5
+ }>;
6
+ export { fieldTransform };
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fieldTransform = fieldTransform;
4
+ const jostraca_1 = require("jostraca");
5
+ const transform_1 = require("../transform");
6
+ async function fieldTransform(ctx, tspec, model, def) {
7
+ const { guide: { guide } } = ctx;
8
+ let msg = 'fields: ';
9
+ (0, jostraca_1.each)(guide.entity, (guideEntity) => {
10
+ const entityModel = model.main.api.entity[guideEntity.key$];
11
+ let fieldCount = 0;
12
+ (0, jostraca_1.each)(guideEntity.path, (guidePath) => {
13
+ const pathdef = def.paths[guidePath.key$];
14
+ (0, jostraca_1.each)(guidePath.op, (op) => {
15
+ if ('load' === op.key$) {
16
+ fieldCount = fieldbuild(entityModel, pathdef, op, guidePath, guideEntity, model);
17
+ }
18
+ });
19
+ });
20
+ msg += guideEntity.name + '=' + fieldCount + ' ';
21
+ });
22
+ return { ok: true, msg };
23
+ }
24
+ function fieldbuild(entityModel, pathdef, op, path, entity, model) {
25
+ // console.log('FB-A', op, pathdef)
26
+ let fieldCount = 0;
27
+ let fieldSets = (0, jostraca_1.getx)(pathdef.get, 'responses 200 content "application/json" schema');
28
+ if (fieldSets) {
29
+ if (Array.isArray(fieldSets.allOf)) {
30
+ fieldSets = fieldSets.allOf;
31
+ }
32
+ else if (fieldSets.properties) {
33
+ fieldSets = [fieldSets];
34
+ }
35
+ }
36
+ // console.log('TRANSFORM-FIELDSETS', fieldSets)
37
+ (0, jostraca_1.each)(fieldSets, (fieldSet) => {
38
+ (0, jostraca_1.each)(fieldSet.properties, (property) => {
39
+ // console.log(property)
40
+ const field = (entityModel.field[property.key$] = entityModel.field[property.key$] || {});
41
+ field.name = property.key$;
42
+ (0, transform_1.fixName)(field, field.name);
43
+ field.type = property.type;
44
+ (0, transform_1.fixName)(field, field.type, 'type');
45
+ field.short = property.description;
46
+ fieldCount++;
47
+ // console.log('FB-ID', field.name, entityModel.param)
48
+ });
49
+ });
50
+ // Guess id field name using GET path param
51
+ if ('load' === op.key$) {
52
+ const getdef = pathdef.get;
53
+ const getparams = getdef.parameters || [];
54
+ if (1 === getparams.length) {
55
+ if (entityModel.op.load.path.match(RegExp('\\{' + getdef.parameters[0].name + '\\}$'))) {
56
+ entityModel.id.field = getdef.parameters[0].name;
57
+ }
58
+ }
59
+ }
60
+ return fieldCount;
61
+ }
62
+ /*
63
+
64
+ # API Specification Transform Guide
65
+
66
+
67
+ @"@voxgig/apidef/model/guide.jsonic"
68
+
69
+
70
+ guide: control: transform: openapi: order: `
71
+
72
+ top,
73
+ entity,
74
+ operation,
75
+ field,
76
+ customField,
77
+
78
+ `
79
+
80
+ guide: transform: customField: {
81
+ load: 'customField.js'
82
+ }
83
+
84
+
85
+ guide: entity: {
86
+ pet: path: {
87
+ '/pet/{petId}': {
88
+ op:{ load: 'get', create: 'post', save: 'put' }
89
+ }
90
+ }
91
+ pet: test: {
92
+ quick: {
93
+ active: true,
94
+ create: { id: 1, name:'Rex' },
95
+ load: { id: 1 },
96
+ }
97
+ }
98
+
99
+ # direct custom definition
100
+ pet: def: {}
101
+ }
102
+
103
+
104
+
105
+
106
+ const { each, getx } = require('jostraca')
107
+
108
+
109
+ async function customField(ctx, tspec, model, def) {
110
+ const { spec, util: {fixName} } = ctx
111
+
112
+ const nameField = {
113
+ name: 'name',
114
+ type: 'string',
115
+ short: 'Name of pet'
116
+ }
117
+ fixName(nameField, nameField.name)
118
+ fixName(nameField, nameField.type, 'type')
119
+
120
+ const ageField = {
121
+ name: 'age',
122
+ type: 'number',
123
+ short: 'Age of pet'
124
+ }
125
+ fixName(ageField, ageField.name)
126
+ fixName(ageField, ageField.type, 'type')
127
+
128
+
129
+ Object.assign(model.main.api.entity.pet.field, {
130
+ name: nameField,
131
+ age: ageField,
132
+ })
133
+
134
+ return { ok: true }
135
+ }
136
+
137
+
138
+ module.exports = {
139
+ customField
140
+ }
141
+
142
+
143
+ */
144
+ //# sourceMappingURL=field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/transform/field.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { TransformCtx, TransformSpec } from '../transform';
2
+ declare function fieldTransform(ctx: TransformCtx, tspec: TransformSpec, model: any, def: any): Promise<{
3
+ ok: boolean;
4
+ }>;
5
+ export { fieldTransform };