@mongodb-js/compass-utils
Advanced tools
Comparing version 0.0.0-next-35420eb38f659fbfc4bff9e72644deebafef275e to 0.0.0-next-3557f0e16f6879f5310a94248560cec53ff1a861
declare class AbortError extends Error { | ||
constructor(); | ||
constructor(message?: string); | ||
name: string; | ||
} | ||
export declare const createCancelError: () => AbortError; | ||
export declare const throwIfAborted: (signal?: { | ||
aborted: boolean; | ||
reason?: Error; | ||
}) => void; | ||
export declare const createCancelError: (message?: string) => AbortError; | ||
export declare function isCancelError(error: any): error is AbortError; | ||
export declare function raceWithAbort<T>(promise: Promise<T>, signal: AbortSignal): Promise<T>; | ||
/** | ||
* Returns a promise that waits for a timeout and can be canceled with a signal | ||
* | ||
* @param ms Wait time | ||
* @param signal Abort signal | ||
*/ | ||
export declare function cancellableWait(ms: number, signal: AbortSignal): Promise<void>; | ||
export {}; | ||
//# sourceMappingURL=cancellable-promise.d.ts.map |
"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, | ||
}); | ||
} | ||
// .reason is not supported in all electron versions, so use AbortError as a fallback | ||
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; | ||
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)()); | ||
} | ||
let abortListener; | ||
// We need a promise that will reject as soon as the operation is aborted. | ||
const pendingPromise = new Promise((_resolve, reject) => { | ||
abortListener = () => { var _a; return reject((_a = signal.reason) !== null && _a !== void 0 ? _a : (0, exports.createCancelError)()); }; | ||
abortListener = () => reject(signal.reason ?? (0, exports.createCancelError)()); | ||
signal.addEventListener('abort', abortListener, { once: true }); | ||
@@ -39,2 +54,8 @@ }); | ||
exports.raceWithAbort = raceWithAbort; | ||
/** | ||
* Returns a promise that waits for a timeout and can be canceled with a signal | ||
* | ||
* @param ms Wait time | ||
* @param signal Abort signal | ||
*/ | ||
async function cancellableWait(ms, signal) { | ||
@@ -41,0 +62,0 @@ await raceWithAbort(new Promise((resolve) => { |
@@ -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-35420eb38f659fbfc4bff9e72644deebafef275e", | ||
"version": "0.0.0-next-3557f0e16f6879f5310a94248560cec53ff1a861", | ||
"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,3 +45,3 @@ "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", | ||
@@ -54,12 +53,9 @@ "check-ci": "npm run check", | ||
"test-ci": "npm run test-cov", | ||
"reformat": "npm run prettier -- --write . && npm run eslint . --fix" | ||
"reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." | ||
}, | ||
"optionalDependencies": { | ||
"@electron/remote": "^2.0.9" | ||
}, | ||
"devDependencies": { | ||
"@mongodb-js/eslint-config-compass": "0.0.0-next-35420eb38f659fbfc4bff9e72644deebafef275e", | ||
"@mongodb-js/mocha-config-compass": "0.0.0-next-35420eb38f659fbfc4bff9e72644deebafef275e", | ||
"@mongodb-js/prettier-config-compass": "0.0.0-next-35420eb38f659fbfc4bff9e72644deebafef275e", | ||
"@mongodb-js/tsconfig-compass": "0.0.0-next-35420eb38f659fbfc4bff9e72644deebafef275e", | ||
"@mongodb-js/eslint-config-compass": "0.0.0-next-3557f0e16f6879f5310a94248560cec53ff1a861", | ||
"@mongodb-js/mocha-config-compass": "0.0.0-next-3557f0e16f6879f5310a94248560cec53ff1a861", | ||
"@mongodb-js/prettier-config-compass": "0.0.0-next-3557f0e16f6879f5310a94248560cec53ff1a861", | ||
"@mongodb-js/tsconfig-compass": "0.0.0-next-3557f0e16f6879f5310a94248560cec53ff1a861", | ||
"@types/chai": "^4.2.21", | ||
@@ -78,3 +74,7 @@ "@types/mocha": "^9.0.0", | ||
}, | ||
"gitHead": "35420eb38f659fbfc4bff9e72644deebafef275e" | ||
"dependencies": { | ||
"@electron/remote": "^2.1.2", | ||
"electron": "^32.2.2" | ||
}, | ||
"gitHead": "3557f0e16f6879f5310a94248560cec53ff1a861" | ||
} |
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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
47134
175
2
+ Added@electron/remote@^2.1.2
+ Addedelectron@^32.2.2
+ Addedelectron@32.2.6(transitive)
- Removedelectron@33.2.1(transitive)