@cisstech/nge
Version:
NG Essentials is a collection of libraries for Angular developers.
42 lines (41 loc) • 1.89 kB
TypeScript
import { OnDestroy } from '@angular/core';
import { ResourceLoaderService } from '@cisstech/nge/services';
import { NgeMonacoContribution } from '../contributions/monaco-contribution';
import { NgeMonacoConfig } from '../monaco-config';
import * as i0 from "@angular/core";
/** monaco editor cdn url hosted at cdnjs. */
export declare const MONACO_CDNJS_URL = "https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.52.0";
/** monaco editor cdn url hosted at jsdeliver. */
export declare const MONACO_JS_DELIVER_URL = "https://cdn.jsdelivr.net/npm/monaco-editor@0.52.0";
/**
* Loads monaco editor using AMD loader.
*/
export declare class NgeMonacoLoaderService implements OnDestroy {
private readonly config;
private readonly contributions;
private readonly resourceLoader;
private readonly monaco$;
private baseUrl;
private loadPromise?;
constructor(config: NgeMonacoConfig, contributions: NgeMonacoContribution[], resourceLoader: ResourceLoaderService);
ngOnDestroy(): Promise<void>;
/**
* Call the given `observer` function to extend monaco editor functionalities
* once it will be available in `window.monaco`.
*
* The function will be called immediately if monaco api is already loaded.
* @param observer observer object.
* @returns A subscription object that should be unsubscribed later.
*/
onLoadMonaco(observer: (arg: typeof monaco) => void): import("rxjs").Subscription;
/**
* Loads monaco editor if it is not loaded.
*/
loadAsync(): Promise<typeof monaco>;
private onLoad;
private addWorkersIfCrossDomain;
private activateContributions;
private deactivateContributions;
static ɵfac: i0.ɵɵFactoryDeclaration<NgeMonacoLoaderService, [{ optional: true; }, { optional: true; }, null]>;
static ɵprov: i0.ɵɵInjectableDeclaration<NgeMonacoLoaderService>;
}