UNPKG

sussudio

Version:

An unofficial VS Code Internal API

22 lines (21 loc) 1.32 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { SyncDescriptor } from './descriptors'; import { BrandedService, ServiceIdentifier } from './instantiation'; export declare const enum InstantiationType { /** * Instantiate this service as soon as a consumer depdends on it. _Note_ that this * is more costly as some upfront work is done that is likely not needed */ Eager = 0, /** * Instantiate this service as soon as a consumer uses it. This is the _better_ * way of registering a service. */ Delayed = 1 } export declare function registerSingleton<T, Services extends BrandedService[]>(id: ServiceIdentifier<T>, ctor: new (...services: Services) => T, supportsDelayedInstantiation: InstantiationType): void; export declare function registerSingleton<T, Services extends BrandedService[]>(id: ServiceIdentifier<T>, descriptor: SyncDescriptor<any>): void; export declare function getSingletonServiceDescriptors(): [ServiceIdentifier<any>, SyncDescriptor<any>][];