{"version":3,"sources":["../../../src/core/experimental/setup-api.ts"],"sourcesContent":["import { type DefaultEventMap, Emitter } from 'rettime'\nimport { type LifeCycleEventEmitter } from '../sharedOptions'\nimport type { HandlersController } from './handlers-controller'\nimport {\n  InMemoryHandlersController,\n  type AnyHandler,\n} from './handlers-controller'\nimport { Disposable } from '../utils/internal/Disposable'\nimport { toReadonlyArray } from '../utils/internal/toReadonlyArray'\n\n/**\n * Generic class for the mock API setup.\n * Preserved only for backward compatibility.\n * @deprecated\n */\nexport abstract class SetupApi<\n  EventMap extends DefaultEventMap,\n> extends Disposable {\n  protected handlersController: HandlersController\n  protected emitter: Emitter<EventMap>\n  protected publicEmitter: Emitter<EventMap>\n\n  public readonly events: LifeCycleEventEmitter<EventMap>\n\n  constructor(...initialHandlers: Array<AnyHandler>) {\n    super()\n\n    this.handlersController = new InMemoryHandlersController(initialHandlers)\n\n    this.emitter = new Emitter()\n    this.publicEmitter = new Emitter()\n    this.events = this.emitter\n\n    this.subscriptions.push(() => {\n      this.emitter.removeAllListeners()\n      this.publicEmitter.removeAllListeners()\n    })\n  }\n\n  public use(...runtimeHandlers: Array<AnyHandler>): void {\n    this.handlersController.use(runtimeHandlers)\n  }\n\n  public restoreHandlers(): void {\n    this.handlersController.restore()\n  }\n\n  public resetHandlers(...nextHandlers: Array<AnyHandler>): void {\n    this.handlersController.reset(nextHandlers)\n  }\n\n  public listHandlers(): ReadonlyArray<AnyHandler> {\n    return toReadonlyArray(this.handlersController.currentHandlers())\n  }\n}\n"],"mappings":"AAAA,SAA+B,eAAe;AAC9C,eAA2C;AAE3C;AAAA,EACE;AAAA,OAEK;AACP,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAOzB,MAAe,iBAEZ,WAAW;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EAEM;AAAA,EAEhB,eAAe,iBAAoC;AACjD,UAAM;AAEN,SAAK,qBAAqB,IAAI,2BAA2B,eAAe;AAExE,SAAK,UAAU,IAAI,QAAQ;AAC3B,SAAK,gBAAgB,IAAI,QAAQ;AACjC,SAAK,SAAS,KAAK;AAEnB,SAAK,cAAc,KAAK,MAAM;AAC5B,WAAK,QAAQ,mBAAmB;AAChC,WAAK,cAAc,mBAAmB;AAAA,IACxC,CAAC;AAAA,EACH;AAAA,EAEO,OAAO,iBAA0C;AACtD,SAAK,mBAAmB,IAAI,eAAe;AAAA,EAC7C;AAAA,EAEO,kBAAwB;AAC7B,SAAK,mBAAmB,QAAQ;AAAA,EAClC;AAAA,EAEO,iBAAiB,cAAuC;AAC7D,SAAK,mBAAmB,MAAM,YAAY;AAAA,EAC5C;AAAA,EAEO,eAA0C;AAC/C,WAAO,gBAAgB,KAAK,mBAAmB,gBAAgB,CAAC;AAAA,EAClE;AACF;","names":[]}