pepka 1.9.2 → 1.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.cjs +11 -4
- package/dist/bundle.mjs +11 -4
- package/package.json +1 -1
- package/src/utils.ts +8 -8
package/dist/bundle.cjs
CHANGED
|
@@ -104,18 +104,25 @@ class QPromise extends Promise {
|
|
|
104
104
|
if (resolve)
|
|
105
105
|
this.ff();
|
|
106
106
|
else {
|
|
107
|
-
|
|
107
|
+
super.catch(noop);
|
|
108
108
|
this.rj('canceled');
|
|
109
109
|
this.oncancel(this._cancel_data);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
constructor(fn, oncancel = noop) {
|
|
113
|
+
let _ff, _rj, _cancel_data;
|
|
113
114
|
super((ff, rj) => {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
_ff = ff;
|
|
116
|
+
_rj = rj;
|
|
117
|
+
_cancel_data = fn(ff, rj);
|
|
117
118
|
});
|
|
118
119
|
this.oncancel = oncancel;
|
|
120
|
+
const set_cb = () => { this.ff = _ff; this.rj = _rj; this._cancel_data = _cancel_data; };
|
|
121
|
+
// @ts-ignore-next
|
|
122
|
+
if (!isUndef(_ff) || !isUndef(_rj))
|
|
123
|
+
set_cb();
|
|
124
|
+
else
|
|
125
|
+
setTimeout(set_cb);
|
|
119
126
|
}
|
|
120
127
|
}
|
|
121
128
|
|
package/dist/bundle.mjs
CHANGED
|
@@ -102,18 +102,25 @@ class QPromise extends Promise {
|
|
|
102
102
|
if (resolve)
|
|
103
103
|
this.ff();
|
|
104
104
|
else {
|
|
105
|
-
|
|
105
|
+
super.catch(noop);
|
|
106
106
|
this.rj('canceled');
|
|
107
107
|
this.oncancel(this._cancel_data);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
constructor(fn, oncancel = noop) {
|
|
111
|
+
let _ff, _rj, _cancel_data;
|
|
111
112
|
super((ff, rj) => {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
_ff = ff;
|
|
114
|
+
_rj = rj;
|
|
115
|
+
_cancel_data = fn(ff, rj);
|
|
115
116
|
});
|
|
116
117
|
this.oncancel = oncancel;
|
|
118
|
+
const set_cb = () => { this.ff = _ff; this.rj = _rj; this._cancel_data = _cancel_data; };
|
|
119
|
+
// @ts-ignore-next
|
|
120
|
+
if (!isUndef(_ff) || !isUndef(_rj))
|
|
121
|
+
set_cb();
|
|
122
|
+
else
|
|
123
|
+
setTimeout(set_cb);
|
|
117
124
|
}
|
|
118
125
|
}
|
|
119
126
|
|
package/package.json
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"prod": "npm run gentypes && npm run prod:es && npm run prod:cjs",
|
|
42
42
|
"all": "npm run dev && npm run prod"
|
|
43
43
|
},
|
|
44
|
-
"version": "1.9.
|
|
44
|
+
"version": "1.9.4",
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@rollup/plugin-commonjs": "^29.0.2",
|
|
47
47
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
package/src/utils.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { AnyFunc, AnyObject } from "./types"
|
|
|
4
4
|
export const undef = undefined
|
|
5
5
|
export const nul = null
|
|
6
6
|
export const inf = Infinity
|
|
7
|
+
export const not_assigned = Symbol()
|
|
7
8
|
export const to = (s: any) => typeof s
|
|
8
9
|
export const isNull = <T extends any>(s: T) => (s===nul) as T extends null ? true : false
|
|
9
10
|
export const isUndef = <T extends any>(s: T) => (s===undef) as T extends undefined ? true : false
|
|
@@ -18,20 +19,19 @@ export const isNil = <T extends any>(s: T) => (isNull(s) || isUndef(s)) as T ext
|
|
|
18
19
|
|
|
19
20
|
export class QPromise<T> extends Promise<T> {
|
|
20
21
|
private ff: AnyFunc
|
|
21
|
-
private rj: AnyFunc
|
|
22
22
|
private _cancel_data: any
|
|
23
23
|
public cancel(resolve = false) {
|
|
24
24
|
if(resolve) this.ff()
|
|
25
|
-
|
|
26
|
-
this.catch(noop)
|
|
27
|
-
this.rj('canceled')
|
|
28
|
-
this.oncancel(this._cancel_data)
|
|
29
|
-
}
|
|
25
|
+
this.oncancel(this._cancel_data)
|
|
30
26
|
}
|
|
31
27
|
constructor(fn: AnyFunc<any, [AnyFunc, AnyFunc, AnyFunc?]>, private oncancel = noop) {
|
|
28
|
+
let _cancel_data: any = not_assigned
|
|
32
29
|
super((ff, rj) => {
|
|
33
|
-
|
|
34
|
-
this._cancel_data = fn(ff, rj)
|
|
30
|
+
_cancel_data = fn(ff, rj)
|
|
35
31
|
})
|
|
32
|
+
const set_cb = () => this._cancel_data=_cancel_data
|
|
33
|
+
// @ts-ignore-next
|
|
34
|
+
if(_cancel_data!==not_assigned) set_cb()
|
|
35
|
+
else setTimeout(set_cb)
|
|
36
36
|
}
|
|
37
37
|
}
|