@voxgig/apidef 6.1.1 → 6.3.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.
Files changed (40) hide show
  1. package/bin/voxgig-apidef +1 -1
  2. package/dist/apidef.js +9 -0
  3. package/dist/apidef.js.map +1 -1
  4. package/dist/builder/entity/entity.js +10 -12
  5. package/dist/builder/entity/entity.js.map +1 -1
  6. package/dist/builder/entity/info.js +5 -1
  7. package/dist/builder/entity/info.js.map +1 -1
  8. package/dist/guide/guide.js +7 -9
  9. package/dist/guide/guide.js.map +1 -1
  10. package/dist/guide/heuristic01.js +43 -3
  11. package/dist/guide/heuristic01.js.map +1 -1
  12. package/dist/parse.js +9 -1
  13. package/dist/parse.js.map +1 -1
  14. package/dist/transform/field.js +21 -10
  15. package/dist/transform/field.js.map +1 -1
  16. package/dist/transform/operation.js +7 -1
  17. package/dist/transform/operation.js.map +1 -1
  18. package/dist/transform/top.js +70 -0
  19. package/dist/transform/top.js.map +1 -1
  20. package/dist/types.d.ts +28 -1
  21. package/dist/types.js +8 -0
  22. package/dist/types.js.map +1 -1
  23. package/dist/utility.d.ts +3 -1
  24. package/dist/utility.js +179 -29
  25. package/dist/utility.js.map +1 -1
  26. package/model/{apidef.jsonic → apidef.aontu} +6 -0
  27. package/package.json +9 -3
  28. package/src/apidef.ts +12 -0
  29. package/src/builder/entity/entity.ts +10 -20
  30. package/src/builder/entity/info.ts +5 -1
  31. package/src/guide/guide.ts +6 -7
  32. package/src/guide/heuristic01.ts +46 -3
  33. package/src/parse.ts +9 -1
  34. package/src/transform/field.ts +21 -14
  35. package/src/transform/operation.ts +7 -1
  36. package/src/transform/top.ts +72 -0
  37. package/src/types.ts +9 -1
  38. package/src/utility.ts +189 -29
  39. package/README.md +0 -2
  40. /package/model/{guide.jsonic → guide.aontu} +0 -0
@@ -26,7 +26,7 @@ const fieldTransform = async function (ctx) {
26
26
  seen[opfield.name] = opfield;
27
27
  }
28
28
  else {
29
- mergeField(ment, mop, mpoint, def, seen[opfield.name], opfield);
29
+ mergeField(mop, seen[opfield.name], opfield);
30
30
  }
31
31
  }
32
32
  }
@@ -100,7 +100,11 @@ function findFieldDefs(_ment, mop, mpoint, def) {
100
100
  (0, jostraca_1.getx)(responses, '201 schema');
101
101
  }
102
102
  }
