Norwegian Puffin Movies

    @wmfs/relationize

    1.28.0 • Public • Published

    relationize

    Tymly Package npm (scoped) CircleCI codecov CodeFactor Dependabot badge Commitizen friendly JavaScript Style Guide license

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

    Install

    $ npm install relationize --save

    Usage

      const relationize = 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:

    Option Type Notes
    source object A 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

    property Type Notes
    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

    Install

    npm i @wmfs/relationize

    DownloadsWeekly Downloads

    268

    Version

    1.28.0

    License

    MIT

    Unpacked Size

    73.4 kB

    Total Files

    17

    Last publish

    Collaborators

    • wmfsbot