{"version":3,"sources":["../src/transformer.ts"],"sourcesContent":["import type { Transformer } from '@walkeros/core';\nimport { compileMatcher } from '@walkeros/core';\nimport type { RouterSettings, CompiledRoute } from './types';\n\nexport const transformerRouter: Transformer.Init<\n  Transformer.Types<RouterSettings>\n> = (context) => {\n  const { config } = context;\n  const settings = config.settings || {};\n  const routes = settings.routes || [];\n\n  // Compile all routes at init time (regex, closures — done once)\n  const compiledRoutes: CompiledRoute[] = routes.map((route) => ({\n    match: compileMatcher(route.match),\n    next: route.next,\n  }));\n\n  return {\n    type: 'router',\n    config,\n    push(event, context) {\n      const ingest = (context.ingest || {}) as Record<string, unknown>;\n\n      // First match wins\n      for (const route of compiledRoutes) {\n        if (route.match(ingest)) {\n          // Branch: preserve event, let next transformer decide what to do\n          return { next: route.next };\n        }\n      }\n\n      // No match → passthrough (event continues unchanged)\n      return;\n    },\n  };\n};\n"],"mappings":";AACA,SAAS,sBAAsB;AAGxB,IAAM,oBAET,CAAC,YAAY;AACf,QAAM,EAAE,OAAO,IAAI;AACnB,QAAM,WAAW,OAAO,YAAY,CAAC;AACrC,QAAM,SAAS,SAAS,UAAU,CAAC;AAGnC,QAAM,iBAAkC,OAAO,IAAI,CAAC,WAAW;AAAA,IAC7D,OAAO,eAAe,MAAM,KAAK;AAAA,IACjC,MAAM,MAAM;AAAA,EACd,EAAE;AAEF,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,KAAK,OAAOA,UAAS;AACnB,YAAM,SAAUA,SAAQ,UAAU,CAAC;AAGnC,iBAAW,SAAS,gBAAgB;AAClC,YAAI,MAAM,MAAM,MAAM,GAAG;AAEvB,iBAAO,EAAE,MAAM,MAAM,KAAK;AAAA,QAC5B;AAAA,MACF;AAGA;AAAA,IACF;AAAA,EACF;AACF;","names":["context"]}