@voxgig/apidef 1.2.0 → 1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/transform/operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/transform/operation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- import type { TransformCtx, TransformSpec } from '../transform';
2
- declare function topTransform(ctx: TransformCtx, tspec: TransformSpec, model: any, def: any): Promise<{
3
- ok: boolean;
4
- msg: string;
5
- }>;
1
+ import type { TransformCtx, TransformSpec, TransformResult, Guide } from '../transform';
2
+ declare const topTransform: (ctx: TransformCtx, guide: Guide, tspec: TransformSpec, model: any, def: any) => Promise<TransformResult>;
6
3
  export { topTransform };
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.topTransform = topTransform;
4
- async function topTransform(ctx, tspec, model, def) {
3
+ exports.topTransform = void 0;
4
+ const topTransform = async function (ctx, guide, tspec, model, def) {
5
5
  const { spec } = ctx;
6
- // fixName(model.main.api, spec.meta.name)
7
- model.main.def.desc = def.info.description;
8
- return { ok: true, msg: 'top' }; // , msg: spec.meta.name }
9
- }
6
+ model.main.def.info = def.info;
7
+ model.main.def.servers = def.servers;
8
+ return { ok: true, msg: 'top' };
9
+ };
10
+ exports.topTransform = topTransform;
10
11
  //# sourceMappingURL=top.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"top.js","sourceRoot":"","sources":["../../src/transform/top.ts"],"names":[],"mappings":";;AAmBE,oCAAY;AAXd,KAAK,UAAU,YAAY,CAAC,GAAiB,EAAE,KAAoB,EAAE,KAAU,EAAE,GAAQ;IACvF,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;IAEpB,0CAA0C;IAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAA;IAE1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA,CAAC,0BAA0B;AAC5D,CAAC"}
1
+ {"version":3,"file":"top.js","sourceRoot":"","sources":["../../src/transform/top.ts"],"names":[],"mappings":";;;AAQA,MAAM,YAAY,GAAG,KAAK,WACxB,GAAiB,EACjB,KAAY,EACZ,KAAoB,EACpB,KAAU,EACV,GAAQ;IAER,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;IAEpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAEpC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC,CAAA;AAIC,oCAAY"}
@@ -15,14 +15,78 @@ type TransformResult = {
15
15
  err?: any;
16
16
  transform?: any;
17
17
  };
18
- type Transform = (ctx: TransformCtx, tspec: TransformSpec, apimodel: any, def: any) => Promise<TransformResult>;
18
+ type Transform = (ctx: TransformCtx, guide: Guide, tspec: TransformSpec, apimodel: any, def: any) => Promise<TransformResult>;
19
19
  type ProcessResult = {
20
20
  ok: boolean;
21
21
  msg: string;
22
22
  results: TransformResult[];
23
23
  };
24
+ declare const OPKIND: any;
25
+ declare const GuideShape: {
26
+ <V>(root?: V | undefined, ctx?: import("gubu").Context): V & {
27
+ entity: {};
28
+ control: {};
29
+ transform: {};
30
+ };
31
+ valid: <V>(root?: V | undefined, ctx?: import("gubu").Context) => root is V & {
32
+ entity: {};
33
+ control: {};
34
+ transform: {};
35
+ };
36
+ match(root?: any, ctx?: import("gubu").Context): boolean;
37
+ error(root?: any, ctx?: import("gubu").Context): {
38
+ gubu: boolean;
39
+ code: string;
40
+ gname: string;
41
+ props: ({
42
+ path: string;
43
+ type: string;
44
+ value: any;
45
+ }[]);
46
+ desc: () => ({
47
+ name: string;
48
+ code: string;
49
+ err: {
50
+ key: string;
51
+ type: string;
52
+ node: import("gubu").Node<any>;
53
+ value: any;
54
+ path: string;
55
+ why: string;
56
+ check: string;
57
+ args: Record<string, any>;
58
+ mark: number;
59
+ text: string;
60
+ use: any;
61
+ }[];
62
+ ctx: any;
63
+ });
64
+ toJSON(): /*elided*/ any & {
65
+ err: any;
66
+ name: string;
67
+ message: string;
68
+ };
69
+ name: string;
70
+ message: string;
71
+ stack?: string;
72
+ }[];
73
+ spec(): any;
74
+ node(): import("gubu").Node<{
75
+ entity: {};
76
+ control: {};
77
+ transform: {};
78
+ }>;
79
+ stringify(...rest: any[]): string;
80
+ jsonify(): any;
81
+ toString(this: any): string;
82
+ gubu: {
83
+ gubu$: symbol;
84
+ v$: string;
85
+ };
86
+ };
87
+ type Guide = ReturnType<typeof GuideShape>;
24
88
  declare function resolveTransforms(ctx: TransformCtx): Promise<TransformSpec>;
