UNPKG

react-native-audio-api

Version:

react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification

44 lines (43 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _AudioNode = _interopRequireDefault(require("./AudioNode")); var _errors = require("../errors"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class WaveShaperNode extends _AudioNode.default { isCurveSet = false; _curve = null; constructor(context, options) { const node = context.context.createWaveShaper(options || {}); super(context, node); if (options?.curve) { this._curve = options.curve; this.isCurveSet = true; } } get curve() { return this._curve; } get oversample() { return this.node.oversample; } set curve(curve) { if (curve !== null) { if (this.isCurveSet) { throw new _errors.InvalidStateError('The curve can only be set once and cannot be changed afterwards.'); } if (curve.length < 2) { throw new _errors.InvalidStateError('The curve must have at least two values if not null.'); } this.isCurveSet = true; } this.node.setCurve(curve); } set oversample(value) { this.node.oversample = value; } } exports.default = WaveShaperNode; //# sourceMappingURL=WaveShaperNode.js.map