@rasterex/viewer 1.0.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.
Files changed (156) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +279 -0
  3. package/SECURITY.md +54 -0
  4. package/dist/RasterexViewer.d.ts +70 -0
  5. package/dist/RasterexViewer.d.ts.map +1 -0
  6. package/dist/RasterexViewer.js +410 -0
  7. package/dist/RasterexViewer.js.map +1 -0
  8. package/dist/compat/matrix.d.ts +9 -0
  9. package/dist/compat/matrix.d.ts.map +1 -0
  10. package/dist/compat/matrix.js +12 -0
  11. package/dist/compat/matrix.js.map +1 -0
  12. package/dist/constants.d.ts +8 -0
  13. package/dist/constants.d.ts.map +1 -0
  14. package/dist/constants.js +8 -0
  15. package/dist/constants.js.map +1 -0
  16. package/dist/createDocumentViewer.d.ts +8 -0
  17. package/dist/createDocumentViewer.d.ts.map +1 -0
  18. package/dist/createDocumentViewer.js +16 -0
  19. package/dist/createDocumentViewer.js.map +1 -0
  20. package/dist/createViewer.d.ts +4 -0
  21. package/dist/createViewer.d.ts.map +1 -0
  22. package/dist/createViewer.js +5 -0
  23. package/dist/createViewer.js.map +1 -0
  24. package/dist/demo-presets.d.ts +45 -0
  25. package/dist/demo-presets.d.ts.map +1 -0
  26. package/dist/demo-presets.js +22 -0
  27. package/dist/demo-presets.js.map +1 -0
  28. package/dist/demoPresets.d.ts +2 -0
  29. package/dist/demoPresets.d.ts.map +1 -0
  30. package/dist/demoPresets.js +2 -0
  31. package/dist/demoPresets.js.map +1 -0
  32. package/dist/diagnostics.d.ts +76 -0
  33. package/dist/diagnostics.d.ts.map +1 -0
  34. package/dist/diagnostics.js +38 -0
  35. package/dist/diagnostics.js.map +1 -0
  36. package/dist/domains/AnnotationsApi.d.ts +139 -0
  37. package/dist/domains/AnnotationsApi.d.ts.map +1 -0
  38. package/dist/domains/AnnotationsApi.js +256 -0
  39. package/dist/domains/AnnotationsApi.js.map +1 -0
  40. package/dist/domains/BlocksApi.d.ts +151 -0
  41. package/dist/domains/BlocksApi.d.ts.map +1 -0
  42. package/dist/domains/BlocksApi.js +191 -0
  43. package/dist/domains/BlocksApi.js.map +1 -0
  44. package/dist/domains/CanvasApi.d.ts +13 -0
  45. package/dist/domains/CanvasApi.d.ts.map +1 -0
  46. package/dist/domains/CanvasApi.js +22 -0
  47. package/dist/domains/CanvasApi.js.map +1 -0
  48. package/dist/domains/CollaborationApi.d.ts +65 -0
  49. package/dist/domains/CollaborationApi.d.ts.map +1 -0
  50. package/dist/domains/CollaborationApi.js +177 -0
  51. package/dist/domains/CollaborationApi.js.map +1 -0
  52. package/dist/domains/CompareApi.d.ts +73 -0
  53. package/dist/domains/CompareApi.d.ts.map +1 -0
  54. package/dist/domains/CompareApi.js +175 -0
  55. package/dist/domains/CompareApi.js.map +1 -0
  56. package/dist/domains/DocumentsApi.d.ts +175 -0
  57. package/dist/domains/DocumentsApi.d.ts.map +1 -0
  58. package/dist/domains/DocumentsApi.js +407 -0
  59. package/dist/domains/DocumentsApi.js.map +1 -0
  60. package/dist/domains/LayersApi.d.ts +76 -0
  61. package/dist/domains/LayersApi.d.ts.map +1 -0
  62. package/dist/domains/LayersApi.js +159 -0
  63. package/dist/domains/LayersApi.js.map +1 -0
  64. package/dist/domains/MeasurementsApi.d.ts +150 -0
  65. package/dist/domains/MeasurementsApi.d.ts.map +1 -0
  66. package/dist/domains/MeasurementsApi.js +388 -0
  67. package/dist/domains/MeasurementsApi.js.map +1 -0
  68. package/dist/domains/StylesApi.d.ts +50 -0
  69. package/dist/domains/StylesApi.d.ts.map +1 -0
  70. package/dist/domains/StylesApi.js +53 -0
  71. package/dist/domains/StylesApi.js.map +1 -0
  72. package/dist/domains/ToolsApi.d.ts +251 -0
  73. package/dist/domains/ToolsApi.d.ts.map +1 -0
  74. package/dist/domains/ToolsApi.js +275 -0
  75. package/dist/domains/ToolsApi.js.map +1 -0
  76. package/dist/domains/canvasBrokerCommands.d.ts +38 -0
  77. package/dist/domains/canvasBrokerCommands.d.ts.map +1 -0
  78. package/dist/domains/canvasBrokerCommands.js +79 -0
  79. package/dist/domains/canvasBrokerCommands.js.map +1 -0
  80. package/dist/errors.d.ts +28 -0
  81. package/dist/errors.d.ts.map +1 -0
  82. package/dist/errors.js +82 -0
  83. package/dist/errors.js.map +1 -0
  84. package/dist/index.d.ts +45 -0
  85. package/dist/index.d.ts.map +1 -0
  86. package/dist/index.js +26 -0
  87. package/dist/index.js.map +1 -0
  88. package/dist/messaging/CanvasMessageBroker.d.ts +36 -0
  89. package/dist/messaging/CanvasMessageBroker.d.ts.map +1 -0
  90. package/dist/messaging/CanvasMessageBroker.js +95 -0
  91. package/dist/messaging/CanvasMessageBroker.js.map +1 -0
  92. package/dist/messaging/IframeTransport.d.ts +29 -0
  93. package/dist/messaging/IframeTransport.d.ts.map +1 -0
  94. package/dist/messaging/IframeTransport.js +74 -0
  95. package/dist/messaging/IframeTransport.js.map +1 -0
  96. package/dist/messaging/MessageClient.d.ts +32 -0
  97. package/dist/messaging/MessageClient.d.ts.map +1 -0
  98. package/dist/messaging/MessageClient.js +110 -0
  99. package/dist/messaging/MessageClient.js.map +1 -0
  100. package/dist/messaging/ViewerMessagingSession.d.ts +17 -0
  101. package/dist/messaging/ViewerMessagingSession.d.ts.map +1 -0
  102. package/dist/messaging/ViewerMessagingSession.js +17 -0
  103. package/dist/messaging/ViewerMessagingSession.js.map +1 -0
  104. package/dist/protocol/capabilities.d.ts +6 -0
  105. package/dist/protocol/capabilities.d.ts.map +1 -0
  106. package/dist/protocol/capabilities.js +5 -0
  107. package/dist/protocol/capabilities.js.map +1 -0
  108. package/dist/protocol/compatibility.d.ts +7 -0
  109. package/dist/protocol/compatibility.d.ts.map +1 -0
  110. package/dist/protocol/compatibility.js +2 -0
  111. package/dist/protocol/compatibility.js.map +1 -0
  112. package/dist/protocol/constants.d.ts +3 -0
  113. package/dist/protocol/constants.d.ts.map +1 -0
  114. package/dist/protocol/constants.js +3 -0
  115. package/dist/protocol/constants.js.map +1 -0
  116. package/dist/protocol/envelope.d.ts +27 -0
  117. package/dist/protocol/envelope.d.ts.map +1 -0
  118. package/dist/protocol/envelope.js +2 -0
  119. package/dist/protocol/envelope.js.map +1 -0
  120. package/dist/protocol/errors.d.ts +42 -0
  121. package/dist/protocol/errors.d.ts.map +1 -0
  122. package/dist/protocol/errors.js +35 -0
  123. package/dist/protocol/errors.js.map +1 -0
  124. package/dist/protocol/handshake.d.ts +13 -0
  125. package/dist/protocol/handshake.d.ts.map +1 -0
  126. package/dist/protocol/handshake.js +2 -0
  127. package/dist/protocol/handshake.js.map +1 -0
  128. package/dist/protocol/index.d.ts +10 -0
  129. package/dist/protocol/index.d.ts.map +1 -0
  130. package/dist/protocol/index.js +5 -0
  131. package/dist/protocol/index.js.map +1 -0
  132. package/dist/types.d.ts +29 -0
  133. package/dist/types.d.ts.map +1 -0
  134. package/dist/types.js +2 -0
  135. package/dist/types.js.map +1 -0
  136. package/dist/utils/DomainEventEmitter.d.ts +12 -0
  137. package/dist/utils/DomainEventEmitter.d.ts.map +1 -0
  138. package/dist/utils/DomainEventEmitter.js +34 -0
  139. package/dist/utils/DomainEventEmitter.js.map +1 -0
  140. package/dist/utils/compatibility.d.ts +15 -0
  141. package/dist/utils/compatibility.d.ts.map +1 -0
  142. package/dist/utils/compatibility.js +170 -0
  143. package/dist/utils/compatibility.js.map +1 -0
  144. package/dist/utils/createRequestId.d.ts +2 -0
  145. package/dist/utils/createRequestId.d.ts.map +1 -0
  146. package/dist/utils/createRequestId.js +6 -0
  147. package/dist/utils/createRequestId.js.map +1 -0
  148. package/dist/utils/createSdkInstanceId.d.ts +2 -0
  149. package/dist/utils/createSdkInstanceId.d.ts.map +1 -0
  150. package/dist/utils/createSdkInstanceId.js +6 -0
  151. package/dist/utils/createSdkInstanceId.js.map +1 -0
  152. package/dist/utils/deriveOrigin.d.ts +2 -0
  153. package/dist/utils/deriveOrigin.d.ts.map +1 -0
  154. package/dist/utils/deriveOrigin.js +4 -0
  155. package/dist/utils/deriveOrigin.js.map +1 -0
  156. package/package.json +46 -0
