commits
feat: Propagate OpenAPI extension fields (x-*) to IR and plugins
- Changed parseExtensions to use Record<string, unknown> instead of any
- Added type assertions at call sites for type safety
- Restored SpecificationExtensions to CallbackObject, PathsObject, ResponsesObject
- Kept PathsObject with [path: /${string}] template literal type
- Extended index signatures with | unknown to satisfy TypeScript
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Fix discriminator resolution in nested allOf inheritance hierarchies
- Changed parseExtensions to use any types instead of generic constraints
- Removed SpecificationExtensions from interfaces with index signatures (CallbackObject, PathsObject, ResponsesObject)
- Changed PathsObject index signature from /${string} to string for compatibility
- These changes fix TypeScript errors while preserving extension field support
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
- Replaced unnecessary null checks with non-null assertions (!) in for loops accessing array items
- Changed all [] type syntax to Array<T> or ReadonlyArray<T> format for consistency
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
- Created SpecificationExtensions interface in 3.0.x and 3.1.x spec.d.ts
- Applied to all 27 interfaces that support extensions in each version
- Replaced inline `[extension: x-${string}]: unknown` with extends clause
- Also added SpecificationExtensions to JsonSchemaDraft2020_12
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
- Changed DiscriminatorInfo.values type from string[] to ReadonlyArray<string> to match discriminatorValues return type
- Added null check for array item access to prevent possibly undefined errors
- Changed required array mutation from push to spread operator to work with readonly arrays
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
- Made parseExtensions generic and exportable from schema parsers
- Reused parseExtensions in parameter and operation parsers
- Removed JSDoc comments from extension field index signatures
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Removed getAllDiscriminatorValues and union logic. Now each schema gets only its own discriminator value from the mapping, matching the requested output format.
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Changed logic to include all child discriminator values in a union for intermediate schemas (e.g., CarDto now has $type: 'Car' | 'Volvo' instead of no discriminator). Removed unused helper function.
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Fix: Support moduleResolution "node16" alongside "nodenext"
Added test scenarios for discriminator-allof-nested.json in both 3.0.x and 3.1.x test suites with generated snapshots validating the fix
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Prevent adding discriminator values to schemas that are extended by other schemas in the same discriminator mapping, fixing the never type issue in nested allOf hierarchies
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Add helper function to recursively find discriminators in allOf schemas and update parseAllOf to use it for both OpenAPI 3.0.x and 3.1.x
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
docs: normalize changesets
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
Fix: In axios client, proving NO paramsSerializer should use the `query` option for params
Update axios client behavior to use the `query` option when no `paramsSerializer` is provided.
chore(deps): update dependency tsdown to v0.17.3
chore(deps): update dependency @pinia/colada to v0.18.1
refactor(sdk): clean up instance type so there's no need to cast
fix(output): sanitize reserved names with underscore suffix instead o…
refactor: clean up class name logic
feat(sdk): lazily initialize sub-resources to improve performance
chore(deps): update eslint monorepo to v9.39.1
chore(deps): update vitest monorepo to v3.2.4
chore(deps): update dependency rollup to v4.53.3
chore(deps): update actions/checkout action to v6
chore(deps): update dependency vue to v3.5.25
- Changed parseExtensions to use Record<string, unknown> instead of any
- Added type assertions at call sites for type safety
- Restored SpecificationExtensions to CallbackObject, PathsObject, ResponsesObject
- Kept PathsObject with [path: /${string}] template literal type
- Extended index signatures with | unknown to satisfy TypeScript
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
- Changed parseExtensions to use any types instead of generic constraints
- Removed SpecificationExtensions from interfaces with index signatures (CallbackObject, PathsObject, ResponsesObject)
- Changed PathsObject index signature from /${string} to string for compatibility
- These changes fix TypeScript errors while preserving extension field support
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
- Created SpecificationExtensions interface in 3.0.x and 3.1.x spec.d.ts
- Applied to all 27 interfaces that support extensions in each version
- Replaced inline `[extension: x-${string}]: unknown` with extends clause
- Also added SpecificationExtensions to JsonSchemaDraft2020_12
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>
- Changed DiscriminatorInfo.values type from string[] to ReadonlyArray<string> to match discriminatorValues return type
- Added null check for array item access to prevent possibly undefined errors
- Changed required array mutation from push to spread operator to work with readonly arrays
Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com>