ooxml-core 1.22.0 → 1.23.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 +7 -2
- package/dist/automation/index.cjs +6 -4
- package/dist/automation/index.mjs +6 -4
- package/dist/collab/embedding.d.ts +7 -0
- package/dist/collab/embedding.d.ts.map +1 -1
- package/dist/collab/index.cjs +189 -0
- package/dist/collab/index.d.ts +2 -0
- package/dist/collab/index.d.ts.map +1 -1
- package/dist/collab/index.mjs +186 -1
- package/dist/collab/write-back-lifecycle.d.ts +33 -0
- package/dist/collab/write-back-lifecycle.d.ts.map +1 -0
- package/dist/collab/write-back.d.ts +75 -0
- package/dist/collab/write-back.d.ts.map +1 -0
- package/dist/visio/collab/baseline.d.ts +36 -0
- package/dist/visio/collab/baseline.d.ts.map +1 -0
- package/dist/visio/collab/bind.d.ts +20 -2
- package/dist/visio/collab/bind.d.ts.map +1 -1
- package/dist/visio/collab/compose-lists.d.ts +27 -0
- package/dist/visio/collab/compose-lists.d.ts.map +1 -0
- package/dist/visio/collab/compose.d.ts +6 -2
- package/dist/visio/collab/compose.d.ts.map +1 -1
- package/dist/visio/collab/fixups.d.ts +5 -0
- package/dist/visio/collab/fixups.d.ts.map +1 -0
- package/dist/visio/collab/index.cjs +1499 -362
- package/dist/visio/collab/index.d.ts +3 -2
- package/dist/visio/collab/index.d.ts.map +1 -1
- package/dist/visio/collab/index.mjs +1492 -363
- package/dist/visio/collab/keys.d.ts +30 -1
- package/dist/visio/collab/keys.d.ts.map +1 -1
- package/dist/visio/collab/package.d.ts +22 -1
- package/dist/visio/collab/package.d.ts.map +1 -1
- package/dist/visio/collab/pieces.d.ts +34 -0
- package/dist/visio/collab/pieces.d.ts.map +1 -0
- package/dist/visio/collab/read-ids.d.ts +29 -0
- package/dist/visio/collab/read-ids.d.ts.map +1 -0
- package/dist/visio/collab/read-parts.d.ts +34 -0
- package/dist/visio/collab/read-parts.d.ts.map +1 -0
- package/dist/visio/collab/read-shapes.d.ts +35 -0
- package/dist/visio/collab/read-shapes.d.ts.map +1 -0
- package/dist/visio/collab/read-util.d.ts +20 -0
- package/dist/visio/collab/read-util.d.ts.map +1 -0
- package/dist/visio/collab/read.d.ts +40 -19
- package/dist/visio/collab/read.d.ts.map +1 -1
- package/dist/visio/collab/schema.d.ts +55 -1
- package/dist/visio/collab/schema.d.ts.map +1 -1
- package/dist/visio/collab/snapshot-contents.d.ts +9 -0
- package/dist/visio/collab/snapshot-contents.d.ts.map +1 -0
- package/dist/visio/collab/snapshot-io.d.ts +26 -0
- package/dist/visio/collab/snapshot-io.d.ts.map +1 -0
- package/dist/visio/collab/snapshot-parts.d.ts +14 -0
- package/dist/visio/collab/snapshot-parts.d.ts.map +1 -0
- package/dist/visio/collab/snapshot.d.ts +31 -24
- package/dist/visio/collab/snapshot.d.ts.map +1 -1
- package/dist/visio/collab/write-parts.d.ts +8 -0
- package/dist/visio/collab/write-parts.d.ts.map +1 -0
- package/dist/visio/collab/write-shapes.d.ts +30 -0
- package/dist/visio/collab/write-shapes.d.ts.map +1 -0
- package/dist/visio/collab/write.d.ts +4 -16
- package/dist/visio/collab/write.d.ts.map +1 -1
- package/dist/visio/index.cjs +57 -4
- package/dist/visio/index.d.ts +1 -0
- package/dist/visio/index.d.ts.map +1 -1
- package/dist/visio/index.mjs +56 -5
- package/dist/visio/parse-incremental.d.ts +16 -0
- package/dist/visio/parse-incremental.d.ts.map +1 -0
- package/dist/visio/parser.d.ts +7 -0
- package/dist/visio/parser.d.ts.map +1 -1
- package/dist/visio/ui/collab-options.d.ts +10 -5
- package/dist/visio/ui/collab-options.d.ts.map +1 -1
- package/dist/visio/ui/index.cjs +6 -4
- package/dist/visio/ui/index.mjs +6 -4
- package/package.json +1 -1
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import JSZip from 'jszip';
|
|
2
1
|
import type { DrawingKeys } from './keys.js';
|
|
2
|
+
import type { Piece } from './pieces.js';
|
|
3
3
|
import type { ConnectEntry } from './schema.js';
|
|
4
|
+
export { type Layout, type LocalItem, readLayout, readLocalItems, readZip, zipText, } from './snapshot-io.js';
|
|
4
5
|
export interface ShapeSnapshot {
|
|
5
6
|
key: string;
|
|
6
7
|
id: string;
|
|
7
|
-
|
|
8
|
+
/** Key of the shape this one is nested in. */
|
|
9
|
+
parent?: string;
|
|
10
|
+
open: string;
|
|
11
|
+
pieces: Piece[];
|
|
8
12
|
}
|
|
9
13
|
export interface ConnectSnapshot {
|
|
10
14
|
key: string;
|
|
@@ -18,14 +22,39 @@ export interface PageSnapshot {
|
|
|
18
22
|
shell: string;
|
|
19
23
|
rels?: string;
|
|
20
24
|
path: string;
|
|
25
|
+
/** Every shape of the page, parents before the shapes nested in them. */
|
|
26
|
+
shapes: ShapeSnapshot[];
|
|
27
|
+
connects: ConnectSnapshot[];
|
|
28
|
+
}
|
|
29
|
+
export interface MasterSnapshot {
|
|
30
|
+
key: string;
|
|
31
|
+
id: string;
|
|
32
|
+
xml: string;
|
|
33
|
+
path: string;
|
|
34
|
+
/** The master part with its shapes and connects replaced by markers. */
|
|
35
|
+
part: Uint8Array;
|
|
36
|
+
rels?: string;
|
|
37
|
+
/** Every shape of the master's content, parents before the shapes nested in them. */
|
|
21
38
|
shapes: ShapeSnapshot[];
|
|
22
39
|
connects: ConnectSnapshot[];
|
|
23
40
|
}
|
|
41
|
+
export interface MediaSnapshot {
|
|
42
|
+
path: string;
|
|
43
|
+
hash: string;
|
|
44
|
+
ct: string;
|
|
45
|
+
d: boolean;
|
|
46
|
+
data: Uint8Array;
|
|
47
|
+
}
|
|
24
48
|
export interface DrawingSnapshot {
|
|
25
49
|
pagesPath: string;
|
|
26
50
|
pagesOpen: string;
|
|
27
51
|
pagesClose: string;
|
|
28
52
|
pages: PageSnapshot[];
|
|
53
|
+
mastersPath?: string;
|
|
54
|
+
mastersOpen?: string;
|
|
55
|
+
mastersClose?: string;
|
|
56
|
+
masters: MasterSnapshot[];
|
|
57
|
+
media: MediaSnapshot[];
|
|
29
58
|
parts: Map<string, Uint8Array>;
|
|
30
59
|
}
|
|
31
60
|
export interface SnapshotOptions {
|
|
@@ -35,27 +64,5 @@ export interface SnapshotOptions {
|
|
|
35
64
|
export declare const DEFAULT_MAX_PART_BYTES: number;
|
|
36
65
|
/** The ids of a shape element and of every shape nested in it, outermost first. */
|
|
37
66
|
export declare function shapeIds(xml: string): string[];
|
|
38
|
-
export declare const readZip: (bytes: Uint8Array) => Promise<JSZip>;
|
|
39
|
-
export declare const zipText: (zip: JSZip, path: string) => Promise<string | undefined>;
|
|
40
|
-
export interface Layout {
|
|
41
|
-
documentPath: string;
|
|
42
|
-
pagesPath: string;
|
|
43
|
-
}
|
|
44
|
-
/** The document and pages parts of a package, through its relationships. */
|
|
45
|
-
export declare function readLayout(zip: JSZip): Promise<Layout | undefined>;
|
|
46
|
-
export interface LocalPage {
|
|
47
|
-
id: string;
|
|
48
|
-
text: string;
|
|
49
|
-
path: string;
|
|
50
|
-
rel: {
|
|
51
|
-
start: number;
|
|
52
|
-
end: number;
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
/** The `Page` elements of a pages part with the part each one points to. */
|
|
56
|
-
export declare function readLocalPages(zip: JSZip, layout: Layout, pagesXml: string): Promise<{
|
|
57
|
-
box: import("./scan.js").Container;
|
|
58
|
-
pages: LocalPage[];
|
|
59
|
-
} | undefined>;
|
|
60
67
|
export declare function snapshotDrawing(bytes: Uint8Array, keys: DrawingKeys, options?: SnapshotOptions): Promise<DrawingSnapshot>;
|
|
61
68
|
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../visio/collab/snapshot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../visio/collab/snapshot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK7C,OAAO,EACN,KAAK,MAAM,EACX,KAAK,SAAS,EACd,UAAU,EACV,cAAc,EACd,OAAO,EACP,OAAO,GACP,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,EAAE,CAAC;CAChB;AACD,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,CAAC;CACpB;AACD,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC5B;AACD,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC5B;AACD,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,OAAO,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;CACjB;AACD,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC/B,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AAGvD,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAE9C;AAED,wBAAsB,eAAe,CACpC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,eAAoB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAkD1B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DrawingSnapshot } from './snapshot.js';
|
|
2
|
+
import { type WriteContext } from './write-shapes.js';
|
|
3
|
+
export declare const mediaKey: (hash: string, path: string) => string;
|
|
4
|
+
export declare function syncMasters(ctx: WriteContext, snapshot: DrawingSnapshot): void;
|
|
5
|
+
export declare function syncMedia(ctx: WriteContext, snapshot: DrawingSnapshot): void;
|
|
6
|
+
/** Writes every other part whole, last write wins; returns the number of deletions. */
|
|
7
|
+
export declare function syncParts(ctx: WriteContext, snapshot: DrawingSnapshot): number;
|
|
8
|
+
//# sourceMappingURL=write-parts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-parts.d.ts","sourceRoot":"","sources":["../../../visio/collab/write-parts.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,KAAK,YAAY,EAAuC,MAAM,gBAAgB,CAAC;AAExF,eAAO,MAAM,QAAQ,SAAU,MAAM,QAAQ,MAAM,KAAG,MAA2B,CAAC;AAElF,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAgC9E;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAiB5E;AAED,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAgB9E"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as Y from 'yjs';
|
|
2
|
+
import type { DrawingKeys } from './keys.js';
|
|
3
|
+
import { type SharedDrawing } from './schema.js';
|
|
4
|
+
import type { ConnectSnapshot, ShapeSnapshot } from './snapshot.js';
|
|
5
|
+
export interface WriteContext {
|
|
6
|
+
shared: SharedDrawing;
|
|
7
|
+
keys: DrawingKeys;
|
|
8
|
+
/** Baseline of what is written or kept by this pass. */
|
|
9
|
+
now: Map<string, string>;
|
|
10
|
+
/** Shared by every entry created or rewritten in this pass. */
|
|
11
|
+
batch: string;
|
|
12
|
+
write(map: Y.Map<unknown>, key: string, value: unknown): void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Writes `local()` when it differs from this peer's baseline (a local edit) or the room has no
|
|
16
|
+
* entry; otherwise keeps the room's value (a collaborator's change not applied here yet), with the
|
|
17
|
+
* local position. `stamp` records the batch on an entry that is written.
|
|
18
|
+
*/
|
|
19
|
+
export declare function syncEntry<T extends {
|
|
20
|
+
pos?: number;
|
|
21
|
+
b?: string;
|
|
22
|
+
}>(ctx: WriteContext, map: Y.Map<unknown>, mapKey: string, id: string, content: string, room: T | undefined, roomContent: () => string, local: () => T, stamp?: boolean): void;
|
|
23
|
+
/** Writes the connects of a page or master that the room does not hold (or that are new here). */
|
|
24
|
+
export declare function syncConnects(ctx: WriteContext, connects: readonly ConnectSnapshot[]): void;
|
|
25
|
+
/** Writes the shapes of a page, or of a master's content (`page.key` is then its scope). */
|
|
26
|
+
export declare function syncShapes(ctx: WriteContext, page: {
|
|
27
|
+
key: string;
|
|
28
|
+
shapes: readonly ShapeSnapshot[];
|
|
29
|
+
}): void;
|
|
30
|
+
//# sourceMappingURL=write-shapes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-shapes.d.ts","sourceRoot":"","sources":["../../../visio/collab/write-shapes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,EAGN,KAAK,aAAa,EAGlB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,wDAAwD;IACxD,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/D,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EACnB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,CAAC,GAAG,SAAS,EACnB,WAAW,EAAE,MAAM,MAAM,EACzB,KAAK,EAAE,MAAM,CAAC,EACd,KAAK,UAAQ,GACX,IAAI,CAWN;AAeD,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI,CAM1F;AAED,4FAA4F;AAC5F,wBAAgB,UAAU,CACzB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE,GACrD,IAAI,CAgDN"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
|
+
import { bodyContent, bodyId, connectId, pageContent, pageId } from './baseline.js';
|
|
1
2
|
import type { DrawingKeys } from './keys.js';
|
|
2
|
-
import type { DrawingSnapshot } from './snapshot.js';
|
|
3
3
|
import { type SharedDrawing } from './schema.js';
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
export declare const connectId: (key: string) => string;
|
|
8
|
-
/** Baseline text of a page entry (its position excluded) and of a body. */
|
|
9
|
-
export declare const pageContent: (e: {
|
|
10
|
-
id: string;
|
|
11
|
-
back?: string | undefined;
|
|
12
|
-
xml: string;
|
|
13
|
-
}) => string;
|
|
14
|
-
export declare const bodyContent: (e: {
|
|
15
|
-
shell: string;
|
|
16
|
-
rels?: string | undefined;
|
|
17
|
-
}) => string;
|
|
18
|
-
/** Writes `snapshot` into `shared`; returns the number of entries changed. */
|
|
4
|
+
import type { DrawingSnapshot } from './snapshot.js';
|
|
5
|
+
export { bodyId, connectId, pageContent, bodyContent, pageId };
|
|
6
|
+
/** Writes `snapshot` into `shared`; returns the number of entries changed. Throws on another schema version. */
|
|
19
7
|
export declare function writeSharedDrawing(shared: SharedDrawing, snapshot: DrawingSnapshot, keys: DrawingKeys): number;
|
|
20
8
|
//# sourceMappingURL=write.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../visio/collab/write.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../visio/collab/write.ts"],"names":[],"mappings":"AAOA,OAAO,EACN,WAAW,EACX,MAAM,EACN,SAAS,EAGT,WAAW,EACX,MAAM,EACN,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAIN,KAAK,aAAa,EAKlB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AAe/D,gHAAgH;AAChH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,eAAe,EACzB,IAAI,EAAE,WAAW,GACf,MAAM,CA4GR"}
|
package/dist/visio/index.cjs
CHANGED
|
@@ -24216,6 +24216,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
24216
24216
|
throw new VisioPackageError("INVALID_DOCUMENT", "Missing Visio pages part.");
|
|
24217
24217
|
const pages = [], pageIds2 = /* @__PURE__ */ new Set();
|
|
24218
24218
|
const comments = [];
|
|
24219
|
+
const only = options2.pages ? new Set(options2.pages) : void 0;
|
|
24219
24220
|
const pageNodes = pagesPart ? children2(await visioXml(pkg, pagesPart, "Pages"), "Page") : [];
|
|
24220
24221
|
const foreground = pageNodes.filter((page) => !yes(attribute2(page, "Background")));
|
|
24221
24222
|
const fieldProperties = await readVisioFieldProperties(pkg);
|
|
@@ -24225,6 +24226,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
24225
24226
|
if (!id3 || pageIds2.has(id3))
|
|
24226
24227
|
throw new VisioPackageError("INVALID_PAGE_ID", "Page IDs must be present and unique.");
|
|
24227
24228
|
pageIds2.add(id3);
|
|
24229
|
+
if (only && !only.has(id3)) continue;
|
|
24228
24230
|
const part = await indexedPart(pkg, pagesPart, page, "page");
|
|
24229
24231
|
const root2 = await visioXml(pkg, part, "PageContents");
|
|
24230
24232
|
const localReport = (code, message, extra) => report(code, message, { part, pageId: id3, ...extra });
|
|
@@ -24334,16 +24336,16 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
24334
24336
|
});
|
|
24335
24337
|
}
|
|
24336
24338
|
checkTime();
|
|
24337
|
-
validateBackgrounds(pages, report);
|
|
24339
|
+
if (!only) validateBackgrounds(pages, report);
|
|
24338
24340
|
try {
|
|
24339
|
-
comments.push(...await readVisioComments(pkg, documentPart2, report));
|
|
24341
|
+
if (!only) comments.push(...await readVisioComments(pkg, documentPart2, report));
|
|
24340
24342
|
} catch (error) {
|
|
24341
24343
|
if (!(error instanceof VisioPackageError) || error.code === "LIMIT_RUNTIME") throw error;
|
|
24342
24344
|
report("invalid-comments", "The comments part could not be read; comments are not shown.");
|
|
24343
24345
|
}
|
|
24344
24346
|
let dataRecordsets = [];
|
|
24345
24347
|
try {
|
|
24346
|
-
dataRecordsets = await readDataRecordsets(pkg, documentPart2, checkTime);
|
|
24348
|
+
if (!only) dataRecordsets = await readDataRecordsets(pkg, documentPart2, checkTime);
|
|
24347
24349
|
} catch (error) {
|
|
24348
24350
|
if (error instanceof VisioPackageError && error.code === "LIMIT_RUNTIME") throw error;
|
|
24349
24351
|
report(
|
|
@@ -24351,7 +24353,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
24351
24353
|
`Saved external data could not be read and is preserved unchanged: ${error instanceof Error ? error.message : String(error)}`
|
|
24352
24354
|
);
|
|
24353
24355
|
}
|
|
24354
|
-
const stencils = await readVisioStencilWindows(pkg, documentPart2);
|
|
24356
|
+
const stencils = only ? [] : await readVisioStencilWindows(pkg, documentPart2);
|
|
24355
24357
|
report(
|
|
24356
24358
|
"cached-values-only",
|
|
24357
24359
|
"ShapeSheet formulas, automatic connector routing, and external data are not evaluated; saved cached values and supported theme records are used.",
|
|
@@ -33880,6 +33882,55 @@ async function loadVisio(input, options2 = {}) {
|
|
|
33880
33882
|
);
|
|
33881
33883
|
}
|
|
33882
33884
|
|
|
33885
|
+
// visio/parse-incremental.ts
|
|
33886
|
+
var BACKGROUND_CODES = /* @__PURE__ */ new Set(["background-cycle", "missing-background-page"]);
|
|
33887
|
+
var MAX_SPLICED_DIAGNOSTICS = 1e3;
|
|
33888
|
+
var DEFAULT_MAX_SHAPES = 25e3;
|
|
33889
|
+
var countShapes = (shapes) => shapes.reduce((sum, shape) => sum + 1 + countShapes(shape.children), 0);
|
|
33890
|
+
var isPageDiagnostic = (d) => d.pageId !== void 0 && !BACKGROUND_CODES.has(d.code);
|
|
33891
|
+
function mergeVisioPages(previous, partial, pageIds2, options2 = {}) {
|
|
33892
|
+
if (previous.format !== "vsdx" || partial.format !== "vsdx") return void 0;
|
|
33893
|
+
const wanted = new Set(pageIds2);
|
|
33894
|
+
const fresh = new Map(partial.pages.map((page) => [page.id, page]));
|
|
33895
|
+
if (fresh.size !== wanted.size || ![...wanted].every((id3) => fresh.has(id3))) return void 0;
|
|
33896
|
+
const before = new Map(previous.pages.map((page) => [page.id, page]));
|
|
33897
|
+
if (![...wanted].every((id3) => before.has(id3))) return void 0;
|
|
33898
|
+
for (const [id3, page] of fresh)
|
|
33899
|
+
if (before.get(id3).backgroundPageId === void 0) delete page.backgroundPageId;
|
|
33900
|
+
const pages = previous.pages.map((page) => fresh.get(page.id) ?? page);
|
|
33901
|
+
if (pages.reduce((sum, page) => sum + countShapes(page.shapes), 0) > (options2.maxShapes ?? DEFAULT_MAX_SHAPES))
|
|
33902
|
+
return void 0;
|
|
33903
|
+
const diagnostics = spliceDiagnostics(previous.diagnostics, partial.diagnostics, wanted);
|
|
33904
|
+
if (!diagnostics) return void 0;
|
|
33905
|
+
return { ...previous, pages, diagnostics };
|
|
33906
|
+
}
|
|
33907
|
+
function spliceDiagnostics(previous, partial, wanted) {
|
|
33908
|
+
const truncated = (list2) => list2.some((d) => d.code === "diagnostics-truncated");
|
|
33909
|
+
if (truncated(previous) || truncated(partial)) return void 0;
|
|
33910
|
+
const fresh = partial.filter((d) => isPageDiagnostic(d) && wanted.has(d.pageId));
|
|
33911
|
+
if (previous.length + fresh.length > MAX_SPLICED_DIAGNOSTICS) return void 0;
|
|
33912
|
+
let out = [...previous];
|
|
33913
|
+
for (const id3 of wanted) {
|
|
33914
|
+
const next = fresh.filter((d) => d.pageId === id3);
|
|
33915
|
+
const at2 = out.flatMap((d, i) => isPageDiagnostic(d) && d.pageId === id3 ? [i] : []);
|
|
33916
|
+
if (!at2.length) {
|
|
33917
|
+
if (next.length) return void 0;
|
|
33918
|
+
continue;
|
|
33919
|
+
}
|
|
33920
|
+
const first2 = at2[0];
|
|
33921
|
+
const last = at2[at2.length - 1];
|
|
33922
|
+
if (last - first2 + 1 !== at2.length) return void 0;
|
|
33923
|
+
out = [...out.slice(0, first2), ...next, ...out.slice(last + 1)];
|
|
33924
|
+
}
|
|
33925
|
+
return out;
|
|
33926
|
+
}
|
|
33927
|
+
async function parseVsdxPages(input, previous, pageIds2, options2 = {}) {
|
|
33928
|
+
const partial = await parseVsdx(input, { ...options2, pages: pageIds2 });
|
|
33929
|
+
return mergeVisioPages(previous, partial, pageIds2, {
|
|
33930
|
+
...options2.maxShapes !== void 0 ? { maxShapes: options2.maxShapes } : {}
|
|
33931
|
+
});
|
|
33932
|
+
}
|
|
33933
|
+
|
|
33883
33934
|
// visio/visibility.ts
|
|
33884
33935
|
var VISIO_VISIBILITY_LIMITS = Object.freeze({
|
|
33885
33936
|
maxShapes: 25e3,
|
|
@@ -48897,10 +48948,12 @@ exports.isVisioStencilShape = isVisioStencilShape;
|
|
|
48897
48948
|
exports.isVisioThemeColorRef = isVisioThemeColorRef;
|
|
48898
48949
|
exports.layoutVisioFilledArrowLine = layoutVisioFilledArrowLine;
|
|
48899
48950
|
exports.loadVisio = loadVisio;
|
|
48951
|
+
exports.mergeVisioPages = mergeVisioPages;
|
|
48900
48952
|
exports.parseLegacyVsd = parseLegacyVsd;
|
|
48901
48953
|
exports.parseVisioFormula = parseVisioFormula;
|
|
48902
48954
|
exports.parseVisioThemeColorFormula = parseVisioThemeColorFormula;
|
|
48903
48955
|
exports.parseVsdx = parseVsdx;
|
|
48956
|
+
exports.parseVsdxPages = parseVsdxPages;
|
|
48904
48957
|
exports.readVisioStencil = readVisioStencil;
|
|
48905
48958
|
exports.resolveVisioPageVisibility = resolveVisioPageVisibility;
|
|
48906
48959
|
exports.resolveVisioThemeColor = resolveVisioThemeColor;
|
package/dist/visio/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export { parseVsdx, getVisioPageLayers, type ParseVsdxOptions } from './parser.j
|
|
|
8
8
|
export { readVisioStencil, type VisioStencilFile } from './stencil-file.js';
|
|
9
9
|
export { visioPrintTileCount, VISIO_PRINT_COUNT_LIMITS, type VisioPrintTileCountResult, } from './print-count.js';
|
|
10
10
|
export { loadVisio } from './load.js';
|
|
11
|
+
export { mergeVisioPages, parseVsdxPages } from './parse-incremental.js';
|
|
11
12
|
export { parseLegacyVsd, type ParseLegacyVsdOptions } from './legacy.js';
|
|
12
13
|
export { VisioPackageError, type VisioPackageLimits } from './package.js';
|
|
13
14
|
export { resolveVisioPageVisibility, VISIO_VISIBILITY_LIMITS, type VisioVisibilityOptions, type VisioResolvedShapeVisibility, } from './visibility.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../visio/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../visio/index.ts"],"names":[],"mappings":"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"}
|
package/dist/visio/index.mjs
CHANGED
|
@@ -24210,6 +24210,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
24210
24210
|
throw new VisioPackageError("INVALID_DOCUMENT", "Missing Visio pages part.");
|
|
24211
24211
|
const pages = [], pageIds2 = /* @__PURE__ */ new Set();
|
|
24212
24212
|
const comments = [];
|
|
24213
|
+
const only = options2.pages ? new Set(options2.pages) : void 0;
|
|
24213
24214
|
const pageNodes = pagesPart ? children2(await visioXml(pkg, pagesPart, "Pages"), "Page") : [];
|
|
24214
24215
|
const foreground = pageNodes.filter((page) => !yes(attribute2(page, "Background")));
|
|
24215
24216
|
const fieldProperties = await readVisioFieldProperties(pkg);
|
|
@@ -24219,6 +24220,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
24219
24220
|
if (!id3 || pageIds2.has(id3))
|
|
24220
24221
|
throw new VisioPackageError("INVALID_PAGE_ID", "Page IDs must be present and unique.");
|
|
24221
24222
|
pageIds2.add(id3);
|
|
24223
|
+
if (only && !only.has(id3)) continue;
|
|
24222
24224
|
const part = await indexedPart(pkg, pagesPart, page, "page");
|
|
24223
24225
|
const root2 = await visioXml(pkg, part, "PageContents");
|
|
24224
24226
|
const localReport = (code, message, extra) => report(code, message, { part, pageId: id3, ...extra });
|
|
@@ -24328,16 +24330,16 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
24328
24330
|
});
|
|
24329
24331
|
}
|
|
24330
24332
|
checkTime();
|
|
24331
|
-
validateBackgrounds(pages, report);
|
|
24333
|
+
if (!only) validateBackgrounds(pages, report);
|
|
24332
24334
|
try {
|
|
24333
|
-
comments.push(...await readVisioComments(pkg, documentPart2, report));
|
|
24335
|
+
if (!only) comments.push(...await readVisioComments(pkg, documentPart2, report));
|
|
24334
24336
|
} catch (error) {
|
|
24335
24337
|
if (!(error instanceof VisioPackageError) || error.code === "LIMIT_RUNTIME") throw error;
|
|
24336
24338
|
report("invalid-comments", "The comments part could not be read; comments are not shown.");
|
|
24337
24339
|
}
|
|
24338
24340
|
let dataRecordsets = [];
|
|
24339
24341
|
try {
|
|
24340
|
-
dataRecordsets = await readDataRecordsets(pkg, documentPart2, checkTime);
|
|
24342
|
+
if (!only) dataRecordsets = await readDataRecordsets(pkg, documentPart2, checkTime);
|
|
24341
24343
|
} catch (error) {
|
|
24342
24344
|
if (error instanceof VisioPackageError && error.code === "LIMIT_RUNTIME") throw error;
|
|
24343
24345
|
report(
|
|
@@ -24345,7 +24347,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
24345
24347
|
`Saved external data could not be read and is preserved unchanged: ${error instanceof Error ? error.message : String(error)}`
|
|
24346
24348
|
);
|
|
24347
24349
|
}
|
|
24348
|
-
const stencils = await readVisioStencilWindows(pkg, documentPart2);
|
|
24350
|
+
const stencils = only ? [] : await readVisioStencilWindows(pkg, documentPart2);
|
|
24349
24351
|
report(
|
|
24350
24352
|
"cached-values-only",
|
|
24351
24353
|
"ShapeSheet formulas, automatic connector routing, and external data are not evaluated; saved cached values and supported theme records are used.",
|
|
@@ -33874,6 +33876,55 @@ async function loadVisio(input, options2 = {}) {
|
|
|
33874
33876
|
);
|
|
33875
33877
|
}
|
|
33876
33878
|
|
|
33879
|
+
// visio/parse-incremental.ts
|
|
33880
|
+
var BACKGROUND_CODES = /* @__PURE__ */ new Set(["background-cycle", "missing-background-page"]);
|
|
33881
|
+
var MAX_SPLICED_DIAGNOSTICS = 1e3;
|
|
33882
|
+
var DEFAULT_MAX_SHAPES = 25e3;
|
|
33883
|
+
var countShapes = (shapes) => shapes.reduce((sum, shape) => sum + 1 + countShapes(shape.children), 0);
|
|
33884
|
+
var isPageDiagnostic = (d) => d.pageId !== void 0 && !BACKGROUND_CODES.has(d.code);
|
|
33885
|
+
function mergeVisioPages(previous, partial, pageIds2, options2 = {}) {
|
|
33886
|
+
if (previous.format !== "vsdx" || partial.format !== "vsdx") return void 0;
|
|
33887
|
+
const wanted = new Set(pageIds2);
|
|
33888
|
+
const fresh = new Map(partial.pages.map((page) => [page.id, page]));
|
|
33889
|
+
if (fresh.size !== wanted.size || ![...wanted].every((id3) => fresh.has(id3))) return void 0;
|
|
33890
|
+
const before = new Map(previous.pages.map((page) => [page.id, page]));
|
|
33891
|
+
if (![...wanted].every((id3) => before.has(id3))) return void 0;
|
|
33892
|
+
for (const [id3, page] of fresh)
|
|
33893
|
+
if (before.get(id3).backgroundPageId === void 0) delete page.backgroundPageId;
|
|
33894
|
+
const pages = previous.pages.map((page) => fresh.get(page.id) ?? page);
|
|
33895
|
+
if (pages.reduce((sum, page) => sum + countShapes(page.shapes), 0) > (options2.maxShapes ?? DEFAULT_MAX_SHAPES))
|
|
33896
|
+
return void 0;
|
|
33897
|
+
const diagnostics = spliceDiagnostics(previous.diagnostics, partial.diagnostics, wanted);
|
|
33898
|
+
if (!diagnostics) return void 0;
|
|
33899
|
+
return { ...previous, pages, diagnostics };
|
|
33900
|
+
}
|
|
33901
|
+
function spliceDiagnostics(previous, partial, wanted) {
|
|
33902
|
+
const truncated = (list2) => list2.some((d) => d.code === "diagnostics-truncated");
|
|
33903
|
+
if (truncated(previous) || truncated(partial)) return void 0;
|
|
33904
|
+
const fresh = partial.filter((d) => isPageDiagnostic(d) && wanted.has(d.pageId));
|
|
33905
|
+
if (previous.length + fresh.length > MAX_SPLICED_DIAGNOSTICS) return void 0;
|
|
33906
|
+
let out = [...previous];
|
|
33907
|
+
for (const id3 of wanted) {
|
|
33908
|
+
const next = fresh.filter((d) => d.pageId === id3);
|
|
33909
|
+
const at2 = out.flatMap((d, i) => isPageDiagnostic(d) && d.pageId === id3 ? [i] : []);
|
|
33910
|
+
if (!at2.length) {
|
|
33911
|
+
if (next.length) return void 0;
|
|
33912
|
+
continue;
|
|
33913
|
+
}
|
|
33914
|
+
const first2 = at2[0];
|
|
33915
|
+
const last = at2[at2.length - 1];
|
|
33916
|
+
if (last - first2 + 1 !== at2.length) return void 0;
|
|
33917
|
+
out = [...out.slice(0, first2), ...next, ...out.slice(last + 1)];
|
|
33918
|
+
}
|
|
33919
|
+
return out;
|
|
33920
|
+
}
|
|
33921
|
+
async function parseVsdxPages(input, previous, pageIds2, options2 = {}) {
|
|
33922
|
+
const partial = await parseVsdx(input, { ...options2, pages: pageIds2 });
|
|
33923
|
+
return mergeVisioPages(previous, partial, pageIds2, {
|
|
33924
|
+
...options2.maxShapes !== void 0 ? { maxShapes: options2.maxShapes } : {}
|
|
33925
|
+
});
|
|
33926
|
+
}
|
|
33927
|
+
|
|
33877
33928
|
// visio/visibility.ts
|
|
33878
33929
|
var VISIO_VISIBILITY_LIMITS = Object.freeze({
|
|
33879
33930
|
maxShapes: 25e3,
|
|
@@ -48802,4 +48853,4 @@ function checkVisioAlternativeText(document) {
|
|
|
48802
48853
|
return issues;
|
|
48803
48854
|
}
|
|
48804
48855
|
|
|
48805
|
-
export { EmfBitmapError, VISIO_ARROW_SHAPES, VISIO_BACKGROUND_STYLES, VISIO_BASIC_SHAPES, VISIO_BASIC_STENCIL, VISIO_BORDER_STYLES, VISIO_BUILT_IN_STENCILS, VISIO_BUILT_IN_THEMES, VISIO_BUILT_IN_THEME_IDS, VISIO_CALLOUT_STYLES, VISIO_CHART_OBJECT_MAX_BYTES, VISIO_CLIPBOARD_MAGIC, VISIO_CLIPBOARD_MAX_CHARS, VISIO_COMMENT_AUTHOR_LIMIT, VISIO_COMMENT_LIMIT, VISIO_COMMENT_TEXT_LIMIT, VISIO_CONNECTOR_ROUTES, VISIO_CONTAINER_HEADING, VISIO_CONTAINER_MARGIN, VISIO_CONTAINER_STYLES, VISIO_DATA_LIMITS, VISIO_EMF_ADMISSION_LIMITS, VISIO_FIELD_FORMATS, VISIO_FIELD_FUNCTIONS, VISIO_FLOWCHART_SHAPES, VISIO_FOREIGN_VECTOR_LIMITS, VISIO_GLOW_SIZES, VISIO_GLOW_TRANSPARENCY, VISIO_GLUE, VISIO_GRID_DENSITIES, VISIO_LAYER_NAME_LIMIT, VISIO_LINE_JUMP_LIMITS, VISIO_LINE_JUMP_WIDTH, VISIO_MANAGED_BACKGROUND, VISIO_METADATA_TEXT_LIMIT, VISIO_PAGE_LAYOUT_DEFAULTS, VISIO_PATH_SEGMENT_LIMIT, VISIO_PICTURE_MAX_BYTES, VISIO_PRINT_COUNT_LIMITS, VISIO_QUICK_STYLE_COLORS, VISIO_QUICK_STYLE_VARIANT_COLORS, VISIO_RASTER_IMAGE_LIMITS, VISIO_REFLECTION_PRESETS, VISIO_RULER_DENSITIES, VISIO_SCALE_UNITS, VISIO_SHADOW_PRESETS, VISIO_SHAPE_DATA_TYPES, VISIO_SNAP, VISIO_SNAP_GLUE_DEFAULTS, VISIO_SOFT_EDGE_SIZES, VISIO_STENCILS, VISIO_STENCIL_FILES, VISIO_TEXT_CASES, VISIO_TEXT_POSITIONS, VISIO_THEME_COLOR_SLOTS, VISIO_UNTHEMED_COLORS, VISIO_VISIBILITY_LIMITS, VisioForeignVectorError, VisioFormulaError, VisioImageError, VisioPackageError, analyzeVisioFormula, canonicalShapeDataValue, captureVisioClipboard, checkVisioAlternativeText, convertVisioMetafile, createVsdx, deserializeVisioClipboard, designTextMeasurer, editVsdx, encodeBitmapEmf, evaluateVisioFormula, evaluateVisioTextField, formatVisioFieldValue, getVisioPageLayers, inspectVisioEmfAdmission, inspectVisioRasterImage, isVisioBasicShape, isVisioBuiltInThemeId, isVisioChangeShapeTarget, isVisioDiagramPartEdit, isVisioLayerName, isVisioOutlineShape, isVisioQuickStyleColor, isVisioShadowPreset, isVisioStencilShape, isVisioThemeColorRef, layoutVisioFilledArrowLine, loadVisio, parseLegacyVsd, parseVisioFormula, parseVisioThemeColorFormula, parseVsdx, readVisioStencil, resolveVisioPageVisibility, resolveVisioThemeColor, sanitizeVisioForeignVectorTree, serializeVisioClipboard, setVisioTextMeasurer, trimVisioArrowLine, validateVisioForeignVector, visioBackgroundShapes, visioBasicShapeOutline, visioBorderShapes, visioBuiltInMaster, visioBuiltInStencil, visioBuiltInTheme, visioCircleThrough, visioCurvedRoute, visioDecorationName, visioFallbackQuickStyle, visioFilledArrow, visioFitFreeform, visioFitPencil, visioFontAssumed, visioFormulaCachedValue, visioLineJumpPaths, visioLinkedRowNames, visioOpenArrowExtent, visioOpenArrowPath, visioOrthogonalRoute, visioOutlineShape, visioPageLayout, visioPageThemeColors, visioPathBounds, visioPathSamples, visioPrintTileCount, visioQuarterArc, visioShade, visioShadowPresetGeometry, visioShapeDataRowName, visioShapeStructure, visioSimplifyPath, visioSnapGlue, visioStencilMaster, visioStencilShapeOutline, visioTextExtents, visioThemeColorFormula, visioThemeVariantColors, visioThemeXml };
|
|
48856
|
+
export { EmfBitmapError, VISIO_ARROW_SHAPES, VISIO_BACKGROUND_STYLES, VISIO_BASIC_SHAPES, VISIO_BASIC_STENCIL, VISIO_BORDER_STYLES, VISIO_BUILT_IN_STENCILS, VISIO_BUILT_IN_THEMES, VISIO_BUILT_IN_THEME_IDS, VISIO_CALLOUT_STYLES, VISIO_CHART_OBJECT_MAX_BYTES, VISIO_CLIPBOARD_MAGIC, VISIO_CLIPBOARD_MAX_CHARS, VISIO_COMMENT_AUTHOR_LIMIT, VISIO_COMMENT_LIMIT, VISIO_COMMENT_TEXT_LIMIT, VISIO_CONNECTOR_ROUTES, VISIO_CONTAINER_HEADING, VISIO_CONTAINER_MARGIN, VISIO_CONTAINER_STYLES, VISIO_DATA_LIMITS, VISIO_EMF_ADMISSION_LIMITS, VISIO_FIELD_FORMATS, VISIO_FIELD_FUNCTIONS, VISIO_FLOWCHART_SHAPES, VISIO_FOREIGN_VECTOR_LIMITS, VISIO_GLOW_SIZES, VISIO_GLOW_TRANSPARENCY, VISIO_GLUE, VISIO_GRID_DENSITIES, VISIO_LAYER_NAME_LIMIT, VISIO_LINE_JUMP_LIMITS, VISIO_LINE_JUMP_WIDTH, VISIO_MANAGED_BACKGROUND, VISIO_METADATA_TEXT_LIMIT, VISIO_PAGE_LAYOUT_DEFAULTS, VISIO_PATH_SEGMENT_LIMIT, VISIO_PICTURE_MAX_BYTES, VISIO_PRINT_COUNT_LIMITS, VISIO_QUICK_STYLE_COLORS, VISIO_QUICK_STYLE_VARIANT_COLORS, VISIO_RASTER_IMAGE_LIMITS, VISIO_REFLECTION_PRESETS, VISIO_RULER_DENSITIES, VISIO_SCALE_UNITS, VISIO_SHADOW_PRESETS, VISIO_SHAPE_DATA_TYPES, VISIO_SNAP, VISIO_SNAP_GLUE_DEFAULTS, VISIO_SOFT_EDGE_SIZES, VISIO_STENCILS, VISIO_STENCIL_FILES, VISIO_TEXT_CASES, VISIO_TEXT_POSITIONS, VISIO_THEME_COLOR_SLOTS, VISIO_UNTHEMED_COLORS, VISIO_VISIBILITY_LIMITS, VisioForeignVectorError, VisioFormulaError, VisioImageError, VisioPackageError, analyzeVisioFormula, canonicalShapeDataValue, captureVisioClipboard, checkVisioAlternativeText, convertVisioMetafile, createVsdx, deserializeVisioClipboard, designTextMeasurer, editVsdx, encodeBitmapEmf, evaluateVisioFormula, evaluateVisioTextField, formatVisioFieldValue, getVisioPageLayers, inspectVisioEmfAdmission, inspectVisioRasterImage, isVisioBasicShape, isVisioBuiltInThemeId, isVisioChangeShapeTarget, isVisioDiagramPartEdit, isVisioLayerName, isVisioOutlineShape, isVisioQuickStyleColor, isVisioShadowPreset, isVisioStencilShape, isVisioThemeColorRef, layoutVisioFilledArrowLine, loadVisio, mergeVisioPages, parseLegacyVsd, parseVisioFormula, parseVisioThemeColorFormula, parseVsdx, parseVsdxPages, readVisioStencil, resolveVisioPageVisibility, resolveVisioThemeColor, sanitizeVisioForeignVectorTree, serializeVisioClipboard, setVisioTextMeasurer, trimVisioArrowLine, validateVisioForeignVector, visioBackgroundShapes, visioBasicShapeOutline, visioBorderShapes, visioBuiltInMaster, visioBuiltInStencil, visioBuiltInTheme, visioCircleThrough, visioCurvedRoute, visioDecorationName, visioFallbackQuickStyle, visioFilledArrow, visioFitFreeform, visioFitPencil, visioFontAssumed, visioFormulaCachedValue, visioLineJumpPaths, visioLinkedRowNames, visioOpenArrowExtent, visioOpenArrowPath, visioOrthogonalRoute, visioOutlineShape, visioPageLayout, visioPageThemeColors, visioPathBounds, visioPathSamples, visioPrintTileCount, visioQuarterArc, visioShade, visioShadowPresetGeometry, visioShapeDataRowName, visioShapeStructure, visioSimplifyPath, visioSnapGlue, visioStencilMaster, visioStencilShapeOutline, visioTextExtents, visioThemeColorFormula, visioThemeVariantColors, visioThemeXml };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { VisioDocument } from './model.js';
|
|
2
|
+
import { type ParseVsdxOptions } from './parser.js';
|
|
3
|
+
/**
|
|
4
|
+
* `previous` with the pages of `partial` (read with `pages`) in place of the same pages. Only
|
|
5
|
+
* valid when the pages part, the masters, styles, theme, media and every other part are the ones
|
|
6
|
+
* `previous` was read from. Returns undefined when the merge cannot match a whole read.
|
|
7
|
+
*/
|
|
8
|
+
export declare function mergeVisioPages(previous: VisioDocument, partial: VisioDocument, pageIds: readonly string[], options?: {
|
|
9
|
+
maxShapes?: number;
|
|
10
|
+
}): VisioDocument | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Reads the pages `pageIds` of `input` and merges them into `previous`; undefined means read the
|
|
13
|
+
* whole package. Never throws for a merge that does not apply (a parse error still propagates).
|
|
14
|
+
*/
|
|
15
|
+
export declare function parseVsdxPages(input: Uint8Array | ArrayBuffer, previous: VisioDocument, pageIds: readonly string[], options?: ParseVsdxOptions): Promise<VisioDocument | undefined>;
|
|
16
|
+
//# sourceMappingURL=parse-incremental.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-incremental.d.ts","sourceRoot":"","sources":["../../visio/parse-incremental.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAA+B,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAe5D;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,aAAa,GAAG,SAAS,CAoB3B;AA4BD;;;GAGG;AACH,wBAAsB,cAAc,CACnC,KAAK,EAAE,UAAU,GAAG,WAAW,EAC/B,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,GAAE,gBAAqB,GAC5B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAKpC"}
|
package/dist/visio/parser.d.ts
CHANGED
|
@@ -24,6 +24,13 @@ export interface ParseVsdxOptions {
|
|
|
24
24
|
* packages stay refused.
|
|
25
25
|
*/
|
|
26
26
|
stencil?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Read only the pages with these ids (every other page is skipped after its id is checked).
|
|
29
|
+
* The result lists just those pages and leaves out what is not per page (comments, data
|
|
30
|
+
* recordsets, stencil windows, background validation); {@link mergeVisioPages} splices it into
|
|
31
|
+
* the document read earlier from a package in which only those page parts changed.
|
|
32
|
+
*/
|
|
33
|
+
pages?: readonly string[];
|
|
27
34
|
}
|
|
28
35
|
/** Read-only VSDX import. This uses cached ShapeSheet values, not a formula engine. */
|
|
29
36
|
export declare function parseVsdx(input: Uint8Array | ArrayBuffer, options?: ParseVsdxOptions): Promise<VisioDocument>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../visio/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAMjD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIxD,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAmC,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAyBrF,MAAM,WAAW,gBAAgB;IAChC,qGAAqG;IACrG,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../visio/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAMjD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIxD,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAmC,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAyBrF,MAAM,WAAW,gBAAgB;IAChC,qGAAqG;IACrG,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAYD,uFAAuF;AACvF,wBAAsB,SAAS,CAC9B,KAAK,EAAE,UAAU,GAAG,WAAW,EAC/B,OAAO,GAAE,gBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CA+VxB;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAYvF"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import type { CollabSession, CollaborationOptions } from '../../collab/index.js';
|
|
1
|
+
import type { CollabSession, CollaborationOptions, WriteBackRetry } from '../../collab/index.js';
|
|
2
2
|
import type { VisioPresence } from './collab-presence.js';
|
|
3
3
|
/** Write-back settings of {@link VisioCollaborationOptions}. */
|
|
4
4
|
export interface VisioWriteBackOptions {
|
|
5
5
|
/**
|
|
6
6
|
* Called with the saved VSDX bytes, debounced, after local and remote changes, only in the
|
|
7
|
-
* window whose `user.role` is `owner`.
|
|
8
|
-
* viewer
|
|
9
|
-
*
|
|
7
|
+
* window whose `user.role` is `owner`. Return a promise to acknowledge durable storage: the
|
|
8
|
+
* viewer then reports `saving`, `saved` or `failed` in `collaborationState.writeBack`, and
|
|
9
|
+
* retries a rejection as `writeBackRetry` says. A plain return counts as acknowledged at once.
|
|
10
|
+
* A pending write-back is flushed when the viewer leaves the room and when the page is hidden
|
|
11
|
+
* or closing; browsers do not wait for asynchronous work then, so a write that needs a network
|
|
12
|
+
* round trip should use `navigator.sendBeacon` or `fetch(url, { keepalive: true })`.
|
|
10
13
|
*/
|
|
11
|
-
onWriteBack?: (bytes: Uint8Array) => void
|
|
14
|
+
onWriteBack?: (bytes: Uint8Array) => void | Promise<void>;
|
|
12
15
|
/** Quiet time after the last change before `onWriteBack` fires. Default 5000. */
|
|
13
16
|
writeBackDebounceMs?: number;
|
|
17
|
+
/** Retries of a rejected `onWriteBack` with exponential backoff. Default: none. */
|
|
18
|
+
writeBackRetry?: WriteBackRetry;
|
|
14
19
|
}
|
|
15
20
|
/**
|
|
16
21
|
* The options of `<visio-viewer>.collaboration`. A host-owned `session` should be created with
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collab-options.d.ts","sourceRoot":"","sources":["../../../visio/ui/collab-options.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"collab-options.d.ts","sourceRoot":"","sources":["../../../visio/ui/collab-options.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,gEAAgE;AAChE,MAAM,WAAW,qBAAqB;IACrC;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mFAAmF;IACnF,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,GAC3F,qBAAqB,GAAG;IACvB,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;CACvD,CAAC"}
|
package/dist/visio/ui/index.cjs
CHANGED
|
@@ -27157,6 +27157,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
27157
27157
|
throw new VisioPackageError("INVALID_DOCUMENT", "Missing Visio pages part.");
|
|
27158
27158
|
const pages = [], pageIds2 = /* @__PURE__ */ new Set();
|
|
27159
27159
|
const comments = [];
|
|
27160
|
+
const only = options2.pages ? new Set(options2.pages) : void 0;
|
|
27160
27161
|
const pageNodes = pagesPart ? children2(await visioXml(pkg, pagesPart, "Pages"), "Page") : [];
|
|
27161
27162
|
const foreground = pageNodes.filter((page) => !yes(attribute2(page, "Background")));
|
|
27162
27163
|
const fieldProperties = await readVisioFieldProperties(pkg);
|
|
@@ -27166,6 +27167,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
27166
27167
|
if (!id3 || pageIds2.has(id3))
|
|
27167
27168
|
throw new VisioPackageError("INVALID_PAGE_ID", "Page IDs must be present and unique.");
|
|
27168
27169
|
pageIds2.add(id3);
|
|
27170
|
+
if (only && !only.has(id3)) continue;
|
|
27169
27171
|
const part = await indexedPart(pkg, pagesPart, page, "page");
|
|
27170
27172
|
const root2 = await visioXml(pkg, part, "PageContents");
|
|
27171
27173
|
const localReport = (code, message, extra) => report(code, message, { part, pageId: id3, ...extra });
|
|
@@ -27275,16 +27277,16 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
27275
27277
|
});
|
|
27276
27278
|
}
|
|
27277
27279
|
checkTime();
|
|
27278
|
-
validateBackgrounds(pages, report);
|
|
27280
|
+
if (!only) validateBackgrounds(pages, report);
|
|
27279
27281
|
try {
|
|
27280
|
-
comments.push(...await readVisioComments(pkg, documentPart2, report));
|
|
27282
|
+
if (!only) comments.push(...await readVisioComments(pkg, documentPart2, report));
|
|
27281
27283
|
} catch (error) {
|
|
27282
27284
|
if (!(error instanceof VisioPackageError) || error.code === "LIMIT_RUNTIME") throw error;
|
|
27283
27285
|
report("invalid-comments", "The comments part could not be read; comments are not shown.");
|
|
27284
27286
|
}
|
|
27285
27287
|
let dataRecordsets = [];
|
|
27286
27288
|
try {
|
|
27287
|
-
dataRecordsets = await readDataRecordsets(pkg, documentPart2, checkTime);
|
|
27289
|
+
if (!only) dataRecordsets = await readDataRecordsets(pkg, documentPart2, checkTime);
|
|
27288
27290
|
} catch (error) {
|
|
27289
27291
|
if (error instanceof VisioPackageError && error.code === "LIMIT_RUNTIME") throw error;
|
|
27290
27292
|
report(
|
|
@@ -27292,7 +27294,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
27292
27294
|
`Saved external data could not be read and is preserved unchanged: ${error instanceof Error ? error.message : String(error)}`
|
|
27293
27295
|
);
|
|
27294
27296
|
}
|
|
27295
|
-
const stencils = await readVisioStencilWindows(pkg, documentPart2);
|
|
27297
|
+
const stencils = only ? [] : await readVisioStencilWindows(pkg, documentPart2);
|
|
27296
27298
|
report(
|
|
27297
27299
|
"cached-values-only",
|
|
27298
27300
|
"ShapeSheet formulas, automatic connector routing, and external data are not evaluated; saved cached values and supported theme records are used.",
|
package/dist/visio/ui/index.mjs
CHANGED
|
@@ -27151,6 +27151,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
27151
27151
|
throw new VisioPackageError("INVALID_DOCUMENT", "Missing Visio pages part.");
|
|
27152
27152
|
const pages = [], pageIds2 = /* @__PURE__ */ new Set();
|
|
27153
27153
|
const comments = [];
|
|
27154
|
+
const only = options2.pages ? new Set(options2.pages) : void 0;
|
|
27154
27155
|
const pageNodes = pagesPart ? children2(await visioXml(pkg, pagesPart, "Pages"), "Page") : [];
|
|
27155
27156
|
const foreground = pageNodes.filter((page) => !yes(attribute2(page, "Background")));
|
|
27156
27157
|
const fieldProperties = await readVisioFieldProperties(pkg);
|
|
@@ -27160,6 +27161,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
27160
27161
|
if (!id3 || pageIds2.has(id3))
|
|
27161
27162
|
throw new VisioPackageError("INVALID_PAGE_ID", "Page IDs must be present and unique.");
|
|
27162
27163
|
pageIds2.add(id3);
|
|
27164
|
+
if (only && !only.has(id3)) continue;
|
|
27163
27165
|
const part = await indexedPart(pkg, pagesPart, page, "page");
|
|
27164
27166
|
const root2 = await visioXml(pkg, part, "PageContents");
|
|
27165
27167
|
const localReport = (code, message, extra) => report(code, message, { part, pageId: id3, ...extra });
|
|
@@ -27269,16 +27271,16 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
27269
27271
|
});
|
|
27270
27272
|
}
|
|
27271
27273
|
checkTime();
|
|
27272
|
-
validateBackgrounds(pages, report);
|
|
27274
|
+
if (!only) validateBackgrounds(pages, report);
|
|
27273
27275
|
try {
|
|
27274
|
-
comments.push(...await readVisioComments(pkg, documentPart2, report));
|
|
27276
|
+
if (!only) comments.push(...await readVisioComments(pkg, documentPart2, report));
|
|
27275
27277
|
} catch (error) {
|
|
27276
27278
|
if (!(error instanceof VisioPackageError) || error.code === "LIMIT_RUNTIME") throw error;
|
|
27277
27279
|
report("invalid-comments", "The comments part could not be read; comments are not shown.");
|
|
27278
27280
|
}
|
|
27279
27281
|
let dataRecordsets = [];
|
|
27280
27282
|
try {
|
|
27281
|
-
dataRecordsets = await readDataRecordsets(pkg, documentPart2, checkTime);
|
|
27283
|
+
if (!only) dataRecordsets = await readDataRecordsets(pkg, documentPart2, checkTime);
|
|
27282
27284
|
} catch (error) {
|
|
27283
27285
|
if (error instanceof VisioPackageError && error.code === "LIMIT_RUNTIME") throw error;
|
|
27284
27286
|
report(
|
|
@@ -27286,7 +27288,7 @@ async function parseVsdx(input, options2 = {}) {
|
|
|
27286
27288
|
`Saved external data could not be read and is preserved unchanged: ${error instanceof Error ? error.message : String(error)}`
|
|
27287
27289
|
);
|
|
27288
27290
|
}
|
|
27289
|
-
const stencils = await readVisioStencilWindows(pkg, documentPart2);
|
|
27291
|
+
const stencils = only ? [] : await readVisioStencilWindows(pkg, documentPart2);
|
|
27290
27292
|
report(
|
|
27291
27293
|
"cached-values-only",
|
|
27292
27294
|
"ShapeSheet formulas, automatic connector routing, and external data are not evaluated; saved cached values and supported theme records are used.",
|