@voxgig/apidef 6.3.6 → 6.3.8
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 +2 -2
- package/dist/apidef.js +27 -6
- package/dist/apidef.js.map +1 -1
- package/dist/builder/entity/entity.js.map +1 -1
- package/dist/builder/entity/info.js.map +1 -1
- package/dist/builder/entity.js.map +1 -1
- package/dist/builder/flow/flowHeuristic01.js.map +1 -1
- package/dist/builder/flow.js.map +1 -1
- package/dist/guide/guide.js +49 -6
- package/dist/guide/guide.js.map +1 -1
- package/dist/guide/heuristic01.js +99 -89
- package/dist/guide/heuristic01.js.map +1 -1
- package/dist/parse.js +151 -18
- package/dist/parse.js.map +1 -1
- package/dist/resolver.js.map +1 -1
- package/dist/transform/args.js.map +1 -1
- package/dist/transform/clean.js.map +1 -1
- package/dist/transform/entity.js.map +1 -1
- package/dist/transform/field.js +14 -0
- package/dist/transform/field.js.map +1 -1
- package/dist/transform/flow.js.map +1 -1
- package/dist/transform/flowstep.js.map +1 -1
- package/dist/transform/operation.js.map +1 -1
- package/dist/transform/select.js.map +1 -1
- package/dist/transform/top.d.ts +2 -1
- package/dist/transform/top.js +32 -2
- package/dist/transform/top.js.map +1 -1
- package/dist/transform.d.ts +8 -7
- package/dist/transform.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +97 -84
- package/dist/types.js.map +1 -1
- package/dist/utility.d.ts +6 -1
- package/dist/utility.js +169 -8
- package/dist/utility.js.map +1 -1
- package/package.json +8 -8
- package/src/apidef.ts +28 -5
- package/src/guide/guide.ts +50 -6
- package/src/guide/heuristic01.ts +37 -28
- package/src/parse.ts +161 -20
- package/src/transform/field.ts +16 -1
- package/src/transform/top.ts +37 -2
- package/src/tsconfig.json +1 -0
- package/src/types.ts +5 -0
- package/src/utility.ts +186 -8
package/dist/utility.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.sortedEntries = exports.sortedKeys = void 0;
|
|
6
|
+
exports.sortedEntries = exports.sortedKeys = exports.CANON_ONE = exports.VALID_CANON = void 0;
|
|
7
7
|
exports.nom = nom;
|
|
8
8
|
exports.getdlog = getdlog;
|
|
9
9
|
exports.loadFile = loadFile;
|
|
@@ -33,6 +33,9 @@ exports.writeFileSyncWarn = writeFileSyncWarn;
|
|
|
33
33
|
exports.warnOnError = warnOnError;
|
|
34
34
|
exports.relativizePath = relativizePath;
|
|
35
35
|
exports.getModelPath = getModelPath;
|
|
36
|
+
exports.isEntityWrapperProp = isEntityWrapperProp;
|
|
37
|
+
exports.envelopeProp = envelopeProp;
|
|
38
|
+
exports.closedBodyTransform = closedBodyTransform;
|
|
36
39
|
const node_path_1 = __importDefault(require("node:path"));
|
|
37
40
|
const jostraca_1 = require("jostraca");
|
|
38
41
|
const util_1 = require("@voxgig/util");
|
|
@@ -127,7 +130,12 @@ function formatJsonSrc(jsonsrc) {
|
|
|
127
130
|
//
|
|
128
131
|
// Keys are lowercase; depluralize() does a case-insensitive lookup
|
|
129
132
|
// and reapplies the caller's casing on the way out.
|
|
130
|
-
|
|
133
|
+
//
|
|
134
|
+
// Null-prototype: these tables are indexed by spec-derived names, so a
|
|
135
|
+
// schema or path segment called `constructor` / `__proto__` / `toString`
|
|
136
|
+
// would otherwise resolve to the inherited Object member and be returned
|
|
137
|
+
// as a "match" — crashing matchCase() on a function. See NULL_PROTO_NOTE.
|
|
138
|
+
const IRREGULARS = Object.assign(Object.create(null), {
|
|
131
139
|
'analytics': 'analytics',
|
|
132
140
|
'analyses': 'analysis',
|
|
133
141
|
'appendices': 'appendix',
|
|
@@ -191,7 +199,17 @@ const IRREGULARS = {
|
|
|
191
199
|
'vertices': 'vertex',
|
|
192
200
|
'women': 'woman',
|
|
193
201
|
'yes': 'yes',
|
|
194
|
-
};
|
|
202
|
+
});
|
|
203
|
+
// NULL_PROTO_NOTE: every plain-object lookup table in this module whose keys
|
|
204
|
+
// come from an API spec is built with a null prototype
|
|
205
|
+
// (`Object.assign(Object.create(null), {...})`). Without it, `TABLE[name]`
|
|
206
|
+
// inherits from Object.prototype, so `TABLE['constructor']` yields the Object
|
|
207
|
+
// constructor (truthy, a function) and `TABLE['__proto__']` yields
|
|
208
|
+
// Object.prototype (truthy, an object). Both then flow into code expecting a
|
|
209
|
+
// string. A spec with `components.schemas.Constructor` is enough to reach
|
|
210
|
+
// this: canonize -> depluralize -> matchCase -> `.toLowerCase is not a
|
|
211
|
+
// function`, failing the whole build at the guide stage. Keep new tables
|
|
212
|
+
// null-prototype, or use a Map (CANONIZE_CACHE already does).
|
|
195
213
|
// Sorted longest-first so the most specific IRREGULARS suffix wins.
|
|
196
214
|
// Without this, 'women' would be shadowed by 'men' (3 < 5) under
|
|
197
215
|
// insertion-order iteration. Both happen to round-trip correctly
|
|
@@ -225,10 +243,11 @@ function matchCase(source, target) {
|
|
|
225
243
|
// inherit the override without signature churn. apidef is
|
|
226
244
|
// single-model-per-process; if that ever changes, switch this to a
|
|
227
245
|
// per-context map.
|
|
228
|
-
|
|
246
|
+
// Null-prototype: see NULL_PROTO_NOTE above.
|
|
247
|
+
let CUSTOM_PLURALS = Object.create(null);
|
|
229
248
|
let CUSTOM_PLURAL_KEYS = [];
|
|
230
249
|
function setCustomPlurals(plurals) {
|
|
231
|
-
CUSTOM_PLURALS =
|
|
250
|
+
CUSTOM_PLURALS = Object.create(null);
|
|
232
251
|
if (plurals) {
|
|
233
252
|
for (const k of Object.keys(plurals)) {
|
|
234
253
|
// Skip null/undefined values so a partially-typed model entry
|
|
@@ -761,7 +780,17 @@ function renderJSONIC(val, hsepd, showd, useColor, maxlines, exclude, c, renderP
|
|
|
761
780
|
}
|
|
762
781
|
return lines.join('\n') + '\n';
|
|
763
782
|
}
|
|
764
|
-
|
|
783
|
+
// Canonical type-sentinel vocabulary. VALID_CANON maps an OpenAPI type NAME
|
|
784
|
+
// to its `$SENTINEL` form; CANON_ONE is the union sentinel produced by
|
|
785
|
+
// `validator` for a multi-type (`['`$ONE`', [member, ...]]`). Both are part
|
|
786
|
+
// of the public API so downstream consumers (e.g. @voxgig/sdkgen's
|
|
787
|
+
// sentinel -> language-type table) can verify they cover the full set
|
|
788
|
+
// instead of hand-syncing against this file.
|
|
789
|
+
//
|
|
790
|
+
// Null-prototype (see NULL_PROTO_NOTE): `type` values come from the spec, so
|
|
791
|
+
// a schema declaring `type: constructor` would otherwise return the Object
|
|
792
|
+
// constructor here rather than falling through to the 'Any' default.
|
|
793
|
+
const VALID_CANON = Object.assign(Object.create(null), {
|
|
765
794
|
'string': '`$STRING`',
|
|
766
795
|
'number': '`$NUMBER`',
|
|
767
796
|
'integer': '`$INTEGER`',
|
|
@@ -770,7 +799,10 @@ const VALID_CANON = {
|
|
|
770
799
|
'array': '`$ARRAY`',
|
|
771
800
|
'object': '`$OBJECT`',
|
|
772
801
|
'any': '`$ANY`',
|
|
773
|
-
};
|
|
802
|
+
});
|
|
803
|
+
exports.VALID_CANON = VALID_CANON;
|
|
804
|
+
const CANON_ONE = '`$ONE`';
|
|
805
|
+
exports.CANON_ONE = CANON_ONE;
|
|
774
806
|
function validator(torig) {
|
|
775
807
|
if ('string' === typeof torig) {
|
|
776
808
|
const tstr = torig.toLowerCase().trim();
|
|
@@ -778,7 +810,7 @@ function validator(torig) {
|
|
|
778
810
|
return canon;
|
|
779
811
|
}
|
|
780
812
|
else if (Array.isArray(torig)) {
|
|
781
|
-
return [
|
|
813
|
+
return [CANON_ONE, torig.map((t) => validator(t))];
|
|
782
814
|
}
|
|
783
815
|
else {
|
|
784
816
|
return '`$ANY`';
|
|
@@ -1152,4 +1184,133 @@ function getModelPath(model, path, flags) {
|
|
|
1152
1184
|
}
|
|
1153
1185
|
return current;
|
|
1154
1186
|
}
|
|
1187
|
+
// A response property only "wraps" the entity when it is itself a structured
|
|
1188
|
+
// value that could contain the entity: an object, an array, a $ref, or a
|
|
1189
|
+
// composed (allOf/oneOf/anyOf) schema. A scalar property (string, integer,
|
|
1190
|
+
// number, boolean) that merely shares the entity's name is a field of the
|
|
1191
|
+
// entity, not a wrapper, so the response must not be unwrapped down to it.
|
|
1192
|
+
function isEntityWrapperProp(propSchema) {
|
|
1193
|
+
if (null == propSchema || 'object' !== typeof propSchema) {
|
|
1194
|
+
return false;
|
|
1195
|
+
}
|
|
1196
|
+
if (null != propSchema.$ref) {
|
|
1197
|
+
return true;
|
|
1198
|
+
}
|
|
1199
|
+
if (null != propSchema.properties ||
|
|
1200
|
+
null != propSchema.items ||
|
|
1201
|
+
null != propSchema.allOf ||
|
|
1202
|
+
null != propSchema.oneOf ||
|
|
1203
|
+
null != propSchema.anyOf) {
|
|
1204
|
+
return true;
|
|
1205
|
+
}
|
|
1206
|
+
const t = propSchema.type;
|
|
1207
|
+
return 'object' === t || 'array' === t;
|
|
1208
|
+
}
|
|
1209
|
+
// A response body that is nothing but a single wrapper property is an
|
|
1210
|
+
// ENVELOPE around the result: `{item: {...}}`, `{data: {...}}`,
|
|
1211
|
+
// `{items: [...]}`, `{results: [...]}`. Return that property's name so the
|
|
1212
|
+
// caller can unwrap to it, or null when the body is the result itself.
|
|
1213
|
+
//
|
|
1214
|
+
// Two conditions keep this from firing on a response that IS the entity:
|
|
1215
|
+
//
|
|
1216
|
+
// 1. EXACTLY ONE property. A body with siblings is a structure in its own
|
|
1217
|
+
// right, not a wrapper — `{ok, id}` from a delete, or any paged
|
|
1218
|
+
// `{results, next}`, must be handed over whole.
|
|
1219
|
+
// 2. The property's SHAPE matches the operation's cardinality. A `list`
|
|
1220
|
+
// unwraps only to an array, every other op only to a non-array. So a
|
|
1221
|
+
// single-entity op facing `{items: [...]}` is left alone rather than
|
|
1222
|
+
// silently yielding a list, and vice versa.
|
|
1223
|
+
//
|
|
1224
|
+
// A one-field entity whose sole field is itself structured can still be
|
|
1225
|
+
// unwrapped wrongly; that is the residual cost of the spec not saying which
|
|
1226
|
+
// it means. Naming the wrapper after the entity remains the unambiguous
|
|
1227
|
+
// signal, and is still checked first.
|
|
1228
|
+
function envelopeProp(resprops, opname) {
|
|
1229
|
+
const keys = (0, struct_1.keysof)(resprops);
|
|
1230
|
+
if (1 !== keys.length) {
|
|
1231
|
+
return null;
|
|
1232
|
+
}
|
|
1233
|
+
const key = keys[0];
|
|
1234
|
+
const prop = resprops[key];
|
|
1235
|
+
if (!isEntityWrapperProp(prop)) {
|
|
1236
|
+
return null;
|
|
1237
|
+
}
|
|
1238
|
+
const islist = propIsList(prop);
|
|
1239
|
+
if (null == islist || islist !== ('list' === opname)) {
|
|
1240
|
+
return null;
|
|
1241
|
+
}
|
|
1242
|
+
return key;
|
|
1243
|
+
}
|
|
1244
|
+
// Is this schema a collection? null when the schema does not say.
|
|
1245
|
+
//
|
|
1246
|
+
// `isEntityWrapperProp` accepts a composed schema (allOf/oneOf/anyOf) as
|
|
1247
|
+
// structured, but a composed schema carries no outer `type` or `items` — so
|
|
1248
|
+
// reading those alone silently called it a non-list. A `list` then kept its
|
|
1249
|
+
// envelope, and worse, a single-entity op unwrapped to an array-valued
|
|
1250
|
+
// property. Composed branches are inspected instead, and unanimity required:
|
|
1251
|
+
// a union that is an array in one branch and an object in another does not
|
|
1252
|
+
// say what the caller will get, and an envelope is not worth guessing at.
|
|
1253
|
+
function propIsList(schema) {
|
|
1254
|
+
if (null == schema || 'object' !== typeof schema) {
|
|
1255
|
+
return null;
|
|
1256
|
+
}
|
|
1257
|
+
const branches = schema.allOf ?? schema.oneOf ?? schema.anyOf;
|
|
1258
|
+
if (Array.isArray(branches)) {
|
|
1259
|
+
if (0 === branches.length) {
|
|
1260
|
+
return null;
|
|
1261
|
+
}
|
|
1262
|
+
const first = propIsList(branches[0]);
|
|
1263
|
+
if (null == first) {
|
|
1264
|
+
return null;
|
|
1265
|
+
}
|
|
1266
|
+
for (const branch of branches) {
|
|
1267
|
+
if (propIsList(branch) !== first) {
|
|
1268
|
+
return null;
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
return first;
|
|
1272
|
+
}
|
|
1273
|
+
return 'array' === schema.type || null != schema.items;
|
|
1274
|
+
}
|
|
1275
|
+
// The request BODY a closed schema permits, as a transform mapping.
|
|
1276
|
+
//
|
|
1277
|
+
// `additionalProperties: false` is the spec saying the server rejects any
|
|
1278
|
+
// property it did not declare. When a body says that, sending the caller's
|
|
1279
|
+
// whole request payload is wrong: an op's payload also carries its PATH
|
|
1280
|
+
// params (`id` for `PUT /item/{id}`), and a closed shape 400s the entire
|
|
1281
|
+
// request over that one extra key. Restricting the body to the declared
|
|
1282
|
+
// properties is then not a heuristic — it is what the spec asked for.
|
|
1283
|
+
//
|
|
1284
|
+
// Returns null for an open or property-less schema, where `reqdata` (send
|
|
1285
|
+
// everything) remains the right default: an open body accepts extras, and
|
|
1286
|
+
// with no declared properties there is nothing to restrict to.
|
|
1287
|
+
//
|
|
1288
|
+
// The KEY is the property's wire name — that is what goes on the wire and
|
|
1289
|
+
// what the server matches against. The SOURCE is read by the field's
|
|
1290
|
+
// CANONICAL name, because that is the only name the caller ever sees:
|
|
1291
|
+
// findFieldDefs runs every property through `canonize(normalizeFieldName())`,
|
|
1292
|
+
// so a spec property `UserName` reaches the generated request type as
|
|
1293
|
+
// `user_name`. Reading `reqdata.UserName` would find nothing and send
|
|
1294
|
+
// undefined.
|
|
1295
|
+
function closedBodyTransform(schema) {
|
|
1296
|
+
if (null == schema || 'object' !== typeof schema) {
|
|
1297
|
+
return null;
|
|
1298
|
+
}
|
|
1299
|
+
if (false !== schema.additionalProperties) {
|
|
1300
|
+
return null;
|
|
1301
|
+
}
|
|
1302
|
+
const names = (0, struct_1.keysof)(schema.properties);
|
|
1303
|
+
if (0 === names.length) {
|
|
1304
|
+
return null;
|
|
1305
|
+
}
|
|
1306
|
+
// Null prototype: a spec is free to declare a property called `__proto__`,
|
|
1307
|
+
// and on an ordinary object that assignment sets the prototype instead of
|
|
1308
|
+
// creating an own property — the mapping would vanish, and with it the
|
|
1309
|
+
// whole body restriction if it were the only one.
|
|
1310
|
+
const out = Object.create(null);
|
|
1311
|
+
for (const name of names) {
|
|
1312
|
+
out[name] = '`reqdata.' + canonize(normalizeFieldName(name)) + '`';
|
|
1313
|
+
}
|
|
1314
|
+
return out;
|
|
1315
|
+
}
|
|
1155
1316
|
//# sourceMappingURL=utility.js.map
|
package/dist/utility.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voxgig/apidef",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.8",
|
|
4
4
|
"main": "dist/apidef.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"types": "dist/apidef.d.ts",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"repo-tag-dry": "REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo \"[dry-run] TAG: v$REPO_VERSION\" && if git rev-parse -q --verify refs/tags/v$REPO_VERSION >/dev/null; then echo \"[dry-run] WARNING: tag v$REPO_VERSION already exists - bump the version first\"; else echo \"[dry-run] would commit -a, push, tag v$REPO_VERSION and push --tags; nothing done\"; fi && git status --short",
|
|
33
33
|
"repo-publish": "npm run clean && npm i && npm run repo-publish-quick",
|
|
34
34
|
"repo-publish-dry": "npm run clean && npm i && npm run repo-publish-quick-dry",
|
|
35
|
-
"repo-publish-quick": "npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public",
|
|
36
|
-
"repo-publish-quick-dry": "npm run build && npm run test && ( npm publish --dry-run --registry https://registry.npmjs.org --access=public || echo \"[dry-run] npm publish refused (see npm error above) - usually the version is already published; bump package.json before a real release\" )",
|
|
35
|
+
"repo-publish-quick": "npm run build && npm run test && npm run repo-tag && npm stage publish --registry https://registry.npmjs.org --access=public",
|
|
36
|
+
"repo-publish-quick-dry": "npm run build && npm run test && ( npm stage publish --dry-run --registry https://registry.npmjs.org --access=public || echo \"[dry-run] npm stage publish refused (see npm error above) - usually the version is already published; bump package.json before a real release\" )",
|
|
37
37
|
"repo-release": "npm run repo-publish && npm run repo-tag",
|
|
38
38
|
"repo-release-dry": "npm run repo-publish-quick-dry && npm run repo-tag-dry"
|
|
39
39
|
},
|
|
@@ -46,16 +46,16 @@
|
|
|
46
46
|
"LICENSE"
|
|
47
47
|
],
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@types/node": "25.9.
|
|
50
|
-
"typescript": "
|
|
49
|
+
"@types/node": "^25.9.5",
|
|
50
|
+
"typescript": "7.0.2"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@jsonic
|
|
53
|
+
"@tabnas/jsonic": ">=0",
|
|
54
|
+
"@tabnas/yaml": ">=0",
|
|
54
55
|
"@voxgig/struct": ">=0",
|
|
55
56
|
"@voxgig/util": ">=0",
|
|
56
|
-
"aontu": "
|
|
57
|
+
"aontu": "^0.48.2",
|
|
57
58
|
"jostraca": ">=0",
|
|
58
|
-
"jsonic": ">=2",
|
|
59
59
|
"shape": ">=10"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
package/src/apidef.ts
CHANGED
|
@@ -61,6 +61,8 @@ import {
|
|
|
61
61
|
writeFileSyncWarn,
|
|
62
62
|
relativizePath,
|
|
63
63
|
getModelPath,
|
|
64
|
+
VALID_CANON,
|
|
65
|
+
CANON_ONE,
|
|
64
66
|
} from './utility'
|
|
65
67
|
|
|
66
68
|
|
|
@@ -144,6 +146,7 @@ function ApiDef(opts: ApiDefOptions) {
|
|
|
144
146
|
// TODO: Validate spec
|
|
145
147
|
ctx = {
|
|
146
148
|
fs,
|
|
149
|
+
fsInjected: null != opts.fs,
|
|
147
150
|
log,
|
|
148
151
|
spec,
|
|
149
152
|
opts,
|
|
@@ -199,7 +202,7 @@ function ApiDef(opts: ApiDefOptions) {
|
|
|
199
202
|
|
|
200
203
|
// Step: guide (derive).
|
|
201
204
|
if (!ctrl.step.guide) {
|
|
202
|
-
return { ok: false, steps, start, end: Date.now(), ctrl }
|
|
205
|
+
return { ok: false, steps, start, end: Date.now(), ctrl, ctx }
|
|
203
206
|
}
|
|
204
207
|
|
|
205
208
|
const guideModel = await buildGuide(ctx)
|
|
@@ -214,8 +217,15 @@ function ApiDef(opts: ApiDefOptions) {
|
|
|
214
217
|
|
|
215
218
|
|
|
216
219
|
// Step: transformers (transform spec and guide into core structures).
|
|
220
|
+
// Early stops return the model built so far: `ctrl.step.generate = false`
|
|
221
|
+
// is the documented way to build the model in memory without writing
|
|
222
|
+
// files (see AGENTS.md), which requires `apimodel` in the result. The Go
|
|
223
|
+
// port already returns it from every early return.
|
|
217
224
|
if (!ctrl.step.transformers) {
|
|
218
|
-
return {
|
|
225
|
+
return {
|
|
226
|
+
ok: true, steps, start, end: Date.now(), ctrl,
|
|
227
|
+
guide: ctx.guide, apimodel: ctx.apimodel, ctx
|
|
228
|
+
}
|
|
219
229
|
}
|
|
220
230
|
|
|
221
231
|
await topTransform(ctx)
|
|
@@ -232,7 +242,10 @@ function ApiDef(opts: ApiDefOptions) {
|
|
|
232
242
|
|
|
233
243
|
// Step: builders (build generated sub models).
|
|
234
244
|
if (!ctrl.step.builders) {
|
|
235
|
-
return {
|
|
245
|
+
return {
|
|
246
|
+
ok: true, steps, start, end: Date.now(), ctrl,
|
|
247
|
+
guide: ctx.guide, apimodel: ctx.apimodel, ctx
|
|
248
|
+
}
|
|
236
249
|
}
|
|
237
250
|
|
|
238
251
|
const builders = [
|
|
@@ -247,7 +260,10 @@ function ApiDef(opts: ApiDefOptions) {
|
|
|
247
260
|
|
|
248
261
|
// Step: generate (generate model files).
|
|
249
262
|
if (!ctrl.step.generate) {
|
|
250
|
-
return {
|
|
263
|
+
return {
|
|
264
|
+
ok: true, steps, start, end: Date.now(), ctrl,
|
|
265
|
+
guide: ctx.guide, apimodel: ctx.apimodel, ctx
|
|
266
|
+
}
|
|
251
267
|
}
|
|
252
268
|
|
|
253
269
|
const jostraca = Jostraca({
|
|
@@ -268,7 +284,12 @@ function ApiDef(opts: ApiDefOptions) {
|
|
|
268
284
|
// folder: Path.dirname(opts.folder as string),
|
|
269
285
|
folder: opts.folder,
|
|
270
286
|
model: jmodel,
|
|
271
|
-
|
|
287
|
+
// Overwrite the generated model source (.aontu) rather than 3-way merge:
|
|
288
|
+
// merging against a drifting .jostraca base silently keeps stale files
|
|
289
|
+
// and can inject <<<<<<< conflict markers. Generated output is
|
|
290
|
+
// model-derived and never hand-edited. See sdkgen
|
|
291
|
+
// docs/explanation/regeneration-overwrite.md.
|
|
292
|
+
existing: { txt: { write: true, merge: false } }
|
|
272
293
|
}, root)
|
|
273
294
|
|
|
274
295
|
const dlogs = dlog.log()
|
|
@@ -452,4 +473,6 @@ export {
|
|
|
452
473
|
slugToPascalCase,
|
|
453
474
|
getModelPath,
|
|
454
475
|
nom,
|
|
476
|
+
VALID_CANON,
|
|
477
|
+
CANON_ONE,
|
|
455
478
|
}
|
package/src/guide/guide.ts
CHANGED
|
@@ -88,7 +88,36 @@ async function buildGuide(ctx: ApiDefContext): Promise<any> {
|
|
|
88
88
|
errs,
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
// Only forward a *genuinely injected* fs.
|
|
92
|
+
//
|
|
93
|
+
// aontu resolves `@`-includes through @tabnas/multisource, which does:
|
|
94
|
+
// const P = null != ctx.meta?.fs ? Path.posix : Path
|
|
95
|
+
// i.e. it switches to POSIX path semantics whenever an fs is present, on
|
|
96
|
+
// the assumption that an injected fs is memfs keyed by POSIX paths.
|
|
97
|
+
//
|
|
98
|
+
// apidef defaults ctx.fs to the real node:fs (`opts.fs || Fs`), so
|
|
99
|
+
// forwarding it unconditionally made multisource parse *Windows* paths
|
|
100
|
+
// with Path.posix. 'D:\...\guide\x-guide.aontu' contains no '/', so the
|
|
101
|
+
// include base resolved to '' and sibling includes were looked up against
|
|
102
|
+
// the cwd instead of the guide folder — every build failed on Windows
|
|
103
|
+
// with `source not found: <prefix>base-guide.aontu`. Linux and macOS were
|
|
104
|
+
// unaffected because there Path and Path.posix are the same module.
|
|
105
|
+
//
|
|
106
|
+
// Callers that supply a real memfs (e.g. apidef-validate) still get it,
|
|
107
|
+
// and still get the POSIX semantics they need.
|
|
108
|
+
//
|
|
109
|
+
// Uses the explicit ctx.fsInjected flag rather than `Fs !== ctx.fs`:
|
|
110
|
+
// esModuleInterop compiles `import * as Fs` to __importStar(), which
|
|
111
|
+
// builds a fresh wrapper per module, so identity comparison across
|
|
112
|
+
// modules is always false.
|
|
113
|
+
if (ctx.fsInjected) {
|
|
114
|
+
opts.fs = ctx.fs
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Record what was actually handed to aontu, not what we intended to hand
|
|
118
|
+
// it, so the regression test fails if this block is ever changed back to
|
|
119
|
+
// an unconditional assignment.
|
|
120
|
+
ctx.work.guideAontuFs = undefined !== opts.fs
|
|
92
121
|
|
|
93
122
|
const guideModel = aontu.generate(src, opts)
|
|
94
123
|
|
|
@@ -212,15 +241,30 @@ async function buildBaseGuide(ctx: ApiDefContext) {
|
|
|
212
241
|
items(path.op).map(([opname, op]: [string, GuidePathOp]) => {
|
|
213
242
|
guideBlocks.push(` op: ${opname}: method: *${op.method}` +
|
|
214
243
|
sw(0 < op.why_op.length ? ' # ' + op.why_op : ''))
|
|
215
|
-
//
|
|
216
|
-
//
|
|
217
|
-
// op.transform.res — emitting `transform: res: *undefined` whenever
|
|
218
|
-
//
|
|
219
|
-
//
|
|
244
|
+
// Each transform is emitted only when set, and each on its own terms.
|
|
245
|
+
// (An earlier req-GUARDED block pushed a second res line built from
|
|
246
|
+
// op.transform.res — emitting `transform: res: *undefined` whenever a
|
|
247
|
+
// request was wrapped but the response was not. Hence the separate
|
|
248
|
+
// null checks below rather than one shared guard.)
|
|
220
249
|
if (null != op.transform.res) {
|
|
221
250
|
guideBlocks.push(
|
|
222
251
|
` op: ${opname}: transform: res: *${qt(op.transform.res)}|top`)
|
|
223
252
|
}
|
|
253
|
+
// The req transform is a MAP of body property -> source expression
|
|
254
|
+
// (see closedBodyTransform), so it takes one line per property. THE
|
|
255
|
+
// SERIALISED GUIDE IS WHAT THE TRANSFORM STEP READS: a transform not
|
|
256
|
+
// written here never reaches the model, which is why restricting a
|
|
257
|
+
// closed request body had no effect until this existed. Only the map
|
|
258
|
+
// form is representable as aontu paths; a scalar req is left alone.
|
|
259
|
+
const reqmap: any = op.transform.req
|
|
260
|
+
if (null != reqmap && 'object' === typeof reqmap) {
|
|
261
|
+
items(reqmap).map(([bodykey, source]: [string, any]) => {
|
|
262
|
+
if ('string' === typeof source) {
|
|
263
|
+
guideBlocks.push(` op: ${opname}: transform: req: ` +
|
|
264
|
+
`${qs(bodykey)}: *${qt(source)}|top`)
|
|
265
|
+
}
|
|
266
|
+
})
|
|
267
|
+
}
|
|
224
268
|
})
|
|
225
269
|
|
|
226
270
|
guideBlocks.push(` }`)
|