@voxgig/apidef 2.4.1 → 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.
- package/dist/apidef.d.ts +7 -2
- package/dist/apidef.js +190 -114
- package/dist/apidef.js.map +1 -1
- package/dist/builder/entity/entity.d.ts +3 -0
- package/dist/builder/entity/{apiEntity.js → entity.js} +12 -9
- package/dist/builder/entity/entity.js.map +1 -0
- package/dist/builder/entity/info.d.ts +3 -0
- package/dist/builder/entity/info.js +22 -0
- package/dist/builder/entity/info.js.map +1 -0
- package/dist/builder/entity.js +7 -21
- package/dist/builder/entity.js.map +1 -1
- package/dist/builder/flow/flowHeuristic01.js +21 -11
- package/dist/builder/flow/flowHeuristic01.js.map +1 -1
- package/dist/builder/flow.d.ts +2 -1
- package/dist/builder/flow.js +39 -12
- package/dist/builder/flow.js.map +1 -1
- package/dist/def.d.ts +62 -0
- package/dist/def.js +4 -0
- package/dist/def.js.map +1 -0
- package/dist/desc.d.ts +87 -0
- package/dist/desc.js +4 -0
- package/dist/desc.js.map +1 -0
- package/dist/guide/guide.d.ts +2 -1
- package/dist/guide/guide.js +161 -30
- package/dist/guide/guide.js.map +1 -1
- package/dist/guide/heuristic01.d.ts +2 -1
- package/dist/guide/heuristic01.js +1122 -234
- package/dist/guide/heuristic01.js.map +1 -1
- package/dist/model.d.ts +90 -0
- package/dist/model.js +4 -0
- package/dist/model.js.map +1 -0
- package/dist/parse.d.ts +4 -3
- package/dist/parse.js +40 -46
- package/dist/parse.js.map +1 -1
- package/dist/resolver.js +2 -1
- package/dist/resolver.js.map +1 -1
- package/dist/transform/args.d.ts +3 -0
- package/dist/transform/args.js +54 -0
- package/dist/transform/args.js.map +1 -0
- package/dist/transform/clean.d.ts +2 -2
- package/dist/transform/clean.js +28 -3
- package/dist/transform/clean.js.map +1 -1
- package/dist/transform/entity.d.ts +9 -1
- package/dist/transform/entity.js +57 -41
- package/dist/transform/entity.js.map +1 -1
- package/dist/transform/field.d.ts +1 -1
- package/dist/transform/field.js +89 -65
- package/dist/transform/field.js.map +1 -1
- package/dist/transform/flow.d.ts +3 -0
- package/dist/transform/flow.js +26 -0
- package/dist/transform/flow.js.map +1 -0
- package/dist/transform/flowstep.d.ts +3 -0
- package/dist/transform/flowstep.js +145 -0
- package/dist/transform/flowstep.js.map +1 -0
- package/dist/transform/operation.d.ts +3 -3
- package/dist/transform/operation.js +101 -296
- package/dist/transform/operation.js.map +1 -1
- package/dist/transform/select.d.ts +3 -0
- package/dist/transform/select.js +65 -0
- package/dist/transform/select.js.map +1 -0
- package/dist/transform/top.js +24 -2
- package/dist/transform/top.js.map +1 -1
- package/dist/transform.d.ts +1 -1
- package/dist/transform.js +4 -0
- package/dist/transform.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +115 -14
- package/dist/types.js +4 -2
- package/dist/types.js.map +1 -1
- package/dist/utility.d.ts +34 -2
- package/dist/utility.js +444 -6
- package/dist/utility.js.map +1 -1
- package/model/apidef.jsonic +76 -1
- package/model/guide.jsonic +14 -44
- package/package.json +19 -16
- package/src/apidef.ts +258 -122
- package/src/builder/entity/{apiEntity.ts → entity.ts} +18 -11
- package/src/builder/entity/info.ts +53 -0
- package/src/builder/entity.ts +9 -35
- package/src/builder/flow/flowHeuristic01.ts +46 -12
- package/src/builder/flow.ts +54 -13
- package/src/def.ts +91 -0
- package/src/desc.ts +154 -0
- package/src/guide/guide.ts +208 -134
- package/src/guide/heuristic01.ts +1653 -272
- package/src/model.ts +143 -0
- package/src/parse.ts +50 -59
- package/src/resolver.ts +3 -1
- package/src/schematron.ts.off +317 -0
- package/src/transform/args.ts +98 -0
- package/src/transform/clean.ts +45 -11
- package/src/transform/entity.ts +96 -50
- package/src/transform/field.ts +136 -75
- package/src/transform/flow.ts +59 -0
- package/src/transform/flowstep.ts +242 -0
- package/src/transform/operation.ts +119 -419
- package/src/transform/select.ts +119 -0
- package/src/transform/top.ts +46 -4
- package/src/transform.ts +8 -4
- package/src/types.ts +181 -5
- package/src/utility.ts +567 -9
- package/dist/builder/entity/apiEntity.d.ts +0 -3
- package/dist/builder/entity/apiEntity.js.map +0 -1
- package/dist/builder/entity/def.d.ts +0 -3
- package/dist/builder/entity/def.js +0 -19
- package/dist/builder/entity/def.js.map +0 -1
- package/src/builder/entity/def.ts +0 -44
- package/src/guide.ts.off +0 -136
|
@@ -2,308 +2,113 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.operationTransform = void 0;
|
|
4
4
|
const jostraca_1 = require("jostraca");
|
|
5
|
-
const
|
|
6
|
-
const utility_1 = require("../utility");
|
|
5
|
+
const types_1 = require("../types");
|
|
7
6
|
const operationTransform = async function (ctx) {
|
|
8
|
-
const { apimodel,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
const { apimodel, guide } = ctx;
|
|
8
|
+
const kit = apimodel.main[types_1.KIT];
|
|
9
|
+
let msg = 'operation ';
|
|
10
|
+
(0, jostraca_1.each)(guide.entity, (gent, entname) => {
|
|
11
|
+
collectOps(gent);
|
|
12
|
+
const opm = {
|
|
13
|
+
load: undefined,
|
|
14
|
+
list: undefined,
|
|
15
|
+
create: undefined,
|
|
16
|
+
update: undefined,
|
|
17
|
+
remove: undefined,
|
|
18
|
+
patch: undefined,
|
|
13
19
|
};
|
|
14
|
-
(
|
|
15
|
-
|
|
16
|
-
(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
required: queryDef.required
|
|
23
|
-
};
|
|
24
|
-
(0, transform_1.fixName)(queryMap[queryDef.name], queryDef.name);
|
|
25
|
-
const type = queryDef.schema ? queryDef.schema.type : queryDef.type;
|
|
26
|
-
(0, transform_1.fixName)(queryMap[queryDef.name], type, 'type');
|
|
27
|
-
if (queryDef.required) {
|
|
28
|
-
opModel.validate.params[queryDef.name] = `\`$${querySpec.TYPE}\``;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
// Resolve the JSON structure of the request or response.
|
|
32
|
-
// NOTE: uses heuristics.
|
|
33
|
-
const resolveTransform = (entityModel, op, kind, direction, pathdef) => {
|
|
34
|
-
let out;
|
|
35
|
-
let why = 'none';
|
|
36
|
-
if (null != op.transform?.[direction]) {
|
|
37
|
-
out = op.transform[direction];
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
const method = op.method;
|
|
41
|
-
const mdef = pathdef[method];
|
|
42
|
-
// TODO: fix getx
|
|
43
|
-
// const content = 'res' === kind ?
|
|
44
|
-
const content = 'resform' === direction ?
|
|
45
|
-
((0, jostraca_1.getx)(mdef, 'responses.200.content') ||
|
|
46
|
-
(0, jostraca_1.getx)(mdef, 'responses.201.content')) :
|
|
47
|
-
(0, jostraca_1.getx)(mdef, 'requestBody.content');
|
|
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
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return [out, why];
|
|
62
|
-
};
|
|
63
|
-
const resolveResponseTransform = (entityModel, op, kind, direction, method, mdef, content, schema, propkeys) => {
|
|
64
|
-
let why = 'default';
|
|
65
|
-
let transform = '`body`';
|
|
66
|
-
const properties = schema?.properties;
|
|
67
|
-
if (null == content || null == schema || null == propkeys || null == properties) {
|
|
68
|
-
return [transform, why];
|
|
69
|
-
}
|
|
70
|
-
const opname = op.key$;
|
|
71
|
-
if ('list' === opname) {
|
|
72
|
-
if ('array' !== schema.type) {
|
|
73
|
-
if (1 === propkeys.length) {
|
|
74
|
-
why = 'list-single-prop:' + propkeys[0];
|
|
75
|
-
transform = '`body.' + propkeys[0] + '`';
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
// Use sub property that is an array
|
|
79
|
-
for (let pk of propkeys) {
|
|
80
|
-
if ('array' === properties[pk]?.type) {
|
|
81
|
-
why = 'list-single-array:' + pk;
|
|
82
|
-
transform = '`body.' + pk + '`';
|
|
83
|
-
// TODO: if each item has prop === name of entity, use that, get with $EACH
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
if ('object' === schema.type) {
|
|
92
|
-
if (null == properties.id) {
|
|
93
|
-
if (1 === propkeys.length) {
|
|
94
|
-
why = 'map-single-prop:' + propkeys[0];
|
|
95
|
-
transform = '`body.' + propkeys[0] + '`';
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
for (let pk of propkeys) {
|
|
99
|
-
if (properties[pk]?.properties?.id) {
|
|
100
|
-
why = 'map-sub-prop:' + pk;
|
|
101
|
-
transform = '`body.' + pk + '`';
|
|
102
|
-
break;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return [transform, why];
|
|
110
|
-
};
|
|
111
|
-
const resolveRequestTransform = (entityModel, op, kind, direction, method, mdef, content, schema, propkeys) => {
|
|
112
|
-
let transform = '`reqdata`';
|
|
113
|
-
let why = 'default';
|
|
114
|
-
const properties = schema?.properties;
|
|
115
|
-
if (null == content || null == schema || null == propkeys || null == properties) {
|
|
116
|
-
return [transform, why];
|
|
117
|
-
}
|
|
118
|
-
const opname = op.key$;
|
|
119
|
-
if ('list' === opname) {
|
|
120
|
-
if ('array' !== schema.type) {
|
|
121
|
-
if (1 === propkeys.length) {
|
|
122
|
-
why = 'list-single-prop:' + propkeys[0];
|
|
123
|
-
transform = { [propkeys[0]]: '`reqdata`' };
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
// Use sub property that is an array
|
|
127
|
-
for (let pk of propkeys) {
|
|
128
|
-
if ('array' === properties[pk]?.type) {
|
|
129
|
-
why = 'list-single-array:' + pk;
|
|
130
|
-
transform = { [pk]: '`reqdata`' };
|
|
131
|
-
break;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
if ('object' === schema.type) {
|
|
139
|
-
if (null == properties.id) {
|
|
140
|
-
if (1 === propkeys.length) {
|
|
141
|
-
why = 'map-single-prop:' + propkeys[0];
|
|
142
|
-
transform = { [propkeys[0]]: '`reqdata`' };
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
for (let pk of propkeys) {
|
|
146
|
-
if (properties[pk]?.properties?.id) {
|
|
147
|
-
why = 'map-sub-prop:' + pk;
|
|
148
|
-
transform = { [pk]: '`reqdata`' };
|
|
149
|
-
break;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return [transform, why];
|
|
157
|
-
};
|
|
158
|
-
const opBuilder = {
|
|
159
|
-
any: (entityModel, pathdef, guideOp, guidePath, guideEntity, model) => {
|
|
160
|
-
if (false === guidePath.active) {
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
const opname = guideOp.key$;
|
|
164
|
-
const method = guideOp.method;
|
|
165
|
-
const kind = transform_1.OPKIND[opname];
|
|
166
|
-
const existingOpModel = entityModel.op[opname];
|
|
167
|
-
const existingParam = existingOpModel?.param;
|
|
168
|
-
const [resform, resform_COMMENT] = resolveTransform(entityModel, guideOp, kind, 'resform', pathdef);
|
|
169
|
-
const [reqform, reqform_COMMENT] = resolveTransform(entityModel, guideOp, kind, 'reqform', pathdef);
|
|
170
|
-
const opModel = {
|
|
171
|
-
path: guidePath.key$,
|
|
172
|
-
pathalt: [],
|
|
173
|
-
method,
|
|
174
|
-
kind,
|
|
175
|
-
param: existingParam || {},
|
|
176
|
-
query: {},
|
|
177
|
-
resform_COMMENT: 'derivation: ' + resform_COMMENT,
|
|
178
|
-
resform,
|
|
179
|
-
reqform_COMMENT: 'derivation: ' + reqform_COMMENT,
|
|
180
|
-
reqform,
|
|
181
|
-
validate: {
|
|
182
|
-
params: { '`$OPEN`': true }
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
(0, transform_1.fixName)(opModel, guideOp.key$);
|
|
186
|
-
let params = [];
|
|
187
|
-
// Params are in the path
|
|
188
|
-
if (0 < guidePath.params$.length) {
|
|
189
|
-
let sharedparams = (0, jostraca_1.getx)(pathdef, 'parameters?in=path') || [];
|
|
190
|
-
params = sharedparams.concat((0, jostraca_1.getx)(pathdef[method], 'parameters?in=path') || []);
|
|
191
|
-
// if (Array.isArray(params)) {
|
|
192
|
-
params.reduce((a, p) => (paramBuilder(a, p, opModel, entityModel, pathdef, guideOp, guidePath, guideEntity, model), a), opModel.param);
|
|
193
|
-
//}
|
|
194
|
-
}
|
|
195
|
-
// Queries are after the ?
|
|
196
|
-
let sharedqueries = (0, jostraca_1.getx)(pathdef, 'parameters?in!=path') || [];
|
|
197
|
-
let queries = sharedqueries.concat((0, jostraca_1.getx)(pathdef[method], 'parameters?in!=path') || []);
|
|
198
|
-
queries.reduce((a, p) => (queryBuilder(a, p, opModel, entityModel, pathdef, guideOp, guidePath, guideEntity, model), a), opModel.query);
|
|
199
|
-
let pathalt = [];
|
|
200
|
-
const pathselector = makePathSelector(guidePath.key$);
|
|
201
|
-
let before = false;
|
|
202
|
-
if (null != entityModel.op[opname]) {
|
|
203
|
-
pathalt = entityModel.op[opname].pathalt;
|
|
204
|
-
// Ordering for pathalts: most to least paramrs, then alphanumberic
|
|
205
|
-
for (let i = 0; i < pathalt.length; i++) {
|
|
206
|
-
let current = pathalt[i];
|
|
207
|
-
before =
|
|
208
|
-
pathselector.pn$ > current.pn$ ||
|
|
209
|
-
(pathselector.pn$ === current.pn$ &&
|
|
210
|
-
pathselector.path <= current.path);
|
|
211
|
-
if (before) {
|
|
212
|
-
pathalt = [
|
|
213
|
-
...pathalt.slice(0, i),
|
|
214
|
-
pathselector,
|
|
215
|
-
...pathalt.slice(i),
|
|
216
|
-
];
|
|
217
|
-
break;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
if (!before) {
|
|
222
|
-
pathalt.push(pathselector);
|
|
223
|
-
}
|
|
224
|
-
opModel.path = pathalt[pathalt.length - 1].path;
|
|
225
|
-
opModel.pathalt = pathalt;
|
|
226
|
-
entityModel.op[opname] = opModel;
|
|
227
|
-
return opModel;
|
|
228
|
-
},
|
|
229
|
-
list: (entityModel, pathdef, op, path, entity, model) => {
|
|
230
|
-
return opBuilder.any(entityModel, pathdef, op, path, entity, model);
|
|
231
|
-
},
|
|
232
|
-
load: (entityModel, pathdef, op, path, entity, model) => {
|
|
233
|
-
return opBuilder.any(entityModel, pathdef, op, path, entity, model);
|
|
234
|
-
},
|
|
235
|
-
create: (entityModel, pathdef, op, path, entity, model) => {
|
|
236
|
-
return opBuilder.any(entityModel, pathdef, op, path, entity, model);
|
|
237
|
-
},
|
|
238
|
-
update: (entityModel, pathdef, op, path, entity, model) => {
|
|
239
|
-
return opBuilder.any(entityModel, pathdef, op, path, entity, model);
|
|
240
|
-
},
|
|
241
|
-
remove: (entityModel, pathdef, op, path, entity, model) => {
|
|
242
|
-
return opBuilder.any(entityModel, pathdef, op, path, entity, model);
|
|
243
|
-
},
|
|
244
|
-
};
|
|
245
|
-
/*
|
|
246
|
-
console.dir(
|
|
247
|
-
transform({ guide }, {
|
|
248
|
-
entity: {
|
|
249
|
-
'`$PACK`': ['guide.entity', {
|
|
250
|
-
'`$KEY`': 'name',
|
|
251
|
-
op: {
|
|
252
|
-
// load: ['`$IF`', ['`$SELECT`',{path:{'`$ANY`':{op:{load:'`$EXISTS`'}}}}], {
|
|
253
|
-
load: ['`$IF`', 'path.*.op.load', {
|
|
254
|
-
path: () => 'foo'
|
|
255
|
-
}]
|
|
256
|
-
}
|
|
257
|
-
}]
|
|
258
|
-
}
|
|
259
|
-
}), { depth: null })
|
|
260
|
-
*/
|
|
261
|
-
(0, jostraca_1.each)(guide.entity, (guideEntity) => {
|
|
262
|
-
let opcount = 0;
|
|
263
|
-
const entityModel = apimodel.main.api.entity[guideEntity.key$];
|
|
264
|
-
(0, jostraca_1.each)(guideEntity.path, (guidePath) => {
|
|
265
|
-
const pathdef = def.paths[guidePath.key$];
|
|
266
|
-
(0, jostraca_1.each)(guidePath.op, (guideOp) => {
|
|
267
|
-
const opbuild = opBuilder[guideOp.key$];
|
|
268
|
-
if (opbuild) {
|
|
269
|
-
opbuild(entityModel, pathdef, guideOp, guidePath, guideEntity, model);
|
|
270
|
-
opcount++;
|
|
271
|
-
}
|
|
272
|
-
});
|
|
273
|
-
});
|
|
274
|
-
// Full list of params only know after all operations built.
|
|
275
|
-
(0, jostraca_1.each)(entityModel.op, (op) => {
|
|
276
|
-
const params = Object.keys(op.param || {});
|
|
277
|
-
const pathalt = op.pathalt || [];
|
|
278
|
-
// if ('course' === entityModel.name) {
|
|
279
|
-
// console.log('PA', params, pathalt)
|
|
280
|
-
// }
|
|
281
|
-
for (const pa of pathalt) {
|
|
282
|
-
for (const p of params) {
|
|
283
|
-
pa[p] = pa[p] || false;
|
|
284
|
-
// if ('course' === entityModel.name) {
|
|
285
|
-
// console.log('PA-SET', p, pa)
|
|
286
|
-
// }
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
});
|
|
290
|
-
// if ('course' === entityModel.name) {
|
|
291
|
-
// console.dir(entityModel, { depth: null })
|
|
292
|
-
// }
|
|
293
|
-
msg += guideEntity.name + '=' + opcount + ' ';
|
|
20
|
+
resolveLoad(opm, gent);
|
|
21
|
+
resolveList(opm, gent);
|
|
22
|
+
resolveCreate(opm, gent);
|
|
23
|
+
resolveUpdate(opm, gent);
|
|
24
|
+
resolveRemove(opm, gent);
|
|
25
|
+
resolvePatch(opm, gent);
|
|
26
|
+
kit.entity[entname].op = opm;
|
|
27
|
+
msg += gent.name + ' ';
|
|
294
28
|
});
|
|
295
29
|
return { ok: true, msg };
|
|
296
30
|
};
|
|
297
31
|
exports.operationTransform = operationTransform;
|
|
298
|
-
function
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
32
|
+
function collectOps(gent) {
|
|
33
|
+
;
|
|
34
|
+
gent.opm$ = gent.opm$ ?? {};
|
|
35
|
+
(0, jostraca_1.each)(gent.paths$, (pathdesc) => {
|
|
36
|
+
(0, jostraca_1.each)(pathdesc.op, (gop, opname) => {
|
|
37
|
+
;
|
|
38
|
+
gent.opm$[opname] = gent.opm$[opname] ?? { paths: [] };
|
|
39
|
+
const oppathdesc = {
|
|
40
|
+
orig: pathdesc.orig,
|
|
41
|
+
parts: pathdesc.parts,
|
|
42
|
+
rename: pathdesc.rename,
|
|
43
|
+
method: gop.method,
|
|
44
|
+
op: gop,
|
|
45
|
+
def: pathdesc.def,
|
|
46
|
+
};
|
|
47
|
+
gent.opm$[opname].paths.push(oppathdesc);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function resolveLoad(opm, gent) {
|
|
52
|
+
const opdesc = opm.load = resolveOp('load', gent);
|
|
53
|
+
return opdesc;
|
|
54
|
+
}
|
|
55
|
+
function resolveList(opm, gent) {
|
|
56
|
+
const opdesc = opm.list = resolveOp('list', gent);
|
|
57
|
+
return opdesc;
|
|
58
|
+
}
|
|
59
|
+
function resolveCreate(opm, gent) {
|
|
60
|
+
const opdesc = opm.create = resolveOp('create', gent);
|
|
61
|
+
return opdesc;
|
|
62
|
+
}
|
|
63
|
+
function resolveUpdate(opm, gent) {
|
|
64
|
+
const opdesc = opm.update = resolveOp('update', gent);
|
|
65
|
+
return opdesc;
|
|
66
|
+
}
|
|
67
|
+
function resolveRemove(opm, gent) {
|
|
68
|
+
const opdesc = opm.remove = resolveOp('remove', gent);
|
|
69
|
+
return opdesc;
|
|
70
|
+
}
|
|
71
|
+
function resolvePatch(opm, gent) {
|
|
72
|
+
const opdesc = resolveOp('patch', gent);
|
|
73
|
+
// If patch is actually update, make it update!
|
|
74
|
+
if (null != opdesc && null == opm.update) {
|
|
75
|
+
opm.update = opdesc;
|
|
76
|
+
opm.update.name = 'update';
|
|
305
77
|
}
|
|
306
|
-
|
|
307
|
-
|
|
78
|
+
else {
|
|
79
|
+
opm.patch = opdesc;
|
|
80
|
+
}
|
|
81
|
+
return opdesc;
|
|
82
|
+
}
|
|
83
|
+
function resolveOp(opname, gent) {
|
|
84
|
+
let mop = undefined;
|
|
85
|
+
let opdesc = gent.opm$[opname];
|
|
86
|
+
if (opdesc) {
|
|
87
|
+
mop = {
|
|
88
|
+
name: opname,
|
|
89
|
+
alts: opdesc.paths.map((p) => {
|
|
90
|
+
const parts = applyRename(p);
|
|
91
|
+
const malt = {
|
|
92
|
+
orig: p.orig,
|
|
93
|
+
parts,
|
|
94
|
+
rename: p.rename,
|
|
95
|
+
method: p.method,
|
|
96
|
+
args: {},
|
|
97
|
+
transform: opdesc.transform ?? {},
|
|
98
|
+
select: {
|
|
99
|
+
exist: []
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
malt.transform.req = malt.transform.req ?? '`reqdata`';
|
|
103
|
+
malt.transform.res = malt.transform.res ?? '`body`';
|
|
104
|
+
return malt;
|
|
105
|
+
})
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
return mop;
|
|
109
|
+
}
|
|
110
|
+
function applyRename(pathdesc) {
|
|
111
|
+
const prn = pathdesc.rename?.param ?? {};
|
|
112
|
+
return pathdesc.parts.map(p => '{' === p[0] ? (prn[p.substring(1, p.length - 1)] ?? p) : p);
|
|
308
113
|
}
|
|
309
114
|
//# sourceMappingURL=operation.js.map
|
|
@@ -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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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.selectTransform = void 0;
|
|
4
|
+
const jostraca_1 = require("jostraca");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
const selectTransform = async function (ctx) {
|
|
7
|
+
const { apimodel, def, guide } = ctx;
|
|
8
|
+
const kit = apimodel.main[types_1.KIT];
|
|
9
|
+
let msg = 'select ';
|
|
10
|
+
(0, jostraca_1.each)(kit.entity, (ment, _entname) => {
|
|
11
|
+
(0, jostraca_1.each)(ment.op, (mop, _opname) => {
|
|
12
|
+
(0, jostraca_1.each)(mop.alts, (malt) => {
|
|
13
|
+
const pdef = def.paths[malt.orig];
|
|
14
|
+
resolveSelect(guide, ment, mop, malt, pdef);
|
|
15
|
+
});
|
|
16
|
+
if (null != mop.alts && 0 < mop.alts.length) {
|
|
17
|
+
sortAlts(guide, ment, mop);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
msg += ment.name + ' ';
|
|
21
|
+
});
|
|
22
|
+
return { ok: true, msg };
|
|
23
|
+
};
|
|
24
|
+
exports.selectTransform = selectTransform;
|
|
25
|
+
function resolveSelect(guide, ment, _mop, malt, _pdef) {
|
|
26
|
+
const select = malt.select;
|
|
27
|
+
const margs = malt.args;
|
|
28
|
+
const argkinds = ['param', 'query', 'header', 'cookie'];
|
|
29
|
+
argkinds.map((kind) => {
|
|
30
|
+
(0, jostraca_1.each)(margs[kind], (marg) => {
|
|
31
|
+
if (!select.exist.includes(marg.name)) {
|
|
32
|
+
select.exist.push(marg.name);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
select.exist.sort();
|
|
37
|
+
const gent = guide.entity[ment.name];
|
|
38
|
+
const gpath = gent.path[malt.orig];
|
|
39
|
+
if (gpath.action) {
|
|
40
|
+
const actname = Object.keys(gpath.action)[0];
|
|
41
|
+
if (null != actname) {
|
|
42
|
+
select.$action = actname;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function sortAlts(_guide, _ment, mop) {
|
|
47
|
+
mop.alts.sort((a, b) => {
|
|
48
|
+
// longest exist len first
|
|
49
|
+
let order = b.select.exist.length - a.select.exist.length;
|
|
50
|
+
if (0 === order) {
|
|
51
|
+
if (null != a.select.$action && null != b.select.$action) {
|
|
52
|
+
order = a.select.$action < b.select.$action ? -1 :
|
|
53
|
+
a.select.$action > b.select.$action ? 1 : 0;
|
|
54
|
+
}
|
|
55
|
+
if (0 === order) {
|
|
56
|
+
const a_exist_str = a.select.exist.join('\t');
|
|
57
|
+
const b_exist_str = b.select.exist.join('\t');
|
|
58
|
+
order = a_exist_str < b_exist_str ? -1 :
|
|
59
|
+
a_exist_str > b_exist_str ? 1 : 0;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return order;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/transform/select.ts"],"names":[],"mappings":"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"}
|
package/dist/transform/top.js
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.topTransform = void 0;
|
|
4
|
+
const struct_1 = require("@voxgig/struct");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
// Guide* => from guide model
|
|
7
|
+
// *Desc => internal working descriptiuon
|
|
8
|
+
// *Def => API spec definition
|
|
9
|
+
// Model* => Generated SDK Model
|
|
10
|
+
// type GuideEntity = {
|
|
11
|
+
// name: string,
|
|
12
|
+
// path: Record<string, GuidePath>
|
|
13
|
+
// paths$: PathDesc[]
|
|
14
|
+
// opm$: Record<OpName, OpDesc>
|
|
15
|
+
// }
|
|
4
16
|
const topTransform = async function (ctx) {
|
|
5
17
|
const { apimodel, def } = ctx;
|
|
6
|
-
apimodel.main.
|
|
7
|
-
|
|
18
|
+
const kit = apimodel.main[types_1.KIT];
|
|
19
|
+
kit.info = def.info;
|
|
20
|
+
kit.info.servers = def.servers ?? [];
|
|
21
|
+
// Swagger 2.0
|
|
22
|
+
if (def.host) {
|
|
23
|
+
kit.info.servers.push({
|
|
24
|
+
url: (def.schemes?.[0] ?? 'https') + '://' + (0, struct_1.joinurl)([def.host, def.basePath])
|
|
25
|
+
});
|
|
26
|
+
}
|
|
8
27
|
return { ok: true, msg: 'top' };
|
|
9
28
|
};
|
|
10
29
|
exports.topTransform = topTransform;
|
|
30
|
+
// export type {
|
|
31
|
+
// GuideEntity,
|
|
32
|
+
// }
|
|
11
33
|
//# sourceMappingURL=top.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top.js","sourceRoot":"","sources":["../../src/transform/top.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"top.js","sourceRoot":"","sources":["../../src/transform/top.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AAExC,oCAA8B;AAmB9B,6BAA6B;AAC7B,yCAAyC;AACzC,8BAA8B;AAC9B,gCAAgC;AAGhC,uBAAuB;AACvB,kBAAkB;AAClB,oCAAoC;AAEpC,uBAAuB;AACvB,iCAAiC;AACjC,IAAI;AAGJ,MAAM,YAAY,GAAG,KAAK,WACxB,GAAQ;IAER,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;IAC7B,MAAM,GAAG,GAAa,QAAQ,CAAC,IAAI,CAAC,WAAG,CAAC,CAAA;IAExC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;IACnB,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;IAEpC,cAAc;IACd,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACpB,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,IAAA,gBAAO,EAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC/E,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC,CAAA;AAIC,oCAAY;AAId,gBAAgB;AAChB,iBAAiB;AACjB,IAAI"}
|
package/dist/transform.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ type TransformResult = {
|
|
|
15
15
|
err?: any;
|
|
16
16
|
transform?: any;
|
|
17
17
|
};
|
|
18
|
-
type Transform = (ctx: TransformCtx
|
|
18
|
+
type Transform = (ctx: TransformCtx) => Promise<TransformResult>;
|
|
19
19
|
declare const OPKIND: any;
|
|
20
20
|
declare const GuideShape: {
|
|
21
21
|
<V>(root?: V | undefined, ctx?: import("gubu").Context): V & {
|
package/dist/transform.js
CHANGED
|
@@ -8,11 +8,15 @@ const gubu_1 = require("gubu");
|
|
|
8
8
|
const top_1 = require("./transform/top");
|
|
9
9
|
const entity_1 = require("./transform/entity");
|
|
10
10
|
const operation_1 = require("./transform/operation");
|
|
11
|
+
const args_1 = require("./transform/args");
|
|
12
|
+
const select_1 = require("./transform/select");
|
|
11
13
|
const field_1 = require("./transform/field");
|
|
12
14
|
const TRANSFORM = {
|
|
13
15
|
top: top_1.topTransform,
|
|
14
16
|
entity: entity_1.entityTransform,
|
|
15
17
|
operation: operation_1.operationTransform,
|
|
18
|
+
args: args_1.argsTransform,
|
|
19
|
+
select: select_1.selectTransform,
|
|
16
20
|
field: field_1.fieldTransform,
|
|
17
21
|
// manual: manualTransform,
|
|
18
22
|
};
|
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;;;AA+G1C,0BAAO;AA1GT,uCAA+C;AAE/C,+BAAyC;AAEzC,yCAA8C;AAC9C,+CAAoD;AACpD,qDAA0D;AAC1D,2CAAgD;AAChD,+CAAoD;AACpD,6CAAkD;AAwClD,MAAM,SAAS,GAA8B;IAC3C,GAAG,EAAE,kBAAY;IACjB,MAAM,EAAE,wBAAe;IACvB,SAAS,EAAE,8BAAkB;IAC7B,IAAI,EAAE,oBAAa;IACnB,MAAM,EAAE,wBAAe;IACvB,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;AAwCC,wBAAM;AArCR,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;AAiCA,gCAAU;AA3BZ,SAAS,OAAO,CAAC,IAAS,EAAE,IAAY,EAAE,IAAI,GAAG,MAAM;IACrD,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAC7C,IAAI,CAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC/C,CAAC;SACI,CAAC;QACJ,2BAA2B;IAC7B,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/apidef.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/
|
|
1
|
+
{"root":["../src/apidef.ts","../src/def.ts","../src/desc.ts","../src/model.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/entity.ts","../src/builder/entity/info.ts","../src/builder/flow/flowheuristic01.ts","../src/guide/guide.ts","../src/guide/heuristic01.ts","../src/transform/args.ts","../src/transform/clean.ts","../src/transform/entity.ts","../src/transform/field.ts","../src/transform/flow.ts","../src/transform/flowstep.ts","../src/transform/operation.ts","../src/transform/select.ts","../src/transform/top.ts"],"version":"5.9.3"}
|