web-audio-test-api
Version:
Web Audio API test library for CI
48 lines (35 loc) • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = audioparam;
var _AudioParam = require("../../AudioParam");
var _AudioParam2 = _interopRequireDefault(_AudioParam);
var _Immigration = require("../../utils/Immigration");
var _Immigration2 = _interopRequireDefault(_Immigration);
var _format = require("../../utils/format");
var _format2 = _interopRequireDefault(_format);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var immigration = _Immigration2.default.getInstance();
function audioparam(defaultValue) {
return function (target, name, descriptor) {
descriptor.get = function get() {
var _this = this;
if (!this._.hasOwnProperty(name)) {
this._[name] = immigration.apply(function (admission) {
return new _AudioParam2.default(admission, _this, name, defaultValue);
});
}
return this._[name];
};
descriptor.set = function set(value) {
throw new TypeError((0, _format2.default)("\n Failed to set the '" + name + "' property on '" + this.constructor.name + "'\n\n \tAttempt to assign to readonly property. Do you mean this?\n\n \t\t" + name + ".value = " + value + ";\n ") + "\n");
};
return {
get: descriptor.get,
set: descriptor.set,
enumerable: descriptor.enumerable,
configurable: descriptor.configurable
};
};
}