{"version":3,"sources":["../src/index.ts"],"sourcesContent":["type DefaultData = { human?: string; [key: string]: any } | undefined;\n\nexport class ThrowHttp<\n  Code extends number = number,\n  Data extends DefaultData = DefaultData\n> extends Error {\n  static isThrowHttp = (e: Error): e is ThrowHttp => {\n    return e instanceof ThrowHttp;\n  };\n\n  static BadRequest = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Bad Request', code: 400, message, data });\n\n  static Unauthorized = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Unauthorized', code: 401, message, data });\n\n  static PaymentRequired = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Payment Required', code: 402, message, data });\n\n  static Forbidden = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Forbidden', code: 403, message, data });\n\n  static NotFound = <Data extends DefaultData>(message?: string, data?: Data) =>\n    new ThrowHttp({ name: 'Not Found', code: 404, message, data });\n\n  static MethodNotAllowed = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Method Not Allowed', code: 405, message, data });\n\n  static NotAcceptable = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Not Acceptable', code: 406, message, data });\n\n  static ProxyAuthenticationRequired = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) =>\n    new ThrowHttp({\n      name: 'Proxy Authentication Required',\n      code: 407,\n      message,\n      data,\n    });\n\n  static RequestTimeout = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Request Timeout', code: 408, message, data });\n\n  static Conflict = <Data extends DefaultData>(message?: string, data?: Data) =>\n    new ThrowHttp({ name: 'Conflict', code: 409, message, data });\n\n  static Gone = <Data extends DefaultData>(message?: string, data?: Data) =>\n    new ThrowHttp({ name: 'Gone', code: 410, message, data });\n\n  static LengthRequired = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Length Required', code: 411, message, data });\n\n  static PreconditionFailed = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Precondition Failed', code: 412, message, data });\n\n  static RequestEntityTooLarge = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) =>\n    new ThrowHttp({\n      name: 'Request Entity Too Large',\n      code: 413,\n      message,\n      data,\n    });\n\n  static RequestURITooLarge = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) =>\n    new ThrowHttp({ name: 'Request URI Too Large', code: 414, message, data });\n\n  static UnsupportedMediaType = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) =>\n    new ThrowHttp({ name: 'Unsupported Media Type', code: 415, message, data });\n\n  static RequestedRangeNotSatisfiable = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) =>\n    new ThrowHttp({\n      name: 'Requested Range Not Satisfiable',\n      code: 416,\n      message,\n      data,\n    });\n\n  static ExpectationFailed = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Expectation Failed', code: 417, message, data });\n\n  static ImATeapot = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: `I'm a Teapot`, code: 418, message, data });\n\n  static UnprocessableEntity = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) =>\n    new ThrowHttp({ name: 'Unprocessable Entity', code: 422, message, data });\n\n  static Locked = <Data extends DefaultData>(message?: string, data?: Data) =>\n    new ThrowHttp({ name: 'Locked', code: 423, message, data });\n\n  static FailedDependency = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Failed Dependency', code: 424, message, data });\n\n  static TooEarly = <Data extends DefaultData>(message?: string, data?: Data) =>\n    new ThrowHttp({ name: 'Too Early', code: 425, message, data });\n\n  static UpgradeRequired = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Upgrade Required', code: 426, message, data });\n\n  static PreconditionRequired = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) =>\n    new ThrowHttp({ name: 'Precondition Required', code: 428, message, data });\n\n  static RequestHeaderFieldsTooLarge = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) =>\n    new ThrowHttp({\n      name: 'Request Header Fields Too Large',\n      code: 431,\n      message,\n      data,\n    });\n\n  static TooManyRequests = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Too Many Requests', code: 429, message, data });\n\n  static UnavailableForLegalReasons = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) =>\n    new ThrowHttp({\n      name: 'Unavailable For Legal Reasons',\n      code: 451,\n      message,\n      data,\n    });\n\n  static ServerError = <Data extends DefaultData>(\n    message?: string,\n    data?: Data\n  ) => new ThrowHttp({ name: 'Server Error', code: 500, message, data });\n\n  code?: Code;\n  data?: Data;\n\n  constructor({\n    name,\n    code,\n    message,\n    data,\n  }: {\n    name?: string;\n    code: Code;\n    message?: string;\n    data?: Data;\n  }) {\n    super(message);\n    this.name = name ?? 'Http Error';\n    this.code = code;\n    this.data = data;\n  }\n}\n"],"mappings":"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","names":[]}