@jsverse/transloco-messageformat 7.0.1 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
# Transloco MessageFormat
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Discover more about this plugin and how it can enhance your workflow in the [official Transloco documentation](https://jsverse.gitbook.io/transloco/plugins/message-format).
|
|
@@ -19,4 +19,4 @@ export function cachedFactory(locales, messageConfig) {
|
|
|
19
19
|
};
|
|
20
20
|
return mf;
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZWZvcm1hdC5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy90cmFuc2xvY28tbWVzc2FnZWZvcm1hdC9zcmMvbGliL21lc3NhZ2Vmb3JtYXQuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGFBR04sTUFBTSxxQkFBcUIsQ0FBQztBQVM3QixNQUFNLFVBQVUsY0FBYyxDQUM1QixPQUFpQixFQUNqQixhQUE2QztJQUU3QyxPQUFPLElBQUksYUFBYSxDQUFXLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsT0FBaUIsRUFDakIsYUFBNkM7SUFFN0MsTUFBTSxFQUFFLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNsRCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQzVCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFxQyxDQUFDO0lBQzNELE1BQU0sU0FBUyxHQUFHLEtBQUssT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLGFBQWEsQ0FBQyxhQUFhLElBQUksQ0FBQztJQUU5RSxFQUFFLENBQUMsT0FBTyxHQUFHLFVBQVUsUUFBZ0I7UUFDckMsTUFBTSxRQUFRLEdBQUcsR0FBRyxTQUFTLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV0QyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXpCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBRUYsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1lc3NhZ2VGb3JtYXQsIHtcbiAgTWVzc2FnZUZvcm1hdE9wdGlvbnMsXG4gIE1lc3NhZ2VGdW5jdGlvbixcbn0gZnJvbSAnQG1lc3NhZ2Vmb3JtYXQvY29yZSc7XG5cbmltcG9ydCB7IE1GTG9jYWxlIH0gZnJvbSAnLi9tZXNzYWdlZm9ybWF0LmNvbmZpZyc7XG5cbmV4cG9ydCB0eXBlIE1GRmFjdG9yeSA9IChcbiAgbG9jYWxlczogTUZMb2NhbGUsXG4gIG1lc3NhZ2VDb25maWc6IE1lc3NhZ2VGb3JtYXRPcHRpb25zPCdzdHJpbmcnPixcbikgPT4gTWVzc2FnZUZvcm1hdDtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRGYWN0b3J5KFxuICBsb2NhbGVzOiBNRkxvY2FsZSxcbiAgbWVzc2FnZUNvbmZpZzogTWVzc2FnZUZvcm1hdE9wdGlvbnM8J3N0cmluZyc+LFxuKTogTWVzc2FnZUZvcm1hdCB7XG4gIHJldHVybiBuZXcgTWVzc2FnZUZvcm1hdDwnc3RyaW5nJz4obG9jYWxlcywgbWVzc2FnZUNvbmZpZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWNoZWRGYWN0b3J5KFxuICBsb2NhbGVzOiBNRkxvY2FsZSxcbiAgbWVzc2FnZUNvbmZpZzogTWVzc2FnZUZvcm1hdE9wdGlvbnM8J3N0cmluZyc+LFxuKTogTWVzc2FnZUZvcm1hdCB7XG4gIGNvbnN0IG1mID0gZGVmYXVsdEZhY3RvcnkobG9jYWxlcywgbWVzc2FnZUNvbmZpZyk7XG4gIGNvbnN0IG9yaWdpbmFsID0gbWYuY29tcGlsZTtcbiAgY29uc3QgY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgTWVzc2FnZUZ1bmN0aW9uPCdzdHJpbmcnPj4oKTtcbiAgY29uc3QgbG9jYWxlS2V5ID0gYF9fJHtsb2NhbGVzPy50b1N0cmluZygpIHx8IE1lc3NhZ2VGb3JtYXQuZGVmYXVsdExvY2FsZX1fX2A7XG5cbiAgbWYuY29tcGlsZSA9IGZ1bmN0aW9uIChtZXNzYWdlczogc3RyaW5nKTogTWVzc2FnZUZ1bmN0aW9uPCdzdHJpbmcnPiB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBgJHtsb2NhbGVLZXl9JHttZXNzYWdlc31gO1xuICAgIGNvbnN0IGNhY2hlZE1zZyA9IGNhY2hlLmdldChjYWNoZUtleSk7XG5cbiAgICBpZiAoY2FjaGVkTXNnKSB7XG4gICAgICByZXR1cm4gY2FjaGVkTXNnO1xuICAgIH1cblxuICAgIGNvbnN0IG1zZyA9IG9yaWdpbmFsLmNhbGwodGhpcywgbWVzc2FnZXMpO1xuICAgIGNhY2hlLnNldChjYWNoZUtleSwgbXNnKTtcblxuICAgIHJldHVybiBtc2c7XG4gIH07XG5cbiAgcmV0dXJuIG1mO1xufVxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
-
import { DefaultTranspiler, getValue,
|
|
2
|
+
import { DefaultTranspiler, getValue, setValue, } from '@jsverse/transloco';
|
|
3
|
+
import { isObject } from '@jsverse/utils';
|
|
3
4
|
import { TRANSLOCO_MESSAGE_FORMAT_CONFIG, } from './messageformat.config';
|
|
4
5
|
import { cachedFactory, defaultFactory, } from './messageformat.factory';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
@@ -43,10 +44,10 @@ export class MessageFormatTranspiler extends DefaultTranspiler {
|
|
|
43
44
|
setLocale(locale) {
|
|
44
45
|
this.messageFormat = this.mfFactory(locale, this.messageConfig);
|
|
45
46
|
}
|
|
46
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
47
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: MessageFormatTranspiler, deps: [{ token: TRANSLOCO_MESSAGE_FORMAT_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: MessageFormatTranspiler });
|
|
48
49
|
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: MessageFormatTranspiler, decorators: [{
|
|
50
51
|
type: Injectable
|
|
51
52
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
52
53
|
type: Optional
|
|
@@ -54,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
|
|
|
54
55
|
type: Inject,
|
|
55
56
|
args: [TRANSLOCO_MESSAGE_FORMAT_CONFIG]
|
|
56
57
|
}] }] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZWZvcm1hdC50cmFuc3BpbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy90cmFuc2xvY28tbWVzc2FnZWZvcm1hdC9zcmMvbGliL21lc3NhZ2Vmb3JtYXQudHJhbnNwaWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsUUFBUSxHQUVULE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzFDLE9BQU8sRUFHTCwrQkFBK0IsR0FDaEMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQ0wsYUFBYSxFQUNiLGNBQWMsR0FFZixNQUFNLHlCQUF5QixDQUFDOztBQUdqQyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsaUJBQWlCO0lBQ3BELGFBQWEsQ0FBZ0I7SUFDcEIsYUFBYSxDQUFpQztJQUM5QyxTQUFTLENBQVk7SUFFdEMsWUFHRSxNQUEyQjtRQUUzQixLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFDSixPQUFPLEVBQ1AsV0FBVyxHQUFHLElBQUksRUFDbEIsR0FBRyxhQUFhLEVBQ2pCLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQzlELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQW1CO1FBQ2pFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7b0JBQ2pDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBZ0MsRUFBRSxDQUFDLENBQUM7b0JBQ3BELE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDM0IsV0FBVztvQkFDWCxHQUFHO2lCQUNKLENBQUMsQ0FBQztnQkFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdkQsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFeEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFZO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFnQjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRSxDQUFDO3VHQXJEVSx1QkFBdUIsa0JBT3hCLCtCQUErQjsyR0FQOUIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVOzswQkFPTixRQUFROzswQkFDUixNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIERlZmF1bHRUcmFuc3BpbGVyLFxuICBnZXRWYWx1ZSxcbiAgc2V0VmFsdWUsXG4gIFRyYW5zcGlsZVBhcmFtcyxcbn0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcbmltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnQGpzdmVyc2UvdXRpbHMnO1xuaW1wb3J0IE1lc3NhZ2VGb3JtYXQsIHsgTWVzc2FnZUZvcm1hdE9wdGlvbnMgfSBmcm9tICdAbWVzc2FnZWZvcm1hdC9jb3JlJztcblxuaW1wb3J0IHtcbiAgTWVzc2FnZWZvcm1hdENvbmZpZyxcbiAgTUZMb2NhbGUsXG4gIFRSQU5TTE9DT19NRVNTQUdFX0ZPUk1BVF9DT05GSUcsXG59IGZyb20gJy4vbWVzc2FnZWZvcm1hdC5jb25maWcnO1xuaW1wb3J0IHtcbiAgY2FjaGVkRmFjdG9yeSxcbiAgZGVmYXVsdEZhY3RvcnksXG4gIE1GRmFjdG9yeSxcbn0gZnJvbSAnLi9tZXNzYWdlZm9ybWF0LmZhY3RvcnknO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVzc2FnZUZvcm1hdFRyYW5zcGlsZXIgZXh0ZW5kcyBEZWZhdWx0VHJhbnNwaWxlciB7XG4gIHByaXZhdGUgbWVzc2FnZUZvcm1hdDogTWVzc2FnZUZvcm1hdDtcbiAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlQ29uZmlnOiBNZXNzYWdlRm9ybWF0T3B0aW9uczwnc3RyaW5nJz47XG4gIHByaXZhdGUgcmVhZG9ubHkgbWZGYWN0b3J5OiBNRkZhY3Rvcnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFRSQU5TTE9DT19NRVNTQUdFX0ZPUk1BVF9DT05GSUcpXG4gICAgY29uZmlnOiBNZXNzYWdlZm9ybWF0Q29uZmlnLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHtcbiAgICAgIGxvY2FsZXMsXG4gICAgICBlbmFibGVDYWNoZSA9IHRydWUsXG4gICAgICAuLi5tZXNzYWdlQ29uZmlnXG4gICAgfSA9IHsgbG9jYWxlczogbnVsbCwgLi4uY29uZmlnIH07XG4gICAgdGhpcy5tZXNzYWdlQ29uZmlnID0gbWVzc2FnZUNvbmZpZztcbiAgICB0aGlzLm1mRmFjdG9yeSA9IGVuYWJsZUNhY2hlID8gY2FjaGVkRmFjdG9yeSA6IGRlZmF1bHRGYWN0b3J5O1xuICAgIHRoaXMubWVzc2FnZUZvcm1hdCA9IHRoaXMubWZGYWN0b3J5KGxvY2FsZXMsIG1lc3NhZ2VDb25maWcpO1xuICB9XG5cbiAgdHJhbnNwaWxlKHsgdmFsdWUsIHBhcmFtcyA9IHt9LCB0cmFuc2xhdGlvbiwga2V5IH06IFRyYW5zcGlsZVBhcmFtcykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAoaXNPYmplY3QodmFsdWUpICYmIHBhcmFtcykge1xuICAgICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKChwKSA9PiB7XG4gICAgICAgIGNvbnN0IHRyYW5zcGlsZWQgPSBzdXBlci50cmFuc3BpbGUoe1xuICAgICAgICAgIHZhbHVlOiBnZXRWYWx1ZSh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgcCksXG4gICAgICAgICAgcGFyYW1zOiBnZXRWYWx1ZShwYXJhbXMsIHApLFxuICAgICAgICAgIHRyYW5zbGF0aW9uLFxuICAgICAgICAgIGtleSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VGb3JtYXQuY29tcGlsZSh0cmFuc3BpbGVkKTtcbiAgICAgICAgdmFsdWUgPSBzZXRWYWx1ZSh2YWx1ZSwgcCwgbWVzc2FnZShwYXJhbXNbcF0pKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICBjb25zdCB0cmFuc3BpbGVkID0gc3VwZXIudHJhbnNwaWxlKHsgdmFsdWUsIHBhcmFtcywgdHJhbnNsYXRpb24sIGtleSB9KTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubWVzc2FnZUZvcm1hdC5jb21waWxlKHRyYW5zcGlsZWQpO1xuICAgICAgcmV0dXJuIG1lc3NhZ2UocGFyYW1zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBvbkxhbmdDaGFuZ2VkKGxhbmc6IHN0cmluZykge1xuICAgIHRoaXMuc2V0TG9jYWxlKGxhbmcpO1xuICB9XG5cbiAgc2V0TG9jYWxlKGxvY2FsZTogTUZMb2NhbGUpIHtcbiAgICB0aGlzLm1lc3NhZ2VGb3JtYXQgPSB0aGlzLm1mRmFjdG9yeShsb2NhbGUsIHRoaXMubWVzc2FnZUNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, Injectable, Optional, Inject, makeEnvironmentProviders } from '@angular/core';
|
|
3
|
-
import { DefaultTranspiler,
|
|
3
|
+
import { DefaultTranspiler, getValue, setValue, TRANSLOCO_TRANSPILER } from '@jsverse/transloco';
|
|
4
|
+
import { isObject } from '@jsverse/utils';
|
|
4
5
|
import MessageFormat from '@messageformat/core';
|
|
5
6
|
|
|
6
7
|
const TRANSLOCO_MESSAGE_FORMAT_CONFIG = new InjectionToken('TRANSLOCO_MESSAGE_FORMAT_CONFIG');
|
|
@@ -66,10 +67,10 @@ class MessageFormatTranspiler extends DefaultTranspiler {
|
|
|
66
67
|
setLocale(locale) {
|
|
67
68
|
this.messageFormat = this.mfFactory(locale, this.messageConfig);
|
|
68
69
|
}
|
|
69
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
70
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
70
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: MessageFormatTranspiler, deps: [{ token: TRANSLOCO_MESSAGE_FORMAT_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
71
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: MessageFormatTranspiler });
|
|
71
72
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: MessageFormatTranspiler, decorators: [{
|
|
73
74
|
type: Injectable
|
|
74
75
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
75
76
|
type: Optional
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsverse-transloco-messageformat.mjs","sources":["../../../../libs/transloco-messageformat/src/lib/messageformat.config.ts","../../../../libs/transloco-messageformat/src/lib/messageformat.factory.ts","../../../../libs/transloco-messageformat/src/lib/messageformat.transpiler.ts","../../../../libs/transloco-messageformat/src/lib/messageformat.providers.ts","../../../../libs/transloco-messageformat/src/jsverse-transloco-messageformat.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport MessageFormat, { MessageFormatOptions } from '@messageformat/core';\n\nexport const TRANSLOCO_MESSAGE_FORMAT_CONFIG =\n new InjectionToken<MessageformatConfig>('TRANSLOCO_MESSAGE_FORMAT_CONFIG');\n\nexport type MFLocale = ConstructorParameters<typeof MessageFormat>[0];\n\nexport interface MessageformatConfig extends MessageFormatOptions<'string'> {\n locales?: MFLocale;\n enableCache?: boolean;\n}\n","import MessageFormat, {\n MessageFormatOptions,\n MessageFunction,\n} from '@messageformat/core';\n\nimport { MFLocale } from './messageformat.config';\n\nexport type MFFactory = (\n locales: MFLocale,\n messageConfig: MessageFormatOptions<'string'
|
|
1
|
+
{"version":3,"file":"jsverse-transloco-messageformat.mjs","sources":["../../../../libs/transloco-messageformat/src/lib/messageformat.config.ts","../../../../libs/transloco-messageformat/src/lib/messageformat.factory.ts","../../../../libs/transloco-messageformat/src/lib/messageformat.transpiler.ts","../../../../libs/transloco-messageformat/src/lib/messageformat.providers.ts","../../../../libs/transloco-messageformat/src/jsverse-transloco-messageformat.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport MessageFormat, { MessageFormatOptions } from '@messageformat/core';\n\nexport const TRANSLOCO_MESSAGE_FORMAT_CONFIG =\n new InjectionToken<MessageformatConfig>('TRANSLOCO_MESSAGE_FORMAT_CONFIG');\n\nexport type MFLocale = ConstructorParameters<typeof MessageFormat>[0];\n\nexport interface MessageformatConfig extends MessageFormatOptions<'string'> {\n locales?: MFLocale;\n enableCache?: boolean;\n}\n","import MessageFormat, {\n MessageFormatOptions,\n MessageFunction,\n} from '@messageformat/core';\n\nimport { MFLocale } from './messageformat.config';\n\nexport type MFFactory = (\n locales: MFLocale,\n messageConfig: MessageFormatOptions<'string'>,\n) => MessageFormat;\n\nexport function defaultFactory(\n locales: MFLocale,\n messageConfig: MessageFormatOptions<'string'>,\n): MessageFormat {\n return new MessageFormat<'string'>(locales, messageConfig);\n}\n\nexport function cachedFactory(\n locales: MFLocale,\n messageConfig: MessageFormatOptions<'string'>,\n): MessageFormat {\n const mf = defaultFactory(locales, messageConfig);\n const original = mf.compile;\n const cache = new Map<string, MessageFunction<'string'>>();\n const localeKey = `__${locales?.toString() || MessageFormat.defaultLocale}__`;\n\n mf.compile = function (messages: string): MessageFunction<'string'> {\n const cacheKey = `${localeKey}${messages}`;\n const cachedMsg = cache.get(cacheKey);\n\n if (cachedMsg) {\n return cachedMsg;\n }\n\n const msg = original.call(this, messages);\n cache.set(cacheKey, msg);\n\n return msg;\n };\n\n return mf;\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport {\n DefaultTranspiler,\n getValue,\n setValue,\n TranspileParams,\n} from '@jsverse/transloco';\nimport { isObject } from '@jsverse/utils';\nimport MessageFormat, { MessageFormatOptions } from '@messageformat/core';\n\nimport {\n MessageformatConfig,\n MFLocale,\n TRANSLOCO_MESSAGE_FORMAT_CONFIG,\n} from './messageformat.config';\nimport {\n cachedFactory,\n defaultFactory,\n MFFactory,\n} from './messageformat.factory';\n\n@Injectable()\nexport class MessageFormatTranspiler extends DefaultTranspiler {\n private messageFormat: MessageFormat;\n private readonly messageConfig: MessageFormatOptions<'string'>;\n private readonly mfFactory: MFFactory;\n\n constructor(\n @Optional()\n @Inject(TRANSLOCO_MESSAGE_FORMAT_CONFIG)\n config: MessageformatConfig,\n ) {\n super();\n const {\n locales,\n enableCache = true,\n ...messageConfig\n } = { locales: null, ...config };\n this.messageConfig = messageConfig;\n this.mfFactory = enableCache ? cachedFactory : defaultFactory;\n this.messageFormat = this.mfFactory(locales, messageConfig);\n }\n\n transpile({ value, params = {}, translation, key }: TranspileParams) {\n if (!value) {\n return value;\n }\n\n if (isObject(value) && params) {\n Object.keys(params).forEach((p) => {\n const transpiled = super.transpile({\n value: getValue(value as Record<string, unknown>, p),\n params: getValue(params, p),\n translation,\n key,\n });\n const message = this.messageFormat.compile(transpiled);\n value = setValue(value, p, message(params[p]));\n });\n } else if (!Array.isArray(value)) {\n const transpiled = super.transpile({ value, params, translation, key });\n\n const message = this.messageFormat.compile(transpiled);\n return message(params);\n }\n\n return value;\n }\n\n onLangChanged(lang: string) {\n this.setLocale(lang);\n }\n\n setLocale(locale: MFLocale) {\n this.messageFormat = this.mfFactory(locale, this.messageConfig);\n }\n}\n","import { makeEnvironmentProviders } from '@angular/core';\nimport { TRANSLOCO_TRANSPILER } from '@jsverse/transloco';\n\nimport {\n MessageformatConfig,\n TRANSLOCO_MESSAGE_FORMAT_CONFIG,\n} from './messageformat.config';\nimport { MessageFormatTranspiler } from './messageformat.transpiler';\n\nexport function provideTranslocoMessageformat(config?: MessageformatConfig) {\n return makeEnvironmentProviders([\n { provide: TRANSLOCO_MESSAGE_FORMAT_CONFIG, useValue: config },\n {\n provide: TRANSLOCO_TRANSPILER,\n useClass: MessageFormatTranspiler,\n },\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jsverse/transloco-messageformat",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"description": "Transpiler for Transloco that uses messageformat.js to compile translations using ICU syntax for handling pluralization and gender",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -8,33 +8,35 @@
|
|
|
8
8
|
"bugs": {
|
|
9
9
|
"url": "https://github.com/jsverse/transloco/issues"
|
|
10
10
|
},
|
|
11
|
-
"homepage": "https://jsverse.
|
|
11
|
+
"homepage": "https://jsverse.gitbook.io/transloco/plugins/message-format",
|
|
12
12
|
"repository": {
|
|
13
13
|
"type": "git",
|
|
14
14
|
"url": "https://github.com/jsverse/transloco"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
17
|
-
"
|
|
18
|
-
"angular 2",
|
|
19
|
-
"declension",
|
|
17
|
+
"Angular",
|
|
20
18
|
"i18n",
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
19
|
+
"Translate",
|
|
20
|
+
"Angular Translate",
|
|
21
|
+
"Transloco",
|
|
22
|
+
"Declension",
|
|
23
|
+
"ICU",
|
|
24
|
+
"Gender",
|
|
25
|
+
"Messageformat",
|
|
26
|
+
"Pluralization"
|
|
27
27
|
],
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"@angular/core": ">=16.0.0",
|
|
31
31
|
"@jsverse/transloco": ">=7.0.0",
|
|
32
|
+
"@jsverse/utils": "1.0.0-beta.5",
|
|
32
33
|
"rxjs": ">=6.0.0"
|
|
33
34
|
},
|
|
34
35
|
"dependencies": {
|
|
35
36
|
"@messageformat/core": "^3.0.0",
|
|
36
37
|
"tslib": "^2.2.0"
|
|
37
38
|
},
|
|
39
|
+
"sideEffects": false,
|
|
38
40
|
"module": "fesm2022/jsverse-transloco-messageformat.mjs",
|
|
39
41
|
"typings": "index.d.ts",
|
|
40
42
|
"exports": {
|
|
@@ -47,6 +49,5 @@
|
|
|
47
49
|
"esm": "./esm2022/jsverse-transloco-messageformat.mjs",
|
|
48
50
|
"default": "./fesm2022/jsverse-transloco-messageformat.mjs"
|
|
49
51
|
}
|
|
50
|
-
}
|
|
51
|
-
"sideEffects": false
|
|
52
|
+
}
|
|
52
53
|
}
|