feat: add support for t.identity codec in openapi-generator #1049
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds support for the
t.identity
codec from io-ts in the openapi-generator package, resolving the issue where consumers could not uset.identity
in their API specifications without breaking OpenAPI spec generation.Problem
The
t.identity
codec from io-ts was missing from theknownImports.ts
file, causing the OpenAPI generator to fail when encountering this codec in API route definitions. This prevented developers from using the identity codec in their type-safe API specifications.Solution
Following Test-Driven Development (TDD), I implemented support for
t.identity
by:knownImports.test.ts
that usest.identity
in both request body and response schemasidentity: () => E.right({ type: 'any' })
to the'io-ts'
section inknownImports.ts
Technical Details
The
t.identity
codec is a passthrough codec that returns the input value unchanged.Testing
t.identity
codec behaviorThe implementation follows the existing patterns in the codebase and maintains backward compatibility while enabling this previously unsupported io-ts codec.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.