UNPKG

@rimbu/base

Version:

Utilities to implement Rimbu collections

79 lines 3.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InvalidUsageError = exports.InvalidStateError = exports.ModifiedBuilderWhileLoopingOverItError = exports.EmptyCollectionAssumedNonEmptyError = void 0; exports.throwEmptyCollectionAssumedNonEmptyError = throwEmptyCollectionAssumedNonEmptyError; exports.throwModifiedBuilderWhileLoopingOverItError = throwModifiedBuilderWhileLoopingOverItError; exports.throwInvalidStateError = throwInvalidStateError; exports.throwInvalidUsageError = throwInvalidUsageError; var tslib_1 = require("tslib"); var common_1 = require("@rimbu/common"); /** * Error thrown when an operation assumes a collection is non-empty but it is empty. */ var EmptyCollectionAssumedNonEmptyError = /** @class */ (function (_super) { tslib_1.__extends(EmptyCollectionAssumedNonEmptyError, _super); function EmptyCollectionAssumedNonEmptyError() { return _super.call(this, 'empty collection was assumbed to be non-empty') || this; } return EmptyCollectionAssumedNonEmptyError; }(common_1.ErrBase.CustomError)); exports.EmptyCollectionAssumedNonEmptyError = EmptyCollectionAssumedNonEmptyError; /** * Error thrown when a builder is modified while it is being iterated. */ var ModifiedBuilderWhileLoopingOverItError = /** @class */ (function (_super) { tslib_1.__extends(ModifiedBuilderWhileLoopingOverItError, _super); function ModifiedBuilderWhileLoopingOverItError() { return _super.call(this, 'an attempt was made to modify a builder while looping over it') || this; } return ModifiedBuilderWhileLoopingOverItError; }(common_1.ErrBase.CustomError)); exports.ModifiedBuilderWhileLoopingOverItError = ModifiedBuilderWhileLoopingOverItError; /** * Error indicating an unexpected internal state. Users are encouraged to file an issue. */ var InvalidStateError = /** @class */ (function (_super) { tslib_1.__extends(InvalidStateError, _super); function InvalidStateError() { return _super.call(this, "something happend that shouldn't happen, please consider creating an issue") || this; } return InvalidStateError; }(common_1.ErrBase.CustomError)); exports.InvalidStateError = InvalidStateError; /** * Error indicating incorrect usage of the API. */ var InvalidUsageError = /** @class */ (function (_super) { tslib_1.__extends(InvalidUsageError, _super); function InvalidUsageError() { return _super !== null && _super.apply(this, arguments) || this; } return InvalidUsageError; }(common_1.ErrBase.CustomError)); exports.InvalidUsageError = InvalidUsageError; /** * Throws an `EmptyCollectionAssumedNonEmptyError`. */ function throwEmptyCollectionAssumedNonEmptyError() { throw new EmptyCollectionAssumedNonEmptyError(); } /** * Throws a `ModifiedBuilderWhileLoopingOverItError`. */ function throwModifiedBuilderWhileLoopingOverItError() { throw new ModifiedBuilderWhileLoopingOverItError(); } /** * Throws an `InvalidStateError`. */ function throwInvalidStateError() { throw new InvalidStateError(); } /** * Throws an `InvalidUsageError` with the provided message. * @param msg - context message describing the invalid usage */ function throwInvalidUsageError(msg) { throw new InvalidUsageError(msg); } //# sourceMappingURL=rimbu-error.cjs.map