chocolate
Version:
A full stack Node.js web framework built using Coffeescript
38 lines (28 loc) • 1.26 kB
text/coffeescript
_ = require '../../general/chocodash'
Data = require '../../general/locco/data'
Document = _.prototype
constructor: (definition) ->
helpers =
set: (key, value) ->
_.do.set , key, value
for methodName in ["pop", "push", "reverse", "shift", "sort", "splice", "unshift"]
helpers[methodName] = do (methodName) -> ->
Array.prototype.unshift.call arguments,
result = _.do[methodName].apply null, arguments
result
= new _.Signal definition, helpers
use: ->
= (key, value) ->
# _.do.set
.set key, value
= (key) ->
.delete key
= -> .value()
for methodName in ["pop", "push", "reverse", "shift", "sort", "splice", "unshift"]
@[methodName] = do (methodName) -> ->
output = [methodName].apply , arguments
return output
_module = window ? module
if _module.exports? then _module.exports = Document else window.Locco ?= {} ; window.Locco.Document = Document