{"version":3,"file":"select-adapter.cjs","names":[],"sources":["../../../../src/core/hmr/select-adapter.ts"],"sourcesContent":["import { createViteHmrStatement } from './vite-adapter'\nimport { createWebpackHmrStatement } from './webpack-adapter'\nimport type { Config, HmrStyle } from '../config'\nimport type * as t from '@babel/types'\n\nexport type CreateRouteHmrStatementOpts = {\n  hmrStyle: HmrStyle\n  targetFramework: Config['target']\n  routeId?: string\n}\n\n/**\n * Dispatches to the configured HMR adapter. `hmrStyle` is set explicitly by\n * the bundler-specific plugin entry (e.g. `rspack.ts` → `'webpack'`), so there\n * is no runtime inference based on config string shapes.\n */\nexport function createRouteHmrStatement(\n  stableRouteOptionKeys: Array<string>,\n  opts: CreateRouteHmrStatementOpts,\n): Array<t.Statement> {\n  const routeId = opts.routeId === '/__root' ? '__root__' : opts.routeId\n\n  if (opts.hmrStyle === 'webpack') {\n    return createWebpackHmrStatement(stableRouteOptionKeys, {\n      targetFramework: opts.targetFramework,\n      routeId,\n    })\n  }\n  return createViteHmrStatement(stableRouteOptionKeys, {\n    routeId,\n  })\n}\n"],"mappings":";;;;;;;;AAgBA,SAAgB,wBACd,uBACA,MACoB;CACpB,MAAM,UAAU,KAAK,YAAY,YAAY,aAAa,KAAK;AAE/D,KAAI,KAAK,aAAa,UACpB,QAAO,wBAAA,0BAA0B,uBAAuB;EACtD,iBAAiB,KAAK;EACtB;EACD,CAAC;AAEJ,QAAO,qBAAA,uBAAuB,uBAAuB,EACnD,SACD,CAAC"}