@redocly/client-generator 0.0.0-snapshot.manual → 0.1.1

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 (182) hide show
  1. package/README.md +118 -422
  2. package/lib/config-file.d.ts +2 -2
  3. package/lib/config-file.d.ts.map +1 -1
  4. package/lib/config-file.js +0 -18
  5. package/lib/config-file.js.map +1 -1
  6. package/lib/emitters/client-assembly.d.ts.map +1 -1
  7. package/lib/emitters/client-assembly.js +14 -15
  8. package/lib/emitters/client-assembly.js.map +1 -1
  9. package/lib/emitters/descriptor.d.ts.map +1 -1
  10. package/lib/emitters/descriptor.js +10 -29
  11. package/lib/emitters/descriptor.js.map +1 -1
  12. package/lib/emitters/emit-options.d.ts +16 -20
  13. package/lib/emitters/emit-options.d.ts.map +1 -1
  14. package/lib/emitters/emit-options.js +3 -2
  15. package/lib/emitters/emit-options.js.map +1 -1
  16. package/lib/emitters/faker.d.ts.map +1 -1
  17. package/lib/emitters/faker.js +25 -8
  18. package/lib/emitters/faker.js.map +1 -1
  19. package/lib/emitters/identifier.d.ts +6 -0
  20. package/lib/emitters/identifier.d.ts.map +1 -1
  21. package/lib/emitters/identifier.js +11 -1
  22. package/lib/emitters/identifier.js.map +1 -1
  23. package/lib/emitters/inline-runtime.js +1 -1
  24. package/lib/emitters/inline-runtime.js.map +1 -1
  25. package/lib/emitters/mock.d.ts +2 -2
  26. package/lib/emitters/mock.d.ts.map +1 -1
  27. package/lib/emitters/mock.js +59 -37
  28. package/lib/emitters/mock.js.map +1 -1
  29. package/lib/emitters/operation-aliases.d.ts.map +1 -1
  30. package/lib/emitters/operation-aliases.js +6 -0
  31. package/lib/emitters/operation-aliases.js.map +1 -1
  32. package/lib/emitters/operation-signature.d.ts +1 -0
  33. package/lib/emitters/operation-signature.d.ts.map +1 -1
  34. package/lib/emitters/operation-signature.js +11 -3
  35. package/lib/emitters/operation-signature.js.map +1 -1
  36. package/lib/emitters/operation-types.js +1 -1
  37. package/lib/emitters/operation-types.js.map +1 -1
  38. package/lib/emitters/operations.d.ts +2 -2
  39. package/lib/emitters/operations.d.ts.map +1 -1
  40. package/lib/emitters/operations.js +4 -2
  41. package/lib/emitters/operations.js.map +1 -1
  42. package/lib/emitters/pagination.d.ts +14 -7
  43. package/lib/emitters/pagination.d.ts.map +1 -1
  44. package/lib/emitters/pagination.js +70 -37
  45. package/lib/emitters/pagination.js.map +1 -1
  46. package/lib/emitters/reserved-names.d.ts +5 -0
  47. package/lib/emitters/reserved-names.d.ts.map +1 -0
  48. package/lib/emitters/reserved-names.js +134 -0
  49. package/lib/emitters/reserved-names.js.map +1 -0
  50. package/lib/emitters/runtime-sources.d.ts +6 -6
  51. package/lib/emitters/runtime-sources.js +6 -6
  52. package/lib/emitters/runtime-sources.js.map +1 -1
  53. package/lib/emitters/sample.d.ts +13 -1
  54. package/lib/emitters/sample.d.ts.map +1 -1
  55. package/lib/emitters/sample.js +138 -8
  56. package/lib/emitters/sample.js.map +1 -1
  57. package/lib/emitters/setup-bake.d.ts.map +1 -1
  58. package/lib/emitters/setup-bake.js +15 -1
  59. package/lib/emitters/setup-bake.js.map +1 -1
  60. package/lib/emitters/tanstack-query.d.ts +8 -3
  61. package/lib/emitters/tanstack-query.d.ts.map +1 -1
  62. package/lib/emitters/tanstack-query.js +231 -57
  63. package/lib/emitters/tanstack-query.js.map +1 -1
  64. package/lib/emitters/transformers.d.ts.map +1 -1
  65. package/lib/emitters/transformers.js +118 -36
  66. package/lib/emitters/transformers.js.map +1 -1
  67. package/lib/emitters/ts.d.ts.map +1 -1
  68. package/lib/emitters/ts.js +8 -0
  69. package/lib/emitters/ts.js.map +1 -1
  70. package/lib/emitters/types.d.ts +1 -9
  71. package/lib/emitters/types.d.ts.map +1 -1
  72. package/lib/emitters/types.js +4 -6
  73. package/lib/emitters/types.js.map +1 -1
  74. package/lib/emitters/wrapper-support.d.ts.map +1 -1
  75. package/lib/emitters/wrapper-support.js +2 -0
  76. package/lib/emitters/wrapper-support.js.map +1 -1
  77. package/lib/emitters/zod.d.ts.map +1 -1
  78. package/lib/emitters/zod.js +121 -19
  79. package/lib/emitters/zod.js.map +1 -1
  80. package/lib/generate.d.ts +25 -0
  81. package/lib/generate.d.ts.map +1 -0
  82. package/lib/generate.js +119 -0
  83. package/lib/generate.js.map +1 -0
  84. package/lib/generators/index.d.ts.map +1 -1
  85. package/lib/generators/index.js +9 -2
  86. package/lib/generators/index.js.map +1 -1
  87. package/lib/generators/mock.js +1 -1
  88. package/lib/generators/mock.js.map +1 -1
  89. package/lib/generators/resolve.js +6 -1
  90. package/lib/generators/resolve.js.map +1 -1
  91. package/lib/generators/swr.js +1 -1
  92. package/lib/generators/swr.js.map +1 -1
  93. package/lib/generators/tanstack-query.d.ts +9 -8
  94. package/lib/generators/tanstack-query.d.ts.map +1 -1
  95. package/lib/generators/tanstack-query.js +22 -18
  96. package/lib/generators/tanstack-query.js.map +1 -1
  97. package/lib/generators/transformers.d.ts.map +1 -1
  98. package/lib/generators/transformers.js +4 -2
  99. package/lib/generators/transformers.js.map +1 -1
  100. package/lib/generators/types.d.ts +2 -2
  101. package/lib/generators/types.d.ts.map +1 -1
  102. package/lib/index.d.ts +3 -20
  103. package/lib/index.d.ts.map +1 -1
  104. package/lib/index.js +8 -107
  105. package/lib/index.js.map +1 -1
  106. package/lib/intermediate-representation/build.d.ts.map +1 -1
  107. package/lib/intermediate-representation/build.js +25 -17
  108. package/lib/intermediate-representation/build.js.map +1 -1
  109. package/lib/intermediate-representation/model.d.ts +8 -8
  110. package/lib/intermediate-representation/model.d.ts.map +1 -1
  111. package/lib/intermediate-representation/normalize-swagger2.js +27 -2
  112. package/lib/intermediate-representation/normalize-swagger2.js.map +1 -1
  113. package/lib/intermediate-representation/sanitize-identifiers.d.ts +10 -0
  114. package/lib/intermediate-representation/sanitize-identifiers.d.ts.map +1 -1
  115. package/lib/intermediate-representation/sanitize-identifiers.js +79 -20
  116. package/lib/intermediate-representation/sanitize-identifiers.js.map +1 -1
  117. package/lib/loader.d.ts.map +1 -1
  118. package/lib/loader.js +20 -1
  119. package/lib/loader.js.map +1 -1
  120. package/lib/plugin.d.ts +0 -6
  121. package/lib/plugin.d.ts.map +1 -1
  122. package/lib/plugin.js +7 -8
  123. package/lib/plugin.js.map +1 -1
  124. package/lib/runtime/create-client.d.ts +12 -1
  125. package/lib/runtime/create-client.d.ts.map +1 -1
  126. package/lib/runtime/create-client.js +95 -13
  127. package/lib/runtime/create-client.js.map +1 -1
  128. package/lib/runtime/index.js +2 -2
  129. package/lib/runtime/index.js.map +1 -1
  130. package/lib/runtime/paginate.d.ts +25 -2
  131. package/lib/runtime/paginate.d.ts.map +1 -1
  132. package/lib/runtime/paginate.js +95 -5
  133. package/lib/runtime/paginate.js.map +1 -1
  134. package/lib/runtime/parse.d.ts +5 -1
  135. package/lib/runtime/parse.d.ts.map +1 -1
  136. package/lib/runtime/parse.js +29 -3
  137. package/lib/runtime/parse.js.map +1 -1
  138. package/lib/runtime/send.d.ts +1 -1
  139. package/lib/runtime/send.d.ts.map +1 -1
  140. package/lib/runtime/send.js +2 -2
  141. package/lib/runtime/send.js.map +1 -1
  142. package/lib/runtime/sse.d.ts +1 -0
  143. package/lib/runtime/sse.d.ts.map +1 -1
  144. package/lib/runtime/sse.js +9 -9
  145. package/lib/runtime/sse.js.map +1 -1
  146. package/lib/runtime/types.d.ts +31 -6
  147. package/lib/runtime/types.d.ts.map +1 -1
  148. package/lib/types.d.ts +23 -20
  149. package/lib/types.d.ts.map +1 -1
  150. package/package.json +12 -2
  151. package/lib/config.d.ts +0 -63
  152. package/lib/config.d.ts.map +0 -1
  153. package/lib/config.js +0 -2
  154. package/lib/config.js.map +0 -1
  155. package/lib/emitters/client.d.ts +0 -71
  156. package/lib/emitters/client.d.ts.map +0 -1
  157. package/lib/emitters/client.js +0 -28
  158. package/lib/emitters/client.js.map +0 -1
  159. package/lib/emitters/package-client.d.ts +0 -15
  160. package/lib/emitters/package-client.d.ts.map +0 -1
  161. package/lib/emitters/package-client.js +0 -300
  162. package/lib/emitters/package-client.js.map +0 -1
  163. package/lib/writers/index.d.ts +0 -5
  164. package/lib/writers/index.d.ts.map +0 -1
  165. package/lib/writers/index.js +0 -11
  166. package/lib/writers/index.js.map +0 -1
  167. package/lib/writers/single-file-writer.d.ts +0 -8
  168. package/lib/writers/single-file-writer.d.ts.map +0 -1
  169. package/lib/writers/single-file-writer.js +0 -10
  170. package/lib/writers/single-file-writer.js.map +0 -1
  171. package/lib/writers/split-writer.d.ts +0 -14
  172. package/lib/writers/split-writer.d.ts.map +0 -1
  173. package/lib/writers/split-writer.js +0 -23
  174. package/lib/writers/split-writer.js.map +0 -1
  175. package/lib/writers/types.d.ts +0 -31
  176. package/lib/writers/types.d.ts.map +0 -1
  177. package/lib/writers/types.js +0 -2
  178. package/lib/writers/types.js.map +0 -1
  179. package/lib/writers/util.d.ts +0 -14
  180. package/lib/writers/util.d.ts.map +0 -1
  181. package/lib/writers/util.js +0 -14
  182. package/lib/writers/util.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/intermediate-representation/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/intermediate-representation/model.ts"],"names":[],"mappings":"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"}
