1- /* generated using openapi-typescript-codegen -- do no edit */
2- /* istanbul ignore file */
3- /* tslint:disable */
4- /* eslint-disable */
51export class CancelError extends Error {
6-
7- constructor ( message : string ) {
8- super ( message ) ;
9- this . name = 'CancelError' ;
10- }
11-
12- public get isCancelled ( ) : boolean {
13- return true ;
14- }
2+ constructor ( message : string ) {
3+ super ( message ) ;
4+ this . name = 'CancelError' ;
5+ }
6+
7+ public get isCancelled ( ) : boolean {
8+ return true ;
9+ }
1510}
1611
1712export interface OnCancel {
18- readonly isResolved : boolean ;
19- readonly isRejected : boolean ;
20- readonly isCancelled : boolean ;
13+ readonly isResolved : boolean ;
14+ readonly isRejected : boolean ;
15+ readonly isCancelled : boolean ;
2116
22- ( cancelHandler : ( ) => void ) : void ;
17+ ( cancelHandler : ( ) => void ) : void ;
2318}
2419
2520export class CancelablePromise < T > implements Promise < T > {
26- #isResolved : boolean ;
27- #isRejected : boolean ;
28- #isCancelled : boolean ;
29- readonly # cancelHandlers: ( ( ) => void ) [ ] ;
30- readonly # promise: Promise < T > ;
31- #resolve ?: ( value : T | PromiseLike < T > ) => void ;
32- #reject ?: ( reason ?: any ) => void ;
33-
34- constructor (
35- executor : (
36- resolve : ( value : T | PromiseLike < T > ) => void ,
37- reject : ( reason ?: any ) => void ,
38- onCancel : OnCancel
39- ) => void
40- ) {
41- this . #isResolved = false ;
42- this . #isRejected = false ;
43- this . #isCancelled = false ;
44- this . # cancelHandlers = [ ] ;
45- this . # promise = new Promise < T > ( ( resolve , reject ) => {
46- this . #resolve = resolve ;
47- this . #reject = reject ;
48-
49- const onResolve = ( value : T | PromiseLike < T > ) : void => {
50- if ( this . #isResolved || this . #isRejected || this . #isCancelled ) {
51- return ;
52- }
53- this . #isResolved = true ;
54- this . #resolve?. ( value ) ;
55- } ;
56-
57- const onReject = ( reason ?: any ) : void => {
58- if ( this . #isResolved || this . #isRejected || this . #isCancelled ) {
59- return ;
60- }
61- this . #isRejected = true ;
62- this . #reject?. ( reason ) ;
63- } ;
64-
65- const onCancel = ( cancelHandler : ( ) => void ) : void => {
66- if ( this . #isResolved || this . #isRejected || this . #isCancelled ) {
67- return ;
68- }
69- this . # cancelHandlers. push ( cancelHandler ) ;
70- } ;
71-
72- Object . defineProperty ( onCancel , 'isResolved' , {
73- get : ( ) : boolean => this . #isResolved ,
74- } ) ;
75-
76- Object . defineProperty ( onCancel , 'isRejected' , {
77- get : ( ) : boolean => this . #isRejected ,
78- } ) ;
79-
80- Object . defineProperty ( onCancel , 'isCancelled' , {
81- get : ( ) : boolean => this . #isCancelled ,
82- } ) ;
83-
84- return executor ( onResolve , onReject , onCancel as OnCancel ) ;
85- } ) ;
86- }
87-
88- get [ Symbol . toStringTag ] ( ) {
89- return "Cancellable Promise" ;
90- }
91-
92- public then < TResult1 = T , TResult2 = never > (
93- onFulfilled ?: ( ( value : T ) => TResult1 | PromiseLike < TResult1 > ) | null ,
94- onRejected ?: ( ( reason : any ) => TResult2 | PromiseLike < TResult2 > ) | null
95- ) : Promise < TResult1 | TResult2 > {
96- return this . # promise. then ( onFulfilled , onRejected ) ;
97- }
98-
99- public catch < TResult = never > (
100- onRejected ?: ( ( reason : any ) => TResult | PromiseLike < TResult > ) | null
101- ) : Promise < T | TResult > {
102- return this . # promise. catch ( onRejected ) ;
103- }
104-
105- public finally ( onFinally ?: ( ( ) => void ) | null ) : Promise < T > {
106- return this . # promise. finally ( onFinally ) ;
107- }
108-
109- public cancel ( ) : void {
110- if ( this . #isResolved || this . #isRejected || this . #isCancelled ) {
111- return ;
112- }
113- this . #isCancelled = true ;
114- if ( this . # cancelHandlers. length ) {
115- try {
116- for ( const cancelHandler of this . # cancelHandlers) {
117- cancelHandler ( ) ;
118- }
119- } catch ( error ) {
120- console . warn ( 'Cancellation threw an error' , error ) ;
121- return ;
122- }
123- }
124- this . # cancelHandlers. length = 0 ;
125- this . #reject?. ( new CancelError ( 'Request aborted' ) ) ;
126- }
127-
128- public get isCancelled ( ) : boolean {
129- return this . #isCancelled ;
130- }
131- }
21+ private _isResolved : boolean ;
22+ private _isRejected : boolean ;
23+ private _isCancelled : boolean ;
24+ readonly cancelHandlers : ( ( ) => void ) [ ] ;
25+ readonly promise : Promise < T > ;
26+ private _resolve ?: ( value : T | PromiseLike < T > ) => void ;
27+ private _reject ?: ( reason ?: unknown ) => void ;
28+
29+ constructor (
30+ executor : (
31+ resolve : ( value : T | PromiseLike < T > ) => void ,
32+ reject : ( reason ?: unknown ) => void ,
33+ onCancel : OnCancel
34+ ) => void
35+ ) {
36+ this . _isResolved = false ;
37+ this . _isRejected = false ;
38+ this . _isCancelled = false ;
39+ this . cancelHandlers = [ ] ;
40+ this . promise = new Promise < T > ( ( resolve , reject ) => {
41+ this . _resolve = resolve ;
42+ this . _reject = reject ;
43+
44+ const onResolve = ( value : T | PromiseLike < T > ) : void => {
45+ if ( this . _isResolved || this . _isRejected || this . _isCancelled ) {
46+ return ;
47+ }
48+ this . _isResolved = true ;
49+ if ( this . _resolve ) this . _resolve ( value ) ;
50+ } ;
51+
52+ const onReject = ( reason ?: unknown ) : void => {
53+ if ( this . _isResolved || this . _isRejected || this . _isCancelled ) {
54+ return ;
55+ }
56+ this . _isRejected = true ;
57+ if ( this . _reject ) this . _reject ( reason ) ;
58+ } ;
59+
60+ const onCancel = ( cancelHandler : ( ) => void ) : void => {
61+ if ( this . _isResolved || this . _isRejected || this . _isCancelled ) {
62+ return ;
63+ }
64+ this . cancelHandlers . push ( cancelHandler ) ;
65+ } ;
66+
67+ Object . defineProperty ( onCancel , 'isResolved' , {
68+ get : ( ) : boolean => this . _isResolved ,
69+ } ) ;
70+
71+ Object . defineProperty ( onCancel , 'isRejected' , {
72+ get : ( ) : boolean => this . _isRejected ,
73+ } ) ;
74+
75+ Object . defineProperty ( onCancel , 'isCancelled' , {
76+ get : ( ) : boolean => this . _isCancelled ,
77+ } ) ;
78+
79+ return executor ( onResolve , onReject , onCancel as OnCancel ) ;
80+ } ) ;
81+ }
82+
83+ get [ Symbol . toStringTag ] ( ) {
84+ return "Cancellable Promise" ;
85+ }
86+
87+ public then < TResult1 = T , TResult2 = never > (
88+ onFulfilled ?: ( ( value : T ) => TResult1 | PromiseLike < TResult1 > ) | null ,
89+ onRejected ?: ( ( reason : unknown ) => TResult2 | PromiseLike < TResult2 > ) | null
90+ ) : Promise < TResult1 | TResult2 > {
91+ return this . promise . then ( onFulfilled , onRejected ) ;
92+ }
93+
94+ public catch < TResult = never > (
95+ onRejected ?: ( ( reason : unknown ) => TResult | PromiseLike < TResult > ) | null
96+ ) : Promise < T | TResult > {
97+ return this . promise . catch ( onRejected ) ;
98+ }
99+
100+ public finally ( onFinally ?: ( ( ) => void ) | null ) : Promise < T > {
101+ return this . promise . finally ( onFinally ) ;
102+ }
103+
104+ public cancel ( ) : void {
105+ if ( this . _isResolved || this . _isRejected || this . _isCancelled ) {
106+ return ;
107+ }
108+ this . _isCancelled = true ;
109+ if ( this . cancelHandlers . length ) {
110+ try {
111+ for ( const cancelHandler of this . cancelHandlers ) {
112+ cancelHandler ( ) ;
113+ }
114+ } catch ( error ) {
115+ console . warn ( 'Cancellation threw an error' , error ) ;
116+ return ;
117+ }
118+ }
119+ this . cancelHandlers . length = 0 ;
120+ if ( this . _reject ) this . _reject ( new CancelError ( 'Request aborted' ) ) ;
121+ }
122+
123+ public get isCancelled ( ) : boolean {
124+ return this . _isCancelled ;
125+ }
126+ }
0 commit comments