35 lines
585 B
JavaScript
35 lines
585 B
JavaScript
var _ast = {
|
|
|
|
initialize: function() {
|
|
this._nodes = [];
|
|
this._node = {};
|
|
this._stash = [];
|
|
},
|
|
|
|
set: function(props) {
|
|
for (var k in props) this._node[k] = props[k];
|
|
return this._node;
|
|
},
|
|
|
|
node: function(obj) {
|
|
if (arguments.length) this._node = obj;
|
|
return this._node;
|
|
},
|
|
|
|
push: function() {
|
|
this._nodes.push(this._node);
|
|
this._node = {};
|
|
},
|
|
|
|
unshift: function() {
|
|
this._nodes.unshift(this._node);
|
|
this._node = {};
|
|
},
|
|
|
|
yield: function() {
|
|
var _nodes = this._nodes;
|
|
this.initialize();
|
|
return _nodes;
|
|
}
|
|
};
|