MINI Sh3ll
/*
---
name: "Class.Mutators.Generators"
description: "Provides Generators mutator"
license:
- "[GNU Lesser General Public License](http://opensource.org/licenses/lgpl-license.php)"
- "[MIT License](http://opensource.org/licenses/mit-license.php)"
authors:
- "Shock <[email protected]>"
requires:
- Core
- accessors
- Class
provides: Class.Mutators.Generators
...
*/
new function () {
var getter = function (key, fn) {
return function() {
var pr = '_' + key, obj = this;
return pr in obj ? obj[pr] : (obj[pr] = fn.call(obj));
};
};
atom.Class.Mutators.Generators = function(properties) {
atom.Class.Mutators.Generators.init(this, properties);
};
atom.Class.Mutators.Generators.init = function (Class, properties) {
for (var i in properties) atom.accessors.define(Class.prototype, i, { get: getter(i, properties[i]) });
};
};
OHA YOOOO