Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add JSON Dereference block #502

Open
gsambrotta opened this issue Jan 28, 2025 · 0 comments
Open

Add JSON Dereference block #502

gsambrotta opened this issue Jan 28, 2025 · 0 comments
Assignees
Labels
enhancement For the planning of new features, future plans, and things we'd like to do

Comments

@gsambrotta
Copy link
Collaborator

gsambrotta commented Jan 28, 2025

Task
Create a new block which should take accept a JSON Schema document URL as input, and output a JSON Schema document as a string, or a JSON Schema object.

This would use dereferencing, a technique for merging referenced data from definitions that are stored in path addresses, into a merged schema.

How does JSON Schema Dereferencing work?

JSON Schema document dereferencing returns a merged JSON Schema document by following the reference location (from the same document, or an external URL) and replacing the $ref with the resolved content of the definition directly in the schema.

  1. Input: Take JSON Schema URL string (content must point to a valid JSON schema)

  2. Output: string or JSON Object

Example of using a JSON Schema Dereferencing library on a JSON Schema we tried to use:
https://github.com/kendraio/kendraio-gists/blob/main/schema_merge_tool.ts

@gsambrotta gsambrotta added the enhancement For the planning of new features, future plans, and things we'd like to do label Jan 28, 2025
@gsambrotta gsambrotta self-assigned this Jan 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement For the planning of new features, future plans, and things we'd like to do
Projects
None yet
Development

No branches or pull requests

1 participant