保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 9bdb95c9e34cef640534e5e5a1e2225a80442000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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;