graphbox 1.0.8 → 1.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/dist/cli.js +1 -1
- package/dist/experiments/evaluation/fixtures/benchmark-datasets.d.ts +99 -0
- package/dist/experiments/evaluation/fixtures/benchmark-datasets.d.ts.map +1 -1
- package/dist/experiments/evaluation/fixtures/index.d.ts +1 -1
- package/dist/experiments/evaluation/fixtures/index.d.ts.map +1 -1
- package/dist/experiments/evaluation/index.d.ts +2 -2
- package/dist/experiments/evaluation/index.d.ts.map +1 -1
- package/dist/experiments/evaluation/loaders/decompress.d.ts +67 -0
- package/dist/experiments/evaluation/loaders/decompress.d.ts.map +1 -0
- package/dist/experiments/evaluation/loaders/decompress.unit.test.d.ts +5 -0
- package/dist/experiments/evaluation/loaders/decompress.unit.test.d.ts.map +1 -0
- package/dist/experiments/evaluation/loaders/index.d.ts +1 -0
- package/dist/experiments/evaluation/loaders/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -22,6 +22,12 @@ export interface BenchmarkDatasetMeta {
|
|
|
22
22
|
delimiter: string | RegExp;
|
|
23
23
|
/** Source/citation for the dataset */
|
|
24
24
|
source: string;
|
|
25
|
+
/**
|
|
26
|
+
* Remote URL for downloading the dataset.
|
|
27
|
+
* Used for browser environments or when local files aren't available.
|
|
28
|
+
* Should point to a raw text file in edge list format.
|
|
29
|
+
*/
|
|
30
|
+
remoteUrl?: string;
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
27
33
|
* A loaded benchmark dataset with graph and metadata.
|
|
@@ -120,6 +126,99 @@ export declare const loadBenchmarkById: (id: string, benchmarksRoot?: string) =>
|
|
|
120
126
|
* @returns Map of dataset ID to loaded benchmark
|
|
121
127
|
*/
|
|
122
128
|
export declare const loadAllBenchmarks: (benchmarksRoot?: string) => Promise<Map<string, LoadedBenchmark>>;
|
|
129
|
+
/**
|
|
130
|
+
* Load a benchmark dataset from a URL.
|
|
131
|
+
*
|
|
132
|
+
* This function works in both browser and Node.js environments.
|
|
133
|
+
* Automatically handles gzip-compressed files (.gz extension).
|
|
134
|
+
*
|
|
135
|
+
* @param url - URL to the edge list file (can be .txt or .txt.gz)
|
|
136
|
+
* @param meta - Dataset metadata (for parsing configuration)
|
|
137
|
+
* @returns Loaded benchmark with graph and metadata
|
|
138
|
+
* @throws Error if fetch fails or parsing fails
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* // Plain text file
|
|
143
|
+
* const benchmark = await loadBenchmarkFromUrl(
|
|
144
|
+
* 'https://raw.githubusercontent.com/user/repo/main/data/karate.edges',
|
|
145
|
+
* KARATE
|
|
146
|
+
* );
|
|
147
|
+
*
|
|
148
|
+
* // Gzip-compressed file (automatically decompressed)
|
|
149
|
+
* const compressed = await loadBenchmarkFromUrl(
|
|
150
|
+
* 'https://snap.stanford.edu/data/facebook_combined.txt.gz',
|
|
151
|
+
* FACEBOOK
|
|
152
|
+
* );
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
export declare const loadBenchmarkFromUrl: (url: string, meta: BenchmarkDatasetMeta) => Promise<LoadedBenchmark>;
|
|
156
|
+
/**
|
|
157
|
+
* Load a benchmark dataset by ID from a URL.
|
|
158
|
+
*
|
|
159
|
+
* If the dataset has a remoteUrl configured, uses that. Otherwise, you must provide a URL.
|
|
160
|
+
* Works in both browser and Node.js environments.
|
|
161
|
+
*
|
|
162
|
+
* @param id - Dataset identifier (e.g., 'cora', 'karate')
|
|
163
|
+
* @param url - Optional URL override (required if dataset has no remoteUrl)
|
|
164
|
+
* @returns Loaded benchmark with graph and metadata
|
|
165
|
+
* @throws Error if dataset ID not found or no URL available
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```typescript
|
|
169
|
+
* // Using custom URL
|
|
170
|
+
* const karate = await loadBenchmarkByIdFromUrl('karate',
|
|
171
|
+
* 'https://example.com/datasets/karate.edges'
|
|
172
|
+
* );
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
export declare const loadBenchmarkByIdFromUrl: (id: string, url?: string) => Promise<LoadedBenchmark>;
|
|
176
|
+
/**
|
|
177
|
+
* Load a benchmark from edge list content string.
|
|
178
|
+
*
|
|
179
|
+
* This is the most flexible loader - works with any string content.
|
|
180
|
+
* Useful when you've already fetched the data or have it embedded.
|
|
181
|
+
*
|
|
182
|
+
* @param content - Edge list content as string
|
|
183
|
+
* @param meta - Dataset metadata (for parsing configuration)
|
|
184
|
+
* @returns Loaded benchmark with graph and metadata
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```typescript
|
|
188
|
+
* const content = "1 2\n2 3\n3 1";
|
|
189
|
+
* const benchmark = loadBenchmarkFromContent(content, {
|
|
190
|
+
* ...KARATE,
|
|
191
|
+
* expectedNodes: 3,
|
|
192
|
+
* expectedEdges: 3
|
|
193
|
+
* });
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
export declare const loadBenchmarkFromContent: (content: string, meta: BenchmarkDatasetMeta) => LoadedBenchmark;
|
|
197
|
+
/**
|
|
198
|
+
* Create a custom benchmark metadata for ad-hoc datasets.
|
|
199
|
+
*
|
|
200
|
+
* Helper function to create metadata for datasets not in the standard list.
|
|
201
|
+
*
|
|
202
|
+
* @param options - Partial metadata (id and name are required)
|
|
203
|
+
* @returns Complete benchmark metadata
|
|
204
|
+
*
|
|
205
|
+
* @example
|
|
206
|
+
* ```typescript
|
|
207
|
+
* const myDataset = createBenchmarkMeta({
|
|
208
|
+
* id: 'my-graph',
|
|
209
|
+
* name: 'My Custom Graph',
|
|
210
|
+
* expectedNodes: 100,
|
|
211
|
+
* expectedEdges: 500,
|
|
212
|
+
* directed: false
|
|
213
|
+
* });
|
|
214
|
+
*
|
|
215
|
+
* const benchmark = await loadBenchmarkFromUrl(
|
|
216
|
+
* 'https://example.com/my-graph.edges',
|
|
217
|
+
* myDataset
|
|
218
|
+
* );
|
|
219
|
+
* ```
|
|
220
|
+
*/
|
|
221
|
+
export declare const createBenchmarkMeta: (options: Pick<BenchmarkDatasetMeta, "id" | "name"> & Partial<Omit<BenchmarkDatasetMeta, "id" | "name">>) => BenchmarkDatasetMeta;
|
|
123
222
|
/**
|
|
124
223
|
* Get summary statistics for a loaded benchmark.
|
|
125
224
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-datasets.d.ts","sourceRoot":"","sources":["../../../../src/experiments/evaluation/fixtures/benchmark-datasets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"benchmark-datasets.d.ts","sourceRoot":"","sources":["../../../../src/experiments/evaluation/fixtures/benchmark-datasets.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides benchmark datasets and test fixtures for evaluation experiments.
|
|
5
5
|
*/
|
|
6
|
-
export { BENCHMARK_DATASETS, type BenchmarkDatasetMeta, CITESEER, CORA, DATASETS_BY_ID, DBLP, FACEBOOK, getBenchmarkSummary, KARATE, LESMIS, loadAllBenchmarks, loadBenchmark, loadBenchmarkById, type LoadedBenchmark, resolveBenchmarkPath, validateBenchmark, } from './benchmark-datasets';
|
|
6
|
+
export { BENCHMARK_DATASETS, type BenchmarkDatasetMeta, CITESEER, CORA, createBenchmarkMeta, DATASETS_BY_ID, DBLP, FACEBOOK, getBenchmarkSummary, KARATE, LESMIS, loadAllBenchmarks, loadBenchmark, loadBenchmarkById, loadBenchmarkByIdFromUrl, loadBenchmarkFromContent, loadBenchmarkFromUrl, type LoadedBenchmark, resolveBenchmarkPath, validateBenchmark, } from './benchmark-datasets';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/experiments/evaluation/fixtures/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,kBAAkB,EAElB,KAAK,oBAAoB,EACzB,QAAQ,EAER,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/experiments/evaluation/fixtures/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,kBAAkB,EAElB,KAAK,oBAAoB,EACzB,QAAQ,EAER,IAAI,EAEJ,mBAAmB,EACnB,cAAc,EACd,IAAI,EACJ,QAAQ,EAER,mBAAmB,EACnB,MAAM,EACN,MAAM,EACN,iBAAiB,EAEjB,aAAa,EACb,iBAAiB,EAEjB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,eAAe,EACpB,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,sBAAsB,CAAC"}
|
|
@@ -12,8 +12,8 @@ export { addNoisePaths, type CitationPathConfig, type CitationPathType, type Het
|
|
|
12
12
|
export { benjaminiHochberg, bonferroniCorrection, bootstrapCI, bootstrapDifferenceTest, cliffsDelta, cohensD, glassDelta, holmBonferroni, pairedTTest, rankBiserialCorrelation, storeyQValues, wilcoxonSignedRank, } from './statistics';
|
|
13
13
|
export type { ExperimentConfig, FullExperimentConfig, GraphSpec, MethodConfig, MetricType, PathRanker, StatisticalTestType, } from './runner';
|
|
14
14
|
export { generateHTMLReport, generateJSONSummary, generateLatexTable, generateMarkdownReport, runCrossValidation, runExperiment, } from './runner';
|
|
15
|
-
export { type EdgeListConfig, type LoadedEdge, loadEdgeList, type LoadedNode, loadGraph, loadGraphFromUrl, type LoadResult, loadTriples, type TripleConfig, } from './loaders';
|
|
15
|
+
export { decompressGzip, type EdgeListConfig, fetchAndDecompressGzip, fetchWithAutoDecompress, isGzipUrl, type LoadedEdge, loadEdgeList, type LoadedNode, loadGraph, loadGraphFromUrl, type LoadResult, loadTriples, type TripleConfig, } from './loaders';
|
|
16
16
|
export { type BetweenGraphOptions, type BetweenGraphResult, computeAllGroundTruths, computeEgoNetwork, computeGroundTruth, createAttributeImportance, enumerateBetweenGraph, enumerateMultiSeedBetweenGraph, type GroundTruthConfig, type GroundTruthPath, type GroundTruthType, type PrecomputedImportance, precomputeImportance, } from './ground-truth';
|
|
17
17
|
export { aggregateRepresentativenessResults, compareDegreeDistributions, computeCommunityCoverage, computeDegreeDistribution, computeDegreeHistogram, computeHubCoverage, computePathDiversityMetrics, computeSetOverlap, computeStructuralRepresentativeness, degreeDistributionFromMap, type DegreeDistributionMetrics, degreeToRanking, earthMoversDistance, identifyHubNodes, jaccardDistance, jsDivergence, klDivergence, meanPairwiseEdgeJaccardDistance, meanPairwiseJaccardDistance, type PathDiversityMetrics, pathToNodeSet, spearmanRankCorrelation, type StructuralRepresentativenessResult, } from './metrics';
|
|
18
|
-
export { BENCHMARK_DATASETS, type BenchmarkDatasetMeta, CITESEER, CORA, DATASETS_BY_ID, DBLP, FACEBOOK, getBenchmarkSummary, KARATE, LESMIS, loadAllBenchmarks, loadBenchmark, loadBenchmarkById, type LoadedBenchmark, resolveBenchmarkPath, validateBenchmark, } from './fixtures';
|
|
18
|
+
export { BENCHMARK_DATASETS, type BenchmarkDatasetMeta, CITESEER, CORA, createBenchmarkMeta, DATASETS_BY_ID, DBLP, FACEBOOK, getBenchmarkSummary, KARATE, LESMIS, loadAllBenchmarks, loadBenchmark, loadBenchmarkById, loadBenchmarkByIdFromUrl, loadBenchmarkFromContent, loadBenchmarkFromUrl, type LoadedBenchmark, resolveBenchmarkPath, validateBenchmark, } from './fixtures';
|
|
19
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experiments/evaluation/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EAAC,MAAM,SAAS,CAAC;AAGvC,OAAO,EACN,UAAU,EACV,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAClB,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,MAAM,cAAc,CAAC;AAGtB,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACN,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EACN,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,uBAAuB,EACvB,WAAW,EACX,OAAO,EACP,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,aAAa,EACb,kBAAkB,GAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACX,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,UAAU,EACV,mBAAmB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experiments/evaluation/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EAAC,MAAM,SAAS,CAAC;AAGvC,OAAO,EACN,UAAU,EACV,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAClB,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,MAAM,cAAc,CAAC;AAGtB,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACN,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EACN,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,uBAAuB,EACvB,WAAW,EACX,OAAO,EACP,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,aAAa,EACb,kBAAkB,GAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACX,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,UAAU,EACV,mBAAmB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EAEN,cAAc,EACd,KAAK,cAAc,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,UAAU,EACf,SAAS,EACT,gBAAgB,EAChB,KAAK,UAAU,EACf,WAAW,EACX,KAAK,YAAY,GACjB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACN,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,8BAA8B,EAC9B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,oBAAoB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACN,kCAAkC,EAClC,0BAA0B,EAC1B,wBAAwB,EAExB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAE3B,iBAAiB,EACjB,mCAAmC,EACnC,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAEhB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,+BAA+B,EAC/B,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,aAAa,EACb,uBAAuB,EACvB,KAAK,kCAAkC,GACvC,MAAM,WAAW,CAAC;AAGnB,OAAO,EACN,kBAAkB,EAElB,KAAK,oBAAoB,EACzB,QAAQ,EAER,IAAI,EAEJ,mBAAmB,EACnB,cAAc,EACd,IAAI,EACJ,QAAQ,EAER,mBAAmB,EACnB,MAAM,EACN,MAAM,EACN,iBAAiB,EAEjB,aAAa,EACb,iBAAiB,EAEjB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,eAAe,EACpB,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal decompression utilities for browser and Node.js environments.
|
|
3
|
+
*
|
|
4
|
+
* Supports gzip decompression using:
|
|
5
|
+
* - Node.js: Built-in `zlib` module (works in all Node versions)
|
|
6
|
+
* - Browser: Native `DecompressionStream` API (Chrome 80+, Firefox 113+, Safari 16.4+)
|
|
7
|
+
*
|
|
8
|
+
* No external dependencies required.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Decompress gzip-compressed data to a string.
|
|
12
|
+
*
|
|
13
|
+
* Automatically uses the best available method for the current environment:
|
|
14
|
+
* - Node.js: Uses built-in zlib module
|
|
15
|
+
* - Browser: Uses native DecompressionStream API
|
|
16
|
+
*
|
|
17
|
+
* @param data - Gzip-compressed data as Uint8Array
|
|
18
|
+
* @returns Promise resolving to decompressed UTF-8 string
|
|
19
|
+
* @throws Error if decompression fails or no decompression method is available
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const response = await fetch('https://example.com/data.gz');
|
|
24
|
+
* const compressed = new Uint8Array(await response.arrayBuffer());
|
|
25
|
+
* const text = await decompressGzip(compressed);
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare const decompressGzip: (data: Uint8Array) => Promise<string>;
|
|
29
|
+
/**
|
|
30
|
+
* Fetch and decompress gzip content from a URL.
|
|
31
|
+
*
|
|
32
|
+
* @param url - URL to fetch gzip-compressed content from
|
|
33
|
+
* @returns Promise resolving to decompressed UTF-8 string
|
|
34
|
+
* @throws Error if fetch fails or decompression fails
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const text = await fetchAndDecompressGzip('https://snap.stanford.edu/data/facebook_combined.txt.gz');
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare const fetchAndDecompressGzip: (url: string) => Promise<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Detect if a URL points to a gzip-compressed file based on extension.
|
|
44
|
+
*
|
|
45
|
+
* @param url - URL to check
|
|
46
|
+
* @returns True if URL ends with .gz or .gzip
|
|
47
|
+
*/
|
|
48
|
+
export declare const isGzipUrl: (url: string) => boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Fetch content from URL, automatically decompressing if gzip.
|
|
51
|
+
*
|
|
52
|
+
* Detects compression based on:
|
|
53
|
+
* 1. URL extension (.gz, .gzip)
|
|
54
|
+
* 2. Content-Encoding header
|
|
55
|
+
*
|
|
56
|
+
* @param url - URL to fetch content from
|
|
57
|
+
* @returns Promise resolving to text content (decompressed if needed)
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* // Automatically handles both compressed and uncompressed URLs
|
|
62
|
+
* const text1 = await fetchWithAutoDecompress('https://example.com/data.txt');
|
|
63
|
+
* const text2 = await fetchWithAutoDecompress('https://example.com/data.txt.gz');
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export declare const fetchWithAutoDecompress: (url: string) => Promise<string>;
|
|
67
|
+
//# sourceMappingURL=decompress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../../../src/experiments/evaluation/loaders/decompress.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgDH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc,GAAU,MAAM,UAAU,KAAG,OAAO,CAAC,MAAM,CAcrE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,CAWxE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,OAGvC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,CAczE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decompress.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/experiments/evaluation/loaders/decompress.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Support for loading benchmark datasets in various formats.
|
|
5
5
|
*/
|
|
6
|
+
export { decompressGzip, fetchAndDecompressGzip, fetchWithAutoDecompress, isGzipUrl, } from './decompress';
|
|
6
7
|
export { type EdgeListConfig, type LoadedEdge, loadEdgeList, type LoadedNode, loadGraph, loadGraphFromUrl, type LoadResult, loadTriples, type TripleConfig, } from './edge-list-loader';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/experiments/evaluation/loaders/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,UAAU,EACf,SAAS,EACT,gBAAgB,EAChB,KAAK,UAAU,EACf,WAAW,EACX,KAAK,YAAY,GACjB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/experiments/evaluation/loaders/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,GACT,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,UAAU,EACf,SAAS,EACT,gBAAgB,EAChB,KAAK,UAAU,EACf,WAAW,EACX,KAAK,YAAY,GACjB,MAAM,oBAAoB,CAAC"}
|
package/package.json
CHANGED