Skip to content

Commit

Permalink
feat: support patternParameters and typed additionalParameters
Browse files Browse the repository at this point in the history
  • Loading branch information
paragon committed Feb 1, 2025
1 parent 09030eb commit 07790a7
Show file tree
Hide file tree
Showing 26 changed files with 1,364 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ components:
User:
type: object
properties:
# AdditionalProps is a reserved keyword when utilizing additionalProperties
AdditionalProps:
type: integer
additionalProperties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ components:
User:
type: object
properties:
# Pattern0Props is a reserved keyword when utilizing patternProperties
Pattern0Props:
type: integer
patternProperties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ components:
type: integer
x-ogen-properties:
id:
# AdditionalProps is a reserved keyword when utilizing additionalProperties
name: "AdditionalProps"
additionalProperties:
type: string
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ components:
type: integer
x-ogen-properties:
id:
# Pattern0Props is a reserved keyword when utilizing patternProperties
name: "Pattern0Props"
patternProperties:
"^x-.*":
Expand Down
31 changes: 31 additions & 0 deletions _testdata/positive/additionalPropertiesPatternProperties.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
openapi: 3.1.0
info:
title: "REST API"
version: 0.0.1

servers:
- url: "http://localhost:8888"

paths:
/api/alive:
get:
operationId: alive
tags:
- system
parameters:
- name: flexData
in: query
style: deepObject
schema:
type: object
properties:
hello_world:
type: string
patternProperties:
"^pat-.*":
type: string
additionalProperties:
type: string
responses:
"200":
description: ok
2 changes: 1 addition & 1 deletion gen/gen_parameters.go
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ func isParamAllowed(t *ir.Type, root bool, visited map[*ir.Type]struct{}) error
// return nil
return &ErrNotImplemented{"sum type parameter"}
case ir.KindMap:
return &ErrNotImplemented{"object with additionalProperties"}
return nil
case ir.KindAny:
return &ErrNotImplemented{"any type parameter"}
default:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
generator:
features:
enable:
- "debug/example_tests"
- "paths/server"
- "paths/client"
1 change: 1 addition & 0 deletions internal/integration/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ package integration
//
//go:generate go run ../../cmd/ogen -v --clean --config _config/allOf.yml --target test_allof ../../_testdata/positive/allOf.yml
//go:generate go run ../../cmd/ogen -v --clean --config _config/anyOf.yml --target test_anyof ../../_testdata/positive/anyOf.json
//go:generate go run ../../cmd/ogen -v --clean --config _config/additionalPropertiesPatternProperties.yml --target test_additionalpropertiespatternproperties ../../_testdata/positive/additionalPropertiesPatternProperties.yml
//
//go:generate go run ../../cmd/ogen -v --clean -target test_enum_naming ../../_testdata/positive/enum_naming.yml
//go:generate go run ../../cmd/ogen -v --clean -target test_naming_extensions ../../_testdata/positive/naming_extensions.json
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 07790a7

Please sign in to comment.