diff --git a/.changeset/brown-paws-design.md b/.changeset/brown-paws-design.md
index a3a5f9f0e..81b00784f 100644
--- a/.changeset/brown-paws-design.md
+++ b/.changeset/brown-paws-design.md
@@ -2,4 +2,10 @@
'@hey-api/openapi-ts': minor
---
-feat: add symbol api
+feat: Symbol API
+
+### Symbol API
+
+This release adds the Symbol API, which significantly reduces the risk of naming collisions. While the generated output should only include formatting changes, this feature introduces breaking changes to the Plugin API that affect custom plugins.
+
+We will update the [custom plugin guide](https://heyapi.dev/openapi-ts/plugins/custom) once the Plugin API becomes more stable.
diff --git a/.changeset/cuddly-bears-deny.md b/.changeset/cuddly-bears-deny.md
index 3082d56aa..6d5449edc 100644
--- a/.changeset/cuddly-bears-deny.md
+++ b/.changeset/cuddly-bears-deny.md
@@ -2,4 +2,4 @@
'@hey-api/codegen-core': minor
---
-feat: expand symbol api
+feat: expand Symbol API
diff --git a/.changeset/thirty-shoes-end.md b/.changeset/thirty-shoes-end.md
index 8acacc334..ab22290d2 100644
--- a/.changeset/thirty-shoes-end.md
+++ b/.changeset/thirty-shoes-end.md
@@ -2,4 +2,8 @@
'@hey-api/openapi-ts': minor
---
-feat(pinia-colada): remove groupByTag option
+feat(pinia-colada): remove `groupByTag` option
+
+### Removed `groupByTag` Pinia Colada option
+
+This option has been removed to provide a more consistent API across plugins. We plan to bring it back in a future release.
diff --git a/docs/.vitepress/config/en.ts b/docs/.vitepress/config/en.ts
index d9e5b4c4b..56be1a690 100644
--- a/docs/.vitepress/config/en.ts
+++ b/docs/.vitepress/config/en.ts
@@ -48,6 +48,10 @@ export default defineConfig({
link: '/openapi-ts/configuration',
text: 'Configuration',
},
+ {
+ link: '/openapi-ts/output',
+ text: 'Output',
+ },
],
text: 'Introduction',
},
@@ -57,35 +61,24 @@ export default defineConfig({
collapsed: true,
items: [
{
- link: '/openapi-ts/output/typescript',
+ link: '/openapi-ts/plugins/typescript',
text: 'TypeScript',
},
{
- link: '/openapi-ts/output/sdk',
+ link: '/openapi-ts/plugins/sdk',
text: 'SDK',
},
{
- link: '/openapi-ts/output/client',
- text: 'Client',
- },
- {
- link: '/openapi-ts/output/json-schema',
- text: 'JSON Schema',
+ link: '/openapi-ts/plugins/transformers',
+ text: 'Transformers',
},
- ],
- link: '/openapi-ts/output',
- text: 'Output',
- },
- {
- collapsed: true,
- items: [
{
- link: '/openapi-ts/plugins/custom',
- text: 'Custom Plugin',
+ link: '/openapi-ts/plugins/schemas',
+ text: 'Schemas',
},
],
- link: '/openapi-ts/plugins',
- text: 'Plugins',
+ link: '/openapi-ts/core',
+ text: 'Core',
},
{
collapsed: true,
@@ -114,10 +107,6 @@ export default defineConfig({
link: '/openapi-ts/clients/effect',
text: 'Effect soon',
},
- {
- link: '/openapi-ts/clients/custom',
- text: 'Custom Client',
- },
{
link: '/openapi-ts/clients/legacy',
text: 'Legacy',
@@ -165,10 +154,6 @@ export default defineConfig({
link: '/openapi-ts/validators',
text: 'Validators',
},
- {
- link: '/openapi-ts/transformers',
- text: 'Transformers',
- },
{
collapsed: true,
items: [
@@ -258,6 +243,20 @@ export default defineConfig({
link: '/openapi-ts/web-frameworks',
text: 'Web Frameworks',
},
+ {
+ collapsed: true,
+ items: [
+ {
+ link: '/openapi-ts/plugins/custom',
+ text: 'Plugin',
+ },
+ {
+ link: '/openapi-ts/clients/custom',
+ text: 'Client',
+ },
+ ],
+ text: 'Custom',
+ },
],
text: 'Guides and Concepts',
},
diff --git a/docs/index.md b/docs/index.md
index 14e98eff6..d1a9d5df9 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -3,7 +3,7 @@ layout: home
hero:
name: One OpenAPI spec.
Infinite outputs.
- tagline: Codegen for JavaScript/TypeScript projects. Trusted over 2,000,000 times each month to generate reliable API clients and SDKs.
+ tagline: Codegen for JavaScript/TypeScript projects. Trusted over 2,500,000 times each month to generate reliable API clients and SDKs.
actions:
- link: /openapi-ts/get-started
text: Get Started
diff --git a/docs/openapi-ts/core.md b/docs/openapi-ts/core.md
new file mode 100644
index 000000000..6bfc69e41
--- /dev/null
+++ b/docs/openapi-ts/core.md
@@ -0,0 +1,22 @@
+---
+title: Core Plugins
+description: Learn about the core plugins provided by Hey API.
+---
+
+# Core
+
+Apart from being responsible for the default output, core plugins are the foundation for other plugins. Instead of creating their own primitives, other plugins can reuse the artifacts from core plugins. This results in a smaller output size and a better user experience.
+
+## Options
+
+Hey API provides the following core plugins.
+
+- [TypeScript](/openapi-ts/plugins/typescript)
+- [SDK](/openapi-ts/plugins/sdk)
+- [Transformers](/openapi-ts/plugins/transformers)
+- [Schemas](/openapi-ts/plugins/schemas)
+
+Need another core plugin? Let us know your interest by [opening an issue](https://github.com/hey-api/openapi-ts/issues).
+
+
+
diff --git a/docs/openapi-ts/get-started.md b/docs/openapi-ts/get-started.md
index 088de98bb..8c151a52b 100644
--- a/docs/openapi-ts/get-started.md
+++ b/docs/openapi-ts/get-started.md
@@ -9,7 +9,7 @@ import { embedProject } from '../embed'
# Get Started
-[@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) is an OpenAPI to TypeScript codegen trusted over 2,000,000 times each month to generate reliable API clients and SDKs. The code is [MIT-licensed](/openapi-ts/license) and free to use. Discover available features below or view our [roadmap](https://github.com/orgs/hey-api/discussions/1495) to learn what's coming next.
+[@hey-api/openapi-ts](https://github.com/hey-api/openapi-ts) is an OpenAPI to TypeScript codegen trusted over 2,500,000 times each month to generate reliable API clients and SDKs. The code is [MIT-licensed](/openapi-ts/license) and free to use. Discover available features below or view our [roadmap](https://github.com/orgs/hey-api/discussions/1495) to learn what's coming next.
### Demo
diff --git a/docs/openapi-ts/migrating.md b/docs/openapi-ts/migrating.md
index 986cd23f3..92075b289 100644
--- a/docs/openapi-ts/migrating.md
+++ b/docs/openapi-ts/migrating.md
@@ -7,9 +7,21 @@ description: Migrating to @hey-api/openapi-ts.
While we try to avoid breaking changes, sometimes it's unavoidable in order to offer you the latest features. This page lists changes that require updates to your code. If you run into a problem with migration, please [open an issue](https://github.com/hey-api/openapi-ts/issues).
+## v0.83.0
+
+### Symbol API
+
+This release adds the Symbol API, which significantly reduces the risk of naming collisions. While the generated output should only include formatting changes, this feature introduces breaking changes to the Plugin API that affect custom plugins.
+
+We will update the [custom plugin guide](/openapi-ts/plugins/custom) once the Plugin API becomes more stable.
+
+### Removed `groupByTag` Pinia Colada option
+
+This option has been removed to provide a more consistent API across plugins. We plan to bring it back in a future release.
+
## v0.82.0
-### Added Hooks API
+### Hooks API
This release adds the [Hooks API](/openapi-ts/configuration/parser#hooks), giving you granular control over which operations generate queries and mutations. As a result, we tightened the previous behavior and POST operations no longer generate queries by default. To preserve the old behavior, add a custom matcher.
diff --git a/docs/openapi-ts/output.md b/docs/openapi-ts/output.md
index 6acd16d8c..174b46601 100644
--- a/docs/openapi-ts/output.md
+++ b/docs/openapi-ts/output.md
@@ -5,11 +5,7 @@ description: Learn about files generated with @hey-api/openapi-ts.
# Output
-Learn about files generated with `@hey-api/openapi-ts`.
-
-::: tip
-Your actual output depends on your Hey API configuration. It may contain a different number of files and their contents might differ.
-:::
+Every generated file in your output folder is created by a plugin. This page describes the default output, but similar logic applies to all plugins.
## Overview
@@ -30,13 +26,41 @@ my-app/
└── package.json
```
-Each file is an artifact generated by a Hey API plugin. This is the default output, we will cover customizing it in this section. These files also form the base for third-party plugins.
+Your actual output depends on your Hey API configuration. It may contain a different number of files and their contents might differ.
Let's go through each file in the `src/client` folder and explain what it looks like, what it does, and how to use it.
-## Index
+## Client
+
+`client.gen.ts` is generated by [client plugins](/openapi-ts/clients). If you choose to generate SDKs (enabled by default), we use the Fetch client unless specified otherwise.
+
+::: code-group
+
+```ts [client.gen.ts]
+import { createClient, createConfig } from './client';
+
+export const client = createClient(createConfig());
+```
+
+:::
+
+The contents of this file are consumed by SDKs, but you can also import `client` in your application to perform additional configuration or send manual requests.
+
+### Bundle
+
+Client plugins provide their bundles inside `client` and `core` folders. The contents of these folders don't depend on the provided input. Everything inside these folders serves as a scaffolding so the generated code can make HTTP requests.
+
+## TypeScript
+
+You can learn more on the [TypeScript](/openapi-ts/plugins/typescript) page.
+
+## SDK
+
+You can learn more on the [SDK](/openapi-ts/plugins/sdk) page.
+
+## Barrel File
-`index.ts` is the only file not generated by a specific plugin. It's meant for convenience and by default, it re-exports every artifact generated by default plugins (TypeScript and SDK).
+`index.ts` is not generated by any specific plugin. It's meant for convenience and by default, it re-exports every artifact generated by default plugins (TypeScript and SDK).
::: code-group
diff --git a/docs/openapi-ts/output/client.md b/docs/openapi-ts/output/client.md
deleted file mode 100644
index f66009f02..000000000
--- a/docs/openapi-ts/output/client.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: Client
-description: Learn about files generated with @hey-api/openapi-ts.
----
-
-# Client
-
-`client.gen.ts` is generated by [client plugins](/openapi-ts/clients). If you choose to generate SDKs (enabled by default), we use the Fetch client unless specified otherwise.
-
-::: code-group
-
-```ts [client.gen.ts]
-import { createClient, createConfig } from './client';
-
-export const client = createClient(createConfig());
-```
-
-:::
-
-The contents of this file are consumed by SDKs, but you can also import `client` in your application to perform additional configuration or send manual requests.
-
-## Bundle
-
-Client plugins provide their bundles inside `client` and `core` folders. The contents of these folders don't depend on the provided input. Everything inside these folders serves as a scaffolding so the generated code can make HTTP requests.
-
-
-
diff --git a/docs/openapi-ts/plugins.md b/docs/openapi-ts/plugins.md
deleted file mode 100644
index 321b66c47..000000000
--- a/docs/openapi-ts/plugins.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: Plugins
-description: Learn about and discover available plugins.
----
-
-# Plugins
-
-Every generated file in your output is created by a plugin. You already learned about the default plugins in [Output](/openapi-ts/output). However, you might be working with third-party packages and wishing to automate more of your boilerplate. This page lists all native and selected community plugins enabling you to do that.
-
-## Core
-
-Apart from being responsible for the default output, core plugins are the foundation for other plugins. Instead of creating their own primitives, other plugins can reuse the artifacts from core plugins. This results in a smaller output size and a better user experience.
-
-- [`@hey-api/schemas`](/openapi-ts/output/json-schema) - export OpenAPI definitions as JavaScript objects
-- [`@hey-api/sdk`](/openapi-ts/output/sdk) - robust and polished SDKs
-- [`@hey-api/transformers`](/openapi-ts/transformers) - response data transformer functions
-- [`@hey-api/typescript`](/openapi-ts/output/typescript) - TypeScript interfaces and enums
-
-## Third Party
-
-These plugins help reduce boilerplate associated with third-party dependencies. Hey API natively supports the most popular packages. Please open an issue on [GitHub](https://github.com/hey-api/openapi-ts/issues) if you'd like us to support your favorite package.
-
-- [`@angular/common`](/openapi-ts/plugins/angular)
-- [`@pinia/colada`](/openapi-ts/plugins/pinia-colada)
-- [`@tanstack/angular-query-experimental`](/openapi-ts/plugins/tanstack-query)
-- [`@tanstack/react-query`](/openapi-ts/plugins/tanstack-query)
-- [`@tanstack/solid-query`](/openapi-ts/plugins/tanstack-query)
-- [`@tanstack/svelte-query`](/openapi-ts/plugins/tanstack-query)
-- [`@tanstack/vue-query`](/openapi-ts/plugins/tanstack-query)
-- [`fastify`](/openapi-ts/plugins/fastify)
-- [`valibot`](/openapi-ts/plugins/valibot)
-- [`zod`](/openapi-ts/plugins/zod)
-
-## Upcoming
-
-The following plugins are planned but not in development yet. You can help us prioritize them by voting on [GitHub](https://github.com/hey-api/openapi-ts/labels/RSVP%20%F0%9F%91%8D%F0%9F%91%8E).
-
-- [Adonis](/openapi-ts/plugins/adonis) Soon
-- [Ajv](/openapi-ts/plugins/ajv) Soon
-- [Arktype](/openapi-ts/plugins/arktype) Soon
-- [Chance](/openapi-ts/plugins/chance) Soon
-- [Express](/openapi-ts/plugins/express) Soon
-- [Faker](/openapi-ts/plugins/faker) Soon
-- [Falso](/openapi-ts/plugins/falso) Soon
-- [Hono](/openapi-ts/plugins/hono) Soon
-- [Joi](/openapi-ts/plugins/joi) Soon
-- [Koa](/openapi-ts/plugins/koa) Soon
-- [MSW](/openapi-ts/plugins/msw) Soon
-- [Nest](/openapi-ts/plugins/nest) Soon
-- [Nock](/openapi-ts/plugins/nock) Soon
-- [Superstruct](/openapi-ts/plugins/superstruct) Soon
-- [Supertest](/openapi-ts/plugins/supertest) Soon
-- [SWR](/openapi-ts/plugins/swr) Soon
-- [TypeBox](/openapi-ts/plugins/typebox) Soon
-- [Yup](/openapi-ts/plugins/yup) Soon
-- [Zustand](/openapi-ts/plugins/zustand) Soon
-
-Don't see your plugin? [Build your own](/openapi-ts/plugins/custom) or let us know your interest by [opening an issue](https://github.com/hey-api/openapi-ts/issues).
-
-
-
diff --git a/docs/openapi-ts/plugins/custom.md b/docs/openapi-ts/plugins/custom.md
index 8cd3dc70b..109eaad3f 100644
--- a/docs/openapi-ts/plugins/custom.md
+++ b/docs/openapi-ts/plugins/custom.md
@@ -9,6 +9,10 @@ description: Learn how to create your own Hey API plugin.
Plugin API is in development. The interface might change before it becomes stable. We encourage you to leave feedback on [GitHub](https://github.com/hey-api/openapi-ts/issues).
:::
+::: warning
+This page is out of date as of [v0.83.0](/openapi-ts/migrating#v0-83-0). If you have an existing custom plugin, we recommend waiting for a more stable Plugin API to avoid multiple plugin rewrites.
+:::
+
You may need to write your own plugin if the available plugins do not suit your needs or you're working on a proprietary use case. This can be easily achieved using the Plugin API. But don't take our word for it – all Hey API plugins are written this way!
## File Structure
diff --git a/docs/openapi-ts/output/json-schema.md b/docs/openapi-ts/plugins/schemas.md
similarity index 100%
rename from docs/openapi-ts/output/json-schema.md
rename to docs/openapi-ts/plugins/schemas.md
diff --git a/docs/openapi-ts/output/sdk.md b/docs/openapi-ts/plugins/sdk.md
similarity index 100%
rename from docs/openapi-ts/output/sdk.md
rename to docs/openapi-ts/plugins/sdk.md
diff --git a/docs/openapi-ts/transformers.md b/docs/openapi-ts/plugins/transformers.md
similarity index 100%
rename from docs/openapi-ts/transformers.md
rename to docs/openapi-ts/plugins/transformers.md
diff --git a/docs/openapi-ts/output/typescript.md b/docs/openapi-ts/plugins/typescript.md
similarity index 100%
rename from docs/openapi-ts/output/typescript.md
rename to docs/openapi-ts/plugins/typescript.md
diff --git a/docs/openapi-ts/plugins/valibot.md b/docs/openapi-ts/plugins/valibot.md
index 9c95d4829..77f6e6f8e 100644
--- a/docs/openapi-ts/plugins/valibot.md
+++ b/docs/openapi-ts/plugins/valibot.md
@@ -60,7 +60,7 @@ export default {
};
```
-Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/output/sdk#validators) page.
+Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/plugins/sdk#validators) page.
## Output
diff --git a/docs/openapi-ts/plugins/zod.md b/docs/openapi-ts/plugins/zod.md
index b5f2dec07..ff0b9dc45 100644
--- a/docs/openapi-ts/plugins/zod.md
+++ b/docs/openapi-ts/plugins/zod.md
@@ -60,7 +60,7 @@ export default {
};
```
-Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/output/sdk#validators) page.
+Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/plugins/sdk#validators) page.
## Output
diff --git a/docs/openapi-ts/plugins/zod/mini.md b/docs/openapi-ts/plugins/zod/mini.md
index dfe96ae0e..e51b143b3 100644
--- a/docs/openapi-ts/plugins/zod/mini.md
+++ b/docs/openapi-ts/plugins/zod/mini.md
@@ -66,7 +66,7 @@ export default {
};
```
-Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/output/sdk#validators) page.
+Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/plugins/sdk#validators) page.
## Output
diff --git a/docs/openapi-ts/plugins/zod/v3.md b/docs/openapi-ts/plugins/zod/v3.md
index ac308174d..65d10b564 100644
--- a/docs/openapi-ts/plugins/zod/v3.md
+++ b/docs/openapi-ts/plugins/zod/v3.md
@@ -66,7 +66,7 @@ export default {
};
```
-Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/output/sdk#validators) page.
+Learn more about data validators in your SDKs on the [SDKs](/openapi-ts/plugins/sdk#validators) page.
## Output
diff --git a/docs/vercel.json b/docs/vercel.json
index aa4626317..2ddb9169c 100644
--- a/docs/vercel.json
+++ b/docs/vercel.json
@@ -15,6 +15,31 @@
"source": "/openapi-ts/custom-plugin",
"destination": "/openapi-ts/plugins/custom",
"permanent": true
+ },
+ {
+ "source": "/openapi-ts/plugins",
+ "destination": "/openapi-ts/core",
+ "permanent": true
+ },
+ {
+ "source": "/openapi-ts/output/json-schema",
+ "destination": "/openapi-ts/plugins/schemas",
+ "permanent": true
+ },
+ {
+ "source": "/openapi-ts/output/sdk",
+ "destination": "/openapi-ts/plugins/sdk",
+ "permanent": true
+ },
+ {
+ "source": "/openapi-ts/transformers",
+ "destination": "/openapi-ts/plugins/transformers",
+ "permanent": true
+ },
+ {
+ "source": "/openapi-ts/output/typescript",
+ "destination": "/openapi-ts/plugins/typescript",
+ "permanent": true
}
],
"trailingSlash": false
--
2.51.2
From 264b54bed18f40854f0b49ed6caeb20d922d33f8 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Wed, 10 Sep 2025 11:39:53 +0000
Subject: [PATCH 02/19] ci: release
---
.changeset/brown-paws-design.md | 11 -----------
.changeset/cuddly-bears-deny.md | 5 -----
.changeset/thirty-shoes-end.md | 9 ---------
packages/codegen-core/CHANGELOG.md | 6 ++++++
packages/codegen-core/package.json | 2 +-
packages/openapi-ts/CHANGELOG.md | 24 ++++++++++++++++++++++++
packages/openapi-ts/package.json | 4 ++--
7 files changed, 33 insertions(+), 28 deletions(-)
delete mode 100644 .changeset/brown-paws-design.md
delete mode 100644 .changeset/cuddly-bears-deny.md
delete mode 100644 .changeset/thirty-shoes-end.md
diff --git a/.changeset/brown-paws-design.md b/.changeset/brown-paws-design.md
deleted file mode 100644
index 81b00784f..000000000
--- a/.changeset/brown-paws-design.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-'@hey-api/openapi-ts': minor
----
-
-feat: Symbol API
-
-### Symbol API
-
-This release adds the Symbol API, which significantly reduces the risk of naming collisions. While the generated output should only include formatting changes, this feature introduces breaking changes to the Plugin API that affect custom plugins.
-
-We will update the [custom plugin guide](https://heyapi.dev/openapi-ts/plugins/custom) once the Plugin API becomes more stable.
diff --git a/.changeset/cuddly-bears-deny.md b/.changeset/cuddly-bears-deny.md
deleted file mode 100644
index 6d5449edc..000000000
--- a/.changeset/cuddly-bears-deny.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-'@hey-api/codegen-core': minor
----
-
-feat: expand Symbol API
diff --git a/.changeset/thirty-shoes-end.md b/.changeset/thirty-shoes-end.md
deleted file mode 100644
index ab22290d2..000000000
--- a/.changeset/thirty-shoes-end.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-'@hey-api/openapi-ts': minor
----
-
-feat(pinia-colada): remove `groupByTag` option
-
-### Removed `groupByTag` Pinia Colada option
-
-This option has been removed to provide a more consistent API across plugins. We plan to bring it back in a future release.
diff --git a/packages/codegen-core/CHANGELOG.md b/packages/codegen-core/CHANGELOG.md
index e33a0681d..eeb500c37 100644
--- a/packages/codegen-core/CHANGELOG.md
+++ b/packages/codegen-core/CHANGELOG.md
@@ -1,5 +1,11 @@
# @hey-api/codegen-core
+## 0.1.0
+
+### Minor Changes
+
+- feat: expand Symbol API ([#2582](https://github.com/hey-api/openapi-ts/pull/2582)) ([`10aea89`](https://github.com/hey-api/openapi-ts/commit/10aea8910771ff72ef9b08d4eacdd6b028833c4c)) by [@mrlubos](https://github.com/mrlubos)
+
## 0.0.1
### Patch Changes
diff --git a/packages/codegen-core/package.json b/packages/codegen-core/package.json
index fb88150bd..de2c656e7 100644
--- a/packages/codegen-core/package.json
+++ b/packages/codegen-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@hey-api/codegen-core",
- "version": "0.0.1",
+ "version": "0.1.0",
"description": "🧱 TypeScript framework for generating structured, multi-file source code from abstract syntax trees.",
"homepage": "https://heyapi.dev/",
"repository": {
diff --git a/packages/openapi-ts/CHANGELOG.md b/packages/openapi-ts/CHANGELOG.md
index e4fd2042f..149789736 100644
--- a/packages/openapi-ts/CHANGELOG.md
+++ b/packages/openapi-ts/CHANGELOG.md
@@ -1,5 +1,29 @@
# @hey-api/openapi-ts
+## 0.83.0
+
+### Minor Changes
+
+- feat: Symbol API
+
+### Symbol API
+
+This release adds the Symbol API, which significantly reduces the risk of naming collisions. While the generated output should only include formatting changes, this feature introduces breaking changes to the Plugin API that affect custom plugins.
+
+We will update the [custom plugin guide](https://heyapi.dev/openapi-ts/plugins/custom) once the Plugin API becomes more stable. ([#2582](https://github.com/hey-api/openapi-ts/pull/2582)) ([`10aea89`](https://github.com/hey-api/openapi-ts/commit/10aea8910771ff72ef9b08d4eacdd6b028833c4c)) by [@mrlubos](https://github.com/mrlubos)
+
+- feat(pinia-colada): remove `groupByTag` option
+
+### Removed `groupByTag` Pinia Colada option
+
+This option has been removed to provide a more consistent API across plugins. We plan to bring it back in a future release. ([#2582](https://github.com/hey-api/openapi-ts/pull/2582)) ([`10aea89`](https://github.com/hey-api/openapi-ts/commit/10aea8910771ff72ef9b08d4eacdd6b028833c4c)) by [@mrlubos](https://github.com/mrlubos)
+
+### Patch Changes
+
+### Updated Dependencies:
+
+- @hey-api/codegen-core@0.1.0
+
## 0.82.5
### Patch Changes
diff --git a/packages/openapi-ts/package.json b/packages/openapi-ts/package.json
index 81a8e54d6..0efd71b5f 100644
--- a/packages/openapi-ts/package.json
+++ b/packages/openapi-ts/package.json
@@ -1,6 +1,6 @@
{
"name": "@hey-api/openapi-ts",
- "version": "0.82.5",
+ "version": "0.83.0",
"description": "🚀 The OpenAPI to TypeScript codegen. Generate clients, SDKs, validators, and more.",
"homepage": "https://heyapi.dev/",
"repository": {
@@ -88,7 +88,7 @@
"node": "^18.18.0 || ^20.9.0 || >=22.10.0"
},
"dependencies": {
- "@hey-api/codegen-core": "workspace:^0.0.1",
+ "@hey-api/codegen-core": "workspace:^0.1.0",
"@hey-api/json-schema-ref-parser": "1.1.0",
"ansi-colors": "4.1.3",
"c12": "2.0.1",
--
2.51.2
From 7124cd764b69b04f9bd22fcf5f42b02cdeccae89 Mon Sep 17 00:00:00 2001
From: mrlubos <12529395+mrlubos@users.noreply.github.com>
Date: Wed, 10 Sep 2025 11:41:04 +0000
Subject: [PATCH 03/19] chore: update lock file
---
pnpm-lock.yaml | 241 ++-----------------------------------------------
1 file changed, 6 insertions(+), 235 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 64575ba99..4cd86ec6c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1174,7 +1174,7 @@ importers:
packages/openapi-ts:
dependencies:
'@hey-api/codegen-core':
- specifier: workspace:^0.0.1
+ specifier: workspace:^0.1.0
version: link:../codegen-core
'@hey-api/json-schema-ref-parser':
specifier: 1.1.0
@@ -1257,7 +1257,7 @@ importers:
version: 3.3.2
nuxt:
specifier: 3.14.1592
- version: 3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))
+ version: 3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))
prettier:
specifier: 3.4.2
version: 3.4.2
@@ -17500,16 +17500,6 @@ snapshots:
'@nuxt/devalue@2.0.2': {}
- '@nuxt/devtools-kit@1.7.0(magicast@0.3.5)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))':
- dependencies:
- '@nuxt/kit': 3.15.4(magicast@0.3.5)
- '@nuxt/schema': 3.16.2
- execa: 7.2.0
- vite: 5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)
- transitivePeerDependencies:
- - magicast
- - supports-color
-
'@nuxt/devtools-kit@1.7.0(magicast@0.3.5)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))':
dependencies:
'@nuxt/kit': 3.15.4(magicast@0.3.5)
@@ -17580,53 +17570,6 @@ snapshots:
- utf-8-validate
- vue
- '@nuxt/devtools@1.7.0(rollup@4.50.0)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))(vue@3.5.13(typescript@5.8.3))':
- dependencies:
- '@antfu/utils': 0.7.10
- '@nuxt/devtools-kit': 1.7.0(magicast@0.3.5)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))
- '@nuxt/devtools-wizard': 1.7.0
- '@nuxt/kit': 3.15.4(magicast@0.3.5)
- '@vue/devtools-core': 7.6.8(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))(vue@3.5.13(typescript@5.8.3))
- '@vue/devtools-kit': 7.6.8
- birpc: 0.2.19
- consola: 3.4.2
- cronstrue: 2.59.0
- destr: 2.0.5
- error-stack-parser-es: 0.1.5
- execa: 7.2.0
- fast-npm-meta: 0.2.2
- flatted: 3.3.3
- get-port-please: 3.2.0
- hookable: 5.5.3
- image-meta: 0.2.1
- is-installed-globally: 1.0.0
- launch-editor: 2.11.1
- local-pkg: 0.5.1
- magicast: 0.3.5
- nypm: 0.4.1
- ohash: 1.1.6
- pathe: 1.1.2
- perfect-debounce: 1.0.0
- pkg-types: 1.3.1
- rc9: 2.1.2
- scule: 1.3.0
- semver: 7.7.2
- simple-git: 3.28.0
- sirv: 3.0.1
- tinyglobby: 0.2.10
- unimport: 3.14.6(rollup@4.50.0)
- vite: 5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)
- vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.50.0)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))
- vite-plugin-vue-inspector: 5.3.2(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))
- which: 3.0.1
- ws: 8.18.3
- transitivePeerDependencies:
- - bufferutil
- - rollup
- - supports-color
- - utf-8-validate
- - vue
-
'@nuxt/devtools@1.7.0(rollup@4.50.0)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))':
dependencies:
'@antfu/utils': 0.7.10
@@ -20277,18 +20220,6 @@ snapshots:
dependencies:
'@vue/devtools-kit': 8.0.1
- '@vue/devtools-core@7.6.8(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))(vue@3.5.13(typescript@5.8.3))':
- dependencies:
- '@vue/devtools-kit': 7.6.8
- '@vue/devtools-shared': 7.7.7
- mitt: 3.0.1
- nanoid: 5.1.5
- pathe: 1.1.2
- vite-hot-client: 0.2.4(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))
- vue: 3.5.13(typescript@5.8.3)
- transitivePeerDependencies:
- - vite
-
'@vue/devtools-core@7.6.8(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0))(vue@3.5.13(typescript@5.8.3))':
dependencies:
'@vue/devtools-kit': 7.6.8
@@ -20890,7 +20821,7 @@ snapshots:
axios@1.8.2:
dependencies:
- follow-redirects: 1.15.11
+ follow-redirects: 1.15.11(debug@4.4.1)
form-data: 4.0.4
proxy-from-env: 1.1.0
transitivePeerDependencies:
@@ -22315,7 +22246,7 @@ snapshots:
eslint: 9.17.0(jiti@2.5.1)
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1))
- eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1))
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.17.0(jiti@2.5.1))
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.17.0(jiti@2.5.1))
eslint-plugin-react: 7.37.5(eslint@9.17.0(jiti@2.5.1))
eslint-plugin-react-hooks: 5.2.0(eslint@9.17.0(jiti@2.5.1))
@@ -22349,7 +22280,7 @@ snapshots:
tinyglobby: 0.2.14
unrs-resolver: 1.11.1
optionalDependencies:
- eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1))
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.17.0(jiti@2.5.1))
transitivePeerDependencies:
- supports-color
@@ -22364,7 +22295,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)))(eslint@9.17.0(jiti@2.5.1)):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.29.1(eslint@9.17.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.17.0(jiti@2.5.1)):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -22974,8 +22905,6 @@ snapshots:
dependencies:
tabbable: 6.2.0
- follow-redirects@1.15.11: {}
-
follow-redirects@1.15.11(debug@4.4.1):
optionalDependencies:
debug: 4.4.1
@@ -25249,127 +25178,6 @@ snapshots:
- vue-tsc
- xml2js
- nuxt@3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)):
- dependencies:
- '@nuxt/devalue': 2.0.2
- '@nuxt/devtools': 1.7.0(rollup@4.50.0)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1))(vue@3.5.13(typescript@5.8.3))
- '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.50.0)
- '@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.50.0)
- '@nuxt/telemetry': 2.6.6(magicast@0.3.5)
- '@nuxt/vite-builder': 3.14.1592(@types/node@22.10.5)(eslint@9.17.0(jiti@2.5.1))(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))
- '@unhead/dom': 1.11.20
- '@unhead/shared': 1.11.20
- '@unhead/ssr': 1.11.20
- '@unhead/vue': 1.11.20(vue@3.5.13(typescript@5.8.3))
- '@vue/shared': 3.5.20
- acorn: 8.14.0
- c12: 2.0.1(magicast@0.3.5)
- chokidar: 4.0.3
- compatx: 0.1.8
- consola: 3.4.2
- cookie-es: 1.2.2
- defu: 6.1.4
- destr: 2.0.5
- devalue: 5.3.2
- errx: 0.1.0
- esbuild: 0.24.2
- escape-string-regexp: 5.0.0
- estree-walker: 3.0.3
- globby: 14.1.0
- h3: 1.15.4
- hookable: 5.5.3
- ignore: 6.0.2
- impound: 0.2.2(rollup@4.50.0)
- jiti: 2.5.1
- klona: 2.0.6
- knitwork: 1.2.0
- magic-string: 0.30.18
- mlly: 1.7.4
- nanotar: 0.1.1
- nitropack: 2.12.4(@netlify/blobs@9.1.2)(encoding@0.1.13)
- nuxi: 3.28.0
- nypm: 0.3.12
- ofetch: 1.4.1
- ohash: 1.1.6
- pathe: 1.1.2
- perfect-debounce: 1.0.0
- pkg-types: 1.3.1
- radix3: 1.1.2
- scule: 1.3.0
- semver: 7.7.2
- std-env: 3.9.0
- strip-literal: 2.1.1
- tinyglobby: 0.2.10
- ufo: 1.6.1
- ultrahtml: 1.6.0
- uncrypto: 0.1.3
- unctx: 2.4.1
- unenv: 1.10.0
- unhead: 1.11.20
- unimport: 3.14.6(rollup@4.50.0)
- unplugin: 1.16.1
- unplugin-vue-router: 0.10.9(rollup@4.50.0)(vue-router@4.5.0(vue@3.5.13(typescript@5.8.3)))(vue@3.5.13(typescript@5.8.3))
- unstorage: 1.17.0(@netlify/blobs@9.1.2)(db0@0.3.2)(ioredis@5.7.0)
- untyped: 1.5.2
- vue: 3.5.13(typescript@5.8.3)
- vue-bundle-renderer: 2.1.2
- vue-devtools-stub: 0.1.0
- vue-router: 4.5.0(vue@3.5.13(typescript@5.8.3))
- optionalDependencies:
- '@parcel/watcher': 2.5.1
- '@types/node': 22.10.5
- transitivePeerDependencies:
- - '@azure/app-configuration'
- - '@azure/cosmos'
- - '@azure/data-tables'
- - '@azure/identity'
- - '@azure/keyvault-secrets'
- - '@azure/storage-blob'
- - '@biomejs/biome'
- - '@capacitor/preferences'
- - '@deno/kv'
- - '@electric-sql/pglite'
- - '@libsql/client'
- - '@netlify/blobs'
- - '@planetscale/database'
- - '@upstash/redis'
- - '@vercel/blob'
- - '@vercel/functions'
- - '@vercel/kv'
- - aws4fetch
- - better-sqlite3
- - bufferutil
- - db0
- - drizzle-orm
- - encoding
- - eslint
- - idb-keyval
- - ioredis
- - less
- - lightningcss
- - magicast
- - meow
- - mysql2
- - optionator
- - rolldown
- - rollup
- - sass
- - sass-embedded
- - sqlite3
- - stylelint
- - stylus
- - sugarss
- - supports-color
- - terser
- - typescript
- - uploadthing
- - utf-8-validate
- - vite
- - vls
- - vti
- - vue-tsc
- - xml2js
-
nuxt@3.14.1592(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@22.10.5)(db0@0.3.2)(encoding@0.1.13)(eslint@9.17.0(jiti@2.5.1))(ioredis@5.7.0)(less@4.2.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.0)(sass@1.85.0)(terser@5.43.1)(typescript@5.8.3)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
dependencies:
'@nuxt/devalue': 2.0.2
@@ -28453,10 +28261,6 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
- vite-hot-client@0.2.4(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)):
- dependencies:
- vite: 5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)
-
vite-hot-client@0.2.4(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
dependencies:
vite: 7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)
@@ -28587,24 +28391,6 @@ snapshots:
- rollup
- supports-color
- vite-plugin-inspect@0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.50.0)(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)):
- dependencies:
- '@antfu/utils': 0.7.10
- '@rollup/pluginutils': 5.2.0(rollup@4.50.0)
- debug: 4.4.1
- error-stack-parser-es: 0.1.5
- fs-extra: 11.3.1
- open: 10.1.2
- perfect-debounce: 1.0.0
- picocolors: 1.1.1
- sirv: 3.0.1
- vite: 5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)
- optionalDependencies:
- '@nuxt/kit': 3.15.4(magicast@0.3.5)
- transitivePeerDependencies:
- - rollup
- - supports-color
-
vite-plugin-inspect@0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.50.0)(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
dependencies:
'@antfu/utils': 0.7.10
@@ -28639,21 +28425,6 @@ snapshots:
- supports-color
- vue
- vite-plugin-vue-inspector@5.3.2(vite@5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)):
- dependencies:
- '@babel/core': 7.28.3
- '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.3)
- '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3)
- '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3)
- '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.3)
- '@vue/compiler-dom': 3.5.20
- kolorist: 1.8.0
- magic-string: 0.30.18
- vite: 5.4.19(@types/node@22.10.5)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)
- transitivePeerDependencies:
- - supports-color
-
vite-plugin-vue-inspector@5.3.2(vite@7.1.2(@types/node@22.10.5)(jiti@2.5.1)(less@4.2.2)(sass@1.85.0)(terser@5.43.1)(yaml@2.8.0)):
dependencies:
'@babel/core': 7.28.3
--
2.51.2
From d98e6fcf7da138269ff6d3927032f4bdea2d6480 Mon Sep 17 00:00:00 2001
From: Lubos
Date: Wed, 10 Sep 2025 20:01:33 +0800
Subject: [PATCH 04/19] chore: add readme to files for published packages
---
packages/codegen-core/package.json | 3 ++-
packages/nuxt/package.json | 2 +-
packages/openapi-ts/package.json | 3 ++-
packages/vite-plugin/package.json | 3 ++-
4 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/packages/codegen-core/package.json b/packages/codegen-core/package.json
index de2c656e7..985202982 100644
--- a/packages/codegen-core/package.json
+++ b/packages/codegen-core/package.json
@@ -43,7 +43,8 @@
},
"files": [
"dist",
- "LICENSE.md"
+ "LICENSE.md",
+ "README.md"
],
"scripts": {
"build": "tsup && pnpm check-exports",
diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json
index 4d69510aa..6d19dc5c7 100644
--- a/packages/nuxt/package.json
+++ b/packages/nuxt/package.json
@@ -44,7 +44,7 @@
"files": [
"dist",
"LICENSE.md",
- "src"
+ "README.md"
],
"scripts": {
"build": "nuxt-module-build build",
diff --git a/packages/openapi-ts/package.json b/packages/openapi-ts/package.json
index 0efd71b5f..0dba90302 100644
--- a/packages/openapi-ts/package.json
+++ b/packages/openapi-ts/package.json
@@ -70,7 +70,8 @@
"files": [
"bin",
"dist",
- "LICENSE.md"
+ "LICENSE.md",
+ "README.md"
],
"scripts": {
"build": "tsup && pnpm check-exports",
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
index c9c21b462..3bd03c09f 100644
--- a/packages/vite-plugin/package.json
+++ b/packages/vite-plugin/package.json
@@ -44,7 +44,8 @@
},
"files": [
"dist",
- "LICENSE.md"
+ "LICENSE.md",
+ "README.md"
],
"scripts": {
"build": "tsup && pnpm check-exports",
--
2.51.2
From 1193c4dce77e0cb02c32b25661f22065a18bd095 Mon Sep 17 00:00:00 2001
From: Lubos
Date: Wed, 10 Sep 2025 20:12:55 +0800
Subject: [PATCH 05/19] fix(config): correctly load user-defined hooks
---
.changeset/odd-fireants-lay.md | 5 +++++
.../main/test/openapi-ts.config.ts | 16 ++++++++++++++--
packages/openapi-ts/src/config/parser.ts | 4 ++++
3 files changed, 23 insertions(+), 2 deletions(-)
create mode 100644 .changeset/odd-fireants-lay.md
diff --git a/.changeset/odd-fireants-lay.md b/.changeset/odd-fireants-lay.md
new file mode 100644
index 000000000..3fa74523f
--- /dev/null
+++ b/.changeset/odd-fireants-lay.md
@@ -0,0 +1,5 @@
+---
+'@hey-api/openapi-ts': patch
+---
+
+fix(config): correctly load user-defined hooks
diff --git a/packages/openapi-ts-tests/main/test/openapi-ts.config.ts b/packages/openapi-ts-tests/main/test/openapi-ts.config.ts
index 3c31fd029..95aa64e58 100644
--- a/packages/openapi-ts-tests/main/test/openapi-ts.config.ts
+++ b/packages/openapi-ts-tests/main/test/openapi-ts.config.ts
@@ -36,9 +36,9 @@ export default defineConfig(() => {
'3.1.x',
// 'invalid',
// 'openai.yaml',
- // 'full.yaml',
+ 'full.yaml',
// 'opencode.yaml',
- 'sdk-instance.yaml',
+ // 'sdk-instance.yaml',
// 'validators-circular-ref-2.yaml',
// 'zoom-video-sdk.json',
),
@@ -98,6 +98,12 @@ export default defineConfig(() => {
},
hooks: {
operations: {
+ getKind() {
+ // noop
+ },
+ isMutation() {
+ // noop
+ },
isQuery: (op) => {
if (op.method === 'post' && op.path === '/search') {
return true;
@@ -227,6 +233,12 @@ export default defineConfig(() => {
}
return undefined;
},
+ isMutation() {
+ // noop
+ },
+ isQuery: () => {
+ // noop
+ },
},
},
},
diff --git a/packages/openapi-ts/src/config/parser.ts b/packages/openapi-ts/src/config/parser.ts
index 66e491486..2e9328ecc 100644
--- a/packages/openapi-ts/src/config/parser.ts
+++ b/packages/openapi-ts/src/config/parser.ts
@@ -40,6 +40,10 @@ export const getParser = (userConfig: UserConfig): Config['parser'] => {
};
if (userConfig.parser) {
+ if (userConfig.parser.hooks) {
+ parser.hooks = userConfig.parser.hooks;
+ }
+
if (userConfig.parser.pagination?.keywords) {
parser.pagination.keywords = userConfig.parser.pagination.keywords;
}
--
2.51.2
From 4d73936137ca8aa286499778b2d51a765edffa69 Mon Sep 17 00:00:00 2001
From: Lubos
Date: Wed, 10 Sep 2025 21:16:39 +0800
Subject: [PATCH 06/19] fix(client): expose all interceptor methods
---
packages/custom-client/src/client.ts | 6 +-
packages/custom-client/src/utils.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../2.0.x/form-data/client/client.gen.ts | 8 +--
.../2.0.x/form-data/client/utils.gen.ts | 72 +++++++++----------
.../common/default-class/client/client.gen.ts | 6 +-
.../common/default-class/client/utils.gen.ts | 72 +++++++++----------
.../common/default/client/client.gen.ts | 6 +-
.../common/default/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../sdk-nested-classes/client/client.gen.ts | 8 +--
.../sdk-nested-classes/client/utils.gen.ts | 72 +++++++++----------
.../@hey-api/sdk/default/client/client.gen.ts | 8 +--
.../@hey-api/sdk/default/client/utils.gen.ts | 72 +++++++++----------
.../sdk/instance/client/client.gen.ts | 8 +--
.../@hey-api/sdk/instance/client/utils.gen.ts | 72 +++++++++----------
.../sdk/throwOnError/client/client.gen.ts | 8 +--
.../sdk/throwOnError/client/utils.gen.ts | 72 +++++++++----------
.../type-format-valibot/client/client.gen.ts | 8 +--
.../type-format-valibot/client/utils.gen.ts | 72 +++++++++----------
.../type-format-zod/client/client.gen.ts | 8 +--
.../type-format-zod/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../colada/asClass/client/client.gen.ts | 8 +--
.../@pinia/colada/asClass/client/utils.gen.ts | 72 +++++++++----------
.../@pinia/colada/fetch/client/client.gen.ts | 8 +--
.../@pinia/colada/fetch/client/utils.gen.ts | 72 +++++++++----------
.../asClass/client/client.gen.ts | 8 +--
.../asClass/client/utils.gen.ts | 72 +++++++++----------
.../fetch/client/client.gen.ts | 8 +--
.../fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../react-query/asClass/client/client.gen.ts | 8 +--
.../react-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../react-query/fetch/client/client.gen.ts | 8 +--
.../react-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../solid-query/asClass/client/client.gen.ts | 8 +--
.../solid-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../solid-query/fetch/client/client.gen.ts | 8 +--
.../solid-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../svelte-query/asClass/client/client.gen.ts | 8 +--
.../svelte-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../svelte-query/fetch/client/client.gen.ts | 8 +--
.../svelte-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../vue-query/asClass/client/client.gen.ts | 8 +--
.../vue-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../vue-query/fetch/client/client.gen.ts | 8 +--
.../vue-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../2.0.x/schema-unknown/client/client.gen.ts | 8 +--
.../2.0.x/schema-unknown/client/utils.gen.ts | 72 +++++++++----------
.../security-api-key/client/client.gen.ts | 8 +--
.../security-api-key/client/utils.gen.ts | 72 +++++++++----------
.../2.0.x/security-basic/client/client.gen.ts | 8 +--
.../2.0.x/security-basic/client/utils.gen.ts | 72 +++++++++----------
.../2.0.x/security-false/client/client.gen.ts | 8 +--
.../2.0.x/security-false/client/utils.gen.ts | 72 +++++++++----------
.../security-oauth2/client/client.gen.ts | 8 +--
.../2.0.x/security-oauth2/client/utils.gen.ts | 72 +++++++++----------
.../servers-base-path/client/client.gen.ts | 8 +--
.../servers-base-path/client/utils.gen.ts | 72 +++++++++----------
.../2.0.x/servers-host/client/client.gen.ts | 8 +--
.../2.0.x/servers-host/client/utils.gen.ts | 72 +++++++++----------
.../2.0.x/servers/client/client.gen.ts | 8 +--
.../2.0.x/servers/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../transforms-read-write/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../common/default-class/client/client.gen.ts | 6 +-
.../common/default-class/client/utils.gen.ts | 72 +++++++++----------
.../common/default/client/client.gen.ts | 6 +-
.../common/default/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../sdk-nested-classes/client/client.gen.ts | 8 +--
.../sdk-nested-classes/client/utils.gen.ts | 72 +++++++++----------
.../@hey-api/sdk/default/client/client.gen.ts | 8 +--
.../@hey-api/sdk/default/client/utils.gen.ts | 72 +++++++++----------
.../sdk/instance/client/client.gen.ts | 8 +--
.../@hey-api/sdk/instance/client/utils.gen.ts | 72 +++++++++----------
.../sdk/throwOnError/client/client.gen.ts | 8 +--
.../sdk/throwOnError/client/utils.gen.ts | 72 +++++++++----------
.../type-format-valibot/client/client.gen.ts | 8 +--
.../type-format-valibot/client/utils.gen.ts | 72 +++++++++----------
.../type-format-zod/client/client.gen.ts | 8 +--
.../type-format-zod/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../colada/asClass/client/client.gen.ts | 8 +--
.../@pinia/colada/asClass/client/utils.gen.ts | 72 +++++++++----------
.../@pinia/colada/fetch/client/client.gen.ts | 8 +--
.../@pinia/colada/fetch/client/utils.gen.ts | 72 +++++++++----------
.../asClass/client/client.gen.ts | 8 +--
.../asClass/client/utils.gen.ts | 72 +++++++++----------
.../fetch/client/client.gen.ts | 8 +--
.../fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../react-query/asClass/client/client.gen.ts | 8 +--
.../react-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../react-query/fetch/client/client.gen.ts | 8 +--
.../react-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../solid-query/asClass/client/client.gen.ts | 8 +--
.../solid-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../solid-query/fetch/client/client.gen.ts | 8 +--
.../solid-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../svelte-query/asClass/client/client.gen.ts | 8 +--
.../svelte-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../svelte-query/fetch/client/client.gen.ts | 8 +--
.../svelte-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../vue-query/asClass/client/client.gen.ts | 8 +--
.../vue-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../vue-query/fetch/client/client.gen.ts | 8 +--
.../vue-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../security-api-key/client/client.gen.ts | 8 +--
.../security-api-key/client/utils.gen.ts | 72 +++++++++----------
.../3.0.x/security-false/client/client.gen.ts | 8 +--
.../3.0.x/security-false/client/utils.gen.ts | 72 +++++++++----------
.../security-http-bearer/client/client.gen.ts | 8 +--
.../security-http-bearer/client/utils.gen.ts | 72 +++++++++----------
.../security-oauth2/client/client.gen.ts | 8 +--
.../3.0.x/security-oauth2/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../3.0.x/servers/client/client.gen.ts | 8 +--
.../3.0.x/servers/client/utils.gen.ts | 72 +++++++++----------
.../transformers-all-of/client/client.gen.ts | 8 +--
.../transformers-all-of/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../transformers-array/client/client.gen.ts | 8 +--
.../transformers-array/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../transforms-read-write/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../base-url-false/client/client.gen.ts | 8 +--
.../base-url-false/client/utils.gen.ts | 72 +++++++++----------
.../base-url-number/client/client.gen.ts | 8 +--
.../base-url-number/client/utils.gen.ts | 72 +++++++++----------
.../base-url-strict/client/client.gen.ts | 8 +--
.../base-url-strict/client/utils.gen.ts | 72 +++++++++----------
.../base-url-string/client/client.gen.ts | 8 +--
.../base-url-string/client/utils.gen.ts | 72 +++++++++----------
.../clean-false/client/client.gen.ts | 8 +--
.../clean-false/client/utils.gen.ts | 72 +++++++++----------
.../client-fetch/default/client/client.gen.ts | 8 +--
.../client-fetch/default/client/utils.gen.ts | 72 +++++++++----------
.../sdk-client-optional/client/client.gen.ts | 8 +--
.../sdk-client-optional/client/utils.gen.ts | 72 +++++++++----------
.../sdk-client-required/client/client.gen.ts | 8 +--
.../sdk-client-required/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../tsconfig-nodenext-sdk/client/utils.gen.ts | 72 +++++++++----------
.../base-url-false/client/client.gen.ts | 8 +--
.../base-url-false/client/utils.gen.ts | 65 +++++++++--------
.../base-url-number/client/client.gen.ts | 8 +--
.../base-url-number/client/utils.gen.ts | 65 +++++++++--------
.../base-url-strict/client/client.gen.ts | 8 +--
.../base-url-strict/client/utils.gen.ts | 65 +++++++++--------
.../base-url-string/client/client.gen.ts | 8 +--
.../base-url-string/client/utils.gen.ts | 65 +++++++++--------
.../clean-false/client/client.gen.ts | 8 +--
.../clean-false/client/utils.gen.ts | 65 +++++++++--------
.../client-next/default/client/client.gen.ts | 8 +--
.../client-next/default/client/utils.gen.ts | 65 +++++++++--------
.../sdk-client-optional/client/client.gen.ts | 8 +--
.../sdk-client-optional/client/utils.gen.ts | 65 +++++++++--------
.../sdk-client-required/client/client.gen.ts | 8 +--
.../sdk-client-required/client/utils.gen.ts | 65 +++++++++--------
.../client/client.gen.ts | 8 +--
.../tsconfig-nodenext-sdk/client/utils.gen.ts | 65 +++++++++--------
.../client-custom/bundle/client/index.cjs | 2 +-
.../client-custom/bundle/client/index.d.cts | 15 ++--
.../client-custom/bundle/client/index.d.ts | 15 ++--
.../my-client/base-url-false/client/client.ts | 18 +++--
.../my-client/base-url-false/client/utils.ts | 65 ++++++++++-------
.../base-url-number/client/client.ts | 18 +++--
.../my-client/base-url-number/client/utils.ts | 65 ++++++++++-------
.../base-url-strict/client/client.ts | 18 +++--
.../my-client/base-url-strict/client/utils.ts | 65 ++++++++++-------
.../base-url-string/client/client.ts | 18 +++--
.../my-client/base-url-string/client/utils.ts | 65 ++++++++++-------
.../clients/my-client/bundle/client/client.ts | 18 +++--
.../clients/my-client/bundle/client/utils.ts | 65 ++++++++++-------
.../my-client/default/client/client.ts | 18 +++--
.../clients/my-client/default/client/utils.ts | 65 ++++++++++-------
.../sdk-client-optional/client/client.ts | 18 +++--
.../sdk-client-optional/client/utils.ts | 65 ++++++++++-------
.../sdk-client-required/client/client.ts | 18 +++--
.../sdk-client-required/client/utils.ts | 65 ++++++++++-------
.../3.1.x/headers/client/client.gen.ts | 8 +--
.../3.1.x/headers/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../3.1.x/pagination-ref/client/client.gen.ts | 8 +--
.../3.1.x/pagination-ref/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../common/default-class/client/client.gen.ts | 6 +-
.../common/default-class/client/utils.gen.ts | 72 +++++++++----------
.../common/default/client/client.gen.ts | 6 +-
.../common/default/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../sdk-nested-classes/client/client.gen.ts | 8 +--
.../sdk-nested-classes/client/utils.gen.ts | 72 +++++++++----------
.../@hey-api/sdk/default/client/client.gen.ts | 8 +--
.../@hey-api/sdk/default/client/utils.gen.ts | 72 +++++++++----------
.../sdk/instance/client/client.gen.ts | 8 +--
.../@hey-api/sdk/instance/client/utils.gen.ts | 72 +++++++++----------
.../sdk/throwOnError/client/client.gen.ts | 8 +--
.../sdk/throwOnError/client/utils.gen.ts | 72 +++++++++----------
.../type-format-valibot/client/client.gen.ts | 8 +--
.../type-format-valibot/client/utils.gen.ts | 72 +++++++++----------
.../type-format-zod/client/client.gen.ts | 8 +--
.../type-format-zod/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../colada/asClass/client/client.gen.ts | 8 +--
.../@pinia/colada/asClass/client/utils.gen.ts | 72 +++++++++----------
.../@pinia/colada/fetch/client/client.gen.ts | 8 +--
.../@pinia/colada/fetch/client/utils.gen.ts | 72 +++++++++----------
.../asClass/client/client.gen.ts | 8 +--
.../asClass/client/utils.gen.ts | 72 +++++++++----------
.../fetch/client/client.gen.ts | 8 +--
.../fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../react-query/asClass/client/client.gen.ts | 8 +--
.../react-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../react-query/fetch/client/client.gen.ts | 8 +--
.../react-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../solid-query/asClass/client/client.gen.ts | 8 +--
.../solid-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../solid-query/fetch/client/client.gen.ts | 8 +--
.../solid-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../svelte-query/asClass/client/client.gen.ts | 8 +--
.../svelte-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../svelte-query/fetch/client/client.gen.ts | 8 +--
.../svelte-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../vue-query/asClass/client/client.gen.ts | 8 +--
.../vue-query/asClass/client/utils.gen.ts | 72 +++++++++----------
.../vue-query/fetch/client/client.gen.ts | 8 +--
.../vue-query/fetch/client/utils.gen.ts | 72 +++++++++----------
.../name-builder/client/client.gen.ts | 8 +--
.../name-builder/client/utils.gen.ts | 72 +++++++++----------
.../security-api-key/client/client.gen.ts | 8 +--
.../security-api-key/client/utils.gen.ts | 72 +++++++++----------
.../3.1.x/security-false/client/client.gen.ts | 8 +--
.../3.1.x/security-false/client/utils.gen.ts | 72 +++++++++----------
.../security-http-bearer/client/client.gen.ts | 8 +--
.../security-http-bearer/client/utils.gen.ts | 72 +++++++++----------
.../security-oauth2/client/client.gen.ts | 8 +--
.../3.1.x/security-oauth2/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../3.1.x/servers/client/client.gen.ts | 8 +--
.../3.1.x/servers/client/utils.gen.ts | 72 +++++++++----------
.../3.1.x/sse-angular/client/client.gen.ts | 6 +-
.../3.1.x/sse-angular/client/utils.gen.ts | 72 +++++++++----------
.../3.1.x/sse-fetch/client/client.gen.ts | 8 +--
.../3.1.x/sse-fetch/client/utils.gen.ts | 72 +++++++++----------
.../3.1.x/sse-next/client/client.gen.ts | 8 +--
.../3.1.x/sse-next/client/utils.gen.ts | 65 +++++++++--------
.../transformers-all-of/client/client.gen.ts | 8 +--
.../transformers-all-of/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../client/utils.gen.ts | 72 +++++++++----------
.../transformers-array/client/client.gen.ts | 8 +--
.../transformers-array/client/utils.gen.ts | 72 +++++++++----------
.../client/client.gen.ts | 8 +--
.../transforms-read-write/client/utils.gen.ts | 72 +++++++++----------
.../@tanstack/meta/client/client.gen.ts | 8 +--
.../@tanstack/meta/client/utils.gen.ts | 72 +++++++++----------
.../v3_no_index/client/client.gen.ts.snap | 8 +--
.../v3_no_index/client/utils.gen.ts.snap | 72 +++++++++----------
.../main/test/custom/client/client.ts | 18 +++--
.../main/test/custom/client/utils.ts | 65 ++++++++++-------
.../@hey-api/client-angular/bundle/client.ts | 6 +-
.../@hey-api/client-angular/bundle/utils.ts | 72 +++++++++----------
.../@hey-api/client-fetch/bundle/client.ts | 8 +--
.../@hey-api/client-fetch/bundle/utils.ts | 72 +++++++++----------
.../@hey-api/client-next/bundle/client.ts | 8 +--
.../@hey-api/client-next/bundle/utils.ts | 65 +++++++++--------
321 files changed, 6004 insertions(+), 6680 deletions(-)
diff --git a/packages/custom-client/src/client.ts b/packages/custom-client/src/client.ts
index 491eab1f6..2a5af631a 100644
--- a/packages/custom-client/src/client.ts
+++ b/packages/custom-client/src/client.ts
@@ -68,7 +68,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -79,7 +79,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -147,7 +147,7 @@ export const createClient = (config: Config = {}): Client => {
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
diff --git a/packages/custom-client/src/utils.ts b/packages/custom-client/src/utils.ts
index e3a448443..7dcdf3765 100644
--- a/packages/custom-client/src/utils.ts
+++ b/packages/custom-client/src/utils.ts
@@ -345,67 +345,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/body-response-text-plain/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/body-response-text-plain/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/body-response-text-plain/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/body-response-text-plain/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/body-response-text-plain/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/body-response-text-plain/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/body-response-text-plain/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/body-response-text-plain/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/form-data/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/form-data/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/form-data/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/form-data/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/form-data/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/form-data/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/form-data/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/form-data/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default-class/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default-class/client/client.gen.ts
index 40c2b65df..1555ca230 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default-class/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default-class/client/client.gen.ts
@@ -131,7 +131,7 @@ export const createClient = (config: Config = {}): Client => {
let req = initialReq;
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
req = await fn(req, opts as any);
}
@@ -152,7 +152,7 @@ export const createClient = (config: Config = {}): Client => {
.pipe(filter((event) => event.type === HttpEventType.Response)),
)) as HttpResponse;
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
result.response = await fn(result.response, req, opts as any);
}
@@ -178,7 +178,7 @@ export const createClient = (config: Config = {}): Client => {
let finalError = error instanceof HttpErrorResponse ? error.error : error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(
finalError,
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default-class/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default-class/client/utils.gen.ts
index 3bb799dff..200bb2941 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default-class/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default-class/client/utils.gen.ts
@@ -340,67 +340,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default/client/client.gen.ts
index 40c2b65df..1555ca230 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default/client/client.gen.ts
@@ -131,7 +131,7 @@ export const createClient = (config: Config = {}): Client => {
let req = initialReq;
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
req = await fn(req, opts as any);
}
@@ -152,7 +152,7 @@ export const createClient = (config: Config = {}): Client => {
.pipe(filter((event) => event.type === HttpEventType.Response)),
)) as HttpResponse;
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
result.response = await fn(result.response, req, opts as any);
}
@@ -178,7 +178,7 @@ export const createClient = (config: Config = {}): Client => {
let finalError = error instanceof HttpErrorResponse ? error.error : error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(
finalError,
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default/client/utils.gen.ts
index 3bb799dff..200bb2941 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@angular/common/default/client/utils.gen.ts
@@ -340,67 +340,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes-instance/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes-instance/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes-instance/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes-instance/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes-instance/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes-instance/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes-instance/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes-instance/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/client-fetch/sdk-nested-classes/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/default/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/instance/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/instance/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/instance/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/instance/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/instance/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/instance/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/instance/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/instance/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/sdk/throwOnError/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-valibot/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-valibot/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-valibot/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-valibot/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-valibot/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-valibot/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-valibot/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-valibot/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-zod/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-zod/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-zod/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-zod/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-zod/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-zod/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-zod/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/transformers/type-format-zod/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-custom-name/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@hey-api/typescript/transforms-read-write-ignore/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/asClass/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/asClass/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/asClass/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/asClass/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/asClass/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/asClass/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/asClass/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/asClass/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors>;
+ response: Interceptors>;
}
-// do not add `Middleware` as return type so we can use _fns internally
-export const createInterceptors = () => ({
+export const createInterceptors = (): Middleware<
+ Req,
+ Res,
+ Err,
+ Options
+> => ({
error: new Interceptors>(),
request: new Interceptors>(),
response: new Interceptors>(),
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/fetch/client/client.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/fetch/client/client.gen.ts
index 6ed36fb89..a439d2748 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/fetch/client/client.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/fetch/client/client.gen.ts
@@ -86,7 +86,7 @@ export const createClient = (config: Config = {}): Client => {
let request = new Request(url, requestInit);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
@@ -97,7 +97,7 @@ export const createClient = (config: Config = {}): Client => {
const _fetch = opts.fetch!;
let response = await _fetch(request);
- for (const fn of interceptors.response._fns) {
+ for (const fn of interceptors.response.fns) {
if (fn) {
response = await fn(response, request, opts);
}
@@ -192,7 +192,7 @@ export const createClient = (config: Config = {}): Client => {
const error = jsonError ?? textError;
let finalError = error;
- for (const fn of interceptors.error._fns) {
+ for (const fn of interceptors.error.fns) {
if (fn) {
finalError = (await fn(error, response, request, opts)) as string;
}
@@ -227,7 +227,7 @@ export const createClient = (config: Config = {}): Client => {
method,
onRequest: async (url, init) => {
let request = new Request(url, init);
- for (const fn of interceptors.request._fns) {
+ for (const fn of interceptors.request.fns) {
if (fn) {
request = await fn(request, opts);
}
diff --git a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/fetch/client/utils.gen.ts b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/fetch/client/utils.gen.ts
index b9ec3cdd6..b4bcc4d19 100644
--- a/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/fetch/client/utils.gen.ts
+++ b/packages/openapi-ts-tests/main/test/__snapshots__/2.0.x/plugins/@pinia/colada/fetch/client/utils.gen.ts
@@ -244,67 +244,61 @@ type ResInterceptor = (
) => Res | Promise;
class Interceptors {
- _fns: (Interceptor | null)[];
+ fns: Array = [];
- constructor() {
- this._fns = [];
+ clear(): void {
+ this.fns = [];
}
- clear() {
- this._fns = [];
- }
-
- getInterceptorIndex(id: number | Interceptor): number {
- if (typeof id === 'number') {
- return this._fns[id] ? id : -1;
- } else {
- return this._fns.indexOf(id);
+ eject(id: number | Interceptor): void {
+ const index = this.getInterceptorIndex(id);
+ if (this.fns[index]) {
+ this.fns[index] = null;
}
}
- exists(id: number | Interceptor) {
+
+ exists(id: number | Interceptor): boolean {
const index = this.getInterceptorIndex(id);
- return !!this._fns[index];
+ return Boolean(this.fns[index]);
}
- eject(id: number | Interceptor) {
- const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = null;
+ getInterceptorIndex(id: number | Interceptor): number {
+ if (typeof id === 'number') {
+ return this.fns[id] ? id : -1;
}
+ return this.fns.indexOf(id);
}
- update(id: number | Interceptor, fn: Interceptor) {
+ update(
+ id: number | Interceptor,
+ fn: Interceptor,
+ ): number | Interceptor | false {
const index = this.getInterceptorIndex(id);
- if (this._fns[index]) {
- this._fns[index] = fn;
+ if (this.fns[index]) {
+ this.fns[index] = fn;
return id;
- } else {
- return false;
}
+ return false;
}
- use(fn: Interceptor) {
- this._fns = [...this._fns, fn];
- return this._fns.length - 1;
+ use(fn: Interceptor): number {
+ this.fns.push(fn);
+ return this.fns.length - 1;
}
}
-// `createInterceptors()` response, meant for external use as it does not
-// expose internals
export interface Middleware {
- error: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
- request: Pick>, 'eject' | 'use'>;
- response: Pick<
- Interceptors>,
- 'eject' | 'use'
- >;
+ error: Interceptors>;
+ request: Interceptors