@interopio/ng
Version:
IO Connect library for Angular - Browser and Desktop
82 lines (74 loc) • 3.32 kB
TypeScript
import * as i0 from '@angular/core';
import { ModuleWithProviders, EnvironmentProviders } from '@angular/core';
import { IOConnectBrowserFactoryFunction, IOConnectBrowser } from '@interopio/browser';
import { IOConnectDesktop } from '@interopio/desktop';
import { IOConnectBrowserPlatformFactoryFunction, IOConnectBrowserPlatform } from '@interopio/browser-platform';
import { Observable } from 'rxjs';
type IODesktopFactoryFunction = (config?: IOConnectDesktop.Config) => Promise<IOConnectDesktop.API>;
type IOConnectNgFactoryConfig = IOConnectDesktop.Config | IOConnectBrowser.Config | IOConnectBrowserPlatform.Config;
type IOConnectNgFactory = IOConnectBrowserFactoryFunction | IOConnectBrowserPlatformFactoryFunction | IODesktopFactoryFunction;
interface IOConnectNgSettings {
holdInit?: boolean;
browser?: {
factory?: IOConnectBrowserFactoryFunction;
config?: IOConnectBrowser.Config;
};
browserPlatform?: {
factory?: IOConnectBrowserPlatformFactoryFunction;
config?: IOConnectBrowserPlatform.Config;
};
desktop?: {
factory?: IODesktopFactoryFunction;
config?: IOConnectDesktop.Config;
};
}
declare class IOConnectNg {
static forRoot(settings?: IOConnectNgSettings): ModuleWithProviders<IOConnectNg>;
static ɵfac: i0.ɵɵFactoryDeclaration<IOConnectNg, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<IOConnectNg, never, never, never>;
static ɵinj: i0.ɵɵInjectorDeclaration<IOConnectNg>;
}
declare const provideIoConnect: (settings?: IOConnectNgSettings) => EnvironmentProviders;
declare class IOConnectConfigService {
private readonly _userSettings;
private readonly isDesktop;
constructor(userSettings: IOConnectNgSettings);
getSettings(): IOConnectNgSettings;
verifyConfig(): void;
getFactory(): IOConnectNgFactory | undefined;
getConfig(): IOConnectNgFactoryConfig | undefined;
getHoldInit(): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<IOConnectConfigService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<IOConnectConfigService>;
}
declare class IOConnectInitializer {
private readonly configService;
private readonly defaultInitTimeoutMilliseconds;
private initializationSource;
constructor(configService: IOConnectConfigService);
start(): Promise<void>;
onState(): Observable<{
glueInstance?: IOConnectBrowser.API | IOConnectDesktop.API;
error?: any;
}>;
private safeCallFactory;
static ɵfac: i0.ɵɵFactoryDeclaration<IOConnectInitializer, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<IOConnectInitializer>;
}
declare class IOConnectStore {
private readonly initializer;
private readonly readySource;
private glueInstance?;
private _initError;
constructor(initializer: IOConnectInitializer);
ready(): Observable<{
error?: any;
}>;
getInitError(): any;
getIOConnect(): IOConnectDesktop.API | IOConnectBrowser.API;
private handleState;
static ɵfac: i0.ɵɵFactoryDeclaration<IOConnectStore, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<IOConnectStore>;
}
export { IOConnectNg, IOConnectStore, provideIoConnect };
export type { IOConnectNgFactory, IOConnectNgFactoryConfig, IOConnectNgSettings, IODesktopFactoryFunction };