103
- if (requestBody) {
103
+ // A QUERY (RFC 10008) request body is a filter/query schema, not the
104
+ // entity shape, so it must not contribute entity fields. Fields for a
105
+ // QUERY op come from its response only. Other methods (POST/PUT/PATCH)
106
+ // carry the entity in the body, so merge as usual.
107
+ if (requestBody && 'query' !== method) {
104
108
  fieldSets = [
105
109
  fieldSets,
106
110
  (0, jostraca_1.getx)(requestBody, 'content "application/json" schema') ??
@@ -119,10 +123,17 @@ function findFieldDefs(_ment, mop, mpoint, def) {
119
123
  const requiredNames = Array.isArray(fieldSet?.required)
120
124
  ? fieldSet.required : [];
121
125
  (0, jostraca_1.each)(fieldSet?.properties, (property) => {
122
- if (requiredNames.includes(property.key$)) {
123
- property.required = true;
126
+ // Don't mutate the parsed schema: a $ref-resolved schema is shared
127
+ // across every operation that references it, so flipping
128
+ // `property.required = true` here would leak this operation's
129
+ // required[] onto all the others. Derive `required` onto a shallow
130
+ // copy instead (matches the Go port, which builds fresh field defs).
131
+ if (!property.required && requiredNames.includes(property.key$)) {
132
+ fielddefs.push({ ...property, required: true });
133
+ }
134
+ else {
135
+ fielddefs.push(property);
124
136
  }
125
- fielddefs.push(property);
126
137
  });
127
138
  });
128
139
  }
@@ -154,7 +165,7 @@ function findExampleObject(opdef) {
154
165
  const responses = opdef.responses;
155
166
  if (null == responses)
156
167
  return null;
157
- const resdef = responses[200] ?? responses[201] ?? responses['200'] ?? responses['201'];
168
+ const resdef = responses['200'] ?? responses['201'];
158
169
  if (null == resdef)
159
170
  return null;
160
171
  // OpenAPI 3.x: content.application/json.example
@@ -251,13 +262,13 @@ function inferTypeFromValue(value) {
251
262
  return 'object';
252
263
  return 'string';
253
264
  }
254
- function mergeField(ment, mop, mpoint, def, exisingField, newField) {
255
- if (newField.req !== exisingField.req) {
256
- exisingField.op[mop.name] = {
265
+ function mergeField(mop, existingField, newField) {
266
+ if (newField.req !== existingField.req) {
267
+ existingField.op[mop.name] = {
257
268
  req: newField.req,
258
269
  type: newField.type,
259
270
  };
260
271
  }
261
- return exisingField;
272
+ return existingField;
262
273
  }
263
274
  //# sourceMappingURL=field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/transform/field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/transform/field.ts"],"names":[],"mappings":"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"}
@@ -101,7 +101,13 @@ function resolveOp(opname, gent) {
101
101
  rename: p.rename,
102
102
  method: p.method,
103
103
  args: {},
104
- transform: opdesc.transform ?? {},
104
+ // Carry the per-path op transform (res `body.<entity>`, req
105
+ // `{<entity>: reqdata}`) computed by the guide step
106
+ // (heuristic01 ResolveTransform) onto the point. It lives on the
107
+ // path's op, not on the op-map entry, so read p.op.transform.
108
+ // Spread into a fresh object so the default-fill below never
109
+ // mutates the shared guide op.transform across points.
110
+ transform: { ...(p.op?.transform ?? {}) },
105
111
  select: {
106
112
  exist: []
107
113
  }
@@ -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":";;;AAEA,uCAA+B;AAK/B,oCAIiB;AAejB,MAAM,kBAAkB,GAAc,KAAK,WACzC,GAAQ;IAER,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;IAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAG,CAAC,CAAA;IAE9B,IAAI,GAAG,GAAG,YAAY,CAAA;IAEtB,IAAA,eAAI,EAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAiB,EAAE,OAAe,EAAE,EAAE;QACxD,UAAU,CAAC,IAAI,CAAC,CAAA;QAEhB,MAAM,GAAG,GAAe;YACtB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,SAAS;SACjB,CAAA;QAED,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACtB,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACtB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACxB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACxB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACxB,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAEvB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,CAAA;QAE5B,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;AAC1B,CAAC,CAAA;AAyHC,gDAAkB;AAtHpB,SAAS,UAAU,CAAC,IAAiB;IACnC,CAAC;IAAE,IAAY,CAAC,IAAI,GAAI,IAAY,CAAC,IAAI,IAAI,EAAE,CAAA;IAC/C,IAAA,eAAI,EAAE,IAAY,CAAC,MAAM,EAAE,CAAC,QAAkB,EAAE,EAAE;QAChD,IAAA,eAAI,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAgB,EAAE,MAAc,EAAE,EAAE;YACrD,CAAC;YAAE,IAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,IAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;YAE1E,MAAM,UAAU,GAAa;gBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,GAAG,CAAC,MAAa;gBACzB,EAAE,EAAE,GAAU;gBACd,GAAG,EAAE,QAAQ,CAAC,GAAG;aAClB,CAEE;YAAE,IAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAMD,SAAS,WAAW,CAAC,GAAe,EAAE,IAAiB;IACrD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACjD,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,SAAS,WAAW,CAAC,GAAe,EAAE,IAAiB;IACrD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACjD,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,SAAS,aAAa,CAAC,GAAe,EAAE,IAAiB;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACrD,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,SAAS,aAAa,CAAC,GAAe,EAAE,IAAiB;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACrD,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,SAAS,aAAa,CAAC,GAAe,EAAE,IAAiB;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACrD,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,SAAS,YAAY,CAAC,GAAe,EAAE,IAAiB;IACtD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAEvC,+CAA+C;IAC/C,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;QACnB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;IAC5B,CAAC;SACI,CAAC;QACJ,GAAG,CAAC,KAAK,GAAG,MAAM,CAAA;IACpB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,SAAS,SAAS,CAAC,MAAc,EAAE,IAAiB;IAClD,IAAI,GAAG,GAAwB,SAAS,CAAA;IACxC,IAAI,MAAM,GAAI,IAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,GAAG;YACJ,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAW,EAAE,EAAE;gBACvC,qEAAqE;gBACrE,iEAAiE;gBACjE,mEAAmE;gBACnE,4DAA4D;gBAC5D,mDAAmD;gBACnD,+DAA+D;gBAC/D,iEAAiE;gBACjE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;gBAErB,MAAM,MAAM,GAAe;oBACzB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK;oBACL,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,IAAI,EAAE,EAAE;oBACR,4DAA4D;oBAC5D,oDAAoD;oBACpD,iEAAiE;oBACjE,8DAA8D;oBAC9D,6DAA6D;oBAC7D,uDAAuD;oBACvD,SAAS,EAAE,EAAE,GAAG,CAAE,CAAS,CAAC,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,EAAE;oBAClD,MAAM,EAAE;wBACN,KAAK,EAAE,EAAE;qBACV;iBACF,CAAA;gBAED,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,WAAW,CAAA;gBAC1D,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,QAAQ,CAAA;gBAEvD,OAAO,MAAM,CAAA;YACf,CAAC,CAAC;SACH,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -18,12 +18,48 @@ const topTransform = async function (ctx) {
18
18
  const kit = apimodel.main[types_1.KIT];
19
19
  kit.info = stringifyInfoScalars(def.info ?? {});
20
20
  kit.info.servers = stringifyInfoScalars(def.servers ?? []);
21
+ // Public APIs that declare NO authentication (no security schemes, no
22
+ // top-level `security`, and no per-operation `security`) get an explicit
23
+ // no-auth signal in the model. Downstream sdkgen reads it via
24
+ // isAuthActive() (main.kit.info.auth === false) to suppress apikey/auth
25
+ // code, docs and examples. Only the negative signal is emitted: when the
26
+ // spec DOES declare auth we leave `auth` unset so the SDK's own config
27
+ // (main.kit.config.auth) governs. Set AFTER stringifyInfoScalars so the
28
+ // value stays a real boolean rather than the string "false".
29
+ if (!specDeclaresAuth(def)) {
30
+ kit.info.auth = false;
31
+ }
21
32
  // Swagger 2.0
22
33
  if (def.host) {
23
34
  kit.info.servers.push({
24
35
  url: (def.schemes?.[0] ?? 'https') + '://' + (0, struct_1.join)([def.host, def.basePath], '/', true)
25
36
  });
26
37
  }
38
+ // Some specs omit the scheme on `servers[].url` — e.g. the Art
39
+ // Institute of Chicago lists `api.artic.edu/api/v1` (no
40
+ // https://). Go's net/http barfs on that with "unsupported
41
+ // protocol scheme". Default to https when the URL has no scheme
42
+ // and the value isn't a relative path.
43
+ for (const server of kit.info.servers) {
44
+ if (!server || 'string' !== typeof server.url)
45
+ continue;
46
+ const url = server.url.trim();
47
+ if (url === '')
48
+ continue;
49
+ if (/^[a-z][a-z0-9+.-]*:\/\//i.test(url))
50
+ continue; // already has scheme
51
+ // `//host/path` is a protocol-relative URL — meaningless to a
52
+ // backend SDK, treat as missing-scheme and default to https.
53
+ if (url.startsWith('//')) {
54
+ server.url = 'https:' + url;
55
+ continue;
56
+ }
57
+ // `/path` is path-only (relative to wherever the spec is served).
58
+ // Leave it untouched; it's a valid OpenAPI form.
59
+ if (url.startsWith('/'))
60
+ continue;
61
+ server.url = 'https://' + url;
62
+ }
27
63
  // A usable SDK requires a base URL. OpenAPI 3 puts it in `servers[].url`;
28
64
  // Swagger 2 derives it from `host` + `basePath`. If neither yields a
29
65
  // non-empty url, the generated SDK has no way to issue requests, so fail
@@ -35,6 +71,40 @@ const topTransform = async function (ctx) {
35
71
  return { ok: true, msg: 'top' };
36
72
  };
37
73
  exports.topTransform = topTransform;
74
+ // Does the spec declare any authentication? True if it defines security
75
+ // schemes (OpenAPI 3 `components.securitySchemes` or Swagger 2
76
+ // `securityDefinitions`), a top-level `security` requirement, or a
77
+ // per-operation `security` requirement. Used to emit a no-auth signal
78
+ // (info.auth: false) for fully public APIs.
79
+ function specDeclaresAuth(def) {
80
+ if (null == def || 'object' !== typeof def)
81
+ return false;
82
+ const nonEmptyObj = (v) => null != v && 'object' === typeof v && Object.keys(v).length > 0;
83
+ // OpenAPI 3 security schemes.
84
+ if (nonEmptyObj(def.components?.securitySchemes))
85
+ return true;
86
+ // Swagger 2 security definitions.
87
+ if (nonEmptyObj(def.securityDefinitions))
88
+ return true;
89
+ // Top-level security requirement.
90
+ if (Array.isArray(def.security) && def.security.length > 0)
91
+ return true;
92
+ // Per-operation security requirement.
93
+ const paths = def.paths;
94
+ if (paths && 'object' === typeof paths) {
95
+ for (const pathItem of Object.values(paths)) {
96
+ if (null == pathItem || 'object' !== typeof pathItem)
97
+ continue;
98
+ for (const op of Object.values(pathItem)) {
99
+ if (op && 'object' === typeof op &&
100
+ Array.isArray(op.security) && op.security.length > 0) {
101
+ return true;
102
+ }
103
+ }
104
+ }
105
+ }
106
+ return false;
107
+ }
38
108
  // OpenAPI's `info` object (and the `servers` array) declares every scalar
39
109
  // leaf as a string. YAML/JSON parsers don't enforce that — `version: 2`
40
110
  // without quotes parses as the number 2, `version: true` as a boolean.
@@ -1 +1 @@
1
- {"version":3,"file":"top.js","sourceRoot":"","sources":["../../src/transform/top.ts"],"names":[],"mappings":";;;AACA,2CAAqC;AAErC,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,oBAAoB,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC/C,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IAE1D,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,aAAI,EAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;SACvF,CAAC,CAAA;IACJ,CAAC;IAED,0EAA0E;IAC1E,qEAAqE;IACrE,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,cAAc,GAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;IACtD,IAAI,IAAI,IAAI,cAAc,IAAI,EAAE,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAA;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC,CAAA;AA4BC,oCAAY;AAzBd,0EAA0E;AAC1E,wEAAwE;AACxE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,oEAAoE;AACpE,sDAAsD;AACtD,SAAS,oBAAoB,CAAC,IAAS;IACrC,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IAC9D,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAwB,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,SAAS,KAAK,OAAO,IAAI,EAAE,CAAC;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAQD,gBAAgB;AAChB,iBAAiB;AACjB,IAAI"}
1
+ {"version":3,"file":"top.js","sourceRoot":"","sources":["../../src/transform/top.ts"],"names":[],"mappings":";;;AACA,2CAAqC;AAErC,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,oBAAoB,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC/C,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IAE1D,sEAAsE;IACtE,yEAAyE;IACzE,8DAA8D;IAC9D,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,6DAA6D;IAC7D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;IACvB,CAAC;IAED,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,aAAI,EAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;SACvF,CAAC,CAAA;IACJ,CAAC;IAED,+DAA+D;IAC/D,wDAAwD;IACxD,2DAA2D;IAC3D,gEAAgE;IAChE,uCAAuC;IACvC,KAAK,MAAM,MAAM,IAAK,GAAG,CAAC,IAAI,CAAC,OAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,OAAO,MAAM,CAAC,GAAG;YAAE,SAAQ;QACvD,MAAM,GAAG,GAAW,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACrC,IAAI,GAAG,KAAK,EAAE;YAAE,SAAQ;QACxB,IAAI,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAQ,CAAG,qBAAqB;QAC1E,8DAA8D;QAC9D,6DAA6D;QAC7D,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAA;YAC3B,SAAQ;QACV,CAAC;QACD,kEAAkE;QAClE,iDAAiD;QACjD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QACjC,MAAM,CAAC,GAAG,GAAG,UAAU,GAAG,GAAG,CAAA;IAC/B,CAAC;IAED,0EAA0E;IAC1E,qEAAqE;IACrE,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,cAAc,GAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;IACtD,IAAI,IAAI,IAAI,cAAc,IAAI,EAAE,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAA;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC,CAAA;AAkEC,oCAAY;AA/Dd,wEAAwE;AACxE,+DAA+D;AAC/D,mEAAmE;AACnE,sEAAsE;AACtE,4CAA4C;AAC5C,SAAS,gBAAgB,CAAC,GAAQ;IAChC,IAAI,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK,OAAO,GAAG;QAAE,OAAO,KAAK,CAAA;IAExD,MAAM,WAAW,GAAG,CAAC,CAAM,EAAE,EAAE,CAC7B,IAAI,IAAI,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAEjE,8BAA8B;IAC9B,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC;QAAE,OAAO,IAAI,CAAA;IAE7D,kCAAkC;IAClC,IAAI,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAAE,OAAO,IAAI,CAAA;IAErD,kCAAkC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvE,sCAAsC;IACtC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;IACvB,IAAI,KAAK,IAAI,QAAQ,KAAK,OAAO,KAAK,EAAE,CAAC;QACvC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,IAAI,QAAQ,IAAI,QAAQ,KAAK,OAAO,QAAQ;gBAAE,SAAQ;YAC9D,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,QAA+B,CAAC,EAAE,CAAC;gBAChE,IAAI,EAAE,IAAI,QAAQ,KAAK,OAAO,EAAE;oBAC9B,KAAK,CAAC,OAAO,CAAE,EAAU,CAAC,QAAQ,CAAC,IAAK,EAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzE,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,0EAA0E;AAC1E,wEAAwE;AACxE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,oEAAoE;AACpE,sDAAsD;AACtD,SAAS,oBAAoB,CAAC,IAAS;IACrC,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IAC9D,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAwB,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,SAAS,KAAK,OAAO,IAAI,EAAE,CAAC;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAQD,gBAAgB;AAChB,iBAAiB;AACjB,IAAI"}
package/dist/types.d.ts CHANGED
@@ -312,6 +312,9 @@ declare const ModelShape: {
312
312
  guide: {};
313
313
  entity: {};
314
314
  };
315
+ custom: {
316
+ plurals: {};
317
+ };
315
318
  };
316
319
  };
317
320
  valid: <V>(root?: V | undefined, ctx?: import("shape").Context) => root is V & {
@@ -324,6 +327,9 @@ declare const ModelShape: {
324
327
  guide: {};
325
328
  entity: {};
326
329
  };
330
+ custom: {
331
+ plurals: {};
332
+ };
327
333
  };
328
334
  };
329
335
  match(root?: any, ctx?: import("shape").Context): boolean;
@@ -374,6 +380,9 @@ declare const ModelShape: {
374
380
  guide: {};
375
381
  entity: {};
376
382
  };
383
+ custom: {
384
+ plurals: {};
385
+ };
377
386
  };
378
387
  }>;
379
388
  stringify(...rest: any[]): string;
@@ -410,6 +419,9 @@ declare const OpenModelShape: {
410
419
  guide: {};
411
420
  entity: {};
412
421
  };
422
+ custom: {
423
+ plurals: {};
424
+ };
413
425
  };
414
426
  };
415
427
  valid: <V_1>(root?: V_1 | undefined, ctx?: import("shape").Context) => root is V_1 & {
@@ -422,6 +434,9 @@ declare const OpenModelShape: {
422
434
  guide: {};
423
435
  entity: {};
424
436
  };
437
+ custom: {
438
+ plurals: {};
439
+ };
425
440
  };
426
441
  };
427
442
  match(root?: any, ctx?: import("shape").Context): boolean;
@@ -472,6 +487,9 @@ declare const OpenModelShape: {
472
487
  guide: {};
473
488
  entity: {};
474
489
  };
490
+ custom: {
491
+ plurals: {};
492
+ };
475
493
  };
