@mongodb-js/compass-utils 0.1.1 → 0.2.0

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.
@@ -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;AAED,wBAAsB,aAAa,CAAC,CAAC,EACnC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,CAAC,CAAC,CAkBZ;AAQD,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,iBAOpE"}
@@ -0,0 +1,45 @@
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
+ async function raceWithAbort(promise, signal) {
22
+ var _a;
23
+ if (signal.aborted) {
24
+ return Promise.reject((_a = signal.reason) !== null && _a !== void 0 ? _a : (0, exports.createCancelError)());
25
+ }
26
+ let abortListener;
27
+ const pendingPromise = new Promise((_resolve, reject) => {
28
+ abortListener = () => { var _a; return reject((_a = signal.reason) !== null && _a !== void 0 ? _a : (0, exports.createCancelError)()); };
29
+ signal.addEventListener('abort', abortListener, { once: true });
30
+ });
31
+ try {
32
+ return await Promise.race([pendingPromise, promise]);
33
+ }
34
+ finally {
35
+ abortListener && signal.removeEventListener('abort', abortListener);
36
+ }
37
+ }
38
+ exports.raceWithAbort = raceWithAbort;
39
+ async function cancellableWait(ms, signal) {
40
+ await raceWithAbort(new Promise((resolve) => {
41
+ setTimeout(resolve, ms);
42
+ }), signal);
43
+ }
44
+ exports.cancellableWait = cancellableWait;
45
+ //# 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;AAEM,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;IAED,IAAI,aAAa,CAAC;IAGlB,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC7D,aAAa,GAAG,GAAG,EAAE,WAAC,OAAA,MAAM,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,IAAA,yBAAiB,GAAE,CAAC,CAAA,EAAA,CAAC;QACnE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI;QACF,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;KACtD;YAAS;QACR,aAAa,IAAI,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;KACrE;AACH,CAAC;AArBD,sCAqBC;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
@@ -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.1",
17
+ "version": "0.2.0",
18
18
  "repository": {
19
19
  "type": "git",
20
20
  "url": "https://github.com/mongodb-js/compass.git"
@@ -51,11 +51,11 @@
51
51
  "reformat": "npm run prettier -- --write ."
52
52
  },
53
53
  "dependencies": {
54
- "@electron/remote": "^2.0.8"
54
+ "@electron/remote": "^2.0.9"
55
55
  },
56
56
  "devDependencies": {
57
- "@mongodb-js/eslint-config-compass": "^1.0.1",
58
- "@mongodb-js/mocha-config-compass": "^1.0.1",
57
+ "@mongodb-js/eslint-config-compass": "^1.0.2",
58
+ "@mongodb-js/mocha-config-compass": "^1.0.2",
59
59
  "@mongodb-js/prettier-config-compass": "^1.0.0",
60
60
  "@mongodb-js/tsconfig-compass": "^1.0.1",
61
61
  "@types/chai": "^4.2.21",
@@ -71,5 +71,5 @@
71
71
  "sinon": "^9.2.3",
72
72
  "typescript": "^4.8.3"
73
73
  },
74
- "gitHead": "51f04a0ac45c3b51a3ffb98af390c811d1404380"
74
+ "gitHead": "cfe9a829fd77fc84e090f2c7b38663167071ebc5"
75
75
  }