let _testBootstrapped = false;
async function bootstrapTest(options = {}) {
  const { modules, entityIds, ormEntities, diRegistrars } = options;
  if (modules !== void 0) {
    const { registerModules } = await import("../modules/registry.js");
    registerModules(modules);
  }
  if (entityIds !== void 0) {
    const { registerEntityIds } = await import("../encryption/entityIds.js");
    registerEntityIds(entityIds);
  }
  if (ormEntities !== void 0) {
    const { registerOrmEntities } = await import("../db/mikro.js");
    registerOrmEntities(ormEntities);
  }
  if (diRegistrars !== void 0) {
    const { registerDiRegistrars } = await import("../di/container.js");
    registerDiRegistrars(diRegistrars);
  }
  _testBootstrapped = true;
}
function resetTestBootstrap() {
  _testBootstrapped = false;
}
function isTestBootstrapped() {
  return _testBootstrapped;
}
function createMockModules(overrides = []) {
  return overrides.map((override, index) => ({
    id: override.id || `test-module-${index}`,
    ...override
  }));
}
function createMockEntityIds(entities) {
  const result = {};
  for (const [module, entityNames] of Object.entries(entities)) {
    result[module] = {};
    for (const name of entityNames) {
      result[module][name] = `${module}:${name}`;
    }
  }
  return result;
}
export {
  bootstrapTest,
  createMockEntityIds,
  createMockModules,
  isTestBootstrapped,
  resetTestBootstrap
};
//# sourceMappingURL=bootstrap.js.map
