Home

Awesome

known

Allow only access to known object properties using ES2015 Proxy

Install

$ npm install known

Usage

import known from 'known';

const object = {foo: true};

console.log(object.bar);
//=> undefined

const object2 = known(object);

// Throws a TypeError when you try to access an unknown property
console.log(object2.bar);
//=> [TypeError] Unknown property: bar

Note that known transparently wraps the given object, meaning prototype properties will also exist. So known(someObject).__proto__ does not throw. If you want non-own properties to throw, ensure your object is created with Object.create(null).

Related