Skip to content

Commit 2f79f94

Browse files
authored
fix(compilers/openapi): add explicit type args to resolveRef calls (#98)
PR: #98
1 parent 386265e commit 2f79f94

5 files changed

Lines changed: 22 additions & 22 deletions

File tree

compilers/openapi/auth.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func (l *lowerer) lowerSecuritySchemes() {
2323
}
2424
out := make(map[ir.AuthID]ir.AuthScheme, schemes.Len())
2525
for name, rs := range schemes.All() {
26-
ss := resolveRef(rs)
26+
ss := resolveRef[soa.SecurityScheme](rs)
2727
if ss == nil {
2828
continue
2929
}

compilers/openapi/content.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func (l *lowerer) lowerHeaders(headers *sequencedmap.Map[string, *soa.Referenced
139139
}
140140
out := make([]ir.Property, 0, headers.Len())
141141
for name, rh := range headers.All() {
142-
h := resolveRef(rh)
142+
h := resolveRef[soa.Header](rh)
143143
if h == nil {
144144
continue
145145
}
@@ -174,7 +174,7 @@ func (l *lowerer) exampleList(single *yaml.Node, plural *sequencedmap.Map[string
174174
return out
175175
}
176176
for _, re := range plural.All() {
177-
ex := resolveRef(re)
177+
ex := resolveRef[soa.Example](re)
178178
if ex == nil {
179179
continue
180180
}
@@ -194,7 +194,7 @@ func (l *lowerer) exampleList(single *yaml.Node, plural *sequencedmap.Map[string
194194
// so a non-required body stays present with its optionality preserved under
195195
// Extensions plus one info diagnostic (ir-design §7.2 clarification).
196196
func (l *lowerer) lowerRequestBody(op *ir.Operation, hb *ir.HTTPBinding, src *soa.Operation, opPointer string) {
197-
rb := resolveRef(src.GetRequestBody())
197+
rb := resolveRef[soa.RequestBody](src.GetRequestBody())
198198
if rb == nil {
199199
return
200200
}

compilers/openapi/operations.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ func (l *lowerer) lowerPaths(groups *serviceGroups) {
8282
return
8383
}
8484
for path, rp := range paths.All() {
85-
pi := resolveRef(rp)
85+
pi := resolveRef[soa.PathItem](rp)
8686
if pi == nil {
8787
continue
8888
}
@@ -122,7 +122,7 @@ func (l *lowerer) lowerWebhooks(groups *serviceGroups) {
122122
return
123123
}
124124
for name, rp := range hooks.All() {
125-
pi := resolveRef(rp)
125+
pi := resolveRef[soa.PathItem](rp)
126126
if pi == nil {
127127
continue
128128
}
@@ -277,7 +277,7 @@ func (l *lowerer) lowerResponses(src *soa.Operation, opPointer string) ([]ir.Res
277277
var responses []ir.Response
278278
var errs []ir.ErrorCase
279279
for code, rr := range resps.All() {
280-
r := resolveRef(rr)
280+
r := resolveRef[soa.Response](rr)
281281
if r == nil {
282282
continue
283283
}
@@ -289,7 +289,7 @@ func (l *lowerer) lowerResponses(src *soa.Operation, opPointer string) ([]ir.Res
289289
responses = append(responses, l.lowerResponse(r, rng, rptr))
290290
}
291291
}
292-
if def := resolveRef(resps.GetDefault()); def != nil {
292+
if def := resolveRef[soa.Response](resps.GetDefault()); def != nil {
293293
errs = append(errs, l.lowerErrorCase(def, ir.StatusRange{}, opPointer+ptr("responses", "default")))
294294
}
295295
return responses, errs
@@ -382,12 +382,12 @@ func (l *lowerer) lowerCallbacks(src *soa.Operation, opPointer, inferred string)
382382
var callbacks []ir.Callback
383383
var ops []ir.Operation
384384
for cbName, rcb := range cbMap.All() {
385-
cb := resolveRef(rcb)
385+
cb := resolveRef[soa.Callback](rcb)
386386
if cb == nil {
387387
continue
388388
}
389389
for expr, rp := range cb.All() {
390-
pi := resolveRef(rp)
390+
pi := resolveRef[soa.PathItem](rp)
391391
if pi == nil {
392392
continue
393393
}
@@ -450,7 +450,7 @@ func mergeParameters(pathParams, opParams []*soa.ReferencedParameter) []*soa.Ref
450450

451451
// paramKey builds the (in, name) identity of a parameter for merge dedup.
452452
func paramKey(rp *soa.ReferencedParameter) (string, bool) {
453-
p := resolveRef(rp)
453+
p := resolveRef[soa.Parameter](rp)
454454
if p == nil {
455455
return "", false
456456
}

compilers/openapi/operations_test.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ func TestParameters_PathItemMergeOverride(t *testing.T) {
231231
require.NotNil(t, loadedDoc)
232232
var pi *soa.PathItem
233233
for _, rp := range loadedDoc.Doc.GetPaths().All() {
234-
pi = resolveRef(rp)
234+
pi = resolveRef[soa.PathItem](rp)
235235
}
236236
require.NotNil(t, pi)
237237
op := pi.Get()
@@ -241,7 +241,7 @@ func TestParameters_PathItemMergeOverride(t *testing.T) {
241241
assert.Same(t, op.GetParameters()[0], merged[0], "operation parameter overrides the path-item one")
242242
names := map[string]bool{}
243243
for _, p := range merged {
244-
names[resolveRef(p).GetName()] = true
244+
names[resolveRef[soa.Parameter](p).GetName()] = true
245245
}
246246
assert.True(t, names["id"])
247247
assert.True(t, names["trace"])
@@ -539,14 +539,14 @@ func TestResolvers_NilInputs(t *testing.T) {
539539
re *soa.ReferencedExample
540540
rss *soa.ReferencedSecurityScheme
541541
)
542-
assert.Nil(t, resolveRef(rpi))
543-
assert.Nil(t, resolveRef(rr))
544-
assert.Nil(t, resolveRef(rh))
545-
assert.Nil(t, resolveRef(rcb))
546-
assert.Nil(t, resolveRef(rp))
547-
assert.Nil(t, resolveRef(rrb))
548-
assert.Nil(t, resolveRef(re))
549-
assert.Nil(t, resolveRef(rss))
542+
assert.Nil(t, resolveRef[soa.PathItem](rpi))
543+
assert.Nil(t, resolveRef[soa.Response](rr))
544+
assert.Nil(t, resolveRef[soa.Header](rh))
545+
assert.Nil(t, resolveRef[soa.Callback](rcb))
546+
assert.Nil(t, resolveRef[soa.Parameter](rp))
547+
assert.Nil(t, resolveRef[soa.RequestBody](rrb))
548+
assert.Nil(t, resolveRef[soa.Example](re))
549+
assert.Nil(t, resolveRef[soa.SecurityScheme](rss))
550550
_, ok := paramKey(nil)
551551
assert.False(t, ok)
552552
}

compilers/openapi/params.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func (l *lowerer) lowerParameters(params []*soa.ReferencedParameter, opPointer s
2020
logical := make([]ir.Parameter, 0, len(params))
2121
bindings := make([]ir.HTTPParamBinding, 0, len(params))
2222
for i, rp := range params {
23-
p := resolveRef(rp)
23+
p := resolveRef[soa.Parameter](rp)
2424
if p == nil {
2525
continue
2626
}

0 commit comments

Comments
 (0)