File size: 780 Bytes
5cb63c1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
export class DesktopCredentialsRequiredError extends Error {
  readonly detailCode = "DESKTOP_CREDENTIALS_REQUIRED" as const;

  constructor(
    readonly auth: "vnc-password" | "ard-account",
    message: string,
  ) {
    super(message);
    this.name = "DesktopCredentialsRequiredError";
  }
}

export class HostDesktopCredentialsRequiredError extends DesktopCredentialsRequiredError {
  declare readonly auth: "ard-account";

  constructor() {
    super("ard-account", "macOS account credentials are required to observe Screen Sharing");
    this.name = "HostDesktopCredentialsRequiredError";
  }
}

export function isDesktopCredentialsRequiredError(
  error: unknown,
): error is DesktopCredentialsRequiredError {
  return error instanceof DesktopCredentialsRequiredError;
}