UNPKG

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
/* * * Copyright (c) 2013 - 2016 Maximiliano Fierro * Licensed under the MIT license. */ 'use strict'; 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;