{"version":3,"file":"ngxtension-auto-effect.mjs","sources":["../../../../libs/ngxtension/auto-effect/src/auto-effect.ts","../../../../libs/ngxtension/auto-effect/src/ngxtension-auto-effect.ts"],"sourcesContent":["import {\n\tInjector,\n\teffect,\n\tinject,\n\ttype CreateEffectOptions,\n} from '@angular/core';\nimport { assertInjector } from 'ngxtension/assert-injector';\n\nexport function injectAutoEffect(injector?: Injector) {\n\treturn assertInjector(injectAutoEffect, injector, () => {\n\t\tconst assertedInjector = inject(Injector);\n\t\tconst injectorOptions = { injector: assertedInjector };\n\t\treturn (\n\t\t\tautoEffectCallback: (autoEffectInjector: Injector) => void | (() => void),\n\t\t\toptions: Omit<CreateEffectOptions, 'injector'> = {},\n\t\t) => {\n\t\t\treturn effect(\n\t\t\t\t(onCleanup) => {\n\t\t\t\t\tconst maybeCleanup = autoEffectCallback(assertedInjector);\n\t\t\t\t\tif (typeof maybeCleanup === 'function') {\n\t\t\t\t\t\tonCleanup(() => maybeCleanup());\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tObject.assign(options, injectorOptions),\n\t\t\t);\n\t\t};\n\t});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAQM,SAAU,gBAAgB,CAAC,QAAmB,EAAA;AACnD,IAAA,OAAO,cAAc,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAK;AACtD,QAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1C,QAAA,MAAM,eAAe,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACvD,QAAA,OAAO,CACN,kBAAyE,EACzE,OAAiD,GAAA,EAAE,KAChD;AACH,YAAA,OAAO,MAAM,CACZ,CAAC,SAAS,KAAI;AACb,gBAAA,MAAM,YAAY,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;AAC1D,gBAAA,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;AACvC,oBAAA,SAAS,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC;iBAChC;aACD,EACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CACvC,CAAC;AACH,SAAC,CAAC;AACH,KAAC,CAAC,CAAC;AACJ;;AC3BA;;AAEG;;;;"}