codegen

package
v0.0.0-...-d24950b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package codegen provides the public API for oapi-codegen's experimental code generator.

This package re-exports the core types and functions from the internal implementation, providing a stable public interface for external consumers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Generate

func Generate(doc libopenapi.Document, specData []byte, cfg Configuration) (string, error)

Generate produces Go code from the parsed OpenAPI document. specData is the raw spec bytes used to embed the spec in the generated code.

Types

type Configuration

type Configuration = impl.Configuration

Configuration is the top-level configuration for code generation.

type GenerationOptions

type GenerationOptions = impl.GenerationOptions

GenerationOptions controls which parts of the code are generated.

type ModelsPackage

type ModelsPackage = impl.ModelsPackage

ModelsPackage specifies an external package containing the model types.

type NameMangling

type NameMangling = impl.NameMangling

NameMangling configures how OpenAPI names are converted to Go identifiers.

type NameSubstitutions

type NameSubstitutions = impl.NameSubstitutions

NameSubstitutions allows direct overrides of generated names.

type OutputOptions

type OutputOptions = impl.OutputOptions

OutputOptions controls filtering of operations and schemas.

type RuntimeOutput

type RuntimeOutput = impl.RuntimeOutput

RuntimeOutput holds the generated code for each runtime sub-package.

func GenerateRuntime

func GenerateRuntime(baseImportPath string) (*RuntimeOutput, error)

GenerateRuntime produces standalone Go source files for each of the three runtime sub-packages (types, params, helpers). baseImportPath is the base import path for the runtime module (e.g., "github.com/org/project/runtime").

type RuntimePackageConfig

type RuntimePackageConfig = impl.RuntimePackageConfig

RuntimePackageConfig specifies an external package containing runtime helpers.

type StructTagsConfig

type StructTagsConfig = impl.StructTagsConfig

StructTagsConfig configures how struct tags are generated for fields.

type TypeMapping

type TypeMapping = impl.TypeMapping

TypeMapping allows customizing OpenAPI type/format to Go type mappings.

Directories

