reshaper

0.3.1 • Public • Published

Reshaper

Build Status Coverage Status

Reshaper is a JavaScript library which can automatically restructure JavaScript objects to match a provided schema. It also provides users with some manual control, by way of a 'hint' system.

To see some interactive examples, check out this Kajero notebook.

Installation

npm install reshaper

Usage

reshaper(data, schema, [hint])

  • data: The JavaScript data structure to be reshaped.
  • schema: The structure we want our reshaped data to match.
  • hint: (Optional) The name of an object key, given as a 'hint'. Keys matching this hint will be preferred. An array of keys can also be provided if desired.

Examples

var reshaper = require('reshaper');
 
var peopleData = [
    {
        name: 'Joel',
        info: {
            age: 22,
            height: 1.9,
            middleName: 'Robert',
            lastName: 'Auterson'
        }
    },
    {
        name: 'Jake',
        info: {
            age: 24,
            height: 1.85,
            middleName: 'Wild',
            lastName: 'Hall'
        }
    }
];
 
var schema = ['String'];
 
reshaper(peopleData, schema);
// => ['Joel', 'Jake']
 
// We can give a 'hint', to say lastName is what we want.
reshaper(peopleData, schema, 'lastName');
// => ['Auterson', 'Hall']
 
// Object keys get used as hints
var schema = {
    age: ['Number'],
    height: ['Number']
};
 
reshaper(peopleData, schema);
/* =>
{
    age: [22, 24],
    height: [1.9, 1.85]
}
*/
 

Dependencies (0)

    Dev Dependencies (4)

    Package Sidebar

    Install

    npm i reshaper

    Weekly Downloads

    3

    Version

    0.3.1

    License

    MIT

    Last publish

    Collaborators

    • joelotter