Giter Club home page Giter Club logo

convert-schema-json's Introduction

Schema To Json

This is a function that converts schema into json. It converts json into json. The type of schema can be function or object.

Installation

npm i convert-schema-json

Usage

import { convert } from 'convert-schema-json';

// Ordinary use
const data = [
    {
        id: 1,
        name: 'Jack'
    },
    {
        id: 2,
        name: 'Tony'
    }
];
const schema = {Id: 'id', Name: 'name'};
const res = convert(data, schema);
// res = [ 
//     { Id: 1, Name: 'Jack' }, 
//     { Id: 2, Name: 'Tony' } 
// ]

// Support schema is a function

const data = [
    {
        id: 1,
        name: 'Jack',
        profession: 'programmer'
    },
    {
        id: 2,
        name: 'Tony',
        profession: 'barber'
    }
]
const schema = {
    Id: 'id',
    NameWithProfession: {
        key: ['name', 'profession'],
        schema: function(name, profession) {
            return `${name}-${profession}`
        }
    }
}
const res = convert(data, schema);
// res = [
//       { Id: 1, NameWithProfession: 'Jack-programmer' },
//       { Id: 2, NameWithProfession: 'Tony-barber' }
// ]

// Nested objects

const data = {
    id: 1,
    name: 'Jack',
    profession: 'programmer',
    son: {
        id: 2,
        name: 'Tony',
        profession: 'barber'
    }
}
const schema = {
    son_name: 'son.name',
    son_profession: 'son.profession'
}
const res = convert(data, schema);
// res = { son_name: 'Tony', son_profession: 'barber' }

// Nested objects with shcema is a function
const data = {
    id: 1,
    name: 'Jack',
    profession: 'programmer',
    son: {
        id: 2,
        name: 'Tony',
        profession: 'barber'
    }
}
const schema = {
    Id: 'id',
    fatherAndSonName: {
        key: ['name', 'son.name'],
        schema: (args) => {
            return args.join('-');
        }
    }
}
const res = convert(data, schema);
// res = { Id: 1, fatherAndSonName: 'Jack-Tony' }

convert-schema-json's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.