MCPcopy Create free account
hub / github.com/ProtonDriveApps/sdk / parseStoredSnapshot

Function parseStoredSnapshot

cli/src/credentials/parseCredentials.ts:3–33  ·  view source on GitHub ↗
(raw: string | null)

Source from the content-addressed store, hash-verified

1import type { Credentials } from "./interface";
2
3export function parseStoredSnapshot(raw: string | null): Credentials | null {
4 if (raw == null || raw === '') {
5 return null;
6 }
7 try {
8 const session = JSON.parse(raw) as Credentials;
9 if (
10 (session.cachePassword && typeof session.cachePassword !== 'string') ||
11 !session.userKeyPassword ||
12 typeof session.userKeyPassword !== 'string' ||
13 !session.session?.uid ||
14 typeof session.session.uid !== 'string' ||
15 !session.session?.accessToken ||
16 typeof session.session.accessToken !== 'string' ||
17 (session.session?.refreshToken && typeof session.session.refreshToken !== 'string') ||
18 (session.telemetryEnabled !== undefined && typeof session.telemetryEnabled !== 'boolean')
19 ) {
20 return null;
21 }
22 return {
23 cachePassword: session.cachePassword,
24 userKeyPassword: session.userKeyPassword,
25 session: {
26 uid: session.session.uid,
27 accessToken: session.session.accessToken,
28 refreshToken: session.session.refreshToken,
29 },
30 telemetryEnabled: session.telemetryEnabled,
31 };
32 } catch {
33 return null;
34 }
35}

Callers 3

loadMethod · 0.90
loadMethod · 0.90

Calls 1

parseMethod · 0.80

Tested by

no test coverage detected