{"version":3,"file":"errors.mjs","sources":["../../src/engine/errors.ts"],"sourcesContent":["import { DataTransferError, Severity, SeverityKind } from '../errors';\n\ntype TransferEngineStep = 'initialization' | 'validation' | 'transfer';\n\ntype TransferEngineErrorDetails<P extends TransferEngineStep = TransferEngineStep, U = never> = {\n  step: P;\n} & ([U] extends [never] ? unknown : { details?: U });\n\nclass TransferEngineError<\n  P extends TransferEngineStep = TransferEngineStep,\n  U = never,\n  T extends TransferEngineErrorDetails<P, U> = TransferEngineErrorDetails<P, U>,\n> extends DataTransferError<T> {\n  constructor(severity: Severity, message?: string, details?: T | null) {\n    super('engine', severity, message, details);\n  }\n}\n\nclass TransferEngineInitializationError extends TransferEngineError<'initialization'> {\n  constructor(message?: string) {\n    super(SeverityKind.FATAL, message, { step: 'initialization' });\n  }\n}\n\nclass TransferEngineValidationError<\n  T extends { check: string } = { check: string },\n> extends TransferEngineError<'validation', T> {\n  constructor(message?: string, details?: T) {\n    super(SeverityKind.FATAL, message, { step: 'validation', details });\n  }\n}\n\nclass TransferEngineTransferError<\n  T extends { check: string } = { check: string },\n> extends TransferEngineError<'transfer', T> {\n  constructor(message?: string, details?: T) {\n    super(SeverityKind.FATAL, message, { step: 'transfer', details });\n  }\n}\n\nexport {\n  TransferEngineError,\n  TransferEngineInitializationError,\n  TransferEngineValidationError,\n  TransferEngineTransferError,\n};\n"],"names":["TransferEngineError","DataTransferError","constructor","severity","message","details","TransferEngineInitializationError","SeverityKind","FATAL","step","TransferEngineValidationError","TransferEngineTransferError"],"mappings":";;;AAQA,MAAMA,mBAIIC,SAAAA,iBAAAA,CAAAA;AACRC,IAAAA,WAAAA,CAAYC,QAAkB,EAAEC,OAAgB,EAAEC,OAAkB,CAAE;QACpE,KAAK,CAAC,QAAUF,EAAAA,QAAAA,EAAUC,OAASC,EAAAA,OAAAA,CAAAA;AACrC;AACF;AAEA,MAAMC,iCAA0CN,SAAAA,mBAAAA,CAAAA;AAC9CE,IAAAA,WAAAA,CAAYE,OAAgB,CAAE;AAC5B,QAAA,KAAK,CAACG,YAAAA,CAAaC,KAAK,EAAEJ,OAAS,EAAA;YAAEK,IAAM,EAAA;AAAiB,SAAA,CAAA;AAC9D;AACF;AAEA,MAAMC,6BAEIV,SAAAA,mBAAAA,CAAAA;IACRE,WAAYE,CAAAA,OAAgB,EAAEC,OAAW,CAAE;AACzC,QAAA,KAAK,CAACE,YAAAA,CAAaC,KAAK,EAAEJ,OAAS,EAAA;YAAEK,IAAM,EAAA,YAAA;AAAcJ,YAAAA;AAAQ,SAAA,CAAA;AACnE;AACF;AAEA,MAAMM,2BAEIX,SAAAA,mBAAAA,CAAAA;IACRE,WAAYE,CAAAA,OAAgB,EAAEC,OAAW,CAAE;AACzC,QAAA,KAAK,CAACE,YAAAA,CAAaC,KAAK,EAAEJ,OAAS,EAAA;YAAEK,IAAM,EAAA,UAAA;AAAYJ,YAAAA;AAAQ,SAAA,CAAA;AACjE;AACF;;;;"}