Skip to content

Instantly share code, notes, and snippets.

@jberger
Last active October 30, 2021 16:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jberger/6d7302091f0da13060eca18d2f5aa28d to your computer and use it in GitHub Desktop.
Save jberger/6d7302091f0da13060eca18d2f5aa28d to your computer and use it in GitHub Desktop.
export function defaultObject(defaultValue) {
return new Proxy({}, {
get: function(target, name) {
return target.hasOwnProperty(name) ? target[name] : defaultValue;
},
});
}
t.test('defaultObject', t => {
const foo = util.defaultObject('foo');
foo.bar = 'bar';
t.equal(foo.foo, 'foo');
t.equal(foo.bar, 'bar');
t.end();
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment