@itentialopensource/binding-schema

A schema extension for JSON schema that builds upon hyper schema to dynamically bind data into a JSON schema document.

Usage no npm install needed!

<script type="module">
  import itentialopensourceBindingSchema from 'https://cdn.skypack.dev/@itentialopensource/binding-schema';
</script>

README

Binding Schema

A schema extension for JSON schema that builds upon JSON hyper-schema to dynamically bind data into a JSON schema document. This is the home for the binding schema specification and its official JavaScript library.

Notice

This is an early version of a JSON schema extension.

Upcoming Features of Spec:

V1

  • Support authentication via link.headerSchema
  • Binding meta-schema

V2

  • Property dependencies for sequencing and internal/external references
  • Source-to-Target data transformations
  • JSON API Support?
  • GraphQL Support?
  • Further language support with binding schema libraries

Upcoming Features of JavaScript library:

V1

  • Support source.keyPointer as nested object
  • Support source.propertyPath as nested object
  • Support target.propertyPath as nested object
  • Support array usage within JSON pointers
  • Support non-nested object bindings
  • Support keyless/non-array responses bindings
  • Support authentication via link.headerSchema
  • Binding schema validator
  • Docs for how to use tool
  • JSDocs in code
  • Fix index.js unit tests

V2

  • Handle property dependencies
  • Handle transformations