UNPKG

web-audio-test-api

Version:
48 lines (35 loc) 1.46 kB
"use strict"; 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 }; }; }