@ngneat/transloco
Version:
The internationalization (i18n) library for Angular
155 lines • 13 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/transloco-testing.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { APP_INITIALIZER, Inject, Injectable, InjectionToken, NgModule } from '@angular/core';
import { TRANSLOCO_LOADER } from './transloco.loader';
import { of } from 'rxjs';
import { defaultProviders, TranslocoModule } from './transloco.module';
import { TRANSLOCO_CONFIG, translocoConfig } from './transloco.config';
import { TranslocoService } from './transloco.service';
/**
* @record
*/
export function TranslocoTestingOptions() { }
if (false) {
/** @type {?|undefined} */
TranslocoTestingOptions.prototype.translocoConfig;
/** @type {?|undefined} */
TranslocoTestingOptions.prototype.preloadLangs;
/** @type {?|undefined} */
TranslocoTestingOptions.prototype.langs;
}
/** @type {?} */
const TRANSLOCO_TEST_LANGS = new InjectionToken('TRANSLOCO_TEST_LANGS - Available testing languages');
/** @type {?} */
const TRANSLOCO_TEST_OPTIONS = new InjectionToken('TRANSLOCO_TEST_OPTIONS - Testing options');
export class TestingLoader {
/**
* @param {?} langs
*/
constructor(langs) {
this.langs = langs;
}
/**
* @param {?} lang
* @return {?}
*/
getTranslation(lang) {
return of(this.langs[lang]);
}
}
TestingLoader.decorators = [
{ type: Injectable }
];
/** @nocollapse */
TestingLoader.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: [TRANSLOCO_TEST_LANGS,] }] }
];
if (false) {
/**
* @type {?}
* @private
*/
TestingLoader.prototype.langs;
}
/**
* @param {?} service
* @param {?=} langs
* @param {?=} options
* @return {?}
*/
export function initTranslocoService(service, langs = {}, options) {
/** @type {?} */
const preloadAllLangs = (/**
* @return {?}
*/
() => options.preloadLangs
? Promise.all(Object.keys(langs).map((/**
* @param {?} lang
* @return {?}
*/
lang => service.load(lang).toPromise())))
: Promise.resolve());
return preloadAllLangs;
}
export class TranslocoTestingModule {
/**
* @param {?} options
* @return {?}
*/
static forRoot(options) {
return {
ngModule: TranslocoTestingModule,
providers: [
{
provide: TRANSLOCO_TEST_LANGS,
useValue: options.langs
},
{
provide: TRANSLOCO_TEST_OPTIONS,
useValue: options
},
{
provide: APP_INITIALIZER,
useFactory: initTranslocoService,
deps: [TranslocoService, TRANSLOCO_TEST_LANGS, TRANSLOCO_TEST_OPTIONS],
multi: true
},
{
provide: TRANSLOCO_LOADER,
useClass: TestingLoader
},
defaultProviders,
{
provide: TRANSLOCO_CONFIG,
useValue: translocoConfig(Object.assign({ prodMode: true, missingHandler: { logMissingKey: false } }, options.translocoConfig))
}
]
};
}
/**
* @deprecated - use forRoot instead
* @param {?} langs
* @param {?=} config
* @param {?=} options
* @return {?}
*/
static withLangs(langs, config = {}, options = {}) {
return {
ngModule: TranslocoTestingModule,
providers: [
{
provide: TRANSLOCO_TEST_LANGS,
useValue: langs
},
{
provide: TRANSLOCO_TEST_OPTIONS,
useValue: options
},
{
provide: APP_INITIALIZER,
useFactory: initTranslocoService,
deps: [TranslocoService, TRANSLOCO_TEST_LANGS, TRANSLOCO_TEST_OPTIONS],
multi: true
},
{
provide: TRANSLOCO_LOADER,
useClass: TestingLoader
},
defaultProviders,
{
provide: TRANSLOCO_CONFIG,
useValue: translocoConfig(Object.assign({ prodMode: true, missingHandler: { logMissingKey: false } }, config))
}
]
};
}
}
TranslocoTestingModule.decorators = [
{ type: NgModule, args: [{
exports: [TranslocoModule]
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLXRlc3RpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC90cmFuc2xvY28vIiwic291cmNlcyI6WyJsaWIvdHJhbnNsb2NvLXRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxnQkFBZ0IsRUFBbUIsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRXZELDZDQUlDOzs7SUFIQyxrREFBMkM7O0lBQzNDLCtDQUF1Qjs7SUFDdkIsd0NBQTZCOzs7TUFHekIsb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQzdDLG9EQUFvRCxDQUNyRDs7TUFDSyxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBMEIsMENBQTBDLENBQUM7QUFHdEgsTUFBTSxPQUFPLGFBQWE7Ozs7SUFDeEIsWUFBa0QsS0FBMkI7UUFBM0IsVUFBSyxHQUFMLEtBQUssQ0FBc0I7SUFBRyxDQUFDOzs7OztJQUVqRixjQUFjLENBQUMsSUFBWTtRQUN6QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7O1lBTkYsVUFBVTs7Ozs0Q0FFSSxNQUFNLFNBQUMsb0JBQW9COzs7Ozs7O0lBQTVCLDhCQUFpRTs7Ozs7Ozs7QUFPL0UsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxPQUF5QixFQUN6QixRQUE4QixFQUFFLEVBQ2hDLE9BQWdDOztVQUUxQixlQUFlOzs7SUFBRyxHQUFHLEVBQUUsQ0FDM0IsT0FBTyxDQUFDLFlBQVk7UUFDbEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHOzs7O1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUV2QixPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBS0QsTUFBTSxPQUFPLHNCQUFzQjs7Ozs7SUFDakMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFnQztRQUM3QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjtvQkFDN0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLO2lCQUN4QjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsc0JBQXNCO29CQUMvQixRQUFRLEVBQUUsT0FBTztpQkFDbEI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxvQkFBb0I7b0JBQ2hDLElBQUksRUFBRSxDQUFDLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixDQUFDO29CQUN0RSxLQUFLLEVBQUUsSUFBSTtpQkFDWjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsZ0JBQWdCO29CQUN6QixRQUFRLEVBQUUsYUFBYTtpQkFDeEI7Z0JBQ0QsZ0JBQWdCO2dCQUNoQjtvQkFDRSxPQUFPLEVBQUUsZ0JBQWdCO29CQUN6QixRQUFRLEVBQUUsZUFBZSxpQkFDdkIsUUFBUSxFQUFFLElBQUksRUFDZCxjQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQ3JDLE9BQU8sQ0FBQyxlQUFlLEVBQzFCO2lCQUNIO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7Ozs7SUFHRCxNQUFNLENBQUMsU0FBUyxDQUNkLEtBQTJCLEVBQzNCLFNBQW1DLEVBQUUsRUFDckMsVUFBbUMsRUFBRTtRQUVyQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjtvQkFDN0IsUUFBUSxFQUFFLEtBQUs7aUJBQ2hCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxzQkFBc0I7b0JBQy9CLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLG9CQUFvQjtvQkFDaEMsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUM7b0JBQ3RFLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO2lCQUN4QjtnQkFDRCxnQkFBZ0I7Z0JBQ2hCO29CQUNFLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLFFBQVEsRUFBRSxlQUFlLGlCQUN2QixRQUFRLEVBQUUsSUFBSSxFQUNkLGNBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFDckMsTUFBTSxFQUNUO2lCQUNIO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBN0VGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7YUFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUUkFOU0xPQ09fTE9BREVSLCBUcmFuc2xvY29Mb2FkZXIgfSBmcm9tICcuL3RyYW5zbG9jby5sb2FkZXInO1xuaW1wb3J0IHsgSGFzaE1hcCwgVHJhbnNsYXRpb24gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWZhdWx0UHJvdmlkZXJzLCBUcmFuc2xvY29Nb2R1bGUgfSBmcm9tICcuL3RyYW5zbG9jby5tb2R1bGUnO1xuaW1wb3J0IHsgVFJBTlNMT0NPX0NPTkZJRywgVHJhbnNsb2NvQ29uZmlnLCB0cmFuc2xvY29Db25maWcgfSBmcm9tICcuL3RyYW5zbG9jby5jb25maWcnO1xuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJy4vdHJhbnNsb2NvLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbG9jb1Rlc3RpbmdPcHRpb25zIHtcbiAgdHJhbnNsb2NvQ29uZmlnPzogUGFydGlhbDxUcmFuc2xvY29Db25maWc+O1xuICBwcmVsb2FkTGFuZ3M/OiBib29sZWFuO1xuICBsYW5ncz86IEhhc2hNYXA8VHJhbnNsYXRpb24+O1xufVxuXG5jb25zdCBUUkFOU0xPQ09fVEVTVF9MQU5HUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxIYXNoTWFwPFRyYW5zbGF0aW9uPj4oXG4gICdUUkFOU0xPQ09fVEVTVF9MQU5HUyAtIEF2YWlsYWJsZSB0ZXN0aW5nIGxhbmd1YWdlcydcbik7XG5jb25zdCBUUkFOU0xPQ09fVEVTVF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFRyYW5zbG9jb1Rlc3RpbmdPcHRpb25zPignVFJBTlNMT0NPX1RFU1RfT1BUSU9OUyAtIFRlc3Rpbmcgb3B0aW9ucycpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGVzdGluZ0xvYWRlciBpbXBsZW1lbnRzIFRyYW5zbG9jb0xvYWRlciB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoVFJBTlNMT0NPX1RFU1RfTEFOR1MpIHByaXZhdGUgbGFuZ3M6IEhhc2hNYXA8VHJhbnNsYXRpb24+KSB7fVxuXG4gIGdldFRyYW5zbGF0aW9uKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8VHJhbnNsYXRpb24+IHwgUHJvbWlzZTxUcmFuc2xhdGlvbj4ge1xuICAgIHJldHVybiBvZih0aGlzLmxhbmdzW2xhbmddKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFRyYW5zbG9jb1NlcnZpY2UoXG4gIHNlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2UsXG4gIGxhbmdzOiBIYXNoTWFwPFRyYW5zbGF0aW9uPiA9IHt9LFxuICBvcHRpb25zOiBUcmFuc2xvY29UZXN0aW5nT3B0aW9uc1xuKSB7XG4gIGNvbnN0IHByZWxvYWRBbGxMYW5ncyA9ICgpID0+XG4gICAgb3B0aW9ucy5wcmVsb2FkTGFuZ3NcbiAgICAgID8gUHJvbWlzZS5hbGwoT2JqZWN0LmtleXMobGFuZ3MpLm1hcChsYW5nID0+IHNlcnZpY2UubG9hZChsYW5nKS50b1Byb21pc2UoKSkpXG4gICAgICA6IFByb21pc2UucmVzb2x2ZSgpO1xuXG4gIHJldHVybiBwcmVsb2FkQWxsTGFuZ3M7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtUcmFuc2xvY29Nb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb1Rlc3RpbmdNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zOiBUcmFuc2xvY29UZXN0aW5nT3B0aW9ucykge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVHJhbnNsb2NvVGVzdGluZ01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX1RFU1RfTEFOR1MsXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMubGFuZ3NcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19URVNUX09QVElPTlMsXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnNcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICB1c2VGYWN0b3J5OiBpbml0VHJhbnNsb2NvU2VydmljZSxcbiAgICAgICAgICBkZXBzOiBbVHJhbnNsb2NvU2VydmljZSwgVFJBTlNMT0NPX1RFU1RfTEFOR1MsIFRSQU5TTE9DT19URVNUX09QVElPTlNdLFxuICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBUUkFOU0xPQ09fTE9BREVSLFxuICAgICAgICAgIHVzZUNsYXNzOiBUZXN0aW5nTG9hZGVyXG4gICAgICAgIH0sXG4gICAgICAgIGRlZmF1bHRQcm92aWRlcnMsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBUUkFOU0xPQ09fQ09ORklHLFxuICAgICAgICAgIHVzZVZhbHVlOiB0cmFuc2xvY29Db25maWcoe1xuICAgICAgICAgICAgcHJvZE1vZGU6IHRydWUsXG4gICAgICAgICAgICBtaXNzaW5nSGFuZGxlcjogeyBsb2dNaXNzaW5nS2V5OiBmYWxzZSB9LFxuICAgICAgICAgICAgLi4ub3B0aW9ucy50cmFuc2xvY29Db25maWdcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCAtIHVzZSBmb3JSb290IGluc3RlYWQgKi9cbiAgc3RhdGljIHdpdGhMYW5ncyhcbiAgICBsYW5nczogSGFzaE1hcDxUcmFuc2xhdGlvbj4sXG4gICAgY29uZmlnOiBQYXJ0aWFsPFRyYW5zbG9jb0NvbmZpZz4gPSB7fSxcbiAgICBvcHRpb25zOiBUcmFuc2xvY29UZXN0aW5nT3B0aW9ucyA9IHt9XG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VHJhbnNsb2NvVGVzdGluZ01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogVHJhbnNsb2NvVGVzdGluZ01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX1RFU1RfTEFOR1MsXG4gICAgICAgICAgdXNlVmFsdWU6IGxhbmdzXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBUUkFOU0xPQ09fVEVTVF9PUFRJT05TLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgdXNlRmFjdG9yeTogaW5pdFRyYW5zbG9jb1NlcnZpY2UsXG4gICAgICAgICAgZGVwczogW1RyYW5zbG9jb1NlcnZpY2UsIFRSQU5TTE9DT19URVNUX0xBTkdTLCBUUkFOU0xPQ09fVEVTVF9PUFRJT05TXSxcbiAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX0xPQURFUixcbiAgICAgICAgICB1c2VDbGFzczogVGVzdGluZ0xvYWRlclxuICAgICAgICB9LFxuICAgICAgICBkZWZhdWx0UHJvdmlkZXJzLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX0NPTkZJRyxcbiAgICAgICAgICB1c2VWYWx1ZTogdHJhbnNsb2NvQ29uZmlnKHtcbiAgICAgICAgICAgIHByb2RNb2RlOiB0cnVlLFxuICAgICAgICAgICAgbWlzc2luZ0hhbmRsZXI6IHsgbG9nTWlzc2luZ0tleTogZmFsc2UgfSxcbiAgICAgICAgICAgIC4uLmNvbmZpZ1xuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=