mirror of
https://github.com/Doodle3D/Doodle3D-API
synced 2024-12-23 22:13:48 +01:00
34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
|
/* */
|
||
|
"use strict";
|
||
|
var _Object$defineProperty = require("../core-js/object/define-property")["default"];
|
||
|
exports["default"] = function(descriptors) {
|
||
|
var target = {};
|
||
|
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 = true;
|
||
|
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) {
|
||
|
descriptor.value = descriptor.initializer.call(target);
|
||
|
}
|
||
|
_Object$defineProperty(target, key, descriptor);
|
||
|
}
|
||
|
return target;
|
||
|
};
|
||
|
exports.__esModule = true;
|