jmap-kit
    Preparing search index...
    • Construct a new session object with invalid capabilities filtered out, then deep-freeze it.

      • Server-level failures cause the capability to be removed from capabilities, all account.accountCapabilities, and primaryAccounts.
      • Account-level failures cause the capability to be removed from that specific account's accountCapabilities and, if the account was the primary for that capability, from primaryAccounts.

      Parameters

      • session: {
            accounts: Record<
                string,
                {
                    accountCapabilities: { [key: string]: unknown };
                    isPersonal: boolean;
                    isReadOnly: boolean;
                    name: string;
                    [key: string]: unknown;
                },
            >;
            apiUrl: string;
            capabilities: {
                "urn:ietf:params:jmap:core": { [key: string]: unknown };
                [key: string]: unknown;
            };
            downloadUrl: string;
            eventSourceUrl: string;
            primaryAccounts: Record<string, string>;
            state: string;
            uploadUrl: string;
            username: string;
            [key: string]: unknown;
        }

        The parsed (mutable) session from structural validation

      • serverFailures: { uri: keyof JMAPServerCapabilities }[]

        Server capabilities that failed schema validation

      • accountFailures: { accountId: string; uri: keyof JMAPServerCapabilities }[]

        Account capabilities that failed schema validation

      Returns JMAPSession

      A deeply frozen JMAPSession with invalid capabilities removed