0.1.6 • Published 8 years ago

app.let v0.1.6

Weekly downloads
1
License
MIT
Repository
-
Last release
8 years ago

app.let

"app.let" polyfills 'let' for Object props. Additionally, it also provides a 'private' Map for Objects

applet = require('app.let')()

By default trying to reset an Object's property that is a 'let' property does not throw errors. To throw errors:

applet = require('app.let')({strict:true})

The 'app.let' Symbol('@let') can also be customized:

applet = require('app.let')({ symbol:'custom-symbol' })

app.let is class Leter

class Leter extends Map
get symbol() => Symbol
get name() => Symbol string value
get privates() => Leter private map
get isLeter() => true

def(obj) => obj w/ let defined
priv(obj) => obj w/ private Map defined
sudo(obj) => get or set if not defined obj's private Map

app.let use:

applet=require('app.let')()
obj=applet.def( { hello:'world' } )


obj.let('hello')
obj.hello = 'saturn'
obj.hello // returns 'world' or if strict throws Error

applet.sudo(obj).set('hello','private world')
applet.sudo(obj).get('hello') // 'private world'
    

Notes:

- app.let uses Object.watch or watch (sans unwatch) polyfill from https://gist.github.com/eligrey/384583
0.1.6

8 years ago

0.1.52

8 years ago

0.1.51

8 years ago

0.1.1

8 years ago

0.1.5

8 years ago

0.1.0

8 years ago

0.0.1

8 years ago