{"version":3,"file":"index.cjs","sources":["../../../src/errors/index.ts"],"sourcesContent":["import { OperationOutcome as OperationOutcomeR4B } from 'fhir/r4b';\nimport { OperationOutcome as OperationOutcomeR5 } from 'fhir/r5';\n\nexport class OystehrSdkError extends Error {\n  code: number;\n  constructor({ message, code, cause }: { message: string; code: number; cause?: unknown }) {\n    super(message, { cause });\n    Object.setPrototypeOf(this, OystehrSdkError.prototype);\n    this.code = code;\n    this.name = 'OystehrSdkError';\n  }\n  toString(): string {\n    return `${this.name}: ${this.message} (code: ${this.code})`;\n  }\n  toJSON(): any {\n    return {\n      name: this.name,\n      message: this.message,\n      code: this.code,\n      cause: this.cause,\n    };\n  }\n}\n\nfunction transformOperationOutcomeToErrorMessage(cause: OperationOutcomeR4B | OperationOutcomeR5): string {\n  const causes = [];\n  for (const issue of cause.issue ?? []) {\n    if (issue.details && issue.details.text) {\n      causes.push(issue.details.text);\n    }\n  }\n  if (!causes.length) {\n    causes.push('Unknown FHIR error');\n  }\n  return causes.join(',');\n}\n\nexport class OystehrFHIRError extends OystehrSdkError {\n  cause: OperationOutcomeR4B | OperationOutcomeR5;\n  constructor({ error, code }: { error: OperationOutcomeR4B | OperationOutcomeR5; code: number }) {\n    super({\n      message: transformOperationOutcomeToErrorMessage(error as OperationOutcomeR4B | OperationOutcomeR5),\n      code,\n    });\n    Object.setPrototypeOf(this, OystehrFHIRError.prototype);\n    this.cause = error as OperationOutcomeR4B | OperationOutcomeR5;\n    this.name = 'OystehrFHIRError';\n  }\n  toJSON(): any {\n    return {\n      name: this.name,\n      message: this.message,\n      code: this.code,\n      cause: this.cause,\n    };\n  }\n}\n"],"names":[],"mappings":";;AAGM,MAAO,eAAgB,SAAQ,KAAK,CAAA;AACxC,IAAA,IAAI,CAAS;AACb,IAAA,WAAA,CAAY,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAsD,EAAA;AACtF,QAAA,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;KAC/B;IACD,QAAQ,GAAA;AACN,QAAA,OAAO,CAAG,EAAA,IAAI,CAAC,IAAI,CAAK,EAAA,EAAA,IAAI,CAAC,OAAO,CAAW,QAAA,EAAA,IAAI,CAAC,IAAI,GAAG,CAAC;KAC7D;IACD,MAAM,GAAA;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;KACH;AACF,CAAA;AAED,SAAS,uCAAuC,CAAC,KAA+C,EAAA;IAC9F,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;QACrC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;YACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACjC;KACF;AACD,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAClB,QAAA,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KACnC;AACD,IAAA,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAEK,MAAO,gBAAiB,SAAQ,eAAe,CAAA;AACnD,IAAA,KAAK,CAA2C;AAChD,IAAA,WAAA,CAAY,EAAE,KAAK,EAAE,IAAI,EAAqE,EAAA;AAC5F,QAAA,KAAK,CAAC;AACJ,YAAA,OAAO,EAAE,uCAAuC,CAAC,KAAiD,CAAC;YACnG,IAAI;AACL,SAAA,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACxD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAiD,CAAC;AAC/D,QAAA,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;KAChC;IACD,MAAM,GAAA;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;KACH;AACF;;;;;"}