UNPKG

@rimbu/base

Version:

Utilities to implement Rimbu collections

40 lines (31 loc) 1.07 kB
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); }