Observable
Observable copied to clipboard
Observable object
While working on a project of mine I added a few methods for the observable object, which I find useful.
Proxy object properties:
obj = Observable
a: 1
assert.equal obj.a, obj().a
obj.a = 2
assert.equal obj.a, obj().a
Observable properties:
obj = Observable
a: Observable 1
assert.equal obj.a, obj().a()
obj.a 2
assert.equal obj.a, 2
assert.equal obj().a(), 2
obj.a = 3
assert.equal obj.a, 3
assert.equal obj().a(), 3
Extend method:
obj = Observable
a: 1
obj.extend b: 2 # alias: obj.assign b: 2
assert.equal obj.b, 2
assert.equal obj.b, obj().b
Remove method:
obj = Observable
a: 1
b: 2
obj.remove "b"
assert.equal obj.b, undefined
Proxy object methods:
obj = Observable
a: 1
b: 2
assert.deepEqual obj.keys, ["a", "b"]
assert.deepEqual obj.values, [1, 2]
assert.deepEqual obj.entries, [["a", 1], ["b", 2]]