25
89
  declare function processTransforms(ctx: TransformCtx, spec: TransformSpec, apimodel: any, def: any): Promise<ProcessResult>;
26
90
  declare function fixName(base: any, name: string, prop?: string): void;
27
- export type { TransformCtx, TransformSpec, };
28
- export { fixName, resolveTransforms, processTransforms, };
91
+ export type { TransformCtx, TransformSpec, Transform, TransformResult, Guide, };
92
+ export { fixName, OPKIND, GuideShape, resolveTransforms, processTransforms, };
package/dist/transform.js CHANGED
@@ -4,11 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.GuideShape = exports.OPKIND = void 0;
7
8
  exports.fixName = fixName;
8
9
  exports.resolveTransforms = resolveTransforms;
9
10
  exports.processTransforms = processTransforms;
10
11
  const node_path_1 = __importDefault(require("node:path"));
11
12
  const jostraca_1 = require("jostraca");
13
+ const gubu_1 = require("gubu");
12
14
  const top_1 = require("./transform/top");
13
15
  const entity_1 = require("./transform/entity");
14
16
  const operation_1 = require("./transform/operation");
@@ -21,6 +23,32 @@ const TRANSFORM = {
21
23
  field: field_1.fieldTransform,
22
24
  manual: manual_1.manualTransform,
23
25
  };
