@laminapdf/viewer 0.2.0-alpha.6 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/dist/client.d.ts +29 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +81 -3
- package/dist/client.js.map +1 -1
- package/dist/edit/session.d.ts +24 -2
- package/dist/edit/session.d.ts.map +1 -1
- package/dist/edit/session.js +54 -1
- package/dist/edit/session.js.map +1 -1
- package/dist/edit-log.d.ts +5 -0
- package/dist/edit-log.d.ts.map +1 -1
- package/dist/edit-log.js +32 -8
- package/dist/edit-log.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +27 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/view/viewer.d.ts +2 -2
- package/dist/view/viewer.d.ts.map +1 -1
- package/dist/view/viewer.js +3 -0
- package/dist/view/viewer.js.map +1 -1
- package/dist/worker/document.d.ts +18 -5
- package/dist/worker/document.d.ts.map +1 -1
- package/dist/worker/document.js +2 -1
- package/dist/worker/document.js.map +1 -1
- package/dist/worker/edit.d.ts +27 -2
- package/dist/worker/edit.d.ts.map +1 -1
- package/dist/worker/edit.js +96 -18
- package/dist/worker/edit.js.map +1 -1
- package/dist/worker/methods.d.ts.map +1 -1
- package/dist/worker/methods.js +16 -1
- package/dist/worker/methods.js.map +1 -1
- package/dist/worker/session.d.ts +2 -0
- package/dist/worker/session.d.ts.map +1 -1
- package/dist/worker/session.js +7 -0
- package/dist/worker/session.js.map +1 -1
- package/package.json +13 -7
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
- **The view** handles layout, virtualisation, canvases and zoom.
|
|
6
6
|
- **The document Web Worker**, one per open document, opens and renders the file away from the page's main thread.
|
|
7
7
|
|
|
8
|
-
The package is
|
|
8
|
+
The package is ESM-only.
|
|
9
9
|
|
|
10
10
|
```ts
|
|
11
11
|
import pdfiumWasm from "@embedpdf/pdfium/pdfium.wasm?url";
|
|
@@ -179,8 +179,9 @@ The client starts the Web Worker and talks to it; you call `ViewerClient`'s meth
|
|
|
179
179
|
- Defaults are `soft` 10 s (`render-slow`) and `hard` 120 s.
|
|
180
180
|
- At the hard cap the client calls `stop("hard-timeout")`. For a document that needed a password, it emits `render-stuck` instead and waits for the user's `stop()`.
|
|
181
181
|
- **Crashes:** a crash is the Web Worker's `error` or `messageerror`, or a WebAssembly trap it reports, never silence.
|
|
182
|
-
- Pending calls reject with `worker-crashed
|
|
183
|
-
-
|
|
182
|
+
- Pending calls reject with `worker-crashed`, and a new Web Worker reopens the document from the same source.
|
|
183
|
+
- `render()` sends again, once, in the new Web Worker, each render that was waiting when the old one was lost. The render that was drawing then isn't re-sent: its page shows an error the UI offers Retry for, so a page that crashes the engine can't loop.
|
|
184
|
+
- When the restart can't reopen the document (an encrypted one waits for its password), a waiting render rejects with an `AbortError`.
|
|
184
185
|
- `stop()` takes the same path with `reason: "cancelled"`.
|
|
185
186
|
- **Secrets:** the password crosses to the Web Worker once, when the document opens, and is kept only there. The page keeps the source and the other options.
|
|
186
187
|
- After a crash of an encrypted document, `password-required` fires and the caller opens again.
|
|
@@ -272,7 +273,7 @@ The browser suites run in Chromium, Firefox and WebKit over the built package: r
|
|
|
272
273
|
- page labels in the names;
|
|
273
274
|
- the outline and a named destination of the links-and-outlines reference PDF landing on their pages.
|
|
274
275
|
- Unit tests sit next to their modules (`src/**/*.test.ts`) and run in Node. They cover the layout's cost, counted in steps, and the fit modes for portrait, landscape and rotated pages. They also cover zoom anchoring, tiles, cache eviction and the pool's caps, and where each kind of destination puts the view at each rotation. `test/dependencies.test.ts` checks that `src/` imports no UI framework, and `test/types.test.ts` checks the RPC types.
|
|
275
|
-
- Two demo pages are manual checks: run `pnpm --filter @laminapdf/viewer exec vite
|
|
276
|
+
- Two demo pages are manual checks: run `pnpm --filter @laminapdf/viewer exec vite demo`. `demo/viewer-demo.html` is the viewer, with zoom buttons; `demo/rpc-demo.html` draws page 1 through the RPC alone. `examples/` holds the examples the docs site shows, under [the examples' rules](../../docs/guidelines/examples.md); `test/browser/show-a-pdf.browser.test.ts` runs `examples/show-a-pdf.ts`. The perf harness has its own page, `perf/page/` ([Performance](#performance)).
|
|
276
277
|
|
|
277
278
|
### Performance
|
|
278
279
|
|
package/dist/client.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { RenderRequest } from "@laminapdf/render";
|
|
2
|
-
import { type Op } from "@laminapdf/sdk";
|
|
2
|
+
import { type DocumentMetadata, type Op, type PlannedSave, type SaveOptions } from "@laminapdf/sdk";
|
|
3
3
|
import { type WorkerInitOptions, type WorkerWasmSource } from "@laminapdf/sdk/worker";
|
|
4
4
|
import type { FindOptions } from "./find/fold.js";
|
|
5
|
-
import { type BackendInit, type EditHistory, type EditResult, type LoadProgress, type MethodName, type NetworkRecord, type OpenedDocument, type Params, type PolicyViolation, type PrintOptions, type Priority, type RenderedBitmap, type Result, type SourceInit, type ViewerOpenOptions, type WorkerNetworkLog } from "./protocol.js";
|
|
5
|
+
import { type BackendInit, type EditHistory, type EditResult, type LoadProgress, type MethodName, type NetworkRecord, type OpenedDocument, type Params, type PolicyViolation, type PrintOptions, type Priority, type RenderedBitmap, type Result, type SavedCopy, type SourceInit, type ViewerOpenOptions, type WorkerNetworkLog } from "./protocol.js";
|
|
6
6
|
/** `ViewerClient.create`'s options: the backend, Lamina PDF's WebAssembly, the timeouts, the worker and a signal to stop starting. */
|
|
7
7
|
export interface ViewerOptions {
|
|
8
8
|
/** The render engine; PDFium needs its `.wasm` URL from your bundler (`pdfium.wasm?url`). */
|
|
@@ -101,6 +101,13 @@ export interface ViewerCallOptions {
|
|
|
101
101
|
/** Default `visible` for renders; document calls run above every render. */
|
|
102
102
|
readonly priority?: Priority;
|
|
103
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* What a `Viewer` needs of the engine it draws from: the open document, its events, renders,
|
|
106
|
+
* and the text, link, find, edit and save calls of the layers and the edit session it builds. A
|
|
107
|
+
* `ViewerClient` over its document worker is one; the desktop app's client over its engine
|
|
108
|
+
* process is another, so the same viewer runs on both.
|
|
109
|
+
*/
|
|
110
|
+
export type ViewerEngine = Pick<ViewerClient, "document" | "on" | "render" | "pageText" | "readingOrder" | "structure" | "pageLinks" | "find" | "applyEdit" | "undoEdit" | "redoEdit" | "goToStep" | "editHistory" | "planSave" | "copyEdits" | "adoptEdits">;
|
|
104
111
|
/** One document worker and the typed RPC to it. */
|
|
105
112
|
export declare class ViewerClient {
|
|
106
113
|
#private;
|
|
@@ -146,6 +153,24 @@ export declare class ViewerClient {
|
|
|
146
153
|
goToStep(position: number, options?: ViewerCallOptions): Promise<EditResult>;
|
|
147
154
|
/** The edit session's history, read from the worker (after a failed call, which answers none). */
|
|
148
155
|
editHistory(options?: ViewerCallOptions): Promise<EditHistory>;
|
|
156
|
+
/** The open document's metadata as its edits leave it: Info and XMP read together. */
|
|
157
|
+
metadata(call?: ViewerCallOptions): Promise<DocumentMetadata>;
|
|
158
|
+
/** How saving the open document with `options` would go: its constraint, signatures, mode and warnings. */
|
|
159
|
+
planSave(options: SaveOptions, call?: ViewerCallOptions): Promise<PlannedSave>;
|
|
160
|
+
/**
|
|
161
|
+
* Writes the open document as a save with `options` would, for the caller to write where the
|
|
162
|
+
* file lives; the document stays unsaved until `adoptEdits(copy.token)`. Save a copy uses it
|
|
163
|
+
* and never adopts.
|
|
164
|
+
*/
|
|
165
|
+
copyEdits(options: SaveOptions, call?: ViewerCallOptions): Promise<SavedCopy>;
|
|
166
|
+
/**
|
|
167
|
+
* Makes the copy `token` names the document's saved file, once it is written where the file
|
|
168
|
+
* lives: the worker rebases onto it, the history marks the point saved, and a restarted worker
|
|
169
|
+
* reopens that file. Emits `edit` with the history.
|
|
170
|
+
*
|
|
171
|
+
* @throws when the document changed since the copy (it stays unsaved).
|
|
172
|
+
*/
|
|
173
|
+
adoptEdits(token: number, call?: ViewerCallOptions): Promise<EditHistory>;
|
|
149
174
|
/**
|
|
150
175
|
* Every request the document worker has made, and had blocked, since it started: what its
|
|
151
176
|
* `network` and `csp-violation` events reported, including those sent before anyone listened.
|
|
@@ -208,8 +233,8 @@ export declare class ViewerClient {
|
|
|
208
233
|
render(request: RenderRequest, options?: ViewerCallOptions): Promise<RenderedBitmap>;
|
|
209
234
|
/**
|
|
210
235
|
* Stops whatever the worker is doing by terminating it (the user's Stop, or the hard cap), then
|
|
211
|
-
* restarts it as after a crash: pending calls reject,
|
|
212
|
-
* encrypted document asks for its password again.
|
|
236
|
+
* restarts it as after a crash: pending calls reject, renders that were waiting are sent again,
|
|
237
|
+
* the running one isn't, and an encrypted document asks for its password again.
|
|
213
238
|
*/
|
|
214
239
|
stop(reason?: "cancelled" | "hard-timeout"): Promise<void>;
|
|
215
240
|
/** Ends the worker for good. */
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
// (`hard-timeout`) or, for an encrypted document, `render-stuck` and a restart only on `stop()`;
|
|
12
12
|
// - restart after a crash (the worker's error, messageerror or a reported trap; never silence):
|
|
13
13
|
// pending calls reject with `worker-crashed`, a new worker reopens the document from the same
|
|
14
|
-
// source,
|
|
14
|
+
// source, and renders that were waiting are sent again once, there; the render that was running
|
|
15
|
+
// is never re-sent, so a page that crashes the engine can't loop (the UI offers Retry). An encrypted
|
|
15
16
|
// document isn't reopened: the password lived only in the dead worker, so `password-required`
|
|
16
17
|
// fires and the caller opens again with the password.
|
|
17
18
|
import { isLaminaPdfError } from "@laminapdf/sdk";
|
|
@@ -50,6 +51,8 @@ export class ViewerClient {
|
|
|
50
51
|
#document;
|
|
51
52
|
/** The open document's edit session, kept so a restarted worker takes it back. */
|
|
52
53
|
#edits = new EditLog();
|
|
54
|
+
/** The last copy a save wrote (`copyEdits`), until it is adopted or another replaces it. */
|
|
55
|
+
#copy;
|
|
53
56
|
/** Opens asked for so far: each open's ticket. */
|
|
54
57
|
#opens = 0;
|
|
55
58
|
#recovering;
|
|
@@ -60,6 +63,8 @@ export class ViewerClient {
|
|
|
60
63
|
#timers = new Map();
|
|
61
64
|
/** The key the worker is drawing now: a render that joins it starts its timers at once. */
|
|
62
65
|
#drawing;
|
|
66
|
+
/** The render that was drawing when the worker crashed or was stopped: it isn't sent again. */
|
|
67
|
+
#lost;
|
|
63
68
|
constructor(pdf, options) {
|
|
64
69
|
this.#pdf = pdf;
|
|
65
70
|
this.#backend = options.backend;
|
|
@@ -241,6 +246,52 @@ export class ViewerClient {
|
|
|
241
246
|
this.#edits.take({ pages: [], history });
|
|
242
247
|
return history;
|
|
243
248
|
}
|
|
249
|
+
/** The open document's metadata as its edits leave it: Info and XMP read together. */
|
|
250
|
+
async metadata(call) {
|
|
251
|
+
if (this.#recovering !== undefined)
|
|
252
|
+
await this.#recovering.catch(() => { });
|
|
253
|
+
return this.call("metadata", [this.#document?.id ?? 0], call);
|
|
254
|
+
}
|
|
255
|
+
/** How saving the open document with `options` would go: its constraint, signatures, mode and warnings. */
|
|
256
|
+
async planSave(options, call) {
|
|
257
|
+
if (this.#recovering !== undefined)
|
|
258
|
+
await this.#recovering.catch(() => { });
|
|
259
|
+
return this.call("planSave", [options, this.#document?.id ?? 0], call);
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Writes the open document as a save with `options` would, for the caller to write where the
|
|
263
|
+
* file lives; the document stays unsaved until `adoptEdits(copy.token)`. Save a copy uses it
|
|
264
|
+
* and never adopts.
|
|
265
|
+
*/
|
|
266
|
+
async copyEdits(options, call) {
|
|
267
|
+
if (this.#recovering !== undefined)
|
|
268
|
+
await this.#recovering.catch(() => { });
|
|
269
|
+
const copy = await this.call("copyEdits", [options, this.#document?.id ?? 0], call);
|
|
270
|
+
this.#copy = { token: copy.token, bytes: copy.bytes };
|
|
271
|
+
return copy;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Makes the copy `token` names the document's saved file, once it is written where the file
|
|
275
|
+
* lives: the worker rebases onto it, the history marks the point saved, and a restarted worker
|
|
276
|
+
* reopens that file. Emits `edit` with the history.
|
|
277
|
+
*
|
|
278
|
+
* @throws when the document changed since the copy (it stays unsaved).
|
|
279
|
+
*/
|
|
280
|
+
async adoptEdits(token, call) {
|
|
281
|
+
if (this.#recovering !== undefined)
|
|
282
|
+
await this.#recovering.catch(() => { });
|
|
283
|
+
const opened = this.#document;
|
|
284
|
+
const history = await this.call("adoptEdits", [token, opened?.id ?? 0], call);
|
|
285
|
+
const copy = this.#copy;
|
|
286
|
+
if (opened === undefined || this.#document !== opened)
|
|
287
|
+
return history;
|
|
288
|
+
this.#copy = undefined;
|
|
289
|
+
if (copy?.token === token && this.#reopen !== undefined)
|
|
290
|
+
this.#reopen = { ...this.#reopen, source: copy.bytes };
|
|
291
|
+
this.#edits.saved(history);
|
|
292
|
+
this.#events.emit("edit", { pages: [], history });
|
|
293
|
+
return history;
|
|
294
|
+
}
|
|
244
295
|
/**
|
|
245
296
|
* Runs one edit session call on the open document, then keeps what it changed: the pages'
|
|
246
297
|
* sizes in `document`, the steps for a restart, and an `edit` event.
|
|
@@ -364,6 +415,24 @@ export class ViewerClient {
|
|
|
364
415
|
* drawn once. An aborted render rejects with `AbortError` and never paints.
|
|
365
416
|
*/
|
|
366
417
|
async render(request, options = {}) {
|
|
418
|
+
const attempt = { interrupted: false };
|
|
419
|
+
try {
|
|
420
|
+
return await this.#render(request, options, attempt);
|
|
421
|
+
}
|
|
422
|
+
catch (e) {
|
|
423
|
+
if (!attempt.interrupted)
|
|
424
|
+
throw e;
|
|
425
|
+
}
|
|
426
|
+
// The worker was lost while this render waited: it is sent again, once, in the restarted
|
|
427
|
+
// worker (ADR 0009 §3.6). A restart that didn't reopen the document (an encrypted one waits
|
|
428
|
+
// for its password) leaves it nothing to draw from: it ends as cancelled, as for a new open.
|
|
429
|
+
await this.#recovering?.catch(() => { });
|
|
430
|
+
if (this.#document === undefined)
|
|
431
|
+
throw new DOMException("the document closed in a restart", "AbortError");
|
|
432
|
+
return this.#render(request, options, { interrupted: false });
|
|
433
|
+
}
|
|
434
|
+
/** One render; `attempt.interrupted` says a failure was only the worker's loss (see `render`). */
|
|
435
|
+
async #render(request, options, attempt) {
|
|
367
436
|
const id = this.#nextRender++;
|
|
368
437
|
// A restarted worker numbers its documents again: read the ID once it serves.
|
|
369
438
|
if (this.#recovering !== undefined)
|
|
@@ -405,6 +474,13 @@ export class ViewerClient {
|
|
|
405
474
|
this.#firstDraw?.drawn(documentId);
|
|
406
475
|
return drawn;
|
|
407
476
|
}
|
|
477
|
+
catch (e) {
|
|
478
|
+
// Lost with its worker while it waited: a restart is under way, and it wasn't the render
|
|
479
|
+
// drawing then, which isn't re-sent so a page that crashes the engine can't loop.
|
|
480
|
+
attempt.interrupted =
|
|
481
|
+
isLaminaPdfError(e, "worker-crashed") && this.#recovering !== undefined && key !== this.#lost;
|
|
482
|
+
throw e;
|
|
483
|
+
}
|
|
408
484
|
finally {
|
|
409
485
|
const own = this.#timers.get(key);
|
|
410
486
|
own?.delete(timers);
|
|
@@ -418,8 +494,8 @@ export class ViewerClient {
|
|
|
418
494
|
}
|
|
419
495
|
/**
|
|
420
496
|
* Stops whatever the worker is doing by terminating it (the user's Stop, or the hard cap), then
|
|
421
|
-
* restarts it as after a crash: pending calls reject,
|
|
422
|
-
* encrypted document asks for its password again.
|
|
497
|
+
* restarts it as after a crash: pending calls reject, renders that were waiting are sent again,
|
|
498
|
+
* the running one isn't, and an encrypted document asks for its password again.
|
|
423
499
|
*/
|
|
424
500
|
stop(reason = "cancelled") {
|
|
425
501
|
// A restart already under way serves: a second would end the worker it is starting.
|
|
@@ -502,6 +578,8 @@ export class ViewerClient {
|
|
|
502
578
|
#recover(reason) {
|
|
503
579
|
if (this.#recovering !== undefined)
|
|
504
580
|
return this.#recovering;
|
|
581
|
+
// Read before the lost calls' rejections run, which clear what was drawing.
|
|
582
|
+
this.#lost = this.#drawing;
|
|
505
583
|
const recovering = (async () => {
|
|
506
584
|
await this.#pdf.restart();
|
|
507
585
|
await this.#pdf.request("initBackend", [this.#backend], { priority: PRIORITY.document });
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/edit/session.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Op } from "@laminapdf/sdk";
|
|
2
|
-
import { type EditHistory, type EditResult, type OpenedDocument, type RevertedStep } from "../protocol.js";
|
|
1
|
+
import type { Op, PlannedSave, SaveOptions } from "@laminapdf/sdk";
|
|
2
|
+
import { type EditHistory, type EditResult, type OpenedDocument, type RevertedStep, type SavedCopy } from "../protocol.js";
|
|
3
3
|
/** Why the document can't be edited now. */
|
|
4
4
|
export type EditBlock =
|
|
5
5
|
/** No document is open. */
|
|
@@ -19,6 +19,8 @@ export interface EditSessionState {
|
|
|
19
19
|
readonly notice: RevertedStep | undefined;
|
|
20
20
|
/** How long the last call took from the call to its pages redrawn, in ms (E1 plan §6's measure). */
|
|
21
21
|
readonly lastMs: number | undefined;
|
|
22
|
+
/** A save is writing: edits, undo and redo wait for it, and the interface says "Saving…". */
|
|
23
|
+
readonly saving: boolean;
|
|
22
24
|
}
|
|
23
25
|
/** What the session drives: the viewer's edit calls, which redraw the pages they touch. */
|
|
24
26
|
export interface EditSessionHost {
|
|
@@ -30,6 +32,12 @@ export interface EditSessionHost {
|
|
|
30
32
|
goToStep(position: number): Promise<EditResult>;
|
|
31
33
|
/** The worker's history now, read after a call failed (a failed edit can clear the steps undone). */
|
|
32
34
|
editHistory(): Promise<EditHistory>;
|
|
35
|
+
/** How a save with `options` would go. */
|
|
36
|
+
planSave(options: SaveOptions): Promise<PlannedSave>;
|
|
37
|
+
/** A copy of the document as a save with `options` writes it; the document stays unsaved. */
|
|
38
|
+
copyEdits(options: SaveOptions): Promise<SavedCopy>;
|
|
39
|
+
/** Makes the copy `token` names the saved file, once it is written. */
|
|
40
|
+
adoptEdits(token: number): Promise<EditHistory>;
|
|
33
41
|
}
|
|
34
42
|
/** Called after an undo or redo, with each step it took back or made again. */
|
|
35
43
|
export type RevertListener = (reverted: readonly RevertedStep[]) => void;
|
|
@@ -79,6 +87,20 @@ export declare class EditSession {
|
|
|
79
87
|
* or an empty one when the edits were lost.
|
|
80
88
|
*/
|
|
81
89
|
follow(history: EditHistory): void;
|
|
90
|
+
/**
|
|
91
|
+
* How a save with `options` would go: its constraint, the signatures it would break, its mode
|
|
92
|
+
* and the conformance warnings. Read after the calls before it.
|
|
93
|
+
*/
|
|
94
|
+
plan(options: SaveOptions): Promise<PlannedSave>;
|
|
95
|
+
/**
|
|
96
|
+
* Saves: a copy with `options`, which `write` puts where the file lives; once that worked, the
|
|
97
|
+
* document takes the copy as its saved file and the history marks the point saved. A failed
|
|
98
|
+
* plan, copy or write rejects, and the document stays unsaved. `saving` is set meanwhile, and
|
|
99
|
+
* edits wait.
|
|
100
|
+
*/
|
|
101
|
+
save(options: SaveOptions, write: (copy: SavedCopy) => Promise<void>): Promise<SavedCopy>;
|
|
102
|
+
/** A copy of the document as a save with `options` writes it, which leaves it unsaved (Save a copy). */
|
|
103
|
+
copy(options: SaveOptions): Promise<SavedCopy>;
|
|
82
104
|
/** Applies `ops` as one step named `label` ("Rotate page 5"). Rejects as the edit failed. */
|
|
83
105
|
apply(ops: readonly Op[], label: string): Promise<EditResult>;
|
|
84
106
|
/** Undoes the newest done step; resolves undefined when there was none. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/edit/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/edit/session.ts"],"names":[],"mappings":"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"}
|
package/dist/edit/session.js
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
// were made, so three quick presses of Undo undo three steps; each redraws the pages it touched
|
|
4
4
|
// before the next starts. The store's state is what an interface reads: the steps, whether a call
|
|
5
5
|
// is running, why editing is blocked, and the last undo or redo that restored only part of a step,
|
|
6
|
-
// which stays until the next edit (a toast is never the only place it shows).
|
|
6
|
+
// which stays until the next edit (a toast is never the only place it shows). Saves queue with the
|
|
7
|
+
// calls too (E1 plan §7): a save writes a copy, the caller writes it where the file lives, and only
|
|
8
|
+
// then does the document take it as saved; edits wait until it is done.
|
|
7
9
|
import { EMPTY_HISTORY, } from "../protocol.js";
|
|
8
10
|
const CLOSED = {
|
|
9
11
|
history: EMPTY_HISTORY,
|
|
@@ -11,6 +13,7 @@ const CLOSED = {
|
|
|
11
13
|
blocked: "no-document",
|
|
12
14
|
notice: undefined,
|
|
13
15
|
lastMs: undefined,
|
|
16
|
+
saving: false,
|
|
14
17
|
};
|
|
15
18
|
/**
|
|
16
19
|
* A session with no document, which can do nothing: what an interface reads while none is open,
|
|
@@ -73,6 +76,7 @@ export class EditSession {
|
|
|
73
76
|
blocked: document === undefined ? "no-document" : document.encrypted ? "encrypted" : undefined,
|
|
74
77
|
notice: undefined,
|
|
75
78
|
lastMs: undefined,
|
|
79
|
+
saving: false,
|
|
76
80
|
});
|
|
77
81
|
}
|
|
78
82
|
/**
|
|
@@ -82,6 +86,55 @@ export class EditSession {
|
|
|
82
86
|
follow(history) {
|
|
83
87
|
this.#set({ history, ...(history.diverged ? { blocked: "diverged" } : {}) });
|
|
84
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* How a save with `options` would go: its constraint, the signatures it would break, its mode
|
|
91
|
+
* and the conformance warnings. Read after the calls before it.
|
|
92
|
+
*/
|
|
93
|
+
plan(options) {
|
|
94
|
+
return this.#queued(() => this.#host.planSave(options));
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Saves: a copy with `options`, which `write` puts where the file lives; once that worked, the
|
|
98
|
+
* document takes the copy as its saved file and the history marks the point saved. A failed
|
|
99
|
+
* plan, copy or write rejects, and the document stays unsaved. `saving` is set meanwhile, and
|
|
100
|
+
* edits wait.
|
|
101
|
+
*/
|
|
102
|
+
save(options, write) {
|
|
103
|
+
const turn = this.#turn;
|
|
104
|
+
return this.#queued(async () => {
|
|
105
|
+
this.#set({ saving: true });
|
|
106
|
+
try {
|
|
107
|
+
const copy = await this.#host.copyEdits(options);
|
|
108
|
+
await write(copy);
|
|
109
|
+
const history = await this.#host.adoptEdits(copy.token);
|
|
110
|
+
if (turn === this.#turn)
|
|
111
|
+
this.#set({ history });
|
|
112
|
+
return copy;
|
|
113
|
+
}
|
|
114
|
+
finally {
|
|
115
|
+
if (turn === this.#turn)
|
|
116
|
+
this.#set({ saving: false });
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/** A copy of the document as a save with `options` writes it, which leaves it unsaved (Save a copy). */
|
|
121
|
+
copy(options) {
|
|
122
|
+
return this.#queued(() => this.#host.copyEdits(options));
|
|
123
|
+
}
|
|
124
|
+
/** Runs `call` after the calls before it, for this document only, unless editing is blocked by then. */
|
|
125
|
+
#queued(call) {
|
|
126
|
+
const turn = this.#turn;
|
|
127
|
+
const run = this.#queue.then(() => {
|
|
128
|
+
if (turn !== this.#turn)
|
|
129
|
+
throw new Error("the document was closed");
|
|
130
|
+
const { blocked } = this.#state;
|
|
131
|
+
if (blocked !== undefined)
|
|
132
|
+
throw new Error(`the document can't be saved: ${blocked}`);
|
|
133
|
+
return call();
|
|
134
|
+
});
|
|
135
|
+
this.#queue = run.catch(() => undefined);
|
|
136
|
+
return run;
|
|
137
|
+
}
|
|
85
138
|
/** Applies `ops` as one step named `label` ("Rotate page 5"). Rejects as the edit failed. */
|
|
86
139
|
apply(ops, label) {
|
|
87
140
|
return this.#run(() => this.#host.applyEdit(ops, { label }), true, { call: "apply", label });
|
package/dist/edit/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/edit/session.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,gGAAgG;AAChG,gGAAgG;AAChG,kGAAkG;AAClG,mGAAmG;AACnG,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/edit/session.ts"],"names":[],"mappings":"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"}
|
package/dist/edit-log.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ export declare class EditLog {
|
|
|
9
9
|
get empty(): boolean;
|
|
10
10
|
/** Forgets everything: a document opened, closed, or its edits lost. */
|
|
11
11
|
reset(): void;
|
|
12
|
+
/**
|
|
13
|
+
* A save wrote the document as `history` has it, and a new worker opens that file: every step
|
|
14
|
+
* so far is in it, so the log starts over from here.
|
|
15
|
+
*/
|
|
16
|
+
saved(history: EditHistory): void;
|
|
12
17
|
/**
|
|
13
18
|
* Takes the worker's answer to a call: an edit's `ops` under the step it made, the oldest steps
|
|
14
19
|
* the depth limit dropped kept apart (they are still part of the document, so a replay needs
|
package/dist/edit-log.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-log.d.ts","sourceRoot":"","sources":["../src/edit-log.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edit-log.d.ts","sourceRoot":"","sources":["../src/edit-log.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAiB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAOpG,qFAAqF;AACrF,qBAAa,OAAO;;IAkBlB,4CAA4C;IAC5C,IAAI,OAAO,IAAI,WAAW,CAEzB;IAED,yDAAyD;IACzD,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,wEAAwE;IACxE,KAAK,IAAI,IAAI,CAMZ;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAIhC;IAED;;;;OAIG;IACH,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAkB7F;IAED;;;OAGG;IACH,MAAM,IAAI;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAQzF;IAED,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAIjC;CACF"}
|