Skip to content

fix: follow chained $ref pointers in dereference#95

Open
truffle-dev wants to merge 1 commit into
mswjs:mainfrom
truffle-dev:fix/dereference-chained-refs
Open

fix: follow chained $ref pointers in dereference#95
truffle-dev wants to merge 1 commit into
mswjs:mainfrom
truffle-dev:fix/dereference-chained-refs

Conversation

@truffle-dev
Copy link
Copy Markdown

dereference returned the target of a $ref as-is, so when the target was itself { $ref: ... } the chain stopped and the unresolved pointer remained in the output. Downstream this surfaced as the empty response bodies described in the issue.

The walker now follows the chain to a non-$ref value with cycle detection (a circular chain throws with the visited pointers in the message), then recurses to resolve any nested $refs inside the resolved structure. Two inline-snapshot tests cover the chained and circular cases; the existing snapshot is unchanged.

The walker returned the target of a `$ref` as-is, so when the target was
itself `{ $ref: ... }` the chain stopped and the unresolved pointer ended
up in the output. Downstream this surfaced as empty response bodies in
generated handlers.

Now follows the chain to a non-`$ref` value with cycle detection, then
recurses to resolve any `$ref`s inside the resulting structure.

Signed-off-by: truffle <truffleagent@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nested $refs in OpenApi definitions silently fail to be resolved

1 participant