{"version":3,"sources":["../src/http/HttpStatus.ts"],"sourcesContent":["import { Enum } from '../types/Enum';\nimport { TypeGuard } from '../types/TypeGuard';\nimport { isAn } from '../types/IsA';\nimport { Code } from '../types/Id';\n\nexport class HttpStatus extends Enum {\n  static Continue = new HttpStatus('Continue', 100);\n  static SwitchingProtocols = new HttpStatus('Switching protocols', 101);\n  static Processing = new HttpStatus('Processing', 102);\n  static EarlyHints = new HttpStatus('Early hints', 103);\n  static Ok = new HttpStatus('Ok', 200);\n  static Created = new HttpStatus('Created', 201);\n  static Accepted = new HttpStatus('Accepted', 202);\n  static NonAuthoritativeInformation = new HttpStatus('Non-authoritative information', 203);\n  static NoContent = new HttpStatus('No content', 204);\n  static ResetContent = new HttpStatus('Reset content', 205);\n  static PartialContent = new HttpStatus('Partial content', 206);\n  static MultiStatus = new HttpStatus('Multi-status', 207);\n  static AlreadyReported = new HttpStatus('Already reported', 208);\n  static ImUsed = new HttpStatus('IM used', 226);\n  static MultipleChoices = new HttpStatus('Multiple Choices', 300);\n  static MovedPermanently = new HttpStatus('Moved Permanently', 301);\n  static Found = new HttpStatus('Found', 302);\n  static SeeOther = new HttpStatus('See other', 303);\n  static NotModified = new HttpStatus('Not modified', 304);\n  static UseProxy = new HttpStatus('Use proxy', 305);\n  static SwitchProxy = new HttpStatus('Switch proxy', 306);\n  static TemporaryRedirect = new HttpStatus('Temporary redirect', 307);\n  static PermanentRedirect = new HttpStatus('Permanent redirect', 308);\n  static BadRequest = new HttpStatus('Bad request', 400);\n  static NotAuthorized = new HttpStatus('Not authorized', 401);\n  static PaymentRequired = new HttpStatus('Payment required', 402);\n  static Forbidden = new HttpStatus('Forbidden', 403);\n  static NotFound = new HttpStatus('Not found', 404);\n  static MethodNotAllowed = new HttpStatus('Method not allowed', 405);\n  static NotAcceptable = new HttpStatus('Not acceptable', 406);\n  static ProxyAuthenticationRequired = new HttpStatus('Proxy authentication required', 407);\n  static RequestTimeout = new HttpStatus('Request timeout', 408);\n  static Conflict = new HttpStatus('Conflict', 409);\n  static Gone = new HttpStatus('Gone', 410);\n  static LengthRequired = new HttpStatus('Length required', 411);\n  static PreconditionFailed = new HttpStatus('Precondition failed', 412);\n  static PayloadTooLarge = new HttpStatus('Payload too large', 413);\n  static UriTooLong = new HttpStatus('URI too long', 414);\n  static UnsupportedMediaType = new HttpStatus('Unsupported media type', 415);\n  static RangeNotSatisfiable = new HttpStatus('Range not satisfiable', 416);\n  static ExpectationFailed = new HttpStatus('Expectation failed', 417);\n  static ImATeapot = new HttpStatus(\"I'm a teapot\", 418);\n  static MisdirectedRequest = new HttpStatus('Misdirected request', 421);\n  static UnprocessableEntity = new HttpStatus('Unprocessable entity', 422);\n  static Locked = new HttpStatus('Locked', 423);\n  static FailedDependency = new HttpStatus('Failed dependency', 424);\n  static TooEarly = new HttpStatus('Too early', 425);\n  static UpgradeRequired = new HttpStatus('Upgrade required', 426);\n  static PreconditionRequired = new HttpStatus('Precondition required', 428);\n  static TooManyRequests = new HttpStatus('Too many requests', 429);\n  static RequestHeaderFieldsTooLarge = new HttpStatus('Request header fields too large', 431);\n  static UnavailableForLegalReasons = new HttpStatus('Unavailable for legal reasons', 451);\n  static InternalServerError = new HttpStatus('Internal server error', 500);\n  static NotImplemented = new HttpStatus('Not implemented', 501);\n  static BadGateway = new HttpStatus('Bad gateway', 502);\n  static ServiceUnavailable = new HttpStatus('Service unavailable', 503);\n  static GatewayTimeout = new HttpStatus('Gateway timeout', 504);\n  static HTTPVersionNotSupported = new HttpStatus('Http version not supported', 505);\n  static VariantAlsoNegotiates = new HttpStatus('Variant also negotiates', 506);\n  static InsufficientStorage = new HttpStatus('Insufficient storage', 507);\n  static LoopDetected = new HttpStatus('Loop detected', 508);\n  static NotExtended = new HttpStatus('Not extended', 510);\n  static NetworkAuthenticationRequired = new HttpStatus('Network authentication required', 511);\n\n  get isError(): boolean {\n    return this.isClientError || this.isServerError;\n  }\n\n  get isClientError(): boolean {\n    return (this.id as number) >= 400 && (this.id as number) < 500;\n  }\n\n  get isServerError(): boolean {\n    return (this.id as number) >= 500 && (this.id as number) < 600;\n  }\n\n  get status(): number {\n    return this.id as number;\n  }\n}\n\nexport const isHttpStatus: TypeGuard<HttpStatus> = (s?: unknown): s is HttpStatus => isAn<HttpStatus>(s, 'id', 'status');\n\nexport const toHttpStatus = (s: HttpStatus | Code): HttpStatus => (isHttpStatus(s) ? s : HttpStatus.byId(s));\n"],"mappings":"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","names":[]}