"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _applyDecoratedDescriptor; function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = { }; Object['ke' + 'ys'](descriptor).forEach(function(key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function(desc1, decorator) { return decorator ? decorator(target, property, desc1) || desc1 : desc1; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object['define' + 'Property'](target, property, desc); desc = null; } return desc; }