@mongodb-js/compass-utils
Advanced tools
Comparing version 0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82 to 0.0.0-next-2205fe8c1da18cf3601e864563c162660b55339f
declare class AbortError extends Error { | ||
constructor(); | ||
constructor(message?: string); | ||
name: string; | ||
} | ||
export declare const createCancelError: () => AbortError; | ||
export declare const throwIfAborted: (signal?: AbortSignal) => void; | ||
export declare const createCancelError: (message?: string) => AbortError; | ||
export declare function isCancelError(error: any): error is AbortError; | ||
@@ -7,0 +8,0 @@ export declare function raceWithAbort<T>(promise: Promise<T>, signal: AbortSignal): Promise<T>; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.cancellableWait = exports.raceWithAbort = exports.isCancelError = exports.createCancelError = void 0; | ||
exports.cancellableWait = exports.raceWithAbort = exports.isCancelError = exports.createCancelError = exports.throwIfAborted = void 0; | ||
class AbortError extends Error { | ||
constructor() { | ||
super('This operation was aborted'); | ||
constructor(message) { | ||
super(message ?? 'This operation was aborted'); | ||
this.name = 'AbortError'; | ||
} | ||
} | ||
const createCancelError = () => { | ||
var _a; | ||
const throwIfAborted = (signal) => { | ||
if (signal?.aborted) { | ||
throw signal.reason ?? (0, exports.createCancelError)(); | ||
} | ||
}; | ||
exports.throwIfAborted = throwIfAborted; | ||
const createCancelError = (message) => { | ||
const controller = new AbortController(); | ||
controller.abort(); | ||
return (_a = controller.signal.reason) !== null && _a !== void 0 ? _a : new AbortError(); | ||
if (message && controller.signal.reason) { | ||
Object.defineProperty(controller.signal.reason, 'message', { | ||
get() { | ||
return message; | ||
}, | ||
configurable: true, | ||
enumerable: true, | ||
}); | ||
} | ||
return controller.signal.reason ?? new AbortError(message); | ||
}; | ||
exports.createCancelError = createCancelError; | ||
function isCancelError(error) { | ||
return (error === null || error === void 0 ? void 0 : error.name) === 'AbortError'; | ||
return error?.name === 'AbortError'; | ||
} | ||
exports.isCancelError = isCancelError; | ||
function abortablePromise(abortSignal, successSignal) { | ||
var _a; | ||
if (abortSignal.aborted) { | ||
return Promise.reject((_a = abortSignal.reason) !== null && _a !== void 0 ? _a : (0, exports.createCancelError)()); | ||
} | ||
let reject; | ||
const promise = new Promise(function (_resolve, _reject) { | ||
reject = _reject; | ||
}); | ||
const abort = () => { | ||
successSignal.removeEventListener('abort', succeed); | ||
reject((0, exports.createCancelError)()); | ||
}; | ||
const succeed = () => { | ||
abortSignal.removeEventListener('abort', abort); | ||
}; | ||
abortSignal.addEventListener('abort', abort, { once: true }); | ||
successSignal.addEventListener('abort', succeed, { once: true }); | ||
return promise; | ||
} | ||
async function raceWithAbort(promise, signal) { | ||
var _a; | ||
if (signal.aborted) { | ||
return Promise.reject((_a = signal.reason) !== null && _a !== void 0 ? _a : (0, exports.createCancelError)()); | ||
return Promise.reject(signal.reason ?? (0, exports.createCancelError)()); | ||
} | ||
const successController = new AbortController(); | ||
const abortPromise = abortablePromise(signal, successController.signal); | ||
let abortListener; | ||
const pendingPromise = new Promise((_resolve, reject) => { | ||
abortListener = () => reject(signal.reason ?? (0, exports.createCancelError)()); | ||
signal.addEventListener('abort', abortListener, { once: true }); | ||
}); | ||
try { | ||
return await Promise.race([abortPromise, promise]); | ||
return await Promise.race([pendingPromise, promise]); | ||
} | ||
finally { | ||
if (!signal.aborted) { | ||
successController.abort(); | ||
} | ||
abortListener && signal.removeEventListener('abort', abortListener); | ||
} | ||
@@ -56,0 +50,0 @@ } |
@@ -1,4 +0,5 @@ | ||
export { AmpersandMethodOptions, promisifyAmpersandMethod, } from './promisify-ampersand-method'; | ||
export { StoragePaths, getStoragePaths } from './get-storage-paths'; | ||
export { raceWithAbort, cancellableWait, createCancelError, isCancelError, } from './cancellable-promise'; | ||
export type { AmpersandMethodOptions } from './promisify-ampersand-method'; | ||
export { promisifyAmpersandMethod } from './promisify-ampersand-method'; | ||
export { getAppName, getStoragePath, getAppVersion } from './electron'; | ||
export { raceWithAbort, cancellableWait, createCancelError, isCancelError, throwIfAborted, } from './cancellable-promise'; | ||
//# sourceMappingURL=index.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.isCancelError = exports.createCancelError = exports.cancellableWait = exports.raceWithAbort = exports.getStoragePaths = exports.promisifyAmpersandMethod = void 0; | ||
exports.throwIfAborted = exports.isCancelError = exports.createCancelError = exports.cancellableWait = exports.raceWithAbort = exports.getAppVersion = exports.getStoragePath = exports.getAppName = exports.promisifyAmpersandMethod = void 0; | ||
var promisify_ampersand_method_1 = require("./promisify-ampersand-method"); | ||
Object.defineProperty(exports, "promisifyAmpersandMethod", { enumerable: true, get: function () { return promisify_ampersand_method_1.promisifyAmpersandMethod; } }); | ||
var get_storage_paths_1 = require("./get-storage-paths"); | ||
Object.defineProperty(exports, "getStoragePaths", { enumerable: true, get: function () { return get_storage_paths_1.getStoragePaths; } }); | ||
var electron_1 = require("./electron"); | ||
Object.defineProperty(exports, "getAppName", { enumerable: true, get: function () { return electron_1.getAppName; } }); | ||
Object.defineProperty(exports, "getStoragePath", { enumerable: true, get: function () { return electron_1.getStoragePath; } }); | ||
Object.defineProperty(exports, "getAppVersion", { enumerable: true, get: function () { return electron_1.getAppVersion; } }); | ||
var cancellable_promise_1 = require("./cancellable-promise"); | ||
@@ -13,2 +15,3 @@ Object.defineProperty(exports, "raceWithAbort", { enumerable: true, get: function () { return cancellable_promise_1.raceWithAbort; } }); | ||
Object.defineProperty(exports, "isCancelError", { enumerable: true, get: function () { return cancellable_promise_1.isCancelError; } }); | ||
Object.defineProperty(exports, "throwIfAborted", { enumerable: true, get: function () { return cancellable_promise_1.throwIfAborted; } }); | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@mongodb-js/compass-utils", | ||
"productName": "compass-utils Plugin", | ||
"description": "Utilities for MongoDB Compass Development", | ||
@@ -17,3 +16,3 @@ "author": { | ||
"homepage": "https://github.com/mongodb-js/compass", | ||
"version": "0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82", | ||
"version": "0.0.0-next-2205fe8c1da18cf3601e864563c162660b55339f", | ||
"repository": { | ||
@@ -39,3 +38,3 @@ "type": "git", | ||
"bootstrap": "npm run compile", | ||
"prepublishOnly": "npm run compile", | ||
"prepublishOnly": "npm run compile && compass-scripts check-exports-exist", | ||
"compile": "tsc -p tsconfig.json && gen-esm-wrapper . ./dist/.esm-wrapper.mjs", | ||
@@ -46,19 +45,16 @@ "typecheck": "tsc -p tsconfig-lint.json --noEmit", | ||
"lint": "npm run eslint . && npm run prettier -- --check .", | ||
"depcheck": "depcheck", | ||
"depcheck": "compass-scripts check-peer-deps && depcheck", | ||
"check": "npm run typecheck && npm run lint && npm run depcheck", | ||
"check-ci": "npm run check", | ||
"test": "mocha", | ||
"test-cov": "nyc -x \"**/*.spec.*\" --reporter=lcov --reporter=text --reporter=html npm run test", | ||
"test-cov": "nyc --compact=false --produce-source-map=false -x \"**/*.spec.*\" --reporter=lcov --reporter=text --reporter=html npm run test", | ||
"test-watch": "npm run test -- --watch", | ||
"test-ci": "npm run test-cov", | ||
"reformat": "npm run prettier -- --write ." | ||
"reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." | ||
}, | ||
"dependencies": { | ||
"@electron/remote": "^2.0.8" | ||
}, | ||
"devDependencies": { | ||
"@mongodb-js/eslint-config-compass": "0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82", | ||
"@mongodb-js/mocha-config-compass": "0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82", | ||
"@mongodb-js/prettier-config-compass": "0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82", | ||
"@mongodb-js/tsconfig-compass": "0.0.0-next-21edffba0b9d147d7a297a3e4a69d68cdca09b82", | ||
"@mongodb-js/eslint-config-compass": "0.0.0-next-2205fe8c1da18cf3601e864563c162660b55339f", | ||
"@mongodb-js/mocha-config-compass": "0.0.0-next-2205fe8c1da18cf3601e864563c162660b55339f", | ||
"@mongodb-js/prettier-config-compass": "0.0.0-next-2205fe8c1da18cf3601e864563c162660b55339f", | ||
"@mongodb-js/tsconfig-compass": "0.0.0-next-2205fe8c1da18cf3601e864563c162660b55339f", | ||
"@types/chai": "^4.2.21", | ||
@@ -71,9 +67,13 @@ "@types/mocha": "^9.0.0", | ||
"gen-esm-wrapper": "^1.1.0", | ||
"mocha": "^8.4.0", | ||
"mocha": "^10.2.0", | ||
"nyc": "^15.1.0", | ||
"prettier": "^2.7.1", | ||
"sinon": "^9.2.3", | ||
"typescript": "^4.8.3" | ||
"typescript": "^5.0.4" | ||
}, | ||
"gitHead": "21edffba0b9d147d7a297a3e4a69d68cdca09b82" | ||
"dependencies": { | ||
"@electron/remote": "^2.1.2", | ||
"electron": "^29.4.5" | ||
}, | ||
"gitHead": "2205fe8c1da18cf3601e864563c162660b55339f" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
46400
156
2
+ Addedelectron@^29.4.5
+ Addedelectron@29.4.6(transitive)
- Removedelectron@34.0.2(transitive)
Updated@electron/remote@^2.1.2