Super tiny fast library for convert sql result to json schema
Motivation
Library table-to-schema solves problem with converting 2 dimensional data from sql select to structure json schema.
With simple configuration you can set parameters which split 2 dimensional arrays by 1:N → 1:N → .. → 1:N and return new generated json schema.
Getting started
Installation
Using npm:
npm install table-to-schema --save
Import
You reqire only function (update from last version)
ES5
var tableToSchema = tableToSchema
ES6
Example
//ES6//or ES5var tableToSchema = tableToSchema var resultSql = manufact: 'VV(Skoda)' manufactId: 123 car: 'Octavia' carId: 67 engine: 'Ax154' engineId: 100 manufact: 'VV(Skoda)' manufactId: 123 car: 'Fabia' carId: 68 engine: 'Xe754' engineId: 911 manufact: 'VV(Skoda)' manufactId: 123 car: 'Fabia' carId: 68 engine: 'MP42Q' engineId: 478 var config = distinctKey: 'manufact' childrenName: 'manufacts' keys: 'manufact' 'manufactId' distinctKey: 'car' childrenName: 'carList' keys: 'car' "carId" distinctKey: 'engine' keys: 'engine' "engineId" var results = ; // results (return json schema created from config)// if I'll test it with deep equal of course// return trueresults === manufact: "VV(Skoda)" manufactId: 123 manufacts: car: "Octavia" carId: 67 carList: engine: "Ax154" engineId: 100 car: "Fabia" carId: 68 carList: engine: "Xe754" engineId: 911 engine: "MP42Q" engineId: 478
Configuration function
const results = tableToSchema(config, sqlTableData);
2 params
- config
- source data
Configuration config's parameter
For every dimension of your structure you define new item of config array.
Config object
- DistinctKey → Name of column (unique key for new structure)
- ChildrenName → Name of key value which serve children (relation 1:N) (defualt value is
__childrens
) - Keys → List of visible column name
const config = distinctKey: 'manufact' childrenName: 'manufacts' keys: 'manufact' 'manufactId' distinctKey: 'car' childrenName: 'cars' keys: 'car' "carId"
for real example look to official repo website repo and exec these basic commands
npm install
npm run dev