@jsverse/transloco-messageformat 7.0.0 → 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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2019-2021 Netanel Basal, Shahar Kazaz, and Itay Oded.
3
+ Copyright (c) 2019-2024 Netanel Basal, Shahar Kazaz, and Itay Oded.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # Transloco MessageFormat
2
2
 
3
- Please visit the [official Transloco docs](https://jsverse.github.io/transloco/docs/plugins/message-format).
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZWZvcm1hdC5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy90cmFuc2xvY28tbWVzc2FnZWZvcm1hdC9zcmMvbGliL21lc3NhZ2Vmb3JtYXQuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGFBR04sTUFBTSxxQkFBcUIsQ0FBQztBQVM3QixNQUFNLFVBQVUsY0FBYyxDQUM1QixPQUFpQixFQUNqQixhQUE2QztJQUU3QyxPQUFPLElBQUksYUFBYSxDQUFXLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsT0FBaUIsRUFDakIsYUFBNkM7SUFFN0MsTUFBTSxFQUFFLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNsRCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQzVCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFxQyxDQUFDO0lBQzNELE1BQU0sU0FBUyxHQUFHLEtBQUssT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLGFBQWEsQ0FBQyxhQUFhLElBQUksQ0FBQztJQUU5RSxFQUFFLENBQUMsT0FBTyxHQUFHLFVBQVUsUUFBZ0I7UUFDckMsTUFBTSxRQUFRLEdBQUcsR0FBRyxTQUFTLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV0QyxJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFekIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7SUFFRixPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTWVzc2FnZUZvcm1hdCwge1xuICBNZXNzYWdlRm9ybWF0T3B0aW9ucyxcbiAgTWVzc2FnZUZ1bmN0aW9uLFxufSBmcm9tICdAbWVzc2FnZWZvcm1hdC9jb3JlJztcblxuaW1wb3J0IHsgTUZMb2NhbGUgfSBmcm9tICcuL21lc3NhZ2Vmb3JtYXQuY29uZmlnJztcblxuZXhwb3J0IHR5cGUgTUZGYWN0b3J5ID0gKFxuICBsb2NhbGVzOiBNRkxvY2FsZSxcbiAgbWVzc2FnZUNvbmZpZzogTWVzc2FnZUZvcm1hdE9wdGlvbnM8J3N0cmluZyc+XG4pID0+IE1lc3NhZ2VGb3JtYXQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0RmFjdG9yeShcbiAgbG9jYWxlczogTUZMb2NhbGUsXG4gIG1lc3NhZ2VDb25maWc6IE1lc3NhZ2VGb3JtYXRPcHRpb25zPCdzdHJpbmcnPlxuKTogTWVzc2FnZUZvcm1hdCB7XG4gIHJldHVybiBuZXcgTWVzc2FnZUZvcm1hdDwnc3RyaW5nJz4obG9jYWxlcywgbWVzc2FnZUNvbmZpZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWNoZWRGYWN0b3J5KFxuICBsb2NhbGVzOiBNRkxvY2FsZSxcbiAgbWVzc2FnZUNvbmZpZzogTWVzc2FnZUZvcm1hdE9wdGlvbnM8J3N0cmluZyc+XG4pOiBNZXNzYWdlRm9ybWF0IHtcbiAgY29uc3QgbWYgPSBkZWZhdWx0RmFjdG9yeShsb2NhbGVzLCBtZXNzYWdlQ29uZmlnKTtcbiAgY29uc3Qgb3JpZ2luYWwgPSBtZi5jb21waWxlO1xuICBjb25zdCBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBNZXNzYWdlRnVuY3Rpb248J3N0cmluZyc+PigpO1xuICBjb25zdCBsb2NhbGVLZXkgPSBgX18ke2xvY2FsZXM/LnRvU3RyaW5nKCkgfHwgTWVzc2FnZUZvcm1hdC5kZWZhdWx0TG9jYWxlfV9fYDtcblxuICBtZi5jb21waWxlID0gZnVuY3Rpb24gKG1lc3NhZ2VzOiBzdHJpbmcpOiBNZXNzYWdlRnVuY3Rpb248J3N0cmluZyc+IHtcbiAgICBjb25zdCBjYWNoZUtleSA9IGAke2xvY2FsZUtleX0ke21lc3NhZ2VzfWA7XG4gICAgY29uc3QgY2FjaGVkTXNnID0gY2FjaGUuZ2V0KGNhY2hlS2V5KTtcblxuICAgIGlmIChjYWNoZWRNc2cpIHtcbiAgICAgIHJldHVybiBjYWNoZWRNc2c7XG4gICAgfVxuXG4gICAgY29uc3QgbXNnID0gb3JpZ2luYWwuY2FsbCh0aGlzLCBtZXNzYWdlcyk7XG4gICAgY2FjaGUuc2V0KGNhY2hlS2V5LCBtc2cpO1xuXG4gICAgcmV0dXJuIG1zZztcbiAgfTtcblxuICByZXR1cm4gbWY7XG59XG4iXX0=
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, isObject, setValue, } from '@jsverse/transloco';
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: "17.0.9", ngImport: i0, type: MessageFormatTranspiler, deps: [{ token: TRANSLOCO_MESSAGE_FORMAT_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
47
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MessageFormatTranspiler });
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: "17.0.9", ngImport: i0, type: MessageFormatTranspiler, decorators: [{
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZWZvcm1hdC50cmFuc3BpbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy90cmFuc2xvY28tbWVzc2FnZWZvcm1hdC9zcmMvbGliL21lc3NhZ2Vmb3JtYXQudHJhbnNwaWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxHQUFtQixNQUFNLG9CQUFvQixDQUFDO0FBR3JHLE9BQU8sRUFBZ0MsK0JBQStCLEdBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RyxPQUFPLEVBQUMsYUFBYSxFQUFFLGNBQWMsR0FBYSxNQUFNLHlCQUF5QixDQUFDOztBQUdsRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsaUJBQWlCO0lBQ3BELGFBQWEsQ0FBZ0I7SUFDcEIsYUFBYSxDQUFpQztJQUM5QyxTQUFTLENBQVk7SUFFdEMsWUFDdUQsTUFBMkI7UUFFaEYsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQ0osT0FBTyxFQUNQLFdBQVcsR0FBRyxJQUFJLEVBQ2xCLEdBQUcsYUFBYSxFQUNqQixHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxTQUFTLENBQUMsRUFBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFrQjtRQUMvRCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sRUFBRTtZQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO29CQUNqQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQWdDLEVBQUUsQ0FBQyxDQUFDO29CQUNwRCxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7b0JBQzNCLFdBQVc7b0JBQ1gsR0FBRztpQkFDSixDQUFDLENBQUM7Z0JBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZELEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7WUFFdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDeEI7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBZ0I7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEUsQ0FBQzt1R0FuRFUsdUJBQXVCLGtCQU1aLCtCQUErQjsyR0FOMUMsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVOzswQkFPTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RlZmF1bHRUcmFuc3BpbGVyLCBnZXRWYWx1ZSwgaXNPYmplY3QsIHNldFZhbHVlLCBUcmFuc3BpbGVQYXJhbXMsfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IE1lc3NhZ2VGb3JtYXQsIHtNZXNzYWdlRm9ybWF0T3B0aW9uc30gZnJvbSAnQG1lc3NhZ2Vmb3JtYXQvY29yZSc7XG5cbmltcG9ydCB7TWVzc2FnZWZvcm1hdENvbmZpZywgTUZMb2NhbGUsIFRSQU5TTE9DT19NRVNTQUdFX0ZPUk1BVF9DT05GSUcsfSBmcm9tICcuL21lc3NhZ2Vmb3JtYXQuY29uZmlnJztcbmltcG9ydCB7Y2FjaGVkRmFjdG9yeSwgZGVmYXVsdEZhY3RvcnksIE1GRmFjdG9yeSx9IGZyb20gJy4vbWVzc2FnZWZvcm1hdC5mYWN0b3J5JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VGb3JtYXRUcmFuc3BpbGVyIGV4dGVuZHMgRGVmYXVsdFRyYW5zcGlsZXIge1xuICBwcml2YXRlIG1lc3NhZ2VGb3JtYXQ6IE1lc3NhZ2VGb3JtYXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZUNvbmZpZzogTWVzc2FnZUZvcm1hdE9wdGlvbnM8J3N0cmluZyc+O1xuICBwcml2YXRlIHJlYWRvbmx5IG1mRmFjdG9yeTogTUZGYWN0b3J5O1xuICBcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUUkFOU0xPQ09fTUVTU0FHRV9GT1JNQVRfQ09ORklHKSBjb25maWc6IE1lc3NhZ2Vmb3JtYXRDb25maWcsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3Qge1xuICAgICAgbG9jYWxlcyxcbiAgICAgIGVuYWJsZUNhY2hlID0gdHJ1ZSxcbiAgICAgIC4uLm1lc3NhZ2VDb25maWdcbiAgICB9ID0geyBsb2NhbGVzOiBudWxsLCAuLi5jb25maWcgfTtcbiAgICB0aGlzLm1lc3NhZ2VDb25maWcgPSBtZXNzYWdlQ29uZmlnO1xuICAgIHRoaXMubWZGYWN0b3J5ID0gZW5hYmxlQ2FjaGUgPyBjYWNoZWRGYWN0b3J5IDogZGVmYXVsdEZhY3Rvcnk7XG4gICAgdGhpcy5tZXNzYWdlRm9ybWF0ID0gdGhpcy5tZkZhY3RvcnkobG9jYWxlcywgbWVzc2FnZUNvbmZpZyk7XG4gIH1cblxuICB0cmFuc3BpbGUoe3ZhbHVlLCBwYXJhbXMgPSB7fSwgdHJhbnNsYXRpb24sIGtleX06IFRyYW5zcGlsZVBhcmFtcykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgXG4gICAgaWYgKGlzT2JqZWN0KHZhbHVlKSAmJiBwYXJhbXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaCgocCkgPT4ge1xuICAgICAgICBjb25zdCB0cmFuc3BpbGVkID0gc3VwZXIudHJhbnNwaWxlKHtcbiAgICAgICAgICB2YWx1ZTogZ2V0VmFsdWUodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIHApLFxuICAgICAgICAgIHBhcmFtczogZ2V0VmFsdWUocGFyYW1zLCBwKSxcbiAgICAgICAgICB0cmFuc2xhdGlvbixcbiAgICAgICAgICBrZXksXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodHJhbnNwaWxlZCk7XG4gICAgICAgIHZhbHVlID0gc2V0VmFsdWUodmFsdWUsIHAsIG1lc3NhZ2UocGFyYW1zW3BdKSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgY29uc3QgdHJhbnNwaWxlZCA9IHN1cGVyLnRyYW5zcGlsZSh7dmFsdWUsIHBhcmFtcywgdHJhbnNsYXRpb24sIGtleX0pO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodHJhbnNwaWxlZCk7XG4gICAgICByZXR1cm4gbWVzc2FnZShwYXJhbXMpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIG9uTGFuZ0NoYW5nZWQobGFuZzogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRMb2NhbGUobGFuZyk7XG4gIH1cblxuICBzZXRMb2NhbGUobG9jYWxlOiBNRkxvY2FsZSkge1xuICAgIHRoaXMubWVzc2FnZUZvcm1hdCA9IHRoaXMubWZGYWN0b3J5KGxvY2FsZSwgdGhpcy5tZXNzYWdlQ29uZmlnKTtcbiAgfVxufVxuIl19
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, isObject, getValue, setValue, TRANSLOCO_TRANSPILER } from '@jsverse/transloco';
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: "17.0.9", ngImport: i0, type: MessageFormatTranspiler, deps: [{ token: TRANSLOCO_MESSAGE_FORMAT_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
70
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MessageFormatTranspiler });
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: "17.0.9", ngImport: i0, type: MessageFormatTranspiler, decorators: [{
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'>\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 {DefaultTranspiler, getValue, isObject, setValue, TranspileParams,} from '@jsverse/transloco';\nimport MessageFormat, {MessageFormatOptions} from '@messageformat/core';\n\nimport {MessageformatConfig, MFLocale, TRANSLOCO_MESSAGE_FORMAT_CONFIG,} from './messageformat.config';\nimport {cachedFactory, defaultFactory, MFFactory,} 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() @Inject(TRANSLOCO_MESSAGE_FORMAT_CONFIG) 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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"}
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": "7.0.0",
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.github.io/transloco/docs/plugins/message-format",
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
- "angular",
18
- "angular 2",
19
- "declension",
17
+ "Angular",
20
18
  "i18n",
21
- "icu",
22
- "gender",
23
- "messageformat",
24
- "transloco",
25
- "pluralization",
26
- "translate"
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
  }