@voxgig/apidef 3.0.2 → 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 (74) hide show
  1. package/dist/apidef.d.ts +5 -4
  2. package/dist/apidef.js +12 -21
  3. package/dist/apidef.js.map +1 -1
  4. package/dist/builder/entity/info.js +1 -1
  5. package/dist/builder/entity/info.js.map +1 -1
  6. package/dist/builder/flow.js +29 -27
  7. package/dist/builder/flow.js.map +1 -1
  8. package/dist/desc.d.ts +11 -13
  9. package/dist/guide/guide.js +1 -1
  10. package/dist/guide/guide.js.map +1 -1
  11. package/dist/guide/heuristic01.js +4 -2
  12. package/dist/guide/heuristic01.js.map +1 -1
  13. package/dist/model.d.ts +42 -7
  14. package/dist/parse.d.ts +3 -1
  15. package/dist/parse.js +35 -2
  16. package/dist/parse.js.map +1 -1
  17. package/dist/resolver.js +2 -1
  18. package/dist/resolver.js.map +1 -1
  19. package/dist/transform/args.d.ts +2 -2
  20. package/dist/transform/args.js +9 -13
  21. package/dist/transform/args.js.map +1 -1
  22. package/dist/transform/clean.d.ts +2 -2
  23. package/dist/transform/clean.js +2 -1
  24. package/dist/transform/clean.js.map +1 -1
  25. package/dist/transform/entity.d.ts +3 -3
  26. package/dist/transform/entity.js.map +1 -1
  27. package/dist/transform/field.d.ts +2 -2
  28. package/dist/transform/field.js +2 -3
  29. package/dist/transform/field.js.map +1 -1
  30. package/dist/transform/flow.d.ts +3 -0
  31. package/dist/transform/flow.js +26 -0
  32. package/dist/transform/flow.js.map +1 -0
  33. package/dist/transform/flowstep.d.ts +3 -0
  34. package/dist/transform/flowstep.js +145 -0
  35. package/dist/transform/flowstep.js.map +1 -0
  36. package/dist/transform/operation.d.ts +2 -2
  37. package/dist/transform/operation.js +15 -8
  38. package/dist/transform/operation.js.map +1 -1
  39. package/dist/transform/select.d.ts +2 -2
  40. package/dist/transform/select.js +28 -7
  41. package/dist/transform/select.js.map +1 -1
  42. package/dist/transform/top.d.ts +0 -9
  43. package/dist/transform/top.js +13 -0
  44. package/dist/transform/top.js.map +1 -1
  45. package/dist/transform.d.ts +1 -1
  46. package/dist/tsconfig.tsbuildinfo +1 -1
  47. package/dist/types.d.ts +9 -1
  48. package/dist/types.js.map +1 -1
  49. package/dist/utility.d.ts +5 -1
  50. package/dist/utility.js +64 -1
  51. package/dist/utility.js.map +1 -1
  52. package/model/apidef.jsonic +8 -7
  53. package/package.json +7 -7
  54. package/src/apidef.ts +15 -22
  55. package/src/builder/entity/info.ts +1 -1
  56. package/src/builder/flow.ts +16 -9
  57. package/src/desc.ts +28 -17
  58. package/src/guide/guide.ts +2 -1
  59. package/src/guide/heuristic01.ts +5 -3
  60. package/src/model.ts +51 -6
  61. package/src/parse.ts +50 -3
  62. package/src/resolver.ts +3 -1
  63. package/src/transform/args.ts +11 -15
  64. package/src/transform/clean.ts +4 -5
  65. package/src/transform/entity.ts +4 -7
  66. package/src/transform/field.ts +7 -25
  67. package/src/transform/flow.ts +59 -0
  68. package/src/transform/flowstep.ts +242 -0
  69. package/src/transform/operation.ts +27 -31
  70. package/src/transform/select.ts +44 -15
  71. package/src/transform/top.ts +11 -42
  72. package/src/transform.ts +4 -4
  73. package/src/types.ts +2 -6
  74. package/src/utility.ts +87 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ main: kit: entity: &: {
41
41
  active: *true
42
42
  kind: string
43
43
  name: string
44
- req: boolean
44
+ reqd: boolean
45
45
  type: top
46
46
  } ]
