{"version":3,"file":"hooks.cjs","sources":["../../../src/run-assertions/hooks.js"],"sourcesContent":["import { rootSuite, getCurrentSuite } from './suite.js';\nimport * as fakeTimers from './fake-timers.js';\nimport { forceClearAllRegistries } from '../matchers/workerIsolatedRegistry.js';\n\n\nfunction beforeAll(fn) {\n  getCurrentSuite().hooks.beforeAll.push(fn);\n}\nfunction afterAll(fn) {\n  getCurrentSuite().hooks.afterAll.push(fn);\n}\nfunction beforeEach(fn) {\n  getCurrentSuite().hooks.beforeEach.push(fn);\n}\nfunction afterEach(fn) {\n  getCurrentSuite().hooks.afterEach.push(fn);\n}\n\n// Global afterEach that always resets timers\nrootSuite.hooks.afterEach.push(function() {\n  if (typeof fakeTimers.resetTimers === 'function') fakeTimers.resetTimers();\n  if (typeof global.resetAllMocks === 'function') {\n    global.resetAllMocks();\n  }\n});\n\n// Global beforeAll that forces complete registry reset\nrootSuite.hooks.beforeAll.push(function() {\n  forceClearAllRegistries();\n});\n\n// Global afterAll that forces complete registry reset\nrootSuite.hooks.afterAll.push(function() {\n  forceClearAllRegistries();\n});\n\n// beforeEach to clear registries for each test\nrootSuite.hooks.beforeEach.push(function() {\n  forceClearAllRegistries();\n});\n\nexport { beforeAll, afterAll, beforeEach, afterEach }; \n"],"names":["getCurrentSuite","rootSuite","fakeTimers.resetTimers","forceClearAllRegistries"],"mappings":";;;;;;AAKA,SAAS,SAAS,CAAC,EAAE,EAAE;AACvB,EAAEA,qBAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5C;AACA,SAAS,QAAQ,CAAC,EAAE,EAAE;AACtB,EAAEA,qBAAe,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3C;AACA,SAAS,UAAU,CAAC,EAAE,EAAE;AACxB,EAAEA,qBAAe,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AAC7C;AACA,SAAS,SAAS,CAAC,EAAE,EAAE;AACvB,EAAEA,qBAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5C;;AAEA;AACAC,eAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW;AAC1C,EAAE,IAAI,OAAOC,sBAAsB,KAAK,UAAU,EAAEA,sBAAsB,EAAE;AAC5E,EAAE,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE;AAClD,IAAI,MAAM,CAAC,aAAa,EAAE;AAC1B,EAAE;AACF,CAAC,CAAC;;AAEF;AACAD,eAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW;AAC1C,EAAEE,8CAAuB,EAAE;AAC3B,CAAC,CAAC;;AAEF;AACAF,eAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW;AACzC,EAAEE,8CAAuB,EAAE;AAC3B,CAAC,CAAC;;AAEF;AACAF,eAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW;AAC3C,EAAEE,8CAAuB,EAAE;AAC3B,CAAC,CAAC;;;;;;;"}