-
Notifications
You must be signed in to change notification settings - Fork 0
Draft API specification
Marcel Oomens edited this page Sep 5, 2018
·
5 revisions
module type Pgpmime = {
type job;
type key;
type fileref; /* Either File or Blob, see https://developer.mozilla.org/en-US/docs/Web/API/FileReader */
type part =
| fileref
| string
let create : ( list(key), ~optimize ) => job;
let addKeys : (job, list(key) ) => job;
let enqueue : (job, list(file) ) => job;
/* String API */
let yield : (job) => string;
/* Stream API based on ReadableStream, see https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream/ReadableStream.
This utilizes OpenPGPjs' new stream based cryptography API.
I might defer this to v2.
*/
type stream;
let process : (job) => stream;
type optimize : int;
let speed : optimize;
let memory : optimize;
}
See Design type job;
to track state for a discussion on job state.
type job = {
pubkeys : list(key);
parts : list(part);
/* I might defer this to v2. */
strategy : optimize;
}
The Pgpmime library is a project by Out of Bounds' 451 Labs. It is currently in the inception phase.