@distilled.cloud/core 0.30.3 → 1.0.0-rc.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/lib/api.d.ts +165 -0
- package/lib/api.d.ts.map +1 -0
- package/lib/api.js +178 -0
- package/lib/api.js.map +1 -0
- package/lib/codegen/cli.d.ts +29 -0
- package/lib/codegen/cli.d.ts.map +1 -0
- package/lib/codegen/cli.js +165 -0
- package/lib/codegen/cli.js.map +1 -0
- package/lib/codegen/emit.d.ts +129 -0
- package/lib/codegen/emit.d.ts.map +1 -0
- package/lib/codegen/emit.js +105 -0
- package/lib/codegen/emit.js.map +1 -0
- package/lib/codegen/format.d.ts +23 -0
- package/lib/codegen/format.d.ts.map +1 -0
- package/lib/codegen/format.js +28 -0
- package/lib/codegen/format.js.map +1 -0
- package/lib/codegen/generator.d.ts +334 -0
- package/lib/codegen/generator.d.ts.map +1 -0
- package/lib/codegen/generator.js +691 -0
- package/lib/codegen/generator.js.map +1 -0
- package/lib/codegen/graph.d.ts +36 -0
- package/lib/codegen/graph.d.ts.map +1 -0
- package/lib/codegen/graph.js +136 -0
- package/lib/codegen/graph.js.map +1 -0
- package/lib/codegen/members.d.ts +25 -0
- package/lib/codegen/members.d.ts.map +1 -0
- package/lib/codegen/members.js +55 -0
- package/lib/codegen/members.js.map +1 -0
- package/lib/codegen/naming.d.ts +29 -0
- package/lib/codegen/naming.d.ts.map +1 -0
- package/lib/codegen/naming.js +74 -0
- package/lib/codegen/naming.js.map +1 -0
- package/lib/codegen/openapi-cli.d.ts +38 -0
- package/lib/codegen/openapi-cli.d.ts.map +1 -0
- package/lib/codegen/openapi-cli.js +107 -0
- package/lib/codegen/openapi-cli.js.map +1 -0
- package/lib/codegen/openapi.d.ts +115 -0
- package/lib/codegen/openapi.d.ts.map +1 -0
- package/lib/codegen/openapi.js +1220 -0
- package/lib/codegen/openapi.js.map +1 -0
- package/lib/codegen/operations.d.ts +24 -0
- package/lib/codegen/operations.d.ts.map +1 -0
- package/lib/codegen/operations.js +56 -0
- package/lib/codegen/operations.js.map +1 -0
- package/lib/codegen/pagination.d.ts +39 -0
- package/lib/codegen/pagination.d.ts.map +1 -0
- package/lib/codegen/pagination.js +33 -0
- package/lib/codegen/pagination.js.map +1 -0
- package/lib/codegen/prelude.d.ts +15 -0
- package/lib/codegen/prelude.d.ts.map +1 -0
- package/lib/codegen/prelude.js +60 -0
- package/lib/codegen/prelude.js.map +1 -0
- package/lib/error-category.d.ts +28 -0
- package/lib/error-category.d.ts.map +1 -0
- package/lib/error-category.js +46 -0
- package/lib/error-category.js.map +1 -0
- package/lib/errors.d.ts +1 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +1 -0
- package/lib/errors.js.map +1 -1
- package/lib/json-patch.d.ts +25 -32
- package/lib/json-patch.d.ts.map +1 -1
- package/lib/json-patch.js +23 -95
- package/lib/json-patch.js.map +1 -1
- package/lib/pagination.d.ts +37 -51
- package/lib/pagination.d.ts.map +1 -1
- package/lib/pagination.js +72 -90
- package/lib/pagination.js.map +1 -1
- package/lib/protocol-http.d.ts +74 -0
- package/lib/protocol-http.d.ts.map +1 -0
- package/lib/protocol-http.js +554 -0
- package/lib/protocol-http.js.map +1 -0
- package/lib/protocol-rest.d.ts +124 -0
- package/lib/protocol-rest.d.ts.map +1 -0
- package/lib/protocol-rest.js +242 -0
- package/lib/protocol-rest.js.map +1 -0
- package/lib/retry.d.ts +8 -2
- package/lib/retry.d.ts.map +1 -1
- package/lib/retry.js +21 -15
- package/lib/retry.js.map +1 -1
- package/lib/schema.d.ts +7 -8
- package/lib/schema.d.ts.map +1 -1
- package/lib/schema.js +7 -8
- package/lib/schema.js.map +1 -1
- package/lib/trait.d.ts +150 -0
- package/lib/trait.d.ts.map +1 -0
- package/lib/trait.js +107 -0
- package/lib/trait.js.map +1 -0
- package/package.json +18 -75
- package/src/api.ts +446 -0
- package/src/codegen/cli.ts +268 -0
- package/src/codegen/emit.ts +207 -0
- package/src/codegen/format.ts +47 -0
- package/src/codegen/generator.ts +1153 -0
- package/src/codegen/graph.ts +151 -0
- package/src/codegen/members.ts +71 -0
- package/src/codegen/naming.ts +86 -0
- package/src/codegen/openapi-cli.ts +166 -0
- package/src/codegen/openapi.ts +1450 -0
- package/src/codegen/operations.ts +76 -0
- package/src/codegen/pagination.ts +71 -0
- package/src/codegen/prelude.ts +70 -0
- package/src/error-category.ts +84 -0
- package/src/errors.ts +2 -0
- package/src/json-patch.ts +26 -110
- package/src/pagination.ts +86 -142
- package/src/protocol-http.ts +699 -0
- package/src/protocol-rest.ts +367 -0
- package/src/retry.ts +20 -21
- package/src/schema.ts +7 -8
- package/src/trait.ts +238 -0
- package/README.md +0 -30
- package/lib/client.d.ts +0 -167
- package/lib/client.d.ts.map +0 -1
- package/lib/client.js +0 -659
- package/lib/client.js.map +0 -1
- package/lib/schemas.d.ts +0 -60
- package/lib/schemas.d.ts.map +0 -1
- package/lib/schemas.js +0 -79
- package/lib/schemas.js.map +0 -1
- package/lib/sensitive.d.ts +0 -71
- package/lib/sensitive.d.ts.map +0 -1
- package/lib/sensitive.js +0 -96
- package/lib/sensitive.js.map +0 -1
- package/lib/traits.d.ts +0 -421
- package/lib/traits.d.ts.map +0 -1
- package/lib/traits.js +0 -737
- package/lib/traits.js.map +0 -1
- package/src/client.ts +0 -1177
- package/src/schemas.ts +0 -128
- package/src/sensitive.ts +0 -119
- package/src/traits.ts +0 -996
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/codegen/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type ShapeMap = Record<string, any>;
|
|
2
|
+
/**
|
|
3
|
+
* Direct dependencies of a shape: structure/union member targets, list
|
|
4
|
+
* member, map key/value. Operations/services are not traversed here —
|
|
5
|
+
* providers seed reachability from operation I/O explicitly.
|
|
6
|
+
*/
|
|
7
|
+
export declare const shapeDeps: (def: any) => string[];
|
|
8
|
+
/**
|
|
9
|
+
* Every shape reachable from `roots` through `deps`, excluding prelude
|
|
10
|
+
* shapes and ids missing from the map.
|
|
11
|
+
*/
|
|
12
|
+
export declare const reachableFrom: (shapes: ShapeMap, roots: Iterable<string>, deps?: (def: any) => string[]) => Set<string>;
|
|
13
|
+
/**
|
|
14
|
+
* Dependencies-first topological order over `ids`. Cycles are tolerated:
|
|
15
|
+
* a back-edge is simply skipped, so mutually-recursive shapes come out in
|
|
16
|
+
* discovery order and emitters break the cycle with `S.suspend` at
|
|
17
|
+
* forward references (see {@link forwardRef}).
|
|
18
|
+
*/
|
|
19
|
+
export declare const topoOrder: (shapes: ShapeMap, ids: Iterable<string>, deps?: (def: any) => string[]) => string[];
|
|
20
|
+
/** Position index for {@link forwardRef} decisions. */
|
|
21
|
+
export declare const orderIndex: (order: readonly string[]) => Map<string, number>;
|
|
22
|
+
/**
|
|
23
|
+
* Whether a reference from the shape at `selfIdx` to `target` points
|
|
24
|
+
* forward in emission order (including into a cycle) and therefore needs
|
|
25
|
+
* `S.suspend(() => …)` to defer evaluation.
|
|
26
|
+
*/
|
|
27
|
+
export declare const isForwardRef: (indexOf: ReadonlyMap<string, number>, target: string, selfIdx: number) => boolean;
|
|
28
|
+
/**
|
|
29
|
+
* All shape ids that participate in a dependency cycle (Tarjan SCC —
|
|
30
|
+
* components of size > 1, plus direct self-loops). Used by generators
|
|
31
|
+
* that must know cyclicity independent of emission position (e.g. to add
|
|
32
|
+
* an explicit `S.Schema<T>` return type on suspended thunks and break
|
|
33
|
+
* circular type inference).
|
|
34
|
+
*/
|
|
35
|
+
export declare const cyclicShapeIds: (shapes: ShapeMap, ids: Iterable<string>, deps?: (def: any) => string[]) => Set<string>;
|
|
36
|
+
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/codegen/graph.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAAS,GAAG,KAAG,MAAM,EAU1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,WAChB,QAAQ,SACT,QAAQ,CAAC,MAAM,CAAC,SACjB,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,EAAE,KAC3B,GAAG,CAAC,MAAM,CASZ,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,WACZ,QAAQ,OACX,QAAQ,CAAC,MAAM,CAAC,SACf,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,EAAE,KAC3B,MAAM,EAcR,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,UAAU,UAAW,SAAS,MAAM,EAAE,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAIvE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,YACd,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,UAC5B,MAAM,WACL,MAAM,KACd,OAGF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,WACjB,QAAQ,OACX,QAAQ,CAAC,MAAM,CAAC,SACf,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,EAAE,KAC3B,GAAG,CAAC,MAAM,CA4CZ,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared shape-graph utilities for the SDK generators (dev-time only).
|
|
3
|
+
*
|
|
4
|
+
* Works over plain Smithy-JSON shape maps (`{ "ns#Name": { type, members,
|
|
5
|
+
* … } }`). Providers supply the shape map and (optionally) a custom
|
|
6
|
+
* dependency extractor; reachability, topological ordering, and cycle
|
|
7
|
+
* analysis are generic.
|
|
8
|
+
*/
|
|
9
|
+
import { isPrelude } from "./naming.js";
|
|
10
|
+
/**
|
|
11
|
+
* Direct dependencies of a shape: structure/union member targets, list
|
|
12
|
+
* member, map key/value. Operations/services are not traversed here —
|
|
13
|
+
* providers seed reachability from operation I/O explicitly.
|
|
14
|
+
*/
|
|
15
|
+
export const shapeDeps = (def) => {
|
|
16
|
+
if (!def)
|
|
17
|
+
return [];
|
|
18
|
+
if (def.type === "structure" || def.type === "union") {
|
|
19
|
+
return Object.values(def.members ?? {}).map((m) => m.target);
|
|
20
|
+
}
|
|
21
|
+
if (def.type === "list")
|
|
22
|
+
return [def.member.target];
|
|
23
|
+
if (def.type === "map") {
|
|
24
|
+
return def.key ? [def.key.target, def.value.target] : [def.value.target];
|
|
25
|
+
}
|
|
26
|
+
return [];
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Every shape reachable from `roots` through `deps`, excluding prelude
|
|
30
|
+
* shapes and ids missing from the map.
|
|
31
|
+
*/
|
|
32
|
+
export const reachableFrom = (shapes, roots, deps = shapeDeps) => {
|
|
33
|
+
const reachable = new Set();
|
|
34
|
+
const visit = (id) => {
|
|
35
|
+
if (isPrelude(id) || reachable.has(id) || !shapes[id])
|
|
36
|
+
return;
|
|
37
|
+
reachable.add(id);
|
|
38
|
+
for (const dep of deps(shapes[id]))
|
|
39
|
+
visit(dep);
|
|
40
|
+
};
|
|
41
|
+
for (const r of roots)
|
|
42
|
+
visit(r);
|
|
43
|
+
return reachable;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Dependencies-first topological order over `ids`. Cycles are tolerated:
|
|
47
|
+
* a back-edge is simply skipped, so mutually-recursive shapes come out in
|
|
48
|
+
* discovery order and emitters break the cycle with `S.suspend` at
|
|
49
|
+
* forward references (see {@link forwardRef}).
|
|
50
|
+
*/
|
|
51
|
+
export const topoOrder = (shapes, ids, deps = shapeDeps) => {
|
|
52
|
+
const order = [];
|
|
53
|
+
const done = new Set();
|
|
54
|
+
const stack = new Set();
|
|
55
|
+
const walk = (id) => {
|
|
56
|
+
if (done.has(id) || stack.has(id) || isPrelude(id) || !shapes[id])
|
|
57
|
+
return;
|
|
58
|
+
stack.add(id);
|
|
59
|
+
for (const dep of deps(shapes[id]))
|
|
60
|
+
walk(dep);
|
|
61
|
+
stack.delete(id);
|
|
62
|
+
done.add(id);
|
|
63
|
+
order.push(id);
|
|
64
|
+
};
|
|
65
|
+
for (const id of ids)
|
|
66
|
+
walk(id);
|
|
67
|
+
return order;
|
|
68
|
+
};
|
|
69
|
+
/** Position index for {@link forwardRef} decisions. */
|
|
70
|
+
export const orderIndex = (order) => {
|
|
71
|
+
const indexOf = new Map();
|
|
72
|
+
order.forEach((id, i) => indexOf.set(id, i));
|
|
73
|
+
return indexOf;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Whether a reference from the shape at `selfIdx` to `target` points
|
|
77
|
+
* forward in emission order (including into a cycle) and therefore needs
|
|
78
|
+
* `S.suspend(() => …)` to defer evaluation.
|
|
79
|
+
*/
|
|
80
|
+
export const isForwardRef = (indexOf, target, selfIdx) => {
|
|
81
|
+
const ti = indexOf.get(target);
|
|
82
|
+
return ti !== undefined && ti > selfIdx;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* All shape ids that participate in a dependency cycle (Tarjan SCC —
|
|
86
|
+
* components of size > 1, plus direct self-loops). Used by generators
|
|
87
|
+
* that must know cyclicity independent of emission position (e.g. to add
|
|
88
|
+
* an explicit `S.Schema<T>` return type on suspended thunks and break
|
|
89
|
+
* circular type inference).
|
|
90
|
+
*/
|
|
91
|
+
export const cyclicShapeIds = (shapes, ids, deps = shapeDeps) => {
|
|
92
|
+
const idSet = new Set(ids);
|
|
93
|
+
const index = new Map();
|
|
94
|
+
const low = new Map();
|
|
95
|
+
const onStack = new Set();
|
|
96
|
+
const stack = [];
|
|
97
|
+
const cyclic = new Set();
|
|
98
|
+
let counter = 0;
|
|
99
|
+
const strongConnect = (v) => {
|
|
100
|
+
index.set(v, counter);
|
|
101
|
+
low.set(v, counter);
|
|
102
|
+
counter++;
|
|
103
|
+
stack.push(v);
|
|
104
|
+
onStack.add(v);
|
|
105
|
+
for (const w of deps(shapes[v])) {
|
|
106
|
+
if (!idSet.has(w) || !shapes[w])
|
|
107
|
+
continue;
|
|
108
|
+
if (!index.has(w)) {
|
|
109
|
+
strongConnect(w);
|
|
110
|
+
low.set(v, Math.min(low.get(v), low.get(w)));
|
|
111
|
+
}
|
|
112
|
+
else if (onStack.has(w)) {
|
|
113
|
+
low.set(v, Math.min(low.get(v), index.get(w)));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (low.get(v) === index.get(v)) {
|
|
117
|
+
const component = [];
|
|
118
|
+
let w;
|
|
119
|
+
do {
|
|
120
|
+
w = stack.pop();
|
|
121
|
+
onStack.delete(w);
|
|
122
|
+
component.push(w);
|
|
123
|
+
} while (w !== v);
|
|
124
|
+
if (component.length > 1 || deps(shapes[v]).some((d) => d === v)) {
|
|
125
|
+
for (const c of component)
|
|
126
|
+
cyclic.add(c);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
for (const id of idSet) {
|
|
131
|
+
if (!index.has(id) && shapes[id])
|
|
132
|
+
strongConnect(id);
|
|
133
|
+
}
|
|
134
|
+
return cyclic;
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/codegen/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface MemberBase {
|
|
2
|
+
/** Original smithy member name. */
|
|
3
|
+
readonly name: string;
|
|
4
|
+
/** TS-facing name (per `nameFn`, deduplicated within the structure). */
|
|
5
|
+
readonly tsName: string;
|
|
6
|
+
readonly target: string;
|
|
7
|
+
readonly required: boolean;
|
|
8
|
+
readonly doc: string | undefined;
|
|
9
|
+
readonly traits: Record<string, any>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Base analysis of a structure's members: TS naming (with collision
|
|
13
|
+
* dedup — a clashing name falls back to the original, then a numeric
|
|
14
|
+
* suffix), required-ness, and one-line docs. Binding classification and
|
|
15
|
+
* anything provider-specific layer on top via `traits`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const memberBases: (def: any, nameFn?: (memberName: string) => string) => MemberBase[];
|
|
18
|
+
/**
|
|
19
|
+
* The wire name a bound member serializes under, per the smithy HTTP
|
|
20
|
+
* binding traits: labels use the member name (URI placeholders), query and
|
|
21
|
+
* header use the trait value when it's a non-empty string, everything else
|
|
22
|
+
* uses `jsonName` when present.
|
|
23
|
+
*/
|
|
24
|
+
export declare const smithyWireName: (traits: Record<string, any>, memberName: string, binding: "label" | "query" | "header" | "other") => string;
|
|
25
|
+
//# sourceMappingURL=members.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../src/codegen/members.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QACjB,GAAG,WACA,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,KACrC,UAAU,EAkBZ,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,WACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,cACf,MAAM,WACT,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,KAC9C,MAWF,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure-member analysis for the SDK generators (dev-time only).
|
|
3
|
+
*
|
|
4
|
+
* The TS-facing name policy is the provider's (cloudflare camelCases wire
|
|
5
|
+
* names, AWS keeps them) — supplied as `nameFn`. Wire-name resolution from
|
|
6
|
+
* the smithy HTTP binding traits is generic smithy semantics.
|
|
7
|
+
*/
|
|
8
|
+
import { oneLine } from "./naming.js";
|
|
9
|
+
/**
|
|
10
|
+
* Base analysis of a structure's members: TS naming (with collision
|
|
11
|
+
* dedup — a clashing name falls back to the original, then a numeric
|
|
12
|
+
* suffix), required-ness, and one-line docs. Binding classification and
|
|
13
|
+
* anything provider-specific layer on top via `traits`.
|
|
14
|
+
*/
|
|
15
|
+
export const memberBases = (def, nameFn = (n) => n) => {
|
|
16
|
+
const used = new Set();
|
|
17
|
+
return Object.entries(def.members ?? {}).map(([mn, m]) => {
|
|
18
|
+
const traits = m.traits ?? {};
|
|
19
|
+
let tsName = nameFn(mn);
|
|
20
|
+
if (used.has(tsName))
|
|
21
|
+
tsName = mn;
|
|
22
|
+
let k = 2;
|
|
23
|
+
while (used.has(tsName))
|
|
24
|
+
tsName = `${nameFn(mn)}${k++}`;
|
|
25
|
+
used.add(tsName);
|
|
26
|
+
return {
|
|
27
|
+
name: mn,
|
|
28
|
+
tsName,
|
|
29
|
+
target: m.target,
|
|
30
|
+
required: "smithy.api#required" in traits,
|
|
31
|
+
doc: oneLine(traits["smithy.api#documentation"]),
|
|
32
|
+
traits,
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* The wire name a bound member serializes under, per the smithy HTTP
|
|
38
|
+
* binding traits: labels use the member name (URI placeholders), query and
|
|
39
|
+
* header use the trait value when it's a non-empty string, everything else
|
|
40
|
+
* uses `jsonName` when present.
|
|
41
|
+
*/
|
|
42
|
+
export const smithyWireName = (traits, memberName, binding) => {
|
|
43
|
+
if (binding === "label")
|
|
44
|
+
return memberName;
|
|
45
|
+
if (binding === "query") {
|
|
46
|
+
const v = traits["smithy.api#httpQuery"];
|
|
47
|
+
return typeof v === "string" && v ? v : memberName;
|
|
48
|
+
}
|
|
49
|
+
if (binding === "header") {
|
|
50
|
+
const v = traits["smithy.api#httpHeader"];
|
|
51
|
+
return typeof v === "string" && v ? v : memberName;
|
|
52
|
+
}
|
|
53
|
+
return traits["smithy.api#jsonName"] ?? memberName;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.js","sourceRoot":"","sources":["../../src/codegen/members.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAatC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,GAAQ,EACR,MAAM,GAAmC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACnC,EAAE;IAChB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAgB,EAAE,EAAE;QACtE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO;YACL,IAAI,EAAE,EAAE;YACR,MAAM;YACN,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,qBAAqB,IAAI,MAAM;YACzC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAChD,MAAM;SACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAA2B,EAC3B,UAAkB,EAClB,OAA+C,EACvC,EAAE;IACV,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC;IAC3C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC,qBAAqB,CAAC,IAAI,UAAU,CAAC;AACrD,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared naming utilities for the SDK generators (dev-time only — imported by
|
|
3
|
+
* `packages/<sdk>/scripts/generate.ts`, never by runtime code).
|
|
4
|
+
*/
|
|
5
|
+
/** JSON-string-quote a value for emission into generated source. */
|
|
6
|
+
export declare const q: (s: string) => string;
|
|
7
|
+
/** Smithy shape id → local name (`ns#Shape` → `Shape`). */
|
|
8
|
+
export declare const local: (id: string) => string;
|
|
9
|
+
/** Whether a shape id is a smithy prelude shape (`smithy.api#…`). */
|
|
10
|
+
export declare const isPrelude: (id: string) => boolean;
|
|
11
|
+
/** Emit a TS object key: bare when a valid identifier, quoted otherwise. */
|
|
12
|
+
export declare const tsKey: (s: string) => string;
|
|
13
|
+
/** snake_case / kebab-case wire name → camelCase TS-facing name. */
|
|
14
|
+
export declare const camel: (s: string) => string;
|
|
15
|
+
/** Reserved words that can't be `const` names. */
|
|
16
|
+
export declare const RESERVED: Set<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Lower-case the first character for an exported operation name — unless the
|
|
19
|
+
* result is a reserved word, in which case the original casing is kept.
|
|
20
|
+
*/
|
|
21
|
+
export declare const lowerFirst: (s: string) => string;
|
|
22
|
+
/** Upper-case the first character. */
|
|
23
|
+
export declare const upperFirst: (s: string) => string;
|
|
24
|
+
/**
|
|
25
|
+
* Collapse a smithy documentation string to a single safe line for a
|
|
26
|
+
* `/** … */` comment.
|
|
27
|
+
*/
|
|
28
|
+
export declare const oneLine: (s: string | undefined) => string | undefined;
|
|
29
|
+
//# sourceMappingURL=naming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/codegen/naming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oEAAoE;AACpE,eAAO,MAAM,CAAC,MAAO,MAAM,KAAG,MAA2B,CAAC;AAE1D,2DAA2D;AAC3D,eAAO,MAAM,KAAK,OAAQ,MAAM,KAAG,MAAgC,CAAC;AAEpE,qEAAqE;AACrE,eAAO,MAAM,SAAS,OAAQ,MAAM,KAAG,OAAuC,CAAC;AAI/E,4EAA4E;AAC5E,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MAAoC,CAAC;AAEvE,oEAAoE;AACpE,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MACmC,CAAC;AAEtE,kDAAkD;AAClD,eAAO,MAAM,QAAQ,aAyCnB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,MAAO,MAAM,KAAG,MAGtC,CAAC;AAEF,sCAAsC;AACtC,eAAO,MAAM,UAAU,MAAO,MAAM,KAAG,MACC,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,OAAO,MAAO,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SACe,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared naming utilities for the SDK generators (dev-time only — imported by
|
|
3
|
+
* `packages/<sdk>/scripts/generate.ts`, never by runtime code).
|
|
4
|
+
*/
|
|
5
|
+
/** JSON-string-quote a value for emission into generated source. */
|
|
6
|
+
export const q = (s) => JSON.stringify(s);
|
|
7
|
+
/** Smithy shape id → local name (`ns#Shape` → `Shape`). */
|
|
8
|
+
export const local = (id) => id.split("#")[1] ?? id;
|
|
9
|
+
/** Whether a shape id is a smithy prelude shape (`smithy.api#…`). */
|
|
10
|
+
export const isPrelude = (id) => id.startsWith("smithy.api#");
|
|
11
|
+
const IDENT = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
|
|
12
|
+
/** Emit a TS object key: bare when a valid identifier, quoted otherwise. */
|
|
13
|
+
export const tsKey = (s) => (IDENT.test(s) ? s : q(s));
|
|
14
|
+
/** snake_case / kebab-case wire name → camelCase TS-facing name. */
|
|
15
|
+
export const camel = (s) => s.replace(/[_-]+([A-Za-z0-9])/g, (_, c) => c.toUpperCase());
|
|
16
|
+
/** Reserved words that can't be `const` names. */
|
|
17
|
+
export const RESERVED = new Set([
|
|
18
|
+
"break",
|
|
19
|
+
"case",
|
|
20
|
+
"catch",
|
|
21
|
+
"class",
|
|
22
|
+
"const",
|
|
23
|
+
"continue",
|
|
24
|
+
"debugger",
|
|
25
|
+
"default",
|
|
26
|
+
"delete",
|
|
27
|
+
"do",
|
|
28
|
+
"else",
|
|
29
|
+
"enum",
|
|
30
|
+
"export",
|
|
31
|
+
"extends",
|
|
32
|
+
"false",
|
|
33
|
+
"finally",
|
|
34
|
+
"for",
|
|
35
|
+
"function",
|
|
36
|
+
"if",
|
|
37
|
+
"import",
|
|
38
|
+
"in",
|
|
39
|
+
"instanceof",
|
|
40
|
+
"let",
|
|
41
|
+
"new",
|
|
42
|
+
"null",
|
|
43
|
+
"package",
|
|
44
|
+
"return",
|
|
45
|
+
"static",
|
|
46
|
+
"super",
|
|
47
|
+
"switch",
|
|
48
|
+
"this",
|
|
49
|
+
"throw",
|
|
50
|
+
"true",
|
|
51
|
+
"try",
|
|
52
|
+
"typeof",
|
|
53
|
+
"var",
|
|
54
|
+
"void",
|
|
55
|
+
"while",
|
|
56
|
+
"with",
|
|
57
|
+
"yield",
|
|
58
|
+
]);
|
|
59
|
+
/**
|
|
60
|
+
* Lower-case the first character for an exported operation name — unless the
|
|
61
|
+
* result is a reserved word, in which case the original casing is kept.
|
|
62
|
+
*/
|
|
63
|
+
export const lowerFirst = (s) => {
|
|
64
|
+
const lowered = s.charAt(0).toLowerCase() + s.slice(1);
|
|
65
|
+
return RESERVED.has(lowered) ? s : lowered;
|
|
66
|
+
};
|
|
67
|
+
/** Upper-case the first character. */
|
|
68
|
+
export const upperFirst = (s) => s.charAt(0).toUpperCase() + s.slice(1);
|
|
69
|
+
/**
|
|
70
|
+
* Collapse a smithy documentation string to a single safe line for a
|
|
71
|
+
* `/** … */` comment.
|
|
72
|
+
*/
|
|
73
|
+
export const oneLine = (s) => s ? s.replace(/\s+/g, " ").replace(/\*\//g, "*\\/").trim() : undefined;
|
|
74
|
+
//# sourceMappingURL=naming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/codegen/naming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE1D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAEpE,qEAAqE;AACrE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAW,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAE/E,MAAM,KAAK,GAAG,4BAA4B,CAAC;AAE3C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvE,oEAAoE;AACpE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CACzC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAEtE,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IAC9B,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,KAAK;IACL,KAAK;IACL,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;CACR,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE;IAC9C,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7C,CAAC,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CAC9C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAqB,EAAsB,EAAE,CACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type OpenApiConvertOptions } from "./openapi.ts";
|
|
2
|
+
export interface OpenApiSpecEntry {
|
|
3
|
+
/** Output model name — written to `<outDir>/<name>.json`. */
|
|
4
|
+
readonly name: string;
|
|
5
|
+
/** Spec file path, relative to `root` (or absolute). */
|
|
6
|
+
readonly specPath: string;
|
|
7
|
+
/**
|
|
8
|
+
* Hook between patching and conversion (e.g. path prefixing, server
|
|
9
|
+
* rewrites). May mutate the spec in place or return a replacement.
|
|
10
|
+
*/
|
|
11
|
+
readonly preprocess?: (spec: any) => unknown | void;
|
|
12
|
+
/** Per-spec converter option overrides (merged over the shared options). */
|
|
13
|
+
readonly options?: Partial<OpenApiConvertOptions>;
|
|
14
|
+
}
|
|
15
|
+
export interface RunOpenApiConvertOptions {
|
|
16
|
+
/** Absolute package root (usually `path.resolve(import.meta.dir, "..")`). */
|
|
17
|
+
readonly root: string;
|
|
18
|
+
readonly specs: readonly OpenApiSpecEntry[];
|
|
19
|
+
/**
|
|
20
|
+
* RFC-6902 patch chain root, relative to `root`. Default `"patches"`;
|
|
21
|
+
* `false` disables. Layout: `<patchesDir>/<name>/*.patch.json` when the
|
|
22
|
+
* per-spec directory exists; for single-spec providers a flat
|
|
23
|
+
* `<patchesDir>/*.patch.json` also works.
|
|
24
|
+
*/
|
|
25
|
+
readonly patchesDir?: string | false;
|
|
26
|
+
/** Output directory, relative to `root`. Default `".generated-specs"`. */
|
|
27
|
+
readonly outDir?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Spec text parser. Default `JSON.parse` — the seam for YAML specs
|
|
30
|
+
* (`parse: (text) => YAML.parse(text)`).
|
|
31
|
+
*/
|
|
32
|
+
readonly parse?: (text: string, specPath: string) => unknown;
|
|
33
|
+
/** Shared converter options (per-spec `options` merge over these). */
|
|
34
|
+
readonly options: OpenApiConvertOptions;
|
|
35
|
+
}
|
|
36
|
+
/** Run the OpenAPI→Smithy conversion pipeline (plain async — call from a script). */
|
|
37
|
+
export declare const runOpenApiConvert: (o: RunOpenApiConvertOptions) => Promise<void>;
|
|
38
|
+
//# sourceMappingURL=openapi-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi-cli.d.ts","sourceRoot":"","sources":["../../src/codegen/openapi-cli.ts"],"names":[],"mappings":"AAuBA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,GAAG,IAAI,CAAC;IACpD,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,wBAAwB;IACvC,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;CACzC;AAWD,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,MACzB,wBAAwB,KAC1B,OAAO,CAAC,IAAI,CAyFd,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAPI → Smithy pipeline helper (dev-time only, provider-agnostic).
|
|
3
|
+
*
|
|
4
|
+
* Owns the spec-side pipeline every OpenAPI-sourced provider shares: read the
|
|
5
|
+
* spec file, apply the RFC-6902 patch chain to the OpenAPI document (v0
|
|
6
|
+
* semantics: `*.patch.json` files in sorted name order, `{ description,
|
|
7
|
+
* patches }` shape; stale targets warn+skip, malformed patches fail the run),
|
|
8
|
+
* run the optional preprocess hook, convert with
|
|
9
|
+
* {@link convertOpenApiToSmithy}, and write `.generated-specs/<name>.json`.
|
|
10
|
+
*
|
|
11
|
+
* A provider's `scripts/convert.ts` is: a `runOpenApiConvert` call. The
|
|
12
|
+
* separate `scripts/generate.ts` (an SdkSpec + `runGeneratorCli`) then
|
|
13
|
+
* compiles the written models. Note: providers whose OpenAPI patches live in
|
|
14
|
+
* `patches/` should pass `patchesDir: false` to `runGeneratorCli` — the
|
|
15
|
+
* patch chain applies HERE, to the OpenAPI document, not to the Smithy model.
|
|
16
|
+
*/
|
|
17
|
+
import * as fs from "node:fs/promises";
|
|
18
|
+
import * as path from "node:path";
|
|
19
|
+
import { applyOperation, isStaleTargetError, } from "../json-patch.js";
|
|
20
|
+
import { convertOpenApiToSmithy, } from "./openapi.js";
|
|
21
|
+
const exists = async (p) => {
|
|
22
|
+
try {
|
|
23
|
+
await fs.access(p);
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
/** Run the OpenAPI→Smithy conversion pipeline (plain async — call from a script). */
|
|
31
|
+
export const runOpenApiConvert = async (o) => {
|
|
32
|
+
const outDir = path.resolve(o.root, o.outDir ?? ".generated-specs");
|
|
33
|
+
const patchRoot = o.patchesDir === false
|
|
34
|
+
? undefined
|
|
35
|
+
: path.resolve(o.root, o.patchesDir ?? "patches");
|
|
36
|
+
const parse = o.parse ?? ((text) => JSON.parse(text));
|
|
37
|
+
await fs.mkdir(outDir, { recursive: true });
|
|
38
|
+
console.log("🛠️ openapi → smithy");
|
|
39
|
+
console.log(` Output: ${outDir}`);
|
|
40
|
+
for (const entry of o.specs) {
|
|
41
|
+
const specPath = path.resolve(o.root, entry.specPath);
|
|
42
|
+
let spec = parse(await fs.readFile(specPath, "utf8"), specPath);
|
|
43
|
+
// ---- RFC-6902 patch chain (applies to the OpenAPI document) ----
|
|
44
|
+
let patchDir;
|
|
45
|
+
if (patchRoot && (await exists(patchRoot))) {
|
|
46
|
+
const perSpec = path.join(patchRoot, entry.name);
|
|
47
|
+
if (await exists(perSpec)) {
|
|
48
|
+
patchDir = perSpec;
|
|
49
|
+
}
|
|
50
|
+
else if (o.specs.length === 1) {
|
|
51
|
+
patchDir = patchRoot;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
let patchFileCount = 0;
|
|
55
|
+
let staleOps = 0;
|
|
56
|
+
const badPatches = [];
|
|
57
|
+
if (patchDir) {
|
|
58
|
+
const files = (await fs.readdir(patchDir))
|
|
59
|
+
.filter((f) => f.endsWith(".patch.json"))
|
|
60
|
+
.sort((a, b) => a.localeCompare(b));
|
|
61
|
+
for (const pf of files) {
|
|
62
|
+
const parsed = JSON.parse(await fs.readFile(path.join(patchDir, pf), "utf8"));
|
|
63
|
+
for (const patchOp of parsed.patches ?? []) {
|
|
64
|
+
try {
|
|
65
|
+
applyOperation(spec, patchOp);
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
69
|
+
if (isStaleTargetError(msg)) {
|
|
70
|
+
// Spec drift — the patch target no longer exists upstream.
|
|
71
|
+
staleOps++;
|
|
72
|
+
console.warn(` ⚠️ stale: ${entry.name}/${pf} [${patchOp.op} ${patchOp.path}]`);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
badPatches.push(`${entry.name}/${pf} [${patchOp.op} ${patchOp.path}]: ${msg}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
patchFileCount++;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (badPatches.length) {
|
|
83
|
+
for (const b of badPatches)
|
|
84
|
+
console.error(`❌ bad patch: ${b}`);
|
|
85
|
+
throw new Error(`${badPatches.length} malformed patch operation(s) — fix or remove them`);
|
|
86
|
+
}
|
|
87
|
+
// ---- Preprocess hook ----
|
|
88
|
+
if (entry.preprocess) {
|
|
89
|
+
const replaced = entry.preprocess(spec);
|
|
90
|
+
if (replaced !== undefined)
|
|
91
|
+
spec = replaced;
|
|
92
|
+
}
|
|
93
|
+
// ---- Convert + write ----
|
|
94
|
+
const model = convertOpenApiToSmithy(spec, {
|
|
95
|
+
...o.options,
|
|
96
|
+
...entry.options,
|
|
97
|
+
});
|
|
98
|
+
const opCount = Object.values(model.shapes).filter((s) => s.type === "operation").length;
|
|
99
|
+
const outPath = path.join(outDir, `${entry.name}.json`);
|
|
100
|
+
await fs.writeFile(outPath, JSON.stringify(model, null, 2) + "\n");
|
|
101
|
+
console.log(` ✅ ${entry.name}: ${opCount} operations, ${Object.keys(model.shapes).length} shapes` +
|
|
102
|
+
(patchFileCount
|
|
103
|
+
? ` (${patchFileCount} patch file(s) applied${staleOps ? `, ${staleOps} stale op(s) skipped` : ""})`
|
|
104
|
+
: ""));
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=openapi-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi-cli.js","sourceRoot":"","sources":["../../src/codegen/openapi-cli.ts"],"names":[],"mappings":"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"}
|