@graphty/graph-format 0.0.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +216 -43
- package/dist/graph-format.d.ts +1 -0
- package/dist/graph-format.d.ts.map +1 -0
- package/dist/graph-format.js +15798 -0
- package/dist/graph-format.js.map +1 -0
- package/dist/src/builder/arena.d.ts +85 -0
- package/dist/src/builder/arena.d.ts.map +1 -0
- package/dist/src/builder/arena.js +154 -0
- package/dist/src/builder/arena.js.map +1 -0
- package/dist/src/builder/compact.d.ts +515 -0
- package/dist/src/builder/compact.d.ts.map +1 -0
- package/dist/src/builder/compact.js +1553 -0
- package/dist/src/builder/compact.js.map +1 -0
- package/dist/src/builder/counting-sort.d.ts +96 -0
- package/dist/src/builder/counting-sort.d.ts.map +1 -0
- package/dist/src/builder/counting-sort.js +430 -0
- package/dist/src/builder/counting-sort.js.map +1 -0
- package/dist/src/builder/freeze.d.ts +72 -0
- package/dist/src/builder/freeze.d.ts.map +1 -0
- package/dist/src/builder/freeze.js +548 -0
- package/dist/src/builder/freeze.js.map +1 -0
- package/dist/src/builder/graph-builder.d.ts +602 -0
- package/dist/src/builder/graph-builder.d.ts.map +1 -0
- package/dist/src/builder/graph-builder.js +1940 -0
- package/dist/src/builder/graph-builder.js.map +1 -0
- package/dist/src/builder/options.d.ts +16 -0
- package/dist/src/builder/options.d.ts.map +1 -0
- package/dist/src/builder/options.js +21 -0
- package/dist/src/builder/options.js.map +1 -0
- package/dist/src/columns/bitmap.d.ts +96 -0
- package/dist/src/columns/bitmap.d.ts.map +1 -0
- package/dist/src/columns/bitmap.js +184 -0
- package/dist/src/columns/bitmap.js.map +1 -0
- package/dist/src/columns/column.d.ts +220 -0
- package/dist/src/columns/column.d.ts.map +1 -0
- package/dist/src/columns/column.js +2109 -0
- package/dist/src/columns/column.js.map +1 -0
- package/dist/src/columns/dictionary.d.ts +60 -0
- package/dist/src/columns/dictionary.d.ts.map +1 -0
- package/dist/src/columns/dictionary.js +102 -0
- package/dist/src/columns/dictionary.js.map +1 -0
- package/dist/src/columns/growable.d.ts +198 -0
- package/dist/src/columns/growable.d.ts.map +1 -0
- package/dist/src/columns/growable.js +296 -0
- package/dist/src/columns/growable.js.map +1 -0
- package/dist/src/columns/infer.d.ts +121 -0
- package/dist/src/columns/infer.d.ts.map +1 -0
- package/dist/src/columns/infer.js +268 -0
- package/dist/src/columns/infer.js.map +1 -0
- package/dist/src/columns/remap.d.ts +143 -0
- package/dist/src/columns/remap.d.ts.map +1 -0
- package/dist/src/columns/remap.js +588 -0
- package/dist/src/columns/remap.js.map +1 -0
- package/dist/src/columns/table.d.ts +184 -0
- package/dist/src/columns/table.d.ts.map +1 -0
- package/dist/src/columns/table.js +485 -0
- package/dist/src/columns/table.js.map +1 -0
- package/dist/src/constants.d.ts +34 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +79 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/errors.d.ts +76 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +32 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/ids/edge-id-index.d.ts +77 -0
- package/dist/src/ids/edge-id-index.d.ts.map +1 -0
- package/dist/src/ids/edge-id-index.js +155 -0
- package/dist/src/ids/edge-id-index.js.map +1 -0
- package/dist/src/ids/node-id-map.d.ts +280 -0
- package/dist/src/ids/node-id-map.d.ts.map +1 -0
- package/dist/src/ids/node-id-map.js +1139 -0
- package/dist/src/ids/node-id-map.js.map +1 -0
- package/dist/src/ids/string-store.d.ts +219 -0
- package/dist/src/ids/string-store.d.ts.map +1 -0
- package/dist/src/ids/string-store.js +526 -0
- package/dist/src/ids/string-store.js.map +1 -0
- package/dist/src/index.d.ts +30 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +29 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/populate/from-csr.d.ts +61 -0
- package/dist/src/populate/from-csr.d.ts.map +1 -0
- package/dist/src/populate/from-csr.js +706 -0
- package/dist/src/populate/from-csr.js.map +1 -0
- package/dist/src/populate/from-edge-arrays.d.ts +51 -0
- package/dist/src/populate/from-edge-arrays.d.ts.map +1 -0
- package/dist/src/populate/from-edge-arrays.js +217 -0
- package/dist/src/populate/from-edge-arrays.js.map +1 -0
- package/dist/src/populate/from-records.d.ts +51 -0
- package/dist/src/populate/from-records.d.ts.map +1 -0
- package/dist/src/populate/from-records.js +447 -0
- package/dist/src/populate/from-records.js.map +1 -0
- package/dist/src/snapshot/derived.d.ts +211 -0
- package/dist/src/snapshot/derived.d.ts.map +1 -0
- package/dist/src/snapshot/derived.js +1254 -0
- package/dist/src/snapshot/derived.js.map +1 -0
- package/dist/src/snapshot/graph-meta.d.ts +23 -0
- package/dist/src/snapshot/graph-meta.d.ts.map +1 -0
- package/dist/src/snapshot/graph-meta.js +159 -0
- package/dist/src/snapshot/graph-meta.js.map +1 -0
- package/dist/src/snapshot/graph-snapshot.d.ts +509 -0
- package/dist/src/snapshot/graph-snapshot.d.ts.map +1 -0
- package/dist/src/snapshot/graph-snapshot.js +1247 -0
- package/dist/src/snapshot/graph-snapshot.js.map +1 -0
- package/dist/src/snapshot/hash.d.ts +90 -0
- package/dist/src/snapshot/hash.d.ts.map +1 -0
- package/dist/src/snapshot/hash.js +228 -0
- package/dist/src/snapshot/hash.js.map +1 -0
- package/dist/src/snapshot/queries.d.ts +74 -0
- package/dist/src/snapshot/queries.d.ts.map +1 -0
- package/dist/src/snapshot/queries.js +131 -0
- package/dist/src/snapshot/queries.js.map +1 -0
- package/dist/src/snapshot/validate.d.ts +192 -0
- package/dist/src/snapshot/validate.d.ts.map +1 -0
- package/dist/src/snapshot/validate.js +990 -0
- package/dist/src/snapshot/validate.js.map +1 -0
- package/dist/src/snapshot/views.d.ts +274 -0
- package/dist/src/snapshot/views.d.ts.map +1 -0
- package/dist/src/snapshot/views.js +856 -0
- package/dist/src/snapshot/views.js.map +1 -0
- package/dist/src/types/builder.d.ts +456 -0
- package/dist/src/types/builder.d.ts.map +1 -0
- package/dist/src/types/builder.js +11 -0
- package/dist/src/types/builder.js.map +1 -0
- package/dist/src/types/columns.d.ts +615 -0
- package/dist/src/types/columns.d.ts.map +1 -0
- package/dist/src/types/columns.js +14 -0
- package/dist/src/types/columns.js.map +1 -0
- package/dist/src/types/index.d.ts +14 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +11 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/internal.d.ts +172 -0
- package/dist/src/types/internal.d.ts.map +1 -0
- package/dist/src/types/internal.js +13 -0
- package/dist/src/types/internal.js.map +1 -0
- package/dist/src/types/snapshot.d.ts +801 -0
- package/dist/src/types/snapshot.d.ts.map +1 -0
- package/dist/src/types/snapshot.js +14 -0
- package/dist/src/types/snapshot.js.map +1 -0
- package/dist/src/types/wire.d.ts +196 -0
- package/dist/src/types/wire.d.ts.map +1 -0
- package/dist/src/types/wire.js +8 -0
- package/dist/src/types/wire.js.map +1 -0
- package/dist/src/util/mask.d.ts +55 -0
- package/dist/src/util/mask.d.ts.map +1 -0
- package/dist/src/util/mask.js +71 -0
- package/dist/src/util/mask.js.map +1 -0
- package/dist/src/util/options.d.ts +22 -0
- package/dist/src/util/options.d.ts.map +1 -0
- package/dist/src/util/options.js +49 -0
- package/dist/src/util/options.js.map +1 -0
- package/dist/src/util/shared-buffers.d.ts +42 -0
- package/dist/src/util/shared-buffers.d.ts.map +1 -0
- package/dist/src/util/shared-buffers.js +52 -0
- package/dist/src/util/shared-buffers.js.map +1 -0
- package/dist/src/util/typed-array.d.ts +205 -0
- package/dist/src/util/typed-array.d.ts.map +1 -0
- package/dist/src/util/typed-array.js +289 -0
- package/dist/src/util/typed-array.js.map +1 -0
- package/dist/src/wire/bytes.d.ts +69 -0
- package/dist/src/wire/bytes.d.ts.map +1 -0
- package/dist/src/wire/bytes.js +361 -0
- package/dist/src/wire/bytes.js.map +1 -0
- package/dist/src/wire/carried-views.d.ts +111 -0
- package/dist/src/wire/carried-views.d.ts.map +1 -0
- package/dist/src/wire/carried-views.js +286 -0
- package/dist/src/wire/carried-views.js.map +1 -0
- package/dist/src/wire/from-wire.d.ts +144 -0
- package/dist/src/wire/from-wire.d.ts.map +1 -0
- package/dist/src/wire/from-wire.js +1425 -0
- package/dist/src/wire/from-wire.js.map +1 -0
- package/dist/src/wire/to-wire.d.ts +171 -0
- package/dist/src/wire/to-wire.d.ts.map +1 -0
- package/dist/src/wire/to-wire.js +652 -0
- package/dist/src/wire/to-wire.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +72 -7
- package/src/builder/arena.ts +192 -0
- package/src/builder/compact.ts +1811 -0
- package/src/builder/counting-sort.ts +506 -0
- package/src/builder/freeze.ts +689 -0
- package/src/builder/graph-builder.ts +2264 -0
- package/src/builder/options.ts +29 -0
- package/src/columns/bitmap.ts +196 -0
- package/src/columns/column.ts +2574 -0
- package/src/columns/dictionary.ts +114 -0
- package/src/columns/growable.ts +350 -0
- package/src/columns/infer.ts +285 -0
- package/src/columns/remap.ts +663 -0
- package/src/columns/table.ts +568 -0
- package/src/constants.ts +89 -0
- package/src/errors.ts +115 -0
- package/src/ids/edge-id-index.ts +179 -0
- package/src/ids/node-id-map.ts +1340 -0
- package/src/ids/string-store.ts +589 -0
- package/src/index.ts +139 -0
- package/src/lib-resizable-array-buffer.d.ts +34 -0
- package/src/populate/from-csr.ts +802 -0
- package/src/populate/from-edge-arrays.ts +257 -0
- package/src/populate/from-records.ts +536 -0
- package/src/snapshot/derived.ts +1486 -0
- package/src/snapshot/graph-meta.ts +167 -0
- package/src/snapshot/graph-snapshot.ts +1503 -0
- package/src/snapshot/hash.ts +241 -0
- package/src/snapshot/queries.ts +136 -0
- package/src/snapshot/validate.ts +1108 -0
- package/src/snapshot/views.ts +943 -0
- package/src/types/builder.ts +480 -0
- package/src/types/columns.ts +727 -0
- package/src/types/index.ts +14 -0
- package/src/types/internal.ts +195 -0
- package/src/types/snapshot.ts +886 -0
- package/src/types/wire.ts +207 -0
- package/src/util/mask.ts +89 -0
- package/src/util/options.ts +57 -0
- package/src/util/shared-buffers.ts +56 -0
- package/src/util/typed-array.ts +371 -0
- package/src/wire/bytes.ts +440 -0
- package/src/wire/carried-views.ts +327 -0
- package/src/wire/from-wire.ts +1690 -0
- package/src/wire/to-wire.ts +755 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/types/snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The frozen snapshot and its side structures (design sections 3, 4, 7, 8.1, 9, 10 and 12.2): the id
|
|
3
|
+
* map, the flags, the arena layout, the views, the derived graphs, the GraphSnapshot contract itself
|
|
4
|
+
* and the inputs of the snapshot factories.
|
|
5
|
+
*
|
|
6
|
+
* GraphSnapshotContract and NodeIdMapContract are the instance contracts of the GraphSnapshot and
|
|
7
|
+
* NodeIdMap classes implemented in src/snapshot/graph-snapshot.ts and src/ids/node-id-map.ts (design
|
|
8
|
+
* section 12.1 makes them classes so the JSDoc-on-method lint applies). The public names
|
|
9
|
+
* GraphSnapshot and NodeIdMap are the classes themselves, re-exported type-only from here so every
|
|
10
|
+
* type on this surface (DerivedGraph.snapshot, SnapshotParts.ids, ...) names the class the barrel
|
|
11
|
+
* exports. The imports are type-only, so the import graph stays free of runtime cycles.
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/types/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The wire form of a snapshot (design sections 9.1, 9.2 and 12.2): a JSON-serialisable manifest
|
|
3
|
+
* plus a list of ArrayBuffers. The same object is what postMessage, structuredClone, IndexedDB and
|
|
4
|
+
* the GSNP byte container carry; `buffers` is literally the postMessage transfer list. Absent
|
|
5
|
+
* members are null, never optional (design section 12.1).
|
|
6
|
+
*/
|
|
7
|
+
import { type ColumnMeta, type GraphMeta, type ValidationLevel } from "./columns.js";
|
|
8
|
+
import { type NodeIdMapKind, type SnapshotFlags, type ViewName } from "./snapshot.js";
|
|
9
|
+
/** Element type of a wire buffer reference: the five typed-array dtypes plus "utf8" for byte stores. */
|
|
10
|
+
export type WireDtype = "u32" | "i32" | "f32" | "f64" | "u8" | "utf8";
|
|
11
|
+
/**
|
|
12
|
+
* One typed array inside WireSnapshot.buffers (design section 9.1). Validation at level "structure"
|
|
13
|
+
* checks byteOffset % elementSize === 0, byteLength === length * elementSize and that the range lies
|
|
14
|
+
* inside the buffer (E_BAD_SERIALIZATION with details.ref otherwise).
|
|
15
|
+
*/
|
|
16
|
+
export interface WireBufferRef {
|
|
17
|
+
/** Index into WireSnapshot.buffers (always 0 inside a byte container). */
|
|
18
|
+
readonly buffer: number;
|
|
19
|
+
/** Byte offset inside the buffer (relative to the buffer region inside a container). */
|
|
20
|
+
readonly byteOffset: number;
|
|
21
|
+
/** Byte length of the array. */
|
|
22
|
+
readonly byteLength: number;
|
|
23
|
+
/** Element type. */
|
|
24
|
+
readonly dtype: WireDtype;
|
|
25
|
+
/** Element count. */
|
|
26
|
+
readonly length: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* An Arrow Utf8 store on the wire: u32 offsets plus UTF-8 bytes (string ids, string columns, dictionaries, JSON text).
|
|
30
|
+
*/
|
|
31
|
+
export interface WireUtf8 {
|
|
32
|
+
/** rows + 1 offsets. */
|
|
33
|
+
readonly offsets: WireBufferRef;
|
|
34
|
+
/** The concatenated UTF-8 bytes. */
|
|
35
|
+
readonly utf8: WireBufferRef;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* One column on the wire (design section 9.1): the resolved metadata plus the buffers its dtype
|
|
39
|
+
* uses, each null when not applicable. meta.default, options and extra are JSON values with the
|
|
40
|
+
* tagged encoding of design section 5.9 for non-finite numbers.
|
|
41
|
+
*/
|
|
42
|
+
export interface WireColumn {
|
|
43
|
+
/** Resolved metadata. */
|
|
44
|
+
readonly meta: ColumnMeta;
|
|
45
|
+
/** Values (numeric dtypes), packed words (bool) or codes (dict); null for string / list / json. */
|
|
46
|
+
readonly data: WireBufferRef | null;
|
|
47
|
+
/** Validity bitmap words; null when every row is set. */
|
|
48
|
+
readonly validity: WireBufferRef | null;
|
|
49
|
+
/** Number of unset rows (recomputed from the bitmap by validation). */
|
|
50
|
+
readonly nullCount: number;
|
|
51
|
+
/** dict only: the dictionary strings. */
|
|
52
|
+
readonly dictionary: WireUtf8 | null;
|
|
53
|
+
/** string only: the Utf8 store. */
|
|
54
|
+
readonly strings: WireUtf8 | null;
|
|
55
|
+
/** list only: rows + 1 offsets into the child. */
|
|
56
|
+
readonly offsets: WireBufferRef | null;
|
|
57
|
+
/** list only: the child column. */
|
|
58
|
+
readonly child: WireColumn | null;
|
|
59
|
+
/** json only: the JSON text of every row as a Utf8 store. */
|
|
60
|
+
readonly jsonText: WireUtf8 | null;
|
|
61
|
+
}
|
|
62
|
+
/** The arena region inside one wire buffer, so a receiver keeps the one-writeBuffer path (design section 9.1). */
|
|
63
|
+
export interface WireArena {
|
|
64
|
+
/** Index into WireSnapshot.buffers. */
|
|
65
|
+
readonly buffer: number;
|
|
66
|
+
/** Start of the arena inside the buffer. */
|
|
67
|
+
readonly byteOffset: number;
|
|
68
|
+
/** Total padded length of the arena. */
|
|
69
|
+
readonly byteLength: number;
|
|
70
|
+
/** Hot prefix length (design section 10.3). */
|
|
71
|
+
readonly hotByteLength: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The id map on the wire (design section 4.5), one shape for every kind: the members a kind does not
|
|
75
|
+
* use are null. The reverse Map is never serialised; a receiver rebuilds it lazily.
|
|
76
|
+
*/
|
|
77
|
+
export interface WireIdMap {
|
|
78
|
+
/** The storage kind. */
|
|
79
|
+
readonly kind: NodeIdMapKind;
|
|
80
|
+
/** Number of ids. */
|
|
81
|
+
readonly size: number;
|
|
82
|
+
/** identity only: id === index + offset; 0 otherwise. */
|
|
83
|
+
readonly offset: number;
|
|
84
|
+
/** dense: u32 ids per index; numeric: f64 ids per index. */
|
|
85
|
+
readonly values: WireBufferRef | null;
|
|
86
|
+
/** mixed: u8 tag per index (0 number, 1 string). */
|
|
87
|
+
readonly tags: WireBufferRef | null;
|
|
88
|
+
/** mixed: f64 per index (0 where string). */
|
|
89
|
+
readonly numbers: WireBufferRef | null;
|
|
90
|
+
/** string / mixed: u32 offsets of the Utf8 store. */
|
|
91
|
+
readonly offsets: WireBufferRef | null;
|
|
92
|
+
/** string / mixed: the UTF-8 bytes. */
|
|
93
|
+
readonly utf8: WireBufferRef | null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The JSON-serialisable manifest of a wire snapshot (design section 9.1). Readers refuse a
|
|
97
|
+
* formatVersion or wire major they do not know (E_UNSUPPORTED_VERSION), ignore unknown manifest
|
|
98
|
+
* fields of a newer minor, refuse an unknown column dtype unless unknownColumns is "skip", refuse an
|
|
99
|
+
* unknown id-map kind, and ignore unknown view entries.
|
|
100
|
+
*/
|
|
101
|
+
export interface WireManifest {
|
|
102
|
+
/** Discriminator. */
|
|
103
|
+
readonly format: "graphty-snapshot";
|
|
104
|
+
/** Wire [major, minor]. */
|
|
105
|
+
readonly wire: readonly [major: number, minor: number];
|
|
106
|
+
/** The producing package version (masked when golden fixtures are compared). */
|
|
107
|
+
readonly producer: string;
|
|
108
|
+
/** The data-model major. */
|
|
109
|
+
readonly formatVersion: 1;
|
|
110
|
+
/** Whether the graph is directed. */
|
|
111
|
+
readonly directed: boolean;
|
|
112
|
+
/** The four counts. */
|
|
113
|
+
readonly counts: {
|
|
114
|
+
readonly nodes: number;
|
|
115
|
+
readonly edges: number;
|
|
116
|
+
readonly arcs: number;
|
|
117
|
+
readonly selfLoops: number;
|
|
118
|
+
};
|
|
119
|
+
/** The flags (invariant I9). */
|
|
120
|
+
readonly flags: SnapshotFlags;
|
|
121
|
+
/**
|
|
122
|
+
* The core arrays; null for an identity permutation (always, whether or not a getter materialised it), an absent
|
|
123
|
+
* weights array or a zero-length array.
|
|
124
|
+
*/
|
|
125
|
+
readonly core: {
|
|
126
|
+
readonly rowPtr: WireBufferRef;
|
|
127
|
+
readonly colIdx: WireBufferRef | null;
|
|
128
|
+
readonly weights: WireBufferRef | null;
|
|
129
|
+
readonly arcToEdge: WireBufferRef | null;
|
|
130
|
+
readonly edgeToArc: WireBufferRef | null;
|
|
131
|
+
};
|
|
132
|
+
/** The arena region when the core lives in one buffer; null otherwise. */
|
|
133
|
+
readonly arena: WireArena | null;
|
|
134
|
+
/** The id map. */
|
|
135
|
+
readonly ids: WireIdMap;
|
|
136
|
+
/** Node columns in declaration order. */
|
|
137
|
+
readonly nodeColumns: readonly WireColumn[];
|
|
138
|
+
/** Edge columns in declaration order. */
|
|
139
|
+
readonly edgeColumns: readonly WireColumn[];
|
|
140
|
+
/** Graph columns in declaration order. */
|
|
141
|
+
readonly graphColumns: readonly WireColumn[];
|
|
142
|
+
/** Extension tables with their own row counts (design section 5.10). */
|
|
143
|
+
readonly extensions: readonly {
|
|
144
|
+
readonly name: string;
|
|
145
|
+
readonly rowCount: number;
|
|
146
|
+
readonly columns: readonly WireColumn[];
|
|
147
|
+
}[];
|
|
148
|
+
/** Graph metadata. */
|
|
149
|
+
readonly meta: GraphMeta;
|
|
150
|
+
/** Cached views included on request: view name -> member name -> buffer; null unless includeViews named some. */
|
|
151
|
+
readonly views: Readonly<Record<string, Readonly<Record<string, WireBufferRef>>>> | null;
|
|
152
|
+
/** Buffer indices that were copied rather than transferred (shared storage, design section 9.1). */
|
|
153
|
+
readonly copied: readonly number[];
|
|
154
|
+
/** The snapshot label. */
|
|
155
|
+
readonly label: string | null;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* The plain-object, transferable, versioned representation of a snapshot: the only cloneable shape (design section
|
|
159
|
+
* 9.1).
|
|
160
|
+
*/
|
|
161
|
+
export interface WireSnapshot {
|
|
162
|
+
/** The manifest. */
|
|
163
|
+
readonly manifest: WireManifest;
|
|
164
|
+
/** The buffers the manifest's references index; the postMessage transfer list when produced with transfer: true. */
|
|
165
|
+
readonly buffers: readonly ArrayBuffer[];
|
|
166
|
+
}
|
|
167
|
+
/** Options of toWire() (design section 9.1). */
|
|
168
|
+
export interface ToWireOptions {
|
|
169
|
+
/**
|
|
170
|
+
* Put only exclusively owned buffers into `buffers` as transferables and copy every shared one (listed in
|
|
171
|
+
* manifest.copied); default false (nothing is transferable).
|
|
172
|
+
*/
|
|
173
|
+
readonly transfer?: boolean | undefined;
|
|
174
|
+
/** Cached views to carry; the receiver recomputes the rest. Scalar views are ignored. */
|
|
175
|
+
readonly includeViews?: readonly ViewName[] | undefined;
|
|
176
|
+
/** Whether attribute columns are carried; default true. */
|
|
177
|
+
readonly includeColumns?: boolean | undefined;
|
|
178
|
+
}
|
|
179
|
+
/** Options of toBytes() and toByteChunks() (design section 9.2). */
|
|
180
|
+
export interface ToBytesOptions {
|
|
181
|
+
/** Cached views to carry. */
|
|
182
|
+
readonly includeViews?: readonly ViewName[] | undefined;
|
|
183
|
+
}
|
|
184
|
+
/** Options of fromWire(), fromBytes() and fromByteChunks() (design sections 9.1 and 9.2). */
|
|
185
|
+
export interface FromWireOptions {
|
|
186
|
+
/** Validation level; default "structure" for fromWire, "full" for fromBytes. */
|
|
187
|
+
readonly validate?: ValidationLevel | undefined;
|
|
188
|
+
/** Copy the buffers instead of adopting them; default false. */
|
|
189
|
+
readonly copy?: boolean | undefined;
|
|
190
|
+
/**
|
|
191
|
+
* What to do with a column whose dtype the reader does not know; default "error" (E_UNSUPPORTED); "skip" drops it
|
|
192
|
+
* and records the name in meta.extra["graphty.skippedColumns"].
|
|
193
|
+
*/
|
|
194
|
+
readonly unknownColumns?: "error" | "skip" | undefined;
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/types/wire.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The wire form of a snapshot (design sections 9.1, 9.2 and 12.2): a JSON-serialisable manifest
|
|
3
|
+
* plus a list of ArrayBuffers. The same object is what postMessage, structuredClone, IndexedDB and
|
|
4
|
+
* the GSNP byte container carry; `buffers` is literally the postMessage transfer list. Absent
|
|
5
|
+
* members are null, never optional (design section 12.1).
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=wire.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/types/wire.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The public packed-mask helpers of design section 7.4 (makeMask, maskTest, maskSet, maskCount,
|
|
3
|
+
* maskToIndices) plus the E_MASK_LENGTH check that filterEdges() and inducedSubgraph({ mask }) apply
|
|
4
|
+
* to a caller's mask. A NodeMask / EdgeMask is the same layout as a validity bitmap and a bool column
|
|
5
|
+
* (decision C13): ceil(length / 32) Uint32Array words, LSB-first, bit i set means index i is included.
|
|
6
|
+
* Masks are not part of the snapshot contract; no kernel is required to honour one.
|
|
7
|
+
*/
|
|
8
|
+
import { type U32 } from "../types/index.js";
|
|
9
|
+
/**
|
|
10
|
+
* Allocate a packed mask over `length` indices: ceil(length / 32) words, every bit clear, or every bit
|
|
11
|
+
* below `length` set when `fill` is true (design section 7.4).
|
|
12
|
+
* @param length - the number of indices the mask covers (nodeCount, edgeCount or arcCount)
|
|
13
|
+
* @param fill - the initial value of every bit; defaults to false
|
|
14
|
+
* @returns the mask words
|
|
15
|
+
*/
|
|
16
|
+
export declare function makeMask(length: number, fill?: boolean): U32;
|
|
17
|
+
/**
|
|
18
|
+
* Whether index i is in the mask.
|
|
19
|
+
* @param mask - the mask words
|
|
20
|
+
* @param i - the index, below the mask's length
|
|
21
|
+
* @returns true when bit i is set
|
|
22
|
+
*/
|
|
23
|
+
export declare function maskTest(mask: U32, i: number): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Include or exclude index i.
|
|
26
|
+
* @param mask - the mask words
|
|
27
|
+
* @param i - the index, below the mask's length
|
|
28
|
+
* @param value - true to include, false to exclude
|
|
29
|
+
*/
|
|
30
|
+
export declare function maskSet(mask: U32, i: number, value: boolean): void;
|
|
31
|
+
/**
|
|
32
|
+
* The number of included indices below `length` (the loop guard of an algorithm-owned alive mask,
|
|
33
|
+
* design section 7.4).
|
|
34
|
+
* @param mask - the mask words, at least ceil(length / 32) of them
|
|
35
|
+
* @param length - the number of indices the mask covers
|
|
36
|
+
* @returns the number of set bits in [0, length)
|
|
37
|
+
*/
|
|
38
|
+
export declare function maskCount(mask: U32, length: number): number;
|
|
39
|
+
/**
|
|
40
|
+
* The included indices below `length` in ascending order, as a fresh U32.
|
|
41
|
+
* @param mask - the mask words, at least ceil(length / 32) of them
|
|
42
|
+
* @param length - the number of indices the mask covers
|
|
43
|
+
* @returns the set bit indices
|
|
44
|
+
*/
|
|
45
|
+
export declare function maskToIndices(mask: U32, length: number): U32;
|
|
46
|
+
/**
|
|
47
|
+
* Check that a caller-supplied mask has enough words for `length` indices; filterEdges() and
|
|
48
|
+
* inducedSubgraph({ mask }) call it before reading the mask (design section 11.2). Throws
|
|
49
|
+
* E_MASK_LENGTH when mask.length < ceil(length / 32).
|
|
50
|
+
* @param mask - the mask words
|
|
51
|
+
* @param length - the number of indices the mask must cover
|
|
52
|
+
* @param what - what the mask is over, for the message ("edges", "nodes")
|
|
53
|
+
*/
|
|
54
|
+
export declare function checkMaskLength(mask: U32, length: number, what: string): void;
|
|
55
|
+
//# sourceMappingURL=mask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mask.d.ts","sourceRoot":"","sources":["../../../src/util/mask.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,GAAG,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAElE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAE5D;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAS7E"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The public packed-mask helpers of design section 7.4 (makeMask, maskTest, maskSet, maskCount,
|
|
3
|
+
* maskToIndices) plus the E_MASK_LENGTH check that filterEdges() and inducedSubgraph({ mask }) apply
|
|
4
|
+
* to a caller's mask. A NodeMask / EdgeMask is the same layout as a validity bitmap and a bool column
|
|
5
|
+
* (decision C13): ceil(length / 32) Uint32Array words, LSB-first, bit i set means index i is included.
|
|
6
|
+
* Masks are not part of the snapshot contract; no kernel is required to honour one.
|
|
7
|
+
*/
|
|
8
|
+
import { bitmapCount, bitmapGet, bitmapToIndices, bitmapWordCount, bitmapWrite, makeBitmap, } from "../columns/bitmap.js";
|
|
9
|
+
import { GraphFormatError } from "../errors.js";
|
|
10
|
+
/**
|
|
11
|
+
* Allocate a packed mask over `length` indices: ceil(length / 32) words, every bit clear, or every bit
|
|
12
|
+
* below `length` set when `fill` is true (design section 7.4).
|
|
13
|
+
* @param length - the number of indices the mask covers (nodeCount, edgeCount or arcCount)
|
|
14
|
+
* @param fill - the initial value of every bit; defaults to false
|
|
15
|
+
* @returns the mask words
|
|
16
|
+
*/
|
|
17
|
+
export function makeMask(length, fill) {
|
|
18
|
+
return makeBitmap(length, fill === true);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Whether index i is in the mask.
|
|
22
|
+
* @param mask - the mask words
|
|
23
|
+
* @param i - the index, below the mask's length
|
|
24
|
+
* @returns true when bit i is set
|
|
25
|
+
*/
|
|
26
|
+
export function maskTest(mask, i) {
|
|
27
|
+
return bitmapGet(mask, i);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Include or exclude index i.
|
|
31
|
+
* @param mask - the mask words
|
|
32
|
+
* @param i - the index, below the mask's length
|
|
33
|
+
* @param value - true to include, false to exclude
|
|
34
|
+
*/
|
|
35
|
+
export function maskSet(mask, i, value) {
|
|
36
|
+
bitmapWrite(mask, i, value);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The number of included indices below `length` (the loop guard of an algorithm-owned alive mask,
|
|
40
|
+
* design section 7.4).
|
|
41
|
+
* @param mask - the mask words, at least ceil(length / 32) of them
|
|
42
|
+
* @param length - the number of indices the mask covers
|
|
43
|
+
* @returns the number of set bits in [0, length)
|
|
44
|
+
*/
|
|
45
|
+
export function maskCount(mask, length) {
|
|
46
|
+
return bitmapCount(mask, length);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The included indices below `length` in ascending order, as a fresh U32.
|
|
50
|
+
* @param mask - the mask words, at least ceil(length / 32) of them
|
|
51
|
+
* @param length - the number of indices the mask covers
|
|
52
|
+
* @returns the set bit indices
|
|
53
|
+
*/
|
|
54
|
+
export function maskToIndices(mask, length) {
|
|
55
|
+
return bitmapToIndices(mask, length);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Check that a caller-supplied mask has enough words for `length` indices; filterEdges() and
|
|
59
|
+
* inducedSubgraph({ mask }) call it before reading the mask (design section 11.2). Throws
|
|
60
|
+
* E_MASK_LENGTH when mask.length < ceil(length / 32).
|
|
61
|
+
* @param mask - the mask words
|
|
62
|
+
* @param length - the number of indices the mask must cover
|
|
63
|
+
* @param what - what the mask is over, for the message ("edges", "nodes")
|
|
64
|
+
*/
|
|
65
|
+
export function checkMaskLength(mask, length, what) {
|
|
66
|
+
const required = bitmapWordCount(length);
|
|
67
|
+
if (mask.length < required) {
|
|
68
|
+
throw new GraphFormatError("E_MASK_LENGTH", `mask over ${what} has ${mask.length} words; ${required} needed for ${length} ${what}`, { found: mask.length, required, length });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=mask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mask.js","sourceRoot":"","sources":["../../../src/util/mask.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACH,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,EACf,WAAW,EACX,UAAU,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,IAAc;IACnD,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAS,EAAE,CAAS;IACzC,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,IAAS,EAAE,CAAS,EAAE,KAAc;IACxD,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAS,EAAE,MAAc;IAC/C,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAS,EAAE,MAAc;IACnD,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAAS,EAAE,MAAc,EAAE,IAAY;IACnE,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,gBAAgB,CACtB,eAAe,EACf,aAAa,IAAI,QAAQ,IAAI,CAAC,MAAM,WAAW,QAAQ,eAAe,MAAM,IAAI,IAAI,EAAE,EACtF,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAC3C,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum-valued option checking (design section 11.1): a value outside its documented set is refused
|
|
3
|
+
* with E_UNSUPPORTED (`details.field`, `details.found`, `details.reason` "unsupported option") at
|
|
4
|
+
* the call, never taken as a default. Every public entry point that reads an enum option -- the
|
|
5
|
+
* builder constructor and freeze overrides, the derived graphs, `degreeOrder`, `validate`,
|
|
6
|
+
* `set`, `indicesOf`, `fromRecords`, `foldArcs` -- goes through here, so typed callers see no change
|
|
7
|
+
* and an untyped caller's typo is an error rather than a silently different result.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Check that an option value is one of the allowed literals (undefined is accepted and returned so
|
|
11
|
+
* the caller applies its default).
|
|
12
|
+
* @param field - the option name for the error
|
|
13
|
+
* @param value - the value
|
|
14
|
+
* @param allowed - the documented literals
|
|
15
|
+
* @returns the value, narrowed
|
|
16
|
+
*/
|
|
17
|
+
export declare function assertOneOf<T extends string>(field: string, value: unknown, allowed: readonly T[]): T | undefined;
|
|
18
|
+
/** The WeightReducer literals (design section 7.3). */
|
|
19
|
+
export declare const WEIGHT_REDUCERS: readonly ["first", "last", "sum", "min", "max"];
|
|
20
|
+
/** The ColumnReducer literals (design section 7.3). */
|
|
21
|
+
export declare const COLUMN_REDUCERS: readonly ["first", "last", "sum", "min", "max", "mean", "count", "drop"];
|
|
22
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/util/options.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAgBjH;AAiBD,uDAAuD;AACvD,eAAO,MAAM,eAAe,iDAAkD,CAAC;AAE/E,uDAAuD;AACvD,eAAO,MAAM,eAAe,0EAAyD,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum-valued option checking (design section 11.1): a value outside its documented set is refused
|
|
3
|
+
* with E_UNSUPPORTED (`details.field`, `details.found`, `details.reason` "unsupported option") at
|
|
4
|
+
* the call, never taken as a default. Every public entry point that reads an enum option -- the
|
|
5
|
+
* builder constructor and freeze overrides, the derived graphs, `degreeOrder`, `validate`,
|
|
6
|
+
* `set`, `indicesOf`, `fromRecords`, `foldArcs` -- goes through here, so typed callers see no change
|
|
7
|
+
* and an untyped caller's typo is an error rather than a silently different result.
|
|
8
|
+
*/
|
|
9
|
+
import { GraphFormatError } from "../errors.js";
|
|
10
|
+
/**
|
|
11
|
+
* Check that an option value is one of the allowed literals (undefined is accepted and returned so
|
|
12
|
+
* the caller applies its default).
|
|
13
|
+
* @param field - the option name for the error
|
|
14
|
+
* @param value - the value
|
|
15
|
+
* @param allowed - the documented literals
|
|
16
|
+
* @returns the value, narrowed
|
|
17
|
+
*/
|
|
18
|
+
export function assertOneOf(field, value, allowed) {
|
|
19
|
+
if (value === undefined) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
if (typeof value !== "string" || !allowed.includes(value)) {
|
|
23
|
+
throw new GraphFormatError("E_UNSUPPORTED", `option ${field} has an unsupported value ${describeOption(value)}`, {
|
|
24
|
+
field,
|
|
25
|
+
found: value,
|
|
26
|
+
reason: "unsupported option",
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A plain-ASCII rendering of an option value for an error message.
|
|
33
|
+
* @param value - the value
|
|
34
|
+
* @returns the rendering
|
|
35
|
+
*/
|
|
36
|
+
function describeOption(value) {
|
|
37
|
+
if (typeof value === "string") {
|
|
38
|
+
return JSON.stringify(value.length > 40 ? `${value.slice(0, 37)}...` : value);
|
|
39
|
+
}
|
|
40
|
+
if (typeof value === "number" || typeof value === "boolean" || value === null) {
|
|
41
|
+
return String(value);
|
|
42
|
+
}
|
|
43
|
+
return `a ${typeof value}`;
|
|
44
|
+
}
|
|
45
|
+
/** The WeightReducer literals (design section 7.3). */
|
|
46
|
+
export const WEIGHT_REDUCERS = ["first", "last", "sum", "min", "max"];
|
|
47
|
+
/** The ColumnReducer literals (design section 7.3). */
|
|
48
|
+
export const COLUMN_REDUCERS = [...WEIGHT_REDUCERS, "mean", "count", "drop"];
|
|
49
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/util/options.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAmB,KAAa,EAAE,KAAc,EAAE,OAAqB;IAC9F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAE,OAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,gBAAgB,CACtB,eAAe,EACf,UAAU,KAAK,6BAA6B,cAAc,CAAC,KAAK,CAAC,EAAE,EACnE;YACI,KAAK;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,oBAAoB;SAC/B,CACJ,CAAC;IACN,CAAC;IACD,OAAO,KAAU,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC5E,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,OAAO,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAE/E,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The conservative owner count of design section 9.1. The format shares storage deliberately:
|
|
3
|
+
* `withColumns()` shares the core, same-node-space derived graphs share the node table and the id
|
|
4
|
+
* map, `clone()` and `set(name, column)` share Column objects between tables, `transpose()` adopts
|
|
5
|
+
* the cached reverse arrays as its core. Every holder of a buffer, column, table or id map claims it
|
|
6
|
+
* once (the snapshot and table constructors do so); a target claimed by more than one holder is
|
|
7
|
+
* SHARED, and `toWire({ transfer: true })` / `transferables()` copy its buffers instead of
|
|
8
|
+
* transferring them, so no sibling snapshot is ever silently emptied. The count is never decremented
|
|
9
|
+
* (conservative: a holder that is garbage-collected still counts, which only ever causes a copy).
|
|
10
|
+
*
|
|
11
|
+
* Holders are tracked at three granularities because a shared holder materialises buffers lazily
|
|
12
|
+
* (the Utf8 store of a string column or a string id map, the Float64Array of a numeric id map): a
|
|
13
|
+
* buffer, a Column (or a NodeIdMap) and an AttributeTable. The wire module treats a buffer as shared
|
|
14
|
+
* when the buffer itself, the column that holds it or the table that holds the column is shared.
|
|
15
|
+
* This module is a leaf (it imports nothing) so every module may use it without a cycle.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Record one holder of a buffer, column, table or id map. Called by every constructor that keeps a
|
|
19
|
+
* reference to storage it did not allocate itself; the second claim of the same target marks it
|
|
20
|
+
* shared.
|
|
21
|
+
* @param target - the buffer, Column, AttributeTable or NodeIdMap now held
|
|
22
|
+
*/
|
|
23
|
+
export declare function claimHolder(target: object): void;
|
|
24
|
+
/**
|
|
25
|
+
* Record that a target has gained another holder (design section 9.1), so it is treated as shared
|
|
26
|
+
* from now on whatever its previous count.
|
|
27
|
+
* @param target - the buffer, Column, AttributeTable or NodeIdMap that is now held by more than one holder
|
|
28
|
+
*/
|
|
29
|
+
export declare function noteShared(target: object): void;
|
|
30
|
+
/**
|
|
31
|
+
* The number of holders recorded for a target.
|
|
32
|
+
* @param target - the buffer, Column, AttributeTable or NodeIdMap
|
|
33
|
+
* @returns the count, 0 when never claimed
|
|
34
|
+
*/
|
|
35
|
+
export declare function holderCount(target: object): number;
|
|
36
|
+
/**
|
|
37
|
+
* Whether a target has been recorded as held by more than one holder.
|
|
38
|
+
* @param target - the buffer, Column, AttributeTable or NodeIdMap
|
|
39
|
+
* @returns true when at least two holders were recorded
|
|
40
|
+
*/
|
|
41
|
+
export declare function isShared(target: object): boolean;
|
|
42
|
+
//# sourceMappingURL=shared-buffers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-buffers.d.ts","sourceRoot":"","sources":["../../../src/util/shared-buffers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhD"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The conservative owner count of design section 9.1. The format shares storage deliberately:
|
|
3
|
+
* `withColumns()` shares the core, same-node-space derived graphs share the node table and the id
|
|
4
|
+
* map, `clone()` and `set(name, column)` share Column objects between tables, `transpose()` adopts
|
|
5
|
+
* the cached reverse arrays as its core. Every holder of a buffer, column, table or id map claims it
|
|
6
|
+
* once (the snapshot and table constructors do so); a target claimed by more than one holder is
|
|
7
|
+
* SHARED, and `toWire({ transfer: true })` / `transferables()` copy its buffers instead of
|
|
8
|
+
* transferring them, so no sibling snapshot is ever silently emptied. The count is never decremented
|
|
9
|
+
* (conservative: a holder that is garbage-collected still counts, which only ever causes a copy).
|
|
10
|
+
*
|
|
11
|
+
* Holders are tracked at three granularities because a shared holder materialises buffers lazily
|
|
12
|
+
* (the Utf8 store of a string column or a string id map, the Float64Array of a numeric id map): a
|
|
13
|
+
* buffer, a Column (or a NodeIdMap) and an AttributeTable. The wire module treats a buffer as shared
|
|
14
|
+
* when the buffer itself, the column that holds it or the table that holds the column is shared.
|
|
15
|
+
* This module is a leaf (it imports nothing) so every module may use it without a cycle.
|
|
16
|
+
*/
|
|
17
|
+
/** Target (ArrayBuffer, Column, AttributeTable or NodeIdMap) -> number of holders recorded. */
|
|
18
|
+
const HOLDERS = new WeakMap();
|
|
19
|
+
/**
|
|
20
|
+
* Record one holder of a buffer, column, table or id map. Called by every constructor that keeps a
|
|
21
|
+
* reference to storage it did not allocate itself; the second claim of the same target marks it
|
|
22
|
+
* shared.
|
|
23
|
+
* @param target - the buffer, Column, AttributeTable or NodeIdMap now held
|
|
24
|
+
*/
|
|
25
|
+
export function claimHolder(target) {
|
|
26
|
+
HOLDERS.set(target, (HOLDERS.get(target) ?? 0) + 1);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Record that a target has gained another holder (design section 9.1), so it is treated as shared
|
|
30
|
+
* from now on whatever its previous count.
|
|
31
|
+
* @param target - the buffer, Column, AttributeTable or NodeIdMap that is now held by more than one holder
|
|
32
|
+
*/
|
|
33
|
+
export function noteShared(target) {
|
|
34
|
+
HOLDERS.set(target, Math.max(HOLDERS.get(target) ?? 0, 1) + 1);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The number of holders recorded for a target.
|
|
38
|
+
* @param target - the buffer, Column, AttributeTable or NodeIdMap
|
|
39
|
+
* @returns the count, 0 when never claimed
|
|
40
|
+
*/
|
|
41
|
+
export function holderCount(target) {
|
|
42
|
+
return HOLDERS.get(target) ?? 0;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Whether a target has been recorded as held by more than one holder.
|
|
46
|
+
* @param target - the buffer, Column, AttributeTable or NodeIdMap
|
|
47
|
+
* @returns true when at least two holders were recorded
|
|
48
|
+
*/
|
|
49
|
+
export function isShared(target) {
|
|
50
|
+
return (HOLDERS.get(target) ?? 0) > 1;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=shared-buffers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-buffers.js","sourceRoot":"","sources":["../../../src/util/shared-buffers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,+FAA+F;AAC/F,MAAM,OAAO,GAAG,IAAI,OAAO,EAAkB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACtC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACrC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc;IACnC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC"}
|