{
  "version": 3,
  "sources": ["../../../../src/packages/catalogs.resolver/matchCatalogResolveResult.ts"],
  "sourcesContent": ["import type {\n  CatalogResolutionUnused,\n  CatalogResolutionResult,\n  CatalogResolutionFound,\n  CatalogResolutionMisconfiguration,\n} from './resolveFromCatalog.ts';\n\nexport type CatalogResultMatcher<T> = {\n  readonly found: (found: CatalogResolutionFound) => T;\n  readonly misconfiguration: (\n    misconfiguration: CatalogResolutionMisconfiguration\n  ) => T;\n  readonly unused: (unused: CatalogResolutionUnused) => T;\n};\n\nexport function matchCatalogResolveResult<T>(\n  result: CatalogResolutionResult,\n  matcher: CatalogResultMatcher<T>\n): T {\n  switch (result.type) {\n    case 'found': {\n      return matcher.found(result);\n    }\n    case 'misconfiguration': {\n      return matcher.misconfiguration(result);\n    }\n    case 'unused': {\n      return matcher.unused(result);\n    }\n  }\n}\n"],
  "mappings": "AAeO,SAAS,0BACd,QACA,SACG;AACH,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,SAAS;AACZ,aAAO,QAAQ,MAAM,MAAM;AAAA,IAC7B;AAAA,IACA,KAAK,oBAAoB;AACvB,aAAO,QAAQ,iBAAiB,MAAM;AAAA,IACxC;AAAA,IACA,KAAK,UAAU;AACb,aAAO,QAAQ,OAAO,MAAM;AAAA,IAC9B;AAAA,EACF;AACF;",
  "names": []
}
