/** Serialize local saves so each request reads the revision returned by the last. */ export function createCanvasSaveQueue() { let pending: Promise = Promise.resolve(); return { enqueue(save: () => Promise): Promise { const next = pending.then(save, save); pending = next.catch(() => undefined); return next; }, }; }