UNPKG

@picovoice/porcupine-node

Version:

Picovoice Porcupine Node.js binding

102 lines 4.98 kB
// // Copyright 2020-2022 Picovoice Inc. // // You may not use this file except in compliance with the license. A copy of the license is located in the "LICENSE" // file accompanying this source. // // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. // "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pvStatusToException = exports.PorcupineActivationRefusedError = exports.PorcupineActivationThrottledError = exports.PorcupineActivationLimitReachedError = exports.PorcupineActivationError = exports.PorcupineRuntimeError = exports.PorcupineInvalidStateError = exports.PorcupineKeyError = exports.PorcupineStopIterationError = exports.PorcupineInvalidArgumentError = exports.PorcupineIOError = exports.PorcupineOutOfMemoryError = exports.PorcupineError = void 0; const pv_status_t_1 = require("./pv_status_t"); class PorcupineError extends Error { _message; _messageStack; constructor(message, messageStack = []) { super(PorcupineError.errorToString(message, messageStack)); this._message = message; this._messageStack = messageStack; } get message() { return this._message; } get messageStack() { return this._messageStack; } static errorToString(initial, messageStack) { let msg = initial; if (messageStack.length > 0) { msg += `: ${messageStack.reduce((acc, value, index) => acc + '\n [' + index + '] ' + value, '')}`; } return msg; } } exports.PorcupineError = PorcupineError; class PorcupineOutOfMemoryError extends PorcupineError { } exports.PorcupineOutOfMemoryError = PorcupineOutOfMemoryError; class PorcupineIOError extends PorcupineError { } exports.PorcupineIOError = PorcupineIOError; class PorcupineInvalidArgumentError extends PorcupineError { } exports.PorcupineInvalidArgumentError = PorcupineInvalidArgumentError; class PorcupineStopIterationError extends PorcupineError { } exports.PorcupineStopIterationError = PorcupineStopIterationError; class PorcupineKeyError extends PorcupineError { } exports.PorcupineKeyError = PorcupineKeyError; class PorcupineInvalidStateError extends PorcupineError { } exports.PorcupineInvalidStateError = PorcupineInvalidStateError; class PorcupineRuntimeError extends PorcupineError { } exports.PorcupineRuntimeError = PorcupineRuntimeError; class PorcupineActivationError extends PorcupineError { } exports.PorcupineActivationError = PorcupineActivationError; class PorcupineActivationLimitReachedError extends PorcupineError { } exports.PorcupineActivationLimitReachedError = PorcupineActivationLimitReachedError; class PorcupineActivationThrottledError extends PorcupineError { } exports.PorcupineActivationThrottledError = PorcupineActivationThrottledError; class PorcupineActivationRefusedError extends PorcupineError { } exports.PorcupineActivationRefusedError = PorcupineActivationRefusedError; function pvStatusToException(pvStatus, errorMessage, messageStack = []) { switch (pvStatus) { case pv_status_t_1.default.OUT_OF_MEMORY: throw new PorcupineOutOfMemoryError(errorMessage, messageStack); case pv_status_t_1.default.IO_ERROR: throw new PorcupineIOError(errorMessage, messageStack); case pv_status_t_1.default.INVALID_ARGUMENT: throw new PorcupineInvalidArgumentError(errorMessage, messageStack); case pv_status_t_1.default.STOP_ITERATION: throw new PorcupineStopIterationError(errorMessage, messageStack); case pv_status_t_1.default.KEY_ERROR: throw new PorcupineKeyError(errorMessage, messageStack); case pv_status_t_1.default.INVALID_STATE: throw new PorcupineInvalidStateError(errorMessage, messageStack); case pv_status_t_1.default.RUNTIME_ERROR: throw new PorcupineRuntimeError(errorMessage, messageStack); case pv_status_t_1.default.ACTIVATION_ERROR: throw new PorcupineActivationError(errorMessage, messageStack); case pv_status_t_1.default.ACTIVATION_LIMIT_REACHED: throw new PorcupineActivationLimitReachedError(errorMessage, messageStack); case pv_status_t_1.default.ACTIVATION_THROTTLED: throw new PorcupineActivationThrottledError(errorMessage, messageStack); case pv_status_t_1.default.ACTIVATION_REFUSED: throw new PorcupineActivationRefusedError(errorMessage, messageStack); default: // eslint-disable-next-line no-console console.warn(`Unmapped error code: ${pvStatus}`); throw new PorcupineError(errorMessage); } } exports.pvStatusToException = pvStatusToException; //# sourceMappingURL=errors.js.map