@voxgig/apidef 1.4.0 → 1.6.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 +9 -8
- package/dist/apidef.js +70 -13
- package/dist/apidef.js.map +1 -1
- package/dist/parse.js +0 -1
- package/dist/parse.js.map +1 -1
- package/dist/transform/entity.js +0 -4
- package/dist/transform/entity.js.map +1 -1
- package/dist/transform/field.js +0 -4
- package/dist/transform/field.js.map +1 -1
- package/dist/transform/manual.js +3 -3
- package/dist/transform/manual.js.map +1 -1
- package/dist/transform/operation.js +79 -41
- package/dist/transform/operation.js.map +1 -1
- package/dist/transform.d.ts +3 -0
- package/dist/transform.js +4 -26
- package/dist/transform.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/model/apidef.jsonic +10 -6
- package/package.json +11 -11
- package/src/apidef.ts +126 -19
- package/src/parse.ts +0 -2
- package/src/transform/entity.ts +0 -6
- package/src/transform/field.ts +0 -6
- package/src/transform/manual.ts +2 -2
- package/src/transform/operation.ts +119 -44
- package/src/transform.ts +4 -31
- package/dist/transform/fieldTransform.d.ts +0 -5
- package/dist/transform/fieldTransform.js +0 -55
- package/dist/transform/fieldTransform.js.map +0 -1
package/dist/apidef.d.ts
CHANGED
|
@@ -8,6 +8,14 @@ type ApiDefOptions = {
|
|
|
8
8
|
meta?: Record<string, any>;
|
|
9
9
|
outprefix?: string;
|
|
10
10
|
};
|
|
11
|
+
type ApiModel = {
|
|
12
|
+
main: {
|
|
13
|
+
api: {
|
|
14
|
+
entity: Record<string, any>;
|
|
15
|
+
};
|
|
16
|
+
def: Record<string, any>;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
11
19
|
declare function ApiDef(opts: ApiDefOptions): {
|
|
12
20
|
generate: (spec: any) => Promise<{
|
|
13
21
|
ok: boolean;
|
|
@@ -21,14 +29,7 @@ declare function ApiDef(opts: ApiDefOptions): {
|
|
|
21
29
|
} | {
|
|
22
30
|
ok: boolean;
|
|
23
31
|
name: string;
|
|
24
|
-
apimodel:
|
|
25
|
-
main: {
|
|
26
|
-
api: {
|
|
27
|
-
entity: {};
|
|
28
|
-
};
|
|
29
|
-
def: {};
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
+
apimodel: ApiModel;
|
|
32
33
|
processResult?: undefined;
|
|
33
34
|
}>;
|
|
34
35
|
};
|
package/dist/apidef.js
CHANGED
|
@@ -43,12 +43,12 @@ const node_path_1 = __importDefault(require("node:path"));
|
|
|
43
43
|
const node_util_1 = require("node:util");
|
|
44
44
|
const openapi_core_1 = require("@redocly/openapi-core");
|
|
45
45
|
const gubu_1 = require("gubu");
|
|
46
|
+
const jostraca_1 = require("jostraca");
|
|
46
47
|
const util_1 = require("@voxgig/util");
|
|
47
48
|
const transform_1 = require("./transform");
|
|
48
49
|
const ModelShape = (0, gubu_1.Gubu)({
|
|
49
50
|
def: String,
|
|
50
51
|
main: {
|
|
51
|
-
guide: {},
|
|
52
52
|
sdk: {},
|
|
53
53
|
def: {},
|
|
54
54
|
api: {},
|
|
@@ -137,14 +137,27 @@ function ApiDef(opts) {
|
|
|
137
137
|
});
|
|
138
138
|
return { ok: false, name: 'apidef', processResult };
|
|
139
139
|
}
|
|
140
|
+
const modelPath = node_path_1.default.normalize(spec.config.model);
|
|
141
|
+
buildModel_api(apimodel, modelPath);
|
|
142
|
+
buildModel_def(apimodel, modelPath);
|
|
143
|
+
buildModel_entity(apimodel, modelPath);
|
|
144
|
+
log.info({ point: 'generate-end', note: 'success', break: true });
|
|
145
|
+
return {
|
|
146
|
+
ok: true,
|
|
147
|
+
name: 'apidef',
|
|
148
|
+
apimodel,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
function buildModel_api(apimodel, modelPath) {
|
|
140
152
|
const modelapi = { main: { api: apimodel.main.api } };
|
|
141
153
|
let modelSrc = JSON.stringify(modelapi, null, 2);
|
|
142
154
|
modelSrc =
|
|
143
155
|
'# GENERATED FILE - DO NOT EDIT\n\n' +
|
|
144
156
|
modelSrc.substring(1, modelSrc.length - 1).replace(/\n /g, '\n');
|
|
145
|
-
const modelPath = node_path_1.default.normalize(spec.config.model);
|
|
146
|
-
// console.log('modelPath', modelPath)
|
|
147
157
|
writeChanged('api-model', modelPath, modelSrc);
|
|
158
|
+
return modelPath;
|
|
159
|
+
}
|
|
160
|
+
function buildModel_def(apimodel, modelPath) {
|
|
148
161
|
const modelBasePath = node_path_1.default.dirname(modelPath);
|
|
149
162
|
const defFilePath = node_path_1.default.join(modelBasePath, (null == opts.outprefix ? '' : opts.outprefix) + 'def-generated.jsonic');
|
|
150
163
|
const modelDef = { main: { def: apimodel.main.def } };
|
|
@@ -153,16 +166,42 @@ function ApiDef(opts) {
|
|
|
153
166
|
'# GENERATED FILE - DO NOT EDIT\n\n' +
|
|
154
167
|
modelDefSrc.substring(1, modelDefSrc.length - 1).replace(/\n /g, '\n');
|
|
155
168
|
writeChanged('def-model', defFilePath, modelDefSrc);
|
|
156
|
-
log.info({ point: 'generate-end', note: 'success', break: true });
|
|
157
|
-
return {
|
|
158
|
-
ok: true,
|
|
159
|
-
name: 'apidef',
|
|
160
|
-
apimodel,
|
|
161
|
-
};
|
|
162
169
|
}
|
|
163
|
-
function
|
|
170
|
+
function buildModel_entity(apimodel, modelPath) {
|
|
171
|
+
const modelBasePath = node_path_1.default.dirname(modelPath);
|
|
172
|
+
const entityIncludes = [];
|
|
173
|
+
(0, jostraca_1.each)(apimodel.main.api.entity, ((entity) => {
|
|
174
|
+
entityIncludes.push(entity.name);
|
|
175
|
+
// HEURISTIC: id may be name_id or nameId
|
|
176
|
+
const fieldAliases = (0, jostraca_1.each)(entity.op, (op) => (0, jostraca_1.each)(op.param))
|
|
177
|
+
.flat()
|
|
178
|
+
.reduce((a, p) => (entity.field[p.keys] ? null :
|
|
179
|
+
(p.key$.toLowerCase().includes(entity.name) ?
|
|
180
|
+
(a[p.key$] = 'id', a.id = p.key$) :
|
|
181
|
+
null)
|
|
182
|
+
, a), {});
|
|
183
|
+
const fieldAliasesSrc = JSON.stringify(fieldAliases, null, 2)
|
|
184
|
+
.replace(/\n/g, '\n ');
|
|
185
|
+
const entityFileSrc = `
|
|
186
|
+
# Entity ${entity.name}
|
|
187
|
+
|
|
188
|
+
main: sdk: entity: ${entity.name}: {
|
|
189
|
+
alias: field: ${fieldAliasesSrc}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
`;
|
|
193
|
+
const entityFilePath = node_path_1.default.join(modelBasePath, 'entity', (null == opts.outprefix ? '' : opts.outprefix) + entity.name + '.jsonic');
|
|
194
|
+
fs.mkdirSync(node_path_1.default.dirname(entityFilePath), { recursive: true });
|
|
195
|
+
// TODO: diff merge
|
|
196
|
+
writeChanged('entity-model', entityFilePath, entityFileSrc, { update: false });
|
|
197
|
+
}));
|
|
198
|
+
modifyModel(fs, node_path_1.default.join(modelBasePath, (null == opts.outprefix ? '' : opts.outprefix) + 'sdk.jsonic'), entityIncludes);
|
|
199
|
+
}
|
|
200
|
+
function writeChanged(point, path, content, flags) {
|
|
164
201
|
let exists = false;
|
|
165
202
|
let changed = false;
|
|
203
|
+
flags = flags || {};
|
|
204
|
+
flags.update = null == flags.update ? true : !!flags.update;
|
|
166
205
|
let action = '';
|
|
167
206
|
try {
|
|
168
207
|
let existingContent = '';
|
|
@@ -173,15 +212,14 @@ function ApiDef(opts) {
|
|
|
173
212
|
existingContent = fs.readFileSync(path, 'utf8');
|
|
174
213
|
}
|
|
175
214
|
changed = existingContent !== content;
|
|
176
|
-
|
|
215
|
+
action = flags.update ? 'write' : 'skip';
|
|
177
216
|
log.info({
|
|
178
217
|
point: 'write-' + point,
|
|
179
218
|
note: (changed ? '' : 'not-') + 'changed ' + path,
|
|
180
219
|
write: 'file', skip: !changed, exists, changed,
|
|
181
220
|
contentLength: content.length, file: path
|
|
182
221
|
});
|
|
183
|
-
if (changed) {
|
|
184
|
-
action = 'write';
|
|
222
|
+
if (!exists || (changed && flags.update)) {
|
|
185
223
|
fs.writeFileSync(path, content);
|
|
186
224
|
}
|
|
187
225
|
}
|
|
@@ -220,4 +258,23 @@ ApiDef.makeBuild = async function (opts) {
|
|
|
220
258
|
build.step = 'pre';
|
|
221
259
|
return build;
|
|
222
260
|
};
|
|
261
|
+
async function modifyModel(fs, path, entityIncludes) {
|
|
262
|
+
// TODO: This is a kludge.
|
|
263
|
+
// Aontu should provide option for as-is AST so that can be used
|
|
264
|
+
// to find injection point more reliably
|
|
265
|
+
let src = fs.existsSync(path) ? fs.readFileSync(path, 'utf8') :
|
|
266
|
+
'main: sdk: entity: {}\n';
|
|
267
|
+
let newsrc = '' + src;
|
|
268
|
+
// Inject target file references into model
|
|
269
|
+
entityIncludes.sort().map((entname) => {
|
|
270
|
+
const lineRE = new RegExp(`@"entity/${entname}.jsonic"`);
|
|
271
|
+
if (!src.match(lineRE)) {
|
|
272
|
+
newsrc = newsrc.replace(/(main:\s+sdk:\s+entity:\s+\{\s*\}\n)/, '$1' +
|
|
273
|
+
`@"entity/${entname}.jsonic"\n`);
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
if (newsrc.length !== src.length) {
|
|
277
|
+
fs.writeFileSync(path, newsrc);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
223
280
|
//# sourceMappingURL=apidef.js.map
|
package/dist/apidef.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apidef.js","sourceRoot":"","sources":["../src/apidef.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"apidef.js","sourceRoot":"","sources":["../src/apidef.ts"],"names":[],"mappings":"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"}
|
package/dist/parse.js
CHANGED
package/dist/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":";AAAA,4CAA4C;;
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":";AAAA,4CAA4C;;AAgC1C,sBAAK;AA9BP,wDAAsE;AAGtE,KAAK,UAAU,KAAK,CAAC,IAAY,EAAE,MAAW;IAC5C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;SACI,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,IAAI,CAAC,CAAA;IAChE,CAAC;AACH,CAAC;AAGD,KAAK,UAAU,YAAY,CAAC,MAAW;IACrC,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAY,EAAC,EAAE,CAAC,CAAA;IACrC,IAAI,MAAM,CAAA;IAEV,MAAM,GAAG,MAAM,IAAA,+BAAgB,EAAC;QAC9B,MAAM;QACN,MAAM;QACN,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAA;IAEhC,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
package/dist/transform/entity.js
CHANGED
|
@@ -5,8 +5,6 @@ const jostraca_1 = require("jostraca");
|
|
|
5
5
|
const transform_1 = require("../transform");
|
|
6
6
|
const entityTransform = async function (ctx, guide, tspec, model, def) {
|
|
7
7
|
let msg = '';
|
|
8
|
-
// console.log('DEF', def)
|
|
9
|
-
// console.log('GUIDE', guide)
|
|
10
8
|
(0, jostraca_1.each)(guide.entity, (guideEntity) => {
|
|
11
9
|
const entityName = guideEntity.key$;
|
|
12
10
|
ctx.log.debug({ point: 'guide-entity', note: entityName });
|
|
@@ -23,8 +21,6 @@ const entityTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
23
21
|
(0, jostraca_1.each)(guideEntity.path, (guidePath) => {
|
|
24
22
|
const path = guidePath.key$;
|
|
25
23
|
const pathdef = def.paths[path];
|
|
26
|
-
// console.log('APIDEF FIND PATH', guidePath.key$, Object.keys(def.paths),
|
|
27
|
-
// Object.keys(def.paths).includes(guidePath.key$))
|
|
28
24
|
if (null == pathdef) {
|
|
29
25
|
throw new Error('path not found in OpenAPI: ' + path +
|
|
30
26
|
' (entity: ' + guideEntity.name + ')');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/transform/entity.ts"],"names":[],"mappings":";;;AAEA,uCAA+B;AAI/B,4CAAsC;AAGtC,MAAM,eAAe,GAAc,KAAK,WACtC,GAAiB,EACjB,KAAY,EACZ,KAAoB,EACpB,KAAU,EACV,GAAQ;IAER,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/transform/entity.ts"],"names":[],"mappings":";;;AAEA,uCAA+B;AAI/B,4CAAsC;AAGtC,MAAM,eAAe,GAAc,KAAK,WACtC,GAAiB,EACjB,KAAY,EACZ,KAAoB,EACpB,KAAU,EACV,GAAQ;IAER,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,IAAA,eAAI,EAAC,KAAK,CAAC,MAAM,EAAE,CAAC,WAAgB,EAAE,EAAE;QACtC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAA;QACnC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QAE1D,MAAM,WAAW,GAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG;YAC3D,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,EAAE,EAAE;gBACF,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;aACZ;SACF,CAAA;QAED,IAAA,mBAAO,EAAC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;QAEtC,IAAA,eAAI,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,SAAc,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAE/B,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,IAAI;oBAClD,YAAY,GAAG,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;YAC1C,CAAC;YAED,wBAAwB;YACxB,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClC,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM;iBACjC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBACxC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QAErD,CAAC,CAAC,CAAA;QAEF,GAAG,IAAI,WAAW,CAAC,IAAI,GAAG,GAAG,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;AAC1B,CAAC,CAAA;AAIC,0CAAe"}
|
package/dist/transform/field.js
CHANGED
|
@@ -25,7 +25,6 @@ const fieldTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
25
25
|
};
|
|
26
26
|
exports.fieldTransform = fieldTransform;
|
|
27
27
|
function fieldbuild(entityModel, pathdef, op, path, entity, model) {
|
|
28
|
-
// console.log('FB-A', op, pathdef)
|
|
29
28
|
let fieldCount = 0;
|
|
30
29
|
let fieldSets = (0, jostraca_1.getx)(pathdef.get, 'responses 200 content "application/json" schema');
|
|
31
30
|
if (fieldSets) {
|
|
@@ -36,10 +35,8 @@ function fieldbuild(entityModel, pathdef, op, path, entity, model) {
|
|
|
36
35
|
fieldSets = [fieldSets];
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
|
-
// console.log('TRANSFORM-FIELDSETS', fieldSets)
|
|
40
38
|
(0, jostraca_1.each)(fieldSets, (fieldSet) => {
|
|
41
39
|
(0, jostraca_1.each)(fieldSet.properties, (property) => {
|
|
42
|
-
// console.log(property)
|
|
43
40
|
const field = (entityModel.field[property.key$] = entityModel.field[property.key$] || {});
|
|
44
41
|
field.name = property.key$;
|
|
45
42
|
(0, transform_1.fixName)(field, field.name);
|
|
@@ -47,7 +44,6 @@ function fieldbuild(entityModel, pathdef, op, path, entity, model) {
|
|
|
47
44
|
(0, transform_1.fixName)(field, field.type, 'type');
|
|
48
45
|
field.short = property.description;
|
|
49
46
|
fieldCount++;
|
|
50
|
-
// console.log('FB-ID', field.name, entityModel.param)
|
|
51
47
|
});
|
|
52
48
|
});
|
|
53
49
|
// Guess id field name using GET path param
|
|
@@ -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,GAAiB,EACjB,KAAY,EACZ,KAAoB,EACpB,KAAU,EACV,GAAQ;IAGR,IAAI,GAAG,GAAG,UAAU,CAAA;IAEpB,IAAA,eAAI,EAAC,KAAK,CAAC,MAAM,EAAE,CAAC,WAAgB,EAAE,EAAE;QACtC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAA;QACnC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAErD,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAA,eAAI,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,SAAc,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAE/B,IAAA,eAAI,EAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAO,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAA;gBAEtB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;gBAClF,CAAC;YAEH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,GAAG,IAAI,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;AAC1B,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/transform/field.ts"],"names":[],"mappings":"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"}
|
package/dist/transform/manual.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.manualTransform = void 0;
|
|
4
|
-
const
|
|
5
|
-
const { deep } =
|
|
4
|
+
const jsonic_1 = require("jsonic");
|
|
5
|
+
const { deep } = jsonic_1.Jsonic.util;
|
|
6
6
|
const manualTransform = async function (ctx, guide, tspec, model, def) {
|
|
7
|
-
const {
|
|
7
|
+
const { manual } = guide;
|
|
8
8
|
deep(model, manual);
|
|
9
9
|
return { ok: true, msg: 'manual' };
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual.js","sourceRoot":"","sources":["../../src/transform/manual.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"manual.js","sourceRoot":"","sources":["../../src/transform/manual.ts"],"names":[],"mappings":";;;AACA,mCAA+B;AAO/B,MAAM,EAAE,IAAI,EAAE,GAAG,eAAM,CAAC,IAAI,CAAA;AAE5B,MAAM,eAAe,GAAG,KAAK,WAC3B,GAAiB,EACjB,KAAY,EACZ,KAAoB,EACpB,KAAU,EACV,GAAQ;IAGR,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAExB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAEnB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAA;AACpC,CAAC,CAAA;AAIC,0CAAe"}
|
|
@@ -21,45 +21,46 @@ const operationTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
21
21
|
const type = queryDef.schema ? queryDef.schema.type : queryDef.type;
|
|
22
22
|
(0, transform_1.fixName)(queryMap[queryDef.name], type, 'type');
|
|
23
23
|
};
|
|
24
|
-
// Resolve the JSON
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return place;
|
|
24
|
+
// Resolve the JSON structure of the request or response.
|
|
25
|
+
// NOTE: uses heuristics.
|
|
26
|
+
const resolveTransform = (op, kind, direction, pathdef) => {
|
|
27
|
+
let out;
|
|
28
|
+
if (null != op.transform?.[direction]) {
|
|
29
|
+
out = op.transform[direction];
|
|
31
30
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
(0, jostraca_1.getx)(mdef, 'responses.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
else {
|
|
32
|
+
const method = op.method;
|
|
33
|
+
const mdef = pathdef[method];
|
|
34
|
+
// TODO: fix getx
|
|
35
|
+
const content = 'res' === kind ?
|
|
36
|
+
((0, jostraca_1.getx)(mdef, 'responses.200.content') ||
|
|
37
|
+
(0, jostraca_1.getx)(mdef, 'responses.201.content')) :
|
|
38
|
+
(0, jostraca_1.getx)(mdef, 'requestBody.content');
|
|
39
|
+
const schema = content['application/json']?.schema;
|
|
40
|
+
const propkeys = null == schema?.properties ? [] : Object.keys(schema.properties);
|
|
41
|
+
const resolveDirectionTransform = 'resform' === direction ? resolveResponseTransform : resolveRequestTransform;
|
|
42
|
+
const transform = resolveDirectionTransform(op, kind, method, mdef, content, schema, propkeys);
|
|
43
|
+
// out = JSON.stringify(transform)
|
|
44
|
+
out = transform;
|
|
42
45
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
return out;
|
|
47
|
+
};
|
|
48
|
+
const resolveResponseTransform = (op, kind, method, mdef, content, schema, propkeys) => {
|
|
49
|
+
let transform = '`body`';
|
|
50
|
+
if (null == content || null == schema || null == propkeys) {
|
|
51
|
+
return transform;
|
|
47
52
|
}
|
|
48
|
-
const
|
|
49
|
-
// HEURISTIC: guess place
|
|
53
|
+
const opname = op.key$;
|
|
50
54
|
if ('list' === opname) {
|
|
51
|
-
if ('array'
|
|
52
|
-
place = '';
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
+
if ('array' !== schema.type) {
|
|
55
56
|
if (1 === propkeys.length) {
|
|
56
|
-
|
|
57
|
+
transform = '`body.' + propkeys[0] + '`';
|
|
57
58
|
}
|
|
58
59
|
else {
|
|
59
60
|
// Use sub property that is an array
|
|
60
61
|
for (let pk of propkeys) {
|
|
61
62
|
if ('array' === schema.properties[pk]?.type) {
|
|
62
|
-
|
|
63
|
+
transform = '`body.' + pk + '`';
|
|
63
64
|
break;
|
|
64
65
|
}
|
|
65
66
|
}
|
|
@@ -68,18 +69,55 @@ const operationTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
68
69
|
}
|
|
69
70
|
else {
|
|
70
71
|
if ('object' === schema.type) {
|
|
71
|
-
if (schema.properties.id) {
|
|
72
|
-
|
|
72
|
+
if (null == schema.properties.id) {
|
|
73
|
+
if (1 === propkeys.length) {
|
|
74
|
+
transform = '`body.' + propkeys[0] + '`';
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
for (let pk of propkeys) {
|
|
78
|
+
if (schema.properties[pk].properties?.id) {
|
|
79
|
+
transform = '`body.' + pk + '`';
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return transform;
|
|
88
|
+
};
|
|
89
|
+
const resolveRequestTransform = (op, kind, method, mdef, content, schema, propkeys) => {
|
|
90
|
+
let transform = '`data`';
|
|
91
|
+
if (null == content || null == schema || null == propkeys) {
|
|
92
|
+
return transform;
|
|
93
|
+
}
|
|
94
|
+
const opname = op.key$;
|
|
95
|
+
if ('list' === opname) {
|
|
96
|
+
if ('array' !== schema.type) {
|
|
97
|
+
if (1 === propkeys.length) {
|
|
98
|
+
transform = { [propkeys[0]]: '`data`' };
|
|
73
99
|
}
|
|
74
100
|
else {
|
|
101
|
+
// Use sub property that is an array
|
|
102
|
+
for (let pk of propkeys) {
|
|
103
|
+
if ('array' === schema.properties[pk]?.type) {
|
|
104
|
+
transform = { [pk]: '`data`' };
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
if ('object' === schema.type) {
|
|
113
|
+
if (null == schema.properties.id) {
|
|
75
114
|
if (1 === propkeys.length) {
|
|
76
|
-
|
|
115
|
+
transform = { [propkeys[0]]: '`data`' };
|
|
77
116
|
}
|
|
78
117
|
else {
|
|
79
|
-
// Use sub property with an id
|
|
80
118
|
for (let pk of propkeys) {
|
|
81
119
|
if (schema.properties[pk].properties?.id) {
|
|
82
|
-
|
|
120
|
+
transform = { [pk]: '`data`' };
|
|
83
121
|
break;
|
|
84
122
|
}
|
|
85
123
|
}
|
|
@@ -87,23 +125,23 @@ const operationTransform = async function (ctx, guide, tspec, model, def) {
|
|
|
87
125
|
}
|
|
88
126
|
}
|
|
89
127
|
}
|
|
90
|
-
|
|
91
|
-
return place;
|
|
128
|
+
return transform;
|
|
92
129
|
};
|
|
93
130
|
const opBuilder = {
|
|
94
131
|
any: (entityModel, pathdef, op, path, entity, model) => {
|
|
95
|
-
// console.log('OP', op, pathdef, path, entity)
|
|
96
132
|
const opname = op.key$;
|
|
97
|
-
const method = op.
|
|
133
|
+
const method = op.method;
|
|
98
134
|
const kind = transform_1.OPKIND[opname];
|
|
99
|
-
// console.log('EM', entityModel.name)
|
|
100
135
|
const em = entityModel.op[opname] = {
|
|
101
136
|
path: path.key$,
|
|
102
|
-
method
|
|
137
|
+
method,
|
|
103
138
|
kind,
|
|
104
139
|
param: {},
|
|
105
140
|
query: {},
|
|
106
|
-
|
|
141
|
+
// transform: {
|
|
142
|
+
resform: resolveTransform(op, kind, 'resform', pathdef),
|
|
143
|
+
reqform: resolveTransform(op, kind, 'reqform', pathdef),
|
|
144
|
+
// }
|
|
107
145
|
};
|
|
108
146
|
(0, transform_1.fixName)(em, op.key$);
|
|
109
147
|
// Params are in the path
|
|
@@ -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,GAAiB,EACjB,KAAY,EACZ,KAAoB,EACpB,KAAU,EACV,GAAQ;IAGR,IAAI,GAAG,GAAG,cAAc,CAAA;IAExB,MAAM,YAAY,GAAG,CAAC,QAAa,EAAE,QAAa,EAChD,WAAgB,EAAE,OAAY,EAC9B,EAAO,EAAE,IAAS,EAAE,MAAW,EAAE,KAAU,EAAE,EAAE;QAE/C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG;YACxB,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;IAChD,CAAC,CAAA;IAGD,MAAM,YAAY,GAAG,CAAC,QAAa,EAAE,QAAa,EAChD,WAAgB,EAAE,OAAY,EAC9B,EAAO,EAAE,IAAS,EAAE,MAAW,EAAE,KAAU,EAAE,EAAE;QAC/C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG;YACxB,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;IAChD,CAAC,CAAA;IAGD,
|
|
1
|
+
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/transform/operation.ts"],"names":[],"mappings":"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"}
|
package/dist/transform.d.ts
CHANGED
|
@@ -27,11 +27,13 @@ declare const GuideShape: {
|
|
|
27
27
|
entity: {};
|
|
28
28
|
control: {};
|
|
29
29
|
transform: {};
|
|
30
|
+
manual: {};
|
|
30
31
|
};
|
|
31
32
|
valid: <V>(root?: V | undefined, ctx?: import("gubu").Context) => root is V & {
|
|
32
33
|
entity: {};
|
|
33
34
|
control: {};
|
|
34
35
|
transform: {};
|
|
36
|
+
manual: {};
|
|
35
37
|
};
|
|
36
38
|
match(root?: any, ctx?: import("gubu").Context): boolean;
|
|
37
39
|
error(root?: any, ctx?: import("gubu").Context): {
|
|
@@ -75,6 +77,7 @@ declare const GuideShape: {
|
|
|
75
77
|
entity: {};
|
|
76
78
|
control: {};
|
|
77
79
|
transform: {};
|
|
80
|
+
manual: {};
|
|
78
81
|
}>;
|
|
79
82
|
stringify(...rest: any[]): string;
|
|
80
83
|
jsonify(): any;
|
package/dist/transform.js
CHANGED
|
@@ -32,26 +32,14 @@ const OPKIND = {
|
|
|
32
32
|
};
|
|
33
33
|
exports.OPKIND = OPKIND;
|
|
34
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
35
|
entity: {},
|
|
48
36
|
control: {},
|
|
49
37
|
transform: {},
|
|
38
|
+
manual: {},
|
|
50
39
|
});
|
|
51
40
|
exports.GuideShape = GuideShape;
|
|
52
41
|
async function resolveTransforms(ctx) {
|
|
53
|
-
const { log, model: { main: { guide } } } = ctx;
|
|
54
|
-
// console.dir(api, { depth: null })
|
|
42
|
+
const { log, model: { main: { api: { guide } } } } = ctx;
|
|
55
43
|
const tspec = {
|
|
56
44
|
transform: []
|
|
57
45
|
};
|
|
@@ -70,14 +58,12 @@ async function resolveTransforms(ctx) {
|
|
|
70
58
|
const transform = await resolveTransform(tn, ctx);
|
|
71
59
|
tspec.transform.push(transform);
|
|
72
60
|
}
|
|
73
|
-
// console.log('TSPEC', tspec)
|
|
74
61
|
return tspec;
|
|
75
62
|
}
|
|
76
63
|
async function resolveTransform(tn, ctx) {
|
|
77
|
-
const { log, defpath, model: { guide } } = ctx;
|
|
64
|
+
const { log, defpath, model: { main: { api: { guide } } } } = ctx;
|
|
78
65
|
let transform = TRANSFORM[tn];
|
|
79
66
|
if (transform) {
|
|
80
|
-
// console.log('resolveTransform', tn, transform)
|
|
81
67
|
return transform;
|
|
82
68
|
}
|
|
83
69
|
const tdef = guide.transform[tn];
|
|
@@ -110,7 +96,7 @@ async function processTransforms(ctx, spec, apimodel, def) {
|
|
|
110
96
|
msg: '',
|
|
111
97
|
results: []
|
|
112
98
|
};
|
|
113
|
-
const guide = GuideShape(ctx.model.main.guide);
|
|
99
|
+
const guide = GuideShape(ctx.model.main.api.guide);
|
|
114
100
|
for (let tI = 0; tI < spec.transform.length; tI++) {
|
|
115
101
|
const transform = spec.transform[tI];
|
|
116
102
|
try {
|
|
@@ -131,14 +117,6 @@ async function processTransforms(ctx, spec, apimodel, def) {
|
|
|
131
117
|
}
|
|
132
118
|
return pres;
|
|
133
119
|
}
|
|
134
|
-
/*
|
|
135
|
-
function extractFields(properties: any) {
|
|
136
|
-
const fieldMap = each(properties)
|
|
137
|
-
.reduce((a: any, p: any) => (a[p.key$] =
|
|
138
|
-
{ name: p.key$, kind: camelify(p.type) }, a), {})
|
|
139
|
-
return fieldMap
|
|
140
|
-
}
|
|
141
|
-
*/
|
|
142
120
|
function fixName(base, name, prop = 'name') {
|
|
143
121
|
base[prop.toLowerCase()] = name.toLowerCase();
|
|
144
122
|
base[(0, jostraca_1.camelify)(prop)] = (0, jostraca_1.camelify)(name);
|
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":"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"}
|