{"version":3,"file":"index.mjs","names":[],"sources":["../src/createProvider.ts"],"sourcesContent":["import type { ErrorHandler } from \"@angular/core\";\nimport { EventTypes } from \"@ohbug/core\";\nimport type { OhbugBaseDetail, OhbugClient } from \"@ohbug/types\";\n\nexport interface AngularErrorDetail extends OhbugBaseDetail {\n  name: string;\n  stack?: string;\n}\n\nfunction createProvider(\n  client: OhbugClient,\n  errorHandler: ErrorHandler,\n): {\n  provide: ErrorHandler;\n  useClass: any;\n} {\n  class OhbugErrorHandler implements ErrorHandler {\n    handleError(err: Error): void {\n      const detail: AngularErrorDetail = {\n        name: err.name,\n        message: err.message,\n        stack: err.stack,\n      };\n      const event = client.createEvent<AngularErrorDetail>({\n        category: \"error\",\n        type: EventTypes.ANGULAR,\n        detail,\n      });\n      void client.notify(event);\n    }\n  }\n\n  return {\n    provide: errorHandler,\n    useClass: OhbugErrorHandler,\n  };\n}\n\nexport default createProvider;\n"],"mappings":";;AASA,SAAS,eACP,QACA,cAIA;CACA,MAAM,kBAA0C;EAC9C,YAAY,KAAkB;GAC5B,MAAM,SAA6B;IACjC,MAAM,IAAI;IACV,SAAS,IAAI;IACb,OAAO,IAAI;IACZ;GACD,MAAM,QAAQ,OAAO,YAAgC;IACnD,UAAU;IACV,MAAM,WAAW;IACjB;IACD,CAAC;AACG,UAAO,OAAO,MAAM;;;AAI7B,QAAO;EACL,SAAS;EACT,UAAU;EACX"}