0
0
mirror of https://github.com/Doodle3D/Doodle3D-API synced 2024-12-23 14:13:47 +01:00
Doodle3D-API/jspm_packages/npm/babel-runtime@5.6.20/helpers/create-decorated-class.js
2015-07-15 15:06:18 +02:00

42 lines
1.6 KiB
JavaScript

/* */
"use strict";
var _Object$defineProperty = require("../core-js/object/define-property")["default"];
exports["default"] = (function() {
function defineProperties(target, descriptors, initializers) {
for (var i = 0; i < descriptors.length; i++) {
var descriptor = descriptors[i];
var decorators = descriptor.decorators;
var key = descriptor.key;
delete descriptor.key;
delete descriptor.decorators;
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor || descriptor.initializer)
descriptor.writable = true;
if (decorators) {
for (var f = 0; f < decorators.length; f++) {
var decorator = decorators[f];
if (typeof decorator === "function") {
descriptor = decorator(target, key, descriptor) || descriptor;
} else {
throw new TypeError("The decorator for method " + descriptor.key + " is of the invalid type " + typeof decorator);
}
}
if (descriptor.initializer !== undefined) {
initializers[key] = descriptor;
continue;
}
}
_Object$defineProperty(target, key, descriptor);
}
}
return function(Constructor, protoProps, staticProps, protoInitializers, staticInitializers) {
if (protoProps)
defineProperties(Constructor.prototype, protoProps, protoInitializers);
if (staticProps)
defineProperties(Constructor, staticProps, staticInitializers);
return Constructor;
};
})();
exports.__esModule = true;