@@ -0,0 +1,407 @@
1
+ import { createCommandTimeoutError, createDocumentLoadFailedError, createViewerNotReadyError } from "../errors.js";
2
+ import { DomainEventEmitter } from "../utils/DomainEventEmitter.js";
3
+ import { createRequestId } from "../utils/createRequestId.js";
4
+ export class DocumentsApi {
5
+ constructor(options) {
6
+ this.events = new DomainEventEmitter();
7
+ this.activeOpenRequestId = null;
8
+ this.exportInProgress = false;
9
+ this.broker = null;
10
+ this.brokerCleanups = [];
11
+ this.getBroker = options.getBroker;
12
+ this.getIsReady = options.getIsReady;
13
+ this.commandTimeoutMs = options.commandTimeoutMs;
14
+ }
15
+ on(eventName, handler) {
16
+ this.connect();
17
+ return this.events.on(eventName, handler);
18
+ }
19
+ connect() {
20
+ const broker = this.getBroker();
21
+ if (!broker || broker === this.broker) {
22
+ return;
23
+ }
24
+ this.disconnect();
25
+ this.broker = broker;
26
+ this.brokerCleanups = [
27
+ broker.on("fileInfo", (message) => {
28
+ if (message.payload) {
29
+ this.events.emit("fileInfo", message.payload);
30
+ }
31
+ }),
32
+ broker.on("fileTabs", (message) => {
33
+ if (message.payload) {
34
+ this.events.emit("fileTabs", message.payload);
35
+ }
36
+ }),
37
+ broker.on("pageList", (message) => {
38
+ if (message.payload) {
39
+ this.events.emit("pageList", message.payload);
40
+ this.emitPageChanged(message.payload);
41
+ }
42
+ }),
43
+ broker.on("exportComplete", (message) => {
44
+ if (isDocumentExportResult(message.payload)) {
45
+ this.events.emit("exportComplete", message.payload);
46
+ }
47
+ })
48
+ ];
49
+ }
50
+ disconnect() {
51
+ for (const cleanup of this.brokerCleanups) {
52
+ cleanup();
53
+ }
54
+ this.brokerCleanups = [];
55
+ this.broker = null;
56
+ }
57
+ open(options) {
58
+ const setupError = this.getOpenSetupError(options);
59
+ if (setupError) {
60
+ this.emitFailed(options, setupError);
61
+ return Promise.reject(setupError);
62
+ }
63
+ const broker = this.getBroker();
64
+ if (!broker) {
65
+ const error = createViewerNotReadyError("Rasterex Canvas message broker is not available.");
66
+ this.emitFailed(options, error);
67
+ return Promise.reject(error);
68
+ }
69
+ const requestId = options.requestId ?? createRequestId();
70
+ this.activeOpenRequestId = requestId;
71
+ return this.waitForCanvasOpen({
72
+ broker,
73
+ options,
74
+ requestId,
75
+ send: () => {
76
+ broker.send("viewAny", this.createViewPayload(options, requestId));
77
+ }
78
+ });
79
+ }
80
+ openFile(file, options = {}) {
81
+ const setupError = this.getOpenFileSetupError(file);
82
+ if (setupError) {
83
+ this.emitFailed({
84
+ displayName: file?.name
85
+ }, setupError);
86
+ return Promise.reject(setupError);
87
+ }
88
+ const broker = this.getBroker();
89
+ if (!broker) {
90
+ const error = createViewerNotReadyError("Rasterex Canvas message broker is not available.");
91
+ this.emitFailed({
92
+ displayName: file.name
93
+ }, error);
94
+ return Promise.reject(error);
95
+ }
96
+ const requestId = options.requestId ?? createRequestId();
97
+ this.activeOpenRequestId = requestId;
98
+ return this.waitForCanvasOpen({
99
+ broker,
100
+ options: {
101
+ displayName: file.name,
102
+ requestId
103
+ },
104
+ requestId,
105
+ send: () => {
106
+ broker.send("viewFile", this.createViewFilePayload(file, options));
107
+ }
108
+ });
109
+ }
110
+ setActiveFileByIndex(indexOrOptions) {
111
+ const fileIndex = typeof indexOrOptions === "number" ? indexOrOptions : indexOrOptions.index;
112
+ const broker = this.requireReadyBroker("setActiveFileByIndex");
113
+ broker.send("setActiveFileByIndex", {
114
+ fileIndex
115
+ });
116
+ }
117
+ selectPage(options) {
118
+ if (typeof options.pageIndex !== "number" && typeof options.pageNumber !== "number") {
119
+ throw createDocumentLoadFailedError("Page selection requires pageIndex or pageNumber.", {
120
+ options
121
+ });
122
+ }
123
+ const broker = this.requireReadyBroker("selectPage");
124
+ broker.send("selectPage", {
125
+ pageIndex: options.pageIndex,
126
+ pageNumber: options.pageNumber
127
+ });
128
+ }
129
+ export(options = {}) {
130
+ if (this.exportInProgress) {
131
+ return Promise.reject(createDocumentLoadFailedError("A document export is already in progress."));
132
+ }
133
+ const broker = this.requireReadyBroker("export");
134
+ const timeoutMs = options.timeoutMs ?? this.commandTimeoutMs;
135
+ this.exportInProgress = true;
136
+ return new Promise((resolve, reject) => {
137
+ const cleanup = broker.on("exportComplete", (message) => {
138
+ if (!isDocumentExportResult(message.payload)) {
139
+ return;
140
+ }
141
+ globalThis.clearTimeout(timeoutId);
142
+ cleanup();
143
+ this.exportInProgress = false;
144
+ resolve(message.payload);
145
+ });
146
+ const timeoutId = globalThis.setTimeout(() => {
147
+ cleanup();
148
+ this.exportInProgress = false;
149
+ reject(createDocumentLoadFailedError("Document export did not complete before timeout.", {
150
+ timeoutMs
151
+ }));
152
+ }, timeoutMs);
153
+ broker.send("export");
154
+ });
155
+ }
156
+ print() {
157
+ const broker = this.requireReadyBroker("print");
158
+ broker.send("print");
159
+ }
160
+ manipulatePages(options) {
161
+ const broker = this.requireReadyBroker("pageManipulation");
162
+ const requestId = createRequestId();
163
+ const timeoutMs = options.timeoutMs ?? this.commandTimeoutMs;
164
+ return new Promise((resolve, reject) => {
165
+ const cleanup = broker.on("pageManipulationResult", (message) => {
166
+ const resultPayload = message.payload;
167
+ const responseRequestId = getResultRequestId(message);
168
+ if (!responseRequestId) {
169
+ globalThis.clearTimeout(timeoutId);
170
+ cleanup();
171
+ reject(createDocumentLoadFailedError("Page manipulation result did not include a requestId.", {
172
+ requestId,
173
+ result: resultPayload
174
+ }));
175
+ return;
176
+ }
177
+ if (responseRequestId !== requestId) {
178
+ return;
179
+ }
180
+ globalThis.clearTimeout(timeoutId);
181
+ cleanup();
182
+ if (!resultPayload) {
183
+ reject(createDocumentLoadFailedError("Canvas returned an empty page manipulation result.", {
184
+ requestId
185
+ }));
186
+ return;
187
+ }
188
+ if (resultPayload.success === false) {
189
+ reject(createDocumentLoadFailedError(resultPayload.error ?? "Page manipulation failed.", {
190
+ requestId,
191
+ result: resultPayload
192
+ }));
193
+ return;
194
+ }
195
+ resolve({
196
+ ...resultPayload,
197
+ requestId
198
+ });
199
+ });
200
+ const timeoutId = globalThis.setTimeout(() => {
201
+ cleanup();
202
+ reject(createCommandTimeoutError(requestId, "pageManipulation", timeoutMs));
203
+ }, timeoutMs);
204
+ broker.send("pageManipulation", {
205
+ requestId,
206
+ action: options.action,
207
+ pageRange: options.pageRange,
208
+ targetPageIndex: options.targetPageIndex,
209
+ file: options.file,
210
+ selectedPages: options.selectedPages,
211
+ count: options.count,
212
+ width: options.width,
213
+ height: options.height
214
+ });
215
+ });
216
+ }
217
+ getOpenSetupError(options) {
218
+ if (!this.getIsReady()) {
219
+ return createViewerNotReadyError("RasterexViewer must be ready before opening a document.");
220
+ }
221
+ if (!options.url && !options.path) {
222
+ return createDocumentLoadFailedError("Document open requires url or path.", {
223
+ options
224
+ });
225
+ }
226
+ if (this.activeOpenRequestId) {
227
+ return createDocumentLoadFailedError("A document open is already in progress.", {
228
+ activeRequestId: this.activeOpenRequestId
229
+ });
230
+ }
231
+ return null;
232
+ }
233
+ getOpenFileSetupError(file) {
234
+ if (!this.getIsReady()) {
235
+ return createViewerNotReadyError("RasterexViewer must be ready before opening a document.");
236
+ }
237
+ if (!file) {
238
+ return createDocumentLoadFailedError("Document open requires a File.");
239
+ }
240
+ if (this.activeOpenRequestId) {
241
+ return createDocumentLoadFailedError("A document open is already in progress.", {
242
+ activeRequestId: this.activeOpenRequestId
243
+ });
244
+ }
245
+ return null;
246
+ }
247
+ requireReadyBroker(type) {
248
+ if (!this.getIsReady()) {
249
+ throw createViewerNotReadyError("RasterexViewer must be ready before using viewer.documents.", {
250
+ type
251
+ });
252
+ }
253
+ const broker = this.getBroker();
254
+ if (!broker) {
255
+ throw createViewerNotReadyError("Rasterex Canvas message broker is not available.", {
256
+ type
257
+ });
258
+ }
259
+ return broker;
260
+ }
261
+ waitForCanvasOpen(context) {
262
+ const { broker, options, requestId, send } = context;
263
+ return new Promise((resolve, reject) => {
264
+ const result = { requestId };
265
+ let progressStarted = false;
266
+ let progressEnded = false;
267
+ let openedEmitted = false;
268
+ const cleanupCallbacks = [];
269
+ const cleanup = () => {
270
+ globalThis.clearTimeout(timeoutId);
271
+ this.clearActiveOpen(requestId);
272
+ for (const cleanupCallback of cleanupCallbacks) {
273
+ cleanupCallback();
274
+ }
275
+ };
276
+ const isCurrentPayload = (payload) => this.isCurrentOpenPayload(payload, requestId);
277
+ const tryResolve = () => {
278
+ if (this.isOpenComplete(result, progressStarted, progressEnded)) {
279
+ cleanup();
280
+ if (!openedEmitted) {
281
+ openedEmitted = true;
282
+ this.emitOpened(result);
283
+ }
284
+ resolve(result);
285
+ }
286
+ };
287
+ const timeoutId = globalThis.setTimeout(() => {
288
+ const error = createDocumentLoadFailedError("Document open did not produce file metadata before timeout.", {
289
+ timeoutMs: this.commandTimeoutMs
290
+ });
291
+ cleanup();
292
+ this.emitFailed(options, error);
293
+ reject(error);
294
+ }, this.commandTimeoutMs);
295
+ cleanupCallbacks.push(broker.on("fileInfo", (message) => {
296
+ if (!isCurrentPayload(message.payload)) {
297
+ return;
298
+ }
299
+ result.fileInfo = message.payload;
300
+ result.activeId = message.payload?.activeId ?? result.activeId;
301
+ tryResolve();
302
+ }));
303
+ cleanupCallbacks.push(broker.on("fileTabs", (message) => {
304
+ if (!isCurrentPayload(message.payload)) {
305
+ return;
306
+ }
307
+ result.fileTabs = message.payload;
308
+ result.activeId = message.payload?.activeId ?? result.activeId;
309
+ tryResolve();
310
+ }));
311
+ cleanupCallbacks.push(broker.on("pageList", (message) => {
312
+ if (!isCurrentPayload(message.payload)) {
313
+ return;
314
+ }
315
+ result.pageList = message.payload;
316
+ result.activeId = message.payload?.activeId ?? result.activeId;
317
+ tryResolve();
318
+ }));
319
+ cleanupCallbacks.push(broker.on("progressStart", (message) => {
320
+ if (!isCurrentPayload(message.payload)) {
321
+ return;
322
+ }
323
+ progressStarted = true;
324
+ tryResolve();
325
+ }));
326
+ cleanupCallbacks.push(broker.on("progressEnd", (message) => {
327
+ if (!isCurrentPayload(message.payload)) {
328
+ return;
329
+ }
330
+ progressEnded = true;
331
+ tryResolve();
332
+ }));
333
+ this.events.emit("opening", {
334
+ requestId,
335
+ url: options.url,
336
+ path: options.path,
337
+ displayName: options.displayName ?? options.name
338
+ });
339
+ send();
340
+ });
341
+ }
342
+ clearActiveOpen(requestId) {
343
+ if (this.activeOpenRequestId === requestId) {
344
+ this.activeOpenRequestId = null;
345
+ }
346
+ }
347
+ isCurrentOpenPayload(payload, requestId) {
348
+ return !payload?.requestId || payload.requestId === requestId;
349
+ }
350
+ isOpenComplete(result, progressStarted, progressEnded) {
351
+ return (progressStarted &&
352
+ progressEnded &&
353
+ (result.fileInfo || result.fileTabs || result.pageList) !== undefined);
354
+ }
355
+ createViewPayload(options, requestId) {
356
+ return {
357
+ requestId,
358
+ fileUrl: options.url,
359
+ filePath: options.path,
360
+ displayName: options.displayName,
361
+ name: options.name,
362
+ cacheId: options.cacheId,
363
+ mime: options.mime
364
+ };
365
+ }
366
+ createViewFilePayload(file, options) {
367
+ if (!options.cacheId) {
368
+ return file;
369
+ }
370
+ return {
371
+ file,
372
+ cacheId: options.cacheId
373
+ };
374
+ }
375
+ emitOpened(result) {
376
+ this.events.emit("opened", {
377
+ ...result,
378
+ source: "current-canvas",
379
+ correlation: "inferred"
380
+ });
381
+ }
382
+ emitPageChanged(payload) {
383
+ this.events.emit("pageChanged", {
384
+ requestId: payload.requestId,
385
+ activeId: payload.activeId,
386
+ activeIndex: payload.activeIndex,
387
+ currentPage: payload.currentPage,
388
+ pageCount: payload.pageCount,
389
+ pages: payload.pages
390
+ });
391
+ }
392
+ emitFailed(options, error) {
393
+ this.events.emit("failed", {
394
+ error,
395
+ url: options.url,
396
+ path: options.path,
397
+ displayName: options.displayName ?? options.name
398
+ });
399
+ }
400
+ }
401
+ function isDocumentExportResult(payload) {
402
+ return typeof payload?.fileUrl === "string" && payload.fileUrl.length > 0;
403
+ }
404
+ function getResultRequestId(message) {
405
+ return message.payload?.requestId ?? message.requestId;
406
+ }
407
+ //# sourceMappingURL=DocumentsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentsApi.js","sourceRoot":"","sources":["../../src/domains/DocumentsApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import type { CanvasMessageBroker } from "../messaging/CanvasMessageBroker.js";
2
+ import { type DomainEventHandler, type DomainEventUnsubscribe } from "../utils/DomainEventEmitter.js";
3
+ export type LayerKind = "vector" | "pdf";
4
+ export interface LayerDetails {
5
+ state?: number;
6
+ defaultstate?: number;
7
+ isplottable?: number;
8
+ [key: string]: unknown;
9
+ }
10
+ export interface LayerItem {
11
+ index?: number;
12
+ id?: string | number;
13
+ name?: string;
14
+ color?: string;
15
+ visible: boolean;
16
+ kind: LayerKind;
17
+ details?: LayerDetails;
18
+ [key: string]: unknown;
19
+ }
20
+ export interface LayersSnapshot {
21
+ requestId?: string;
22
+ fileId?: string;
23
+ fileIndex?: number;
24
+ fileName?: string;
25
+ layers: LayerItem[];
26
+ [key: string]: unknown;
27
+ }
28
+ export interface GetLayersOptions {
29
+ requestId?: string;
30
+ timeoutMs?: number;
31
+ }
32
+ export interface SetLayerVisibilityOptions {
33
+ requestId?: string;
34
+ index?: number;
35
+ indexes?: number[];
36
+ id?: string | number;
37
+ ids?: Array<string | number>;
38
+ name?: string;
39
+ names?: string[];
40
+ all?: boolean;
41
+ visible: boolean;
42
+ timeoutMs?: number;
43
+ }
44
+ export interface LayersEventMap {
45
+ snapshot: LayersSnapshot;
46
+ }
47
+ export type LayersEventName = keyof LayersEventMap;
48
+ export type LayersEventHandler<TEventName extends LayersEventName> = DomainEventHandler<LayersEventMap[TEventName]>;
49
+ export type LayersEventUnsubscribe = DomainEventUnsubscribe;
50
+ export interface LayersApiOptions {
51
+ getBroker: () => CanvasMessageBroker | null;
52
+ getIsReady: () => boolean;
53
+ commandTimeoutMs: number;
54
+ }
55
+ export declare class LayersApi {
56
+ private readonly options;
57
+ private readonly events;
58
+ private broker;
59
+ private brokerCleanups;
60
+ constructor(options: LayersApiOptions);
61
+ on<TEventName extends LayersEventName>(eventName: TEventName, handler: LayersEventHandler<TEventName>): LayersEventUnsubscribe;
62
+ connect(): void;
63
+ disconnect(): void;
64
+ getLayers(options?: GetLayersOptions): Promise<LayersSnapshot>;
65
+ setVisibility(options: SetLayerVisibilityOptions): Promise<LayersSnapshot>;
66
+ setLayerVisibility(options: SetLayerVisibilityOptions): Promise<LayersSnapshot>;
67
+ private sendAndWaitForSnapshot;
68
+ private validateSetVisibilityOptions;
69
+ private validateNumber;
70
+ private validateNumberArray;
71
+ private validateId;
72
+ private validateIdArray;
73
+ private validateText;
74
+ private validateTextArray;
75
+ }
76
+ //# sourceMappingURL=LayersApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayersApi.d.ts","sourceRoot":"","sources":["../../src/domains/LayersApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ import { createCommandTimeoutError } from "../errors.js";
2
+ import { createRequestId } from "../utils/createRequestId.js";
3
+ import { DomainEventEmitter } from "../utils/DomainEventEmitter.js";
4
+ import { createCanvasCommandError, requireReadyBroker } from "./canvasBrokerCommands.js";
5
+ export class LayersApi {
6
+ constructor(options) {
7
+ this.events = new DomainEventEmitter();
8
+ this.broker = null;
9
+ this.brokerCleanups = [];
10
+ this.options = options;
11
+ }
12
+ on(eventName, handler) {
13
+ this.connect();
14
+ return this.events.on(eventName, handler);
15
+ }
16
+ connect() {
17
+ const broker = this.options.getBroker();
18
+ if (!broker || broker === this.broker) {
19
+ return;
20
+ }
21
+ this.disconnect();
22
+ this.broker = broker;
23
+ this.brokerCleanups = [
24
+ broker.on("layersSnapshot", (message) => {
25
+ if (isLayersSnapshot(message.payload)) {
26
+ this.events.emit("snapshot", message.payload);
27
+ }
28
+ })
29
+ ];
30
+ }
31
+ disconnect() {
32
+ for (const cleanup of this.brokerCleanups) {
33
+ cleanup();
34
+ }
35
+ this.brokerCleanups = [];
36
+ this.broker = null;
37
+ }
38
+ getLayers(options = {}) {
39
+ const requestId = options.requestId ?? createRequestId();
40
+ return this.sendAndWaitForSnapshot("getLayers", { requestId }, requestId, options.timeoutMs);
41
+ }
42
+ setVisibility(options) {
43
+ this.validateSetVisibilityOptions(options);
44
+ const requestId = options.requestId ?? createRequestId();
45
+ const { timeoutMs, ...payloadOptions } = options;
46
+ return this.sendAndWaitForSnapshot("setLayerVisibility", {
47
+ ...payloadOptions,
48
+ requestId
49
+ }, requestId, timeoutMs);
50
+ }
51
+ setLayerVisibility(options) {
52
+ return this.setVisibility(options);
53
+ }
54
+ sendAndWaitForSnapshot(type, payload, requestId, timeoutMs = this.options.commandTimeoutMs) {
55
+ const broker = requireReadyBroker({
56
+ ...this.options,
57
+ type,
58
+ apiName: "viewer.layers"
59
+ });
60
+ return new Promise((resolve, reject) => {
61
+ const cleanup = broker.on("layersSnapshot", (message) => {
62
+ const snapshot = message.payload;
63
+ if (!isLayersSnapshot(snapshot) || snapshot.requestId !== requestId) {
64
+ return;
65
+ }
66
+ globalThis.clearTimeout(timeoutId);
67
+ cleanup();
68
+ resolve(snapshot);
69
+ });
70
+ const timeoutId = globalThis.setTimeout(() => {
71
+ cleanup();
72
+ reject(createCommandTimeoutError(requestId, type, timeoutMs));
73
+ }, timeoutMs);
74
+ broker.send(type, payload);
75
+ });
76
+ }
77
+ validateSetVisibilityOptions(options) {
78
+ if (!options || typeof options !== "object") {
79
+ throw createCanvasCommandError("setLayerVisibility", "Layer visibility options must be an object.", { options });
80
+ }
81
+ if (typeof options.visible !== "boolean") {
82
+ throw createCanvasCommandError("setLayerVisibility", "Layer visibility requires a boolean visible value.", { options });
83
+ }
84
+ const selectorCount = [
85
+ options.index !== undefined,
86
+ options.indexes !== undefined,
87
+ options.id !== undefined,
88
+ options.ids !== undefined,
89
+ options.name !== undefined,
90
+ options.names !== undefined,
91
+ options.all === true
92
+ ].filter(Boolean).length;
93
+ if (selectorCount !== 1) {
94
+ throw createCanvasCommandError("setLayerVisibility", "Layer visibility requires exactly one selector: index, indexes, id, ids, name, names, or all.", { options });
95
+ }
96
+ this.validateNumber("index", options.index, options);
97
+ this.validateNumberArray("indexes", options.indexes, options);
98
+ this.validateId("id", options.id, options);
99
+ this.validateIdArray("ids", options.ids, options);
100
+ this.validateText("name", options.name, options);
101
+ this.validateTextArray("names", options.names, options);
102
+ }
103
+ validateNumber(fieldName, value, options) {
104
+ if (value === undefined)
105
+ return;
106
+ if (!Number.isInteger(value) || value < 0) {
107
+ throw createCanvasCommandError("setLayerVisibility", `${fieldName} must be a non-negative integer.`, { options });
108
+ }
109
+ }
110
+ validateNumberArray(fieldName, value, options) {
111
+ if (value === undefined)
112
+ return;
113
+ if (!Array.isArray(value) ||
114
+ value.length === 0 ||
115
+ !value.every((item) => Number.isInteger(item) && item >= 0)) {
116
+ throw createCanvasCommandError("setLayerVisibility", `${fieldName} must be a non-empty array of non-negative integers.`, { options });
117
+ }
118
+ }
119
+ validateId(fieldName, value, options) {
120
+ if (value === undefined)
121
+ return;
122
+ if (!isValidId(value)) {
123
+ throw createCanvasCommandError("setLayerVisibility", `${fieldName} must be a non-empty string or a finite number.`, { options });
124
+ }
125
+ }
126
+ validateIdArray(fieldName, value, options) {
127
+ if (value === undefined)
128
+ return;
129
+ if (!Array.isArray(value) || value.length === 0 || !value.every(isValidId)) {
130
+ throw createCanvasCommandError("setLayerVisibility", `${fieldName} must be a non-empty array of non-empty strings or finite numbers.`, { options });
131
+ }
132
+ }
133
+ validateText(fieldName, value, options) {
134
+ if (value === undefined)
135
+ return;
136
+ if (value.trim().length === 0) {
137
+ throw createCanvasCommandError("setLayerVisibility", `${fieldName} must not be empty.`, { options });
138
+ }
139
+ }
140
+ validateTextArray(fieldName, value, options) {
141
+ if (value === undefined)
142
+ return;
143
+ if (!Array.isArray(value) ||
144
+ value.length === 0 ||
145
+ !value.every((item) => item.trim().length > 0)) {
146
+ throw createCanvasCommandError("setLayerVisibility", `${fieldName} must be a non-empty array of non-empty strings.`, { options });
147
+ }
148
+ }
149
+ }
150
+ function isLayersSnapshot(payload) {
151
+ return !!payload && typeof payload === "object" && Array.isArray(payload.layers);
152
+ }
153
+ function isValidId(value) {
154
+ if (typeof value === "number") {
155
+ return Number.isFinite(value);
156
+ }
157
+ return value.trim().length > 0;
158
+ }
159
+ //# sourceMappingURL=LayersApi.js.map