sussudio
Version:
An unofficial VS Code Internal API
43 lines (42 loc) • 2.45 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { ErrorNoTelemetry } from "../../../base/common/errors.mjs";
import { createDecorator } from "../../instantiation/common/instantiation.mjs";
export const IRemoteAuthorityResolverService = createDecorator('remoteAuthorityResolverService');
export var RemoteAuthorityResolverErrorCode;
(function (RemoteAuthorityResolverErrorCode) {
RemoteAuthorityResolverErrorCode["Unknown"] = "Unknown";
RemoteAuthorityResolverErrorCode["NotAvailable"] = "NotAvailable";
RemoteAuthorityResolverErrorCode["TemporarilyNotAvailable"] = "TemporarilyNotAvailable";
RemoteAuthorityResolverErrorCode["NoResolverFound"] = "NoResolverFound";
})(RemoteAuthorityResolverErrorCode || (RemoteAuthorityResolverErrorCode = {}));
export class RemoteAuthorityResolverError extends ErrorNoTelemetry {
static isNotAvailable(err) {
return (err instanceof RemoteAuthorityResolverError) && err._code === RemoteAuthorityResolverErrorCode.NotAvailable;
}
static isTemporarilyNotAvailable(err) {
return (err instanceof RemoteAuthorityResolverError) && err._code === RemoteAuthorityResolverErrorCode.TemporarilyNotAvailable;
}
static isNoResolverFound(err) {
return (err instanceof RemoteAuthorityResolverError) && err._code === RemoteAuthorityResolverErrorCode.NoResolverFound;
}
static isHandled(err) {
return (err instanceof RemoteAuthorityResolverError) && err.isHandled;
}
_message;
_code;
_detail;
isHandled;
constructor(message, code = RemoteAuthorityResolverErrorCode.Unknown, detail) {
super(message);
this._message = message;
this._code = code;
this._detail = detail;
this.isHandled = (code === RemoteAuthorityResolverErrorCode.NotAvailable) && detail === true;
// workaround when extending builtin objects and when compiling to ES5, see:
// https://github.com/microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
Object.setPrototypeOf(this, RemoteAuthorityResolverError.prototype);
}
}