fork of hey-api/openapi-ts because I need some additional things
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #2310 from hey-api/chore/sdk-params-progress

chore(sdk): initial implementation for custom params

authored by

Lubos and committed by
GitHub
078ee9de 482bdb4c

+4221 -124
+1 -1
package.json
··· 63 63 "rollup": "4.31.0", 64 64 "rollup-plugin-dts": "6.1.1", 65 65 "tsup": "8.4.0", 66 - "turbo": "2.5.4", 66 + "turbo": "2.5.5", 67 67 "typescript": "5.8.3", 68 68 "typescript-eslint": "8.29.1", 69 69 "vitest": "3.1.1"
+14
packages/custom-client/src/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/body-response-text-plain/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/body-response-text-plain/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/form-data/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/form-data/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/instance/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/instance/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-valibot/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-valibot/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-zod/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-zod/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/angular-query-experimental/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/react-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/solid-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/svelte-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/plugins/@tanstack/vue-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/schema-unknown/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/schema-unknown/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/security-api-key/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/security-api-key/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/security-basic/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/security-basic/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/security-false/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/security-false/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/security-oauth2/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/security-oauth2/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/servers-base-path/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/servers-base-path/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/servers-host/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/servers-host/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/servers/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/servers/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/2.0.x/transforms-read-write/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/2.0.x/transforms-read-write/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/body-response-text-plain/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/body-response-text-plain/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/content-types/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/content-types/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/internal-name-conflict/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/internal-name-conflict/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/parameter-explode-false-axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/parameter-explode-false-axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/parameter-explode-false/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/parameter-explode-false/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/default/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/default/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/instance/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/instance/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/throwOnError/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/sdk/throwOnError/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/transformers/type-format-valibot/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/transformers/type-format-valibot/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/transformers/type-format-zod/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/transformers/type-format-zod/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/angular-query-experimental/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/react-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/solid-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/svelte-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/plugins/@tanstack/vue-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/security-api-key/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/security-api-key/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/security-false/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/security-false/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/security-http-bearer/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/security-http-bearer/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/security-oauth2/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/security-oauth2/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/security-open-id-connect/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/security-open-id-connect/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/servers/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/servers/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/transformers-all-of/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/transformers-all-of/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/transformers-any-of-null/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/transformers-any-of-null/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/transformers-array/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/transformers-array/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.0.x/transforms-read-write/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.0.x/transforms-read-write/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/body-response-text-plain/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/body-response-text-plain/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-false/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-false/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-number/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-number/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-strict/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-strict/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-string/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/base-url-string/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/default/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/default/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/sdk-client-optional/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/sdk-client-optional/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/sdk-client-required/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/sdk-client-required/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/tsconfig-nodenext-sdk/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-axios/tsconfig-nodenext-sdk/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/base-url-false/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/base-url-false/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/base-url-number/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/base-url-number/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/base-url-strict/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/base-url-strict/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/base-url-string/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/base-url-string/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/default/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/default/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/sdk-client-optional/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/sdk-client-optional/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/sdk-client-required/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/sdk-client-required/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/tsconfig-nodenext-sdk/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-fetch/tsconfig-nodenext-sdk/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/base-url-false/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/base-url-false/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/base-url-number/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/base-url-number/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/base-url-strict/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/base-url-strict/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/base-url-string/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/base-url-string/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/default/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/default/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/sdk-client-optional/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/sdk-client-optional/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/sdk-client-required/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/sdk-client-required/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/tsconfig-nodenext-sdk/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-next/tsconfig-nodenext-sdk/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-false/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-false/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-number/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-number/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-strict/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-strict/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-string/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/base-url-string/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/default/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-optional/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/sdk-client-required/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/clients/@hey-api/client-nuxt/tsconfig-nodenext-sdk/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/content-types/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/content-types/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/headers/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/headers/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/internal-name-conflict/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/internal-name-conflict/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/pagination-ref/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/pagination-ref/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/parameter-explode-false-axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/parameter-explode-false-axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/parameter-explode-false/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/parameter-explode-false/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/default/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/default/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/instance/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/instance/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/throwOnError/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/sdk/throwOnError/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/transformers/type-format-valibot/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/transformers/type-format-valibot/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/transformers/type-format-zod/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/transformers/type-format-zod/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/typescript/transforms-read-write-ignore/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@hey-api/typescript/transforms-read-write-ignore/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/angular-query-experimental/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/react-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/solid-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/svelte-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/asClass/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/asClass/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/axios/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/axios/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/fetch/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/fetch/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/name-builder/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/plugins/@tanstack/vue-query/name-builder/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/security-api-key/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/security-api-key/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/security-false/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/security-false/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/security-http-bearer/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/security-http-bearer/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/security-oauth2/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/security-oauth2/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/security-open-id-connect/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/security-open-id-connect/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/servers/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/servers/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/transformers-all-of/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/transformers-all-of/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/transformers-any-of-null/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/transformers-any-of-null/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/transformers-array/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/transformers-array/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/3.1.x/transforms-read-write/core/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/3.1.x/transforms-read-write/core/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+10
packages/openapi-ts-tests/test/__snapshots__/test/generated/v3_no_index/core/params.ts.snap
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts-tests/test/__snapshots__/test/generated/v3_no_index/core/types.ts.snap
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+9 -7
packages/openapi-ts-tests/test/openapi-ts.config.ts
··· 44 44 // 'case.yaml', 45 45 // 'enum-inline.yaml', 46 46 'full.yaml', 47 + // 'object-property-names.yaml', 47 48 // 'transformers-all-of.yaml', 48 49 // 'validators-circular-ref-2.yaml', 49 50 ), ··· 71 72 // name: 'foo', 72 73 output: { 73 74 // case: 'snake_case', 75 + clean: false, 74 76 // format: 'prettier', 75 77 // indexFile: false, 76 78 // lint: 'eslint', ··· 132 134 { 133 135 // baseUrl: false, 134 136 // exportFromIndex: true, 135 - // name: '@hey-api/client-axios', 137 + name: '@hey-api/client-fetch', 136 138 // name: 'legacy/angular', 137 139 // strictBaseUrl: true, 138 - // throwOnError: true, 140 + throwOnError: true, 139 141 }, 140 142 { 141 143 // case: 'snake_case', ··· 168 170 // instance: true, 169 171 name: '@hey-api/sdk', 170 172 // operationId: false, 173 + params: 'experiment', 171 174 // responseStyle: 'data', 172 - // throwOnError: true, 173 - transformer: '@hey-api/transformers', 175 + // transformer: '@hey-api/transformers', 174 176 // transformer: true, 175 177 // validator: { 176 178 // request: 'zod', ··· 180 182 { 181 183 // bigInt: true, 182 184 // dates: true, 183 - name: '@hey-api/transformers', 185 + // name: '@hey-api/transformers', 184 186 }, 185 187 { 186 - name: 'fastify', 188 + // name: 'fastify', 187 189 }, 188 190 { 189 191 // case: 'SCREAMING_SNAKE_CASE', ··· 198 200 // mutationOptions: { 199 201 // name: '{{name}}MO', 200 202 // }, 201 - name: '@tanstack/react-query', 203 + // name: '@tanstack/react-query', 202 204 // queryKeys: { 203 205 // name: '{{name}}QK', 204 206 // },
+2 -2
packages/openapi-ts/src/compiler/types.ts
··· 489 489 multiLine?: boolean; 490 490 parameters?: FunctionParameter[]; 491 491 returnType?: string | ts.TypeNode; 492 - statements?: ts.Statement[]; 492 + statements?: ReadonlyArray<ts.Statement>; 493 493 types?: FunctionTypeParameter[]; 494 494 }) => { 495 495 const expression = ts.factory.createFunctionExpression( ··· 1049 1049 statements, 1050 1050 }: { 1051 1051 multiLine?: boolean; 1052 - statements: Array<ts.Statement>; 1052 + statements: ReadonlyArray<ts.Statement>; 1053 1053 }) => ts.factory.createBlock(statements, multiLine); 1054 1054 1055 1055 export const createPropertyAssignment = ({
+2
packages/openapi-ts/src/generate/__tests__/class.test.ts
··· 1 1 import fs from 'node:fs'; 2 2 3 + import type ts from 'typescript'; 3 4 import { describe, expect, it, vi } from 'vitest'; 4 5 5 6 import type { Config } from '../../types/config'; ··· 84 85 '@hey-api/typescript': { 85 86 api: { 86 87 getId: () => '', 88 + schemaToType: () => ({}) as ts.TypeNode, 87 89 }, 88 90 config: { 89 91 enums: 'javascript',
+4
packages/openapi-ts/src/generate/__tests__/core.test.ts
··· 1 1 import fs from 'node:fs'; 2 2 import path from 'node:path'; 3 3 4 + import type ts from 'typescript'; 4 5 import { beforeEach, describe, expect, it, vi } from 'vitest'; 5 6 6 7 import type { Config } from '../../types/config'; ··· 99 100 '@hey-api/typescript': { 100 101 api: { 101 102 getId: () => '', 103 + schemaToType: () => ({}) as ts.TypeNode, 102 104 }, 103 105 config: { 104 106 enums: 'javascript', ··· 232 234 '@hey-api/typescript': { 233 235 api: { 234 236 getId: () => '', 237 + schemaToType: () => ({}) as ts.TypeNode, 235 238 }, 236 239 config: { 237 240 enums: 'javascript', ··· 348 351 '@hey-api/typescript': { 349 352 api: { 350 353 getId: () => '', 354 + schemaToType: () => ({}) as ts.TypeNode, 351 355 }, 352 356 config: { 353 357 enums: 'javascript',
+2
packages/openapi-ts/src/generate/legacy/__tests__/index.test.ts
··· 1 1 import fs from 'node:fs'; 2 2 import path from 'node:path'; 3 3 4 + import type ts from 'typescript'; 4 5 import { describe, expect, it, vi } from 'vitest'; 5 6 6 7 import { setConfig } from '../../../utils/config'; ··· 83 84 '@hey-api/typescript': { 84 85 api: { 85 86 getId: () => '', 87 + schemaToType: () => ({}) as ts.TypeNode, 86 88 }, 87 89 config: { 88 90 enums: 'javascript',
+2
packages/openapi-ts/src/generate/legacy/__tests__/output.test.ts
··· 1 1 import fs from 'node:fs'; 2 2 3 + import type ts from 'typescript'; 3 4 import { describe, expect, it, vi } from 'vitest'; 4 5 5 6 import type { Client } from '../../../types/client'; ··· 97 98 '@hey-api/typescript': { 98 99 api: { 99 100 getId: () => '', 101 + schemaToType: () => ({}) as ts.TypeNode, 100 102 }, 101 103 config: { 102 104 enums: 'javascript',
+2
packages/openapi-ts/src/openApi/common/parser/__tests__/type.test.ts
··· 1 + import type ts from 'typescript'; 1 2 import { describe, expect, it, vi } from 'vitest'; 2 3 3 4 import type { Config } from '../../../../types/config'; ··· 9 10 '@hey-api/typescript': { 10 11 api: { 11 12 getId: () => '', 13 + schemaToType: () => ({}) as ts.TypeNode, 12 14 }, 13 15 config: { 14 16 name: '@hey-api/typescript',
+2
packages/openapi-ts/src/openApi/v3/parser/__tests__/getModel.test.ts
··· 1 + import type ts from 'typescript'; 1 2 import { describe, expect, it, vi } from 'vitest'; 2 3 3 4 import type { Config } from '../../../../types/config'; ··· 11 12 '@hey-api/typescript': { 12 13 api: { 13 14 getId: () => '', 15 + schemaToType: () => ({}) as ts.TypeNode, 14 16 }, 15 17 config: { 16 18 name: '@hey-api/typescript',
+24
packages/openapi-ts/src/plugins/@hey-api/client-core/__tests__/params.test.ts
··· 246 246 { 247 247 args: [ 248 248 { 249 + bar: 2, 250 + baz: 3, 251 + foo: 1, 252 + qux: 4, 253 + }, 254 + ], 255 + config: [ 256 + { 257 + in: 'body', 258 + }, 259 + ], 260 + description: 'positional complex body', 261 + params: { 262 + body: { 263 + bar: 2, 264 + baz: 3, 265 + foo: 1, 266 + qux: 4, 267 + }, 268 + }, 269 + }, 270 + { 271 + args: [ 272 + { 249 273 $body_qux: 4, 250 274 $headers_baz: 3, 251 275 $path_foo: 1,
+10
packages/openapi-ts/src/plugins/@hey-api/client-core/bundle/params.ts
··· 3 3 export type Field = 4 4 | { 5 5 in: Exclude<Slot, 'body'>; 6 + /** 7 + * Field name. This is the name we want the user to see and use. 8 + */ 6 9 key: string; 10 + /** 11 + * Field mapped name. This is the name we want to use in the request. 12 + * If omitted, we use the same value as `key`. 13 + */ 7 14 map?: string; 8 15 } 9 16 | { 10 17 in: Extract<Slot, 'body'>; 18 + /** 19 + * Key isn't required for bodies. 20 + */ 11 21 key?: string; 12 22 map?: string; 13 23 };
+14
packages/openapi-ts/src/plugins/@hey-api/client-core/bundle/types.ts
··· 102 102 */ 103 103 responseValidator?: (data: unknown) => Promise<unknown>; 104 104 } 105 + 106 + type IsExactlyNeverOrNeverUndefined<T> = [T] extends [never] 107 + ? true 108 + : [T] extends [never | undefined] 109 + ? [undefined] extends [T] 110 + ? false 111 + : true 112 + : false; 113 + 114 + export type OmitNever<T extends Record<string, unknown>> = { 115 + [K in keyof T as IsExactlyNeverOrNeverUndefined<T[K]> extends true 116 + ? never 117 + : K]: T[K]; 118 + };
+3
packages/openapi-ts/src/plugins/@hey-api/schemas/__tests__/schemas.test.ts
··· 1 1 import fs from 'node:fs'; 2 2 3 + import type ts from 'typescript'; 3 4 import { describe, expect, it, vi } from 'vitest'; 4 5 5 6 import { client, openApi } from '../../../../generate/__tests__/mocks'; ··· 86 87 '@hey-api/typescript': { 87 88 api: { 88 89 getId: () => '', 90 + schemaToType: () => ({}) as ts.TypeNode, 89 91 }, 90 92 config: { 91 93 enums: 'javascript', ··· 221 223 '@hey-api/typescript': { 222 224 api: { 223 225 getId: () => '', 226 + schemaToType: () => ({}) as ts.TypeNode, 224 227 }, 225 228 config: { 226 229 enums: 'javascript',
+5
packages/openapi-ts/src/plugins/@hey-api/sdk/__tests__/plugin.test.ts
··· 1 1 import fs from 'node:fs'; 2 2 import path from 'node:path'; 3 3 4 + import type ts from 'typescript'; 4 5 import { describe, expect, it, vi } from 'vitest'; 5 6 6 7 import { openApi } from '../../../../generate/__tests__/mocks'; ··· 89 90 '@hey-api/typescript': { 90 91 api: { 91 92 getId: () => '', 93 + schemaToType: () => ({}) as ts.TypeNode, 92 94 }, 93 95 config: { 94 96 name: '@hey-api/typescript', ··· 296 298 '@hey-api/typescript': { 297 299 api: { 298 300 getId: () => '', 301 + schemaToType: () => ({}) as ts.TypeNode, 299 302 }, 300 303 config: { 301 304 name: '@hey-api/typescript', ··· 426 429 '@hey-api/typescript': { 427 430 api: { 428 431 getId: () => '', 432 + schemaToType: () => ({}) as ts.TypeNode, 429 433 }, 430 434 config: { 431 435 name: '@hey-api/typescript', ··· 558 562 '@hey-api/typescript': { 559 563 api: { 560 564 getId: () => '', 565 + schemaToType: () => ({}) as ts.TypeNode, 561 566 }, 562 567 config: { 563 568 name: '@hey-api/typescript',
+1
packages/openapi-ts/src/plugins/@hey-api/sdk/config.ts
··· 12 12 exportFromIndex: true, 13 13 instance: false, 14 14 operationId: true, 15 + params_EXPERIMENTAL: 'default', 15 16 response: 'body', 16 17 responseStyle: 'fields', 17 18 transformer: false,
+229 -27
packages/openapi-ts/src/plugins/@hey-api/sdk/operation.ts
··· 1 1 import type ts from 'typescript'; 2 2 3 3 import { compiler } from '../../../compiler'; 4 - import type { ObjectValue } from '../../../compiler/types'; 4 + import type { FunctionParameter, ObjectValue } from '../../../compiler/types'; 5 5 import { clientApi, clientModulePath } from '../../../generate/client'; 6 6 import type { GeneratedFile } from '../../../generate/file'; 7 7 import { statusCodeToGroup } from '../../../ir/operation'; 8 8 import type { IR } from '../../../ir/types'; 9 9 import { sanitizeNamespaceIdentifier } from '../../../openApi'; 10 + import { ensureValidIdentifier } from '../../../openApi/shared/utils/identifier'; 10 11 import { reservedJavaScriptKeywordsRegExp } from '../../../utils/regexp'; 11 12 import { stringCase } from '../../../utils/stringCase'; 12 13 import { transformClassName } from '../../../utils/transform'; 14 + import type { Field, Fields } from '../client-core/bundle/params'; 13 15 import { clientId, getClientPlugin } from '../client-core/utils'; 14 16 import { 15 17 operationTransformerIrRef, ··· 185 187 return dataImport.name ? `${optionsName}<${dataImport.name}>` : optionsName; 186 188 }; 187 189 190 + type OperationParameters = { 191 + argNames: Array<string>; 192 + fields: Array<Field | Fields>; 193 + parameters: Array<FunctionParameter>; 194 + }; 195 + 196 + export const operationParameters = ({ 197 + file, 198 + isRequiredOptions, 199 + operation, 200 + plugin, 201 + }: { 202 + file: GeneratedFile; 203 + isRequiredOptions: boolean; 204 + operation: IR.OperationObject; 205 + plugin: HeyApiSdkPlugin['Instance']; 206 + }): OperationParameters => { 207 + const result: OperationParameters = { 208 + argNames: [], 209 + fields: [], 210 + parameters: [], 211 + }; 212 + 213 + const pluginTypeScript = plugin.getPlugin('@hey-api/typescript')!; 214 + const client = getClientPlugin(plugin.context.config); 215 + const isNuxtClient = client.name === '@hey-api/client-nuxt'; 216 + 217 + if (plugin.config.params_EXPERIMENTAL === 'experiment') { 218 + const fileTypeScript = plugin.context.file({ id: typesId })!; 219 + 220 + if (operation.parameters?.path) { 221 + for (const key in operation.parameters.path) { 222 + const parameter = operation.parameters.path[key]!; 223 + const name = ensureValidIdentifier(parameter.name); 224 + // TODO: detect duplicates 225 + result.argNames.push(name); 226 + result.fields.push({ 227 + in: 'path', 228 + key: name, 229 + }); 230 + result.parameters.push({ 231 + isRequired: parameter.required, 232 + name, 233 + type: pluginTypeScript.api.schemaToType({ 234 + onRef: (id) => { 235 + file.import({ 236 + asType: true, 237 + module: file.relativePathToFile({ 238 + context: plugin.context, 239 + id: typesId, 240 + }), 241 + name: fileTypeScript.getName(id), 242 + }); 243 + }, 244 + plugin: pluginTypeScript, 245 + schema: parameter.schema, 246 + }), 247 + }); 248 + } 249 + } 250 + 251 + if (operation.parameters?.query) { 252 + for (const key in operation.parameters.query) { 253 + const parameter = operation.parameters.query[key]!; 254 + const name = ensureValidIdentifier(parameter.name); 255 + // TODO: detect duplicates 256 + result.argNames.push(name); 257 + result.fields.push({ 258 + in: 'path', 259 + key: name, 260 + }); 261 + result.parameters.push({ 262 + isRequired: parameter.required, 263 + name, 264 + type: pluginTypeScript.api.schemaToType({ 265 + onRef: (id) => { 266 + file.import({ 267 + asType: true, 268 + module: file.relativePathToFile({ 269 + context: plugin.context, 270 + id: typesId, 271 + }), 272 + name: fileTypeScript.getName(id), 273 + }); 274 + }, 275 + plugin: pluginTypeScript, 276 + schema: parameter.schema, 277 + }), 278 + }); 279 + } 280 + } 281 + 282 + if (operation.body) { 283 + const name = 'body'; 284 + // TODO: detect duplicates 285 + result.argNames.push(name); 286 + result.fields.push({ in: 'body' }); 287 + result.parameters.push({ 288 + isRequired: operation.body.required, 289 + name, 290 + type: pluginTypeScript.api.schemaToType({ 291 + onRef: (id) => { 292 + file.import({ 293 + asType: true, 294 + module: file.relativePathToFile({ 295 + context: plugin.context, 296 + id: typesId, 297 + }), 298 + name: fileTypeScript.getName(id), 299 + }); 300 + }, 301 + plugin: pluginTypeScript, 302 + schema: operation.body.schema, 303 + }), 304 + }); 305 + } 306 + } 307 + 308 + result.parameters.push({ 309 + isRequired: isRequiredOptions, 310 + name: 'options', 311 + // TODO: ensure no path, body, query 312 + type: operationOptionsType({ 313 + file, 314 + operation, 315 + plugin, 316 + throwOnError: isNuxtClient ? undefined : 'ThrowOnError', 317 + }), 318 + }); 319 + 320 + return result; 321 + }; 322 + 188 323 /** 189 324 * Infers `responseType` value from provided response content type. This is 190 325 * an adapted version of `getParseAs()` from the Fetch API client. ··· 243 378 244 379 export const operationStatements = ({ 245 380 isRequiredOptions, 381 + opParameters, 246 382 operation, 247 383 plugin, 248 384 }: { 249 385 isRequiredOptions: boolean; 386 + opParameters: OperationParameters; 250 387 operation: IR.OperationObject; 251 388 plugin: HeyApiSdkPlugin['Instance']; 252 389 }): Array<ts.Statement> => { ··· 299 436 300 437 if (operation.body) { 301 438 switch (operation.body.type) { 302 - case 'form-data': 303 - requestOptions.push({ spread: 'formDataBodySerializer' }); 304 - file.import({ 439 + case 'form-data': { 440 + const imported = file.import({ 305 441 module: clientModulePath({ 306 442 config: plugin.context.config, 307 443 sourceOutput: sdkOutput, 308 444 }), 309 445 name: 'formDataBodySerializer', 310 446 }); 447 + requestOptions.push({ spread: imported.name }); 311 448 break; 449 + } 312 450 case 'json': 313 451 // jsonBodySerializer is the default, no need to specify 314 452 break; ··· 320 458 value: null, 321 459 }); 322 460 break; 323 - case 'url-search-params': 324 - requestOptions.push({ spread: 'urlSearchParamsBodySerializer' }); 325 - file.import({ 461 + case 'url-search-params': { 462 + const imported = file.import({ 326 463 module: clientModulePath({ 327 464 config: plugin.context.config, 328 465 sourceOutput: sdkOutput, 329 466 }), 330 467 name: 'urlSearchParamsBodySerializer', 331 468 }); 469 + requestOptions.push({ spread: imported.name }); 332 470 break; 471 + } 333 472 } 334 473 } 335 474 ··· 450 589 // options must go last to allow overriding parameters above 451 590 requestOptions.push({ spread: 'options' }); 452 591 592 + const statements: Array<ts.Statement> = []; 593 + const hasParams = opParameters.argNames.length; 594 + 595 + if (hasParams) { 596 + const args: Array<unknown> = []; 597 + const config: Array<unknown> = []; 598 + for (const argName of opParameters.argNames) { 599 + args.push(compiler.identifier({ text: argName })); 600 + } 601 + for (const field of opParameters.fields) { 602 + const obj: Array<Record<string, unknown>> = []; 603 + if ('in' in field) { 604 + obj.push({ 605 + key: 'in', 606 + value: field.in, 607 + }); 608 + if (field.key) { 609 + obj.push({ 610 + key: 'key', 611 + value: field.key, 612 + }); 613 + } 614 + if (field.map) { 615 + obj.push({ 616 + key: 'map', 617 + value: field.map, 618 + }); 619 + } 620 + } 621 + config.push(compiler.objectExpression({ obj })); 622 + } 623 + const imported = file.import({ 624 + module: clientModulePath({ 625 + config: plugin.context.config, 626 + sourceOutput: sdkOutput, 627 + }), 628 + name: 'buildClientParams', 629 + }); 630 + statements.push( 631 + compiler.constVariable({ 632 + expression: compiler.callExpression({ 633 + functionName: imported.name, 634 + parameters: [ 635 + compiler.arrayLiteralExpression({ elements: args }), 636 + compiler.arrayLiteralExpression({ elements: config }), 637 + ], 638 + }), 639 + name: 'params', 640 + }), 641 + ); 642 + requestOptions.push({ spread: 'params' }); 643 + } 644 + 453 645 if (operation.body) { 454 646 const parameterContentType = operation.parameters?.header?.['content-type']; 455 647 const hasRequiredContentType = Boolean(parameterContentType?.required); 456 648 // spreading required Content-Type on generated header would throw a TypeScript error 457 649 if (!hasRequiredContentType) { 458 - const spread = compiler.propertyAccessExpression({ 459 - expression: compiler.identifier({ text: 'options' }), 460 - isOptional: !isRequiredOptions, 461 - name: 'headers', 462 - }); 650 + const headersValue: Array<unknown> = [ 651 + { 652 + key: parameterContentType?.name ?? 'Content-Type', 653 + // form-data does not need Content-Type header, browser will set it automatically 654 + value: 655 + operation.body.type === 'form-data' 656 + ? null 657 + : operation.body.mediaType, 658 + }, 659 + { 660 + spread: compiler.propertyAccessExpression({ 661 + expression: compiler.identifier({ text: 'options' }), 662 + isOptional: !isRequiredOptions, 663 + name: 'headers', 664 + }), 665 + }, 666 + ]; 667 + if (hasParams) { 668 + headersValue.push({ 669 + spread: compiler.propertyAccessExpression({ 670 + expression: compiler.identifier({ text: 'params' }), 671 + name: 'headers', 672 + }), 673 + }); 674 + } 463 675 requestOptions.push({ 464 676 key: 'headers', 465 - value: [ 466 - { 467 - key: parameterContentType?.name ?? 'Content-Type', 468 - // form-data does not need Content-Type header, browser will set it automatically 469 - value: 470 - operation.body.type === 'form-data' 471 - ? null 472 - : operation.body.mediaType, 473 - }, 474 - { 475 - spread, 476 - }, 477 - ], 677 + value: headersValue, 478 678 }); 479 679 } 480 680 } ··· 536 736 types.push(compiler.stringLiteral({ text: plugin.config.responseStyle })); 537 737 } 538 738 539 - return [ 739 + statements.push( 540 740 compiler.returnFunctionCall({ 541 741 args: [ 542 742 compiler.objectExpression({ ··· 550 750 }), 551 751 types, 552 752 }), 553 - ]; 753 + ); 754 + 755 + return statements; 554 756 };
+29 -35
packages/openapi-ts/src/plugins/@hey-api/sdk/plugin.ts
··· 12 12 import { nuxtTypeComposable, nuxtTypeDefault, sdkId } from './constants'; 13 13 import { 14 14 operationClasses, 15 - operationOptionsType, 15 + operationParameters, 16 16 operationStatements, 17 17 } from './operation'; 18 18 import { serviceFunctionIdentifier } from './plugin-legacy'; ··· 181 181 return; 182 182 } 183 183 184 + const opParameters = operationParameters({ 185 + file, 186 + isRequiredOptions, 187 + operation, 188 + plugin, 189 + }); 190 + const statements = operationStatements({ 191 + isRequiredOptions, 192 + opParameters, 193 + operation, 194 + plugin, 195 + }); 184 196 const functionNode = compiler.methodDeclaration({ 185 197 accessLevel: 'public', 186 198 comment: createOperationComment({ operation }), 187 199 isStatic: !plugin.config.instance, 188 200 name: entry.methodName, 189 - parameters: [ 190 - { 191 - isRequired: isRequiredOptions, 192 - name: 'options', 193 - type: operationOptionsType({ 194 - file, 195 - operation, 196 - plugin, 197 - throwOnError: isNuxtClient ? undefined : 'ThrowOnError', 198 - }), 199 - }, 200 - ], 201 + parameters: opParameters.parameters, 201 202 returnType: undefined, 202 - statements: operationStatements({ 203 - isRequiredOptions, 204 - operation, 205 - plugin, 206 - }), 203 + statements, 207 204 types: isNuxtClient 208 205 ? [ 209 206 { ··· 348 345 ) 349 346 : undefined, 350 347 }); 348 + const opParameters = operationParameters({ 349 + file, 350 + isRequiredOptions, 351 + operation, 352 + plugin, 353 + }); 354 + const statements = operationStatements({ 355 + isRequiredOptions, 356 + opParameters, 357 + operation, 358 + plugin, 359 + }); 351 360 const node = compiler.constVariable({ 352 361 comment: createOperationComment({ operation }), 353 362 exportConst: true, 354 363 expression: compiler.arrowFunction({ 355 - parameters: [ 356 - { 357 - isRequired: isRequiredOptions, 358 - name: 'options', 359 - type: operationOptionsType({ 360 - file, 361 - operation, 362 - plugin, 363 - throwOnError: isNuxtClient ? undefined : 'ThrowOnError', 364 - }), 365 - }, 366 - ], 364 + parameters: opParameters.parameters, 367 365 returnType: undefined, 368 - statements: operationStatements({ 369 - isRequiredOptions, 370 - operation, 371 - plugin, 372 - }), 366 + statements, 373 367 types: isNuxtClient 374 368 ? [ 375 369 {
+4
packages/openapi-ts/src/plugins/@hey-api/sdk/types.d.ts
··· 95 95 * @default 'sdk' 96 96 */ 97 97 output?: string; 98 + /** @deprecated - this is an experimental feature, do not use */ 99 + params_EXPERIMENTAL?: 'default' | 'experiment'; 98 100 /** 99 101 * **This feature works only with the Fetch client** 100 102 * ··· 268 270 * @default 'sdk' 269 271 */ 270 272 output: string; 273 + /** @deprecated - this is an experimental feature, do not use */ 274 + params_EXPERIMENTAL: 'default' | 'experiment'; 271 275 /** 272 276 * **This feature works only with the Fetch client** 273 277 *
+2
packages/openapi-ts/src/plugins/@hey-api/typescript/__tests__/plugin.test.ts
··· 1 1 import fs from 'node:fs'; 2 2 3 + import type ts from 'typescript'; 3 4 import { describe, expect, it, vi } from 'vitest'; 4 5 5 6 import { openApi } from '../../../../generate/__tests__/mocks'; ··· 86 87 '@hey-api/typescript': { 87 88 api: { 88 89 getId: () => '', 90 + schemaToType: () => ({}) as ts.TypeNode, 89 91 }, 90 92 config: { 91 93 enums: 'javascript',
+12
packages/openapi-ts/src/plugins/@hey-api/typescript/api.ts
··· 1 + import type ts from 'typescript'; 2 + 1 3 import type { IR } from '../../../ir/types'; 4 + import { schemaToType } from './plugin'; 2 5 3 6 type GetIdArgs = 4 7 | { ··· 30 33 31 34 export type Api = { 32 35 getId: (args: GetIdArgs) => string; 36 + schemaToType: ( 37 + args: Omit<Parameters<typeof schemaToType>[0], 'onRef'> & 38 + Pick<Partial<Parameters<typeof schemaToType>[0]>, 'onRef'>, 39 + ) => ts.TypeNode; 33 40 }; 34 41 35 42 export const api: Api = { 36 43 getId, 44 + schemaToType: (args) => 45 + schemaToType({ 46 + onRef: undefined, 47 + ...args, 48 + }), 37 49 };
+45 -19
packages/openapi-ts/src/plugins/@hey-api/typescript/plugin.ts
··· 15 15 import { typesId } from './ref'; 16 16 import type { HeyApiTypeScriptPlugin } from './types'; 17 17 18 + export type OnRef = (id: string) => void; 19 + 18 20 interface SchemaWithType<T extends Required<IR.SchemaObject>['type']> 19 21 extends Omit<IR.SchemaObject, 'type'> { 20 22 type: Extract<Required<IR.SchemaObject>['type'], T>; ··· 92 94 }; 93 95 94 96 const arrayTypeToIdentifier = ({ 97 + onRef, 95 98 plugin, 96 99 schema, 97 100 }: { 101 + onRef: OnRef | undefined; 98 102 plugin: HeyApiTypeScriptPlugin['Instance']; 99 103 schema: SchemaWithType<'array'>; 100 104 }): ts.TypeNode => { ··· 112 116 113 117 for (const item of schema.items!) { 114 118 const type = schemaToType({ 119 + onRef, 115 120 plugin, 116 121 schema: item, 117 122 }); ··· 148 153 }; 149 154 150 155 const enumTypeToIdentifier = ({ 156 + onRef, 151 157 plugin, 152 158 schema, 153 159 }: { 160 + onRef: OnRef | undefined; 154 161 plugin: HeyApiTypeScriptPlugin['Instance']; 155 162 schema: SchemaWithType<'enum'>; 156 163 }): ts.TypeNode => { 157 164 const type = schemaToType({ 165 + onRef, 158 166 plugin, 159 167 schema: { 160 168 ...schema, ··· 190 198 }; 191 199 192 200 const objectTypeToIdentifier = ({ 201 + onRef, 193 202 plugin, 194 203 schema, 195 204 }: { 205 + onRef: OnRef | undefined; 196 206 plugin: HeyApiTypeScriptPlugin['Instance']; 197 207 schema: SchemaWithType<'object'>; 198 208 }): ts.TypeNode => { 199 - const file = plugin.context.file({ id: typesId })!; 200 - 201 209 // TODO: parser - handle constants 202 210 let indexKey: ts.TypeReferenceNode | undefined; 203 211 let indexProperty: Property | undefined; ··· 208 216 209 217 for (const name in schema.properties) { 210 218 const property = schema.properties[name]!; 211 - const propertyType = schemaToType({ 212 - plugin, 213 - schema: property, 214 - }); 219 + const propertyType = schemaToType({ onRef, plugin, schema: property }); 215 220 const isRequired = required.includes(name); 216 221 schemaProperties.push({ 217 222 comment: createSchemaComment({ schema: property }), ··· 247 252 isRequired: !schema.propertyNames, 248 253 name: 'key', 249 254 type: schemaToType({ 255 + onRef, 250 256 plugin, 251 257 schema: 252 258 indexPropertyItems.length === 1 ··· 259 265 }; 260 266 261 267 if (schema.propertyNames?.$ref) { 262 - indexKey = file.getNode( 263 - plugin.api.getId({ type: 'ref', value: schema.propertyNames.$ref }), 264 - ).node; 268 + indexKey = schemaToType({ 269 + onRef, 270 + plugin, 271 + schema: { 272 + $ref: schema.propertyNames.$ref, 273 + }, 274 + }) as ts.TypeReferenceNode; 265 275 } 266 276 } 267 277 ··· 314 324 }; 315 325 316 326 const tupleTypeToIdentifier = ({ 327 + onRef, 317 328 plugin, 318 329 schema, 319 330 }: { 331 + onRef: OnRef | undefined; 320 332 plugin: HeyApiTypeScriptPlugin['Instance']; 321 333 schema: SchemaWithType<'tuple'>; 322 334 }): ts.TypeNode => { ··· 330 342 } else if (schema.items) { 331 343 for (const item of schema.items) { 332 344 const type = schemaToType({ 345 + onRef, 333 346 plugin, 334 347 schema: item, 335 348 }); ··· 343 356 }; 344 357 345 358 const schemaTypeToIdentifier = ({ 359 + onRef, 346 360 plugin, 347 361 schema, 348 362 }: { 363 + onRef: OnRef | undefined; 349 364 plugin: HeyApiTypeScriptPlugin['Instance']; 350 365 schema: IR.SchemaObject; 351 366 }): ts.TypeNode => { 352 367 switch (schema.type as Required<IR.SchemaObject>['type']) { 353 368 case 'array': 354 369 return arrayTypeToIdentifier({ 370 + onRef, 355 371 plugin, 356 372 schema: schema as SchemaWithType<'array'>, 357 373 }); ··· 361 377 }); 362 378 case 'enum': 363 379 return enumTypeToIdentifier({ 380 + onRef, 364 381 plugin, 365 382 schema: schema as SchemaWithType<'enum'>, 366 383 }); ··· 380 397 }); 381 398 case 'object': 382 399 return objectTypeToIdentifier({ 400 + onRef, 383 401 plugin, 384 402 schema: schema as SchemaWithType<'object'>, 385 403 }); ··· 390 408 }); 391 409 case 'tuple': 392 410 return tupleTypeToIdentifier({ 411 + onRef, 393 412 plugin, 394 413 schema: schema as SchemaWithType<'tuple'>, 395 414 }); ··· 534 553 }, 535 554 ); 536 555 const type = schemaToType({ 556 + onRef: undefined, 537 557 plugin, 538 558 schema: data, 539 559 }); ··· 572 592 }, 573 593 ); 574 594 const type = schemaToType({ 595 + onRef: undefined, 575 596 plugin, 576 597 schema: errors, 577 598 }); ··· 626 647 }, 627 648 ); 628 649 const type = schemaToType({ 650 + onRef: undefined, 629 651 plugin, 630 652 schema: responses, 631 653 }); ··· 669 691 }; 670 692 671 693 export const schemaToType = ({ 694 + onRef, 672 695 plugin, 673 696 schema, 674 697 }: { 698 + /** 699 + * Callback that can be used to perform side-effects when we encounter a 700 + * reference. For example, we might want to import the referenced type. 701 + */ 702 + onRef: OnRef | undefined; 675 703 plugin: HeyApiTypeScriptPlugin['Instance']; 676 704 schema: IR.SchemaObject; 677 705 }): ts.TypeNode => { 678 706 const file = plugin.context.file({ id: typesId })!; 679 707 680 708 if (schema.$ref) { 709 + if (onRef) { 710 + onRef(plugin.api.getId({ type: 'ref', value: schema.$ref })); 711 + } 681 712 return file.getNode(plugin.api.getId({ type: 'ref', value: schema.$ref })) 682 713 .node; 683 714 } 684 715 685 716 if (schema.type) { 686 - return schemaTypeToIdentifier({ plugin, schema }); 717 + return schemaTypeToIdentifier({ onRef, plugin, schema }); 687 718 } 688 719 689 720 if (schema.items) { ··· 692 723 const itemTypes: Array<ts.TypeNode> = []; 693 724 694 725 for (const item of schema.items) { 695 - const type = schemaToType({ 696 - plugin, 697 - schema: item, 698 - }); 726 + const type = schemaToType({ onRef, plugin, schema: item }); 699 727 itemTypes.push(type); 700 728 } 701 729 ··· 704 732 : compiler.typeUnionNode({ types: itemTypes }); 705 733 } 706 734 707 - return schemaToType({ 708 - plugin, 709 - schema, 710 - }); 735 + return schemaToType({ onRef, plugin, schema }); 711 736 } 712 737 713 738 // catch-all fallback for failed schemas 714 739 return schemaTypeToIdentifier({ 740 + onRef, 715 741 plugin, 716 742 schema: { 717 743 type: 'unknown', ··· 814 840 schema: IR.SchemaObject; 815 841 }) => { 816 842 const file = plugin.context.file({ id: typesId })!; 817 - const type = schemaToType({ plugin, schema }); 843 + const type = schemaToType({ onRef: undefined, plugin, schema }); 818 844 const name = buildName({ 819 845 config: plugin.config.definitions, 820 846 name: refToName(id),
+3 -4
packages/openapi-ts/src/plugins/@tanstack/query-core/infiniteQueryOptions.ts
··· 5 5 import { clientApi } from '../../../generate/client'; 6 6 import { operationPagination } from '../../../ir/operation'; 7 7 import type { IR } from '../../../ir/types'; 8 - import { schemaToType } from '../../@hey-api/typescript/plugin'; 9 8 import { 10 9 createOperationComment, 11 10 isOperationOptionsRequired, ··· 293 292 294 293 const typeQueryKey = `${queryKeyName}<${typeData}>`; 295 294 const typePageObjectParam = `Pick<${typeQueryKey}[0], 'body' | 'headers' | 'path' | 'query'>`; 296 - const pluginTypeScript = plugin.getPlugin('@hey-api/typescript'); 295 + const pluginTypeScript = plugin.getPlugin('@hey-api/typescript')!; 297 296 // TODO: parser - this is a bit clunky, need to compile type to string because 298 297 // `compiler.returnFunctionCall()` accepts only strings, should be cleaned up 299 - const type = schemaToType({ 300 - plugin: pluginTypeScript as Parameters<typeof schemaToType>[0]['plugin'], 298 + const type = pluginTypeScript.api.schemaToType({ 299 + plugin: pluginTypeScript, 301 300 schema: pagination.schema, 302 301 }); 303 302 const typePageParam = `${tsNodeToString({
+3
packages/openapi-ts/src/utils/__tests__/handlebars.test.ts
··· 1 1 import Handlebars from 'handlebars'; 2 + import type ts from 'typescript'; 2 3 import { describe, expect, it } from 'vitest'; 3 4 4 5 import { setConfig } from '../config'; ··· 82 83 '@hey-api/typescript': { 83 84 api: { 84 85 getId: () => '', 86 + schemaToType: () => ({}) as ts.TypeNode, 85 87 }, 86 88 config: { 87 89 enums: 'javascript', ··· 189 191 '@hey-api/typescript': { 190 192 api: { 191 193 getId: () => '', 194 + schemaToType: () => ({}) as ts.TypeNode, 192 195 }, 193 196 config: { 194 197 enums: 'javascript',
+29 -29
pnpm-lock.yaml
··· 75 75 specifier: 8.4.0 76 76 version: 8.4.0(jiti@2.4.2)(postcss@8.5.4)(typescript@5.8.3)(yaml@2.8.0) 77 77 turbo: 78 - specifier: 2.5.4 79 - version: 2.5.4 78 + specifier: 2.5.5 79 + version: 2.5.5 80 80 typescript: 81 81 specifier: 5.8.3 82 82 version: 5.8.3 ··· 10967 10967 resolution: {integrity: sha512-+68OP1ZzSF84rTckf3FA95vJ1Zlx/uaXyiiKyPd1pA4rZNkpEvDAKmsu1xUSmbF/chCRYgZ6UZkDwC7PmzmAyA==} 10968 10968 engines: {node: ^18.17.0 || >=20.5.0} 10969 10969 10970 - turbo-darwin-64@2.5.4: 10971 - resolution: {integrity: sha512-ah6YnH2dErojhFooxEzmvsoZQTMImaruZhFPfMKPBq8sb+hALRdvBNLqfc8NWlZq576FkfRZ/MSi4SHvVFT9PQ==} 10970 + turbo-darwin-64@2.5.5: 10971 + resolution: {integrity: sha512-RYnTz49u4F5tDD2SUwwtlynABNBAfbyT2uU/brJcyh5k6lDLyNfYKdKmqd3K2ls4AaiALWrFKVSBsiVwhdFNzQ==} 10972 10972 cpu: [x64] 10973 10973 os: [darwin] 10974 10974 10975 - turbo-darwin-arm64@2.5.4: 10976 - resolution: {integrity: sha512-2+Nx6LAyuXw2MdXb7pxqle3MYignLvS7OwtsP9SgtSBaMlnNlxl9BovzqdYAgkUW3AsYiQMJ/wBRb7d+xemM5A==} 10975 + turbo-darwin-arm64@2.5.5: 10976 + resolution: {integrity: sha512-Tk+ZeSNdBobZiMw9aFypQt0DlLsWSFWu1ymqsAdJLuPoAH05qCfYtRxE1pJuYHcJB5pqI+/HOxtJoQ40726Btw==} 10977 10977 cpu: [arm64] 10978 10978 os: [darwin] 10979 10979 10980 - turbo-linux-64@2.5.4: 10981 - resolution: {integrity: sha512-5May2kjWbc8w4XxswGAl74GZ5eM4Gr6IiroqdLhXeXyfvWEdm2mFYCSWOzz0/z5cAgqyGidF1jt1qzUR8hTmOA==} 10980 + turbo-linux-64@2.5.5: 10981 + resolution: {integrity: sha512-2/XvMGykD7VgsvWesZZYIIVXMlgBcQy+ZAryjugoTcvJv8TZzSU/B1nShcA7IAjZ0q7OsZ45uP2cOb8EgKT30w==} 10982 10982 cpu: [x64] 10983 10983 os: [linux] 10984 10984 10985 - turbo-linux-arm64@2.5.4: 10986 - resolution: {integrity: sha512-/2yqFaS3TbfxV3P5yG2JUI79P7OUQKOUvAnx4MV9Bdz6jqHsHwc9WZPpO4QseQm+NvmgY6ICORnoVPODxGUiJg==} 10985 + turbo-linux-arm64@2.5.5: 10986 + resolution: {integrity: sha512-DW+8CjCjybu0d7TFm9dovTTVg1VRnlkZ1rceO4zqsaLrit3DgHnN4to4uwyuf9s2V/BwS3IYcRy+HG9BL596Iw==} 10987 10987 cpu: [arm64] 10988 10988 os: [linux] 10989 10989 10990 - turbo-windows-64@2.5.4: 10991 - resolution: {integrity: sha512-EQUO4SmaCDhO6zYohxIjJpOKRN3wlfU7jMAj3CgcyTPvQR/UFLEKAYHqJOnJtymbQmiiM/ihX6c6W6Uq0yC7mA==} 10990 + turbo-windows-64@2.5.5: 10991 + resolution: {integrity: sha512-q5p1BOy8ChtSZfULuF1BhFMYIx6bevXu4fJ+TE/hyNfyHJIfjl90Z6jWdqAlyaFLmn99X/uw+7d6T/Y/dr5JwQ==} 10992 10992 cpu: [x64] 10993 10993 os: [win32] 10994 10994 10995 - turbo-windows-arm64@2.5.4: 10996 - resolution: {integrity: sha512-oQ8RrK1VS8lrxkLriotFq+PiF7iiGgkZtfLKF4DDKsmdbPo0O9R2mQxm7jHLuXraRCuIQDWMIw6dpcr7Iykf4A==} 10995 + turbo-windows-arm64@2.5.5: 10996 + resolution: {integrity: sha512-AXbF1KmpHUq3PKQwddMGoKMYhHsy5t1YBQO8HZ04HLMR0rWv9adYlQ8kaeQJTko1Ay1anOBFTqaxfVOOsu7+1Q==} 10997 10997 cpu: [arm64] 10998 10998 os: [win32] 10999 10999 11000 - turbo@2.5.4: 11001 - resolution: {integrity: sha512-kc8ZibdRcuWUG1pbYSBFWqmIjynlD8Lp7IB6U3vIzvOv9VG+6Sp8bzyeBWE3Oi8XV5KsQrznyRTBPvrf99E4mA==} 11000 + turbo@2.5.5: 11001 + resolution: {integrity: sha512-eZ7wI6KjtT1eBqCnh2JPXWNUAxtoxxfi6VdBdZFvil0ychCOTxbm7YLRBi1JSt7U3c+u3CLxpoPxLdvr/Npr3A==} 11002 11002 hasBin: true 11003 11003 11004 11004 type-check@0.4.0: ··· 23937 23937 transitivePeerDependencies: 23938 23938 - supports-color 23939 23939 23940 - turbo-darwin-64@2.5.4: 23940 + turbo-darwin-64@2.5.5: 23941 23941 optional: true 23942 23942 23943 - turbo-darwin-arm64@2.5.4: 23943 + turbo-darwin-arm64@2.5.5: 23944 23944 optional: true 23945 23945 23946 - turbo-linux-64@2.5.4: 23946 + turbo-linux-64@2.5.5: 23947 23947 optional: true 23948 23948 23949 - turbo-linux-arm64@2.5.4: 23949 + turbo-linux-arm64@2.5.5: 23950 23950 optional: true 23951 23951 23952 - turbo-windows-64@2.5.4: 23952 + turbo-windows-64@2.5.5: 23953 23953 optional: true 23954 23954 23955 - turbo-windows-arm64@2.5.4: 23955 + turbo-windows-arm64@2.5.5: 23956 23956 optional: true 23957 23957 23958 - turbo@2.5.4: 23958 + turbo@2.5.5: 23959 23959 optionalDependencies: 23960 - turbo-darwin-64: 2.5.4 23961 - turbo-darwin-arm64: 2.5.4 23962 - turbo-linux-64: 2.5.4 23963 - turbo-linux-arm64: 2.5.4 23964 - turbo-windows-64: 2.5.4 23965 - turbo-windows-arm64: 2.5.4 23960 + turbo-darwin-64: 2.5.5 23961 + turbo-darwin-arm64: 2.5.5 23962 + turbo-linux-64: 2.5.5 23963 + turbo-linux-arm64: 2.5.5 23964 + turbo-windows-64: 2.5.5 23965 + turbo-windows-arm64: 2.5.5 23966 23966 23967 23967 type-check@0.4.0: 23968 23968 dependencies: