@mongodb-js/compass-utils 0.1.1 → 0.1.2
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/.esm-wrapper.mjs +4 -0
- package/dist/cancellable-promise.d.ts +10 -0
- package/dist/cancellable-promise.d.ts.map +1 -0
- package/dist/cancellable-promise.js +64 -0
- package/dist/cancellable-promise.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/.esm-wrapper.mjs
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import mod from "./index.js";
|
|
2
2
|
|
|
3
3
|
export default mod;
|
|
4
|
+
export const cancellableWait = mod.cancellableWait;
|
|
5
|
+
export const createCancelError = mod.createCancelError;
|
|
4
6
|
export const getStoragePaths = mod.getStoragePaths;
|
|
7
|
+
export const isCancelError = mod.isCancelError;
|
|
5
8
|
export const promisifyAmpersandMethod = mod.promisifyAmpersandMethod;
|
|
9
|
+
export const raceWithAbort = mod.raceWithAbort;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare class AbortError extends Error {
|
|
2
|
+
constructor();
|
|
3
|
+
name: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const createCancelError: () => AbortError;
|
|
6
|
+
export declare function isCancelError(error: any): error is AbortError;
|
|
7
|
+
export declare function raceWithAbort<T>(promise: Promise<T>, signal: AbortSignal): Promise<T>;
|
|
8
|
+
export declare function cancellableWait(ms: number, signal: AbortSignal): Promise<void>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=cancellable-promise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancellable-promise.d.ts","sourceRoot":"","sources":["../src/cancellable-promise.ts"],"names":[],"mappings":"AAAA,cAAM,UAAW,SAAQ,KAAK;;IAK5B,IAAI,SAAgB;CACrB;AAED,eAAO,MAAM,iBAAiB,QAAO,UAKpC,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,UAAU,CAE7D;AA6CD,wBAAsB,aAAa,CAAC,CAAC,EACnC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,CAAC,CAAC,CAeZ;AAQD,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,iBAOpE"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cancellableWait = exports.raceWithAbort = exports.isCancelError = exports.createCancelError = void 0;
|
|
4
|
+
class AbortError extends Error {
|
|
5
|
+
constructor() {
|
|
6
|
+
super('This operation was aborted');
|
|
7
|
+
this.name = 'AbortError';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
const createCancelError = () => {
|
|
11
|
+
var _a;
|
|
12
|
+
const controller = new AbortController();
|
|
13
|
+
controller.abort();
|
|
14
|
+
return (_a = controller.signal.reason) !== null && _a !== void 0 ? _a : new AbortError();
|
|
15
|
+
};
|
|
16
|
+
exports.createCancelError = createCancelError;
|
|
17
|
+
function isCancelError(error) {
|
|
18
|
+
return (error === null || error === void 0 ? void 0 : error.name) === 'AbortError';
|
|
19
|
+
}
|
|
20
|
+
exports.isCancelError = isCancelError;
|
|
21
|
+
function abortablePromise(abortSignal, successSignal) {
|
|
22
|
+
var _a;
|
|
23
|
+
if (abortSignal.aborted) {
|
|
24
|
+
return Promise.reject((_a = abortSignal.reason) !== null && _a !== void 0 ? _a : (0, exports.createCancelError)());
|
|
25
|
+
}
|
|
26
|
+
let reject;
|
|
27
|
+
const promise = new Promise(function (_resolve, _reject) {
|
|
28
|
+
reject = _reject;
|
|
29
|
+
});
|
|
30
|
+
const abort = () => {
|
|
31
|
+
successSignal.removeEventListener('abort', succeed);
|
|
32
|
+
reject((0, exports.createCancelError)());
|
|
33
|
+
};
|
|
34
|
+
const succeed = () => {
|
|
35
|
+
abortSignal.removeEventListener('abort', abort);
|
|
36
|
+
};
|
|
37
|
+
abortSignal.addEventListener('abort', abort, { once: true });
|
|
38
|
+
successSignal.addEventListener('abort', succeed, { once: true });
|
|
39
|
+
return promise;
|
|
40
|
+
}
|
|
41
|
+
async function raceWithAbort(promise, signal) {
|
|
42
|
+
var _a;
|
|
43
|
+
if (signal.aborted) {
|
|
44
|
+
return Promise.reject((_a = signal.reason) !== null && _a !== void 0 ? _a : (0, exports.createCancelError)());
|
|
45
|
+
}
|
|
46
|
+
const successController = new AbortController();
|
|
47
|
+
const abortPromise = abortablePromise(signal, successController.signal);
|
|
48
|
+
try {
|
|
49
|
+
return await Promise.race([abortPromise, promise]);
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
if (!signal.aborted) {
|
|
53
|
+
successController.abort();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.raceWithAbort = raceWithAbort;
|
|
58
|
+
async function cancellableWait(ms, signal) {
|
|
59
|
+
await raceWithAbort(new Promise((resolve) => {
|
|
60
|
+
setTimeout(resolve, ms);
|
|
61
|
+
}), signal);
|
|
62
|
+
}
|
|
63
|
+
exports.cancellableWait = cancellableWait;
|
|
64
|
+
//# sourceMappingURL=cancellable-promise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancellable-promise.js","sourceRoot":"","sources":["../src/cancellable-promise.ts"],"names":[],"mappings":";;;AAAA,MAAM,UAAW,SAAQ,KAAK;IAC5B;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAGtC,SAAI,GAAG,YAAY,CAAC;IAFpB,CAAC;CAGF;AAEM,MAAM,iBAAiB,GAAG,GAAe,EAAE;;IAChD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,UAAU,CAAC,KAAK,EAAE,CAAC;IAEnB,OAAO,MAAA,UAAU,CAAC,MAAM,CAAC,MAAM,mCAAI,IAAI,UAAU,EAAE,CAAC;AACtD,CAAC,CAAC;AALW,QAAA,iBAAiB,qBAK5B;AAEF,SAAgB,aAAa,CAAC,KAAU;IACtC,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,YAAY,CAAC;AACtC,CAAC;AAFD,sCAEC;AAMD,SAAS,gBAAgB,CACvB,WAAwB,EACxB,aAA0B;;IAE1B,IAAI,WAAW,CAAC,OAAO,EAAE;QACvB,OAAO,OAAO,CAAC,MAAM,CAAC,MAAA,WAAW,CAAC,MAAM,mCAAI,IAAA,yBAAiB,GAAE,CAAC,CAAC;KAClE;IAED,IAAI,MAAiC,CAAC;IAEtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,UAAU,QAAQ,EAAE,OAAO;QAC5D,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,GAAG,EAAE;QAGjB,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEpD,MAAM,CAAC,IAAA,yBAAiB,GAAE,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QAGnB,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjE,OAAO,OAAO,CAAC;AACjB,CAAC;AAOM,KAAK,UAAU,aAAa,CACjC,OAAmB,EACnB,MAAmB;;IAEnB,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,OAAO,OAAO,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,IAAA,yBAAiB,GAAE,CAAC,CAAC;KAC7D;IACD,MAAM,iBAAiB,GAAG,IAAI,eAAe,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI;QACF,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;KACpD;YAAS;QACR,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YAGnB,iBAAiB,CAAC,KAAK,EAAE,CAAC;SAC3B;KACF;AACH,CAAC;AAlBD,sCAkBC;AAQM,KAAK,UAAU,eAAe,CAAC,EAAU,EAAE,MAAmB;IACnE,MAAM,aAAa,CACjB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACtB,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,EACF,MAAM,CACP,CAAC;AACJ,CAAC;AAPD,0CAOC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { AmpersandMethodOptions, promisifyAmpersandMethod, } from './promisify-ampersand-method';
|
|
2
2
|
export { StoragePaths, getStoragePaths } from './get-storage-paths';
|
|
3
|
+
export { raceWithAbort, cancellableWait, createCancelError, isCancelError, } from './cancellable-promise';
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getStoragePaths = exports.promisifyAmpersandMethod = void 0;
|
|
3
|
+
exports.isCancelError = exports.createCancelError = exports.cancellableWait = exports.raceWithAbort = exports.getStoragePaths = exports.promisifyAmpersandMethod = void 0;
|
|
4
4
|
var promisify_ampersand_method_1 = require("./promisify-ampersand-method");
|
|
5
5
|
Object.defineProperty(exports, "promisifyAmpersandMethod", { enumerable: true, get: function () { return promisify_ampersand_method_1.promisifyAmpersandMethod; } });
|
|
6
6
|
var get_storage_paths_1 = require("./get-storage-paths");
|
|
7
7
|
Object.defineProperty(exports, "getStoragePaths", { enumerable: true, get: function () { return get_storage_paths_1.getStoragePaths; } });
|
|
8
|
+
var cancellable_promise_1 = require("./cancellable-promise");
|
|
9
|
+
Object.defineProperty(exports, "raceWithAbort", { enumerable: true, get: function () { return cancellable_promise_1.raceWithAbort; } });
|
|
10
|
+
Object.defineProperty(exports, "cancellableWait", { enumerable: true, get: function () { return cancellable_promise_1.cancellableWait; } });
|
|
11
|
+
Object.defineProperty(exports, "createCancelError", { enumerable: true, get: function () { return cancellable_promise_1.createCancelError; } });
|
|
12
|
+
Object.defineProperty(exports, "isCancelError", { enumerable: true, get: function () { return cancellable_promise_1.isCancelError; } });
|
|
8
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2EAGsC;AADpC,sIAAA,wBAAwB,OAAA;AAE1B,yDAAoE;AAA7C,oHAAA,eAAe,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2EAGsC;AADpC,sIAAA,wBAAwB,OAAA;AAE1B,yDAAoE;AAA7C,oHAAA,eAAe,OAAA;AACtC,6DAK+B;AAJ7B,oHAAA,aAAa,OAAA;AACb,sHAAA,eAAe,OAAA;AACf,wHAAA,iBAAiB,OAAA;AACjB,oHAAA,aAAa,OAAA"}
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"email": "compass@mongodb.com"
|
|
15
15
|
},
|
|
16
16
|
"homepage": "https://github.com/mongodb-js/compass",
|
|
17
|
-
"version": "0.1.
|
|
17
|
+
"version": "0.1.2",
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
20
20
|
"url": "https://github.com/mongodb-js/compass.git"
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"sinon": "^9.2.3",
|
|
72
72
|
"typescript": "^4.8.3"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "7f786ed13b999a5c0831af6fde545154890df956"
|
|
75
75
|
}
|