{"version":3,"file":"index.cjs","names":["SameThreadStrategy"],"sources":["../../../../src/components/connect/strategies/index.ts"],"sourcesContent":["import type { ConnectHandlerOptions } from \"../types.ts\";\nimport type { ConnectionStrategy, StrategyConfig } from \"./core/types.ts\";\nimport { SameThreadStrategy } from \"./sameThread/index.ts\";\n\nexport type {\n  BaseConnectionConfig,\n  ConnectionEstablishData,\n  ConnectionStrategy,\n  RequestHandler,\n  StrategyConfig,\n  StrategyEvents,\n} from \"./core/types.ts\";\nexport { SameThreadStrategy } from \"./sameThread/index.ts\";\n\n/**\n * Creates a connection strategy based on the provided options.\n *\n * By default, uses WorkerThreadStrategy when worker_threads is available.\n * When `isolateExecution: false` is specified, uses SameThreadStrategy instead.\n */\nexport async function createStrategy(\n  config: StrategyConfig,\n  options: ConnectHandlerOptions,\n): Promise<ConnectionStrategy> {\n  if (options.isolateExecution === false) {\n    return new SameThreadStrategy(config);\n  }\n\n  // Default: use worker thread strategy for execution isolation\n  try {\n    // Dynamic import to avoid bundling worker_threads in non-Node environments\n    const { WorkerThreadStrategy } = await import(\"./workerThread/index.ts\");\n    return new WorkerThreadStrategy(config);\n  } catch (err) {\n    throw new Error(\"Failed to load worker thread strategy\", { cause: err });\n  }\n}\n"],"mappings":";;;;;;;;;AAoBA,eAAsB,eACpB,QACA,SAC6B;AAC7B,KAAI,QAAQ,qBAAqB,MAC/B,QAAO,IAAIA,iCAAmB,OAAO;AAIvC,KAAI;EAEF,MAAM,EAAE,yBAAyB,2CAAM;AACvC,SAAO,IAAI,qBAAqB,OAAO;UAChC,KAAK;AACZ,QAAM,IAAI,MAAM,yCAAyC,EAAE,OAAO,KAAK,CAAC"}