"use strict";
/* ---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExtHostFileSystemInfo = void 0;
const ide_core_common_1 = require("@opensumi/ide-core-common");
class ExtHostFileSystemInfo {
    constructor() {
        this._systemSchemes = new Set(Object.keys(ide_core_common_1.Schemes));
        this._providerInfo = new Map();
    }
    $acceptProviderInfos(scheme, capabilities) {
        if (capabilities === null) {
            this._providerInfo.delete(scheme);
        }
        else {
            this._providerInfo.set(scheme, capabilities);
        }
    }
    isFreeScheme(scheme) {
        return !this._providerInfo.has(scheme) && !this._systemSchemes.has(scheme);
    }
    getCapabilities(scheme) {
        return this._providerInfo.get(scheme);
    }
}
exports.ExtHostFileSystemInfo = ExtHostFileSystemInfo;
//# sourceMappingURL=ext.host.file-system-info.js.map