476
494
  }>;
477
495
  stringify(...rest: any[]): string;
@@ -531,6 +549,9 @@ declare const OpenModelShape: {
531
549
  guide: {};
532
550
  entity: {};
533
551
  };
552
+ custom: {
553
+ plurals: {};
554
+ };
534
555
  };
535
556
  };
536
557
  valid: <V>(root?: V | undefined, ctx?: import("shape").Context) => root is V & {
@@ -543,6 +564,9 @@ declare const OpenModelShape: {
543
564
  guide: {};
544
565
  entity: {};
545
566
  };
567
+ custom: {
568
+ plurals: {};
569
+ };
546
570
  };
547
571
  };
548
572
  match(root?: any, ctx?: import("shape").Context): boolean;
@@ -593,6 +617,9 @@ declare const OpenModelShape: {
593
617
  guide: {};
594
618
  entity: {};
595
619
  };
620
+ custom: {
621
+ plurals: {};
622
+ };
596
623
  };
597
624
  }>;
598
625
  stringify(...rest: any[]): string;
@@ -1050,7 +1077,7 @@ type Warner = {
1050
1077
  } & Record<string, any>)[];
1051
1078
  point: string;
1052
1079
  } & ((details: Record<string, any>) => void);
1053
- type MethodName = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS' | '';
1080
+ type MethodName = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS' | 'QUERY' | '';
1054
1081
  type Guide = {
1055
1082
  metrics: GuideMetrics;
1056
1083
  entity: Record<string, GuideEntity>;
package/dist/types.js CHANGED
@@ -26,6 +26,14 @@ const ModelShape = (0, shape_1.Shape)({
26
26
  guide: {},
27
27
  entity: {},
28
28
  },
29
+ // Per-model overrides. `custom.plurals` is a plural → singular map
30
+ // consulted by depluralize() before the built-in IRREGULARS table
31
+ // and rule chain. Use for API-specific terminology where the
32
+ // generic English rules misclassify a name — e.g. {axes: axe}
33
+ // for a fitness API where the singular is "axe" not "axis".
34
+ custom: {
35
+ plurals: {},
36
+ },
29
37
  }
30
38
  });
