Skip to content

Proxy-based Self-and-Slate-inspired slow-as-fuck multiple-delegation for ECMAScript6-aka-JavaScript

License

Notifications You must be signed in to change notification settings

mbuccarello/proto-star

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proto*

Build Status Dependencies Status NPM version experimental

Proxy-based Self-and-Slate-inspired slow-as-fuck multiple-delegation for ECMAScript6-aka-JavaScript

Example

var Proto = require('proto-star')

var Healthy = Proto.cloneWith({
  move: function(direction) {
    this.x += direction * 2;
  }
})

var Hurt = Proto.cloneWith({
  move: function(direction) {
    this.x += direction
  }
})

var Shark = Proto.cloneWith({
  left: function() {
    this.move(-1)
    return this
  }
, right: function(){
    this.move(1)
    return this
  }
})

var bob = Shark.cloneWith({ x: 10 })
bob.addDelegation(Healthy)
bob.left() // { x: 8 }
bob.addDelegation(Hurt)
bob.left() // { x: 7 }
bob.removeDelegation(Hurt)
bob.left() // { x: 5 }

Installing

$ npm install proto-star

Platform support

You'll need Node 0.11+ and run stuff with the --harmony flag.

Licence

Copyright (c) 2013 Quildreen Motta.

Released under the MIT licence.

About

Proxy-based Self-and-Slate-inspired slow-as-fuck multiple-delegation for ECMAScript6-aka-JavaScript

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%