@voxgig/apidef 2.4.0 → 3.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 +5 -1
- package/dist/apidef.js +197 -112
- 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 +29 -4
- 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 +89 -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 +1120 -234
- package/dist/guide/heuristic01.js.map +1 -1
- package/dist/model.d.ts +55 -0
- package/dist/model.js +4 -0
- package/dist/model.js.map +1 -0
- package/dist/parse.d.ts +1 -2
- package/dist/parse.js +8 -47
- package/dist/parse.js.map +1 -1
- package/dist/transform/args.d.ts +3 -0
- package/dist/transform/args.js +58 -0
- package/dist/transform/args.js.map +1 -0
- package/dist/transform/clean.js +27 -3
- package/dist/transform/clean.js.map +1 -1
- package/dist/transform/entity.d.ts +11 -3
- package/dist/transform/entity.js +57 -41
- package/dist/transform/entity.js.map +1 -1
- package/dist/transform/field.d.ts +3 -3
- package/dist/transform/field.js +90 -65
- package/dist/transform/field.js.map +1 -1
- package/dist/transform/operation.d.ts +1 -1
- package/dist/transform/operation.js +94 -296
- package/dist/transform/operation.js.map +1 -1
- package/dist/transform/select.d.ts +3 -0
- package/dist/transform/select.js +44 -0
- package/dist/transform/select.js.map +1 -0
- package/dist/transform/top.d.ts +9 -0
- package/dist/transform/top.js +11 -2
- package/dist/transform/top.js.map +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 +112 -19
- package/dist/types.js +4 -2
- package/dist/types.js.map +1 -1
- package/dist/utility.d.ts +30 -2
- package/dist/utility.js +381 -6
- package/dist/utility.js.map +1 -1
- package/model/apidef.jsonic +75 -1
- package/model/guide.jsonic +14 -44
- package/package.json +19 -14
- package/src/apidef.ts +264 -121
- 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 +39 -5
- package/src/def.ts +91 -0
- package/src/desc.ts +143 -0
- package/src/guide/guide.ts +207 -134
- package/src/guide/heuristic01.ts +1651 -272
- package/src/model.ts +98 -0
- package/src/parse.ts +5 -61
- package/src/schematron.ts.off +317 -0
- package/src/transform/args.ts +102 -0
- package/src/transform/clean.ts +43 -8
- package/src/transform/entity.ts +100 -51
- package/src/transform/field.ts +150 -71
- package/src/transform/operation.ts +118 -414
- package/src/transform/select.ts +90 -0
- package/src/transform/top.ts +76 -3
- package/src/transform.ts +4 -0
- package/src/types.ts +185 -5
- package/src/utility.ts +481 -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
package/dist/apidef.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ApiDefOptions, ApiDefResult } from './types';
|
|
2
2
|
import { parse } from './parse';
|
|
3
|
+
import { formatJSONIC } from './utility';
|
|
3
4
|
declare function ApiDef(opts: ApiDefOptions): {
|
|
4
5
|
generate: (spec: any) => Promise<ApiDefResult>;
|
|
5
6
|
};
|
|
@@ -10,4 +11,7 @@ declare namespace ApiDef {
|
|
|
10
11
|
}>;
|
|
11
12
|
}
|
|
12
13
|
export type { ApiDefOptions, };
|
|
13
|
-
export {
|
|
14
|
+
export type { PathDef, MethodDef, ServerDef, ServerVariableDef, ParameterDef, SchemaDef, } from './def';
|
|
15
|
+
export type { CmpDesc, BasicMethodDesc, MethodDesc, MethodEntityDesc, EntityDesc, EntityPathDesc, PathDesc, OpDesc, } from './desc';
|
|
16
|
+
export type { OpName, ModelEntityRelations, ModelOpMap, ModelFieldOp, ModelField, ModelArg, ModelAlt, ModelOp, ModelEntity, } from './model';
|
|
17
|
+
export { ApiDef, parse, formatJSONIC, };
|
package/dist/apidef.js
CHANGED
|
@@ -37,22 +37,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.parse = void 0;
|
|
40
|
+
exports.formatJSONIC = exports.parse = void 0;
|
|
41
41
|
exports.ApiDef = ApiDef;
|
|
42
42
|
const Fs = __importStar(require("node:fs"));
|
|
43
43
|
const node_path_1 = __importDefault(require("node:path"));
|
|
44
44
|
const jostraca_1 = require("jostraca");
|
|
45
45
|
const util_1 = require("@voxgig/util");
|
|
46
|
+
const decircular_1 = __importDefault(require("decircular"));
|
|
46
47
|
const types_1 = require("./types");
|
|
47
48
|
const guide_1 = require("./guide/guide");
|
|
48
49
|
const parse_1 = require("./parse");
|
|
49
50
|
Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_1.parse; } });
|
|
50
51
|
const transform_1 = require("./transform");
|
|
51
|
-
const resolver_1 = require("./resolver");
|
|
52
52
|
const utility_1 = require("./utility");
|
|
53
|
+
Object.defineProperty(exports, "formatJSONIC", { enumerable: true, get: function () { return utility_1.formatJSONIC; } });
|
|
53
54
|
const top_1 = require("./transform/top");
|
|
54
55
|
const entity_1 = require("./transform/entity");
|
|
55
56
|
const operation_1 = require("./transform/operation");
|
|
57
|
+
const args_1 = require("./transform/args");
|
|
58
|
+
const select_1 = require("./transform/select");
|
|
56
59
|
const field_1 = require("./transform/field");
|
|
57
60
|
const clean_1 = require("./transform/clean");
|
|
58
61
|
const entity_2 = require("./builder/entity");
|
|
@@ -64,124 +67,205 @@ function ApiDef(opts) {
|
|
|
64
67
|
const fs = opts.fs || Fs;
|
|
65
68
|
const pino = (0, util_1.prettyPino)('apidef', opts);
|
|
66
69
|
const log = pino.child({ cmp: 'apidef' });
|
|
70
|
+
const warn = (0, utility_1.makeWarner)({ point: 'warning', log });
|
|
67
71
|
opts.strategy = opts.strategy || 'heuristic01';
|
|
68
72
|
async function generate(spec) {
|
|
69
73
|
const start = Date.now();
|
|
70
74
|
const steps = [];
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
75
|
+
let ctx = undefined;
|
|
76
|
+
let ctrl = undefined;
|
|
77
|
+
let jres = undefined;
|
|
78
|
+
try {
|
|
79
|
+
ctrl = (0, types_1.OpenControlShape)(spec.ctrl || {});
|
|
80
|
+
const model = (0, types_1.OpenModelShape)(spec.model || {});
|
|
81
|
+
const build = (0, types_1.OpenBuildShape)(spec.build || {});
|
|
82
|
+
// Step: parse (API spec).
|
|
83
|
+
if (!ctrl.step.parse) {
|
|
84
|
+
return { ok: true, steps, start, end: Date.now(), ctrl };
|
|
85
|
+
}
|
|
86
|
+
(0, jostraca_1.names)(model, model.name);
|
|
87
|
+
const apimodel = {
|
|
88
|
+
main: {
|
|
89
|
+
api: {},
|
|
90
|
+
[types_1.KIT]: {
|
|
91
|
+
info: {},
|
|
92
|
+
entity: {},
|
|
93
|
+
flow: {},
|
|
94
|
+
},
|
|
95
|
+
def: {},
|
|
84
96
|
},
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
});
|
|
144
|
-
steps.push('builders');
|
|
145
|
-
// Step: generate (generate model files).
|
|
146
|
-
if (!ctrl.step.generate) {
|
|
147
|
-
return { ok: false, steps, start, end: Date.now(), ctrl, guide: ctx.guide };
|
|
148
|
-
}
|
|
149
|
-
const jostraca = (0, jostraca_1.Jostraca)({
|
|
150
|
-
now: spec.now,
|
|
151
|
-
fs: () => fs,
|
|
152
|
-
log,
|
|
153
|
-
});
|
|
154
|
-
const jmodel = {};
|
|
155
|
-
const root = () => (0, jostraca_1.Project)({ folder: '.' }, async () => {
|
|
156
|
-
for (let builder of builders) {
|
|
157
|
-
builder();
|
|
97
|
+
};
|
|
98
|
+
const buildspec = build.spec;
|
|
99
|
+
let defpath = model.def;
|
|
100
|
+
// TOOD: defpath should be independently defined
|
|
101
|
+
defpath = node_path_1.default.join(buildspec.base, '..', 'def', defpath);
|
|
102
|
+
log.info({
|
|
103
|
+
point: 'generate-start',
|
|
104
|
+
note: defpath.replace(process.cwd(), '.'),
|
|
105
|
+
defpath,
|
|
106
|
+
start
|
|
107
|
+
});
|
|
108
|
+
// TODO: Validate spec
|
|
109
|
+
ctx = {
|
|
110
|
+
fs,
|
|
111
|
+
log,
|
|
112
|
+
spec,
|
|
113
|
+
opts,
|
|
114
|
+
util: { fixName: transform_1.fixName },
|
|
115
|
+
defpath: node_path_1.default.dirname(defpath),
|
|
116
|
+
model,
|
|
117
|
+
apimodel,
|
|
118
|
+
guide: {},
|
|
119
|
+
def: undefined,
|
|
120
|
+
note: {},
|
|
121
|
+
warn,
|
|
122
|
+
// TODO: remove (moved to guide)
|
|
123
|
+
metrics: {
|
|
124
|
+
count: {
|
|
125
|
+
path: 0,
|
|
126
|
+
method: 0,
|
|
127
|
+
origcmprefs: {},
|
|
128
|
+
cmp: 0,
|
|
129
|
+
tag: 0,
|
|
130
|
+
entity: 0,
|
|
131
|
+
},
|
|
132
|
+
found: {
|
|
133
|
+
cmp: {},
|
|
134
|
+
tag: {}
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
work: {}
|
|
138
|
+
};
|
|
139
|
+
const defsrc = (0, utility_1.loadFile)(defpath, 'def', fs, log);
|
|
140
|
+
const def = await (0, parse_1.parse)('OpenAPI', defsrc, { file: defpath });
|
|
141
|
+
const defkeys = Object.keys(def);
|
|
142
|
+
log.info({
|
|
143
|
+
point: 'root-keys',
|
|
144
|
+
defpath,
|
|
145
|
+
note: defkeys.join(', ')
|
|
146
|
+
});
|
|
147
|
+
const safedef = (0, decircular_1.default)(def);
|
|
148
|
+
const fullsrc = JSON.stringify(safedef, null, 2);
|
|
149
|
+
fs.writeFileSync(defpath + '.full.json', fullsrc);
|
|
150
|
+
ctx.def = safedef;
|
|
151
|
+
steps.push('parse');
|
|
152
|
+
// Step: guide (derive).
|
|
153
|
+
if (!ctrl.step.guide) {
|
|
154
|
+
return { ok: false, steps, start, end: Date.now(), ctrl };
|
|
158
155
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
folder: opts.folder,
|
|
163
|
-
model: jmodel,
|
|
164
|
-
existing: { txt: { merge: true } }
|
|
165
|
-
}, root);
|
|
166
|
-
const dlogs = dlog.log();
|
|
167
|
-
if (0 < dlogs.length) {
|
|
168
|
-
for (let dlogentry of dlogs) {
|
|
169
|
-
log.debug({ point: 'generate-warning', dlogentry, note: String(dlogentry) });
|
|
156
|
+
const guideModel = await (0, guide_1.buildGuide)(ctx);
|
|
157
|
+
if (null == guideModel) {
|
|
158
|
+
throw new Error('Unable to build guide.');
|
|
170
159
|
}
|
|
160
|
+
ctx.guide = guideModel.guide;
|
|
161
|
+
steps.push('guide');
|
|
162
|
+
// Step: transformers (transform spec and guide into core structures).
|
|
163
|
+
if (!ctrl.step.transformers) {
|
|
164
|
+
return { ok: true, steps, start, end: Date.now(), ctrl, guide: ctx.guide };
|
|
165
|
+
}
|
|
166
|
+
/*
|
|
167
|
+
const transres = await resolveElements(ctx, 'transform', 'openapi', {
|
|
168
|
+
top: topTransform,
|
|
169
|
+
entity: entityTransform,
|
|
170
|
+
operation: operationTransform,
|
|
171
|
+
args: argsTransform,
|
|
172
|
+
field: fieldTransform,
|
|
173
|
+
clean: cleanTransform,
|
|
174
|
+
})
|
|
175
|
+
*/
|
|
176
|
+
// const transformResult = await runTransform(ctx)
|
|
177
|
+
// if (null == transformResult) {
|
|
178
|
+
// throw new Error('Unable to run Transform.')
|
|
179
|
+
// }
|
|
180
|
+
await (0, top_1.topTransform)(ctx);
|
|
181
|
+
await (0, entity_1.entityTransform)(ctx);
|
|
182
|
+
await (0, operation_1.operationTransform)(ctx);
|
|
183
|
+
await (0, args_1.argsTransform)(ctx);
|
|
184
|
+
await (0, select_1.selectTransform)(ctx);
|
|
185
|
+
await (0, field_1.fieldTransform)(ctx);
|
|
186
|
+
await (0, clean_1.cleanTransform)(ctx);
|
|
187
|
+
steps.push('transformers');
|
|
188
|
+
// Step: builders (build generated sub models).
|
|
189
|
+
if (!ctrl.step.builders) {
|
|
190
|
+
return { ok: true, steps, start, end: Date.now(), ctrl, guide: ctx.guide };
|
|
191
|
+
}
|
|
192
|
+
const builders = [
|
|
193
|
+
await (0, entity_2.makeEntityBuilder)(ctx),
|
|
194
|
+
// TODO: move to sdkgen
|
|
195
|
+
await (0, flow_1.makeFlowBuilder)(ctx),
|
|
196
|
+
];
|
|
197
|
+
steps.push('builders');
|
|
198
|
+
// Step: generate (generate model files).
|
|
199
|
+
if (!ctrl.step.generate) {
|
|
200
|
+
return { ok: true, steps, start, end: Date.now(), ctrl, guide: ctx.guide };
|
|
201
|
+
}
|
|
202
|
+
const jostraca = (0, jostraca_1.Jostraca)({
|
|
203
|
+
now: spec.now,
|
|
204
|
+
fs: () => fs,
|
|
205
|
+
log,
|
|
206
|
+
});
|
|
207
|
+
const jmodel = {};
|
|
208
|
+
const root = () => (0, jostraca_1.Project)({ folder: '.' }, async () => {
|
|
209
|
+
for (let builder of builders) {
|
|
210
|
+
builder();
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
jres = await jostraca.generate({
|
|
214
|
+
// folder: Path.dirname(opts.folder as string),
|
|
215
|
+
folder: opts.folder,
|
|
216
|
+
model: jmodel,
|
|
217
|
+
existing: { txt: { merge: true } }
|
|
218
|
+
}, root);
|
|
219
|
+
const dlogs = dlog.log();
|
|
220
|
+
if (0 < dlogs.length) {
|
|
221
|
+
for (let dlogentry of dlogs) {
|
|
222
|
+
log.debug({ point: 'generate-debug', dlogentry, note: String(dlogentry) });
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
steps.push('generate');
|
|
226
|
+
const hasWarnings = 0 < warn.history.length;
|
|
227
|
+
const endnote = hasWarnings ? `PARTIAL BUILD! There were ${warn.history.length} warnings (see above).` :
|
|
228
|
+
'success';
|
|
229
|
+
log[hasWarnings ? 'warn' : 'info']({ point: 'generate-end', note: endnote, break: true });
|
|
230
|
+
if (hasWarnings) {
|
|
231
|
+
(0, utility_1.writeFileSyncWarn)(warn, fs, './apidef-warnings.txt', warn.history.map(n => (0, utility_1.formatJSONIC)(n)).join('\n\n'));
|
|
232
|
+
}
|
|
233
|
+
return {
|
|
234
|
+
ok: true,
|
|
235
|
+
err: null,
|
|
236
|
+
start,
|
|
237
|
+
end: Date.now(),
|
|
238
|
+
steps,
|
|
239
|
+
ctrl,
|
|
240
|
+
guide: ctx.guide,
|
|
241
|
+
apimodel: ctx.apimodel,
|
|
242
|
+
ctx,
|
|
243
|
+
jres,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
catch (err) {
|
|
247
|
+
const endnote = '!! BUILD FAILED !! ' + err.message;
|
|
248
|
+
log.error({ point: 'generate-end', err, note: endnote, break: true });
|
|
249
|
+
warn.history.push({
|
|
250
|
+
point: warn.point,
|
|
251
|
+
when: Date.now(),
|
|
252
|
+
err,
|
|
253
|
+
note: endnote
|
|
254
|
+
});
|
|
255
|
+
(0, utility_1.writeFileSyncWarn)(warn, fs, './apidef-warnings.txt', warn.history.map(n => (0, utility_1.formatJSONIC)(n)).join('\n\n'));
|
|
256
|
+
return {
|
|
257
|
+
ok: false,
|
|
258
|
+
err,
|
|
259
|
+
start,
|
|
260
|
+
end: Date.now(),
|
|
261
|
+
steps,
|
|
262
|
+
ctrl,
|
|
263
|
+
guide: ctx?.guide,
|
|
264
|
+
apimodel: ctx?.apimodel,
|
|
265
|
+
ctx,
|
|
266
|
+
jres,
|
|
267
|
+
};
|
|
171
268
|
}
|
|
172
|
-
steps.push('generate');
|
|
173
|
-
log.info({ point: 'generate-end', note: 'success', break: true });
|
|
174
|
-
return {
|
|
175
|
-
ok: true,
|
|
176
|
-
start,
|
|
177
|
-
end: Date.now(),
|
|
178
|
-
steps,
|
|
179
|
-
ctrl,
|
|
180
|
-
guide: ctx.guide,
|
|
181
|
-
apimodel,
|
|
182
|
-
ctx,
|
|
183
|
-
jres,
|
|
184
|
-
};
|
|
185
269
|
}
|
|
186
270
|
return {
|
|
187
271
|
generate,
|
|
@@ -205,6 +289,7 @@ ApiDef.makeBuild = async function (opts) {
|
|
|
205
289
|
outprefix: opts.outprefix,
|
|
206
290
|
strategy: opts.strategy,
|
|
207
291
|
pino: build.log,
|
|
292
|
+
why: opts.why,
|
|
208
293
|
});
|
|
209
294
|
}
|
|
210
295
|
const ctrl = build.spec.buildargs?.apidef?.ctrl || {};
|
package/dist/apidef.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apidef.js","sourceRoot":"","sources":["../src/apidef.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"apidef.js","sourceRoot":"","sources":["../src/apidef.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,30 +4,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.resolveEntity = resolveEntity;
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
9
|
const jostraca_1 = require("jostraca");
|
|
10
|
+
const types_1 = require("../../types");
|
|
10
11
|
const utility_1 = require("../../utility");
|
|
11
|
-
function
|
|
12
|
+
function resolveEntity(apimodel, opts) {
|
|
13
|
+
const kit = apimodel.main[types_1.KIT];
|
|
12
14
|
const barrel = [
|
|
13
15
|
'# Entity Models\n'
|
|
14
16
|
];
|
|
15
17
|
const entityFiles = [];
|
|
16
|
-
(0, jostraca_1.each)(
|
|
18
|
+
(0, jostraca_1.each)(kit.entity, ((entity, entityName) => {
|
|
17
19
|
const entityFile = (null == opts.outprefix ? '' : opts.outprefix) + entityName + '.jsonic';
|
|
18
|
-
|
|
20
|
+
let entityJSONIC = (0, utility_1.formatJSONIC)(entity).trim();
|
|
21
|
+
entityJSONIC = entityJSONIC.substring(1, entityJSONIC.length - 1);
|
|
19
22
|
const fieldAliasesSrc = fieldAliases(entity);
|
|
20
23
|
const entitySrc = `# Entity: ${entity.name}\n\n` +
|
|
21
|
-
`main:
|
|
24
|
+
`main: ${types_1.KIT}: entity: ${entity.name}: {\n\n` +
|
|
22
25
|
` alias: field: ${fieldAliasesSrc}\n` +
|
|
23
|
-
|
|
26
|
+
entityJSONIC +
|
|
24
27
|
'\n\n}\n';
|
|
25
28
|
entityFiles.push({ name: entityFile, src: entitySrc });
|
|
26
29
|
barrel.push(`@"${node_path_1.default.basename(entityFile)}"`);
|
|
27
30
|
}));
|
|
28
|
-
const indexFile = (null == opts.outprefix ? '' : opts.outprefix) + '
|
|
31
|
+
const indexFile = (null == opts.outprefix ? '' : opts.outprefix) + 'entity-index.jsonic';
|
|
29
32
|
return function apiEntityBuilder() {
|
|
30
|
-
(0, jostraca_1.Folder)({ name: '
|
|
33
|
+
(0, jostraca_1.Folder)({ name: 'entity' }, () => {
|
|
31
34
|
(0, jostraca_1.each)(entityFiles, (entityFile) => {
|
|
32
35
|
(0, jostraca_1.File)({ name: entityFile.name }, () => (0, jostraca_1.Content)(entityFile.src));
|
|
33
36
|
});
|
|
@@ -48,4 +51,4 @@ function fieldAliases(entity) {
|
|
|
48
51
|
.replace(/\n/g, '\n ');
|
|
49
52
|
return fieldAliasesSrc;
|
|
50
53
|
}
|
|
51
|
-
//# sourceMappingURL=
|
|
54
|
+
//# sourceMappingURL=entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/builder/entity/entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Copyright (c) 2025 Voxgig, MIT License */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.resolveInfo = resolveInfo;
|
|
5
|
+
const utility_1 = require("../../utility");
|
|
6
|
+
const types_1 = require("../../types");
|
|
7
|
+
const jostraca_1 = require("jostraca");
|
|
8
|
+
function resolveInfo(apimodel, opts) {
|
|
9
|
+
const kit = apimodel.main[types_1.KIT];
|
|
10
|
+
const infoFile = (null == opts.outprefix ? '' : opts.outprefix) + 'api-info.jsonic';
|
|
11
|
+
const modelInfo = { main: { info: kit.info } };
|
|
12
|
+
let modelDefSrc = (0, utility_1.formatJSONIC)(modelInfo);
|
|
13
|
+
modelDefSrc =
|
|
14
|
+
'# API Information\n\n' +
|
|
15
|
+
modelDefSrc.substring(1, modelDefSrc.length - 1).replace(/\n /g, '\n');
|
|
16
|
+
return function infoBuilder() {
|
|
17
|
+
(0, jostraca_1.Folder)({ name: 'api' }, () => {
|
|
18
|
+
(0, jostraca_1.File)({ name: infoFile }, () => (0, jostraca_1.Content)(modelDefSrc));
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/builder/entity/info.ts"],"names":[],"mappings":";AAAA,4CAA4C;;AAmD1C,kCAAW;AAhDb,2CAA4C;AAU5C,uCAEoB;AAEpB,uCAIiB;AAGjB,SAAS,WAAW,CAClB,QAAa,EACb,IAAmB;IAEnB,MAAM,GAAG,GAAa,QAAQ,CAAC,IAAI,CAAC,WAAG,CAAC,CAAA;IAExC,MAAM,QAAQ,GACZ,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAA;IAEpE,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAA;IAE9C,IAAI,WAAW,GAAG,IAAA,sBAAY,EAAC,SAAS,CAAC,CAAA;IAEzC,WAAW;QACT,uBAAuB;YACvB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAEzE,OAAO,SAAS,WAAW;QACzB,IAAA,iBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;YAC3B,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,IAAA,kBAAO,EAAC,WAAW,CAAC,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;AAEH,CAAC"}
|
package/dist/builder/entity.js
CHANGED
|
@@ -2,29 +2,15 @@
|
|
|
2
2
|
/* Copyright (c) 2025 Voxgig, MIT License */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.makeEntityBuilder = makeEntityBuilder;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
// ApiDefOptions,
|
|
8
|
-
// Log,
|
|
9
|
-
// FsUtil,
|
|
10
|
-
// } from '../types'
|
|
11
|
-
// import {
|
|
12
|
-
// writeChanged
|
|
13
|
-
// } from '../utility'
|
|
14
|
-
const apiEntity_1 = require("./entity/apiEntity");
|
|
15
|
-
const def_1 = require("./entity/def");
|
|
16
|
-
// import {
|
|
17
|
-
// resolveSdkEntity
|
|
18
|
-
// } from './entity/sdkEntity'
|
|
5
|
+
const entity_1 = require("./entity/entity");
|
|
6
|
+
const info_1 = require("./entity/info");
|
|
19
7
|
async function makeEntityBuilder(ctx) {
|
|
20
8
|
const { apimodel, opts } = ctx;
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
defBuilder();
|
|
27
|
-
// sdkEntityBuilder()
|
|
9
|
+
const entityBuilder = (0, entity_1.resolveEntity)(apimodel, opts);
|
|
10
|
+
const infoBuilder = (0, info_1.resolveInfo)(apimodel, opts);
|
|
11
|
+
return function fullEntityBuilder() {
|
|
12
|
+
entityBuilder();
|
|
13
|
+
infoBuilder();
|
|
28
14
|
};
|
|
29
15
|
}
|
|
30
16
|
//# sourceMappingURL=entity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/builder/entity.ts"],"names":[],"mappings":";AAAA,4CAA4C;;
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/builder/entity.ts"],"names":[],"mappings":";AAAA,4CAA4C;;AA0B1C,8CAAiB;AAvBnB,4CAEwB;AAExB,wCAEsB;AAGtB,KAAK,UAAU,iBAAiB,CAAC,GAAQ;IACvC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;IAE9B,MAAM,aAAa,GAAG,IAAA,sBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACnD,MAAM,WAAW,GAAG,IAAA,kBAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAE/C,OAAO,SAAS,iBAAiB;QAC/B,aAAa,EAAE,CAAA;QACf,WAAW,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC"}
|