@voxgig/apidef 1.9.0 → 2.0.2
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.d.ts +3 -29
- package/dist/apidef.js +65 -186
- package/dist/apidef.js.map +1 -1
- package/dist/builder/entity/apiEntity.d.ts +3 -0
- package/dist/builder/entity/apiEntity.js +51 -0
- package/dist/builder/entity/apiEntity.js.map +1 -0
- package/dist/builder/entity/def.d.ts +3 -0
- package/dist/builder/entity/def.js +19 -0
- package/dist/builder/entity/def.js.map +1 -0
- package/dist/builder/entity.d.ts +2 -0
- package/dist/builder/entity.js +30 -0
- package/dist/builder/entity.js.map +1 -0
- package/dist/builder/flow/flowHeuristic01.d.ts +2 -0
- package/dist/builder/flow/flowHeuristic01.js +153 -0
- package/dist/builder/flow/flowHeuristic01.js.map +1 -0
- package/dist/builder/flow.d.ts +2 -0
- package/dist/builder/flow.js +41 -0
- package/dist/builder/flow.js.map +1 -0
- package/dist/guide/heuristic01.d.ts +2 -0
- package/dist/guide/heuristic01.js +119 -0
- package/dist/guide/heuristic01.js.map +1 -0
- package/dist/guide.d.ts +2 -0
- package/dist/guide.js +60 -0
- package/dist/guide.js.map +1 -0
- package/dist/parse.d.ts +1 -1
- package/dist/parse.js +5 -4
- package/dist/parse.js.map +1 -1
- package/dist/resolver.d.ts +2 -0
- package/dist/resolver.js +62 -0
- package/dist/resolver.js.map +1 -0
- package/dist/transform/entity.js +25 -4
- package/dist/transform/entity.js.map +1 -1
- package/dist/transform/field.js +4 -84
- package/dist/transform/field.js.map +1 -1
- package/dist/transform/operation.d.ts +2 -2
- package/dist/transform/operation.js +60 -30
- package/dist/transform/operation.js.map +1 -1
- package/dist/transform/top.d.ts +2 -2
- package/dist/transform/top.js +5 -4
- package/dist/transform/top.js.map +1 -1
- package/dist/transform.d.ts +1 -1
- package/dist/transform.js +20 -10
- package/dist/transform.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +691 -0
- package/dist/types.js +39 -0
- package/dist/types.js.map +1 -0
- package/dist/utility.d.ts +5 -0
- package/dist/utility.js +84 -0
- package/dist/utility.js.map +1 -0
- package/model/apidef.jsonic +28 -24
- package/package.json +9 -7
- package/src/apidef.ts +94 -271
- package/src/builder/entity/apiEntity.ts +88 -0
- package/src/builder/entity/def.ts +44 -0
- package/src/builder/entity.ts +54 -0
- package/src/builder/flow/flowHeuristic01.ts +200 -0
- package/src/builder/flow.ts +61 -0
- package/src/guide/heuristic01.ts +178 -0
- package/src/guide.ts +87 -0
- package/src/parse.ts +6 -4
- package/src/resolver.ts +91 -0
- package/src/transform/entity.ts +36 -10
- package/src/transform/field.ts +9 -92
- package/src/transform/operation.ts +112 -46
- package/src/transform/top.ts +11 -9
- package/src/transform.ts +22 -11
- package/src/types.ts +89 -0
- package/src/utility.ts +161 -0
- package/dist/transform/manual.d.ts +0 -3
- package/dist/transform/manual.js +0 -12
- package/dist/transform/manual.js.map +0 -1
- package/src/transform/manual.ts +0 -29
package/dist/transform/field.js
CHANGED
|
@@ -3,11 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.fieldTransform = void 0;
|
|
4
4
|
const jostraca_1 = require("jostraca");
|
|
5
5
|
const transform_1 = require("../transform");
|
|
6
|
-
const fieldTransform = async function (ctx
|
|
6
|
+
const fieldTransform = async function (ctx) {
|
|
7
|
+
const { apimodel, model, def } = ctx;
|
|
8
|
+
const guide = model.main.api.guide;
|
|
7
9
|
let msg = 'fields: ';
|
|
8
10
|
(0, jostraca_1.each)(guide.entity, (guideEntity) => {
|
|
9
11
|
const entityName = guideEntity.key$;
|
|
10
|
-
const entityModel =
|
|
12
|
+
const entityModel = apimodel.main.api.entity[entityName];
|
|
11
13
|
let fieldCount = 0;
|
|
12
14
|
(0, jostraca_1.each)(guideEntity.path, (guidePath) => {
|
|
13
15
|
const path = guidePath.key$;
|
|
@@ -58,86 +60,4 @@ function fieldbuild(entityModel, pathdef, op, path, entity, model) {
|
|
|
58
60
|
}
|
|
59
61
|
return fieldCount;
|
|
60
62
|
}
|
|
61
|
-
/*
|
|
62
|
-
|
|
63
|
-
# API Specification Transform Guide
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
@"@voxgig/apidef/model/guide.jsonic"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
guide: control: transform: openapi: order: `
|
|
70
|
-
|
|
71
|
-
top,
|
|
72
|
-
entity,
|
|
73
|
-
operation,
|
|
74
|
-
field,
|
|
75
|
-
customField,
|
|
76
|
-
|
|
77
|
-
`
|
|
78
|
-
|
|
79
|
-
guide: transform: customField: {
|
|
80
|
-
load: 'customField.js'
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
guide: entity: {
|
|
85
|
-
pet: path: {
|
|
86
|
-
'/pet/{petId}': {
|
|
87
|
-
op:{ load: 'get', create: 'post', update: 'put' }
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
pet: test: {
|
|
91
|
-
quick: {
|
|
92
|
-
active: true,
|
|
93
|
-
create: { id: 1, name:'Rex' },
|
|
94
|
-
load: { id: 1 },
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
# direct custom definition
|
|
99
|
-
pet: def: {}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
const { each, getx } = require('jostraca')
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
async function customField(ctx, tspec, model, def) {
|
|
109
|
-
const { spec, util: {fixName} } = ctx
|
|
110
|
-
|
|
111
|
-
const nameField = {
|
|
112
|
-
name: 'name',
|
|
113
|
-
type: 'string',
|
|
114
|
-
short: 'Name of pet'
|
|
115
|
-
}
|
|
116
|
-
fixName(nameField, nameField.name)
|
|
117
|
-
fixName(nameField, nameField.type, 'type')
|
|
118
|
-
|
|
119
|
-
const ageField = {
|
|
120
|
-
name: 'age',
|
|
121
|
-
type: 'number',
|
|
122
|
-
short: 'Age of pet'
|
|
123
|
-
}
|
|
124
|
-
fixName(ageField, ageField.name)
|
|
125
|
-
fixName(ageField, ageField.type, 'type')
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
Object.assign(model.main.api.entity.pet.field, {
|
|
129
|
-
name: nameField,
|
|
130
|
-
age: ageField,
|
|
131
|
-
})
|
|
132
|
-
|
|
133
|
-
return { ok: true }
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
module.exports = {
|
|
138
|
-
customField
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
*/
|
|
143
63
|
//# sourceMappingURL=field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/transform/field.ts"],"names":[],"mappings":";;;AAEA,uCAAqC;AAIrC,4CAAsC;AAItC,MAAM,cAAc,GAAc,KAAK,WACrC,
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/transform/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
declare const operationTransform: (ctx:
|
|
1
|
+
import type { TransformResult } from '../transform';
|
|
2
|
+
declare const operationTransform: (ctx: any) => Promise<TransformResult>;
|
|
3
3
|
export { operationTransform };
|
|
@@ -3,28 +3,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.operationTransform = void 0;
|
|
4
4
|
const jostraca_1 = require("jostraca");
|
|
5
5
|
const transform_1 = require("../transform");
|
|
6
|
-
const operationTransform = async function (ctx
|
|
6
|
+
const operationTransform = async function (ctx) {
|
|
7
|
+
const { apimodel, model, def } = ctx;
|
|
8
|
+
const guide = model.main.api.guide;
|
|
7
9
|
let msg = 'operations: ';
|
|
8
|
-
const paramBuilder = (paramMap, paramDef, entityModel, pathdef, op, path, entity, model) => {
|
|
9
|
-
paramMap[paramDef.name] = {
|
|
10
|
+
const paramBuilder = (paramMap, paramDef, opModel, entityModel, pathdef, op, path, entity, model) => {
|
|
11
|
+
const paramSpec = paramMap[paramDef.name] = {
|
|
10
12
|
required: paramDef.required
|
|
11
13
|
};
|
|
12
|
-
(0, transform_1.fixName)(
|
|
14
|
+
(0, transform_1.fixName)(paramSpec, paramDef.name);
|
|
13
15
|
const type = paramDef.schema ? paramDef.schema.type : paramDef.type;
|
|
14
|
-
(0, transform_1.fixName)(
|
|
16
|
+
(0, transform_1.fixName)(paramSpec, type, 'type');
|
|
17
|
+
// Path params are always required.
|
|
18
|
+
opModel.validate.params[paramDef.name] = `\`$${paramSpec.TYPE}\``;
|
|
15
19
|
};
|
|
16
|
-
const queryBuilder = (queryMap, queryDef, entityModel, pathdef, op, path, entity, model) => {
|
|
17
|
-
queryMap[queryDef.name] = {
|
|
20
|
+
const queryBuilder = (queryMap, queryDef, opModel, entityModel, pathdef, op, path, entity, model) => {
|
|
21
|
+
const querySpec = queryMap[queryDef.name] = {
|
|
18
22
|
required: queryDef.required
|
|
19
23
|
};
|
|
20
24
|
(0, transform_1.fixName)(queryMap[queryDef.name], queryDef.name);
|
|
21
25
|
const type = queryDef.schema ? queryDef.schema.type : queryDef.type;
|
|
22
26
|
(0, transform_1.fixName)(queryMap[queryDef.name], type, 'type');
|
|
27
|
+
if (queryDef.required) {
|
|
28
|
+
opModel.validate.params[queryDef.name] = `\`$${querySpec.TYPE}\``;
|
|
29
|
+
}
|
|
23
30
|
};
|
|
24
31
|
// Resolve the JSON structure of the request or response.
|
|
25
32
|
// NOTE: uses heuristics.
|
|
26
|
-
const resolveTransform = (op, kind, direction, pathdef) => {
|
|
33
|
+
const resolveTransform = (entityModel, op, kind, direction, pathdef) => {
|
|
27
34
|
let out;
|
|
35
|
+
let why = 'none';
|
|
28
36
|
if (null != op.transform?.[direction]) {
|
|
29
37
|
out = op.transform[direction];
|
|
30
38
|
}
|
|
@@ -32,20 +40,28 @@ const operationTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
32
40
|
const method = op.method;
|
|
33
41
|
const mdef = pathdef[method];
|
|
34
42
|
// TODO: fix getx
|
|
35
|
-
const content = 'res' === kind ?
|
|
43
|
+
// const content = 'res' === kind ?
|
|
44
|
+
const content = 'resform' === direction ?
|
|
36
45
|
((0, jostraca_1.getx)(mdef, 'responses.200.content') ||
|
|
37
46
|
(0, jostraca_1.getx)(mdef, 'responses.201.content')) :
|
|
38
47
|
(0, jostraca_1.getx)(mdef, 'requestBody.content');
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
if (content) {
|
|
49
|
+
const schema = content['application/json']?.schema;
|
|
50
|
+
const propkeys = null == schema?.properties ? [] : Object.keys(schema.properties);
|
|
51
|
+
const resolveDirectionTransform = 'resform' === direction ? resolveResponseTransform : resolveRequestTransform;
|
|
52
|
+
[out, why]
|
|
53
|
+
= resolveDirectionTransform(entityModel, op, kind, direction, method, mdef, content, schema, propkeys);
|
|
54
|
+
// out = JSON.stringify(transform)
|
|
55
|
+
// out = transform
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
out = 'res' === kind ? '`body`' : '`reqdata`';
|
|
59
|
+
}
|
|
45
60
|
}
|
|
46
|
-
return out;
|
|
61
|
+
return [out, why];
|
|
47
62
|
};
|
|
48
|
-
const resolveResponseTransform = (op, kind, method, mdef, content, schema, propkeys) => {
|
|
63
|
+
const resolveResponseTransform = (entityModel, op, kind, direction, method, mdef, content, schema, propkeys) => {
|
|
64
|
+
let why = 'default';
|
|
49
65
|
let transform = '`body`';
|
|
50
66
|
if (null == content || null == schema || null == propkeys) {
|
|
51
67
|
return transform;
|
|
@@ -54,12 +70,14 @@ const operationTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
54
70
|
if ('list' === opname) {
|
|
55
71
|
if ('array' !== schema.type) {
|
|
56
72
|
if (1 === propkeys.length) {
|
|
73
|
+
why = 'list-single-prop:' + propkeys[0];
|
|
57
74
|
transform = '`body.' + propkeys[0] + '`';
|
|
58
75
|
}
|
|
59
76
|
else {
|
|
60
77
|
// Use sub property that is an array
|
|
61
78
|
for (let pk of propkeys) {
|
|
62
79
|
if ('array' === schema.properties[pk]?.type) {
|
|
80
|
+
why = 'list-single-array:' + pk;
|
|
63
81
|
transform = '`body.' + pk + '`';
|
|
64
82
|
break;
|
|
65
83
|
}
|
|
@@ -71,11 +89,13 @@ const operationTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
71
89
|
if ('object' === schema.type) {
|
|
72
90
|
if (null == schema.properties.id) {
|
|
73
91
|
if (1 === propkeys.length) {
|
|
92
|
+
why = 'map-single-prop:' + propkeys[0];
|
|
74
93
|
transform = '`body.' + propkeys[0] + '`';
|
|
75
94
|
}
|
|
76
95
|
else {
|
|
77
96
|
for (let pk of propkeys) {
|
|
78
97
|
if (schema.properties[pk].properties?.id) {
|
|
98
|
+
why = 'map-sub-prop:' + pk;
|
|
79
99
|
transform = '`body.' + pk + '`';
|
|
80
100
|
break;
|
|
81
101
|
}
|
|
@@ -84,10 +104,11 @@ const operationTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
84
104
|
}
|
|
85
105
|
}
|
|
86
106
|
}
|
|
87
|
-
return transform;
|
|
107
|
+
return [transform, why];
|
|
88
108
|
};
|
|
89
|
-
const resolveRequestTransform = (op, kind, method, mdef, content, schema, propkeys) => {
|
|
109
|
+
const resolveRequestTransform = (entityModel, op, kind, direction, method, mdef, content, schema, propkeys) => {
|
|
90
110
|
let transform = '`data`';
|
|
111
|
+
let why = 'default';
|
|
91
112
|
if (null == content || null == schema || null == propkeys) {
|
|
92
113
|
return transform;
|
|
93
114
|
}
|
|
@@ -95,12 +116,14 @@ const operationTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
95
116
|
if ('list' === opname) {
|
|
96
117
|
if ('array' !== schema.type) {
|
|
97
118
|
if (1 === propkeys.length) {
|
|
119
|
+
why = 'list-single-prop:' + propkeys[0];
|
|
98
120
|
transform = { [propkeys[0]]: '`data`' };
|
|
99
121
|
}
|
|
100
122
|
else {
|
|
101
123
|
// Use sub property that is an array
|
|
102
124
|
for (let pk of propkeys) {
|
|
103
125
|
if ('array' === schema.properties[pk]?.type) {
|
|
126
|
+
why = 'list-single-array:' + pk;
|
|
104
127
|
transform = { [pk]: '`data`' };
|
|
105
128
|
break;
|
|
106
129
|
}
|
|
@@ -112,11 +135,13 @@ const operationTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
112
135
|
if ('object' === schema.type) {
|
|
113
136
|
if (null == schema.properties.id) {
|
|
114
137
|
if (1 === propkeys.length) {
|
|
138
|
+
why = 'map-single-prop:' + propkeys[0];
|
|
115
139
|
transform = { [propkeys[0]]: '`data`' };
|
|
116
140
|
}
|
|
117
141
|
else {
|
|
118
142
|
for (let pk of propkeys) {
|
|
119
143
|
if (schema.properties[pk].properties?.id) {
|
|
144
|
+
why = 'map-sub-prop:' + pk;
|
|
120
145
|
transform = { [pk]: '`data`' };
|
|
121
146
|
break;
|
|
122
147
|
}
|
|
@@ -125,38 +150,43 @@ const operationTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
125
150
|
}
|
|
126
151
|
}
|
|
127
152
|
}
|
|
128
|
-
return transform;
|
|
153
|
+
return [transform, why];
|
|
129
154
|
};
|
|
130
155
|
const opBuilder = {
|
|
131
156
|
any: (entityModel, pathdef, op, path, entity, model) => {
|
|
132
157
|
const opname = op.key$;
|
|
133
158
|
const method = op.method;
|
|
134
159
|
const kind = transform_1.OPKIND[opname];
|
|
135
|
-
const
|
|
160
|
+
const [resform, resform_COMMENT] = resolveTransform(entityModel, op, kind, 'resform', pathdef);
|
|
161
|
+
const [reqform, reqform_COMMENT] = resolveTransform(entityModel, op, kind, 'reqform', pathdef);
|
|
162
|
+
const opModel = entityModel.op[opname] = {
|
|
136
163
|
path: path.key$,
|
|
137
164
|
method,
|
|
138
165
|
kind,
|
|
139
166
|
param: {},
|
|
140
167
|
query: {},
|
|
141
|
-
|
|
142
|
-
resform
|
|
143
|
-
|
|
144
|
-
|
|
168
|
+
resform_COMMENT: 'derivation: ' + resform_COMMENT,
|
|
169
|
+
resform,
|
|
170
|
+
reqform_COMMENT: 'derivation: ' + reqform_COMMENT,
|
|
171
|
+
reqform,
|
|
172
|
+
validate: {
|
|
173
|
+
params: { '`$OPEN`': true }
|
|
174
|
+
}
|
|
145
175
|
};
|
|
146
|
-
(0, transform_1.fixName)(
|
|
176
|
+
(0, transform_1.fixName)(opModel, op.key$);
|
|
147
177
|
// Params are in the path
|
|
148
178
|
if (0 < path.params$.length) {
|
|
149
179
|
let params = (0, jostraca_1.getx)(pathdef[method], 'parameters?in=path') || [];
|
|
150
180
|
if (Array.isArray(params)) {
|
|
151
|
-
params.reduce((a, p) => (paramBuilder(a, p, entityModel, pathdef, op, path, entity, model), a),
|
|
181
|
+
params.reduce((a, p) => (paramBuilder(a, p, opModel, entityModel, pathdef, op, path, entity, model), a), opModel.param);
|
|
152
182
|
}
|
|
153
183
|
}
|
|
154
184
|
// Queries are after the ?
|
|
155
185
|
let queries = (0, jostraca_1.getx)(pathdef[op.val$], 'parameters?in!=path') || [];
|
|
156
186
|
if (Array.isArray(queries)) {
|
|
157
|
-
queries.reduce((a, p) => (queryBuilder(a, p, entityModel, pathdef, op, path, entity, model), a),
|
|
187
|
+
queries.reduce((a, p) => (queryBuilder(a, p, opModel, entityModel, pathdef, op, path, entity, model), a), opModel.query);
|
|
158
188
|
}
|
|
159
|
-
return
|
|
189
|
+
return opModel;
|
|
160
190
|
},
|
|
161
191
|
list: (entityModel, pathdef, op, path, entity, model) => {
|
|
162
192
|
return opBuilder.any(entityModel, pathdef, op, path, entity, model);
|
|
@@ -176,7 +206,7 @@ const operationTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
176
206
|
};
|
|
177
207
|
(0, jostraca_1.each)(guide.entity, (guideEntity) => {
|
|
178
208
|
let opcount = 0;
|
|
179
|
-
const entityModel =
|
|
209
|
+
const entityModel = apimodel.main.api.entity[guideEntity.key$];
|
|
180
210
|
(0, jostraca_1.each)(guideEntity.path, (guidePath) => {
|
|
181
211
|
const pathdef = def.paths[guidePath.key$];
|
|
182
212
|
(0, jostraca_1.each)(guidePath.op, (op) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/transform/operation.ts"],"names":[],"mappings":";;;AAEA,uCAAqC;AAIrC,4CAA8C;AAI9C,MAAM,kBAAkB,GAAG,KAAK,WAC9B,
|
|
1
|
+
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/transform/operation.ts"],"names":[],"mappings":";;;AAEA,uCAAqC;AAIrC,4CAA8C;AAI9C,MAAM,kBAAkB,GAAG,KAAK,WAC9B,GAAQ;IAMR,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IAElC,IAAI,GAAG,GAAG,cAAc,CAAA;IAExB,MAAM,YAAY,GAAG,CACnB,QAAa,EACb,QAAa,EACb,OAAY,EACZ,WAAgB,EAChB,OAAY,EACZ,EAAO,EACP,IAAS,EACT,MAAW,EACX,KAAU,EACV,EAAE;QAEF,MAAM,SAAS,GAAQ,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG;YAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAA;QACD,IAAA,mBAAO,EAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEjC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAA;QACnE,IAAA,mBAAO,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAEhC,mCAAmC;QACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC,IAAI,IAAI,CAAA;IACnE,CAAC,CAAA;IAGD,MAAM,YAAY,GAAG,CACnB,QAAa,EACb,QAAa,EACb,OAAY,EACZ,WAAgB,EAChB,OAAY,EACZ,EAAO,EACP,IAAS,EACT,MAAW,EACX,KAAU,EACV,EAAE;QACF,MAAM,SAAS,GAAQ,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG;YAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAA;QACD,IAAA,mBAAO,EAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAE/C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAA;QACnE,IAAA,mBAAO,EAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAE9C,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC,IAAI,IAAI,CAAA;QACnE,CAAC;IACH,CAAC,CAAA;IAGD,yDAAyD;IACzD,yBAAyB;IACzB,MAAM,gBAAgB,GAAG,CACvB,WAAgB,EAChB,EAAO,EACP,IAAmB,EACnB,SAAgC,EAChC,OAAY,EACZ,EAAE;QACF,IAAI,GAAG,CAAA;QACP,IAAI,GAAG,GAAG,MAAM,CAAA;QAEhB,IAAI,IAAI,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAC/B,CAAC;aAEI,CAAC;YACJ,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAA;YACxB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;YAE5B,iBAAiB;YACjB,mCAAmC;YACnC,MAAM,OAAO,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC;gBACvC,CAAC,IAAA,eAAI,EAAC,IAAI,EAAE,uBAAuB,CAAC;oBAClC,IAAA,eAAI,EAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAA,eAAI,EAAC,IAAI,EAAE,qBAAqB,CAAC,CAAA;YAEnC,IAAI,OAAO,EAAE,CAAC;gBAEZ,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;gBAElD,MAAM,QAAQ,GAAG,IAAI,IAAI,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBAEjF,MAAM,yBAAyB,GAC7B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,uBAAuB,CAG3E;gBAAA,CAAC,GAAG,EAAE,GAAG,CAAC;sBACP,yBAAyB,CACzB,WAAW,EACX,EAAE,EACF,IAAI,EACJ,SAAS,EACT,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,EACN,QAAQ,CACT,CAAA;gBAEL,kCAAkC;gBAClC,kBAAkB;YACpB,CAAC;iBACI,CAAC;gBACJ,GAAG,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAA;YAC/C,CAAC;QACH,CAAC;QAGD,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACnB,CAAC,CAAA;IAGD,MAAM,wBAAwB,GAAG,CAC/B,WAAgB,EAChB,EAAO,EACP,IAAmB,EACnB,SAAgC,EAChC,MAAc,EACd,IAAS,EACT,OAAY,EACZ,MAAW,EACX,QAAa,EACb,EAAE;QACF,IAAI,GAAG,GAAG,SAAS,CAAA;QACnB,IAAI,SAAS,GAAQ,QAAQ,CAAA;QAE7B,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC1D,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAA;QAEtB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAC1B,GAAG,GAAG,mBAAmB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACvC,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;gBAC1C,CAAC;qBACI,CAAC;oBACJ,oCAAoC;oBACpC,KAAK,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;wBACxB,IAAI,OAAO,KAAK,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;4BAC5C,GAAG,GAAG,oBAAoB,GAAG,EAAE,CAAA;4BAC/B,SAAS,GAAG,QAAQ,GAAG,EAAE,GAAG,GAAG,CAAA;4BAC/B,MAAK;wBACP,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aACI,CAAC;YACJ,IAAI,QAAQ,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACjC,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC1B,GAAG,GAAG,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;wBACtC,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;oBAC1C,CAAC;yBACI,CAAC;wBACJ,KAAK,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;4BACxB,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;gCACzC,GAAG,GAAG,eAAe,GAAG,EAAE,CAAA;gCAC1B,SAAS,GAAG,QAAQ,GAAG,EAAE,GAAG,GAAG,CAAA;gCAC/B,MAAK;4BACP,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACzB,CAAC,CAAA;IAGD,MAAM,uBAAuB,GAAG,CAC9B,WAAgB,EAChB,EAAO,EACP,IAAmB,EACnB,SAAgC,EAChC,MAAc,EACd,IAAS,EACT,OAAY,EACZ,MAAW,EACX,QAAa,EACb,EAAE;QACF,IAAI,SAAS,GAAQ,QAAQ,CAAA;QAC7B,IAAI,GAAG,GAAG,SAAS,CAAA;QAEnB,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC1D,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAA;QAEtB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAC1B,GAAG,GAAG,mBAAmB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACvC,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAA;gBACzC,CAAC;qBACI,CAAC;oBACJ,oCAAoC;oBACpC,KAAK,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;wBACxB,IAAI,OAAO,KAAK,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;4BAC5C,GAAG,GAAG,oBAAoB,GAAG,EAAE,CAAA;4BAC/B,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAA;4BAC9B,MAAK;wBACP,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aACI,CAAC;YACJ,IAAI,QAAQ,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACjC,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC1B,GAAG,GAAG,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;wBACtC,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAA;oBACzC,CAAC;yBACI,CAAC;wBACJ,KAAK,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;4BACxB,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;gCACzC,GAAG,GAAG,eAAe,GAAG,EAAE,CAAA;gCAC1B,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAA;gCAC9B,MAAK;4BACP,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACzB,CAAC,CAAA;IAGD,MAAM,SAAS,GAAQ;QACrB,GAAG,EAAE,CAAC,WAAgB,EAAE,OAAY,EAAE,EAAO,EAAE,IAAS,EAAE,MAAW,EAAE,KAAU,EAAE,EAAE;YACnF,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAA;YACtB,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAA;YACxB,MAAM,IAAI,GAAG,kBAAM,CAAC,MAAM,CAAC,CAAA;YAE3B,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,GAC9B,gBAAgB,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YAE7D,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,GAC9B,gBAAgB,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YAE7D,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG;gBACvC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM;gBACN,IAAI;gBACJ,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE;gBAET,eAAe,EAAE,cAAc,GAAG,eAAe;gBACjD,OAAO;gBAEP,eAAe,EAAE,cAAc,GAAG,eAAe;gBACjD,OAAO;gBAEP,QAAQ,EAAE;oBACR,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;iBAC5B;aACF,CAAA;YAED,IAAA,mBAAO,EAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;YAEzB,yBAAyB;YACzB,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,MAAM,GAAG,IAAA,eAAI,EAAC,OAAO,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAA;gBAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CACjC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EACtC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;gBACzD,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,IAAI,OAAO,GAAG,IAAA,eAAI,EAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,qBAAqB,CAAC,IAAI,EAAE,CAAA;YACjE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAClC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EACtC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;YACzD,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC;QAGD,IAAI,EAAE,CAAC,WAAgB,EAAE,OAAY,EAAE,EAAO,EAAE,IAAS,EAAE,MAAW,EAAE,KAAU,EAAE,EAAE;YACpF,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACrE,CAAC;QAED,IAAI,EAAE,CAAC,WAAgB,EAAE,OAAY,EAAE,EAAO,EAAE,IAAS,EAAE,MAAW,EAAE,KAAU,EAAE,EAAE;YACpF,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACrE,CAAC;QAED,MAAM,EAAE,CAAC,WAAgB,EAAE,OAAY,EAAE,EAAO,EAAE,IAAS,EAAE,MAAW,EAAE,KAAU,EAAE,EAAE;YACtF,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACrE,CAAC;QAED,MAAM,EAAE,CAAC,WAAgB,EAAE,OAAY,EAAE,EAAO,EAAE,IAAS,EAAE,MAAW,EAAE,KAAU,EAAE,EAAE;YACtF,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACrE,CAAC;QAED,MAAM,EAAE,CAAC,WAAgB,EAAE,OAAY,EAAE,EAAO,EAAE,IAAS,EAAE,MAAW,EAAE,KAAU,EAAE,EAAE;YACtF,OAAO,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACrE,CAAC;KAEF,CAAA;IAGD,IAAA,eAAI,EAAC,KAAK,CAAC,MAAM,EAAE,CAAC,WAAgB,EAAE,EAAE;QACtC,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC9D,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,IAAA,eAAI,EAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAO,EAAE,EAAE;gBAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;gBAElC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;oBAChE,OAAO,EAAE,CAAA;gBACX,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,GAAG,IAAI,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;AAC1B,CAAC,CAAA;AAIC,gDAAkB"}
|
package/dist/transform/top.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
declare const topTransform: (ctx:
|
|
1
|
+
import type { TransformResult } from '../transform';
|
|
2
|
+
declare const topTransform: (ctx: any) => Promise<TransformResult>;
|
|
3
3
|
export { topTransform };
|
package/dist/transform/top.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.topTransform = void 0;
|
|
4
|
-
const topTransform = async function (ctx
|
|
5
|
-
const {
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
const topTransform = async function (ctx) {
|
|
5
|
+
const { apimodel, def } = ctx;
|
|
6
|
+
// const { spec } = ctx
|
|
7
|
+
apimodel.main.def.info = def.info;
|
|
8
|
+
apimodel.main.def.servers = def.servers;
|
|
8
9
|
return { ok: true, msg: 'top' };
|
|
9
10
|
};
|
|
10
11
|
exports.topTransform = topTransform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top.js","sourceRoot":"","sources":["../../src/transform/top.ts"],"names":[],"mappings":";;;AAQA,MAAM,YAAY,GAAG,KAAK,WACxB,
|
|
1
|
+
{"version":3,"file":"top.js","sourceRoot":"","sources":["../../src/transform/top.ts"],"names":[],"mappings":";;;AAQA,MAAM,YAAY,GAAG,KAAK,WACxB,GAAQ;IAMR,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;IAE7B,uBAAuB;IAEvB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAEvC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC,CAAA;AAIC,oCAAY"}
|
package/dist/transform.d.ts
CHANGED
|
@@ -89,7 +89,7 @@ declare const GuideShape: {
|
|
|
89
89
|
};
|
|
90
90
|
type Guide = ReturnType<typeof GuideShape>;
|
|
91
91
|
declare function resolveTransforms(ctx: TransformCtx): Promise<TransformSpec>;
|
|
92
|
-
declare function processTransforms(ctx: TransformCtx,
|
|
92
|
+
declare function processTransforms(ctx: TransformCtx, transforms: any[], apimodel: any, def: any): Promise<ProcessResult>;
|
|
93
93
|
declare function fixName(base: any, name: string, prop?: string): void;
|
|
94
94
|
export type { TransformCtx, TransformSpec, Transform, TransformResult, Guide, };
|
|
95
95
|
export { fixName, OPKIND, GuideShape, resolveTransforms, processTransforms, };
|
package/dist/transform.js
CHANGED
|
@@ -15,13 +15,12 @@ const top_1 = require("./transform/top");
|
|
|
15
15
|
const entity_1 = require("./transform/entity");
|
|
16
16
|
const operation_1 = require("./transform/operation");
|
|
17
17
|
const field_1 = require("./transform/field");
|
|
18
|
-
const manual_1 = require("./transform/manual");
|
|
19
18
|
const TRANSFORM = {
|
|
20
19
|
top: top_1.topTransform,
|
|
21
20
|
entity: entity_1.entityTransform,
|
|
22
21
|
operation: operation_1.operationTransform,
|
|
23
22
|
field: field_1.fieldTransform,
|
|
24
|
-
manual:
|
|
23
|
+
// manual: manualTransform,
|
|
25
24
|
};
|
|
26
25
|
const OPKIND = {
|
|
27
26
|
list: 'res',
|
|
@@ -53,10 +52,15 @@ async function resolveTransforms(ctx) {
|
|
|
53
52
|
point: 'transform', note: 'order: ' + transformNames.join(';'),
|
|
54
53
|
order: transformNames
|
|
55
54
|
});
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
try {
|
|
56
|
+
for (const tn of transformNames) {
|
|
57
|
+
log.debug({ what: 'transform', transform: tn, note: tn });
|
|
58
|
+
const transform = await resolveTransform(tn, ctx);
|
|
59
|
+
tspec.transform.push(transform);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
throw err;
|
|
60
64
|
}
|
|
61
65
|
return tspec;
|
|
62
66
|
}
|
|
@@ -90,21 +94,27 @@ async function resolveTransform(tn, ctx) {
|
|
|
90
94
|
}
|
|
91
95
|
return transform;
|
|
92
96
|
}
|
|
93
|
-
async function processTransforms(ctx,
|
|
97
|
+
async function processTransforms(ctx,
|
|
98
|
+
// spec: TransformSpec,
|
|
99
|
+
transforms, apimodel, def) {
|
|
94
100
|
const pres = {
|
|
95
101
|
ok: true,
|
|
96
102
|
msg: '',
|
|
97
103
|
results: []
|
|
98
104
|
};
|
|
99
105
|
const guide = GuideShape(ctx.model.main.api.guide);
|
|
100
|
-
for (let tI = 0; tI < spec.transform.length; tI++) {
|
|
101
|
-
|
|
106
|
+
// for (let tI = 0; tI < spec.transform.length; tI++) {
|
|
107
|
+
// const transform = spec.transform[tI]
|
|
108
|
+
for (let tI = 0; tI < transforms.length; tI++) {
|
|
109
|
+
const transform = transforms[tI];
|
|
102
110
|
try {
|
|
103
|
-
const tres = await transform(ctx, guide,
|
|
111
|
+
const tres = await transform(ctx, guide, apimodel, def);
|
|
104
112
|
pres.ok = pres.ok && tres.ok;
|
|
105
113
|
pres.results.push(tres);
|
|
106
114
|
}
|
|
107
115
|
catch (err) {
|
|
116
|
+
// TODO: fix: this error does not get printed
|
|
117
|
+
console.error(err);
|
|
108
118
|
pres.ok = false;
|
|
109
119
|
pres.msg += transform.name + ': ' + err.message + '\n';
|
|
110
120
|
pres.results.push({
|
package/dist/transform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;;;;
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;;;;AA4N1C,0BAAO;AAGP,8CAAiB;AACjB,8CAAiB;AA7NnB,0DAA4B;AAE5B,uCAA+C;AAE/C,+BAAyC;AAEzC,yCAA8C;AAC9C,+CAAoD;AACpD,qDAA0D;AAC1D,6CAAkD;AAwClD,MAAM,SAAS,GAA8B;IAC3C,GAAG,EAAE,kBAAY;IACjB,MAAM,EAAE,wBAAe;IACvB,SAAS,EAAE,8BAAkB;IAC7B,KAAK,EAAE,sBAAc;IACrB,2BAA2B;CAC5B,CAAA;AAID,MAAM,MAAM,GAAQ;IAClB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;CACd,CAAA;AAyJC,wBAAM;AAtJR,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC;IACtB,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;CACX,CAAC,CAAA;AAkJA,gCAAU;AA7IZ,KAAK,UAAU,iBAAiB,CAAC,GAAiB;IAChD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAExD,MAAM,KAAK,GAAkB;QAC3B,SAAS,EAAE,EAAE;KACd,CAAA;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAG,SAAS,CAAA;IACzB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK;SAC1D,KAAK,CAAC,SAAS,CAAC;SAChB,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IAEjC,GAAG,CAAC,IAAI,CAAC;QACP,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9D,KAAK,EAAE,cAAc;KACtB,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAChC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YACzD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YACjD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IACD,OAAO,GAAQ,EAAE,CAAC;QAChB,MAAM,GAAG,CAAA;IACX,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,KAAK,UAAU,gBAAgB,CAAC,EAAU,EAAE,GAAiB;IAC3D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;IAEjE,IAAI,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;IAC7B,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAChC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAA;QACjD,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;QACrE,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,GAAG,GACP,IAAI,KAAK,CAAC,kDAAkD,GAAG,EAAE,CAAC,CAAA;QACpE,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;QACpE,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IACjD,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;QAC5C,SAAS,GAAG,eAAe,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,CAAM,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,8BAA8B;YAClD,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAA;QACjC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;QACrE,MAAM,GAAG,CAAA;IACX,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAGD,KAAK,UAAU,iBAAiB,CAC9B,GAAiB;AACjB,uBAAuB;AACvB,UAAiB,EACjB,QAAa,EACb,GAAQ;IAER,MAAM,IAAI,GAAkB;QAC1B,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,EAAE;KACZ,CAAA;IAED,MAAM,KAAK,GAAU,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAGzD,uDAAuD;IACvD,wCAAwC;IAExC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;QAEhC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;YACvD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAA;YAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,6CAA6C;YAC7C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAElB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAA;YACf,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAAA;YACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,KAAK;gBACT,GAAG,EAAE,GAAG,CAAC,OAAO;gBAChB,GAAG;gBACH,SAAS;aACV,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAID,SAAS,OAAO,CAAC,IAAS,EAAE,IAAY,EAAE,IAAI,GAAG,MAAM;IACrD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC7C,IAAI,CAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAA;IACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;AAC/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/apidef.ts","../src/parse.ts","../src/
|
|
1
|
+
{"root":["../src/apidef.ts","../src/guide.ts","../src/parse.ts","../src/resolver.ts","../src/transform.ts","../src/types.ts","../src/utility.ts","../src/builder/entity.ts","../src/builder/flow.ts","../src/builder/entity/apientity.ts","../src/builder/entity/def.ts","../src/builder/flow/flowheuristic01.ts","../src/guide/heuristic01.ts","../src/transform/entity.ts","../src/transform/field.ts","../src/transform/operation.ts","../src/transform/top.ts"],"version":"5.8.3"}
|