1.3.1 • Published 10 years ago
cruks-lib-object v1.3.1
cruks-lib-object
Provides set of object modification utilities.
Examples
var AccessorPropertyDescriptor = require("cruks-lib-object").AccessorPropertyDescriptor,
obj = {};
Object.defineProperty(obj, "length", new AccessorPropertyDescriptor());
obj.length = 1;
With setter function:
var assert = require("assert"),
AssertionFailureException = require("cruks-lib-config").AssertionFailureException,
AccessorPropertyDescriptor = require("cruks-lib-object").AccessorPropertyDescriptor,
obj = {};
Object.defineProperty(obj, "length", new AccessorPropertyDescriptor(function (item, AssertionFailure) {
if ("number" !== typeof item) {
throw new AssertionFailure();
}
return item;
}));
obj.length = 1;
assert.throws(function () {
object.length = "not-a-number";
}, AssertionFailureException);