31
39
  const OpenModelShape = (0, shape_1.Shape)((0, shape_1.Open)(ModelShape), { name: 'Model' });
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;AAK5C,iCAAwC;AAGxC,MAAM,GAAG,GAAG,KAAK,CAAA;AA6Of,kBAAG;AA7ML,MAAM,YAAY,GAAG,IAAA,aAAK,EAAC;IACzB,IAAI,EAAE;QACJ,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;KACf;CACF,CAAC,CAAA;AACF,MAAM,gBAAgB,GAAG,IAAA,aAAK,EAAC,IAAA,YAAI,EAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;AAsMrE,4CAAgB;AAhMlB,MAAM,UAAU,GAAG,IAAA,aAAK,EAAC;IACvB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,IAAI,EAAE;QACJ,CAAC,GAAG,CAAC,EAAE,EAAE;QACT,GAAG,EAAE,EAAE;QACP,GAAG,EAAE;YACH,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;SACX;KACF;CACF,CAAC,CAAA;AACF,MAAM,cAAc,GAAG,IAAA,aAAK,EAAC,IAAA,YAAI,EAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAqL/D,wCAAc;AAhLhB,MAAM,UAAU,GAAG,IAAA,aAAK,EAAC;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,EAAE;QACX,GAAG,EAAE,EAAE;QACP,EAAE,EAAE,IAAA,WAAG,GAAE;QACT,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,EAAE;QACb,KAAK,EAAE;YACL,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;SACV;KACF;CACF,CAAC,CAAA;AACF,MAAM,cAAc,GAAG,IAAA,aAAK,EAAC,IAAA,YAAI,EAAC,UAAU,CAAC,CAAC,CAAA;AA8J5C,wCAAc"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;AAK5C,iCAAwC;AAGxC,MAAM,GAAG,GAAG,KAAK,CAAA;AAqPf,kBAAG;AArNL,MAAM,YAAY,GAAG,IAAA,aAAK,EAAC;IACzB,IAAI,EAAE;QACJ,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;KACf;CACF,CAAC,CAAA;AACF,MAAM,gBAAgB,GAAG,IAAA,aAAK,EAAC,IAAA,YAAI,EAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;AA8MrE,4CAAgB;AAxMlB,MAAM,UAAU,GAAG,IAAA,aAAK,EAAC;IACvB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,IAAI,EAAE;QACJ,CAAC,GAAG,CAAC,EAAE,EAAE;QACT,GAAG,EAAE,EAAE;QACP,GAAG,EAAE;YACH,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;SACX;QACD,mEAAmE;QACnE,kEAAkE;QAClE,6DAA6D;QAC7D,8DAA8D;QAC9D,4DAA4D;QAC5D,MAAM,EAAE;YACN,OAAO,EAAE,EAAE;SACZ;KACF;CACF,CAAC,CAAA;AACF,MAAM,cAAc,GAAG,IAAA,aAAK,EAAC,IAAA,YAAI,EAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAqL/D,wCAAc;AAhLhB,MAAM,UAAU,GAAG,IAAA,aAAK,EAAC;IACvB,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,EAAE;QACX,GAAG,EAAE,EAAE;QACP,EAAE,EAAE,IAAA,WAAG,GAAE;QACT,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,EAAE;QACb,KAAK,EAAE;YACL,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;SACV;KACF;CACF,CAAC,CAAA;AACF,MAAM,cAAc,GAAG,IAAA,aAAK,EAAC,IAAA,YAAI,EAAC,UAAU,CAAC,CAAC,CAAA;AA8J5C,wCAAc"}
package/dist/utility.d.ts CHANGED
@@ -13,6 +13,8 @@ declare function getdlog(tagin?: string, filepath?: string): ((...args: any[]) =
13
13
  };
