@codingame/monaco-vscode-extensions-service-override
Version:
VSCode public API plugged on the monaco editor - extensions service-override
47 lines (44 loc) • 2.6 kB
JavaScript
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
import 'vscode/vscode/vs/platform/instantiation/common/extensions';
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
import { FileAccess, Schemas } from 'vscode/vscode/vs/base/common/network';
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
import { AbstractExtensionResourceLoaderService } from 'vscode/vscode/vs/platform/extensionResourceLoader/common/extensionResourceLoader';
import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
let ExtensionResourceLoaderService = class ExtensionResourceLoaderService extends AbstractExtensionResourceLoaderService {
constructor(fileService, storageService, productService, environmentService, configurationService, _logService) {
super(fileService, storageService, productService, environmentService, configurationService);
this._logService = _logService;
}
async readExtensionResource(uri) {
uri = FileAccess.uriToBrowserUri(uri);
if (uri.scheme !== Schemas.http && uri.scheme !== Schemas.https && uri.scheme !== Schemas.data) {
const result = await this._fileService.readFile(uri);
return ( result.value.toString());
}
const requestInit = {};
if (this.isExtensionGalleryResource(uri)) {
requestInit.headers = await this.getExtensionGalleryRequestHeaders();
requestInit.mode = 'cors';
}
const response = await fetch(( uri.toString(true)), requestInit);
if (response.status !== 200) {
this._logService.info(`Request to '${( uri.toString(true))}' failed with status code ${response.status}`);
throw ( new Error(response.statusText));
}
return response.text();
}
};
ExtensionResourceLoaderService = ( __decorate([
( __param(0, IFileService)),
( __param(1, IStorageService)),
( __param(2, IProductService)),
( __param(3, IEnvironmentService)),
( __param(4, IConfigurationService)),
( __param(5, ILogService))
], ExtensionResourceLoaderService));
export { ExtensionResourceLoaderService };