47
47
  }
@@ -67,12 +67,13 @@ main: kit: flow: &: {
67
67
 
68
68
  param: {}
69
69
 
70
- setp: [ &: {
70
+ step: [ &: {
71
71
  active: *true
72
- name: string
73
- kind: string
74
- action: string
75
- match: top
76
- valid: top
72
+ op: string
73
+ match: {}
74
+ data: {}
75
+ input: {}
76
+ spec: []
77
+ valid: []
77
78
  } ]
78
79
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/apidef",
3
- "version": "3.0.2",
3
+ "version": "3.1.0",
4
4
  "main": "dist/apidef.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/apidef.d.ts",
@@ -42,25 +42,25 @@
42
42
  "devDependencies": {
43
43
  "@hapi/code": "^9.0.3",
44
44
  "@types/js-yaml": "^4.0.9",
45
- "@types/node": "25.0.2",
45
+ "@types/node": "25.2.3",
46
46
  "json-schema-to-ts": "^3.1.1",
47
47
  "typescript": "^5.9.3"
48
48
  },
49
49
  "peerDependencies": {
50
- "aontu": ">=0.33.2",
51
- "memfs": ">=4.51.1"
50
+ "aontu": ">=0.35.2",
51
+ "memfs": ">=4.56.10"
52
52
  },
53
53
  "dependencies": {
54
- "@redocly/openapi-core": "1.34.5",
54
+ "@redocly/openapi-core": "1.34.6",
55
55
  "@voxgig/struct": "^0.0.9",
56
56
  "@voxgig/util": "^0.2.1",
57
57
  "chokidar": "^5.0.0",
58
58
  "decircular": "^1.0.0",
59
- "diff": "^8.0.2",
59
+ "diff": "^8.0.3",
60
60
  "gubu": "^9.0.0",
61
61
  "jostraca": "^0.25.1",
62
62
  "ordu": "^4.1.1",
63
- "pino": "^10.1.0",
63
+ "pino": "^10.3.1",
64
64
  "pino-pretty": "^13.1.3"
65
65
  }
66
66
  }
package/src/apidef.ts CHANGED
@@ -55,11 +55,14 @@ import {
55
55
  } from './resolver'
56
56
 
57
57
  import {
58
+ nom,
58
59
  loadFile,
59
60
  getdlog,
60
61
  makeWarner,
61
62
  formatJSONIC,
62
63
  writeFileSyncWarn,
64
+ relativizePath,
65
+ getModelPath,
63
66
  } from './utility'
64
67
 
65
68
 
@@ -69,6 +72,8 @@ import { operationTransform } from './transform/operation'
69
72
  import { argsTransform } from './transform/args'
70
73
  import { selectTransform } from './transform/select'
71
74
  import { fieldTransform } from './transform/field'
75
+ import { flowTransform } from './transform/flow'
76
+ import { flowstepTransform } from './transform/flowstep'
72
77
  import { cleanTransform } from './transform/clean'
73
78
 
74
79
  import { makeEntityBuilder } from './builder/entity'
@@ -111,13 +116,11 @@ function ApiDef(opts: ApiDefOptions) {
111
116
 
112
117
  const apimodel: ApiModel = {
113
118
  main: {
114
- api: {},
115
119
  [KIT]: {
116
120
  info: {},
117
121
  entity: {},
118
122
  flow: {},
119
123
  },
120
- def: {},
121
124
  },
122
125
  }
123
126
 
@@ -130,7 +133,7 @@ function ApiDef(opts: ApiDefOptions) {
130
133
 
131
134
  log.info({
132
135
  point: 'generate-start',
133
- note: defpath.replace(process.cwd(), '.'),
136
+ note: relativizePath(defpath),
134
137
  defpath,
135
138
  start
136
139
  })
@@ -209,32 +212,16 @@ function ApiDef(opts: ApiDefOptions) {
209
212
  return { ok: true, steps, start, end: Date.now(), ctrl, guide: ctx.guide }
210
213
  }
211
214
 
212
-
213
- /*
214
- const transres = await resolveElements(ctx, 'transform', 'openapi', {
215
- top: topTransform,
216
- entity: entityTransform,
217
- operation: operationTransform,
218
- args: argsTransform,
219
- field: fieldTransform,
220
- clean: cleanTransform,
221
- })
222
- */
223
-
224
- // const transformResult = await runTransform(ctx)
225
- // if (null == transformResult) {
226
- // throw new Error('Unable to run Transform.')
227
- // }
228
-
229
215
  await topTransform(ctx)
230
216
  await entityTransform(ctx)
231
217
  await operationTransform(ctx)
232
218
  await argsTransform(ctx)
233
219
  await selectTransform(ctx)
234
220
  await fieldTransform(ctx)
221
+ await flowTransform(ctx)
222
+ await flowstepTransform(ctx)
235
223
  await cleanTransform(ctx)
236
224
 
237
-
238
225
  steps.push('transformers')
239
226
 
240
227
  // Step: builders (build generated sub models).
@@ -355,7 +342,7 @@ ApiDef.makeBuild = async function(opts: ApiDefOptions) {
355
342
  meta: opts.meta || {},
356
343
  }
357
344
 
358
- const build = async function(model: any, build: any, ctx: any) {
345
+ const build = async function(model: any, build: any, _ctx: any) {
359
346
 
360
347
  if (null == apidef) {
361
348
  apidef = ApiDef({
@@ -420,11 +407,17 @@ export type {
420
407
  ModelAlt,
421
408
  ModelOp,
422
409
  ModelEntity,
410
+ Model,
411
+ ModelEntityFlow,
412
+ ModelEntityFlowStep,
423
413
  } from './model'
424
414
 
425
415
 
426
416
  export {
417
+ KIT,
427
418
  ApiDef,
428
419
  parse,
429
420
  formatJSONIC,
421
+ getModelPath,
422
+ nom,
430
423
  }
@@ -31,7 +31,7 @@ function resolveInfo(
31
31
  const infoFile =
32
32
  (null == opts.outprefix ? '' : opts.outprefix) + 'api-info.jsonic'
33
33
 
34
- const modelInfo = { main: { info: kit.info } }
34
+ const modelInfo = { main: { kit: { info: kit.info } } }
35
35
 
36
36
  let modelDefSrc = formatJSONIC(modelInfo)
37
37
 
@@ -14,6 +14,7 @@ import {
14
14
 
15
15
 
16
16
  import {
17
+ nom,
17
18
  formatJsonSrc,
18
19
  } from '../utility'
19
20
 
@@ -22,7 +23,10 @@ import { flowHeuristic01 } from './flow/flowHeuristic01'
22
23
 
23
24
 
24
25
  async function makeFlowBuilder(ctx: ApiDefContext): Promise<Function> {
25
- let flows: any[] = []
26
+ const { apimodel, opts } = ctx
27
+
28
+ const flows = apimodel.main[KIT].flow
29
+
26
30
  let flowBuilder = () => {
27
31
  ctx.warn({
28
32
  step: 'flow',
@@ -30,6 +34,7 @@ async function makeFlowBuilder(ctx: ApiDefContext): Promise<Function> {
30
34
  })
31
35
  }
32
36
 
37
+ /*
33
38
  if ('heuristic01' === ctx.opts.strategy) {
34
39
  try {
35
40
  flows = await flowHeuristic01(ctx)
@@ -52,7 +57,7 @@ async function makeFlowBuilder(ctx: ApiDefContext): Promise<Function> {
52
57
  })
53
58
  return flowBuilder
54
59
  }
55
-
60
+ */
56
61
 
57
62
  flowBuilder = () => {
58
63
 
@@ -65,13 +70,13 @@ async function makeFlowBuilder(ctx: ApiDefContext): Promise<Function> {
65
70
  let flowfile =
66
71
  Path.join(ctx.opts.folder, 'flow',
67
72
  (null == ctx.opts.outprefix ? '' : ctx.opts.outprefix) +
68
- flow.Name + '.jsonic')
73
+ flow.name + '.jsonic')
69
74
 
70
- let flowModelSrc = formatJsonSrc(JSON.stringify(flow.model, null, 2))
75
+ let flowModelSrc = formatJsonSrc(JSON.stringify(flow, null, 2))
71
76
 
72
- let flowsrc = `# ${flow.Name}
77
+ let flowsrc = `# ${nom(flow, 'Name')}
73
78
 
74
- main: ${KIT}: flow: ${flow.Name}:
79
+ main: ${KIT}: flow: ${flow.name}:
75
80
  ` + flowModelSrc
76
81
 
77
82
  barrel.push(`@"${Path.basename(flowfile)}"`)
@@ -79,9 +84,11 @@ main: ${KIT}: flow: ${flow.Name}:
79
84
  File({ name: Path.basename(flowfile) }, () => Content(flowsrc))
80
85
  })
81
86
 
82
- File({
83
- name: (null == ctx.opts.outprefix ? '' : ctx.opts.outprefix) + 'flow-index.jsonic'
84
- }, () => Content(barrel.join('\n')))
87
+ const barrelFile = (null == ctx.opts.outprefix ? '' : ctx.opts.outprefix) + 'flow-index.jsonic'
88
+
89
+ const barrelContent = barrel.join('\n')
90
+
91
+ File({ name: barrelFile }, () => Content(barrelContent))
85
92
  })
86
93
  }
87
94
 
package/src/desc.ts CHANGED
@@ -7,19 +7,20 @@ import type { MethodName } from './types'
7
7
  import type { ParameterDef } from './def'
8
8
 
9
9
 
10
- // Intermediate Guide types used during analysis
11
- type GuidePathRename = {
12
- param?: Record<string, string>
13
- }
14
10
 
15
- type GuideOp = {
16
- method: MethodName
17
- }
11
+ // // Intermediate Guide types used during analysis
12
+ // type GuidePathRename = {
13
+ // param?: Record<string, string>
14
+ // }
18
15
 
19
- type GuidePath = {
20
- rename?: GuidePathRename
21
- op?: Record<string, GuideOp>
22
- }
16
+ // type GuideOp = {
17
+ // method: MethodName
18
+ // }
19
+
20
+ // type GuidePath = {
21
+ // rename?: GuidePathRename
22
+ // op?: Record<string, GuideOp>
23
+ // }
23
24
 
24
25
 
25
26
  // Component analysis description
@@ -114,8 +115,18 @@ type PathDesc = {
114
115
  orig: string
115
116
  method: MethodName
116
117
  parts: string[]
117
- rename: GuidePathRename
118
- op: GuidePath["op"]
118
+ // rename: GuidePathRename
119
+ rename: {
120
+ param?: Record<string, any>
121
+ }
122
+ // op: GuidePath["op"]
123
+ op: Record<string, {
124
+ method: any
125
+ transform: {
126
+ req?: any
127
+ res?: any
128
+ }
129
+ }>
119
130
  def: {
120
131
  parameters?: ParameterDef[]
121
132
  }
@@ -129,9 +140,9 @@ type OpDesc = {
129
140
 
130
141
 
131
142
  export type {
132
- GuidePathRename,
133
- GuideOp,
134
- GuidePath,
143
+ // GuidePathRename,
144
+ // GuideOp,
145
+ // GuidePath,
135
146
  CmpDesc,
136
147
  BasicMethodDesc,
137
148
  MethodDesc,
@@ -140,4 +151,4 @@ export type {
140
151
  EntityPathDesc,
141
152
  PathDesc,
142
153
  OpDesc,
143
- }
154
+ }
@@ -31,6 +31,7 @@ import {
31
31
  getdlog,
32
32
  debugpath,
33
33
  formatJSONIC,
34
+ relativizePath,
34
35
  } from '../utility'
35
36
 
36
37
 
@@ -62,7 +63,7 @@ async function buildGuide(ctx: ApiDefContext): Promise<any> {
62
63
 
63
64
  log.info({
64
65
  point: 'generate-guide',
65
- note: guidepath.replace(process.cwd(), '.'),
66
+ note: relativizePath(guidepath),
66
67
  guidepath,
67
68
  })
68
69
 
@@ -1026,6 +1026,7 @@ function ResolveTransform(spec: TaskSpec) {
1026
1026
 
1027
1027
  const op = pathdesc.op
1028
1028
 
1029
+ // Only specify transforms if they are not defaults
1029
1030
  const transform: Record<string, any> = {
1030
1031
  req: undefined,
1031
1032
  res: undefined,
@@ -1035,6 +1036,8 @@ function ResolveTransform(spec: TaskSpec) {
1035
1036
  const resprops = getResponseSchema(resokdef)?.properties
1036
1037
  debugpath(pathStr, methodName, 'TRANSFORM-RES', keysof(resprops))
1037
1038
 
1039
+ // console.log('APIDEF-resprops', resprops)
1040
+
1038
1041
  if (resprops) {
1039
1042
  if (resprops[entdesc.origname]) {
1040
1043
  transform.res = '`body.' + entdesc.origname + '`'
@@ -1050,10 +1053,9 @@ function ResolveTransform(spec: TaskSpec) {
1050
1053
  if (reqprops[entdesc.origname]) {
1051
1054
  transform.req = { [entdesc.origname]: '`reqdata`' }
1052
1055
  }
1053
- else if (reqprops[entdesc.origname]) {
1054
- transform.req = { [entdesc.origname]: '`reqdata`' }
1056
+ else if (reqprops[entdesc.name]) {
1057
+ transform.req = { [entdesc.name]: '`reqdata`' }
1055
1058
  }
1056
-
1057
1059
  }
1058
1060
 
1059
1061
  if (!isempty(transform)) {
package/src/model.ts CHANGED
@@ -6,7 +6,16 @@ import type { MethodName } from './types'
6
6
 
7
7
 
8
8
  // Operation names available on entities
9
- type OpName = 'load' | 'list' | 'create' | 'update' | 'delete' | 'patch' | 'head' | 'options'
9
+ type OpName = 'load' | 'list' | 'create' | 'update' | 'remove' | 'patch' | 'head' | 'options'
10
+
11
+
12
+ type Model = {
13
+ main: {
14
+ kit: {
15
+ entity: Record<string, ModelEntity>
16
+ }
17
+ }
18
+ }
10
19
 
11
20
 
12
21
  // Entity relationships information
@@ -38,9 +47,10 @@ type ModelField = {
38
47
  // Operation argument/parameter definition
39
48
  type ModelArg = {
40
49
  name: string
50
+ orig: string
41
51
  type: any // @voxgig/struct validation schema
42
52
  kind: 'param' | 'query' | 'header' | 'cookie'
43
- req: boolean
53
+ reqd: boolean
44
54
  }
45
55
 
46
56
 
@@ -49,17 +59,24 @@ type ModelAlt = {
49
59
  orig: string
50
60
  method: MethodName
51
61
  parts: string[]
62
+ rename: Partial<{
63
+ param: Record<string, string>
64
+ query: Record<string, string>
65
+ header: Record<string, string>
66
+ cookie: Record<string, string>
67
+ }>
52
68
  args: Partial<{
53
69
  param: ModelArg[]
54
70
  query: ModelArg[]
55
71
  header: ModelArg[]
56
72
  cookie: ModelArg[]
57
73
  }>
74
+ transform: {
75
+ req?: any
76
+ res?: any
77
+ }
58
78
  select: {
59
- param?: Record<string, boolean | string>
60
- query?: Record<string, boolean | string>
61
- header?: Record<string, boolean | string>
62
- cookie?: Record<string, boolean | string>
79
+ exist: string[]
63
80
  $action?: string
64
81
  }
65
82
  }
@@ -85,8 +102,34 @@ type ModelEntity = {
85
102
  }
86
103
 
87
104
 
105
+ type ModelEntityFlow = {
106
+ name: string,
107
+ entity: string
108
+ kind: string
109
+ // args: Record<string, string>
110
+ step: ModelEntityFlowStep[]
111
+ }
112
+
113
+
114
+ type ModelEntityFlowStep = {
115
+ op: OpName
116
+ input: Record<string, any>
117
+ match: Record<string, any>
118
+ data: Record<string, any>
119
+ spec: {
120
+ apply: string
121
+ def: Record<string, any>
122
+ }[]
123
+ valid: {
124
+ apply: string
125
+ def: Record<string, any>
126
+ }[]
127
+ }
128
+
129
+
88
130
  export type {
89
131
  OpName,
132
+ Model,
90
133
  ModelEntityRelations,
91
134
  ModelOpMap,
92
135
  ModelFieldOp,
@@ -95,4 +138,6 @@ export type {
95
138
  ModelAlt,
96
139
  ModelOp,
97
140
  ModelEntity,
141
+ ModelEntityFlow,
142
+ ModelEntityFlowStep,
98
143
  }
package/src/parse.ts CHANGED
@@ -4,14 +4,41 @@ import { bundleFromString, createConfig } from '@redocly/openapi-core'
4
4
 
5
5
  import decircular from 'decircular'
6
6
 
7
+ import { relativizePath } from './utility'
8
+
9
+
7
10
 
8
11
  // Parse an API definition source into a JSON sructure.
9
- async function parse(kind: string, source: any, meta?: any) {
12
+ async function parse(kind: string, source: any, meta: { file: string }) {
10
13
  if ('OpenAPI' === kind) {
11
- return parseOpenAPI(source, meta)
14
+
15
+ validateSource(kind, source, meta)
16
+
17
+ try {
18
+ const def = await parseOpenAPI(source, meta)
19
+ return def
20
+ }
21
+ catch (pe: any) {
22
+ if (pe.originalError) {
23
+ pe.originalError.message =
24
+ `@voxgig/apidef: parse: syntax: ${pe.originalError.message}` +
25
+ ` (${relativizePath(meta.file)})`
26
+ pe = pe.originalError
27
+ }
28
+ else {
29
+ pe.message =
30
+ `@voxgig/apidef: parse: internal: ${pe.message}` +
31
+ ` (${relativizePath(meta.file)})`
32
+ }
33
+
34
+ throw pe
35
+ }
12
36
  }
13
37
  else {
14
- throw new Error('@voxgig/apidef-parse: unknown kind: ' + kind)
38
+ throw new Error(
39
+ `@voxgig/apidef: parse: unknown kind: ${kind}` +
40
+ ` (${relativizePath(meta.file)})`
41
+ )
15
42
  }
16
43
  }
17
44
 
@@ -73,6 +100,26 @@ async function parseOpenAPI(source: any, meta?: any) {
73
100
 
74
101
 
75
102
 
103
+ function validateSource(kind: string, source: any, meta: { file: string }) {
104
+ if (typeof source !== 'string') {
105
+ throw new Error(
106
+ `@voxgig/apidef: parse: ${kind}: source must be a string` +
107
+ ` (${relativizePath(meta.file)})`
108
+ )
109
+ }
110
+
111
+ // Remove YAML comment lines (lines that start with # after
112
+ // optional whitespace)
113
+ const withoutComments = source.replace(/^\s*#.*$/gm, '')
114
+
115
+ if (withoutComments.trim().length === 0) {
116
+ throw new Error(
117
+ `@voxgig/apidef: parse: ${kind}: source is empty` +
118
+ ` (${relativizePath(meta.file)})`
119
+ )
120
+ }
121
+ }
122
+
76
123
 
77
124
 
78
125