{"version":3,"file":"o3r-dynamic-content-rules-engine.mjs","sources":["../../src/rules-engine/asset.interfaces.ts","../../src/rules-engine/asset.handler-action.ts","../../src/rules-engine/asset.rules-engine.module.ts","../../src/rules-engine/o3r-dynamic-content-rules-engine.ts"],"sourcesContent":["import type {\n  RulesEngineAction,\n} from '@o3r/core';\n\n/** ActionUpdateAssetBlock  */\nexport const RULES_ENGINE_ASSET_UPDATE_ACTION_TYPE = 'UPDATE_ASSET';\n\n/**\n * Content of action that updates asset\n */\nexport interface ActionUpdateAssetBlock extends RulesEngineAction {\n  actionType: typeof RULES_ENGINE_ASSET_UPDATE_ACTION_TYPE;\n  asset: string;\n  value: string;\n}\n","import {\n  Injectable,\n} from '@angular/core';\nimport {\n  Store,\n} from '@ngrx/store';\nimport type {\n  RulesEngineActionHandler,\n} from '@o3r/core';\nimport {\n  ActionUpdateAssetBlock,\n  RULES_ENGINE_ASSET_UPDATE_ACTION_TYPE,\n} from './asset.interfaces';\nimport {\n  AssetPathOverrideStore,\n  setAssetPathOverride,\n} from '@o3r/dynamic-content';\n\n/**\n * Service to handle async Asset actions\n */\n@Injectable()\nexport class AssetRulesEngineActionHandler implements RulesEngineActionHandler<ActionUpdateAssetBlock> {\n  /** @inheritdoc */\n  public readonly supportingActions = [RULES_ENGINE_ASSET_UPDATE_ACTION_TYPE] as const;\n\n  constructor(private readonly store: Store<AssetPathOverrideStore>) {}\n\n  /** @inheritdoc */\n  public executeActions(actions: ActionUpdateAssetBlock[]): void | Promise<void> {\n    const assetPathOverrides = actions.reduce<Record<string, string>>((acc, { asset, value }) => {\n      acc[asset] = value;\n      return acc;\n    }, {});\n\n    this.store.dispatch(setAssetPathOverride({ state: { assetPathOverrides } }));\n  }\n}\n","import {\n  NgModule,\n} from '@angular/core';\nimport {\n  AssetRulesEngineActionHandler,\n} from './asset.handler-action';\nimport {\n  AssetPathOverrideStoreModule,\n} from '@o3r/dynamic-content';\n\n@NgModule({\n  imports: [\n    AssetPathOverrideStoreModule\n  ],\n  providers: [\n    AssetRulesEngineActionHandler\n  ]\n})\nexport class AssetRulesEngineActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;AAIA;AACO,MAAM,qCAAqC,GAAG;;ACarD;;AAEG;MAEU,6BAA6B,CAAA;AAIxC,IAAA,WAAA,CAA6B,KAAoC,EAAA;QAApC,IAAK,CAAA,KAAA,GAAL,KAAK;;AAFlB,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,qCAAqC,CAAU;;;AAK7E,IAAA,cAAc,CAAC,OAAiC,EAAA;AACrD,QAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAyB,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAI;AAC1F,YAAA,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK;AAClB,YAAA,OAAO,GAAG;SACX,EAAE,EAAE,CAAC;AAEN,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;;iIAbnE,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qIAA7B,6BAA6B,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC;;;MCHY,4BAA4B,CAAA;iIAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA5B,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,4BAA4B,YANrC,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAMnB,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,4BAA4B,EAJ5B,SAAA,EAAA;YACT;AACD,SAAA,EAAA,OAAA,EAAA,CAJC,4BAA4B,CAAA,EAAA,CAAA,CAAA;;2FAMnB,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBARxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT;AACD;AACF,iBAAA;;;ACjBD;;AAEG;;;;"}