UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

63 lines 2.92 kB
import { InjectionToken, Injector } from '@angular/core'; import { Router } from '@angular/router'; import { ExtensionFactory, ExtensionPointWithoutStateForPlugins, GenericHookType, PluginsResolveService, GenericHookOptions } from '@c8y/ngx-components'; import { Observable } from 'rxjs'; import { RegisterDeviceItem } from './RegisterDeviceItem'; import * as i0 from "@angular/core"; /** * An extension HOOK can use either a pure value: * ```typescript * { provide: HOOK_X, useValue: { ...hookValue }, multi: true } * ``` * * Or an array to directly register multiple: * ```typescript * { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true } * ``` * * Or an ExtensionFactory which allows to define a get() function. This function * gets called on each navigation with the current route and can return values * async (observable or promise). * ```typescript * { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true } * ``` */ export type RegisterDeviceExtension = RegisterDeviceItem | RegisterDeviceItem[] | ExtensionFactory<RegisterDeviceItem>; /** * A hook to use for Multi Provider extension. * @deprecated Consider using the `hookDeviceRegistration` function instead. */ export declare const HOOK_DEVICE_REGISTRATION: InjectionToken<RegisterDeviceExtension>; /** * You can either provide a single `RegisterDeviceExtension` as parameter: * ```typescript * hookDeviceRegistration(...) * ``` * * Or an array to directly register multiple: * ```typescript * hookDeviceRegistration([...]) * ``` * * Or you provide an Service that implements `ExtensionFactory<RegisterDeviceExtension>` * ```typescript * export class MyDeviceRegistrationFactory implements ExtensionFactory<RegisterDeviceExtension> {...} * ... * hookDeviceRegistration(MyDeviceRegistrationFactory) * ``` * A typed alternative to `HOOK_DEVICE_REGISTRATION`. * @param registration The `RegisterDeviceExtension`'s or `ExtensionFactory` to be provided. * @returns An `Provider` to be provided in your module. */ export declare function hookDeviceRegistration(registration: GenericHookType<RegisterDeviceExtension>, options?: Partial<GenericHookOptions>): import("@angular/core").ValueProvider | import("@angular/core").ClassProvider | import("@angular/core").ExistingProvider; /** * A service which defines device registration options. */ export declare class RegisterDeviceExtensionService extends ExtensionPointWithoutStateForPlugins<RegisterDeviceItem> { private router; constructor(rootInjector: Injector, router: Router, plugins: PluginsResolveService); protected setupItemsObservable(): Observable<RegisterDeviceItem[]>; static ɵfac: i0.ɵɵFactoryDeclaration<RegisterDeviceExtensionService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<RegisterDeviceExtensionService>; } //# sourceMappingURL=register-device-extension.service.d.ts.map