@graphty/graph-io 0.3.18 → 0.3.19
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 +37 -2
- package/dist/chunks/{escape-D-gZWO26.js → escape-CWExcecC.js} +3 -3
- package/dist/chunks/{escape-D-gZWO26.js.map → escape-CWExcecC.js.map} +1 -1
- package/dist/chunks/exporter-CbMZyVt-.js +735 -0
- package/dist/chunks/exporter-CbMZyVt-.js.map +1 -0
- package/dist/chunks/importer-BAP4PrxR.js +2194 -0
- package/dist/chunks/importer-BAP4PrxR.js.map +1 -0
- package/dist/chunks/{importer-Br_QeAeE.js → importer-BNFuV1-K.js} +5 -4
- package/dist/chunks/{importer-Br_QeAeE.js.map → importer-BNFuV1-K.js.map} +1 -1
- package/dist/chunks/{importer-d0uQxFp6.js → importer-BVGtU1NA.js} +5 -4
- package/dist/chunks/{importer-d0uQxFp6.js.map → importer-BVGtU1NA.js.map} +1 -1
- package/dist/chunks/{importer-DHagxvDD.js → importer-BW-Ft2ps.js} +5 -4
- package/dist/chunks/{importer-DHagxvDD.js.map → importer-BW-Ft2ps.js.map} +1 -1
- package/dist/chunks/{importer-Du5crN9l.js → importer-Bm1_5vPS.js} +275 -82
- package/dist/chunks/importer-Bm1_5vPS.js.map +1 -0
- package/dist/chunks/{importer-aNJfe0qu.js → importer-ByPGO-09.js} +2 -2
- package/dist/chunks/{importer-aNJfe0qu.js.map → importer-ByPGO-09.js.map} +1 -1
- package/dist/chunks/importer-DOepkgnG.js +1713 -0
- package/dist/chunks/importer-DOepkgnG.js.map +1 -0
- package/dist/chunks/json-elements-CZY1wiZh.js +779 -0
- package/dist/chunks/json-elements-CZY1wiZh.js.map +1 -0
- package/dist/chunks/{records-Bk9jgodz.js → records-BzNicMsf.js} +2 -2
- package/dist/chunks/{records-Bk9jgodz.js.map → records-BzNicMsf.js.map} +1 -1
- package/dist/chunks/{report-BOk0p5y8.js → report-BcWboivV.js} +95 -95
- package/dist/chunks/{report-BOk0p5y8.js.map → report-BcWboivV.js.map} +1 -1
- package/dist/chunks/weights-CwISIpCP.js +176 -0
- package/dist/chunks/weights-CwISIpCP.js.map +1 -0
- package/dist/chunks/{writer-GAdltGmC.js → writer-DQiKgQJc.js} +8 -179
- package/dist/chunks/writer-DQiKgQJc.js.map +1 -0
- package/dist/csv.js +5 -4
- package/dist/csv.js.map +1 -1
- package/dist/cx.d.ts +1 -0
- package/dist/cx.js +6 -0
- package/dist/cx.js.map +1 -0
- package/dist/cx2.d.ts +1 -0
- package/dist/cx2.js +10 -0
- package/dist/cx2.js.map +1 -0
- package/dist/dot.js +1 -1
- package/dist/gexf.js +15 -4
- package/dist/gexf.js.map +1 -1
- package/dist/gml.js +5 -4
- package/dist/gml.js.map +1 -1
- package/dist/graph-io.js +145 -389
- package/dist/graph-io.js.map +1 -1
- package/dist/graphml.js +1 -1
- package/dist/json.js +1 -1
- package/dist/neo4j.js +5 -4
- package/dist/neo4j.js.map +1 -1
- package/dist/obo.js +1 -1
- package/dist/pajek.js +1 -1
- package/dist/src/common/json-elements.d.ts +286 -0
- package/dist/src/common/json-elements.d.ts.map +1 -0
- package/dist/src/common/json-elements.js +926 -0
- package/dist/src/common/json-elements.js.map +1 -0
- package/dist/src/formats/cx/importer.d.ts +133 -0
- package/dist/src/formats/cx/importer.d.ts.map +1 -0
- package/dist/src/formats/cx/importer.js +2220 -0
- package/dist/src/formats/cx/importer.js.map +1 -0
- package/dist/src/formats/cx/index.d.ts +7 -0
- package/dist/src/formats/cx/index.d.ts.map +1 -0
- package/dist/src/formats/cx/index.js +7 -0
- package/dist/src/formats/cx/index.js.map +1 -0
- package/dist/src/formats/cx2/exporter.d.ts +59 -0
- package/dist/src/formats/cx2/exporter.d.ts.map +1 -0
- package/dist/src/formats/cx2/exporter.js +864 -0
- package/dist/src/formats/cx2/exporter.js.map +1 -0
- package/dist/src/formats/cx2/importer.d.ts +169 -0
- package/dist/src/formats/cx2/importer.d.ts.map +1 -0
- package/dist/src/formats/cx2/importer.js +1652 -0
- package/dist/src/formats/cx2/importer.js.map +1 -0
- package/dist/src/formats/cx2/index.d.ts +7 -0
- package/dist/src/formats/cx2/index.d.ts.map +1 -0
- package/dist/src/formats/cx2/index.js +7 -0
- package/dist/src/formats/cx2/index.js.map +1 -0
- package/dist/src/formats/gexf/exporter.d.ts +2 -0
- package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
- package/dist/src/formats/gexf/exporter.js +6 -0
- package/dist/src/formats/gexf/exporter.js.map +1 -1
- package/dist/src/formats/gexf/importer.d.ts +2 -4
- package/dist/src/formats/gexf/importer.d.ts.map +1 -1
- package/dist/src/formats/gexf/importer.js +2 -4
- package/dist/src/formats/gexf/importer.js.map +1 -1
- package/dist/src/formats/gexf/index.d.ts +1 -1
- package/dist/src/formats/gexf/index.js +2 -2
- package/dist/src/formats/gexf/index.js.map +1 -1
- package/dist/src/formats/gml/exporter.js +1 -1
- package/dist/src/formats/gml/exporter.js.map +1 -1
- package/dist/src/formats/json/importer.d.ts.map +1 -1
- package/dist/src/formats/json/importer.js +6 -104
- package/dist/src/formats/json/importer.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +5 -0
- package/dist/src/registry.js.map +1 -1
- package/dist/src/sniff.d.ts +1 -1
- package/dist/src/sniff.d.ts.map +1 -1
- package/dist/src/sniff.js +2 -0
- package/dist/src/sniff.js.map +1 -1
- package/package.json +11 -1
- package/src/common/json-elements.ts +1147 -0
- package/src/formats/cx/importer.ts +2733 -0
- package/src/formats/cx/index.ts +7 -0
- package/src/formats/cx2/exporter.ts +1036 -0
- package/src/formats/cx2/importer.ts +2187 -0
- package/src/formats/cx2/index.ts +7 -0
- package/src/formats/gexf/exporter.ts +11 -0
- package/src/formats/gexf/importer.ts +2 -2
- package/src/formats/gexf/index.ts +1 -1
- package/src/formats/gml/exporter.ts +1 -1
- package/src/formats/json/importer.ts +6 -105
- package/src/index.ts +10 -0
- package/src/registry.ts +5 -0
- package/src/sniff.ts +14 -1
- package/dist/chunks/importer-Du5crN9l.js.map +0 -1
- package/dist/chunks/writer-GAdltGmC.js.map +0 -1
package/dist/obo.js
CHANGED
package/dist/pajek.js
CHANGED
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The JSON reading the two CX formats share (design section 1.0 of
|
|
3
|
+
* design/graph-io/cytoscape-and-obo/design.md): the exact-integer rewrite (also used by the JSON
|
|
4
|
+
* importer), a streaming scanner that walks a CX document's top-level array and hands over each
|
|
5
|
+
* aspect element as soon as its closing brace arrives (section 1.2.5), and the CX id rule of
|
|
6
|
+
* section 1.0.2.
|
|
7
|
+
*
|
|
8
|
+
* The scanner never holds the document as one string, so a file larger than the longest string a
|
|
9
|
+
* JavaScript engine can hold is still read: it keeps the text of the element being read and
|
|
10
|
+
* nothing else. Each element is parsed with `JSON.parse`; an integer literal beyond 2^53 is kept as
|
|
11
|
+
* an ExactInteger (its digits) so an id never loses a digit.
|
|
12
|
+
*/
|
|
13
|
+
import { type ColumnDecl, type ColumnHandle, type GraphSink, type NodeId } from "@graphty/graph-format";
|
|
14
|
+
import { type ImportReportBuilder } from "./report.js";
|
|
15
|
+
/** A run of 16 digits not inside a fraction: the shortest integer literal that can exceed 2^53 (9007199254740992). */
|
|
16
|
+
export declare const MAYBE_UNSAFE_INTEGER: RegExp;
|
|
17
|
+
/** What rewriteNumbers() found. */
|
|
18
|
+
interface RewrittenNumbers {
|
|
19
|
+
/** The rewritten text. */
|
|
20
|
+
readonly text: string;
|
|
21
|
+
/** The non-standard tokens seen (only when they were allowed). */
|
|
22
|
+
readonly tokens: Set<string>;
|
|
23
|
+
/** The integer literals beyond 2^53 that were quoted. */
|
|
24
|
+
readonly bigIntegers: string[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Rewrite the numbers JSON.parse cannot read exactly, outside strings and in value positions only:
|
|
28
|
+
* NaN / Infinity / -Infinity become sentinel strings (when `nonstandard` is true), an integer
|
|
29
|
+
* literal that is not a safe integer becomes a string of its digits (or, with `exactSentinel`, a
|
|
30
|
+
* sentinel string reviveExact() turns into an ExactInteger). A container stack tells a value
|
|
31
|
+
* position (after `:`, `[`, or `,` inside an array) from a key position, so `{NaN: 1}` stays invalid.
|
|
32
|
+
* @param text - the document text
|
|
33
|
+
* @param options - which rewrites apply
|
|
34
|
+
* @param options.nonstandard - rewrite NaN / Infinity / -Infinity (default true)
|
|
35
|
+
* @param options.exactSentinel - quote big integers as sentinels instead of bare digits (default false)
|
|
36
|
+
* @returns the rewritten text, the non-standard tokens seen and the integer literals quoted
|
|
37
|
+
*/
|
|
38
|
+
export declare function rewriteNumbers(text: string, options?: {
|
|
39
|
+
readonly nonstandard?: boolean;
|
|
40
|
+
readonly exactSentinel?: boolean;
|
|
41
|
+
}): RewrittenNumbers;
|
|
42
|
+
/**
|
|
43
|
+
* The JSON.parse reviver that turns the non-standard sentinel strings of rewriteNumbers() back into
|
|
44
|
+
* numbers.
|
|
45
|
+
* @param _key - the member key (unused)
|
|
46
|
+
* @param value - the parsed value
|
|
47
|
+
* @returns the number for a sentinel string, the value otherwise
|
|
48
|
+
*/
|
|
49
|
+
export declare function reviveNonstandard(_key: string, value: unknown): unknown;
|
|
50
|
+
/** An integer literal beyond 2^53, kept as its exact digits (a CX id must never lose a digit). */
|
|
51
|
+
export declare class ExactInteger {
|
|
52
|
+
/** The digits, with a leading minus for a negative value. */
|
|
53
|
+
readonly digits: string;
|
|
54
|
+
/**
|
|
55
|
+
* Wrap the digits of an integer literal.
|
|
56
|
+
* @param digits - the literal
|
|
57
|
+
*/
|
|
58
|
+
constructor(digits: string);
|
|
59
|
+
/**
|
|
60
|
+
* The nearest number (JSON.stringify writes it as such).
|
|
61
|
+
* @returns the number
|
|
62
|
+
*/
|
|
63
|
+
toJSON(): number;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Parse one JSON value, keeping integer literals beyond 2^53 as ExactInteger.
|
|
67
|
+
* @param text - the JSON text
|
|
68
|
+
* @returns the value and whether it may hold an ExactInteger; SyntaxError when it is not JSON
|
|
69
|
+
*/
|
|
70
|
+
export declare function parseExact(text: string): {
|
|
71
|
+
readonly value: unknown;
|
|
72
|
+
readonly exact: boolean;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* A parsed value with every ExactInteger replaced by its nearest number, for metadata and for
|
|
76
|
+
* values that are not ids.
|
|
77
|
+
* @param value - the value
|
|
78
|
+
* @param onPrecision - called with the digits of each integer that lost precision
|
|
79
|
+
* @returns the plain JSON value
|
|
80
|
+
*/
|
|
81
|
+
export declare function plainJson(value: unknown, onPrecision?: (digits: string) => void): unknown;
|
|
82
|
+
/** A problem with the document's JSON; the importer turns it into a fatal E_SYNTAX or E_EMPTY_INPUT. */
|
|
83
|
+
export declare class JsonScanError extends Error {
|
|
84
|
+
/** The 1-based line of the problem. */
|
|
85
|
+
readonly line: number;
|
|
86
|
+
/** Whether the document holds nothing but whitespace. */
|
|
87
|
+
readonly empty: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Create the error.
|
|
90
|
+
* @param message - what is wrong
|
|
91
|
+
* @param line - the 1-based line
|
|
92
|
+
* @param empty - whether the input is empty
|
|
93
|
+
*/
|
|
94
|
+
constructor(message: string, line: number, empty?: boolean);
|
|
95
|
+
}
|
|
96
|
+
/** One thing the scanner found in a CX document. */
|
|
97
|
+
export type AspectEvent = {
|
|
98
|
+
/** A top-level value that is not an array: the whole document, parsed. */
|
|
99
|
+
readonly kind: "root";
|
|
100
|
+
readonly value: unknown;
|
|
101
|
+
readonly line: number;
|
|
102
|
+
} | {
|
|
103
|
+
/** A member `{"<aspect>": [` whose elements follow one by one. */
|
|
104
|
+
readonly kind: "block";
|
|
105
|
+
readonly aspect: string;
|
|
106
|
+
readonly block: number;
|
|
107
|
+
readonly line: number;
|
|
108
|
+
} | {
|
|
109
|
+
/** One element of the current block, parsed. */
|
|
110
|
+
readonly kind: "element";
|
|
111
|
+
readonly aspect: string;
|
|
112
|
+
readonly block: number;
|
|
113
|
+
readonly value: unknown;
|
|
114
|
+
/** Whether the value may hold an ExactInteger. */
|
|
115
|
+
readonly exact: boolean;
|
|
116
|
+
/** The element's JSON text (for lexical checks of its ids). */
|
|
117
|
+
readonly text: string;
|
|
118
|
+
readonly line: number;
|
|
119
|
+
} | {
|
|
120
|
+
/** Keys after the first one of a block member (`{"nodes": [...], "edges": [...]}`); their values were skipped. */
|
|
121
|
+
readonly kind: "extraKeys";
|
|
122
|
+
readonly aspect: string;
|
|
123
|
+
readonly block: number;
|
|
124
|
+
readonly keys: readonly string[];
|
|
125
|
+
readonly line: number;
|
|
126
|
+
} | {
|
|
127
|
+
/**
|
|
128
|
+
* An element, or a member, nested deeper than MAX_ELEMENT_DEPTH: not parsed, so nothing
|
|
129
|
+
* downstream recurses into it (aspect: the block's aspect, null for a member).
|
|
130
|
+
*/
|
|
131
|
+
readonly kind: "deep";
|
|
132
|
+
readonly aspect: string | null;
|
|
133
|
+
readonly block: number;
|
|
134
|
+
readonly depth: number;
|
|
135
|
+
readonly line: number;
|
|
136
|
+
} | {
|
|
137
|
+
/** Any other member of the top-level array (a CX2 descriptor, `{"ndexStatus": {...}}`, `1`), parsed. */
|
|
138
|
+
readonly kind: "member";
|
|
139
|
+
readonly block: number;
|
|
140
|
+
readonly value: unknown;
|
|
141
|
+
readonly exact: boolean;
|
|
142
|
+
readonly line: number;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Walk a CX document (CX1 or CX2): a top-level array of members, each normally a one-key object
|
|
146
|
+
* `{"<aspect>": [elements]}`. The elements of such a block are parsed and yielded one at a time;
|
|
147
|
+
* any other member is parsed whole and yielded as a "member". A document that is not an array is
|
|
148
|
+
* yielded as one "root" event. Syntax errors throw JsonScanError.
|
|
149
|
+
* @param chunks - the decoded text
|
|
150
|
+
* @yields the events in document order
|
|
151
|
+
* @returns nothing
|
|
152
|
+
*/
|
|
153
|
+
export declare function scanAspects(chunks: AsyncIterable<string>): AsyncGenerator<AspectEvent, void, undefined>;
|
|
154
|
+
/**
|
|
155
|
+
* Report an element or member the scanner refused for its depth (E_BAD_ASPECT_BLOCK; skipped).
|
|
156
|
+
* @param report - the report
|
|
157
|
+
* @param event - the "deep" event
|
|
158
|
+
*/
|
|
159
|
+
export declare function reportTooDeep(report: ImportReportBuilder, event: Extract<AspectEvent, {
|
|
160
|
+
kind: "deep";
|
|
161
|
+
}>): void;
|
|
162
|
+
/** How an id was spelled, when it was not a plain safe integer. */
|
|
163
|
+
type CxIdNote = "text" | "precision" | null;
|
|
164
|
+
/** A CX id, decided per id: a safe integer is a number, a larger one its exact digits. */
|
|
165
|
+
interface CxId {
|
|
166
|
+
/** The node or edge id. */
|
|
167
|
+
readonly id: NodeId;
|
|
168
|
+
/** "text": spelled as a string or a non-integer literal (W_ID_TEXT_TYPE); "precision": beyond 2^53 (W_PRECISION). */
|
|
169
|
+
readonly note: CxIdNote;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Apply the CX id rule (design section 1.0.2) to a parsed value: a safe integer is the id; an
|
|
173
|
+
* integer beyond 2^53 is its exact digit string; a string spelling a decimal integer is that
|
|
174
|
+
* integer (as Jackson coerces it); anything else is E_INVALID_ID.
|
|
175
|
+
* @param raw - the parsed value
|
|
176
|
+
* @param inexactLiteral - whether the number was written as a non-integer literal (`5.0`, `1e3`)
|
|
177
|
+
* @returns the id and how it was spelled
|
|
178
|
+
*/
|
|
179
|
+
export declare function cxId(raw: unknown, inexactLiteral?: boolean): CxId;
|
|
180
|
+
/**
|
|
181
|
+
* Whether the element text writes a top-level key's number as a non-integer literal (`"id": 5.0`,
|
|
182
|
+
* `"@id": 1e3`). A lexical check, so the parsed value (5) cannot tell. Only a key of the element
|
|
183
|
+
* itself counts, not one nested in its `v` (where `s` and `id` are ordinary attribute names).
|
|
184
|
+
* @param text - the element's JSON text
|
|
185
|
+
* @param key - the key
|
|
186
|
+
* @returns true when the literal holds a fraction or an exponent
|
|
187
|
+
*/
|
|
188
|
+
export declare function inexactLiteral(text: string, key: string): boolean;
|
|
189
|
+
/** The name of the position column of every Cytoscape-family importer. */
|
|
190
|
+
export declare const POSITION_COLUMN = "position";
|
|
191
|
+
/**
|
|
192
|
+
* The position column of a Cytoscape-family importer: f32 x3, y-up, 2 source dimensions.
|
|
193
|
+
* @param format - the importer's format name
|
|
194
|
+
* @param sourceDims - 3 when z goes into the position (zAs "position")
|
|
195
|
+
* @returns the declaration
|
|
196
|
+
*/
|
|
197
|
+
export declare function positionDecl(format: string, sourceDims?: number): ColumnDecl;
|
|
198
|
+
/**
|
|
199
|
+
* The stacking-order column `z` (f64, origin namespace "cytoscape").
|
|
200
|
+
* @param format - the importer's format name
|
|
201
|
+
* @returns the declaration
|
|
202
|
+
*/
|
|
203
|
+
export declare function zDecl(format: string): ColumnDecl;
|
|
204
|
+
/**
|
|
205
|
+
* Cytoscape's screen y (growing downward) as graph-io's y (growing upward), and back: a negation
|
|
206
|
+
* that never yields -0.
|
|
207
|
+
* @param y - the coordinate
|
|
208
|
+
* @returns the flipped coordinate
|
|
209
|
+
*/
|
|
210
|
+
export declare function flipY(y: number): number;
|
|
211
|
+
/**
|
|
212
|
+
* The order, metadata and status rules CX1 and CX2 share (design section 1.0.1): a third
|
|
213
|
+
* `metaData` or an aspect after the post-metadata or after `status` is W_ASPECT_ORDER; declared
|
|
214
|
+
* element counts are compared with what was read (W_COUNT_MISMATCH); `status.success: false` is
|
|
215
|
+
* fatal (E_STATUS_FAILED) and `success: true` with an error text a warning (W_STATUS_WARNING).
|
|
216
|
+
*/
|
|
217
|
+
export declare class CxStructure {
|
|
218
|
+
private readonly report;
|
|
219
|
+
/** Elements read per aspect name. */
|
|
220
|
+
readonly counts: Map<string, number>;
|
|
221
|
+
/** Blocks read per aspect name. */
|
|
222
|
+
readonly blocks: Map<string, number>;
|
|
223
|
+
/** The element counts the metadata declares, by aspect name (a later declaration wins). */
|
|
224
|
+
private readonly declared;
|
|
225
|
+
private metaDataBlocks;
|
|
226
|
+
private networkBlocks;
|
|
227
|
+
private postMetadata;
|
|
228
|
+
private statusSeen;
|
|
229
|
+
/** The status element, when one was read. */
|
|
230
|
+
status: unknown;
|
|
231
|
+
/**
|
|
232
|
+
* Whether a status block was read.
|
|
233
|
+
* @returns true once a status block began
|
|
234
|
+
*/
|
|
235
|
+
get hasStatus(): boolean;
|
|
236
|
+
/**
|
|
237
|
+
* Create the checker.
|
|
238
|
+
* @param report - the report
|
|
239
|
+
*/
|
|
240
|
+
constructor(report: ImportReportBuilder);
|
|
241
|
+
/**
|
|
242
|
+
* Record the start of a block (or a member holding one aspect).
|
|
243
|
+
* @param aspect - the aspect name
|
|
244
|
+
* @param line - its line
|
|
245
|
+
*/
|
|
246
|
+
block(aspect: string, line: number): void;
|
|
247
|
+
/**
|
|
248
|
+
* Record one element of a block; metaData and status elements are checked here.
|
|
249
|
+
* @param aspect - the aspect name
|
|
250
|
+
* @param value - the parsed element
|
|
251
|
+
* @param line - its line
|
|
252
|
+
*/
|
|
253
|
+
element(aspect: string, value: unknown, line: number): void;
|
|
254
|
+
/**
|
|
255
|
+
* Check a status element: success false is fatal, an error text with success true a warning.
|
|
256
|
+
* @param value - the element
|
|
257
|
+
* @param line - its line
|
|
258
|
+
*/
|
|
259
|
+
private readStatus;
|
|
260
|
+
/**
|
|
261
|
+
* Whether the status element is one object with a boolean success.
|
|
262
|
+
* @returns true for a well-formed status
|
|
263
|
+
*/
|
|
264
|
+
statusWellFormed(): boolean;
|
|
265
|
+
/** Compare the declared element counts with what was read (W_COUNT_MISMATCH per aspect). */
|
|
266
|
+
checkCounts(): void;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Whether a value is a plain JSON object.
|
|
270
|
+
* @param value - any value
|
|
271
|
+
* @returns true for a non-null, non-array object
|
|
272
|
+
*/
|
|
273
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
274
|
+
/**
|
|
275
|
+
* Declare a column under a name no column of the table holds yet: a per-element visual property
|
|
276
|
+
* whose name an attribute already has gets `<name>#2` (W_COLUMN_RENAMED), even when the two share a
|
|
277
|
+
* shape, so the visual value never overwrites the attribute.
|
|
278
|
+
* @param sink - the sink
|
|
279
|
+
* @param domain - node or edge
|
|
280
|
+
* @param decl - the declaration
|
|
281
|
+
* @param report - the report the rename is recorded in
|
|
282
|
+
* @returns the handle
|
|
283
|
+
*/
|
|
284
|
+
export declare function declareFresh(sink: GraphSink, domain: "node" | "edge", decl: ColumnDecl, report: ImportReportBuilder): ColumnHandle;
|
|
285
|
+
export {};
|
|
286
|
+
//# sourceMappingURL=json-elements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-elements.d.ts","sourceRoot":"","sources":["../../../src/common/json-elements.ts"],"names":[],"mappings":"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"}
|