{"version":3,"file":"o3r-localization-rules-engine.mjs","sources":["../../src/rules-engine/localization-interfaces.ts","../../src/rules-engine/localization-rules-engine-action-handler.ts","../../src/rules-engine/localization-rules-engine-module.ts","../../src/rules-engine/o3r-localization-rules-engine.ts"],"sourcesContent":["import type {\n  RulesEngineAction,\n} from '@o3r/core';\n\n/** ActionUpdateLocalisationBlock  */\nexport const RULES_ENGINE_LOCALISATION_UPDATE_ACTION_TYPE = 'UPDATE_LOCALISATION';\n\n/**\n * Content of action that updates localization\n */\nexport interface ActionUpdateLocalisationBlock extends RulesEngineAction {\n  actionType: typeof RULES_ENGINE_LOCALISATION_UPDATE_ACTION_TYPE;\n  key: string;\n  value: string;\n}\n","import {\n  inject,\n  Injectable,\n} from '@angular/core';\nimport {\n  Store,\n} from '@ngrx/store';\nimport type {\n  RulesEngineActionHandler,\n} from '@o3r/core';\nimport {\n  ActionUpdateLocalisationBlock,\n  RULES_ENGINE_LOCALISATION_UPDATE_ACTION_TYPE,\n} from './localization-interfaces';\nimport {\n  LocalizationOverrideStore,\n  setLocalizationOverride,\n} from '@o3r/localization';\n\n/**\n * Service to handle async Localization actions\n */\n@Injectable()\nexport class LocalizationRulesEngineActionHandler implements RulesEngineActionHandler<ActionUpdateLocalisationBlock> {\n  private readonly store = inject<Store<LocalizationOverrideStore>>(Store);\n\n  /** @inheritdoc */\n  public readonly supportingActions = [RULES_ENGINE_LOCALISATION_UPDATE_ACTION_TYPE] as const;\n\n  /** @inheritdoc */\n  public executeActions(actions: ActionUpdateLocalisationBlock[]): void | Promise<void> {\n    const localizationOverrides = actions.reduce<Record<string, string>>((acc, { key, value }) => {\n      acc[key] = value;\n      return acc;\n    }, {});\n\n    this.store.dispatch(setLocalizationOverride({ state: { localizationOverrides } }));\n  }\n}\n","import {\n  NgModule,\n} from '@angular/core';\nimport {\n  LocalizationRulesEngineActionHandler,\n} from './localization-rules-engine-action-handler';\nimport {\n  LocalizationOverrideStoreModule,\n} from '@o3r/localization';\n\n@NgModule({\n  imports: [\n    LocalizationOverrideStoreModule\n  ],\n  providers: [\n    LocalizationRulesEngineActionHandler\n  ]\n})\nexport class LocalizationRulesEngineActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;AAIA;AACO,MAAM,4CAA4C,GAAG;;ACc5D;;AAEG;MAEU,oCAAoC,CAAA;AADjD,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAmC,KAAK,CAAC;;AAGxD,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,4CAA4C,CAAU;AAW5F,IAAA;;AARQ,IAAA,cAAc,CAAC,OAAwC,EAAA;AAC5D,QAAA,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAyB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAI;AAC3F,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;AAChB,YAAA,OAAO,GAAG;QACZ,CAAC,EAAE,EAAE,CAAC;AAEN,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACpF;iIAdW,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qIAApC,oCAAoC,EAAA,CAAA,CAAA;;2FAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBADhD;;;MCJY,mCAAmC,CAAA;iIAAnC,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnC,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,YAN5C,+BAA+B,CAAA,EAAA,CAAA,CAAA;AAMtB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,EAAA,SAAA,EAJnC;YACT;AACD,SAAA,EAAA,OAAA,EAAA,CAJC,+BAA+B,CAAA,EAAA,CAAA,CAAA;;2FAMtB,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAR/C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT;AACD;AACF,iBAAA;;;ACjBD;;AAEG;;;;"}