14
14
  declare function loadFile(path: string, what: string, fs: FsUtil, log: Log): string;
15
15
  declare function formatJsonSrc(jsonsrc: string): string;
16
+ declare function setCustomPlurals(plurals: Record<string, string> | undefined | null): void;
17
+ declare function clearCustomPlurals(): void;
16
18
  declare function depluralize(word: string): string;
17
19
  declare function find(obj: any, qkey: string): any[];
18
20
  declare function capture(data: any, shape: any): Record<string, any>;
@@ -51,4 +53,4 @@ declare function getModelPath(model: any, path: string, flags?: {
51
53
  only_active?: boolean;
52
54
  }): any;
53
55
  export type { PathMatch };
54
- export { nom, getdlog, loadFile, formatJsonSrc, depluralize, find, capture, pathMatch, makeWarner, formatJSONIC, validator, canonize, sanitizeSlug, slugToPascalCase, transliterate, cleanComponentName, ensureMinEntityName, inferFieldType, normalizeFieldName, debugpath, findPathsWithPrefix, writeFileSyncWarn, warnOnError, relativizePath, getModelPath, sortedKeys, sortedEntries, };
56
+ export { nom, getdlog, loadFile, formatJsonSrc, depluralize, setCustomPlurals, clearCustomPlurals, find, capture, pathMatch, makeWarner, formatJSONIC, validator, canonize, sanitizeSlug, slugToPascalCase, transliterate, cleanComponentName, ensureMinEntityName, inferFieldType, normalizeFieldName, debugpath, findPathsWithPrefix, writeFileSyncWarn, warnOnError, relativizePath, getModelPath, sortedKeys, sortedEntries, };