A Jmap Client written in Typescript.
Import in in your project (in you package.json
), you can reference a commit or a branch to use snapshot versions.
Create the client
import { Client } from "jmap-client-ts";
import { FetchTransport } from "jmap-client-ts/lib/utils/fetch-transport";
let client = new Client({
accessToken: 'myToken',
sessionUrl: 'http://jmap.example.com/session',
transport: new FetchTransport(fetch)
});
Fetch the session, it will return a promise (of void), the result will be stored on the client and can be accesed later with getSession()
client.fetchSession();
When the fetchSession()
promise resolves, you can make requests, the name of the method corresponds to the names in the specs, with lowerCamelCase, and the /
replaced by a _
, it will return a promise.
client.mailbox_get({
accountId: Object.keys(jmapClient.getSession().accounts)[0],
ids: null,
})