@rimbu/base
Version:
Utilities to implement Rimbu collections
40 lines (31 loc) • 1.07 kB
text/typescript
import { ErrBase } from '@rimbu/common';
export class EmptyCollectionAssumedNonEmptyError extends ErrBase.CustomError {
constructor() {
super('empty collection was assumbed to be non-empty');
}
}
export class ModifiedBuilderWhileLoopingOverItError extends ErrBase.CustomError {
constructor() {
super('an attempt was made to modify a builder while looping over it');
}
}
export class InvalidStateError extends ErrBase.CustomError {
constructor() {
super(
"something happend that shouldn't happen, please consider creating an issue"
);
}
}
export class InvalidUsageError extends ErrBase.CustomError {}
export function throwEmptyCollectionAssumedNonEmptyError(): never {
throw new EmptyCollectionAssumedNonEmptyError();
}
export function throwModifiedBuilderWhileLoopingOverItError(): never {
throw new ModifiedBuilderWhileLoopingOverItError();
}
export function throwInvalidStateError(): never {
throw new InvalidStateError();
}
export function throwInvalidUsageError(msg: string): never {
throw new InvalidUsageError(msg);
}