UNPKG

ngx-translate-testing

Version:

A library of utilities for testing with the ngx-translate i18n Angular library

34 lines 3.69 kB
import { TranslateLoader } from '@ngx-translate/core'; import { of as observableOf } from 'rxjs'; /** * The TestTranslateLoader class provides a simple loader that loads translations * from a {Translations} object, which maps language codes to translations. * * @example * const loader = new TestTranslateLoader({ * en: { * greeting: 'Hello' * }, * es: { * greeting: 'Hola' * } * } as Translations); */ export class TestTranslateLoader extends TranslateLoader { constructor(_translations = {}) { super(); this._translations = _translations; } /** * Returns an {Observable} of translations for the specified language. If the * language is not recognized, an empty translations object will be returned. * * @param language the language for which the translations should be retrieved. * @returns the translations for the specified * language or an empty set of translations if the language is not recognized. */ getTranslation(language) { return observableOf(this._translations[language] || {}); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC10cmFuc2xhdGUtbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90ZXN0aW5nL3NyYy9saWIvdGVzdC10cmFuc2xhdGUtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBYyxFQUFFLElBQUksWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXREOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBZTtJQUN0RCxZQUFvQixnQkFBOEIsRUFBRTtRQUNsRCxLQUFLLEVBQUUsQ0FBQztRQURVLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtJQUVwRCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGNBQWMsQ0FBQyxRQUFnQjtRQUNwQyxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgYXMgb2JzZXJ2YWJsZU9mIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGlvbnMsIExhbmd1YWdlVHJhbnNsYXRpb25zIH0gZnJvbSAnLi90cmFuc2xhdGlvbnMubW9kZWwnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBUZXN0VHJhbnNsYXRlTG9hZGVyIGNsYXNzIHByb3ZpZGVzIGEgc2ltcGxlIGxvYWRlciB0aGF0IGxvYWRzIHRyYW5zbGF0aW9uc1xyXG4gKiBmcm9tIGEge1RyYW5zbGF0aW9uc30gb2JqZWN0LCB3aGljaCBtYXBzIGxhbmd1YWdlIGNvZGVzIHRvIHRyYW5zbGF0aW9ucy5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogY29uc3QgbG9hZGVyID0gbmV3IFRlc3RUcmFuc2xhdGVMb2FkZXIoe1xyXG4gKiAgIGVuOiB7XHJcbiAqICAgICBncmVldGluZzogJ0hlbGxvJ1xyXG4gKiAgIH0sXHJcbiAqICAgZXM6IHtcclxuICogICAgIGdyZWV0aW5nOiAnSG9sYSdcclxuICogICB9XHJcbiAqIH0gYXMgVHJhbnNsYXRpb25zKTtcclxuICovXHJcbmV4cG9ydCBjbGFzcyBUZXN0VHJhbnNsYXRlTG9hZGVyIGV4dGVuZHMgVHJhbnNsYXRlTG9hZGVyIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9ucyA9IHt9KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBhbiB7T2JzZXJ2YWJsZX0gb2YgdHJhbnNsYXRpb25zIGZvciB0aGUgc3BlY2lmaWVkIGxhbmd1YWdlLiBJZiB0aGVcclxuICAgKiBsYW5ndWFnZSBpcyBub3QgcmVjb2duaXplZCwgYW4gZW1wdHkgdHJhbnNsYXRpb25zIG9iamVjdCB3aWxsIGJlIHJldHVybmVkLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGxhbmd1YWdlIHRoZSBsYW5ndWFnZSBmb3Igd2hpY2ggdGhlIHRyYW5zbGF0aW9ucyBzaG91bGQgYmUgcmV0cmlldmVkLlxyXG4gICAqIEByZXR1cm5zIHRoZSB0cmFuc2xhdGlvbnMgZm9yIHRoZSBzcGVjaWZpZWRcclxuICAgKiAgICAgICAgICBsYW5ndWFnZSBvciBhbiBlbXB0eSBzZXQgb2YgdHJhbnNsYXRpb25zIGlmIHRoZSBsYW5ndWFnZSBpcyBub3QgcmVjb2duaXplZC5cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0VHJhbnNsYXRpb24obGFuZ3VhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8TGFuZ3VhZ2VUcmFuc2xhdGlvbnM+IHtcclxuICAgIHJldHVybiBvYnNlcnZhYmxlT2YodGhpcy5fdHJhbnNsYXRpb25zW2xhbmd1YWdlXSB8fCB7fSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==