@haddowg/json-api-codegen 1.12.0 → 1.13.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/cli.d.mts +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/{index-Ch2PJH9Y.d.mts → index-C0T-tofN.d.mts} +2 -2
- package/dist/{index-Ch2PJH9Y.d.mts.map → index-C0T-tofN.d.mts.map} +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{src-D4apiVHe.mjs → src-Qe0YLO-w.mjs} +15 -5
- package/dist/src-Qe0YLO-w.mjs.map +1 -0
- package/package.json +1 -1
- package/dist/src-D4apiVHe.mjs.map +0 -1
package/dist/cli.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as CodegenConfig } from "./index-
|
|
1
|
+
import { r as CodegenConfig } from "./index-C0T-tofN.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/cli.d.ts
|
|
4
4
|
declare const USAGE = "Usage: json-api-codegen --input <url|file> --output <file> [--server <name>] [--schemas <url|file>] [--examples] [--check]";
|
package/dist/cli.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { i as generateFiles, t as check } from "./src-
|
|
2
|
+
import { i as generateFiles, t as check } from "./src-Qe0YLO-w.mjs";
|
|
3
3
|
import { realpathSync } from "node:fs";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
//#region src/cli.ts
|
|
@@ -330,7 +330,7 @@ declare function buildExamples(doc: OpenApiDocument, descriptor: ApiDescriptor):
|
|
|
330
330
|
/** Below this the document predates the structures this codegen reads. */
|
|
331
331
|
declare const MINIMUM_CONTRACT = 1;
|
|
332
332
|
/** Above this the document carries structures this codegen does not read. */
|
|
333
|
-
declare const MAXIMUM_CONTRACT =
|
|
333
|
+
declare const MAXIMUM_CONTRACT = 18;
|
|
334
334
|
/**
|
|
335
335
|
* Check the document's `info.x-generator.contract` against the range this codegen reads. A
|
|
336
336
|
* document older than the range throws; a newer one returns a warning, because its new
|
|
@@ -718,4 +718,4 @@ declare function generateFiles(config: CodegenConfig): Promise<string[]>;
|
|
|
718
718
|
declare function check(config: CodegenConfig): Promise<CheckResult>;
|
|
719
719
|
//#endregion
|
|
720
720
|
export { operationExamples as A, PathItemObject as B, VerbCollision as C, MINIMUM_CONTRACT as D, MAXIMUM_CONTRACT as E, InfoObject as F, SecurityRequirement as G, ResponseObject as H, MediaTypeObject as I, SecuritySchemeObject as K, OpenApiDocument as L, buildAtomic as M, buildDescriptor as N, checkContract as O, HttpMethod as P, OperationObject as R, Emitter as S, emit as T, SchemaObject as U, RequestBodyObject as V, SchemaOrBool as W, emitExamples as _, examplesOutputPath as a, emitErrorCodes as b, schemasOutputPath as c, hashJson as d, provenanceLines as f, readSchemas as g, readDocument as h, check as i, DescriptorBuilder as j, buildExamples as k, Provenance as l, SchemaBundle as m, CheckResult as n, generate as o, emitSchemas as p, CodegenConfig as r, generateFiles as s, ArtifactDrift as t, deriveProvenance as u, DocumentedErrorCode as v, detectVerbCollisions as w, readErrorCatalogue as x, ErrorCatalogue as y, ParameterObject as z };
|
|
721
|
-
//# sourceMappingURL=index-
|
|
721
|
+
//# sourceMappingURL=index-C0T-tofN.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-C0T-tofN.d.mts","names":[],"sources":["../src/openapi.ts","../src/build-descriptor.ts","../src/build-examples.ts","../src/contract.ts","../src/emit.ts","../src/error-codes.ts","../src/emit-examples.ts","../src/reader.ts","../src/emit-schemas.ts","../src/provenance.ts","../src/index.ts"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as operationExamples, B as PathItemObject, C as VerbCollision, D as MINIMUM_CONTRACT, E as MAXIMUM_CONTRACT, F as InfoObject, G as SecurityRequirement, H as ResponseObject, I as MediaTypeObject, K as SecuritySchemeObject, L as OpenApiDocument, M as buildAtomic, N as buildDescriptor, O as checkContract, P as HttpMethod, R as OperationObject, S as Emitter, T as emit, U as SchemaObject, V as RequestBodyObject, W as SchemaOrBool, _ as emitExamples, a as examplesOutputPath, b as emitErrorCodes, c as schemasOutputPath, d as hashJson, f as provenanceLines, g as readSchemas, h as readDocument, i as check, j as DescriptorBuilder, k as buildExamples, l as Provenance, m as SchemaBundle, n as CheckResult, o as generate, p as emitSchemas, r as CodegenConfig, s as generateFiles, t as ArtifactDrift, u as deriveProvenance, v as DocumentedErrorCode, w as detectVerbCollisions, x as readErrorCatalogue, y as ErrorCatalogue, z as ParameterObject } from "./index-
|
|
1
|
+
import { A as operationExamples, B as PathItemObject, C as VerbCollision, D as MINIMUM_CONTRACT, E as MAXIMUM_CONTRACT, F as InfoObject, G as SecurityRequirement, H as ResponseObject, I as MediaTypeObject, K as SecuritySchemeObject, L as OpenApiDocument, M as buildAtomic, N as buildDescriptor, O as checkContract, P as HttpMethod, R as OperationObject, S as Emitter, T as emit, U as SchemaObject, V as RequestBodyObject, W as SchemaOrBool, _ as emitExamples, a as examplesOutputPath, b as emitErrorCodes, c as schemasOutputPath, d as hashJson, f as provenanceLines, g as readSchemas, h as readDocument, i as check, j as DescriptorBuilder, k as buildExamples, l as Provenance, m as SchemaBundle, n as CheckResult, o as generate, p as emitSchemas, r as CodegenConfig, s as generateFiles, t as ArtifactDrift, u as deriveProvenance, v as DocumentedErrorCode, w as detectVerbCollisions, x as readErrorCatalogue, y as ErrorCatalogue, z as ParameterObject } from "./index-C0T-tofN.mjs";
|
|
2
2
|
export { ArtifactDrift, CheckResult, CodegenConfig, DescriptorBuilder, type DocumentedErrorCode, Emitter, type ErrorCatalogue, type HttpMethod, type InfoObject, MAXIMUM_CONTRACT, MINIMUM_CONTRACT, type MediaTypeObject, type OpenApiDocument, type OperationObject, type ParameterObject, type PathItemObject, type Provenance, type RequestBodyObject, type ResponseObject, type SchemaBundle, type SchemaObject, type SchemaOrBool, type SecurityRequirement, type SecuritySchemeObject, type VerbCollision, buildAtomic, buildDescriptor, buildExamples, check, checkContract, deriveProvenance, detectVerbCollisions, emit, emitErrorCodes, emitExamples, emitSchemas, examplesOutputPath, generate, generateFiles, hashJson, operationExamples, provenanceLines, readDocument, readErrorCatalogue, readSchemas, schemasOutputPath };
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { C as DescriptorBuilder, S as operationExamples, T as buildDescriptor, _ as readErrorCatalogue, a as schemasOutputPath, b as checkContract, c as emitSchemas, d as detectVerbCollisions, f as emit, g as emitErrorCodes, h as provenanceLines, i as generateFiles, l as emitExamples, m as hashJson, n as examplesOutputPath, o as readDocument, p as deriveProvenance, r as generate, s as readSchemas, t as check, u as Emitter, v as MAXIMUM_CONTRACT, w as buildAtomic, x as buildExamples, y as MINIMUM_CONTRACT } from "./src-
|
|
1
|
+
import { C as DescriptorBuilder, S as operationExamples, T as buildDescriptor, _ as readErrorCatalogue, a as schemasOutputPath, b as checkContract, c as emitSchemas, d as detectVerbCollisions, f as emit, g as emitErrorCodes, h as provenanceLines, i as generateFiles, l as emitExamples, m as hashJson, n as examplesOutputPath, o as readDocument, p as deriveProvenance, r as generate, s as readSchemas, t as check, u as Emitter, v as MAXIMUM_CONTRACT, w as buildAtomic, x as buildExamples, y as MINIMUM_CONTRACT } from "./src-Qe0YLO-w.mjs";
|
|
2
2
|
export { DescriptorBuilder, Emitter, MAXIMUM_CONTRACT, MINIMUM_CONTRACT, buildAtomic, buildDescriptor, buildExamples, check, checkContract, deriveProvenance, detectVerbCollisions, emit, emitErrorCodes, emitExamples, emitSchemas, examplesOutputPath, generate, generateFiles, hashJson, operationExamples, provenanceLines, readDocument, readErrorCatalogue, readSchemas, schemasOutputPath };
|
|
@@ -1185,7 +1185,7 @@ function buildExamples(doc, descriptor) {
|
|
|
1185
1185
|
/** Below this the document predates the structures this codegen reads. */
|
|
1186
1186
|
const MINIMUM_CONTRACT = 1;
|
|
1187
1187
|
/** Above this the document carries structures this codegen does not read. */
|
|
1188
|
-
const MAXIMUM_CONTRACT =
|
|
1188
|
+
const MAXIMUM_CONTRACT = 18;
|
|
1189
1189
|
/**
|
|
1190
1190
|
* Check the document's `info.x-generator.contract` against the range this codegen reads. A
|
|
1191
1191
|
* document older than the range throws; a newer one returns a warning, because its new
|
|
@@ -1195,8 +1195,8 @@ const MAXIMUM_CONTRACT = 17;
|
|
|
1195
1195
|
function checkContract(doc) {
|
|
1196
1196
|
const contract = doc.info?.["x-generator"]?.contract;
|
|
1197
1197
|
if (typeof contract !== "number") return;
|
|
1198
|
-
if (contract < 1) throw new Error(`the document declares contract ${contract}, which predates what this codegen reads (it supports 1 to
|
|
1199
|
-
if (contract >
|
|
1198
|
+
if (contract < 1) throw new Error(`the document declares contract ${contract}, which predates what this codegen reads (it supports 1 to 18). Use an older codegen release, or regenerate the document from a newer server.`);
|
|
1199
|
+
if (contract > 18) return `the document declares contract ${contract} and this codegen reads up to 18. It describes capabilities that were not generated; upgrade the codegen to pick them up.`;
|
|
1200
1200
|
}
|
|
1201
1201
|
//#endregion
|
|
1202
1202
|
//#region src/declared-links.ts
|
|
@@ -1205,6 +1205,16 @@ function isSchema$2(value) {
|
|
|
1205
1205
|
return typeof value === "object" && value !== null;
|
|
1206
1206
|
}
|
|
1207
1207
|
/**
|
|
1208
|
+
* The named links of a `<Type>ResourceLinks` component. From generator contract 18 the component
|
|
1209
|
+
* is an `allOf` of the shared `ResourceLinks` and an object listing them; before, it listed them
|
|
1210
|
+
* beside `self`.
|
|
1211
|
+
*/
|
|
1212
|
+
function namedLinks(component) {
|
|
1213
|
+
const own = Object.entries(component?.properties ?? {});
|
|
1214
|
+
const extended = (component?.allOf ?? []).filter((member) => member.$ref === void 0).flatMap((member) => Object.entries(member.properties ?? {}));
|
|
1215
|
+
return [...own, ...extended];
|
|
1216
|
+
}
|
|
1217
|
+
/**
|
|
1208
1218
|
* The declared links on a `<Type>ResourceLinks` component, in document order. `self` is never
|
|
1209
1219
|
* declared, and a link the server builds itself, such as an action's link, points at
|
|
1210
1220
|
* `RenderedLink`, so neither is read. A server that renders its links as strings points those at
|
|
@@ -1213,7 +1223,7 @@ function isSchema$2(value) {
|
|
|
1213
1223
|
*/
|
|
1214
1224
|
function readDeclaredLinks(component) {
|
|
1215
1225
|
const out = [];
|
|
1216
|
-
for (const [name, schema] of
|
|
1226
|
+
for (const [name, schema] of namedLinks(component)) {
|
|
1217
1227
|
if (name === "self" || !isSchema$2(schema)) continue;
|
|
1218
1228
|
if (schema.$ref === LINK_OBJECT_REF) out.push({
|
|
1219
1229
|
name,
|
|
@@ -2678,4 +2688,4 @@ async function check(config) {
|
|
|
2678
2688
|
//#endregion
|
|
2679
2689
|
export { DescriptorBuilder as C, operationExamples as S, buildDescriptor as T, readErrorCatalogue as _, schemasOutputPath as a, checkContract as b, emitSchemas as c, detectVerbCollisions as d, emit as f, emitErrorCodes as g, provenanceLines as h, generateFiles as i, emitExamples as l, hashJson as m, examplesOutputPath as n, readDocument as o, deriveProvenance as p, generate as r, readSchemas as s, check as t, Emitter as u, MAXIMUM_CONTRACT as v, buildAtomic as w, buildExamples as x, MINIMUM_CONTRACT as y };
|
|
2680
2690
|
|
|
2681
|
-
//# sourceMappingURL=src-
|
|
2691
|
+
//# sourceMappingURL=src-Qe0YLO-w.mjs.map
|