@redux-multipurpose/angular-cli
Version:
A multipurpose redux tools angular cli
29 lines (24 loc) • 875 B
text/typescript
export interface UnsubscriptionError extends Error {
readonly errors: any[];
}
export interface UnsubscriptionErrorCtor {
new(errors: any[]): UnsubscriptionError;
}
const UnsubscriptionErrorImpl = (() => {
function UnsubscriptionErrorImpl(this: any, errors: any[]) {
Error.call(this);
this.message = errors ?
`${errors.length} errors occurred during unsubscription:
${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\n ')}` : '';
this.name = 'UnsubscriptionError';
this.errors = errors;
return this;
}
UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype);
return UnsubscriptionErrorImpl;
})();
/**
* An error thrown when one or more errors have occurred during the
* `unsubscribe` of a {@link Subscription}.
*/
export const UnsubscriptionError: UnsubscriptionErrorCtor = UnsubscriptionErrorImpl as any;