@mapequation/infomap 2.10.1 → 2.12.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/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sources":["../../../interfaces/js/src/react-args.ts","../../../interfaces/js/src/react.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;AAKM,SAAU,gBAAgB,CAC9B,MAAiB,EACjB,IAAgB,EAAA;IAEhB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;AAE/C,IAAA,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC9D,QAAA,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;IACzC;AAAO,SAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AAC7B,QAAA,KAAK,CAAC,IAAI,GAAG,IAAI;IACnB;IAEA,OAAO,CAAC,KAAK,CAAC;AAChB;;ACbM,SAAU,UAAU,CAAC,IAAgB,EAAA;IACzC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE3E,MAAM,GAAG,GAAG,WAAW,CACrB,CAAC,GAAG,MAAkC,KAAI;QACxC,UAAU,CAAC,IAAI,CAAC;QAChB,WAAW,CAAC,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9C,UAAU,CAAC,KAAK,CAAC;AACnB,IAAA,CAAC,EACD,CAAC,OAAO,EAAE,IAAI,CAAC,CAChB;IAED,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,GAAG,MAAuC,KAAI;QAC7C,UAAU,CAAC,IAAI,CAAC;QAChB,WAAW,CAAC,CAAC,CAAC;AACd,QAAA,OAAO;aACJ,QAAQ,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;AAC1C,aAAA,IAAI,CAAC,CAAC,MAAM,KAAI;YACf,UAAU,CAAC,KAAK,CAAC;AACjB,YAAA,OAAO,MAAM;AACf,QAAA,CAAC;AACA,aAAA,KAAK,CAAC,CAAC,KAAK,KAAI;YACf,UAAU,CAAC,KAAK,CAAC;AACjB,YAAA,MAAM,KAAK;AACb,QAAA,CAAC,CAAC;AACN,IAAA,CAAC,EACD,CAAC,OAAO,EAAE,IAAI,CAAC,CAChB;IAED,aAAa,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAE9C,OAAO;QACL,OAAO;QACP,QAAQ;QACR,OAAO;QACP,GAAG;QACH,QAAQ;QACR,EAAE,CAAC,GAAG,MAAiC,EAAA;AACrC,YAAA,OAAO,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;AACrB,YAAA,OAAO,IAAI;QACb;KACD;AACH;;;;"}
1
+ {"version":3,"file":"react.js","sources":["../../../interfaces/js/src/react-args.ts","../../../interfaces/js/src/react.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
package/result.cjs ADDED
@@ -0,0 +1,311 @@
1
+ 'use strict';
2
+
3
+ var resultOrder = [
4
+ "clu",
5
+ "tree",
6
+ "ftree",
7
+ "net",
8
+ "states_as_physical",
9
+ "clu_states",
10
+ "tree_states",
11
+ "ftree_states",
12
+ "states",
13
+ "flow",
14
+ "flow_as_physical",
15
+ "newick",
16
+ "newick_states",
17
+ "json",
18
+ "json_states",
19
+ "csv",
20
+ "csv_states"
21
+ ];
22
+ var formats = [
23
+ {
24
+ optionName: "clu",
25
+ files: [
26
+ {
27
+ key: "clu",
28
+ name: "Clu",
29
+ isStates: false,
30
+ suffix: "",
31
+ extension: "clu",
32
+ mimeType: "text/plain;charset=utf-8"
33
+ },
34
+ {
35
+ key: "clu_states",
36
+ name: "Clu",
37
+ isStates: true,
38
+ suffix: "_states",
39
+ extension: "clu",
40
+ mimeType: "text/plain;charset=utf-8"
41
+ }
42
+ ]
43
+ },
44
+ {
45
+ optionName: "tree",
46
+ files: [
47
+ {
48
+ key: "tree",
49
+ name: "Tree",
50
+ isStates: false,
51
+ suffix: "",
52
+ extension: "tree",
53
+ mimeType: "text/plain;charset=utf-8"
54
+ },
55
+ {
56
+ key: "tree_states",
57
+ name: "Tree",
58
+ isStates: true,
59
+ suffix: "_states",
60
+ extension: "tree",
61
+ mimeType: "text/plain;charset=utf-8"
62
+ }
63
+ ]
64
+ },
65
+ {
66
+ optionName: "ftree",
67
+ files: [
68
+ {
69
+ key: "ftree",
70
+ name: "Ftree",
71
+ isStates: false,
72
+ suffix: "",
73
+ extension: "ftree",
74
+ mimeType: "text/plain;charset=utf-8"
75
+ },
76
+ {
77
+ key: "ftree_states",
78
+ name: "Ftree",
79
+ isStates: true,
80
+ suffix: "_states",
81
+ extension: "ftree",
82
+ mimeType: "text/plain;charset=utf-8"
83
+ }
84
+ ]
85
+ },
86
+ {
87
+ optionName: "newick",
88
+ files: [
89
+ {
90
+ key: "newick",
91
+ name: "Newick",
92
+ isStates: false,
93
+ suffix: "",
94
+ extension: "nwk",
95
+ mimeType: "text/plain;charset=utf-8"
96
+ },
97
+ {
98
+ key: "newick_states",
99
+ name: "Newick",
100
+ isStates: true,
101
+ suffix: "_states",
102
+ extension: "nwk",
103
+ mimeType: "text/plain;charset=utf-8"
104
+ }
105
+ ]
106
+ },
107
+ {
108
+ optionName: "json",
109
+ files: [
110
+ {
111
+ key: "json",
112
+ name: "JSON",
113
+ isStates: false,
114
+ suffix: "",
115
+ extension: "json",
116
+ mimeType: "application/json;charset=utf-8"
117
+ },
118
+ {
119
+ key: "json_states",
120
+ name: "JSON",
121
+ isStates: true,
122
+ suffix: "_states",
123
+ extension: "json",
124
+ mimeType: "application/json;charset=utf-8"
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ optionName: "csv",
130
+ files: [
131
+ {
132
+ key: "csv",
133
+ name: "CSV",
134
+ isStates: false,
135
+ suffix: "",
136
+ extension: "csv",
137
+ mimeType: "text/plain;charset=utf-8"
138
+ },
139
+ {
140
+ key: "csv_states",
141
+ name: "CSV",
142
+ isStates: true,
143
+ suffix: "_states",
144
+ extension: "csv",
145
+ mimeType: "text/plain;charset=utf-8"
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ optionName: "network",
151
+ files: [
152
+ {
153
+ key: "net",
154
+ name: "Network",
155
+ isStates: false,
156
+ suffix: "",
157
+ extension: "net",
158
+ mimeType: "text/plain;charset=utf-8"
159
+ },
160
+ {
161
+ key: "states_as_physical",
162
+ name: "States as physical",
163
+ isStates: false,
164
+ suffix: "_states_as_physical",
165
+ extension: "net",
166
+ mimeType: "text/plain;charset=utf-8"
167
+ }
168
+ ]
169
+ },
170
+ {
171
+ optionName: "states",
172
+ files: [
173
+ {
174
+ key: "states",
175
+ name: "States",
176
+ isStates: true,
177
+ suffix: "_states",
178
+ extension: "net",
179
+ mimeType: "text/plain;charset=utf-8"
180
+ }
181
+ ]
182
+ },
183
+ {
184
+ optionName: "flow",
185
+ files: [
186
+ {
187
+ key: "flow",
188
+ name: "Flow",
189
+ isStates: false,
190
+ suffix: "_flow",
191
+ extension: "net",
192
+ mimeType: "text/plain;charset=utf-8"
193
+ },
194
+ {
195
+ key: "flow_as_physical",
196
+ name: "Flow states as physical",
197
+ isStates: true,
198
+ suffix: "_states_as_physical_flow",
199
+ extension: "net",
200
+ mimeType: "text/plain;charset=utf-8"
201
+ }
202
+ ]
203
+ }
204
+ ];
205
+ var outputFormatsManifestJson = {
206
+ resultOrder: resultOrder,
207
+ formats: formats
208
+ };
209
+
210
+ const outputFormatsManifest = outputFormatsManifestJson;
211
+ const resultFormatsByKey = new Map(outputFormatsManifest.formats
212
+ .flatMap((format) => format.files)
213
+ .map((format) => [format.key, format]));
214
+ const resultFormats = outputFormatsManifest.resultOrder.map((key) => {
215
+ const format = resultFormatsByKey.get(key);
216
+ if (!format) {
217
+ throw new Error(`Missing result format metadata for ${key}`);
218
+ }
219
+ return format;
220
+ });
221
+ function parseJsonMetadata(result) {
222
+ const json = result.json_states ?? result.json;
223
+ if (!json)
224
+ return { codelength: null, numLevels: null };
225
+ const source = json;
226
+ const codelength = Number(source.codelength);
227
+ const numLevels = Number(source.numLevels);
228
+ return {
229
+ codelength: Number.isFinite(codelength) ? codelength : null,
230
+ numLevels: Number.isFinite(numLevels) ? numLevels : null,
231
+ };
232
+ }
233
+ function textResultContent(result) {
234
+ return resultFormats
235
+ .filter((format) => format.key !== "json" && format.key !== "json_states")
236
+ .map((format) => result[format.key])
237
+ .filter((value) => typeof value === "string")
238
+ .join("\n");
239
+ }
240
+ function parseTextHeaderMetadata(result) {
241
+ const content = textResultContent(result);
242
+ const codelengthMatch = content.match(/#\s*codelength\s+([0-9.eE+-]+)/i);
243
+ const numLevelsMatch = content.match(/#\s*partitioned into\s+(\d+)\s+levels/i);
244
+ const codelength = codelengthMatch?.[1]
245
+ ? Number(codelengthMatch[1])
246
+ : Number.NaN;
247
+ const numLevels = numLevelsMatch?.[1]
248
+ ? Number(numLevelsMatch[1])
249
+ : Number.NaN;
250
+ return {
251
+ codelength: Number.isFinite(codelength) ? codelength : null,
252
+ numLevels: Number.isFinite(numLevels) ? numLevels : null,
253
+ };
254
+ }
255
+ function parseTreeLevels(result) {
256
+ const content = [
257
+ result.tree_states,
258
+ result.ftree_states,
259
+ result.tree,
260
+ result.ftree,
261
+ ].join("\n");
262
+ let maxDepth = 0;
263
+ for (const line of content.split(/\r?\n/)) {
264
+ const trimmed = line.trim();
265
+ if (!trimmed ||
266
+ trimmed.startsWith("#") ||
267
+ trimmed.startsWith("%") ||
268
+ trimmed.startsWith("*")) {
269
+ continue;
270
+ }
271
+ const [path] = trimmed.split(/\s+/);
272
+ if (!/^\d+(?::\d+)+$/.test(path))
273
+ continue;
274
+ maxDepth = Math.max(maxDepth, path.split(":").length);
275
+ }
276
+ return maxDepth > 0 ? maxDepth : null;
277
+ }
278
+ function getResultMetadata(result) {
279
+ const jsonMetadata = parseJsonMetadata(result);
280
+ const textHeaderMetadata = parseTextHeaderMetadata(result);
281
+ return {
282
+ codelength: jsonMetadata.codelength ?? textHeaderMetadata.codelength,
283
+ numLevels: jsonMetadata.numLevels ??
284
+ textHeaderMetadata.numLevels ??
285
+ parseTreeLevels(result),
286
+ };
287
+ }
288
+ function getResultFiles(result, basename) {
289
+ return resultFormats.flatMap((format) => {
290
+ const value = result[format.key];
291
+ if (value == null)
292
+ return [];
293
+ const content = format.key === "json" || format.key === "json_states"
294
+ ? JSON.stringify(value, null, 2)
295
+ : typeof value === "string"
296
+ ? value
297
+ : JSON.stringify(value, null, 2);
298
+ return [
299
+ {
300
+ ...format,
301
+ filename: `${basename}${format.suffix}.${format.extension}`,
302
+ content,
303
+ },
304
+ ];
305
+ });
306
+ }
307
+
308
+ exports.getResultFiles = getResultFiles;
309
+ exports.getResultMetadata = getResultMetadata;
310
+ exports.resultFormats = resultFormats;
311
+ //# sourceMappingURL=result.cjs.map
package/result.cjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.cjs","sources":["../../../interfaces/js/src/result.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/result.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ import type { Result } from "./index";
2
+ export type ResultKey = keyof Result;
3
+ export type ResultFormat = {
4
+ key: ResultKey;
5
+ name: string;
6
+ isStates: boolean;
7
+ suffix: string;
8
+ extension: string;
9
+ mimeType: string;
10
+ };
11
+ export type ResultFile = ResultFormat & {
12
+ filename: string;
13
+ content: string;
14
+ };
15
+ export type ResultMetadata = {
16
+ codelength: number | null;
17
+ numLevels: number | null;
18
+ };
19
+ export declare const resultFormats: ResultFormat[];
20
+ export declare function getResultMetadata(result: Result): ResultMetadata;
21
+ export declare function getResultFiles(result: Result, basename: string): ResultFile[];
package/result.js ADDED
@@ -0,0 +1,307 @@
1
+ var resultOrder = [
2
+ "clu",
3
+ "tree",
4
+ "ftree",
5
+ "net",
6
+ "states_as_physical",
7
+ "clu_states",
8
+ "tree_states",
9
+ "ftree_states",
10
+ "states",
11
+ "flow",
12
+ "flow_as_physical",
13
+ "newick",
14
+ "newick_states",
15
+ "json",
16
+ "json_states",
17
+ "csv",
18
+ "csv_states"
19
+ ];
20
+ var formats = [
21
+ {
22
+ optionName: "clu",
23
+ files: [
24
+ {
25
+ key: "clu",
26
+ name: "Clu",
27
+ isStates: false,
28
+ suffix: "",
29
+ extension: "clu",
30
+ mimeType: "text/plain;charset=utf-8"
31
+ },
32
+ {
33
+ key: "clu_states",
34
+ name: "Clu",
35
+ isStates: true,
36
+ suffix: "_states",
37
+ extension: "clu",
38
+ mimeType: "text/plain;charset=utf-8"
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ optionName: "tree",
44
+ files: [
45
+ {
46
+ key: "tree",
47
+ name: "Tree",
48
+ isStates: false,
49
+ suffix: "",
50
+ extension: "tree",
51
+ mimeType: "text/plain;charset=utf-8"
52
+ },
53
+ {
54
+ key: "tree_states",
55
+ name: "Tree",
56
+ isStates: true,
57
+ suffix: "_states",
58
+ extension: "tree",
59
+ mimeType: "text/plain;charset=utf-8"
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ optionName: "ftree",
65
+ files: [
66
+ {
67
+ key: "ftree",
68
+ name: "Ftree",
69
+ isStates: false,
70
+ suffix: "",
71
+ extension: "ftree",
72
+ mimeType: "text/plain;charset=utf-8"
73
+ },
74
+ {
75
+ key: "ftree_states",
76
+ name: "Ftree",
77
+ isStates: true,
78
+ suffix: "_states",
79
+ extension: "ftree",
80
+ mimeType: "text/plain;charset=utf-8"
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ optionName: "newick",
86
+ files: [
87
+ {
88
+ key: "newick",
89
+ name: "Newick",
90
+ isStates: false,
91
+ suffix: "",
92
+ extension: "nwk",
93
+ mimeType: "text/plain;charset=utf-8"
94
+ },
95
+ {
96
+ key: "newick_states",
97
+ name: "Newick",
98
+ isStates: true,
99
+ suffix: "_states",
100
+ extension: "nwk",
101
+ mimeType: "text/plain;charset=utf-8"
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ optionName: "json",
107
+ files: [
108
+ {
109
+ key: "json",
110
+ name: "JSON",
111
+ isStates: false,
112
+ suffix: "",
113
+ extension: "json",
114
+ mimeType: "application/json;charset=utf-8"
115
+ },
116
+ {
117
+ key: "json_states",
118
+ name: "JSON",
119
+ isStates: true,
120
+ suffix: "_states",
121
+ extension: "json",
122
+ mimeType: "application/json;charset=utf-8"
123
+ }
124
+ ]
125
+ },
126
+ {
127
+ optionName: "csv",
128
+ files: [
129
+ {
130
+ key: "csv",
131
+ name: "CSV",
132
+ isStates: false,
133
+ suffix: "",
134
+ extension: "csv",
135
+ mimeType: "text/plain;charset=utf-8"
136
+ },
137
+ {
138
+ key: "csv_states",
139
+ name: "CSV",
140
+ isStates: true,
141
+ suffix: "_states",
142
+ extension: "csv",
143
+ mimeType: "text/plain;charset=utf-8"
144
+ }
145
+ ]
146
+ },
147
+ {
148
+ optionName: "network",
149
+ files: [
150
+ {
151
+ key: "net",
152
+ name: "Network",
153
+ isStates: false,
154
+ suffix: "",
155
+ extension: "net",
156
+ mimeType: "text/plain;charset=utf-8"
157
+ },
158
+ {
159
+ key: "states_as_physical",
160
+ name: "States as physical",
161
+ isStates: false,
162
+ suffix: "_states_as_physical",
163
+ extension: "net",
164
+ mimeType: "text/plain;charset=utf-8"
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ optionName: "states",
170
+ files: [
171
+ {
172
+ key: "states",
173
+ name: "States",
174
+ isStates: true,
175
+ suffix: "_states",
176
+ extension: "net",
177
+ mimeType: "text/plain;charset=utf-8"
178
+ }
179
+ ]
180
+ },
181
+ {
182
+ optionName: "flow",
183
+ files: [
184
+ {
185
+ key: "flow",
186
+ name: "Flow",
187
+ isStates: false,
188
+ suffix: "_flow",
189
+ extension: "net",
190
+ mimeType: "text/plain;charset=utf-8"
191
+ },
192
+ {
193
+ key: "flow_as_physical",
194
+ name: "Flow states as physical",
195
+ isStates: true,
196
+ suffix: "_states_as_physical_flow",
197
+ extension: "net",
198
+ mimeType: "text/plain;charset=utf-8"
199
+ }
200
+ ]
201
+ }
202
+ ];
203
+ var outputFormatsManifestJson = {
204
+ resultOrder: resultOrder,
205
+ formats: formats
206
+ };
207
+
208
+ const outputFormatsManifest = outputFormatsManifestJson;
209
+ const resultFormatsByKey = new Map(outputFormatsManifest.formats
210
+ .flatMap((format) => format.files)
211
+ .map((format) => [format.key, format]));
212
+ const resultFormats = outputFormatsManifest.resultOrder.map((key) => {
213
+ const format = resultFormatsByKey.get(key);
214
+ if (!format) {
215
+ throw new Error(`Missing result format metadata for ${key}`);
216
+ }
217
+ return format;
218
+ });
219
+ function parseJsonMetadata(result) {
220
+ const json = result.json_states ?? result.json;
221
+ if (!json)
222
+ return { codelength: null, numLevels: null };
223
+ const source = json;
224
+ const codelength = Number(source.codelength);
225
+ const numLevels = Number(source.numLevels);
226
+ return {
227
+ codelength: Number.isFinite(codelength) ? codelength : null,
228
+ numLevels: Number.isFinite(numLevels) ? numLevels : null,
229
+ };
230
+ }
231
+ function textResultContent(result) {
232
+ return resultFormats
233
+ .filter((format) => format.key !== "json" && format.key !== "json_states")
234
+ .map((format) => result[format.key])
235
+ .filter((value) => typeof value === "string")
236
+ .join("\n");
237
+ }
238
+ function parseTextHeaderMetadata(result) {
239
+ const content = textResultContent(result);
240
+ const codelengthMatch = content.match(/#\s*codelength\s+([0-9.eE+-]+)/i);
241
+ const numLevelsMatch = content.match(/#\s*partitioned into\s+(\d+)\s+levels/i);
242
+ const codelength = codelengthMatch?.[1]
243
+ ? Number(codelengthMatch[1])
244
+ : Number.NaN;
245
+ const numLevels = numLevelsMatch?.[1]
246
+ ? Number(numLevelsMatch[1])
247
+ : Number.NaN;
248
+ return {
249
+ codelength: Number.isFinite(codelength) ? codelength : null,
250
+ numLevels: Number.isFinite(numLevels) ? numLevels : null,
251
+ };
252
+ }
253
+ function parseTreeLevels(result) {
254
+ const content = [
255
+ result.tree_states,
256
+ result.ftree_states,
257
+ result.tree,
258
+ result.ftree,
259
+ ].join("\n");
260
+ let maxDepth = 0;
261
+ for (const line of content.split(/\r?\n/)) {
262
+ const trimmed = line.trim();
263
+ if (!trimmed ||
264
+ trimmed.startsWith("#") ||
265
+ trimmed.startsWith("%") ||
266
+ trimmed.startsWith("*")) {
267
+ continue;
268
+ }
269
+ const [path] = trimmed.split(/\s+/);
270
+ if (!/^\d+(?::\d+)+$/.test(path))
271
+ continue;
272
+ maxDepth = Math.max(maxDepth, path.split(":").length);
273
+ }
274
+ return maxDepth > 0 ? maxDepth : null;
275
+ }
276
+ function getResultMetadata(result) {
277
+ const jsonMetadata = parseJsonMetadata(result);
278
+ const textHeaderMetadata = parseTextHeaderMetadata(result);
279
+ return {
280
+ codelength: jsonMetadata.codelength ?? textHeaderMetadata.codelength,
281
+ numLevels: jsonMetadata.numLevels ??
282
+ textHeaderMetadata.numLevels ??
283
+ parseTreeLevels(result),
284
+ };
285
+ }
286
+ function getResultFiles(result, basename) {
287
+ return resultFormats.flatMap((format) => {
288
+ const value = result[format.key];
289
+ if (value == null)
290
+ return [];
291
+ const content = format.key === "json" || format.key === "json_states"
292
+ ? JSON.stringify(value, null, 2)
293
+ : typeof value === "string"
294
+ ? value
295
+ : JSON.stringify(value, null, 2);
296
+ return [
297
+ {
298
+ ...format,
299
+ filename: `${basename}${format.suffix}.${format.extension}`,
300
+ content,
301
+ },
302
+ ];
303
+ });
304
+ }
305
+
306
+ export { getResultFiles, getResultMetadata, resultFormats };
307
+ //# sourceMappingURL=result.js.map
package/result.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.js","sources":["../../../interfaces/js/src/result.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}