json-synthesizer

1.0.1 • Public • Published

json-synthesizer

Overview

Program Synthesizer from JSON data sources that produces Transpilable Typed JSON.

Usage

Install the module using npm:

npm install json-synthesizer

To use the synthesizer in node:

// Import synthesize function
const synthesize = require('json-synthesizer');

// Define High Level Specification
const specification = {
  inputOutputExamples: [
    {
      source: 'tag',
      input: {
        // Input JSON
      },
      output: {
        // Restructured Transformed Input
      }
    },
    // ...
  ],
  transforms: [
    {
      source: 'tag',
      transform: function customTransform(json) {
        // Transform JSON
        return transformedJson;
      }
    },
    // ...
  ]
};

// Output Synthesized Typed JSON String
console.log(synthesize(specification));

Exports

// Default Export
module.exports = synthesize;

// VSA Exports
module.exports.vsa = {
  convertJsonToTypedMap,
  convertTypedMapToTypedJson,
  intersects: {
    intersectTypedMaps,
    intersectTypes
  },
  mapTransformsOnJson,
  restructureTypedMaps,
  unions: {
    unionTypedMaps,
    unionTypes
  }
};

// Util Exports
module.exports.util = {
  isType: {
    isArray,
    isNull,
    isObject,
    singleValue
  },
  str
};

Documentation

The main webpage for json-synthesizer can be found at here.

  • Design Documentation is available here.
  • JSDoc Documentation is available here.
  • GitHub Repository is available here.
  • NPM Package is available here.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.0.11latest

Version History

VersionDownloads (Last 7 Days)Published
1.0.11
0.0.21
0.0.10
0.0.00

Package Sidebar

Install

npm i json-synthesizer

Weekly Downloads

2

Version

1.0.1

License

MIT

Unpacked Size

2.52 MB

Total Files

103

Last publish

Collaborators

  • syall