{"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","severity","message","details","TransferEngineInitializationError","SeverityKind","FATAL","step","TransferEngineValidationError","TransferEngineTransferError"],"mappings":";;;AAQA,MAAMA,mBAAAA,SAIIC,iBAAAA,CAAAA;AACR,IAAA,WAAA,CAAYC,QAAkB,EAAEC,OAAgB,EAAEC,OAAkB,CAAE;QACpE,KAAK,CAAC,QAAA,EAAUF,QAAAA,EAAUC,OAAAA,EAASC,OAAAA,CAAAA;AACrC,IAAA;AACF;AAEA,MAAMC,iCAAAA,SAA0CL,mBAAAA,CAAAA;AAC9C,IAAA,WAAA,CAAYG,OAAgB,CAAE;AAC5B,QAAA,KAAK,CAACG,YAAAA,CAAaC,KAAK,EAAEJ,OAAAA,EAAS;YAAEK,IAAAA,EAAM;AAAiB,SAAA,CAAA;AAC9D,IAAA;AACF;AAEA,MAAMC,6BAAAA,SAEIT,mBAAAA,CAAAA;IACR,WAAA,CAAYG,OAAgB,EAAEC,OAAW,CAAE;AACzC,QAAA,KAAK,CAACE,YAAAA,CAAaC,KAAK,EAAEJ,OAAAA,EAAS;YAAEK,IAAAA,EAAM,YAAA;AAAcJ,YAAAA;AAAQ,SAAA,CAAA;AACnE,IAAA;AACF;AAEA,MAAMM,2BAAAA,SAEIV,mBAAAA,CAAAA;IACR,WAAA,CAAYG,OAAgB,EAAEC,OAAW,CAAE;AACzC,QAAA,KAAK,CAACE,YAAAA,CAAaC,KAAK,EAAEJ,OAAAA,EAAS;YAAEK,IAAAA,EAAM,UAAA;AAAYJ,YAAAA;AAAQ,SAAA,CAAA;AACjE,IAAA;AACF;;;;"}