cocktail
Version:
CocktailJS is a small library to explore traits, talents, inheritance and annotations concepts in nodejs - Shake your objects and classes with Cocktail!
44 lines (31 loc) • 914 B
JavaScript
/*
*
* Copyright (c) 2013 - 2016 Maximiliano Fierro
* Licensed under the MIT license.
*/
;
var sequence = require('../sequence');
var Merge = require('./Merge');
function Static () {}
Static.prototype = {
retain : false,
priority : sequence.POST_MERGE,
name : '@static',
_parameter: undefined,
setParameter: function (value) {
if (Object.prototype.toString.call(value) !== '[object Object]') {
throw new Error('@static parameter should be an Object');
}
this._parameter = value;
},
getParameter: function () {
return this._parameter;
},
process: function (subject) {
var statics = this.getParameter(),
merger = new Merge({usePrototypeWhenSubjectIsClass: false});
merger.setParameter('mine');
merger.process(subject, statics);
}
};
module.exports = Static;