26
+ const OPKIND = {
27
+ list: 'res',
28
+ load: 'res',
29
+ remove: 'res',
30
+ create: 'req',
31
+ update: 'req',
32
+ };
33
+ exports.OPKIND = OPKIND;
34
+ const GuideShape = (0, gubu_1.Gubu)({
35
+ /*
36
+ entity: Child({
37
+ key$: '',
38
+ name: String,
39
+ path: Child({
40
+ op: Child({
41
+ method: Exact('get', 'post', 'put', 'patch', 'delete'),
42
+ place: ''
43
+ })
44
+ })
45
+ }),
46
+ */
47
+ entity: {},
48
+ control: {},
49
+ transform: {},
50
+ });
51
+ exports.GuideShape = GuideShape;
24
52
  async function resolveTransforms(ctx) {
25
53
  const { log, model: { main: { guide } } } = ctx;
26
54
  // console.dir(api, { depth: null })
@@ -82,10 +110,11 @@ async function processTransforms(ctx, spec, apimodel, def) {
82
110
  msg: '',
83
111
  results: []
84
112
  };
113
+ const guide = GuideShape(ctx.model.main.guide);
85
114
  for (let tI = 0; tI < spec.transform.length; tI++) {
86
115
  const transform = spec.transform[tI];
87
116
  try {
88
- const tres = await transform(ctx, spec, apimodel, def);
117
+ const tres = await transform(ctx, guide, spec, apimodel, def);
89
118
  pres.ok = pres.ok && tres.ok;
90
119
  pres.results.push(tres);
91
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"root":["../src/apidef.ts","../src/transform.ts","../src/transform/entity.ts","../src/transform/field.ts","../src/transform/manual.ts","../src/transform/operation.ts","../src/transform/top.ts"],"version":"5.7.2"}
1
+ {"root":["../src/apidef.ts","../src/parse.ts","../src/transform.ts","../src/transform/entity.ts","../src/transform/field.ts","../src/transform/manual.ts","../src/transform/operation.ts","../src/transform/top.ts"],"version":"5.7.2"}
@@ -33,7 +33,10 @@ main: guide: transform: {
33
33
  main: guide: entity: &: {
34
34
  name: .$KEY
35
35
  path: &: {
36
- op: {}
36
+ op: &: {
37
+ method: *'get' | string
38
+ place: *'' | string
39
+ }
37
40
  }
38
41
  }
39
42
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/apidef",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "main": "dist/apidef.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/apidef.d.ts",
@@ -41,19 +41,19 @@
41
41
  "devDependencies": {
42
42
  "@hapi/code": "^9.0.3",
43
43
  "@types/js-yaml": "^4.0.9",
44
- "@types/node": "22.10.0",
44
+ "@types/node": "22.10.2",
45
45
  "aontu": "^0.25.3",
46
- "esbuild": "^0.24.0",
46
+ "esbuild": "^0.24.1",
47
47
  "json-schema-to-ts": "^3.1.1",
48
- "memfs": "^4.14.0",
48
+ "memfs": "^4.15.0",
49
49
  "typescript": "^5.7.2"
50
50
  },
51
51
  "dependencies": {
52
- "@redocly/openapi-core": "^1.25.14",
53
- "@voxgig/util": "^0.0.7",
54
- "chokidar": "^4.0.1",
55
- "gubu": "^8.3.0",
56
- "jostraca": "^0.10.1",
52
+ "@redocly/openapi-core": "^1.26.1",
53
+ "@voxgig/util": "^0.0.9",
54
+ "chokidar": "^4.0.3",
55
+ "gubu": "^9.0.0",
56
+ "jostraca": "^0.15.1",
57
57
  "pino": "^9.5.0",
58
58
  "pino-pretty": "^13.0.0",
59
59
  "sonic-boom": "^4.2.0"
package/src/apidef.ts CHANGED
@@ -7,7 +7,7 @@ import { inspect } from 'node:util'
7
7
  import { bundleFromString, createConfig } from '@redocly/openapi-core'
8
8
  import { FSWatcher } from 'chokidar'
9
9
  import { Aontu, Context } from 'aontu'
10
-
10
+ import { Gubu, Open, Any } from 'gubu'
11
11
  import { prettyPino, Pino } from '@voxgig/util'
12
12
 
13
13
 
@@ -25,9 +25,40 @@ type ApiDefOptions = {
25
25
  debug?: boolean | string
26
26
  folder?: string
27
27
  meta?: Record<string, any>
28
+ outprefix?: string
28
29
  }
29
30
 
30
31
 
32
+ const ModelShape = Gubu({
33
+ def: String,
34
+ main: {
35
+ guide: {},
36
+ sdk: {},
37
+ def: {},
38
+ api: {},
39
+ }
40
+ })
41
+ const OpenModelShape = Gubu(Open(ModelShape))
42
+
43
+ type Model = ReturnType<typeof ModelShape>
44
+
45
+
46
+ const BuildShape = Gubu({
47
+ spec: {
48
+ base: '',
49
+ path: '',
50
+ debug: '',
51
+ use: {},
52
+ res: [],
53
+ require: '',
54
+ log: {},
55
+ fs: Any()
56
+ }
57
+ })
58
+ const OpenBuildShape = Gubu(Open(BuildShape))
59
+
60
+ type Build = ReturnType<typeof BuildShape>
61
+
31
62
 
32
63
 
33
64
  function ApiDef(opts: ApiDefOptions) {
@@ -40,9 +71,12 @@ function ApiDef(opts: ApiDefOptions) {
40
71
  async function generate(spec: any) {
41
72
  const start = Date.now()
42
73
 
43
- const buildspec = spec.build.spec
74
+ const model: Model = OpenModelShape(spec.model)
75
+ const build: Build = OpenBuildShape(spec.build)
44
76
 
45
- let defpath = spec.model.def
77
+ const buildspec = build.spec
78
+
79
+ let defpath = model.def
46
80
 
47
81
  // TOOD: defpath should be independently defined
48
82
  defpath = Path.join(buildspec.base, '..', 'def', defpath)
@@ -59,7 +93,7 @@ function ApiDef(opts: ApiDefOptions) {
59
93
  opts,
60
94
  util: { fixName },
61
95
  defpath: Path.dirname(defpath),
62
- model: spec.model
96
+ model,
63
97
  }
64
98
 
65
99
  const transformSpec = await resolveTransforms(ctx)
@@ -115,7 +149,7 @@ function ApiDef(opts: ApiDefOptions) {
115
149
  err: processResult.results[0]?.err
116
150
  })
117
151
 
118
- return { ok: false, processResult }
152
+ return { ok: false, name: 'apidef', processResult }
119
153
  }
120
154
 
121
155
  const modelapi = { main: { api: apimodel.main.api } }
@@ -130,7 +164,9 @@ function ApiDef(opts: ApiDefOptions) {
130
164
  writeChanged('api-model', modelPath, modelSrc)
131
165
 
132
166
  const modelBasePath = Path.dirname(modelPath)
133
- const defFilePath = Path.join(modelBasePath, 'def-generated.jsonic')
167
+ const defFilePath =
168
+ Path.join(modelBasePath,
169
+ (null == opts.outprefix ? '' : opts.outprefix) + 'def-generated.jsonic')
134
170
 
135
171
  const modelDef = { main: { def: apimodel.main.def } }
136
172
  let modelDefSrc = JSON.stringify(modelDef, null, 2)
@@ -145,6 +181,7 @@ function ApiDef(opts: ApiDefOptions) {
145
181
 
146
182
  return {
147
183
  ok: true,
184
+ name: 'apidef',
148
185
  apimodel,
149
186
  }
150
187
  }
@@ -191,107 +228,7 @@ function ApiDef(opts: ApiDefOptions) {
191
228
  }
192
229
  }
193
230
 
194
-
195
- /*
196
- async function resolveGuide(spec: any, _opts: any) {
197
- if (null == spec.guide) {
198
- spec.guide = spec.def + '-guide.jsonic'
199
- }
200
-
201
- const path = Path.normalize(spec.guide)
202
- let src: string
203
-
204
- let action = ''
205
- let exists = false
206
- try {
207
-
208
- action = 'exists'
209
- let exists = fs.existsSync(path)
210
-
211
- log.debug({ read: 'file', what: 'guide', file: path, exists })
212
-
213
- if (exists) {
214
- action = 'read'
215
- src = fs.readFileSync(path, 'utf8')
216
- }
217
- else {
218
- src = `
219
- # API Specification Transform Guide
220
-
221
- @"@voxgig/apidef/model/guide.jsonic"
222
-
223
- guide: entity: {
224
-
225
- }
226
-
227
- guide: control: transform: openapi: order: \`
228
- top,
229
- entity,
230
- operation,
231
- field,
232
- manual,
233
- \`
234
-
235
- `
236
- action = 'write'
237
- fs.writeFileSync(path, src)
238
- }
239
- }
240
- catch (err: any) {
241
- log.error({ fail: action, what: 'guide', file: path, exists, err })
242
- throw err
243
- }
244
-
245
- const aopts = { path }
246
- const root = Aontu(src, aopts)
247
- const hasErr = root.err && 0 < root.err.length
248
-
249
- if (hasErr) {
250
- for (let serr of root.err) {
251
- let err: any = new Error('Guide model: ' + serr.msg)
252
- err.cause$ = [serr]
253
-
254
- if ('syntax' === serr.why) {
255
- err.uxmsg$ = true
256
- }
257
-
258
- log.error({ fail: 'parse', point: 'guide-parse', file: path, err })
259
-
260
- if (err.uxmsg$) {
261
- return
262
- }
263
- else {
264
- err.rooterrs$ = root.err
265
- throw err
266
- }
267
- }
268
- }
269
-
270
- let genctx = new Context({ root })
271
- const guide = spec.guideModel = root.gen(genctx)
272
-
273
- // TODO: collect all errors
274
- if (genctx.err && 0 < genctx.err.length) {
275
- const err: any = new Error('Guide build error:\n' +
276
- (genctx.err.map((pe: any) => pe.msg)).join('\n'))
277
- log.error({ fail: 'build', what: 'guide', file: path, err })
278
- err.errs = () => genctx.err
279
- throw err
280
- }
281
-
282
- const pathParts = Path.parse(path)
283
- spec.guideModelPath = Path.join(pathParts.dir, pathParts.name + '.json')
284
-
285
- const updatedSrc = JSON.stringify(guide, null, 2)
286
-
287
- writeChanged('guide-model', spec.guideModelPath, updatedSrc)
288
-
289
- return guide
290
- }
291
- */
292
-
293
231
  return {
294
- // watch,
295
232
  generate,
296
233
  }
297
234
  }
@@ -301,18 +238,17 @@ function ApiDef(opts: ApiDefOptions) {
301
238
  ApiDef.makeBuild = async function(opts: ApiDefOptions) {
302
239
  let apidef: any = undefined
303
240
 
241
+ const outprefix = null == opts.outprefix ? '' : opts.outprefix
242
+
304
243
  const config = {
305
244
  def: opts.def || 'no-def',
306
245
  kind: 'openapi3',
307
- model: opts.folder ? (opts.folder + '/api-generated.jsonic') : 'no-model',
246
+ model: opts.folder ?
247
+ (opts.folder + '/' + outprefix + 'api-generated.jsonic') : 'no-model',
308
248
  meta: opts.meta || {},
309
249
  }
310
250
 
311
251
  const build = async function(model: any, build: any, ctx: any) {
312
- // console.log('APIDEF build')
313
- // console.dir(ctx, { depth: null })
314
- // console.dir(build, { depth: null })
315
-
316
252
 
317
253
  if (null == apidef) {
318
254
  apidef = ApiDef({
@@ -321,7 +257,7 @@ ApiDef.makeBuild = async function(opts: ApiDefOptions) {
321
257
  })
322
258
  }
323
259
 
324
- await apidef.generate({ model, build, config })
260
+ return await apidef.generate({ model, build, config })
325
261
  }
326
262
 
327
263
  build.step = 'pre'
package/src/parse.ts ADDED
@@ -0,0 +1,36 @@
1
+ /* Copyright (c) 2024 Voxgig, MIT License */
2
+
3
+ import { bundleFromString, createConfig } from '@redocly/openapi-core'
4
+
5
+
6
+ async function parse(kind: string, source: any) {
7
+ if ('OpenAPI' === kind) {
8
+ return parseOpenAPI(source)
9
+ }
10
+ else {
11
+ throw new Error('@voxgig/apidef-parse: unknown kind: ' + kind)
12
+ }
13
+ }
14
+
15
+
16
+ async function parseOpenAPI(source: any) {
17
+ const config = await createConfig({})
18
+ let bundle
19
+
20
+ bundle = await bundleFromString({
21
+ source,
22
+ config,
23
+ dereference: true,
24
+ })
25
+
26
+ // console.dir(bundle.bundle, { depth: 1 })
27
+
28
+ const def = bundle.bundle.parsed
29
+
30
+ return def
31
+ }
32
+
33
+
34
+ export {
35
+ parse
36
+ }
@@ -2,21 +2,28 @@
2
2
 
3
3
  import { each } from 'jostraca'
4
4
 
5
- import type { TransformCtx, TransformSpec } from '../transform'
5
+ import type { TransformCtx, TransformSpec, TransformResult, Transform, Guide } from '../transform'
6
6
 
7
7
  import { fixName } from '../transform'
8
8
 
9
9
 
10
-
11
- async function entityTransform(ctx: TransformCtx, tspec: TransformSpec, model: any, def: any) {
12
- const { model: { main: { guide } } } = ctx
10
+ const entityTransform: Transform = async function(
11
+ ctx: TransformCtx,
12
+ guide: Guide,
13
+ tspec: TransformSpec,
14
+ model: any,
15
+ def: any
16
+ ): Promise<TransformResult> {
13
17
  let msg = ''
14
18
 
15
19
  // console.log('DEF', def)
20
+ // console.log('GUIDE', guide)
16
21
 
17
22
  each(guide.entity, (guideEntity: any) => {
23
+ const entityName = guideEntity.key$
24
+ ctx.log.debug({ point: 'guide-entity', note: entityName })
18
25
 
19
- const entityModel: any = model.main.api.entity[guideEntity.key$] = {
26
+ const entityModel: any = model.main.api.entity[entityName] = {
20
27
  op: {},
21
28
  field: {},
22
29
  cmd: {},
@@ -29,14 +36,19 @@ async function entityTransform(ctx: TransformCtx, tspec: TransformSpec, model: a
29
36
  fixName(entityModel, guideEntity.key$)
30
37
 
31
38
  each(guideEntity.path, (guidePath: any) => {
32
- const pathdef = def.paths[guidePath.key$]
39
+ const path = guidePath.key$
40
+ const pathdef = def.paths[path]
41
+
42
+ // console.log('APIDEF FIND PATH', guidePath.key$, Object.keys(def.paths),
43
+ // Object.keys(def.paths).includes(guidePath.key$))
33
44
 
34
45
  if (null == pathdef) {
35
- throw new Error('APIDEF: path not found in OpenAPI: ' + guidePath.key$ +
46
+ throw new Error('path not found in OpenAPI: ' + path +
36
47
  ' (entity: ' + guideEntity.name + ')')
37
48
  }
38
49
 
39
- guidePath.parts$ = guidePath.key$.split('/')
50
+ // TODO: is this needed?
51
+ guidePath.parts$ = path.split('/')
40
52
  guidePath.params$ = guidePath.parts$
41
53
  .filter((p: string) => p.startsWith('{'))
42
54
  .map((p: string) => p.substring(1, p.length - 1))
@@ -44,7 +56,6 @@ async function entityTransform(ctx: TransformCtx, tspec: TransformSpec, model: a
44
56
  })
45
57
 
46
58
  msg += guideEntity.name + ' '
47
-
48
59
  })
49
60
 
50
61
  return { ok: true, msg }
@@ -2,31 +2,35 @@
2
2
 
3
3
  import { each, getx } from 'jostraca'
4
4
 
5
- import type { TransformCtx, TransformSpec } from '../transform'
5
+ import type { TransformCtx, TransformSpec, TransformResult, Transform, Guide } from '../transform'
6
6
 
7
7
  import { fixName } from '../transform'
8
8
 
9
9
 
10
10
 
11
- async function fieldTransform(
11
+ const fieldTransform: Transform = async function(
12
12
  ctx: TransformCtx,
13
+ guide: Guide,
13
14
  tspec: TransformSpec,
14
15
  model: any,
15
16
  def: any
16
- ) {
17
- const { model: { main: { guide } } } = ctx
17
+ ): Promise<TransformResult> {
18
+
18
19
  let msg = 'fields: '
19
20
 
20
21
  each(guide.entity, (guideEntity: any) => {
22
+ const entityName = guideEntity.key$
23
+ const entityModel = model.main.api.entity[entityName]
21
24
 
22
- const entityModel = model.main.api.entity[guideEntity.key$]
23
25
  let fieldCount = 0
24
26
  each(guideEntity.path, (guidePath: any) => {
25
- const pathdef = def.paths[guidePath.key$]
27
+ const path = guidePath.key$
28
+ const pathdef = def.paths[path]
26
29
 
27
30
  each(guidePath.op, (op: any) => {
31
+ const opname = op.key$
28
32
 
29
- if ('load' === op.key$) {
33
+ if ('load' === opname) {
30
34
  fieldCount = fieldbuild(entityModel, pathdef, op, guidePath, guideEntity, model)
31
35
  }
32
36
 
@@ -127,7 +131,7 @@ guide: transform: customField: {
127
131
  guide: entity: {
128
132
  pet: path: {
129
133
  '/pet/{petId}': {
130
- op:{ load: 'get', create: 'post', save: 'put' }
134
+ op:{ load: 'get', create: 'post', update: 'put' }
131
135
  }
132
136
  }
133
137
  pet: test: {