Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ export const baseGoCustomConfigSchema = z.strictObject({
useReaderForBytesRequest: z.boolean().optional(),
useDefaultRequestParameterValues: z.boolean().optional(),
gettersPassByValue: z.boolean().optional(),
dedupeUnionBaseProperties: z.boolean().optional(),
enableWireTests: z.boolean().optional(),
exportAllRequestsAtRoot: z.boolean().optional(),
customReadmeSections: z.array(CustomReadmeSectionSchema).optional(),
Expand Down
1 change: 1 addition & 0 deletions generators/go/cmd/fern-go-model/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ func run(config *cmd.Config, coordinator *coordinator.Client) ([]*generator.File
config.InlineFileProperties,
config.UseReaderForBytesRequest,
config.GettersPassByValue,
config.DedupeUnionBaseProperties,
config.ExportAllRequestsAtRoot,
config.OmitEmptyRequestWrappers,
config.OmitFernHeaders,
Expand Down
1 change: 1 addition & 0 deletions generators/go/cmd/fern-go-sdk/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ func run(config *cmd.Config, coordinator *coordinator.Client) ([]*generator.File
config.InlineFileProperties,
config.UseReaderForBytesRequest,
config.GettersPassByValue,
config.DedupeUnionBaseProperties,
config.ExportAllRequestsAtRoot,
config.OmitEmptyRequestWrappers,
config.OmitFernHeaders,
Expand Down
12 changes: 9 additions & 3 deletions generators/go/internal/cmd/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ type Config struct {
InlineFileProperties bool
UseReaderForBytesRequest bool
GettersPassByValue bool
DedupeUnionBaseProperties bool
ExportAllRequestsAtRoot bool
OmitEmptyRequestWrappers bool
OmitFernHeaders bool
Expand Down Expand Up @@ -178,7 +179,7 @@ func run(fn GeneratorFunc) (retErr error) {
if err := writeFiles(coordinator, config.Writer, config.Module, files); err != nil {
return err
}

// Run the go-v2 SDK generator after files are written to disk, but only for client mode.
// This ensures all files (including internal/caller.go and other templated files)
// are available on disk before the go-v2 generator tries to read them.
Expand All @@ -187,7 +188,7 @@ func run(fn GeneratorFunc) (retErr error) {
return err
}
}

return nil
}

Expand Down Expand Up @@ -236,6 +237,7 @@ func newConfig(configFilename string) (*Config, error) {
EnableExplicitNull: *customConfig.EnableExplicitNull,
UseReaderForBytesRequest: *customConfig.UseReaderForBytesRequest,
GettersPassByValue: *customConfig.GettersPassByValue,
DedupeUnionBaseProperties: *customConfig.DedupeUnionBaseProperties,
ExportAllRequestsAtRoot: *customConfig.ExportAllRequestsAtRoot,
OmitEmptyRequestWrappers: *customConfig.OmitEmptyRequestWrappers,
OmitFernHeaders: *customConfig.OmitFernHeaders,
Expand Down Expand Up @@ -302,6 +304,7 @@ type customConfig struct {
AlwaysSendRequiredProperties *bool `json:"alwaysSendRequiredProperties,omitempty"`
UseReaderForBytesRequest *bool `json:"useReaderForBytesRequest,omitempty"`
GettersPassByValue *bool `json:"gettersPassByValue,omitempty"`
DedupeUnionBaseProperties *bool `json:"dedupeUnionBaseProperties,omitempty"`
ExportAllRequestsAtRoot *bool `json:"exportAllRequestsAtRoot,omitempty"`
OmitEmptyRequestWrappers *bool `json:"omitEmptyRequestWrappers,omitempty"`
OmitFernHeaders *bool `json:"omitFernHeaders,omitempty"`
Expand Down Expand Up @@ -517,6 +520,9 @@ func applyCustomConfigDefaultsForV1(customConfig *customConfig) *customConfig {
if customConfig.GettersPassByValue == nil {
customConfig.GettersPassByValue = gospec.Ptr(false)
}
if customConfig.DedupeUnionBaseProperties == nil {
customConfig.DedupeUnionBaseProperties = gospec.Ptr(false)
}
if customConfig.ExportAllRequestsAtRoot == nil {
customConfig.ExportAllRequestsAtRoot = gospec.Ptr(false)
}
Expand Down Expand Up @@ -583,6 +589,6 @@ func runGoV2Generator(coordinator *coordinator.Client) error {
generatorexec.LogLevelDebug,
"Successfully completed go-v2 SDK generator",
)

return nil
}
3 changes: 3 additions & 0 deletions generators/go/internal/generator/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ type Config struct {
InlineFileProperties bool
UseReaderForBytesRequest bool
GettersPassByValue bool
DedupeUnionBaseProperties bool
ExportAllRequestsAtRoot bool
OmitEmptyRequestWrappers bool
OmitFernHeaders bool
Expand Down Expand Up @@ -75,6 +76,7 @@ func NewConfig(
inlineFileProperties bool,
useReaderForBytesRequest bool,
gettersPassByValue bool,
dedupeUnionBaseProperties bool,
exportAllRequestsAtRoot bool,
omitEmptyRequestWrappers bool,
omitFernHeaders bool,
Expand Down Expand Up @@ -108,6 +110,7 @@ func NewConfig(
InlineFileProperties: inlineFileProperties,
UseReaderForBytesRequest: useReaderForBytesRequest,
GettersPassByValue: gettersPassByValue,
DedupeUnionBaseProperties: dedupeUnionBaseProperties,
ExportAllRequestsAtRoot: exportAllRequestsAtRoot,
OmitEmptyRequestWrappers: omitEmptyRequestWrappers,
OmitFernHeaders: omitFernHeaders,
Expand Down
5 changes: 5 additions & 0 deletions generators/go/internal/generator/file_writer.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ type fileWriter struct {
inlineFileProperties bool
useReaderForBytesRequest bool
gettersPassByValue bool
dedupeUnionBaseProperties bool
exportAllRequestsAtRoot bool
omitEmptyRequestWrappers bool
omitFernHeaders bool
Expand Down Expand Up @@ -144,6 +145,7 @@ func newFileWriter(
inlineFileProperties bool,
useReaderForBytesRequest bool,
gettersPassByValue bool,
dedupeUnionBaseProperties bool,
exportAllRequestsAtRoot bool,
omitEmptyRequestWrappers bool,
omitFernHeaders bool,
Expand Down Expand Up @@ -193,6 +195,7 @@ func newFileWriter(
inlineFileProperties: inlineFileProperties,
useReaderForBytesRequest: useReaderForBytesRequest,
gettersPassByValue: gettersPassByValue,
dedupeUnionBaseProperties: dedupeUnionBaseProperties,
exportAllRequestsAtRoot: exportAllRequestsAtRoot,
omitEmptyRequestWrappers: omitEmptyRequestWrappers,
omitFernHeaders: omitFernHeaders,
Expand Down Expand Up @@ -448,6 +451,7 @@ func (f *fileWriter) GenerateGetterSetterTestFile() (*File, error) {
f.inlineFileProperties,
f.useReaderForBytesRequest,
f.gettersPassByValue,
f.dedupeUnionBaseProperties,
f.exportAllRequestsAtRoot,
f.omitEmptyRequestWrappers,
f.omitFernHeaders,
Expand Down Expand Up @@ -981,6 +985,7 @@ func (f *fileWriter) clone() *fileWriter {
f.inlineFileProperties,
f.useReaderForBytesRequest,
f.gettersPassByValue,
f.dedupeUnionBaseProperties,
f.exportAllRequestsAtRoot,
f.omitEmptyRequestWrappers,
f.omitFernHeaders,
Expand Down
16 changes: 16 additions & 0 deletions generators/go/internal/generator/generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ func (g *Generator) generateModelTypes(ir *fernir.IntermediateRepresentation, mo
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -330,6 +331,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) (
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -358,6 +360,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) (
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -410,6 +413,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) (
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -450,6 +454,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) (
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -481,6 +486,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) (
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -518,6 +524,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) (
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -546,6 +553,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) (
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -577,6 +585,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) (
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -607,6 +616,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) (
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -662,6 +672,7 @@ func (g *Generator) generate(ir *fernir.IntermediateRepresentation, mode Mode) (
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -822,6 +833,7 @@ func (g *Generator) generateRootService(
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -875,6 +887,7 @@ func (g *Generator) generateService(
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -931,6 +944,7 @@ func (g *Generator) generateServiceWithoutEndpoints(
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -982,6 +996,7 @@ func (g *Generator) generateRootServiceWithoutEndpoints(
g.config.InlineFileProperties,
g.config.UseReaderForBytesRequest,
g.config.GettersPassByValue,
g.config.DedupeUnionBaseProperties,
g.config.ExportAllRequestsAtRoot,
g.config.OmitEmptyRequestWrappers,
g.config.OmitFernHeaders,
Expand Down Expand Up @@ -1357,6 +1372,7 @@ func newClientTestFile(
false,
false,
false,
false,
UnionVersionUnspecified,
"",
nil,
Expand Down
Loading
Loading