@redocly/client-generator 0.5.3 → 0.6.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/eject-assets/generators/cli/docs.ts +1 -1
- package/eject-assets/generators/cli/engine-source.ts +1 -1
- package/eject-assets/generators/cli/index.ts +2 -2
- package/eject-assets/generators/cli/render.ts +1 -1
- package/eject-assets/generators/go/client.ts +1 -1
- package/eject-assets/generators/go/descriptor.ts +2 -1
- package/eject-assets/generators/go/index.ts +2 -2
- package/eject-assets/generators/go/models.ts +1 -1
- package/eject-assets/generators/go/naming.ts +1 -1
- package/eject-assets/generators/go/operations.ts +1 -1
- package/eject-assets/generators/go/pagination.ts +1 -1
- package/eject-assets/generators/go/types.ts +1 -1
- package/eject-assets/generators/mock/faker.ts +1 -1
- package/eject-assets/generators/mock/index.ts +2 -2
- package/eject-assets/generators/mock/render.ts +1 -1
- package/eject-assets/generators/mock/sample.ts +1 -1
- package/eject-assets/generators/mock/values.ts +1 -1
- package/eject-assets/generators/php/client.ts +1 -1
- package/eject-assets/generators/php/descriptor.ts +2 -1
- package/eject-assets/generators/php/index.ts +2 -2
- package/eject-assets/generators/php/models.ts +1 -1
- package/eject-assets/generators/php/naming.ts +1 -1
- package/eject-assets/generators/php/operations.ts +1 -1
- package/eject-assets/generators/php/pagination.ts +1 -1
- package/eject-assets/generators/php/types.ts +1 -1
- package/eject-assets/generators/python/client.ts +1 -1
- package/eject-assets/generators/python/descriptor.ts +2 -1
- package/eject-assets/generators/python/index.ts +2 -2
- package/eject-assets/generators/python/models.ts +1 -1
- package/eject-assets/generators/python/naming.ts +1 -1
- package/eject-assets/generators/python/operations.ts +1 -1
- package/eject-assets/generators/python/pagination.ts +1 -1
- package/eject-assets/generators/python/types.ts +1 -1
- package/eject-assets/generators/swr/index.ts +2 -2
- package/eject-assets/generators/swr/render.ts +1 -1
- package/eject-assets/generators/tanstack-query/index.ts +2 -2
- package/eject-assets/generators/tanstack-query/render.ts +56 -9
- package/eject-assets/generators/transformers/index.ts +2 -2
- package/eject-assets/generators/transformers/render.ts +1 -1
- package/eject-assets/generators/typescript/banner.ts +1 -1
- package/eject-assets/generators/typescript/client.ts +1 -1
- package/eject-assets/generators/typescript/descriptor.ts +1 -1
- package/eject-assets/generators/typescript/index.ts +2 -2
- package/eject-assets/generators/typescript/inline-runtime.ts +1 -1
- package/eject-assets/generators/typescript/operation-signature.ts +1 -1
- package/eject-assets/generators/typescript/operation-types.ts +1 -1
- package/eject-assets/generators/typescript/operations.ts +1 -1
- package/eject-assets/generators/typescript/response-headers.ts +1 -1
- package/eject-assets/generators/typescript/type-guards.ts +1 -1
- package/eject-assets/generators/typescript/types.ts +1 -1
- package/eject-assets/generators/zod/index.ts +2 -2
- package/eject-assets/generators/zod/schemas.ts +1 -1
- package/eject-assets/skills/tanstack-query-generator/SKILL.md +5 -2
- package/eject-assets/skills/typescript-generator/SKILL.md +5 -0
- package/lib/authoring/pagination.d.ts +5 -4
- package/lib/authoring/pagination.d.ts.map +1 -1
- package/lib/authoring/pagination.js +32 -12
- package/lib/authoring/pagination.js.map +1 -1
- package/lib/authoring/reference-page.d.ts.map +1 -1
- package/lib/authoring/reference-page.js +3 -3
- package/lib/authoring/reference-page.js.map +1 -1
- package/lib/generators/go/descriptor.d.ts.map +1 -1
- package/lib/generators/go/descriptor.js +1 -0
- package/lib/generators/go/descriptor.js.map +1 -1
- package/lib/generators/php/descriptor.d.ts.map +1 -1
- package/lib/generators/php/descriptor.js +1 -0
- package/lib/generators/php/descriptor.js.map +1 -1
- package/lib/generators/python/descriptor.d.ts.map +1 -1
- package/lib/generators/python/descriptor.js +1 -0
- package/lib/generators/python/descriptor.js.map +1 -1
- package/lib/generators/tanstack-query/render.d.ts.map +1 -1
- package/lib/generators/tanstack-query/render.js +48 -7
- package/lib/generators/tanstack-query/render.js.map +1 -1
- package/lib/generators/typescript/runtime/create-client.d.ts +1 -1
- package/lib/generators/typescript/runtime/create-client.d.ts.map +1 -1
- package/lib/generators/typescript/runtime/create-client.js +2 -2
- package/lib/generators/typescript/runtime/create-client.js.map +1 -1
- package/lib/generators/typescript/runtime/paginate.d.ts +9 -7
- package/lib/generators/typescript/runtime/paginate.d.ts.map +1 -1
- package/lib/generators/typescript/runtime/paginate.js +18 -12
- package/lib/generators/typescript/runtime/paginate.js.map +1 -1
- package/lib/generators/typescript/runtime/send.d.ts.map +1 -1
- package/lib/generators/typescript/runtime/send.js +44 -10
- package/lib/generators/typescript/runtime/send.js.map +1 -1
- package/lib/pagination.d.ts +17 -5
- package/lib/pagination.d.ts.map +1 -1
- package/lib/pagination.js +26 -6
- package/lib/pagination.js.map +1 -1
- package/lib/reserved-names.d.ts.map +1 -1
- package/lib/reserved-names.js +1 -0
- package/lib/reserved-names.js.map +1 -1
- package/lib/runtime-sources/go.d.ts +1 -1
- package/lib/runtime-sources/go.d.ts.map +1 -1
- package/lib/runtime-sources/go.js +1 -1
- package/lib/runtime-sources/go.js.map +1 -1
- package/lib/runtime-sources/php.d.ts +1 -1
- package/lib/runtime-sources/php.d.ts.map +1 -1
- package/lib/runtime-sources/php.js +1 -1
- package/lib/runtime-sources/php.js.map +1 -1
- package/lib/runtime-sources/python.d.ts +1 -1
- package/lib/runtime-sources/python.js +1 -1
- package/lib/runtime-sources/python.js.map +1 -1
- package/lib/runtime-sources/typescript.d.ts +9 -9
- package/lib/runtime-sources/typescript.d.ts.map +1 -1
- package/lib/runtime-sources/typescript.js +10 -8
- package/lib/runtime-sources/typescript.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "cli" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator cli --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "cli" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator cli --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "cli" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator cli --update`.
|
|
@@ -86,5 +86,5 @@ export default {
|
|
|
86
86
|
docs: cliDocs,
|
|
87
87
|
requires: ["typescript","zod"],
|
|
88
88
|
errorModes: ["throw"],
|
|
89
|
-
requiresGenerator: '^0.
|
|
89
|
+
requiresGenerator: '^0.6.0',
|
|
90
90
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "cli" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator cli --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "go" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator go --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "go" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator go --update`.
|
|
@@ -34,6 +34,7 @@ export function goPaginationLiteral(rule: NeutralPaginationRule): string {
|
|
|
34
34
|
...(rule.param !== undefined ? [`Param: ${naming.string(rule.param)}`] : []),
|
|
35
35
|
...(rule.nextCursor !== undefined ? [`NextCursor: ${naming.string(rule.nextCursor)}`] : []),
|
|
36
36
|
...(rule.hasMore !== undefined ? [`HasMore: ${naming.string(rule.hasMore)}`] : []),
|
|
37
|
+
...(rule.nextLink !== undefined ? [`NextLink: ${naming.string(rule.nextLink)}`] : []),
|
|
37
38
|
...(rule.limitParam !== undefined ? [`LimitParam: ${naming.string(rule.limitParam)}`] : []),
|
|
38
39
|
...(rule.items !== undefined ? [`Items: ${naming.string(rule.items)}`] : []),
|
|
39
40
|
];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "go" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator go --update`.
|
|
@@ -332,5 +332,5 @@ export default {
|
|
|
332
332
|
"argsStyle": "inputs follow the target language's own idiom",
|
|
333
333
|
"importExt": "the generated file has no relative imports"
|
|
334
334
|
},
|
|
335
|
-
requiresGenerator: '^0.
|
|
335
|
+
requiresGenerator: '^0.6.0',
|
|
336
336
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "go" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator go --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "go" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator go --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "go" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator go --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "go" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator go --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "go" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator go --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "mock" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator mock --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "mock" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator mock --update`.
|
|
@@ -31,5 +31,5 @@ export default {
|
|
|
31
31
|
name: 'mock',
|
|
32
32
|
run: mockGenerator,
|
|
33
33
|
requires: ["typescript"],
|
|
34
|
-
requiresGenerator: '^0.
|
|
34
|
+
requiresGenerator: '^0.6.0',
|
|
35
35
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "mock" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator mock --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "mock" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator mock --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "mock" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator mock --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "php" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator php --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "php" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator php --update`.
|
|
@@ -36,6 +36,7 @@ export function phpPaginationLiteral(rule: NeutralPaginationRule): string {
|
|
|
36
36
|
...(rule.param !== undefined ? [`'param' => ${phpString(rule.param)}`] : []),
|
|
37
37
|
...(rule.nextCursor !== undefined ? [`'nextCursor' => ${phpString(rule.nextCursor)}`] : []),
|
|
38
38
|
...(rule.hasMore !== undefined ? [`'hasMore' => ${phpString(rule.hasMore)}`] : []),
|
|
39
|
+
...(rule.nextLink !== undefined ? [`'nextLink' => ${phpString(rule.nextLink)}`] : []),
|
|
39
40
|
...(rule.limitParam !== undefined ? [`'limitParam' => ${phpString(rule.limitParam)}`] : []),
|
|
40
41
|
...(rule.items !== undefined ? [`'items' => ${phpString(rule.items)}`] : []),
|
|
41
42
|
];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "php" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator php --update`.
|
|
@@ -234,5 +234,5 @@ export default {
|
|
|
234
234
|
"argsStyle": "inputs follow the target language's own idiom",
|
|
235
235
|
"importExt": "the generated file has no relative imports"
|
|
236
236
|
},
|
|
237
|
-
requiresGenerator: '^0.
|
|
237
|
+
requiresGenerator: '^0.6.0',
|
|
238
238
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "php" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator php --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "php" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator php --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "php" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator php --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "php" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator php --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "php" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator php --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "python" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator python --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "python" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator python --update`.
|
|
@@ -31,6 +31,7 @@ export function paginationSpec(
|
|
|
31
31
|
...(rule.param !== undefined ? { param: rule.param } : {}),
|
|
32
32
|
...(rule.nextCursor !== undefined ? { next_cursor: rule.nextCursor } : {}),
|
|
33
33
|
...(rule.hasMore !== undefined ? { has_more: rule.hasMore } : {}),
|
|
34
|
+
...(rule.nextLink !== undefined ? { next_link: rule.nextLink } : {}),
|
|
34
35
|
...(rule.limitParam !== undefined ? { limit_param: rule.limitParam } : {}),
|
|
35
36
|
...(rule.items !== undefined ? { items: rule.items } : {}),
|
|
36
37
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "python" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator python --update`.
|
|
@@ -247,5 +247,5 @@ export default {
|
|
|
247
247
|
"argsStyle": "inputs follow the target language's own idiom",
|
|
248
248
|
"importExt": "the generated file has no relative imports"
|
|
249
249
|
},
|
|
250
|
-
requiresGenerator: '^0.
|
|
250
|
+
requiresGenerator: '^0.6.0',
|
|
251
251
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "python" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator python --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "python" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator python --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "python" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator python --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "python" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator python --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "python" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator python --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "swr" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator swr --update`.
|
|
@@ -33,5 +33,5 @@ export default {
|
|
|
33
33
|
run: swrGenerator,
|
|
34
34
|
requires: ["typescript"],
|
|
35
35
|
errorModes: ["throw"],
|
|
36
|
-
requiresGenerator: '^0.
|
|
36
|
+
requiresGenerator: '^0.6.0',
|
|
37
37
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "swr" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator swr --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "tanstack-query" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator tanstack-query --update`.
|
|
@@ -44,5 +44,5 @@ export default {
|
|
|
44
44
|
run: tanstackQueryGenerator('react'),
|
|
45
45
|
requires: ["typescript"],
|
|
46
46
|
errorModes: ["throw"],
|
|
47
|
-
requiresGenerator: '^0.
|
|
47
|
+
requiresGenerator: '^0.6.0',
|
|
48
48
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "tanstack-query" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator tanstack-query --update`.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// `<op>InfiniteOptions(vars, init?)` with `initialPageParam`/`getNextPageParam` compiled
|
|
12
12
|
// from the pagination rule's JSON pointers. Per mutation: `<op>Mutation(init?)`. Calls go
|
|
13
13
|
// through the client instance's methods, which take one input object in either
|
|
14
|
-
// `--args-style`; only the infinite query's
|
|
14
|
+
// `--args-style`; only the infinite query's page-param override differs between them.
|
|
15
15
|
//
|
|
16
16
|
// The factory bodies are authored as source text — the emitted module verbatim
|
|
17
17
|
// and normalizes everything to the printer's canonical style. Every interpolated piece
|
|
@@ -58,6 +58,7 @@ export function renderTanstackModule(model: ApiModel, opts: TanstackOptions): st
|
|
|
58
58
|
const pagination = opts.pagination ?? new Map();
|
|
59
59
|
const source = [
|
|
60
60
|
importHeader(ops, opts, pagination),
|
|
61
|
+
...(ops.some((op) => isBodyLinkInfinite(op, pagination)) ? [NEXT_LINK_QUERY] : []),
|
|
61
62
|
...ops.filter(isQuery).map((op) => queryKeySource(op, opts.queryKeyPrefix)),
|
|
62
63
|
factoriesSource(model, ops, pagination, opts.queryKeyPrefix, opts.argsStyle),
|
|
63
64
|
...defaultBindings(ops, pagination),
|
|
@@ -69,14 +70,36 @@ export function renderTanstackModule(model: ApiModel, opts: TanstackOptions): st
|
|
|
69
70
|
* Whether the op gets an `<op>InfiniteOptions` factory: a paginated query operation.
|
|
70
71
|
* `link`-style pagination is excluded — its next page lives in the `Link` response
|
|
71
72
|
* HEADER, which a TanStack `queryFn` (body-only) cannot see; use the sdk's
|
|
72
|
-
* `.pages()`/`.items()` iterators for those operations instead.
|
|
73
|
+
* `.pages()`/`.items()` iterators for those operations instead. `body-link` qualifies
|
|
74
|
+
* when the operation has a query parameter to carry the link's parameters.
|
|
73
75
|
*/
|
|
74
76
|
function isInfinite(op: OperationModel, pagination: ModelPagination): boolean {
|
|
75
77
|
if (!isQuery(op)) return false;
|
|
76
78
|
const paginated = pagination.get(op.name);
|
|
77
|
-
|
|
79
|
+
if (paginated === undefined || paginated.spec.style === 'link') return false;
|
|
80
|
+
return paginated.spec.style !== 'body-link' || op.queryParams.length > 0;
|
|
78
81
|
}
|
|
79
82
|
|
|
83
|
+
/** A query op whose `body-link` pagination gets an `<op>InfiniteOptions` factory. */
|
|
84
|
+
function isBodyLinkInfinite(op: OperationModel, pagination: ModelPagination): boolean {
|
|
85
|
+
return isInfinite(op, pagination) && pagination.get(op.name)?.spec.style === 'body-link';
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* The module-private helper a body-link `queryFn` merges the next page's query
|
|
90
|
+
* parameters with, the way the sdk's link iterator does: a repeated key becomes an array.
|
|
91
|
+
*/
|
|
92
|
+
const NEXT_LINK_QUERY =
|
|
93
|
+
'/** The query parameters of a next-page link; a repeated key becomes an array. */\n' +
|
|
94
|
+
'const nextLinkQuery = (link: string) => {\n' +
|
|
95
|
+
' const query: Record<string, string | string[]> = {};\n' +
|
|
96
|
+
' for (const [key, value] of new URL(link, "http://relative.invalid").searchParams) {\n' +
|
|
97
|
+
' const seen = query[key];\n' +
|
|
98
|
+
' query[key] = seen === undefined ? value : Array.isArray(seen) ? [...seen, value] : [seen, value];\n' +
|
|
99
|
+
' }\n' +
|
|
100
|
+
' return query;\n' +
|
|
101
|
+
'};';
|
|
102
|
+
|
|
80
103
|
/**
|
|
81
104
|
* The import header: the option helpers from `@tanstack/${framework}-query` (only the
|
|
82
105
|
* ones used), then the sdk's `client` instance plus the referenced types.
|
|
@@ -133,9 +156,9 @@ function factoriesSource(
|
|
|
133
156
|
): string {
|
|
134
157
|
const members = ops.flatMap((op) => {
|
|
135
158
|
if (!isQuery(op)) return [mutationMember(op, prefix)];
|
|
136
|
-
const
|
|
137
|
-
return
|
|
138
|
-
? [optionsMember(op), infiniteMember(model, op,
|
|
159
|
+
const spec = pagination.get(op.name)?.spec;
|
|
160
|
+
return spec !== undefined && spec.style !== 'link' && isInfinite(op, pagination)
|
|
161
|
+
? [optionsMember(op), infiniteMember(model, op, spec, argsStyle)]
|
|
139
162
|
: [optionsMember(op)];
|
|
140
163
|
});
|
|
141
164
|
return (
|
|
@@ -179,7 +202,8 @@ function mutationMember(op: OperationModel, prefix: string | undefined): string
|
|
|
179
202
|
* page param rides the rule's advance query parameter, `initialPageParam` resumes from
|
|
180
203
|
* the caller's own value, and `getNextPageParam` mirrors the runtime iterators' stop
|
|
181
204
|
* conditions (cursor: absent/`null`/`''`, plus the optional `hasMore === false`;
|
|
182
|
-
* offset/page: an empty items page).
|
|
205
|
+
* offset/page: an empty items page). A body link is the page param itself: the first
|
|
206
|
+
* page sends `vars` as given, later pages merge the link's query parameters over them.
|
|
183
207
|
*/
|
|
184
208
|
function infiniteMember(
|
|
185
209
|
model: ApiModel,
|
|
@@ -188,6 +212,29 @@ function infiniteMember(
|
|
|
188
212
|
argsStyle: TanstackOptions['argsStyle']
|
|
189
213
|
): string {
|
|
190
214
|
const { params, keyArg } = varsPieces(op);
|
|
215
|
+
if (spec.style === 'body-link') {
|
|
216
|
+
const merged =
|
|
217
|
+
argsStyle === 'flat'
|
|
218
|
+
? '{ ...vars, ...nextLinkQuery(pageParam) }'
|
|
219
|
+
: '{ ...vars, query: { ...vars.query, ...nextLinkQuery(pageParam) } }';
|
|
220
|
+
const pointer = spec.nextLink;
|
|
221
|
+
const checks = cursorStopChecks(model, op, pointer);
|
|
222
|
+
const next =
|
|
223
|
+
checks.length === 0
|
|
224
|
+
? ` return lastPage${pointerChain(pointer)};\n`
|
|
225
|
+
: ` const next = lastPage${pointerChain(pointer)};\n` +
|
|
226
|
+
` return ${checks.join(' || ')} ? undefined : next;\n`;
|
|
227
|
+
return (
|
|
228
|
+
` ${op.name}InfiniteOptions: (${params}) => infiniteQueryOptions({\n` +
|
|
229
|
+
` queryKey: [...${op.name}QueryKey(${keyArg}), "infinite"] as const,\n` +
|
|
230
|
+
` queryFn: ({ pageParam, signal }) => instance.${op.name}(pageParam === undefined ? vars : ${merged} as ${variablesName(op)}, { ...init, signal, envelope: undefined }),\n` +
|
|
231
|
+
` initialPageParam: undefined as string | undefined,\n` +
|
|
232
|
+
` getNextPageParam: (lastPage) => {\n` +
|
|
233
|
+
next +
|
|
234
|
+
` },\n` +
|
|
235
|
+
` })`
|
|
236
|
+
);
|
|
237
|
+
}
|
|
191
238
|
// The cursor is a query parameter, so it lands in the sdk's own spelling for one:
|
|
192
239
|
// inside the `query` layer, or at the top level of a merged call.
|
|
193
240
|
const cursor = safeIdent(spec.param);
|
|
@@ -208,7 +255,7 @@ function infiniteMember(
|
|
|
208
255
|
function nextPageSource(
|
|
209
256
|
model: ApiModel,
|
|
210
257
|
op: OperationModel,
|
|
211
|
-
spec: Exclude<PaginationSpec, { style: 'link' }>,
|
|
258
|
+
spec: Exclude<PaginationSpec, { style: 'link' | 'body-link' }>,
|
|
212
259
|
argsStyle: TanstackOptions['argsStyle']
|
|
213
260
|
): string {
|
|
214
261
|
const advance = paramsAccess(spec.param);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "transformers" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator transformers --update`.
|
|
@@ -42,5 +42,5 @@ export default {
|
|
|
42
42
|
run: transformersGenerator,
|
|
43
43
|
requires: ["typescript"],
|
|
44
44
|
dateTypes: ["Date"],
|
|
45
|
-
requiresGenerator: '^0.
|
|
45
|
+
requiresGenerator: '^0.6.0',
|
|
46
46
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "transformers" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator transformers --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "typescript" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator typescript --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "typescript" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator typescript --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "typescript" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator typescript --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "typescript" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator typescript --update`.
|
|
@@ -97,5 +97,5 @@ export default {
|
|
|
97
97
|
run: typescriptGenerator,
|
|
98
98
|
sample: typescriptSample,
|
|
99
99
|
docs: typescriptDocs,
|
|
100
|
-
requiresGenerator: '^0.
|
|
100
|
+
requiresGenerator: '^0.6.0',
|
|
101
101
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "typescript" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator typescript --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "typescript" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator typescript --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "typescript" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator typescript --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "typescript" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator typescript --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "typescript" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator typescript --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "typescript" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator typescript --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "typescript" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator typescript --update`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "zod" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator zod --update`.
|
|
@@ -28,5 +28,5 @@ export const zodGenerator: Generator = ({ model, output, banner }) => {
|
|
|
28
28
|
export default {
|
|
29
29
|
name: 'zod',
|
|
30
30
|
run: zodGenerator,
|
|
31
|
-
requiresGenerator: '^0.
|
|
31
|
+
requiresGenerator: '^0.6.0',
|
|
32
32
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Ejected from @redocly/client-generator@0.
|
|
1
|
+
// Ejected from @redocly/client-generator@0.6.0 — the built-in "zod" generator.
|
|
2
2
|
// This file is yours: edit freely; the generated client stays machine-owned and is
|
|
3
3
|
// rebuilt by `redocly generate-client`. Newer generator versions merge in with
|
|
4
4
|
// `redocly eject-generator zod --update`.
|
|
@@ -21,8 +21,11 @@ query keys. One generator, four framework variants (`react` default, `-vue`,
|
|
|
21
21
|
- **Options factories, not hooks:** consumers call `useQuery(<op>Options(...))`, so the
|
|
22
22
|
output works with any of the framework adapters and stays testable.
|
|
23
23
|
- **`queryKeyPrefix`** namespaces every key when several clients share a cache.
|
|
24
|
-
- **Infinite queries** derive `getNextPageParam` from the resolved pagination rule
|
|
25
|
-
`link
|
|
24
|
+
- **Infinite queries** derive `getNextPageParam` from the resolved pagination rule. A
|
|
25
|
+
`body-link` rule gets one when the operation has a query parameter: the next page's
|
|
26
|
+
URL is the page param, and each later page merges the URL's query parameters over
|
|
27
|
+
`vars`. A `Link` header is invisible to a `queryFn`, so `link`-style operations get
|
|
28
|
+
only the sdk's `.pages()`/`.items()`.
|
|
26
29
|
- **`envelope` is excluded and stripped** — cached data is the plain body.
|
|
27
30
|
- Requires `typescript`; throw-mode only (it wraps thrown errors into query errors).
|
|
28
31
|
|