docxodus 3.1.3 → 3.1.5
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 +72 -5
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +67 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +39 -0
- package/dist/types.js.map +1 -1
- package/dist/wasm/_framework/Docxodus.wasm +0 -0
- package/dist/wasm/_framework/DocxodusWasm.wasm +0 -0
- package/dist/wasm/_framework/blazor.boot.json +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -109,14 +109,53 @@ Initialize the WASM runtime. Must be called before using any other functions.
|
|
|
109
109
|
Convert a DOCX document to HTML.
|
|
110
110
|
|
|
111
111
|
```typescript
|
|
112
|
+
import { CommentRenderMode } from 'docxodus';
|
|
113
|
+
|
|
112
114
|
interface ConversionOptions {
|
|
113
|
-
pageTitle?: string;
|
|
114
|
-
cssPrefix?: string;
|
|
115
|
-
fabricateClasses?: boolean;
|
|
116
|
-
additionalCss?: string;
|
|
115
|
+
pageTitle?: string; // HTML document title
|
|
116
|
+
cssPrefix?: string; // CSS class prefix (default: "docx-")
|
|
117
|
+
fabricateClasses?: boolean; // Generate CSS classes (default: true)
|
|
118
|
+
additionalCss?: string; // Extra CSS to include
|
|
119
|
+
commentRenderMode?: CommentRenderMode; // How to render comments (default: Disabled)
|
|
120
|
+
commentCssClassPrefix?: string; // CSS prefix for comments (default: "comment-")
|
|
117
121
|
}
|
|
118
122
|
```
|
|
119
123
|
|
|
124
|
+
##### Comment Render Modes
|
|
125
|
+
|
|
126
|
+
Control how Word document comments are rendered in HTML output:
|
|
127
|
+
|
|
128
|
+
```typescript
|
|
129
|
+
import { convertDocxToHtml, CommentRenderMode } from 'docxodus';
|
|
130
|
+
|
|
131
|
+
// Don't render comments (default)
|
|
132
|
+
const html = await convertDocxToHtml(docxFile, {
|
|
133
|
+
commentRenderMode: CommentRenderMode.Disabled
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
// Render as footnotes with bidirectional links
|
|
137
|
+
const htmlEndnote = await convertDocxToHtml(docxFile, {
|
|
138
|
+
commentRenderMode: CommentRenderMode.EndnoteStyle
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
// Render as inline tooltips (title attribute + data attributes)
|
|
142
|
+
const htmlInline = await convertDocxToHtml(docxFile, {
|
|
143
|
+
commentRenderMode: CommentRenderMode.Inline
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
// Render in a side margin column (CSS flexbox layout)
|
|
147
|
+
const htmlMargin = await convertDocxToHtml(docxFile, {
|
|
148
|
+
commentRenderMode: CommentRenderMode.Margin
|
|
149
|
+
});
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
| Mode | Value | Description |
|
|
153
|
+
|------|-------|-------------|
|
|
154
|
+
| `Disabled` | -1 | Don't render comments (default) |
|
|
155
|
+
| `EndnoteStyle` | 0 | Comments at document end with `[1]` style links |
|
|
156
|
+
| `Inline` | 1 | Tooltips via `title` and `data-comment` attributes |
|
|
157
|
+
| `Margin` | 2 | Side column using CSS flexbox |
|
|
158
|
+
|
|
120
159
|
#### `compareDocuments(original, modified, options?): Promise<Uint8Array>`
|
|
121
160
|
Compare two DOCX documents and return a redlined DOCX with tracked changes.
|
|
122
161
|
|
|
@@ -135,12 +174,40 @@ Compare documents and return the result as HTML.
|
|
|
135
174
|
Extract revision information from a compared document.
|
|
136
175
|
|
|
137
176
|
```typescript
|
|
177
|
+
import { getRevisions, RevisionType, isInsertion, isDeletion } from 'docxodus';
|
|
178
|
+
import type { Revision } from 'docxodus';
|
|
179
|
+
|
|
180
|
+
// RevisionType enum - the only two types returned by the comparison engine
|
|
181
|
+
enum RevisionType {
|
|
182
|
+
Inserted = "Inserted", // Text or content that was added
|
|
183
|
+
Deleted = "Deleted", // Text or content that was removed
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// Revision interface with full documentation
|
|
138
187
|
interface Revision {
|
|
188
|
+
/** Author who made the revision (may be empty string if not specified) */
|
|
139
189
|
author: string;
|
|
190
|
+
/** ISO 8601 date string (e.g., "2024-01-15T10:30:00Z"), may be empty */
|
|
140
191
|
date: string;
|
|
141
|
-
|
|
192
|
+
/** Type of revision - "Inserted" or "Deleted" */
|
|
193
|
+
revisionType: RevisionType | string;
|
|
194
|
+
/** Text content (newline for paragraph breaks, empty for images/equations) */
|
|
142
195
|
text: string;
|
|
143
196
|
}
|
|
197
|
+
|
|
198
|
+
// Helper functions for type-safe filtering
|
|
199
|
+
const revisions = await getRevisions(comparedDoc);
|
|
200
|
+
const insertions = revisions.filter(isInsertion);
|
|
201
|
+
const deletions = revisions.filter(isDeletion);
|
|
202
|
+
|
|
203
|
+
// Or use the enum directly
|
|
204
|
+
revisions.forEach(rev => {
|
|
205
|
+
if (rev.revisionType === RevisionType.Inserted) {
|
|
206
|
+
console.log(`${rev.author} added: "${rev.text}"`);
|
|
207
|
+
} else if (rev.revisionType === RevisionType.Deleted) {
|
|
208
|
+
console.log(`${rev.author} removed: "${rev.text}"`);
|
|
209
|
+
}
|
|
210
|
+
});
|
|
144
211
|
```
|
|
145
212
|
|
|
146
213
|
### React Hooks
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ConversionOptions, CompareOptions, Revision, VersionInfo, ErrorResponse, CompareResult } from "./types.js";
|
|
2
|
-
import { CommentRenderMode } from "./types.js";
|
|
2
|
+
import { CommentRenderMode, RevisionType, isInsertion, isDeletion } from "./types.js";
|
|
3
3
|
export type { ConversionOptions, CompareOptions, Revision, VersionInfo, ErrorResponse, CompareResult, };
|
|
4
|
-
export { CommentRenderMode };
|
|
4
|
+
export { CommentRenderMode, RevisionType, isInsertion, isDeletion };
|
|
5
5
|
/**
|
|
6
6
|
* Current base path for WASM files.
|
|
7
7
|
* Empty string means auto-detect from module URL.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,GACd,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AA2BpE;;;GAGG;AACH,eAAO,IAAI,YAAY,QAAK,CAAC;AAE7B;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAElD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAajE;AA8FD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,CA4BrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,IAAI,GAAG,UAAU,GAC1B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAkBrB;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,WAAW,CASxC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CommentRenderMode } from "./types.js";
|
|
2
|
-
export { CommentRenderMode };
|
|
1
|
+
import { CommentRenderMode, RevisionType, isInsertion, isDeletion, } from "./types.js";
|
|
2
|
+
export { CommentRenderMode, RevisionType, isInsertion, isDeletion };
|
|
3
3
|
let wasmExports = null;
|
|
4
4
|
let initPromise = null;
|
|
5
5
|
/**
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Revision type enum matching the .NET WmlComparerRevisionType
|
|
3
|
+
* These are the only two revision types returned by the comparison engine
|
|
4
|
+
*/
|
|
5
|
+
export declare enum RevisionType {
|
|
6
|
+
/** Text or content that was added/inserted */
|
|
7
|
+
Inserted = "Inserted",
|
|
8
|
+
/** Text or content that was removed/deleted */
|
|
9
|
+
Deleted = "Deleted"
|
|
10
|
+
}
|
|
1
11
|
/**
|
|
2
12
|
* Comment render mode
|
|
3
13
|
* Use -1 (Disabled) to not render comments, or a positive value to enable with that mode
|
|
@@ -47,18 +57,69 @@ export interface CompareOptions {
|
|
|
47
57
|
renderTrackedChanges?: boolean;
|
|
48
58
|
}
|
|
49
59
|
/**
|
|
50
|
-
* Information about a document revision
|
|
60
|
+
* Information about a document revision extracted from a compared document.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const revisions = await getRevisions(comparedDoc);
|
|
65
|
+
* for (const rev of revisions) {
|
|
66
|
+
* if (rev.revisionType === RevisionType.Inserted) {
|
|
67
|
+
* console.log(`${rev.author} added: "${rev.text}"`);
|
|
68
|
+
* } else if (rev.revisionType === RevisionType.Deleted) {
|
|
69
|
+
* console.log(`${rev.author} removed: "${rev.text}"`);
|
|
70
|
+
* }
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
51
73
|
*/
|
|
52
74
|
export interface Revision {
|
|
53
|
-
/**
|
|
75
|
+
/**
|
|
76
|
+
* Author who made the revision.
|
|
77
|
+
* This comes from the Word document's tracked changes author attribute.
|
|
78
|
+
* May be empty string if the document doesn't specify an author.
|
|
79
|
+
*/
|
|
54
80
|
author: string;
|
|
55
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* ISO 8601 date string when the revision was made.
|
|
83
|
+
* Format: "YYYY-MM-DDTHH:mm:ssZ" (e.g., "2024-01-15T10:30:00Z")
|
|
84
|
+
* May be empty string if the document doesn't specify a date.
|
|
85
|
+
*/
|
|
56
86
|
date: string;
|
|
57
|
-
/**
|
|
58
|
-
|
|
59
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Type of revision - either "Inserted" or "Deleted".
|
|
89
|
+
* Use the RevisionType enum for type-safe comparisons.
|
|
90
|
+
*/
|
|
91
|
+
revisionType: RevisionType | string;
|
|
92
|
+
/**
|
|
93
|
+
* Text content of the revision.
|
|
94
|
+
* For paragraph breaks, this will be a newline character.
|
|
95
|
+
* May be empty string for non-text elements (e.g., images, math equations).
|
|
96
|
+
*/
|
|
60
97
|
text: string;
|
|
61
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Type guard to check if a revision is an insertion.
|
|
101
|
+
* @param revision - The revision to check
|
|
102
|
+
* @returns true if the revision is an insertion
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* const revisions = await getRevisions(doc);
|
|
107
|
+
* const insertions = revisions.filter(isInsertion);
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
export declare function isInsertion(revision: Revision): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Type guard to check if a revision is a deletion.
|
|
113
|
+
* @param revision - The revision to check
|
|
114
|
+
* @returns true if the revision is a deletion
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* const revisions = await getRevisions(doc);
|
|
119
|
+
* const deletions = revisions.filter(isDeletion);
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export declare function isDeletion(revision: Revision): boolean;
|
|
62
123
|
/**
|
|
63
124
|
* Version information for the library
|
|
64
125
|
*/
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,uCAAuC;IACvC,QAAQ,KAAK;IACb,2FAA2F;IAC3F,YAAY,IAAI;IAChB,8DAA8D;IAC9D,MAAM,IAAI;IACV,0DAA0D;IAC1D,MAAM,IAAI;CACX;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4GAA4G;IAC5G,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,kEAAkE;IAClE,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Revision type enum matching the .NET WmlComparerRevisionType
|
|
3
|
+
* These are the only two revision types returned by the comparison engine
|
|
4
|
+
*/
|
|
5
|
+
export var RevisionType;
|
|
6
|
+
(function (RevisionType) {
|
|
7
|
+
/** Text or content that was added/inserted */
|
|
8
|
+
RevisionType["Inserted"] = "Inserted";
|
|
9
|
+
/** Text or content that was removed/deleted */
|
|
10
|
+
RevisionType["Deleted"] = "Deleted";
|
|
11
|
+
})(RevisionType || (RevisionType = {}));
|
|
1
12
|
/**
|
|
2
13
|
* Comment render mode
|
|
3
14
|
* Use -1 (Disabled) to not render comments, or a positive value to enable with that mode
|
|
@@ -13,4 +24,32 @@ export var CommentRenderMode;
|
|
|
13
24
|
/** Render comments in a margin column (CSS-positioned) */
|
|
14
25
|
CommentRenderMode[CommentRenderMode["Margin"] = 2] = "Margin";
|
|
15
26
|
})(CommentRenderMode || (CommentRenderMode = {}));
|
|
27
|
+
/**
|
|
28
|
+
* Type guard to check if a revision is an insertion.
|
|
29
|
+
* @param revision - The revision to check
|
|
30
|
+
* @returns true if the revision is an insertion
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const revisions = await getRevisions(doc);
|
|
35
|
+
* const insertions = revisions.filter(isInsertion);
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function isInsertion(revision) {
|
|
39
|
+
return revision.revisionType === RevisionType.Inserted;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Type guard to check if a revision is a deletion.
|
|
43
|
+
* @param revision - The revision to check
|
|
44
|
+
* @returns true if the revision is a deletion
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* const revisions = await getRevisions(doc);
|
|
49
|
+
* const deletions = revisions.filter(isDeletion);
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export function isDeletion(revision) {
|
|
53
|
+
return revision.revisionType === RevisionType.Deleted;
|
|
54
|
+
}
|
|
16
55
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,iBASX;AATD,WAAY,iBAAiB;IAC3B,uCAAuC;IACvC,kEAAa,CAAA;IACb,2FAA2F;IAC3F,yEAAgB,CAAA;IAChB,8DAA8D;IAC9D,6DAAU,CAAA;IACV,0DAA0D;IAC1D,6DAAU,CAAA;AACZ,CAAC,EATW,iBAAiB,KAAjB,iBAAiB,QAS5B"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,8CAA8C;IAC9C,qCAAqB,CAAA;IACrB,+CAA+C;IAC/C,mCAAmB,CAAA;AACrB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,iBASX;AATD,WAAY,iBAAiB;IAC3B,uCAAuC;IACvC,kEAAa,CAAA;IACb,2FAA2F;IAC3F,yEAAgB,CAAA;IAChB,8DAA8D;IAC9D,6DAAU,CAAA;IACV,0DAA0D;IAC1D,6DAAU,CAAA;AACZ,CAAC,EATW,iBAAiB,KAAjB,iBAAiB,QAS5B;AA+ED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC,QAAQ,CAAC;AACzD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CAAC,QAAkB;IAC3C,OAAO,QAAQ,CAAC,YAAY,KAAK,YAAY,CAAC,OAAO,CAAC;AACxD,CAAC"}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"mainAssemblyName": "DocxodusWasm.dll",
|
|
3
3
|
"resources": {
|
|
4
|
-
"hash": "sha256-
|
|
4
|
+
"hash": "sha256-XGA9BotleGWillA0Y08Ju3xF2ga4eDBSj6oOUY/vXoo=",
|
|
5
5
|
"jsModuleNative": {
|
|
6
6
|
"dotnet.native.js": "sha256-YLwjs9CPwrZG7YKULjmqr5bYsmhxwcWJOhQNM4bG6Gc="
|
|
7
7
|
},
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"assembly": {
|
|
18
18
|
"DocumentFormat.OpenXml.wasm": "sha256-edAN2rIA7QQ8K5qp1o5QXplt8M80fEiVmuMgT/MBmLM=",
|
|
19
19
|
"DocumentFormat.OpenXml.Framework.wasm": "sha256-CFdrD1dSpnkcOk0gxZcKb2T5p+q2ck9ivs+TOML6Jmw=",
|
|
20
|
-
"Docxodus.wasm": "sha256-
|
|
21
|
-
"DocxodusWasm.wasm": "sha256-
|
|
20
|
+
"Docxodus.wasm": "sha256-bI38w8+Mv8KnZaukzEoCzeXgKnwhECjGWBoYl2dXN+k=",
|
|
21
|
+
"DocxodusWasm.wasm": "sha256-lSJFHXwX95gzfc/JV04RIQubCVoOjMD2KCXjcwMAuCY=",
|
|
22
22
|
"SkiaSharp.wasm": "sha256-U6RbqUVBn8Vx8qpghJC5+r/DC1NSBY+EIRDxP8o6dsk=",
|
|
23
23
|
"System.Collections.Concurrent.wasm": "sha256-xXJbJWNeQ2DSYvAGUoUHjF9y4Iajv2ed0eACOxWD19U=",
|
|
24
24
|
"System.Collections.wasm": "sha256-J1FML3h2WBTlmekS0TVLGCvZGbIRG+AZnGmlZn3Y5+Q=",
|