@@ -39,8 +39,9 @@ function buildComponents(doc) {
39
39
  const components = {};
40
40
  if (doc.definitions)
41
41
  components.schemas = doc.definitions;
42
- if (doc.parameters)
43
- components.parameters = doc.parameters;
42
+ if (doc.parameters) {
43
+ components.parameters = Object.fromEntries(Object.entries(doc.parameters).map(([name, param]) => [name, normalizeParameter(param)]));
44
+ }
44
45
  if (doc.responses)
45
46
  components.responses = normalizeResponses(doc.responses, undefined);
46
47
  const securityDefinitions = doc.securityDefinitions;
@@ -114,6 +115,12 @@ function normalizePaths(paths, rootConsumes, rootProduces) {
114
115
  const item = itemRaw;
115
116
  const newItem = {};
116
117
  for (const [key, value] of Object.entries(item)) {
118
+ if (key === 'parameters' && Array.isArray(value)) {
119
+ // Path-level parameters are shared by every operation and carry the same
120
+ // Swagger-2 inline-type shape as operation-level ones.
121
+ newItem.parameters = value.map(normalizeParameter);
122
+ continue;
123
+ }
117
124
  if (!isHttpMethod(key)) {
118
125
  newItem[key] = value;
119
126
  continue;
@@ -173,6 +180,11 @@ function normalizeOperation(operation, rootConsumes, rootProduces) {
173
180
  }
174
181
  /** A Swagger-2 simple parameter carries its schema inline; OAS3 nests it under `schema`. */
175
182
  function normalizeParameter(param) {
183
+ // A $ref passes through (deref'd later against the normalized components), and
184
+ // body/formData params keep their shape — the operation normalizer consumes them,
185
+ // and anywhere else the IR builder rejects those locations loudly.
186
+ if (param.$ref !== undefined || param.in === 'body' || param.in === 'formData')
187
+ return param;
176
188
  const base = {};
177
189
  const schema = {};
178
190
  for (const [key, value] of Object.entries(param)) {
@@ -182,6 +194,19 @@ function normalizeParameter(param) {
182
194
  schema[key] = value;
183
195
  }
184
196
  base.schema = schema;
197
+ delete base.collectionFormat;
198
+ // Swagger 2 array query params serialize per `collectionFormat`, defaulting to `csv`
199
+ // (comma-joined) — NOT the OAS3 default (`form` + `explode`, i.e. Swagger's `multi`).
200
+ // Map to the OAS3 style/explode the IR reads; `multi` needs no record (it IS the
201
+ // default), and `tsv` has no OAS3 equivalent, so it falls back to comma-joined.
202
+ if (param.in === 'query' && schema.type === 'array') {
203
+ const format = param.collectionFormat ?? 'csv';
204
+ if (format !== 'multi') {
205
+ base.style =
206
+ format === 'ssv' ? 'spaceDelimited' : format === 'pipes' ? 'pipeDelimited' : 'form';
207
+ base.explode = false;
208
+ }
209
+ }
185
210
  return base;
186
211
  }
187
212
  /** The schema half of a formData/simple param (everything except the param-level keys). */
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-swagger2.js","sourceRoot":"","sources":["../../src/intermediate-representation/normalize-swagger2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalize-swagger2.js","sourceRoot":"","sources":["../../src/intermediate-representation/normalize-swagger2.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,16 @@ import type { ApiModel } from './model.js';
16
16
  * build if any name still slips through — it should never fire after this pass.
17
17
  */
18
18
  export declare function sanitizeIdentifiers(model: ApiModel): void;
19
+ /**
20
+ * Reject path parameters named after a request-args slot. The runtime routes path
21
+ * values as `args[param.name]` at the TOP level of the args object, next to the
22
+ * `params`/`body`/`headers`/`cookies` slots — a path parameter of the same name is
23
+ * irreducibly ambiguous there (the wire name is the routing key, so no rename can
24
+ * help), which silently misroutes the value. Failing generation with a spec-side fix
25
+ * beats emitting a client that drops it. `init` is fine: it is only a flat-sugar
26
+ * binding, and the signature emitter moves that binding aside.
27
+ */
28
+ export declare function assertPathParamsAvoidArgSlots(model: ApiModel): void;
19
29
  /**
20
30
  * Throw if any declaration name is still not a safe identifier — a generator bug, not
21
31
  * bad input.
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-identifiers.d.ts","sourceRoot":"","sources":["../../src/intermediate-representation/sanitize-identifiers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAA+B,MAAM,YAAY,CAAC;AAExE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAgDzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAa3D"}
1
+ {"version":3,"file":"sanitize-identifiers.d.ts","sourceRoot":"","sources":["../../src/intermediate-representation/sanitize-identifiers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAA+B,MAAM,YAAY,CAAC;AAExE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CA8DzD;AAsBD;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAYnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAa3D"}
@@ -1,5 +1,9 @@
1
1
  import { logger } from '@redocly/openapi-core';
2
- import { isSafeIdentifier, uniqueIdent } from '../emitters/identifier.js';
2
+ import { authSetterNames } from '../emitters/auth.js';
3
+ import { isSafeIdentifier, sanitizeIdentifier } from '../emitters/identifier.js';
4
+ import { reservedModuleNames } from '../emitters/reserved-names.js';
5
+ import { pascalCase } from '../emitters/support.js';
6
+ import { NotSupportedError } from '../errors.js';
3
7
  /**
4
8
  * Coerce every document-derived name that lands in a TypeScript *declaration*
5
9
  * slot — schema type names, operation (function) names — into a valid, unique JS
@@ -17,42 +21,56 @@ import { isSafeIdentifier, uniqueIdent } from '../emitters/identifier.js';
17
21
  * build if any name still slips through — it should never fire after this pass.
18
22
  */
19
23
  export function sanitizeIdentifiers(model) {
20
- // Schema names share TypeScript's *type* namespace; operation names its *value*
21
- // namespace. Keep separate `used` sets so a function and a type may share a name.
22
- const schemaNames = new Set();
23
- const renamed = new Map();
24
- for (const schema of model.schemas) {
25
- const safe = uniqueIdent(schema.name, schemaNames);
26
- if (safe !== schema.name) {
27
- renamed.set(schema.name, safe);
28
- warnRename('schema', schema.name, safe);
29
- schema.name = safe;
30
- }
31
- }
32
24
  // Security-scheme keys feed the apiKey setter name (`setApiKey<Key>`, built with a
33
25
  // first-char-only pascalCase) and the runtime's security-matching string literals.
34
26
  // Sanitize so the setter is a valid identifier, then rewrite each operation's
35
- // `security` list with the same map so the literals still match.
27
+ // `security` list with the same map so the literals still match. Keys go first:
28
+ // the setter names seeded into the schema pass below derive from the final keys.
36
29
  const schemeKeys = new Set();
30
+ const schemePascals = new Set();
37
31
  const renamedKeys = new Map();
38
32
  for (const scheme of model.securitySchemes) {
39
- const safe = uniqueIdent(scheme.key, schemeKeys);
33
+ const safe = uniquePascalIdent(scheme.key, schemeKeys, schemePascals);
40
34
  if (safe !== scheme.key) {
41
35
  renamedKeys.set(scheme.key, safe);
42
36
  warnRename('security scheme', scheme.key, safe);
43
37
  scheme.key = safe;
44
38
  }
45
39
  }
40
+ // Schema types land in the same module scope as everything the generator emits and
41
+ // embeds, so a schema may not reuse a reserved name (the runtime's `ApiError` class,
42
+ // a satellite import like msw's `http`, the `client` const, an auth setter, …). The
43
+ // rename is mode-independent — a `--runtime` flip must not change the generated
44
+ // type names.
45
+ const schemaNames = new Set([
46
+ ...reservedModuleNames(),
47
+ ...authSetterNames(model.securitySchemes),
48
+ ]);
49
+ const schemaPascals = new Set();
50
+ const renamed = new Map();
51
+ for (const schema of model.schemas) {
52
+ const safe = uniquePascalIdent(schema.name, schemaNames, schemaPascals);
53
+ if (safe !== schema.name) {
54
+ renamed.set(schema.name, safe);
55
+ warnRename('schema', schema.name, safe);
56
+ schema.name = safe;
57
+ }
58
+ }
46
59
  // A reference to a renamed schema/scheme must follow it; an unknown/dangling name is
47
60
  // still sanitized standalone so it can never carry an injection payload.
48
61
  const fixRef = (name) => renamed.get(name) ?? sanitizeRef(name);
49
62
  const fixKey = (key) => renamedKeys.get(key) ?? sanitizeRef(key);
50
63
  for (const schema of model.schemas)
51
64
  rewriteRefs(schema.schema, fixRef);
52
- const operationNames = new Set();
65
+ // Operations become exported functions in the same module where schema types are
66
+ // used, so the two cannot share a name: the function's own `body: X` annotation
67
+ // would resolve to the function value, and the entry's `export *` would drop the
68
+ // shadowed type. Seeding with the schema names renames a colliding operation.
69
+ const operationNames = new Set(schemaNames);
70
+ const operationPascals = new Set();
53
71
  for (const service of model.services) {
54
72
  for (const op of service.operations) {
55
- const safe = uniqueIdent(op.name, operationNames);
73
+ const safe = uniquePascalIdent(op.name, operationNames, operationPascals);
56
74
  if (safe !== op.name) {
57
75
  warnRename('operation', op.name, safe);
58
76
  op.specName = op.name;
@@ -63,6 +81,45 @@ export function sanitizeIdentifiers(model) {
63
81
  }
64
82
  }
65
83
  }
84
+ /**
85
+ * `sanitizeIdentifier(name)` made unique within `used` AND distinct after the
86
+ * `pascalCase` mapping the emitters derive companion names with (`<Pascal>Schema`,
87
+ * `create<Pascal>`, `transform<Pascal>`, `<Pascal>Variables`, `setApiKey<Key>`).
88
+ * `pascalCase` changes only the first character, so case-distinct spec names
89
+ * (`pet` / `Pet`) would otherwise collapse to the same derived identifiers.
90
+ */
91
+ function uniquePascalIdent(name, used, usedPascals) {
92
+ const base = sanitizeIdentifier(name);
93
+ let ident = base;
94
+ let suffix = 2;
95
+ while (used.has(ident) || usedPascals.has(pascalCase(ident)))
96
+ ident = `${base}_${suffix++}`;
97
+ used.add(ident);
98
+ usedPascals.add(pascalCase(ident));
99
+ return ident;
100
+ }
101
+ /** The request-args slot keys a path parameter's wire name may not reuse. */
102
+ const ARG_SLOT_NAMES = ['params', 'body', 'headers', 'cookies'];
103
+ /**
104
+ * Reject path parameters named after a request-args slot. The runtime routes path
105
+ * values as `args[param.name]` at the TOP level of the args object, next to the
106
+ * `params`/`body`/`headers`/`cookies` slots — a path parameter of the same name is
107
+ * irreducibly ambiguous there (the wire name is the routing key, so no rename can
108
+ * help), which silently misroutes the value. Failing generation with a spec-side fix
109
+ * beats emitting a client that drops it. `init` is fine: it is only a flat-sugar
110
+ * binding, and the signature emitter moves that binding aside.
111
+ */
112
+ export function assertPathParamsAvoidArgSlots(model) {
113
+ for (const service of model.services) {
114
+ for (const op of service.operations) {
115
+ for (const param of op.pathParams) {
116
+ if (ARG_SLOT_NAMES.includes(param.name)) {
117
+ throw new NotSupportedError(`Operation "${op.specName ?? op.name}": path parameter "${param.name}" collides with the "${param.name}" request-argument slot; rename the parameter in the API description.`);
118
+ }
119
+ }
120
+ }
121
+ }
122
+ }
66
123
  /**
67
124
  * Throw if any declaration name is still not a safe identifier — a generator bug, not
68
125
  * bad input.
@@ -95,11 +152,11 @@ function unsafe(kind, name) {
95
152
  }
96
153
  /** Sanitize a ref/`omit` target that has no matching declaration (rare: a dangling $ref). */
97
154
  function sanitizeRef(name) {
98
- // No uniqueness context here; a throwaway set yields a pure, deterministic sanitize.
99
- return uniqueIdent(name, new Set());
155
+ // No uniqueness context here; a pure, deterministic sanitize is all that is needed.
156
+ return sanitizeIdentifier(name);
100
157
  }
101
158
  function warnRename(kind, from, to) {
102
- logger.warn(`generate-client: ${kind} name ${JSON.stringify(from)} is not a valid TypeScript identifier; using ${JSON.stringify(to)}.\n`);
159
+ logger.warn(`generate-client: ${kind} name ${JSON.stringify(from)} collides with another name or is not a valid TypeScript identifier; using ${JSON.stringify(to)}.\n`);
103
160
  }
104
161
  /** Rewrite `ref`/`omit`/discriminator targets in a schema subtree via `fixRef` (mutates). */
105
162
  function rewriteRefs(schema, fixRef) {
@@ -142,6 +199,8 @@ function rewriteOperationRefs(op, fixRef) {
142
199
  rewriteRefs(p.schema, fixRef);
143
200
  for (const p of op.headerParams)
144
201
  rewriteRefs(p.schema, fixRef);
202
+ for (const p of op.cookieParams)
203
+ rewriteRefs(p.schema, fixRef);
145
204
  if (op.requestBody)
146
205
  rewriteRefs(op.requestBody.schema, fixRef);
147
206
  for (const r of [...op.successResponses, ...op.errorResponses]) {
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-identifiers.js","sourceRoot":"","sources":["../../src/intermediate-representation/sanitize-identifiers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sanitize-identifiers.js","sourceRoot":"","sources":["../../src/intermediate-representation/sanitize-identifiers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,MAAM,EAEZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAWhF"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,MAAM,EAGZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAmChF"}
package/lib/loader.js CHANGED
@@ -1,10 +1,29 @@
1
- import { bundle, createConfig, detectSpec, } from '@redocly/openapi-core';
1
+ import { BaseResolver, bundle, createConfig, detectSpec, lintDocument, } from '@redocly/openapi-core';
2
2
  export async function loadSpec(ref, config) {
3
3
  const cfg = config ?? (await createConfig({}));
4
4
  // We do NOT pass `dereference: true` — the IR builder needs `$ref` preserved so it can map
5
5
  // response/parameter schemas back to named `components.schemas` entries.
6
6
  // Validation (shape, OpenAPI version) is delegated to `bundle()`, which throws clear messages.
7
7
  const result = await bundle({ ref, config: cfg });
8
+ // `bundle()` reports unresolved $refs as problems instead of throwing, and runs NO
9
+ // validation rules — a structurally invalid document bundles with zero problems.
10
+ // Generating from either emits code that doesn't compile (or crashes the builder), so
11
+ // gate on both: the bundler's own problems plus a `struct` pass over the bundled
12
+ // document. The gate is deliberately independent of the user's lint config — their
13
+ // rules govern `redocly lint`, not whether the generator can trust its input.
14
+ const structConfig = await createConfig({ rules: { struct: 'error' } });
15
+ const structProblems = await lintDocument({
16
+ externalRefResolver: new BaseResolver(),
17
+ document: result.bundle,
18
+ config: structConfig,
19
+ });
20
+ const errors = [...result.problems, ...structProblems].filter((problem) => problem.severity === 'error');
21
+ if (errors.length > 0) {
22
+ const details = errors
23
+ .map((problem) => `- ${problem.message} (at ${problem.location?.[0]?.pointer ?? ref})`)
24
+ .join('\n');
25
+ throw new Error(`The API description has ${errors.length} error(s):\n${details}`);
26
+ }
8
27
  const parsed = result.bundle.parsed;
9
28
  return {
10
29
  document: parsed,
package/lib/loader.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,YAAY,EACZ,UAAU,GAGX,MAAM,uBAAuB,CAAC;AAI/B,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,MAAe;IACzD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,2FAA2F;IAC3F,yEAAyE;IACzE,+FAA+F;IAC/F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO;QACL,QAAQ,EAAE,MAAmC;QAC7C,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,UAAU,EACV,YAAY,GAIb,MAAM,uBAAuB,CAAC;AAI/B,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,MAAe;IACzD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,2FAA2F;IAC3F,yEAAyE;IACzE,+FAA+F;IAC/F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAClD,mFAAmF;IACnF,iFAAiF;IACjF,sFAAsF;IACtF,iFAAiF;IACjF,mFAAmF;IACnF,8EAA8E;IAC9E,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC;QACxC,mBAAmB,EAAE,IAAI,YAAY,EAAE;QACvC,QAAQ,EAAE,MAAM,CAAC,MAAM;QACvB,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,cAAc,CAAC,CAAC,MAAM,CAC3D,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAC1C,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM;aACnB,GAAG,CACF,CAAC,OAA0B,EAAE,EAAE,CAC7B,KAAK,OAAO,CAAC,OAAO,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,GAAG,GAAG,CACvE;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,MAAM,eAAe,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO;QACL,QAAQ,EAAE,MAAmC;QAC7C,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC;KAC5B,CAAC;AACJ,CAAC"}
package/lib/plugin.d.ts CHANGED
@@ -10,10 +10,4 @@ export type { CustomGenerator, GeneratedFile, Generator, GeneratorInput, Generat
10
10
  export type { ArgsStyle, ErrorMode } from './emitters/operations.js';
11
11
  export type { DateType } from './emitters/types.js';
12
12
  export type { ApiModel, NamedSchemaModel, OperationModel, ParamModel, PropertyModel, RequestBodyModel, ResponseBodyModel, ScalarKind, SchemaMetadata, SchemaModel, ServiceModel, } from './intermediate-representation/model.js';
13
- export { arrow, constArray, exportConstStatement, jsdoc, parseStatements, printNodes, printStatements, ts, } from './emitters/ts.js';
14
- export { operationSignature } from './emitters/operation-signature.js';
15
- export type { OperationSignature } from './emitters/operation-signature.js';
16
- export { schemaToTypeNode } from './emitters/types.js';
17
- export { pascalCase } from './emitters/support.js';
18
- export { safeIdent } from './emitters/identifier.js';
19
13
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,eAAe,GAAG,eAAe,CAE3E;AAGD,YAAY,EACV,eAAe,EACf,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EACL,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,KAAK,EACL,eAAe,EACf,UAAU,EACV,eAAe,EACf,EAAE,GACH,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,eAAe,GAAG,eAAe,CAE3E;AAGD,YAAY,EACV,eAAe,EACf,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,wCAAwC,CAAC"}
package/lib/plugin.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // The custom-generator authoring API — the EXPERIMENTAL plugin surface, re-exported from the
2
2
  // package root (`@redocly/client-generator`).
3
3
  //
4
- // ⚠️ Experimental: this surface (the IR types and the codegen toolkit re-exported here) may change
4
+ // ⚠️ Experimental: this surface (the IR types and the emit toolkit re-exported here) may change
5
5
  // between minor versions until it is stabilized. Pin your version if you depend on it.
6
6
  //
7
7
  // A custom generator is `(GeneratorInput) => GeneratedFile[]` plus a `name`; select it in
@@ -12,7 +12,9 @@
12
12
  // libraries are peers of the consumer's app, never of the client.
13
13
  //
14
14
  // // my-generator.ts
15
- // import { defineGenerator, ts, printStatements } from '@redocly/client-generator';
15
+ // import { defineGenerator } from '@redocly/client-generator';
16
+ // // AST toolkit, when string-building isn't enough:
17
+ // // import { ts, printStatements } from '@redocly/client-generator/generate';
16
18
  // export default defineGenerator({
17
19
  // name: 'route-map',
18
20
  // requires: ['sdk'],
@@ -32,10 +34,7 @@
32
34
  export function defineGenerator(generator) {
33
35
  return generator;
34
36
  }
35
- // --- Codegen toolkit: build TypeScript the same way the built-in generators do -----------------
36
- export { arrow, constArray, exportConstStatement, jsdoc, parseStatements, printNodes, printStatements, ts, } from './emitters/ts.js';
37
- export { operationSignature } from './emitters/operation-signature.js';
38
- export { schemaToTypeNode } from './emitters/types.js';
39
- export { pascalCase } from './emitters/support.js';
40
- export { safeIdent } from './emitters/identifier.js';
37
+ // The TypeScript-emitting toolkit (`ts`, `printStatements`, `operationSignature`, …) is
38
+ // exported from `@redocly/client-generator/generate` it loads `typescript`, which the
39
+ // runtime-only package root must not reach statically.
41
40
  //# sourceMappingURL=plugin.js.map
package/lib/plugin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,8CAA8C;AAC9C,EAAE;AACF,mGAAmG;AACnG,uFAAuF;AACvF,EAAE;AACF,0FAA0F;AAC1F,iGAAiG;AACjG,qGAAqG;AACrG,oGAAoG;AACpG,oGAAoG;AACpG,kEAAkE;AAClE,EAAE;AACF,uBAAuB;AACvB,sFAAsF;AACtF,qCAAqC;AACrC,yBAAyB;AACzB,yBAAyB;AACzB,mCAAmC;AACnC,mEAAmE;AACnE,6FAA6F;AAC7F,mEAAmE;AACnE,mFAAmF;AACnF,SAAS;AACT,QAAQ;AAIR;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAA0B;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AA6BD,kGAAkG;AAClG,OAAO,EACL,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,KAAK,EACL,eAAe,EACf,UAAU,EACV,eAAe,EACf,EAAE,GACH,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,8CAA8C;AAC9C,EAAE;AACF,gGAAgG;AAChG,uFAAuF;AACvF,EAAE;AACF,0FAA0F;AAC1F,iGAAiG;AACjG,qGAAqG;AACrG,oGAAoG;AACpG,oGAAoG;AACpG,kEAAkE;AAClE,EAAE;AACF,uBAAuB;AACvB,iEAAiE;AACjE,uDAAuD;AACvD,iFAAiF;AACjF,qCAAqC;AACrC,yBAAyB;AACzB,yBAAyB;AACzB,mCAAmC;AACnC,mEAAmE;AACnE,6FAA6F;AAC7F,mEAAmE;AACnE,mFAAmF;AACnF,SAAS;AACT,QAAQ;AAIR;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAA0B;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AA6BD,wFAAwF;AACxF,wFAAwF;AACxF,uDAAuD"}
@@ -17,13 +17,24 @@ export type Capabilities = SendCapabilities & {
17
17
  paginate?: {
18
18
  pages: (call: (args?: OperationArgs, init?: RequestOptions) => Promise<unknown>, spec: PaginationSpec, args?: OperationArgs, init?: RequestOptions) => AsyncGenerator<unknown>;
19
19
  items: (call: (args?: OperationArgs, init?: RequestOptions) => Promise<unknown>, spec: PaginationSpec, args?: OperationArgs, init?: RequestOptions) => AsyncGenerator<unknown>;
20
+ pagesByLink: (call: (args?: OperationArgs, init?: RequestOptions) => Promise<{
21
+ page: unknown;
22
+ linkHeader: string | null;
23
+ url: string;
24
+ }>, args?: OperationArgs, init?: RequestOptions) => AsyncGenerator<unknown>;
25
+ itemsByLink: (call: (args?: OperationArgs, init?: RequestOptions) => Promise<{
26
+ page: unknown;
27
+ linkHeader: string | null;
28
+ url: string;
29
+ }>, spec: PaginationSpec, args?: OperationArgs, init?: RequestOptions) => AsyncGenerator<unknown>;
20
30
  };
21
31
  };
22
- /** The grouped args wire shape: path params by name plus the `params`/`body`/`headers` slots. */
32
+ /** The grouped args wire shape: path params by name plus the `params`/`body`/`headers`/`cookies` slots. */
23
33
  export type OperationArgs = {
24
34
  params?: Record<string, QueryValue>;
25
35
  body?: unknown;
26
36
  headers?: Record<string, unknown>;
37
+ cookies?: Record<string, unknown>;
27
38
  } & Record<string, unknown>;
28
39
  /**
29
40
  * Build a typed instance client over operation descriptors: one real bound method per
@@ -1 +1 @@
1
- {"version":3,"file":"create-client.d.ts","sourceRoot":"","sources":["../../src/runtime/create-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyC,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,KAAK,EAEV,MAAM,EACN,YAAY,EAEZ,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,EACR,cAAc,EAEd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,UAAU,EAEX,MAAM,YAAY,CAAC;AAGpB;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAC5C,WAAW,CAAC,EAAE,CACZ,QAAQ,EAAE,SAAS,CAAC,SAAS,YAAY,EAAE,CAAC,EAAE,EAC9C,MAAM,EAAE,YAAY,KACjB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;IACjF,GAAG,CAAC,EAAE,CACJ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,gBAAgB,EAGpB,OAAO,EAAE,MAAM,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,EACzD,QAAQ,EAAE,MAAM,GAAG,MAAM,KACtB,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,CACL,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,EACvE,IAAI,EAAE,cAAc,EACpB,IAAI,CAAC,EAAE,aAAa,EACpB,IAAI,CAAC,EAAE,cAAc,KAClB,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,KAAK,EAAE,CACL,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,EACvE,IAAI,EAAE,cAAc,EACpB,IAAI,CAAC,EAAE,aAAa,EACpB,IAAI,CAAC,EAAE,cAAc,KAClB,cAAc,CAAC,OAAO,CAAC,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,iGAAiG;AACjG,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAuK5B;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,SAAS,QAAQ,EACpB,EAAE,SAAS,MAAM,GAAG,MAAM,EAC1B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,GAAG,SAAS,MAAM,GAAG,MAAM,EAE3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC/C,OAAO,GAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAM,EAC3D,IAAI,GAAE,YAAiB,GACtB,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAoF9C"}
1
+ {"version":3,"file":"create-client.d.ts","sourceRoot":"","sources":["../../src/runtime/create-client.ts"],"names":[],"mappings":"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"}