Path Synopsis
Package codegen generates Go code from parsed OpenAPI specs.
Package codegen generates Go code from parsed OpenAPI specs.
dce
Package dce implements dead code elimination for generated Go source files.
Package dce implements dead code elimination for generated Go source files.
runtime
Package runtime contains the source-of-truth Go source files for the oapi-codegen runtime helpers.
Package runtime contains the source-of-truth Go source files for the oapi-codegen runtime helpers.
runtimeextract
Package runtimeextract reads Go source files from the embedded runtime FS and extracts code bodies for inlining into generated output or assembling into standalone runtime packages.
Package runtimeextract reads Go source files from the embedded runtime FS and extracts code bodies for inlining into generated output or assembling into standalone runtime packages.
test/_parked/all_of
Package all_of tests allOf schema composition from the V2 test suite.
Package all_of tests allOf schema composition from the V2 test suite.
test/_parked/any_of/inline
Package inline tests inline anyOf schema composition from the V2 test suite.
Package inline tests inline anyOf schema composition from the V2 test suite.
test/_parked/any_of/param
Package param tests anyOf/oneOf in parameters from the V2 test suite.
Package param tests anyOf/oneOf in parameters from the V2 test suite.
test/_parked/issue_1029
Package issue_1029 tests that oneOf with multiple single-value string enums generates valid code.
Package issue_1029 tests that oneOf with multiple single-value string enums generates valid code.
test/_parked/issue_1189
Package issue_1189 tests anyOf/allOf/oneOf composition.
Package issue_1189 tests anyOf/allOf/oneOf composition.
test/_parked/issue_1219
Package issue_1219 tests additionalProperties merge with allOf.
Package issue_1219 tests additionalProperties merge with allOf.
test/_parked/issue_1429
Package issue_1429 tests that enums inside anyOf members are generated.
Package issue_1429 tests that enums inside anyOf members are generated.
test/_parked/issue_1710
Package issue_1710 tests that fields are not lost in nested allOf oneOf structures.
Package issue_1710 tests that fields are not lost in nested allOf oneOf structures.
test/_parked/issue_193
Package issue_193 tests allOf with additionalProperties merging.
Package issue_193 tests allOf with additionalProperties merging.
test/_parked/issue_2102
Package issue_2102 tests that properties defined at the same level as allOf are included.
Package issue_2102 tests that properties defined at the same level as allOf are included.
test/_parked/issue_502
Package issue_502 tests that anyOf with only one ref generates the referenced type.
Package issue_502 tests that anyOf with only one ref generates the referenced type.
test/_parked/issue_697
Package issue_697 tests that properties alongside allOf are included.
Package issue_697 tests that properties alongside allOf are included.
test/_parked/issue_775
Package issue_775 tests that allOf with format specification works correctly.
Package issue_775 tests that allOf with format specification works correctly.
test/_parked/issue_936
Package issue_936 tests recursive/circular schema references.
Package issue_936 tests recursive/circular schema references.
test/callbacks
Package callbacks tests callback initiator and receiver code generation.
Package callbacks tests callback initiator and receiver code generation.
test/components/composition
Package composition tests complex component schemas including additionalProperties, oneOf/anyOf patterns, enums, readOnly/writeOnly, and x-go-name.
Package composition tests complex component schemas including additionalProperties, oneOf/anyOf patterns, enums, readOnly/writeOnly, and x-go-name.
test/components/default_values
Package default_values tests default value handling in generated types.
Package default_values tests default value handling in generated types.
test/components/enums/illegal_names
Package illegal_names tests enum constant generation with edge cases.
Package illegal_names tests enum constant generation with edge cases.
test/components/nullable
Package nullable tests nullable type generation with required/optional combinations.
Package nullable tests nullable type generation with required/optional combinations.
test/components/objects
Package objects tests object schemas with additionalProperties configurations.
Package objects tests object schemas with additionalProperties configurations.
test/components/primitives/aliased_date
Package aliased_date tests aliased date-format types.
Package aliased_date tests aliased date-format types.
test/components/primitives/untyped_properties
Package untyped_properties tests properties with no type field.
Package untyped_properties tests properties with no type field.
test/components/recursive
Package recursive tests that recursive types are handled properly.
Package recursive tests that recursive types are handled properly.
test/components/schemas
Package schemas tests comprehensive schema generation including generic objects, nullable properties, custom formats, extra-tags, deprecated fields, and x-go-type-name.
Package schemas tests comprehensive schema generation including generic objects, nullable properties, custom formats, extra-tags, deprecated fields, and x-go-type-name.
test/extensions/x_go_type/enum_override
Package enum_override tests x-go-type-name on enum types.
Package enum_override tests x-go-type-name on enum types.
test/extensions/x_go_type/object_override
Package object_override tests x-go-type-name on nested object types.
Package object_override tests x-go-type-name on nested object types.
test/extensions/x_go_type/skip_pointer
Package skip_pointer tests x-go-type with skip-optional-pointer and x-go-type-import.
Package skip_pointer tests x-go-type with skip-optional-pointer and x-go-type-import.
test/extensions/x_order
Package x_order tests field ordering via x-order extension.
Package x_order tests field ordering via x-order extension.
test/external_ref/imports
Package imports tests external dependencies with import resolution.
Package imports tests external dependencies with import resolution.
test/external_ref/multi_package_response
Package multi_package_response tests multi-package response schemas.
Package multi_package_response tests multi-package response schemas.
test/external_ref/multi_spec
Package multi_spec tests multi-spec cross-package imports.
Package multi_spec tests multi-spec cross-package imports.
test/external_ref/overlays
Package overlays tests spec overlays and external refs.
Package overlays tests spec overlays and external refs.
test/external_ref/removed_ref
Package removed_ref tests external reference filtering.
Package removed_ref tests external reference filtering.
test/external_ref/response_refs
Package response_refs tests external response refs across specs.
Package response_refs tests external response refs across specs.
test/name_conflict_resolution
Package name_conflict_resolution tests comprehensive type name collision resolution.
Package name_conflict_resolution tests comprehensive type name collision resolution.
test/name_conflict_resolution/head_digit_op_id
Package head_digit_op_id tests operation IDs starting with digits.
Package head_digit_op_id tests operation IDs starting with digits.
test/name_conflict_resolution/inline_identifiers
Package inline_identifiers tests that inline schemas generate valid Go identifiers.
Package inline_identifiers tests that inline schemas generate valid Go identifiers.
test/name_conflict_resolution/underscore_mapping
Package underscore_mapping tests underscore field name mapping.
Package underscore_mapping tests underscore field name mapping.
test/output_options/name_normalizer
Package name_normalizer tests name normalization behavior.
Package name_normalizer tests name normalization behavior.
test/output_options/skip_optional_pointer/arrays
Package arrays tests skip-optional-pointer with arrays and additionalProperties.
Package arrays tests skip-optional-pointer with arrays and additionalProperties.
test/output_options/skip_optional_pointer/containers
Package containers tests skip-optional-pointer on container types.
Package containers tests skip-optional-pointer on container types.
test/output_options/skip_prune
Package skip_prune tests skip-prune configuration for unreferenced schemas.
Package skip_prune tests skip-prune configuration for unreferenced schemas.
test/parameters/all_styles
Package all_styles tests parameter type generation across all locations and styles.
Package all_styles tests parameter type generation across all locations and styles.
test/parameters/encoding
Package encoding tests path parameter escaping and special characters.
Package encoding tests path parameter escaping and special characters.
test/parameters/precedence
Package precedence tests operation-level parameters overriding path-level parameters.
Package precedence tests operation-level parameters overriding path-level parameters.
test/request_response/content_types/custom_json
Package custom_json tests custom JSON content types (application/test+json).
Package custom_json tests custom JSON content types (application/test+json).
test/request_response/content_types/custom_schema
Package custom_schema tests custom content-type schema handling.
Package custom_schema tests custom content-type schema handling.
test/request_response/content_types/multiple
Package multiple tests multiple content types in responses.
Package multiple tests multiple content types in responses.
test/webhooks
Package webhooks tests webhook initiator and receiver code generation.
Package webhooks tests webhook initiator and receiver code generation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL