Auto-indexing service and GraphQL API for AT Protocol Records
quickslice.slices.network/
atproto
gleam
graphql
1/**
2 * Base error class for Quickslice client errors
3 */
4export class QuicksliceError extends Error {
5 constructor(message: string) {
6 super(message);
7 this.name = 'QuicksliceError';
8 }
9}
10
11/**
12 * Thrown when authentication is required but user is not logged in
13 */
14export class LoginRequiredError extends QuicksliceError {
15 constructor(message = 'Login required') {
16 super(message);
17 this.name = 'LoginRequiredError';
18 }
19}
20
21/**
22 * Thrown when network request fails
23 */
24export class NetworkError extends QuicksliceError {
25 constructor(message: string) {
26 super(message);
27 this.name = 'NetworkError';
28 }
29}
30
31/**
32 * Thrown when OAuth flow fails
33 */
34export class OAuthError extends QuicksliceError {
35 public code: string;
36 public description?: string;
37
38 constructor(code: string, description?: string) {
39 super(`OAuth error: ${code}${description ? ` - ${description}` : ''}`);
40 this.name = 'OAuthError';
41 this.code = code;
42 this.description = description;
43 }
44}