Pre-release

@finom finom released this Sep 18, 2015 · 852 commits to master since this release

Assets 2

New methods and properties

API improvements

  • "Deep binding" which allows to bind a node to a property inside of nested object.
this.bindNode('a.b.c.d', '.my-node');
  • Changed delegated events syntax and implemented backward compability.
this.on('a.b.*.*.e@someevent', f);
this.bindNode({
    x: '.my-x-node',
    y: ['.my-y-node', MK.binders.className()],
    z: ['.my-z-node', {
        setValue: function(v) {...}
    }]
})
class X extends Matreshka.Array {
    constructor(data) {
        super(...data).bindNode(/*...*/);
    }
}

New event names

  • beforechange and beforechange:KEY, called before property is changed
  • addevent and addevent:NAME called on every event add.

Fixes

Other news

  • Objects used by Matreshka have a property Symbol(matreshka) instead of __events, __special and __id.
  • Added unit tests (145 tests for now).
  • Splitted up the source.
  • Huge performance improvements. In some cases the performance increased 40 (!) times.
  • MatreshkaMagic MatreshkaMagic.