npm.io
1.1.0 • Published 8 years ago

proxy-object-defaults

Licence
GPL-3.0
Version
1.1.0
Deps
1
Size
181 kB
Vulns
0
Weekly
0

proxy-object-defaults

Makes nested JS objects easier to reason with. An experiment in using ES6 proxies (for fun and profit).

Install

yarn add proxy-object-defaults

Example

import proxyDefaults from 'proxy-object-defaults';

const DEFAULT = {
    filter: {
        showTimes: false,
        maxItems: 10
    }
}

let userSettings = {
    filter: {
        maxItems: 20
    }
}

let settings = proxyDefaults(userSettings, DEFAULT);
console.log(settings.filter);
// filter: {
//     showTimes: false,
//     maxItems: 20
// }

console.log(settings)
// filter: {
//    maxItems: 20
// }

delete settings.filter;
console.log(settings)
// {}

Usage

proxyDefaults(obj, defaults, deepClone=true)

Keywords