Skip to content

Repository files navigation

relationize

Tymly Packagenpm (scoped)CircleCIcodecovCodeFactorDependabot badgeCommitizen friendlyJavaScript Style Guidelicense

Takes a set of JSON Schema definitions and returns a relational database structure capable of storing compliant data.

Install

$ npm install relationize --save

Usage

constrelationize=require('relationize')relationize({source: {paths: [{namespace: 'relationizeTest',path: '/somewhere/json-schemas/live'}]}},function(err,dbStructure){// Done!// - The value of 'dbStructure' takes the same form // as the output generated by the 'pg-info' package.})

API

relationize(options, callback)

Options:

OptionTypeNotes
sourceobjectA source object for configuring where to derive JSON Schema data from.

source object

Examples

  • From files:
{paths: [{namespace: 'relationizeTest',path: '/somewhere/json-schemas/live'}]}
  • From Javascript object:
{schemas: [{namespace: 'relationizeTest',schema: {// JSON schema here}}]}

Properties

propertyTypeNotes
paths[object]An array of objects containing a namespace property (used to separate related tables into schemas_ and path (a file-path from where to load JSON files from - uses glob, so the ** pattern is supported)
schemas[object]An array of objects containing a namespace property (used to separate related tables into schemas_ and schema (a ready-to-use JSON Schema)

Output

Relationize returns objects of the same form as those returned by the pg-info package. The output of Relationize can then be used to generate a relational database (complete with comments, tables, indexes and foreign key constraints) to store your JSON-structured data.

Testing

$ npm test

License

MIT

About

Takes a set of JSON Schema definitions and returns a relational database structure capable of storing compliant data.

Topics

Resources

Stars

2 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages