{"version":3,"file":"cloarec-transloco-mf2.mjs","sources":["../../../projects/transloco-mf2/src/lib/transloco-mf2.transpiler.ts","../../../projects/transloco-mf2/src/lib/transloco-mf2.providers.ts","../../../projects/transloco-mf2/src/public-api.ts","../../../projects/transloco-mf2/src/cloarec-transloco-mf2.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\r\nimport { DefaultTranspiler, getValue, isObject, setValue, TranspileParams } from '@jsverse/transloco';\r\nimport { MessageFormat, MessageFormatOptions } from 'messageformat';\r\n\r\nexport interface TranslocoMF2Config extends MessageFormatOptions<string> {\r\n    includeDraftFunctions: boolean;\r\n}\r\n\r\nexport const TRANSLOCO_MF2_CONFIG = new InjectionToken<TranslocoMF2Config>('TRANSLOCO_MF2_CONFIG');\r\n\r\n@Injectable()\r\nexport class TranslocoMF2Transpiler extends DefaultTranspiler {\r\n    mf2Config = inject(TRANSLOCO_MF2_CONFIG, { optional: true });\r\n    private locale?: string;\r\n\r\n    constructor() {\r\n        super();\r\n    }\r\n\r\n    onLangChanged(lang: string) {\r\n        this.locale = lang;\r\n    }\r\n\r\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n    override transpile(transpileParams: TranspileParams): any {\r\n        let value = transpileParams.value;\r\n        if (!value) {\r\n            return value;\r\n        }\r\n        const { params, translation, key } = transpileParams;\r\n        if (isObject(value) && params) {\r\n            Object.keys(params).forEach((p) => {\r\n                const param = getValue(params, p);\r\n                const transpiled = super.transpile({\r\n                    value: getValue(value as Record<string, unknown>, p),\r\n                    params: param,\r\n                    translation,\r\n                    key,\r\n                });\r\n                const mf = new MessageFormat(this.locale, transpiled, this.mf2Config || {});\r\n                value = setValue(value, p, mf.format(param));\r\n            });\r\n            return value;\r\n        }\r\n        if (!Array.isArray(value)) {\r\n            const transpiled = super.transpile(transpileParams);\r\n            const mf = new MessageFormat(this.locale, transpiled, this.mf2Config || {});\r\n            return mf.format(params);\r\n        }\r\n        return value;\r\n    }\r\n}\r\n","import { makeEnvironmentProviders } from '@angular/core';\r\nimport { provideTranslocoTranspiler } from '@jsverse/transloco';\r\nimport { DraftFunctions } from 'messageformat/functions';\r\nimport { TranslocoMF2Config, TRANSLOCO_MF2_CONFIG, TranslocoMF2Transpiler } from './transloco-mf2.transpiler';\r\n\r\nexport function provideTranslocoMF2Transpiler(config?: TranslocoMF2Config) {\r\n    return makeEnvironmentProviders([\r\n        {\r\n            provide: TRANSLOCO_MF2_CONFIG,\r\n            useValue: {\r\n                ...config,\r\n                functions: config?.includeDraftFunctions\r\n                    ? {\r\n                          ...DraftFunctions,\r\n                          ...config?.functions,\r\n                      }\r\n                    : config?.functions,\r\n            },\r\n        },\r\n        provideTranslocoTranspiler(TranslocoMF2Transpiler),\r\n    ]);\r\n}\r\n","/*\r\n * Public API Surface of transloco-mf2\r\n */\r\n\r\nexport * from './lib/transloco-mf2.transpiler';\r\nexport { provideTranslocoMF2Transpiler } from './lib/transloco-mf2.providers';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAQa,oBAAoB,GAAG,IAAI,cAAc,CAAqB,sBAAsB;AAG3F,MAAO,sBAAuB,SAAQ,iBAAiB,CAAA;IACzD,SAAS,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACpD,IAAA,MAAM;AAEd,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;;AAGX,IAAA,aAAa,CAAC,IAAY,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;;;AAIb,IAAA,SAAS,CAAC,eAAgC,EAAA;AAC/C,QAAA,IAAI,KAAK,GAAG,eAAe,CAAC,KAAK;QACjC,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,KAAK;;QAEhB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,eAAe;AACpD,QAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE;YAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;gBAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AACjC,gBAAA,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;AAC/B,oBAAA,KAAK,EAAE,QAAQ,CAAC,KAAgC,EAAE,CAAC,CAAC;AACpD,oBAAA,MAAM,EAAE,KAAK;oBACb,WAAW;oBACX,GAAG;AACN,iBAAA,CAAC;AACF,gBAAA,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;AAC3E,gBAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChD,aAAC,CAAC;AACF,YAAA,OAAO,KAAK;;QAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;AACnD,YAAA,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;AAC3E,YAAA,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;;AAE5B,QAAA,OAAO,KAAK;;uGAtCP,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAtB,sBAAsB,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC;;;ACLK,SAAU,6BAA6B,CAAC,MAA2B,EAAA;AACrE,IAAA,OAAO,wBAAwB,CAAC;AAC5B,QAAA;AACI,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,QAAQ,EAAE;AACN,gBAAA,GAAG,MAAM;gBACT,SAAS,EAAE,MAAM,EAAE;AACf,sBAAE;AACI,wBAAA,GAAG,cAAc;wBACjB,GAAG,MAAM,EAAE,SAAS;AACvB;sBACD,MAAM,EAAE,SAAS;AAC1B,aAAA;AACJ,SAAA;QACD,0BAA0B,CAAC,sBAAsB,CAAC;AACrD,KAAA,CAAC;AACN;;ACrBA;;AAEG;;ACFH;;AAEG;;;;"}