@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,170 @@
1
+ import { PROTOCOL_VERSION, ERROR_CODES } from "../protocol/index.js";
2
+ import { SDK_VERSION } from "../constants.js";
3
+ import { SDK_COMPATIBILITY_MATRIX } from "../compat/matrix.js";
4
+ import { RasterexViewerError } from "../errors.js";
5
+ export function evaluateCompatibility(options) {
6
+ const invalidVersionField = getInvalidVersionField({
7
+ sdkVersion: SDK_VERSION,
8
+ protocolVersion: PROTOCOL_VERSION,
9
+ canvasProtocolVersion: options.protocolVersion,
10
+ canvasVersion: options.canvasVersion,
11
+ minimumSdkVersion: options.minimumSdkVersion
12
+ });
13
+ if (invalidVersionField) {
14
+ return {
15
+ result: {
16
+ state: "incompatible",
17
+ reason: `Invalid compatibility version value: ${invalidVersionField}.`
18
+ },
19
+ error: new RasterexViewerError({
20
+ code: ERROR_CODES.incompatibleCanvas,
21
+ message: `Invalid compatibility version value: ${invalidVersionField}.`,
22
+ canvasVersion: options.canvasVersion,
23
+ context: {
24
+ field: invalidVersionField,
25
+ sdkVersion: SDK_VERSION,
26
+ protocolVersion: PROTOCOL_VERSION,
27
+ canvasProtocolVersion: options.protocolVersion,
28
+ canvasVersion: options.canvasVersion,
29
+ minimumSdkVersion: options.minimumSdkVersion
30
+ }
31
+ })
32
+ };
33
+ }
34
+ const matrixEntry = SDK_COMPATIBILITY_MATRIX.find((entry) => entry.sdkVersion === SDK_VERSION &&
35
+ entry.protocolVersion === PROTOCOL_VERSION);
36
+ if (!matrixEntry) {
37
+ return {
38
+ result: {
39
+ state: "incompatible",
40
+ reason: "No compatibility matrix entry exists for this SDK/protocol pair."
41
+ },
42
+ error: new RasterexViewerError({
43
+ code: ERROR_CODES.incompatibleCanvas,
44
+ message: "No compatibility matrix entry exists for this SDK/protocol pair.",
45
+ context: {
46
+ sdkVersion: SDK_VERSION,
47
+ protocolVersion: PROTOCOL_VERSION
48
+ }
49
+ })
50
+ };
51
+ }
52
+ if (options.protocolVersion !== PROTOCOL_VERSION) {
53
+ return {
54
+ result: {
55
+ state: "incompatible",
56
+ reason: "Canvas protocol version does not match SDK protocol version."
57
+ },
58
+ error: new RasterexViewerError({
59
+ code: ERROR_CODES.incompatibleCanvas,
60
+ message: "Canvas protocol version does not match SDK protocol version.",
61
+ canvasVersion: options.canvasVersion,
62
+ context: {
63
+ sdkProtocolVersion: PROTOCOL_VERSION,
64
+ canvasProtocolVersion: options.protocolVersion
65
+ }
66
+ })
67
+ };
68
+ }
69
+ if (compareVersions(options.canvasVersion, matrixEntry.minimumCanvasVersion) < 0) {
70
+ return {
71
+ result: {
72
+ state: "incompatible",
73
+ reason: "Canvas version is below the minimum supported version."
74
+ },
75
+ error: new RasterexViewerError({
76
+ code: ERROR_CODES.incompatibleCanvas,
77
+ message: "Canvas version is below the minimum supported version.",
78
+ canvasVersion: options.canvasVersion,
79
+ context: {
80
+ canvasVersion: options.canvasVersion,
81
+ minimumCanvasVersion: matrixEntry.minimumCanvasVersion
82
+ }
83
+ })
84
+ };
85
+ }
86
+ if (compareVersions(SDK_VERSION, options.minimumSdkVersion) < 0) {
87
+ return {
88
+ result: {
89
+ state: "incompatible",
90
+ reason: "SDK version is below the minimum version required by Canvas."
91
+ },
92
+ error: new RasterexViewerError({
93
+ code: ERROR_CODES.incompatibleSdk,
94
+ message: "SDK version is below the minimum version required by Canvas.",
95
+ canvasVersion: options.canvasVersion,
96
+ context: {
97
+ sdkVersion: SDK_VERSION,
98
+ minimumSdkVersion: options.minimumSdkVersion
99
+ }
100
+ })
101
+ };
102
+ }
103
+ const unsupportedCapabilities = matrixEntry.requiredCapabilities.filter((capability) => !options.capabilities.includes(capability));
104
+ if (unsupportedCapabilities.length > 0) {
105
+ return {
106
+ result: {
107
+ state: "degraded",
108
+ reason: "Canvas does not advertise all SDK-required capabilities.",
109
+ unsupportedCapabilities
110
+ },
111
+ error: null
112
+ };
113
+ }
114
+ if (compareVersions(options.canvasVersion, matrixEntry.currentCanvasVersion) < 0) {
115
+ return {
116
+ result: {
117
+ state: "degraded",
118
+ reason: "Canvas version is supported but older than the current SDK target."
119
+ },
120
+ error: null
121
+ };
122
+ }
123
+ return {
124
+ result: {
125
+ state: "compatible"
126
+ },
127
+ error: null
128
+ };
129
+ }
130
+ export function compareVersions(left, right) {
131
+ assertVersion(left, "left");
132
+ assertVersion(right, "right");
133
+ const leftParts = parseVersionParts(left);
134
+ const rightParts = parseVersionParts(right);
135
+ const length = Math.max(leftParts.length, rightParts.length);
136
+ for (let index = 0; index < length; index += 1) {
137
+ const leftPart = leftParts[index] ?? 0;
138
+ const rightPart = rightParts[index] ?? 0;
139
+ if (leftPart > rightPart) {
140
+ return 1;
141
+ }
142
+ if (leftPart < rightPart) {
143
+ return -1;
144
+ }
145
+ }
146
+ return 0;
147
+ }
148
+ function getInvalidVersionField(versions) {
149
+ for (const [field, version] of Object.entries(versions)) {
150
+ if (!isVersionString(version)) {
151
+ return field;
152
+ }
153
+ }
154
+ return null;
155
+ }
156
+ function assertVersion(version, label) {
157
+ if (!isVersionString(version)) {
158
+ throw new RangeError(`${label} must be a dot-separated numeric version.`);
159
+ }
160
+ }
161
+ function isVersionString(version) {
162
+ return /^\d+(?:\.\d+)*$/.test(version);
163
+ }
164
+ function parseVersionParts(version) {
165
+ return version
166
+ .split(/[^0-9]+/)
167
+ .filter(Boolean)
168
+ .map((part) => Number.parseInt(part, 10));
169
+ }
170
+ //# sourceMappingURL=compatibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../src/utils/compatibility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function createRequestId(): string;
2
+ //# sourceMappingURL=createRequestId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRequestId.d.ts","sourceRoot":"","sources":["../../src/utils/createRequestId.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,IAAI,MAAM,CAIxC"}
@@ -0,0 +1,6 @@
1
+ let requestCounter = 0;
2
+ export function createRequestId() {
3
+ requestCounter += 1;
4
+ return `req-${Date.now().toString(36)}-${requestCounter.toString(36)}`;
5
+ }
6
+ //# sourceMappingURL=createRequestId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRequestId.js","sourceRoot":"","sources":["../../src/utils/createRequestId.ts"],"names":[],"mappings":"AAAA,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB,MAAM,UAAU,eAAe;IAC7B,cAAc,IAAI,CAAC,CAAC;IAEpB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AACzE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function createSdkInstanceId(): string;
2
+ //# sourceMappingURL=createSdkInstanceId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSdkInstanceId.d.ts","sourceRoot":"","sources":["../../src/utils/createSdkInstanceId.ts"],"names":[],"mappings":"AAEA,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C"}
@@ -0,0 +1,6 @@
1
+ let sdkInstanceCounter = 0;
2
+ export function createSdkInstanceId() {
3
+ sdkInstanceCounter += 1;
4
+ return `viewer-${Date.now().toString(36)}-${sdkInstanceCounter.toString(36)}`;
5
+ }
6
+ //# sourceMappingURL=createSdkInstanceId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSdkInstanceId.js","sourceRoot":"","sources":["../../src/utils/createSdkInstanceId.ts"],"names":[],"mappings":"AAAA,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAE3B,MAAM,UAAU,mBAAmB;IACjC,kBAAkB,IAAI,CAAC,CAAC;IAExB,OAAO,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function deriveOrigin(viewerUrl: string): string;
2
+ //# sourceMappingURL=deriveOrigin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deriveOrigin.d.ts","sourceRoot":"","sources":["../../src/utils/deriveOrigin.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -0,0 +1,4 @@
1
+ export function deriveOrigin(viewerUrl) {
2
+ return new URL(viewerUrl).origin;
3
+ }
4
+ //# sourceMappingURL=deriveOrigin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deriveOrigin.js","sourceRoot":"","sources":["../../src/utils/deriveOrigin.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;AACnC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@rasterex/viewer",
3
+ "version": "1.0.0",
4
+ "description": "Framework-independent Rasterex hosted viewer iframe SDK.",
5
+ "type": "module",
6
+ "sideEffects": false,
7
+ "private": false,
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "main": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js"
17
+ },
18
+ "./demo-presets": {
19
+ "types": "./dist/demo-presets.d.ts",
20
+ "import": "./dist/demo-presets.js"
21
+ }
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "README.md",
26
+ "LICENSE",
27
+ "SECURITY.md"
28
+ ],
29
+ "scripts": {
30
+ "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
31
+ "build": "npm run clean && npm run build:sdk",
32
+ "build:sdk": "tsc -p tsconfig.json",
33
+ "dev": "vite examples/vanilla"
34
+ },
35
+ "keywords": [
36
+ "rasterex",
37
+ "canvas",
38
+ "viewer",
39
+ "iframe"
40
+ ],
41
+ "license": "MIT",
42
+ "devDependencies": {
43
+ "typescript": "^5.4.5",
44
+ "vite": "^8.0.16"
45
+ }
46
+ }