New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

object-layout

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

object-layout

force a specific object layout in node

latest
Source
npmnpm
Version
0.1.0
Version published
Maintainers
1
Created
Source

object-layout

Build Status

force a specific object layout in node

How?

By taking advantage of the fact that most javascript engines layout objects such that the properties exist in the order they are created.

Install

Thats easy - just npm install object-layout.

Use

Pass an un-layed-out object and a schema:

var objectLayout = require('object-layout');

// will result in {one: 1, two: 2, three: 3, four: 4}
objectLayout({
    one: 1,
    four: 4,
    two: 2,
    three: 3
}, {
    one: true,
    two: true,
    three: true,
    four: true
});

Pass a schema to create a layout function:

var objectLayout = require('object-layout');

var fn = objectLayout({
    one: true,
    two: true,
    three: true,
    four: true
});

// will result in {one: 1, two: 2, three: 3, four: 4}
fn({
    one: 1,
    four: 4,
    two: 2,
    three: 3
});

Ignore fields unreferenced by the schema (default):

var objectLayout = require('object-layout');

// will result in {one: 1, two: 2, three: 3, four: 4}
objectLayout({
    one: 1,
    four: 4,
    two: 2,
    three: 3,
    ten: 10
}, {
    one: true,
    two: true,
    three: true,
    four: true
});

Append fields unreferenced by the schema:

var objectLayout = require('object-layout');

// will result in {one: 1, two: 2, three: 3, four: 4, ten: 10}
objectLayout.append({
    one: 1,
    four: 4,
    two: 2,
    three: 3,
    ten: 10
}, {
    one: true,
    two: true,
    three: true,
    four: true
});

See more in the tests.

License

MIT

Keywords

object

FAQs

Package last updated on 23 May 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts