cetirizine

An experimental matrix client written in reactjs utilizing tailwind and storybook
git clone git://archive.git.mtrnord.blog/MTRNord/cetirizine.git
Log | Files | Refs | README | LICENSE

utils.ts (2427B)


      1 import { IErrorResp } from "./api/apiTypes"
      2 
      3 export class SDKError extends Error {
      4     protected constructor(msg?: string) {
      5         if (msg) {
      6             super(msg)
      7         } else {
      8             super("The Matrix SDK encountered and unknown error")
      9         }
     10     }
     11 }
     12 
     13 export class NotLogeedInError extends SDKError {
     14     constructor() {
     15         super("Not logged in")
     16     }
     17 }
     18 
     19 export class HostnameMissingError extends SDKError {
     20     constructor() {
     21         super("Hostname must be set first")
     22     }
     23 }
     24 
     25 export class HostnameMissingHTTPSError extends SDKError {
     26     constructor() {
     27         super("Hostname must start with 'https://'")
     28     }
     29 }
     30 
     31 export class OlmMachineNotSetupError extends SDKError {
     32     constructor() {
     33         super("Olm machine must be set first")
     34     }
     35 }
     36 
     37 export class AccessTokenMissingError extends SDKError {
     38     constructor() {
     39         super("Access token must be set first")
     40     }
     41 }
     42 
     43 export class ProfileFetchError extends SDKError {
     44     constructor(public readonly response: Response) {
     45         super("Error fetching profile info.")
     46     }
     47 }
     48 
     49 export class LogoutError extends SDKError {
     50     constructor(public readonly response: Response) {
     51         super("Error logging out.")
     52     }
     53 }
     54 
     55 export class LoginFlowRequestError extends SDKError {
     56     constructor(public readonly response: Response) {
     57         super("Error requesting login flows.")
     58     }
     59 }
     60 
     61 export class UsernameMissingError extends SDKError {
     62     constructor() {
     63         super("Username must be set")
     64     }
     65 }
     66 
     67 export class PasswordMissingError extends SDKError {
     68     constructor() {
     69         super("Password must be set")
     70     }
     71 }
     72 
     73 export class SlidingSyncProxyNotFoundError extends SDKError {
     74     constructor() {
     75         super("No sliding sync proxy found")
     76     }
     77 }
     78 
     79 export class LoginError extends SDKError {
     80     constructor(public readonly response?: Response, public readonly matrix_error?: IErrorResp) {
     81         super("Error logging in.")
     82     }
     83 }
     84 
     85 export class PasswordLoginNotSupportedError extends SDKError {
     86     constructor() {
     87         super("Password login is not supported by this homeserver")
     88     }
     89 }
     90 
     91 export class FailedSendingError extends SDKError {
     92     constructor(public readonly response: Response) {
     93         super(`Failed to send message: ${response.status} ${response.statusText}`)
     94     }
     95 }
     96 
     97 export class SyncError extends SDKError {
     98     constructor(public readonly response: Response) {
     99         super(`Error syncing`)
    100     }
    101 }