@opra/angular
Version:
Opra internationalization package
20 lines (19 loc) • 848 B
TypeScript
import { InjectionToken, NgModule, Type } from '@angular/core';
import type { StrictOmit } from 'ts-gems';
import { AngularBackend } from '../angular-backend.js';
export type OpraClientModuleOptions = AngularBackend.Options & {
serviceUrl: string;
token?: string | InjectionToken<any>;
};
type _OpraClientModuleOptions = StrictOmit<OpraClientModuleOptions, 'token'>;
export interface OpraModuleOptionsFactory {
createOptions(): Promise<_OpraClientModuleOptions> | _OpraClientModuleOptions;
}
export interface OpraClientModuleAsyncOptions extends Pick<NgModule, 'imports' | 'providers'> {
token?: string | InjectionToken<any>;
useExisting?: Type<OpraModuleOptionsFactory>;
useClass?: Type<any>;
useFactory?: (...args: any[]) => Promise<_OpraClientModuleOptions> | _OpraClientModuleOptions;
deps?: any[];
}
export {};