@redocly/client-generator 0.0.0-snapshot.manual → 0.1.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/README.md +118 -422
- package/lib/config-file.d.ts +2 -2
- package/lib/config-file.d.ts.map +1 -1
- package/lib/config-file.js +0 -18
- package/lib/config-file.js.map +1 -1
- package/lib/emitters/client-assembly.d.ts.map +1 -1
- package/lib/emitters/client-assembly.js +14 -15
- package/lib/emitters/client-assembly.js.map +1 -1
- package/lib/emitters/descriptor.d.ts.map +1 -1
- package/lib/emitters/descriptor.js +10 -29
- package/lib/emitters/descriptor.js.map +1 -1
- package/lib/emitters/emit-options.d.ts +16 -20
- package/lib/emitters/emit-options.d.ts.map +1 -1
- package/lib/emitters/emit-options.js +3 -2
- package/lib/emitters/emit-options.js.map +1 -1
- package/lib/emitters/faker.d.ts.map +1 -1
- package/lib/emitters/faker.js +25 -8
- package/lib/emitters/faker.js.map +1 -1
- package/lib/emitters/identifier.d.ts +6 -0
- package/lib/emitters/identifier.d.ts.map +1 -1
- package/lib/emitters/identifier.js +11 -1
- package/lib/emitters/identifier.js.map +1 -1
- package/lib/emitters/inline-runtime.js +1 -1
- package/lib/emitters/inline-runtime.js.map +1 -1
- package/lib/emitters/mock.d.ts +2 -2
- package/lib/emitters/mock.d.ts.map +1 -1
- package/lib/emitters/mock.js +59 -37
- package/lib/emitters/mock.js.map +1 -1
- package/lib/emitters/operation-aliases.d.ts.map +1 -1
- package/lib/emitters/operation-aliases.js +6 -0
- package/lib/emitters/operation-aliases.js.map +1 -1
- package/lib/emitters/operation-signature.d.ts +1 -0
- package/lib/emitters/operation-signature.d.ts.map +1 -1
- package/lib/emitters/operation-signature.js +11 -3
- package/lib/emitters/operation-signature.js.map +1 -1
- package/lib/emitters/operation-types.js +1 -1
- package/lib/emitters/operation-types.js.map +1 -1
- package/lib/emitters/operations.d.ts +2 -2
- package/lib/emitters/operations.d.ts.map +1 -1
- package/lib/emitters/operations.js +4 -2
- package/lib/emitters/operations.js.map +1 -1
- package/lib/emitters/pagination.d.ts +14 -7
- package/lib/emitters/pagination.d.ts.map +1 -1
- package/lib/emitters/pagination.js +70 -37
- package/lib/emitters/pagination.js.map +1 -1
- package/lib/emitters/reserved-names.d.ts +5 -0
- package/lib/emitters/reserved-names.d.ts.map +1 -0
- package/lib/emitters/reserved-names.js +134 -0
- package/lib/emitters/reserved-names.js.map +1 -0
- package/lib/emitters/runtime-sources.d.ts +6 -6
- package/lib/emitters/runtime-sources.js +6 -6
- package/lib/emitters/runtime-sources.js.map +1 -1
- package/lib/emitters/sample.d.ts +13 -1
- package/lib/emitters/sample.d.ts.map +1 -1
- package/lib/emitters/sample.js +138 -8
- package/lib/emitters/sample.js.map +1 -1
- package/lib/emitters/setup-bake.d.ts.map +1 -1
- package/lib/emitters/setup-bake.js +15 -1
- package/lib/emitters/setup-bake.js.map +1 -1
- package/lib/emitters/tanstack-query.d.ts +8 -3
- package/lib/emitters/tanstack-query.d.ts.map +1 -1
- package/lib/emitters/tanstack-query.js +231 -57
- package/lib/emitters/tanstack-query.js.map +1 -1
- package/lib/emitters/transformers.d.ts.map +1 -1
- package/lib/emitters/transformers.js +118 -36
- package/lib/emitters/transformers.js.map +1 -1
- package/lib/emitters/ts.d.ts.map +1 -1
- package/lib/emitters/ts.js +8 -0
- package/lib/emitters/ts.js.map +1 -1
- package/lib/emitters/types.d.ts +1 -9
- package/lib/emitters/types.d.ts.map +1 -1
- package/lib/emitters/types.js +4 -6
- package/lib/emitters/types.js.map +1 -1
- package/lib/emitters/wrapper-support.d.ts.map +1 -1
- package/lib/emitters/wrapper-support.js +2 -0
- package/lib/emitters/wrapper-support.js.map +1 -1
- package/lib/emitters/zod.d.ts.map +1 -1
- package/lib/emitters/zod.js +121 -19
- package/lib/emitters/zod.js.map +1 -1
- package/lib/generate.d.ts +25 -0
- package/lib/generate.d.ts.map +1 -0
- package/lib/generate.js +119 -0
- package/lib/generate.js.map +1 -0
- package/lib/generators/index.d.ts.map +1 -1
- package/lib/generators/index.js +9 -2
- package/lib/generators/index.js.map +1 -1
- package/lib/generators/mock.js +1 -1
- package/lib/generators/mock.js.map +1 -1
- package/lib/generators/resolve.js +6 -1
- package/lib/generators/resolve.js.map +1 -1
- package/lib/generators/swr.js +1 -1
- package/lib/generators/swr.js.map +1 -1
- package/lib/generators/tanstack-query.d.ts +9 -8
- package/lib/generators/tanstack-query.d.ts.map +1 -1
- package/lib/generators/tanstack-query.js +22 -18
- package/lib/generators/tanstack-query.js.map +1 -1
- package/lib/generators/transformers.d.ts.map +1 -1
- package/lib/generators/transformers.js +4 -2
- package/lib/generators/transformers.js.map +1 -1
- package/lib/generators/types.d.ts +2 -2
- package/lib/generators/types.d.ts.map +1 -1
- package/lib/index.d.ts +3 -20
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -107
- package/lib/index.js.map +1 -1
- package/lib/intermediate-representation/build.d.ts.map +1 -1
- package/lib/intermediate-representation/build.js +25 -17
- package/lib/intermediate-representation/build.js.map +1 -1
- package/lib/intermediate-representation/model.d.ts +8 -8
- package/lib/intermediate-representation/model.d.ts.map +1 -1
- package/lib/intermediate-representation/normalize-swagger2.js +27 -2
- package/lib/intermediate-representation/normalize-swagger2.js.map +1 -1
- package/lib/intermediate-representation/sanitize-identifiers.d.ts +10 -0
- package/lib/intermediate-representation/sanitize-identifiers.d.ts.map +1 -1
- package/lib/intermediate-representation/sanitize-identifiers.js +79 -20
- package/lib/intermediate-representation/sanitize-identifiers.js.map +1 -1
- package/lib/loader.d.ts.map +1 -1
- package/lib/loader.js +20 -1
- package/lib/loader.js.map +1 -1
- package/lib/plugin.d.ts +0 -6
- package/lib/plugin.d.ts.map +1 -1
- package/lib/plugin.js +7 -8
- package/lib/plugin.js.map +1 -1
- package/lib/runtime/create-client.d.ts +12 -1
- package/lib/runtime/create-client.d.ts.map +1 -1
- package/lib/runtime/create-client.js +95 -13
- package/lib/runtime/create-client.js.map +1 -1
- package/lib/runtime/index.js +2 -2
- package/lib/runtime/index.js.map +1 -1
- package/lib/runtime/paginate.d.ts +25 -2
- package/lib/runtime/paginate.d.ts.map +1 -1
- package/lib/runtime/paginate.js +95 -5
- package/lib/runtime/paginate.js.map +1 -1
- package/lib/runtime/parse.d.ts +5 -1
- package/lib/runtime/parse.d.ts.map +1 -1
- package/lib/runtime/parse.js +29 -3
- package/lib/runtime/parse.js.map +1 -1
- package/lib/runtime/send.d.ts +1 -1
- package/lib/runtime/send.d.ts.map +1 -1
- package/lib/runtime/send.js +2 -2
- package/lib/runtime/send.js.map +1 -1
- package/lib/runtime/sse.d.ts +1 -0
- package/lib/runtime/sse.d.ts.map +1 -1
- package/lib/runtime/sse.js +9 -9
- package/lib/runtime/sse.js.map +1 -1
- package/lib/runtime/types.d.ts +31 -6
- package/lib/runtime/types.d.ts.map +1 -1
- package/lib/types.d.ts +23 -20
- package/lib/types.d.ts.map +1 -1
- package/package.json +12 -2
- package/lib/config.d.ts +0 -63
- package/lib/config.d.ts.map +0 -1
- package/lib/config.js +0 -2
- package/lib/config.js.map +0 -1
- package/lib/emitters/client.d.ts +0 -71
- package/lib/emitters/client.d.ts.map +0 -1
- package/lib/emitters/client.js +0 -28
- package/lib/emitters/client.js.map +0 -1
- package/lib/emitters/package-client.d.ts +0 -15
- package/lib/emitters/package-client.d.ts.map +0 -1
- package/lib/emitters/package-client.js +0 -300
- package/lib/emitters/package-client.js.map +0 -1
- package/lib/writers/index.d.ts +0 -5
- package/lib/writers/index.d.ts.map +0 -1
- package/lib/writers/index.js +0 -11
- package/lib/writers/index.js.map +0 -1
- package/lib/writers/single-file-writer.d.ts +0 -8
- package/lib/writers/single-file-writer.d.ts.map +0 -1
- package/lib/writers/single-file-writer.js +0 -10
- package/lib/writers/single-file-writer.js.map +0 -1
- package/lib/writers/split-writer.d.ts +0 -14
- package/lib/writers/split-writer.d.ts.map +0 -1
- package/lib/writers/split-writer.js +0 -23
- package/lib/writers/split-writer.js.map +0 -1
- package/lib/writers/types.d.ts +0 -31
- package/lib/writers/types.d.ts.map +0 -1
- package/lib/writers/types.js +0 -2
- package/lib/writers/types.js.map +0 -1
- package/lib/writers/util.d.ts +0 -14
- package/lib/writers/util.d.ts.map +0 -1
- package/lib/writers/util.js +0 -14
- package/lib/writers/util.js.map +0 -1
package/lib/emitters/zod.js
CHANGED
|
@@ -242,16 +242,24 @@ function operationSchemaEntries(model, byName) {
|
|
|
242
242
|
const response = jsonResponse ? schemaToZodExpression(jsonResponse.schema, byName) : undefined;
|
|
243
243
|
if (!request && !response)
|
|
244
244
|
continue;
|
|
245
|
-
|
|
245
|
+
// The SPEC operationId — the middleware looks entries up by `ctx.operation.id`,
|
|
246
|
+
// which stays the spec id even when the emitted function name was renamed.
|
|
247
|
+
entries.push({ name: op.specName ?? op.name, request, response });
|
|
246
248
|
}
|
|
247
249
|
return entries;
|
|
248
250
|
}
|
|
251
|
+
/** An entry key as a printable property name: bare when a safe identifier, quoted otherwise. */
|
|
252
|
+
function entryKey(name) {
|
|
253
|
+
return safeIdent(name) === name
|
|
254
|
+
? factory.createIdentifier(name)
|
|
255
|
+
: factory.createStringLiteral(name);
|
|
256
|
+
}
|
|
249
257
|
function operationSchemasStatement(entries) {
|
|
250
258
|
const zodTypeNode = () => factory.createTypeReferenceNode(factory.createQualifiedName(factory.createIdentifier('z'), 'ZodType'));
|
|
251
259
|
// The explicit `z.ZodType` annotation keeps the declaration-emit size proportional to
|
|
252
260
|
// the operation count: the inferred type would serialize every schema's zod generics
|
|
253
261
|
// and overflow tsc's limit (TS7056) on large APIs under `declaration: true`.
|
|
254
|
-
const typeMembers = entries.map((entry) => factory.createPropertySignature(undefined, entry.name, undefined, factory.createTypeLiteralNode([
|
|
262
|
+
const typeMembers = entries.map((entry) => factory.createPropertySignature(undefined, entryKey(entry.name), undefined, factory.createTypeLiteralNode([
|
|
255
263
|
entry.request
|
|
256
264
|
? factory.createPropertySignature(undefined, 'request', undefined, zodTypeNode())
|
|
257
265
|
: undefined,
|
|
@@ -259,7 +267,7 @@ function operationSchemasStatement(entries) {
|
|
|
259
267
|
? factory.createPropertySignature(undefined, 'response', undefined, zodTypeNode())
|
|
260
268
|
: undefined,
|
|
261
269
|
].filter((member) => member !== undefined))));
|
|
262
|
-
const valueEntries = entries.map((entry) => factory.createPropertyAssignment(entry.name, factory.createObjectLiteralExpression([
|
|
270
|
+
const valueEntries = entries.map((entry) => factory.createPropertyAssignment(entryKey(entry.name), factory.createObjectLiteralExpression([
|
|
263
271
|
entry.request ? factory.createPropertyAssignment('request', entry.request) : undefined,
|
|
264
272
|
entry.response ? factory.createPropertyAssignment('response', entry.response) : undefined,
|
|
265
273
|
].filter((property) => property !== undefined), false)));
|
|
@@ -275,49 +283,143 @@ export type OperationSchemaSet = { request?: z.ZodType; response?: z.ZodType };
|
|
|
275
283
|
|
|
276
284
|
const schemaIndex: Partial<Record<string, OperationSchemaSet>> = operationSchemas;
|
|
277
285
|
|
|
278
|
-
/**
|
|
286
|
+
/** One flattened validation problem: the full nested path and a short preview of the value. */
|
|
287
|
+
export type ZodViolation = { path: string; message: string; received: string };
|
|
288
|
+
|
|
289
|
+
/** A request or response payload failed validation. Requests throw it; response handling is configurable. */
|
|
279
290
|
export class ZodValidationError extends Error {
|
|
280
291
|
constructor(
|
|
281
292
|
readonly operationId: string,
|
|
282
293
|
readonly direction: "request" | "response",
|
|
283
|
-
readonly issues: z.ZodError["issues"]
|
|
294
|
+
readonly issues: z.ZodError["issues"],
|
|
295
|
+
readonly violations: ZodViolation[]
|
|
284
296
|
) {
|
|
285
|
-
const detail =
|
|
286
|
-
.
|
|
297
|
+
const detail = violations
|
|
298
|
+
.slice(0, 5)
|
|
299
|
+
.map((violation) => \`\${violation.path || "(root)"}: \${violation.message} (received \${violation.received})\`)
|
|
287
300
|
.join("; ");
|
|
288
|
-
|
|
301
|
+
const more = violations.length > 5 ? \`; …and \${violations.length - 5} more\` : "";
|
|
302
|
+
super(\`\${direction === "request" ? "Request" : "Response"} validation failed for operation "\${operationId}": \${detail}\${more}\`);
|
|
289
303
|
this.name = "ZodValidationError";
|
|
290
304
|
}
|
|
291
305
|
}
|
|
292
306
|
|
|
307
|
+
// Flatten zod issues into leaf violations. Union branches (zod 3 \`unionErrors\`, zod 4
|
|
308
|
+
// nested \`errors\`) are recursed into, so the message names the actual failing fields
|
|
309
|
+
// instead of just the union root ("Invalid input").
|
|
310
|
+
function flattenIssues(
|
|
311
|
+
issues: z.ZodError["issues"],
|
|
312
|
+
value: unknown,
|
|
313
|
+
base: PropertyKey[] = []
|
|
314
|
+
): ZodViolation[] {
|
|
315
|
+
const violations: ZodViolation[] = [];
|
|
316
|
+
for (const issue of issues) {
|
|
317
|
+
const path = [...base, ...issue.path];
|
|
318
|
+
const nested = nestedIssueLists(issue);
|
|
319
|
+
if (nested.length > 0) {
|
|
320
|
+
for (const sub of nested) violations.push(...flattenIssues(sub, value, path));
|
|
321
|
+
} else {
|
|
322
|
+
violations.push({
|
|
323
|
+
path: path.map(String).join("."),
|
|
324
|
+
message: issue.message,
|
|
325
|
+
received: preview(valueAt(value, path)),
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
return violations;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/** The nested issue lists of a union-ish issue, across zod 3 (\`unionErrors\`) and zod 4 (\`errors\`). */
|
|
333
|
+
function nestedIssueLists(issue: unknown): Array<z.ZodError["issues"]> {
|
|
334
|
+
const candidate = issue as {
|
|
335
|
+
unionErrors?: Array<{ issues: z.ZodError["issues"] }>;
|
|
336
|
+
errors?: Array<z.ZodError["issues"]>;
|
|
337
|
+
};
|
|
338
|
+
if (Array.isArray(candidate.unionErrors)) return candidate.unionErrors.map((error) => error.issues);
|
|
339
|
+
if (Array.isArray(candidate.errors)) return candidate.errors;
|
|
340
|
+
return [];
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
function valueAt(value: unknown, path: PropertyKey[]): unknown {
|
|
344
|
+
let current = value;
|
|
345
|
+
for (const key of path) {
|
|
346
|
+
if (current === null || typeof current !== "object") return undefined;
|
|
347
|
+
current = (current as Record<PropertyKey, unknown>)[key];
|
|
348
|
+
}
|
|
349
|
+
return current;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/** A short single-line preview of the offending value. NOTE: validation output can surface
|
|
353
|
+
* payload data — route \`onViolation\` to a scrubbed logger when responses may carry secrets. */
|
|
354
|
+
function preview(value: unknown): string {
|
|
355
|
+
let text: string;
|
|
356
|
+
try {
|
|
357
|
+
text = JSON.stringify(value) ?? String(value);
|
|
358
|
+
} catch {
|
|
359
|
+
text = String(value);
|
|
360
|
+
}
|
|
361
|
+
return text.length > 80 ? \`\${text.slice(0, 77)}…\` : text;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
export type ZodValidationOptions = {
|
|
365
|
+
/** Validate request bodies before any network call; a failure THROWS (it is the caller's own bug). Default: true. */
|
|
366
|
+
request?: boolean;
|
|
367
|
+
/** Replace the outgoing body with the parsed result, dropping keys the schema does not declare
|
|
368
|
+
* (for strict-DTO servers that 400 on excess properties). Runs request validation. Default: false. */
|
|
369
|
+
stripRequestBodies?: boolean;
|
|
370
|
+
/** Response drift handling: \`"warn"\` (default) reports via \`onViolation\` and lets the call
|
|
371
|
+
* succeed — a server drifting from its description should not crash the consumer;
|
|
372
|
+
* \`"throw"\` fails the call (even on result-mode clients); \`false\` skips response validation. */
|
|
373
|
+
response?: "warn" | "throw" | false;
|
|
374
|
+
/** Sink for \`"warn"\` mode. Default: \`console.warn\` with the error message. */
|
|
375
|
+
onViolation?: (error: ZodValidationError) => void;
|
|
376
|
+
};
|
|
377
|
+
|
|
293
378
|
/**
|
|
294
379
|
* Schema-validation middleware for the generated client: \`use(zodValidation())\`.
|
|
295
|
-
* Request bodies are validated before any network call
|
|
296
|
-
* validated against the operation's response schema
|
|
297
|
-
*
|
|
298
|
-
*
|
|
380
|
+
* Request bodies are validated before any network call and throw on failure; successful
|
|
381
|
+
* JSON responses are validated against the operation's response schema and WARN by
|
|
382
|
+
* default (see \`ZodValidationOptions.response\`). Operations without a schema pass
|
|
383
|
+
* through untouched. Payloads are never mutated unless \`stripRequestBodies\` is set.
|
|
299
384
|
*/
|
|
300
|
-
export function zodValidation(options:
|
|
301
|
-
const { request = true, response =
|
|
385
|
+
export function zodValidation(options: ZodValidationOptions = {}) {
|
|
386
|
+
const { request = true, stripRequestBodies = false, response = "warn", onViolation } = options;
|
|
387
|
+
const report = onViolation ?? ((error: ZodValidationError) => console.warn(error.message));
|
|
302
388
|
return {
|
|
303
389
|
onRequest(context: { body?: unknown; operation: { id: string } }): void {
|
|
304
|
-
if (!request || context.body === undefined) return;
|
|
390
|
+
if ((!request && !stripRequestBodies) || context.body === undefined) return;
|
|
305
391
|
const schema = schemaIndex[context.operation.id]?.request;
|
|
306
392
|
if (!schema) return;
|
|
307
393
|
const result = schema.safeParse(context.body);
|
|
308
394
|
if (!result.success) {
|
|
309
|
-
throw new ZodValidationError(
|
|
395
|
+
throw new ZodValidationError(
|
|
396
|
+
context.operation.id,
|
|
397
|
+
"request",
|
|
398
|
+
result.error.issues,
|
|
399
|
+
flattenIssues(result.error.issues, context.body)
|
|
400
|
+
);
|
|
310
401
|
}
|
|
402
|
+
// zod object schemas drop undeclared keys during parsing, so the parsed value
|
|
403
|
+
// IS the declared shape (intersections keep their own zod semantics).
|
|
404
|
+
if (stripRequestBodies) context.body = result.data;
|
|
311
405
|
},
|
|
312
406
|
async onResponse(incoming: Response, context: { operation: { id: string } }): Promise<void> {
|
|
313
|
-
if (
|
|
407
|
+
if (response === false || !incoming.ok) return;
|
|
314
408
|
const schema = schemaIndex[context.operation.id]?.response;
|
|
315
409
|
if (!schema) return;
|
|
316
410
|
const contentType = (incoming.headers.get("content-type") ?? "").toLowerCase();
|
|
317
411
|
if (!contentType.includes("json")) return;
|
|
318
|
-
const
|
|
412
|
+
const payload: unknown = await incoming.clone().json();
|
|
413
|
+
const result = schema.safeParse(payload);
|
|
319
414
|
if (!result.success) {
|
|
320
|
-
|
|
415
|
+
const error = new ZodValidationError(
|
|
416
|
+
context.operation.id,
|
|
417
|
+
"response",
|
|
418
|
+
result.error.issues,
|
|
419
|
+
flattenIssues(result.error.issues, payload)
|
|
420
|
+
);
|
|
421
|
+
if (response === "throw") throw error;
|
|
422
|
+
report(error);
|
|
321
423
|
}
|
|
322
424
|
},
|
|
323
425
|
};
|
package/lib/emitters/zod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/emitters/zod.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/emitters/zod.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { EmitOptions } from './emitters/emit-options.js';
|
|
2
|
+
import type { GeneratedFile, GeneratorDescriptor, OutputMode } from './generators/types.js';
|
|
3
|
+
import type { ApiModel } from './intermediate-representation/model.js';
|
|
4
|
+
import type { GenerateClientOptions, GenerateClientResult } from './types.js';
|
|
5
|
+
export { arrow, constArray, exportConstStatement, jsdoc, parseStatements, printNodes, printStatements, ts, } from './emitters/ts.js';
|
|
6
|
+
export { operationSignature } from './emitters/operation-signature.js';
|
|
7
|
+
export type { OperationSignature } from './emitters/operation-signature.js';
|
|
8
|
+
export { schemaToTypeNode } from './emitters/types.js';
|
|
9
|
+
export { pascalCase } from './emitters/support.js';
|
|
10
|
+
export { safeIdent } from './emitters/identifier.js';
|
|
11
|
+
/**
|
|
12
|
+
* Validate the generator selection (see `validateGenerators`), then run each
|
|
13
|
+
* configured generator against the IR and concatenate their files. Throws on a
|
|
14
|
+
* duplicate output path so two generators can't silently clobber each other.
|
|
15
|
+
*/
|
|
16
|
+
export declare function collectGeneratedFiles(model: ApiModel, options: {
|
|
17
|
+
outputPath: string;
|
|
18
|
+
outputMode: OutputMode;
|
|
19
|
+
emit: EmitOptions;
|
|
20
|
+
generators: string[];
|
|
21
|
+
/** The resolved registry (built-ins + custom). Defaults to the built-ins. */
|
|
22
|
+
registry?: Map<string, GeneratorDescriptor>;
|
|
23
|
+
}): GeneratedFile[];
|
|
24
|
+
export declare function generateClient(options: GenerateClientOptions): Promise<GenerateClientResult>;
|
|
25
|
+
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAK9D,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAGvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAG9E,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;AAErD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC7C,GACA,aAAa,EAAE,CAuBjB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CA+E/B"}
|
package/lib/generate.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// The generate entry (`@redocly/client-generator/generate`): everything that runs at
|
|
2
|
+
// GENERATION time — `generateClient`, `collectGeneratedFiles`, and the TypeScript-emitting
|
|
3
|
+
// toolkit for custom generators. It loads `typescript` and `@redocly/openapi-core`, so it
|
|
4
|
+
// must never be reached statically from the package root: package-mode clients import the
|
|
5
|
+
// root at app runtime, and the root reaches this module only through the dynamic import
|
|
6
|
+
// inside its `generateClient` facade.
|
|
7
|
+
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
8
|
+
import { dirname, resolve } from 'node:path';
|
|
9
|
+
import { bakeSetup } from './emitters/setup-bake.js';
|
|
10
|
+
import { NotSupportedError } from './errors.js';
|
|
11
|
+
import { builtinGenerators, validateGenerators } from './generators/index.js';
|
|
12
|
+
import { resolveGenerators } from './generators/resolve.js';
|
|
13
|
+
import { buildApiModel } from './intermediate-representation/build.js';
|
|
14
|
+
import { normalizeSwagger2 } from './intermediate-representation/normalize-swagger2.js';
|
|
15
|
+
import { loadSpec } from './loader.js';
|
|
16
|
+
// --- Codegen toolkit: build TypeScript the same way the built-in generators do -----------------
|
|
17
|
+
export { arrow, constArray, exportConstStatement, jsdoc, parseStatements, printNodes, printStatements, ts, } from './emitters/ts.js';
|
|
18
|
+
export { operationSignature } from './emitters/operation-signature.js';
|
|
19
|
+
export { schemaToTypeNode } from './emitters/types.js';
|
|
20
|
+
export { pascalCase } from './emitters/support.js';
|
|
21
|
+
export { safeIdent } from './emitters/identifier.js';
|
|
22
|
+
/**
|
|
23
|
+
* Validate the generator selection (see `validateGenerators`), then run each
|
|
24
|
+
* configured generator against the IR and concatenate their files. Throws on a
|
|
25
|
+
* duplicate output path so two generators can't silently clobber each other.
|
|
26
|
+
*/
|
|
27
|
+
export function collectGeneratedFiles(model, options) {
|
|
28
|
+
const registry = options.registry ?? builtinGenerators();
|
|
29
|
+
// Fail fast on an incompatible selection (missing prerequisite, unsupported
|
|
30
|
+
// error-mode/date-type/runtime) before producing any file.
|
|
31
|
+
validateGenerators(options.generators, options.emit, registry);
|
|
32
|
+
const files = [];
|
|
33
|
+
const seen = new Set();
|
|
34
|
+
for (const name of options.generators) {
|
|
35
|
+
const generator = registry.get(name);
|
|
36
|
+
for (const file of generator.run({
|
|
37
|
+
model,
|
|
38
|
+
outputPath: options.outputPath,
|
|
39
|
+
outputMode: options.outputMode,
|
|
40
|
+
emit: options.emit,
|
|
41
|
+
})) {
|
|
42
|
+
if (seen.has(file.path)) {
|
|
43
|
+
throw new Error(`Generator conflict: ${file.path} already emitted by an earlier generator`);
|
|
44
|
+
}
|
|
45
|
+
seen.add(file.path);
|
|
46
|
+
files.push(file);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return files;
|
|
50
|
+
}
|
|
51
|
+
export async function generateClient(options) {
|
|
52
|
+
// A path segment that is literally "undefined"/"null" is the telltale of an
|
|
53
|
+
// interpolation bug in the caller (`\`${dir}/client.ts\`` with `dir` unset) — reject
|
|
54
|
+
// it instead of silently creating an `undefined/` directory.
|
|
55
|
+
if (options.output.split(/[\\/]/).some((segment) => segment === 'undefined' || segment === 'null')) {
|
|
56
|
+
throw new Error(`output path "${options.output}" contains a literal "undefined" or "null" segment — this looks like an interpolation bug in the caller`);
|
|
57
|
+
}
|
|
58
|
+
// Setup is a LOCAL module (its code is baked into the generated client) — reject
|
|
59
|
+
// URL-ish specifiers upfront, before any spec loading, instead of failing later as
|
|
60
|
+
// an unreadable file path. Two+ letter scheme, so Windows drive paths don't match.
|
|
61
|
+
if (options.setup && /^[a-z][a-z0-9+.-]+:/i.test(options.setup)) {
|
|
62
|
+
throw new NotSupportedError(`setup must be a local file path — remote setup modules are not supported (got: ${options.setup})`);
|
|
63
|
+
}
|
|
64
|
+
const outputPath = resolve(options.output);
|
|
65
|
+
const { document, version } = await loadSpec(options.api, options.config);
|
|
66
|
+
const normalized = version === 'oas2'
|
|
67
|
+
? normalizeSwagger2(document)
|
|
68
|
+
: document;
|
|
69
|
+
const model = buildApiModel(normalized);
|
|
70
|
+
// A publisher `--setup` module is read, validated, and transformed into the neutral setup
|
|
71
|
+
// expression baked into the client. Applied across all output modes by the emitter.
|
|
72
|
+
let setupBlock;
|
|
73
|
+
if (options.setup) {
|
|
74
|
+
// A relative setup path resolves against `configDir` (cwd when absent), like
|
|
75
|
+
// generator specifiers. The CLI pre-resolves its inputs, so they arrive absolute.
|
|
76
|
+
const setupPath = resolve(options.configDir ?? process.cwd(), options.setup);
|
|
77
|
+
setupBlock = bakeSetup(await readFile(setupPath, 'utf-8'));
|
|
78
|
+
}
|
|
79
|
+
// Resolve the selection into a registry: built-in names pass through, inline `customGenerators`
|
|
80
|
+
// register, and any other entry is imported as a plugin specifier (path/package).
|
|
81
|
+
// An empty list (e.g. `generators: []` in config, or no `--generator` flags) means
|
|
82
|
+
// "unspecified" — fall back to the default sdk client rather than emitting nothing.
|
|
83
|
+
const requested = options.generators?.length ? options.generators : ['sdk'];
|
|
84
|
+
const { selected, registry } = await resolveGenerators(requested, {
|
|
85
|
+
customGenerators: options.customGenerators,
|
|
86
|
+
configDir: options.configDir,
|
|
87
|
+
});
|
|
88
|
+
const files = collectGeneratedFiles(model, {
|
|
89
|
+
outputPath,
|
|
90
|
+
outputMode: options.outputMode ?? 'single',
|
|
91
|
+
emit: {
|
|
92
|
+
serverUrl: options.serverUrl,
|
|
93
|
+
argsStyle: options.argsStyle,
|
|
94
|
+
errorMode: options.errorMode,
|
|
95
|
+
dateType: options.dateType,
|
|
96
|
+
mockData: options.mockData,
|
|
97
|
+
mockSeed: options.mockSeed,
|
|
98
|
+
queryKeyPrefix: options.queryKeyPrefix,
|
|
99
|
+
setup: setupBlock,
|
|
100
|
+
runtime: options.runtime,
|
|
101
|
+
importExt: options.importExt,
|
|
102
|
+
pagination: options.pagination,
|
|
103
|
+
},
|
|
104
|
+
generators: selected,
|
|
105
|
+
registry,
|
|
106
|
+
});
|
|
107
|
+
const written = [];
|
|
108
|
+
for (const file of files) {
|
|
109
|
+
await mkdir(dirname(file.path), { recursive: true });
|
|
110
|
+
await writeFile(file.path, file.content, 'utf-8');
|
|
111
|
+
written.push({ path: file.path, bytes: Buffer.byteLength(file.content, 'utf-8') });
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
outputPath,
|
|
115
|
+
bytes: written.reduce((sum, file) => sum + file.bytes, 0),
|
|
116
|
+
files: written,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAO/D,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAGrE,YAAY,EACV,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAO/D,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAGrE,YAAY,EACV,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC;AA0BpB;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,WAAW,EACjB,QAAQ,GAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAuB,GAC/D,IAAI,CAkCN"}
|
package/lib/generators/index.js
CHANGED
|
@@ -5,6 +5,9 @@ import { swrGenerator } from './swr.js';
|
|
|
5
5
|
import { tanstackQueryGenerator } from './tanstack-query.js';
|
|
6
6
|
import { transformersGenerator } from './transformers.js';
|
|
7
7
|
import { zodGenerator } from './zod.js';
|
|
8
|
+
function tanstackQuery(framework) {
|
|
9
|
+
return { run: tanstackQueryGenerator(framework), requires: ['sdk'], errorModes: ['throw'] };
|
|
10
|
+
}
|
|
8
11
|
const GENERATORS = {
|
|
9
12
|
// sdk is the base client; zod emits a standalone schema module importing nothing from it.
|
|
10
13
|
sdk: { run: sdkGenerator },
|
|
@@ -13,8 +16,12 @@ const GENERATORS = {
|
|
|
13
16
|
// assign `Date` values to those fields, which only type-checks when the sdk types dates as `Date`.
|
|
14
17
|
transformers: { run: transformersGenerator, requires: ['sdk'], dateTypes: ['Date'] },
|
|
15
18
|
// tanstack-query wraps the sdk's exported, throw-mode operation functions — present in
|
|
16
|
-
// both runtime distributions, so no runtime restriction.
|
|
17
|
-
|
|
19
|
+
// both runtime distributions, so no runtime restriction. The framework variants differ
|
|
20
|
+
// only in the `@tanstack/<framework>-query` import; the bare name means React.
|
|
21
|
+
'tanstack-query': tanstackQuery('react'),
|
|
22
|
+
'tanstack-query-vue': tanstackQuery('vue'),
|
|
23
|
+
'tanstack-query-svelte': tanstackQuery('svelte'),
|
|
24
|
+
'tanstack-query-solid': tanstackQuery('solid'),
|
|
18
25
|
// swr wraps the sdk's exported, throw-mode operation functions as SWR hooks.
|
|
19
26
|
swr: { run: swrGenerator, requires: ['sdk'], errorModes: ['throw'] },
|
|
20
27
|
// mock emits a standalone MSW handlers/factories module referencing the sdk's types.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAUxC,MAAM,UAAU,GAA+C;IAC7D,0FAA0F;IAC1F,GAAG,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE;IAC1B,GAAG,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE;IAC1B,yFAAyF;IACzF,mGAAmG;IACnG,YAAY,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE;IACpF,uFAAuF;IACvF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"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"}
|
package/lib/generators/mock.js
CHANGED
|
@@ -11,7 +11,7 @@ import { anchor } from './anchor.js';
|
|
|
11
11
|
export const mockGenerator = ({ model, outputPath, emit }) => {
|
|
12
12
|
const { dir, stem } = anchor(outputPath);
|
|
13
13
|
const content = renderMockModule(model, {
|
|
14
|
-
sdkModule: `./${stem}.js`,
|
|
14
|
+
sdkModule: `./${stem}.${emit.importExt ?? 'js'}`,
|
|
15
15
|
dateType: emit.dateType,
|
|
16
16
|
mockData: emit.mockData,
|
|
17
17
|
mockSeed: emit.mockSeed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/generators/mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;IACtE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE;QACtC,SAAS,EAAE,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/generators/mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;IACtE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE;QACtC,SAAS,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;QAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,OAAO,EAAE,EAAE,CAAC,CAAC;AACvF,CAAC,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// already-registered custom name is dynamically `import()`ed (a standard Node ESM dynamic import), its
|
|
5
5
|
// default (or `generator`) export validated, and registered under its declared name. Built-ins are
|
|
6
6
|
// seeded fresh per call (see `builtinGenerators`), so registration never mutates the built-in table.
|
|
7
|
-
import { isPlainObject } from '@redocly/openapi-core';
|
|
7
|
+
import { isAbsoluteUrl, isPlainObject } from '@redocly/openapi-core';
|
|
8
8
|
import { isAbsolute, resolve as resolvePath } from 'node:path';
|
|
9
9
|
import { pathToFileURL } from 'node:url';
|
|
10
10
|
import { NotSupportedError } from '../errors.js';
|
|
@@ -50,6 +50,11 @@ function register(registry, custom) {
|
|
|
50
50
|
}
|
|
51
51
|
/** Dynamically import a generator from a path (resolved against `configDir`) or package specifier. */
|
|
52
52
|
async function importGenerator(specifier, configDir) {
|
|
53
|
+
// Like core's plugin loading: a URL specifier would reach `import()` — and a `data:`
|
|
54
|
+
// URL executes inline code straight from the config.
|
|
55
|
+
if (isAbsoluteUrl(specifier)) {
|
|
56
|
+
throw new NotSupportedError(`Remote generator modules are not supported — use a local path or a package name. Got: ${specifier}`);
|
|
57
|
+
}
|
|
53
58
|
const isPath = specifier.startsWith('.') || isAbsolute(specifier);
|
|
54
59
|
const target = isPath ? pathToFileURL(resolvePath(configDir, specifier)).href : specifier;
|
|
55
60
|
let module;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/generators/resolve.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,oGAAoG;AACpG,sGAAsG;AACtG,uGAAuG;AACvG,mGAAmG;AACnG,qGAAqG;AAErG,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/generators/resolve.ts"],"names":[],"mappings":"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"}
|
package/lib/generators/swr.js
CHANGED
|
@@ -18,7 +18,7 @@ export const swrGenerator = ({ model, outputPath, emit }) => {
|
|
|
18
18
|
const { dir, stem } = anchor(outputPath);
|
|
19
19
|
const content = renderSwrModule(model, {
|
|
20
20
|
argsStyle: emit.argsStyle ?? 'flat',
|
|
21
|
-
sdkModule: `./${stem}.js`,
|
|
21
|
+
sdkModule: `./${stem}.${emit.importExt ?? 'js'}`,
|
|
22
22
|
});
|
|
23
23
|
if (content === '')
|
|
24
24
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swr.js","sourceRoot":"","sources":["../../src/generators/swr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;IACrE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE;QACrC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,MAAM;QACnC,SAAS,EAAE,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"swr.js","sourceRoot":"","sources":["../../src/generators/swr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;IACrE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE;QACrC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,MAAM;QACnC,SAAS,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;KACjD,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,OAAO,EAAE,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import type { Generator } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* The tanstack-query generator: a standalone `<stem>.tanstack.ts` module of
|
|
4
|
-
* TanStack Query v5 factories
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
4
|
+
* TanStack Query v5 factories over the generated client — `<op>QueryKey`/`<op>Options`
|
|
5
|
+
* per query (GET/HEAD), `<op>InfiniteOptions` per paginated query, `<op>Mutation` per
|
|
6
|
+
* mutation, all built by `createQueryFactories(c)` (bindable to any client instance)
|
|
7
|
+
* with the module-level exports bound to the sdk's default `client`. It imports the
|
|
8
|
+
* `client` instance + the `<Op>Variables` types from the sdk entry (`./<stem>.js`), so
|
|
9
|
+
* it requires the `sdk` generator and its throw-mode client. The option helpers are
|
|
10
|
+
* imported from `@tanstack/<framework>-query` (the consumer's peer); the registry binds
|
|
11
|
+
* one framework per generator name, and the emitted body is byte-identical across them.
|
|
11
12
|
*
|
|
12
13
|
* Output-mode-agnostic: `./<stem>.js` resolves to the single-file client or the
|
|
13
14
|
* multi-file barrel at the output anchor either way. Emits nothing when there are
|
|
14
15
|
* no operations.
|
|
15
16
|
*/
|
|
16
|
-
export declare
|
|
17
|
+
export declare function tanstackQueryGenerator(framework: 'react' | 'vue' | 'svelte' | 'solid'): Generator;
|
|
17
18
|
//# sourceMappingURL=tanstack-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tanstack-query.d.ts","sourceRoot":"","sources":["../../src/generators/tanstack-query.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"tanstack-query.d.ts","sourceRoot":"","sources":["../../src/generators/tanstack-query.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAYjG"}
|