File Explorer

/proc/self/root/var/runtime/node_modules/@aws-sdk/node_modules/aws-crt/dist/common

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

cancel.js4.6 KB · 131 lines
"use strict";/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {    if (k2 === undefined) k2 = k;    var desc = Object.getOwnPropertyDescriptor(m, k);    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {      desc = { enumerable: true, get: function() { return m[k]; } };    }    Object.defineProperty(o, k2, desc);}) : (function(o, m, k, k2) {    if (k2 === undefined) k2 = k;    o[k2] = m[k];}));var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {    Object.defineProperty(o, "default", { enumerable: true, value: v });}) : function(o, v) {    o["default"] = v;});var __importStar = (this && this.__importStar) || function (mod) {    if (mod && mod.__esModule) return mod;    var result = {};    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);    __setModuleDefault(result, mod);    return result;};Object.defineProperty(exports, "__esModule", { value: true });exports.newCancellablePromiseFromNextEvent = exports.CancelController = exports.EVENT_NAME = void 0;/** * * A module containing support for cancelling asynchronous operations * * @packageDocumentation * @module cancel */const events_1 = require("events");const promise = __importStar(require("./promise"));exports.EVENT_NAME = 'cancelled';/** * CRT implementation of the ICancelController interface */class CancelController {    constructor(options) {        this.cancelled = false;        if (options && options.emitterFactory) {            this.emitter = options.emitterFactory();        }        else {            this.emitter = new events_1.EventEmitter();        }    }    /**     * Cancels all asynchronous operations associated with this controller     */    cancel() {        if (!this.cancelled) {            this.cancelled = true;            this.emitter.emit(exports.EVENT_NAME);            this.emitter.removeAllListeners(exports.EVENT_NAME);        }    }    /**     * Checks whether or not the controller is in the cancelled state     */    hasBeenCancelled() {        return this.cancelled;    }    /**     * Registers a callback to be notified when cancel() is invoked externally.  In general, the callback     * will cancel an asynchronous operation by rejecting the associated promise.     *     * IMPORTANT: The listener is invoked synchronously if the controller has already been cancelled.     *     * @param listener - function to invoke on cancel; invoked synchronously if the controller has been cancelled     *     * @return undefined if the controller has already been cancelled, otherwise a function object whose invocation     * will remove the listener from the controller's event emitter.     *     */    addListener(listener) {        if (this.cancelled) {            listener();            return undefined;        }        this.emitter.on(exports.EVENT_NAME, listener);        return () => { this.emitter.removeListener(exports.EVENT_NAME, listener); };    }}exports.CancelController = CancelController;/** * Creates a promise that can be rejected by a CancelController and resolved by the receipt of an event from an * EventEmitter. * * @param config promise creation options */function newCancellablePromiseFromNextEvent(config) {    let onEvent = undefined;    let cancelRemoveListener = undefined;    let liftedPromise = promise.newLiftedPromise();    onEvent = (eventData) => {        try {            if (config.eventDataTransformer) {                liftedPromise.resolve(config.eventDataTransformer(eventData));            }            else {                liftedPromise.resolve(eventData);            }        }        catch (err) {            liftedPromise.reject(err);        }    };    config.emitter.addListener(config.eventName, onEvent);    if (config.cancelController) {        cancelRemoveListener = config.cancelController.addListener(() => {            liftedPromise.reject(config.cancelMessage);        });    }    return promise.makeSelfCleaningPromise(liftedPromise.promise, () => {        if (onEvent) {            config.emitter.removeListener(config.eventName, onEvent);        }        if (cancelRemoveListener) {            cancelRemoveListener();        }    });}exports.newCancellablePromiseFromNextEvent = newCancellablePromiseFromNextEvent;//# sourceMappingURL=cancel.js.map