@ngx-easy-i18n-js/http-loader
Version:
Http loader for ngx-easy-i18n-js
60 lines (55 loc) • 2.29 kB
TypeScript
import { Provider } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { EasyI18nMessages } from 'easy-i18n-js';
import { EasyI18nLoader } from '@ngx-easy-i18n-js/core';
import { CanActivateFn } from '@angular/router';
interface IHttpEasyI18nLoaderOptions {
/**
* Url prefix, default '/assets/i18n/' or Array of prefix
*/
prefix?: string | string[];
/**
* Url suffix, default '.json'
*/
suffix?: string;
}
declare class HttpEasyI18nLoader extends EasyI18nLoader {
private httpClient;
private options;
constructor(httpClient: HttpClient, options?: IHttpEasyI18nLoaderOptions);
/**
* Return messages with locale with HttpClient `${this.options.prefix ?? ''}${locale}${this.options.suffix ?? ''}`
* @param locale
*/
getMessages(locale: string): Observable<EasyI18nMessages>;
}
interface IScopedHttpEasyI18nLoaderScope {
/**
* Url prefix, Array of prefix
*/
prefix: string | string[];
/**
* Alias
*/
scope?: string;
}
interface IScopedHttpEasyI18nLoaderOptions {
/**
* Url suffix, default '.json'
*/
suffix?: string;
}
declare class ScopedHttpEasyI18nLoader extends EasyI18nLoader {
readonly httpClient: HttpClient;
readonly scopes: IScopedHttpEasyI18nLoaderScope[];
readonly options?: IScopedHttpEasyI18nLoaderOptions | undefined;
private readonly list;
constructor(httpClient: HttpClient, scopes: IScopedHttpEasyI18nLoaderScope[], options?: IScopedHttpEasyI18nLoaderOptions | undefined);
getMessages(locale: string): Observable<EasyI18nMessages>;
}
declare function appendScopedHttpEasyI18nLoader(scopes: IScopedHttpEasyI18nLoaderScope[], options?: IScopedHttpEasyI18nLoaderOptions): CanActivateFn;
declare function provideEasyI18nLoader(options?: IHttpEasyI18nLoaderOptions): Provider[];
declare function provideEasyI18nScopedLoader(scopes: IScopedHttpEasyI18nLoaderScope[], options?: IHttpEasyI18nLoaderOptions): Provider[];
export { HttpEasyI18nLoader, ScopedHttpEasyI18nLoader, appendScopedHttpEasyI18nLoader, provideEasyI18nLoader, provideEasyI18nScopedLoader };
export type { IHttpEasyI18nLoaderOptions, IScopedHttpEasyI18nLoaderOptions, IScopedHttpEasyI18nLoaderScope };