@flowmap.gl/data 8.0.0-alpha.2 → 8.0.0-alpha.6
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/{FlowMapAggregateAccessors.d.ts → FlowmapAggregateAccessors.d.ts} +6 -6
- package/dist/{FlowMapAggregateAccessors.d.ts.map → FlowmapAggregateAccessors.d.ts.map} +1 -1
- package/dist/{FlowMapAggregateAccessors.js → FlowmapAggregateAccessors.js} +3 -3
- package/dist/{FlowMapSelectors.d.ts → FlowmapSelectors.d.ts} +47 -45
- package/dist/FlowmapSelectors.d.ts.map +1 -0
- package/dist/FlowmapSelectors.js +869 -0
- package/dist/{FlowMapState.d.ts → FlowmapState.d.ts} +5 -2
- package/dist/FlowmapState.d.ts.map +1 -0
- package/dist/FlowmapState.js +2 -0
- package/dist/colors.d.ts +6 -6
- package/dist/colors.d.ts.map +1 -1
- package/dist/colors.js +42 -17
- package/dist/getViewStateForLocations.d.ts +12 -10
- package/dist/getViewStateForLocations.d.ts.map +1 -1
- package/dist/getViewStateForLocations.js +4 -1
- package/dist/index.d.ts +9 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -6
- package/dist/provider/FlowmapDataProvider.d.ts +16 -0
- package/dist/provider/FlowmapDataProvider.d.ts.map +1 -0
- package/dist/provider/FlowmapDataProvider.js +17 -0
- package/dist/provider/LocalFlowmapDataProvider.d.ts +20 -0
- package/dist/provider/LocalFlowmapDataProvider.d.ts.map +1 -0
- package/dist/provider/LocalFlowmapDataProvider.js +95 -0
- package/dist/provider/WorkerFlowmapDataProvider.d.ts +42 -0
- package/dist/provider/WorkerFlowmapDataProvider.d.ts.map +1 -0
- package/dist/provider/WorkerFlowmapDataProvider.js +82 -0
- package/dist/provider/WorkerFlowmapDataProviderWorker.d.ts +2 -0
- package/dist/provider/WorkerFlowmapDataProviderWorker.d.ts.map +1 -0
- package/dist/provider/WorkerFlowmapDataProviderWorker.js +4 -0
- package/dist/provider/createWorkerDataProvider.d.ts +3 -0
- package/dist/provider/createWorkerDataProvider.d.ts.map +1 -0
- package/dist/provider/createWorkerDataProvider.js +21 -0
- package/dist/types.d.ts +2 -2
- package/dist/types.js +1 -1
- package/dist/util.d.ts +0 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +1 -4
- package/package.json +7 -2
- package/src/{FlowMapAggregateAccessors.ts → FlowmapAggregateAccessors.ts} +6 -6
- package/src/{FlowMapSelectors.ts → FlowmapSelectors.ts} +154 -113
- package/src/{FlowMapState.ts → FlowmapState.ts} +4 -1
- package/src/colors.ts +50 -16
- package/src/getViewStateForLocations.ts +20 -16
- package/src/index.ts +9 -6
- package/src/provider/{FlowMapDataProvider.ts → FlowmapDataProvider.ts} +14 -12
- package/src/provider/LocalFlowmapDataProvider.ts +119 -0
- package/src/provider/WorkerFlowmapDataProvider.ts +121 -0
- package/src/provider/WorkerFlowmapDataProviderWorker.ts +4 -0
- package/src/provider/createWorkerDataProvider.ts +18 -0
- package/src/types.ts +2 -2
- package/src/util.ts +0 -4
- package/dist/FlowMapSelectors.d.ts.map +0 -1
- package/dist/FlowMapSelectors.js +0 -834
- package/dist/FlowMapState.d.ts.map +0 -1
- package/dist/FlowMapState.js +0 -2
- package/dist/provider/FlowMapDataProvider.d.ts +0 -16
- package/dist/provider/FlowMapDataProvider.d.ts.map +0 -1
- package/dist/provider/FlowMapDataProvider.js +0 -17
- package/dist/provider/LocalFlowMapDataProvider.d.ts +0 -20
- package/dist/provider/LocalFlowMapDataProvider.d.ts.map +0 -1
- package/dist/provider/LocalFlowMapDataProvider.js +0 -87
- package/src/provider/LocalFlowMapDataProvider.ts +0 -105
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type FlowmapDataProvider from './FlowmapDataProvider';
|
|
2
|
+
import type { Cluster, ClusterNode, FlowmapData, FlowmapDataAccessors, LayersData, LocationTotals, ViewportProps, AggregateFlow } from '../types';
|
|
3
|
+
import { FlowmapState } from '../FlowmapState';
|
|
4
|
+
import { GetViewStateOptions } from '../getViewStateForLocations';
|
|
5
|
+
export default class LocalFlowmapDataProvider<L, F> implements FlowmapDataProvider<L, F> {
|
|
6
|
+
private selectors;
|
|
7
|
+
private flowmapData;
|
|
8
|
+
private flowmapState;
|
|
9
|
+
constructor(accessors: FlowmapDataAccessors<L, F>);
|
|
10
|
+
setAccessors(accessors: FlowmapDataAccessors<L, F>): void;
|
|
11
|
+
setFlowmapData(flowmapData: FlowmapData<L, F>): Promise<void>;
|
|
12
|
+
setFlowmapState(flowmapState: FlowmapState): Promise<void>;
|
|
13
|
+
getFlowByIndex(idx: number): Promise<F | AggregateFlow | undefined>;
|
|
14
|
+
getLocationByIndex(idx: number): Promise<L | ClusterNode | undefined>;
|
|
15
|
+
getLayersData(): Promise<LayersData | undefined>;
|
|
16
|
+
getLocationById(id: string): Promise<L | Cluster | undefined>;
|
|
17
|
+
getTotalsForLocation(id: string): Promise<LocationTotals | undefined>;
|
|
18
|
+
getViewportForLocations(dims: [number, number], opts?: GetViewStateOptions): Promise<ViewportProps | undefined>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=LocalFlowmapDataProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalFlowmapDataProvider.d.ts","sourceRoot":"","sources":["../../src/provider/LocalFlowmapDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EACL,mBAAmB,EAEpB,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAChD,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAEpC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,YAAY,CAA2B;gBAEnC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAOjD,YAAY,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAI5C,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,aAAa,GAAG,SAAS,CAAC;IAWnE,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,GAAG,SAAS,CAAC;IAWrE,aAAa,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAOhD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC;IAqB7D,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IASrE,uBAAuB,CAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACtB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAYtC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import FlowmapSelectors from '../FlowmapSelectors';
|
|
11
|
+
import { getViewStateForLocations, } from '../getViewStateForLocations';
|
|
12
|
+
export default class LocalFlowmapDataProvider {
|
|
13
|
+
constructor(accessors) {
|
|
14
|
+
// scope selectors to the concrete instance of FlowmapDataProvider
|
|
15
|
+
this.selectors = new FlowmapSelectors(accessors);
|
|
16
|
+
this.flowmapData = undefined;
|
|
17
|
+
this.flowmapState = undefined;
|
|
18
|
+
}
|
|
19
|
+
setAccessors(accessors) {
|
|
20
|
+
this.selectors.setAccessors(accessors);
|
|
21
|
+
}
|
|
22
|
+
setFlowmapData(flowmapData) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
this.flowmapData = flowmapData;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
setFlowmapState(flowmapState) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
this.flowmapState = flowmapState;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
getFlowByIndex(idx) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
if (!this.flowmapState || !this.flowmapData) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const flows = this.selectors.getFlowsForFlowmapLayer(this.flowmapState, this.flowmapData);
|
|
38
|
+
return flows === null || flows === void 0 ? void 0 : flows[idx];
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
getLocationByIndex(idx) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
if (!this.flowmapState || !this.flowmapData) {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
const locations = this.selectors.getLocationsForFlowmapLayer(this.flowmapState, this.flowmapData);
|
|
47
|
+
return locations === null || locations === void 0 ? void 0 : locations[idx];
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
getLayersData() {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
if (!this.flowmapState || !this.flowmapData) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
return this.selectors.getLayersData(this.flowmapState, this.flowmapData);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
getLocationById(id) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
if (!this.flowmapState || !this.flowmapData) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
const clusterIndex = this.selectors.getClusterIndex(this.flowmapState, this.flowmapData);
|
|
64
|
+
if (clusterIndex) {
|
|
65
|
+
const cluster = clusterIndex.getClusterById(id);
|
|
66
|
+
if (cluster) {
|
|
67
|
+
return cluster;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const locationsById = this.selectors.getLocationsById(this.flowmapState, this.flowmapData);
|
|
71
|
+
return locationsById === null || locationsById === void 0 ? void 0 : locationsById.get(id);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
getTotalsForLocation(id) {
|
|
75
|
+
var _a;
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
if (!this.flowmapState || !this.flowmapData) {
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
return (_a = this.selectors
|
|
81
|
+
.getLocationTotals(this.flowmapState, this.flowmapData)) === null || _a === void 0 ? void 0 : _a.get(id);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
getViewportForLocations(dims, opts) {
|
|
85
|
+
var _a;
|
|
86
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
if (!((_a = this.flowmapData) === null || _a === void 0 ? void 0 : _a.locations)) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
// @ts-ignore
|
|
91
|
+
return getViewStateForLocations(this.flowmapData.locations, this.selectors.accessors.getLocationCentroid, dims, opts);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxGbG93bWFwRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVyL0xvY2FsRmxvd21hcERhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFZQSxPQUFPLGdCQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFFTCx3QkFBd0IsR0FDekIsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxNQUFNLENBQUMsT0FBTyxPQUFPLHdCQUF3QjtJQU8zQyxZQUFZLFNBQXFDO1FBQy9DLGtFQUFrRTtRQUNsRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQWdCLENBQU8sU0FBUyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFxQztRQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUssY0FBYyxDQUFDLFdBQThCOztZQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNqQyxDQUFDO0tBQUE7SUFFSyxlQUFlLENBQUMsWUFBMEI7O1lBQzlDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ25DLENBQUM7S0FBQTtJQUVLLGNBQWMsQ0FBQyxHQUFXOztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzNDLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FDbEQsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztZQUNGLE9BQU8sS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7S0FBQTtJQUVLLGtCQUFrQixDQUFDLEdBQVc7O1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDM0MsT0FBTyxTQUFTLENBQUM7YUFDbEI7WUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLDJCQUEyQixDQUMxRCxJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsV0FBVyxDQUNqQixDQUFDO1lBQ0YsT0FBTyxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUcsR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQztLQUFBO0lBRUssYUFBYTs7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUMzQyxPQUFPLFNBQVMsQ0FBQzthQUNsQjtZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0UsQ0FBQztLQUFBO0lBRUssZUFBZSxDQUFDLEVBQVU7O1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDM0MsT0FBTyxTQUFTLENBQUM7YUFDbEI7WUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FDakQsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztZQUNGLElBQUksWUFBWSxFQUFFO2dCQUNoQixNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLE9BQU8sRUFBRTtvQkFDWCxPQUFPLE9BQU8sQ0FBQztpQkFDaEI7YUFDRjtZQUNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQ25ELElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQUM7WUFDRixPQUFPLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEMsQ0FBQztLQUFBO0lBRUssb0JBQW9CLENBQUMsRUFBVTs7O1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDM0MsT0FBTyxTQUFTLENBQUM7YUFDbEI7WUFDRCxPQUFPLE1BQUEsSUFBSSxDQUFDLFNBQVM7aUJBQ2xCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQywwQ0FDckQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDOztLQUNiO0lBRUssdUJBQXVCLENBQzNCLElBQXNCLEVBQ3RCLElBQTBCOzs7WUFFMUIsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxTQUFTLENBQUEsRUFBRTtnQkFDaEMsT0FBTyxTQUFTLENBQUM7YUFDbEI7WUFDRCxhQUFhO1lBQ2IsT0FBTyx3QkFBd0IsQ0FDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUM1QyxJQUFJLEVBQ0osSUFBSSxDQUNMLENBQUM7O0tBQ0g7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIEZsb3dtYXBEYXRhUHJvdmlkZXIgZnJvbSAnLi9GbG93bWFwRGF0YVByb3ZpZGVyJztcbmltcG9ydCB0eXBlIHtcbiAgQ2x1c3RlcixcbiAgQ2x1c3Rlck5vZGUsXG4gIEZsb3dtYXBEYXRhLFxuICBGbG93bWFwRGF0YUFjY2Vzc29ycyxcbiAgTGF5ZXJzRGF0YSxcbiAgTG9jYXRpb25Ub3RhbHMsXG4gIFZpZXdwb3J0UHJvcHMsXG4gIEFnZ3JlZ2F0ZUZsb3csXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7Rmxvd21hcFN0YXRlfSBmcm9tICcuLi9GbG93bWFwU3RhdGUnO1xuaW1wb3J0IEZsb3dtYXBTZWxlY3RvcnMgZnJvbSAnLi4vRmxvd21hcFNlbGVjdG9ycyc7XG5pbXBvcnQge1xuICBHZXRWaWV3U3RhdGVPcHRpb25zLFxuICBnZXRWaWV3U3RhdGVGb3JMb2NhdGlvbnMsXG59IGZyb20gJy4uL2dldFZpZXdTdGF0ZUZvckxvY2F0aW9ucyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExvY2FsRmxvd21hcERhdGFQcm92aWRlcjxMLCBGPlxuICBpbXBsZW1lbnRzIEZsb3dtYXBEYXRhUHJvdmlkZXI8TCwgRj5cbntcbiAgcHJpdmF0ZSBzZWxlY3RvcnM6IEZsb3dtYXBTZWxlY3RvcnM8TCwgRj47XG4gIHByaXZhdGUgZmxvd21hcERhdGE6IEZsb3dtYXBEYXRhPEwsIEY+IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGZsb3dtYXBTdGF0ZTogRmxvd21hcFN0YXRlIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKGFjY2Vzc29yczogRmxvd21hcERhdGFBY2Nlc3NvcnM8TCwgRj4pIHtcbiAgICAvLyBzY29wZSBzZWxlY3RvcnMgdG8gdGhlIGNvbmNyZXRlIGluc3RhbmNlIG9mIEZsb3dtYXBEYXRhUHJvdmlkZXJcbiAgICB0aGlzLnNlbGVjdG9ycyA9IG5ldyBGbG93bWFwU2VsZWN0b3JzPEwsIEY+KGFjY2Vzc29ycyk7XG4gICAgdGhpcy5mbG93bWFwRGF0YSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmZsb3dtYXBTdGF0ZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldEFjY2Vzc29ycyhhY2Nlc3NvcnM6IEZsb3dtYXBEYXRhQWNjZXNzb3JzPEwsIEY+KSB7XG4gICAgdGhpcy5zZWxlY3RvcnMuc2V0QWNjZXNzb3JzKGFjY2Vzc29ycyk7XG4gIH1cblxuICBhc3luYyBzZXRGbG93bWFwRGF0YShmbG93bWFwRGF0YTogRmxvd21hcERhdGE8TCwgRj4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmZsb3dtYXBEYXRhID0gZmxvd21hcERhdGE7XG4gIH1cblxuICBhc3luYyBzZXRGbG93bWFwU3RhdGUoZmxvd21hcFN0YXRlOiBGbG93bWFwU3RhdGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmZsb3dtYXBTdGF0ZSA9IGZsb3dtYXBTdGF0ZTtcbiAgfVxuXG4gIGFzeW5jIGdldEZsb3dCeUluZGV4KGlkeDogbnVtYmVyKTogUHJvbWlzZTxGIHwgQWdncmVnYXRlRmxvdyB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5mbG93bWFwU3RhdGUgfHwgIXRoaXMuZmxvd21hcERhdGEpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGZsb3dzID0gdGhpcy5zZWxlY3RvcnMuZ2V0Rmxvd3NGb3JGbG93bWFwTGF5ZXIoXG4gICAgICB0aGlzLmZsb3dtYXBTdGF0ZSxcbiAgICAgIHRoaXMuZmxvd21hcERhdGEsXG4gICAgKTtcbiAgICByZXR1cm4gZmxvd3M/LltpZHhdO1xuICB9XG5cbiAgYXN5bmMgZ2V0TG9jYXRpb25CeUluZGV4KGlkeDogbnVtYmVyKTogUHJvbWlzZTxMIHwgQ2x1c3Rlck5vZGUgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd21hcFN0YXRlIHx8ICF0aGlzLmZsb3dtYXBEYXRhKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBsb2NhdGlvbnMgPSB0aGlzLnNlbGVjdG9ycy5nZXRMb2NhdGlvbnNGb3JGbG93bWFwTGF5ZXIoXG4gICAgICB0aGlzLmZsb3dtYXBTdGF0ZSxcbiAgICAgIHRoaXMuZmxvd21hcERhdGEsXG4gICAgKTtcbiAgICByZXR1cm4gbG9jYXRpb25zPy5baWR4XTtcbiAgfVxuXG4gIGFzeW5jIGdldExheWVyc0RhdGEoKTogUHJvbWlzZTxMYXllcnNEYXRhIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dtYXBTdGF0ZSB8fCAhdGhpcy5mbG93bWFwRGF0YSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3JzLmdldExheWVyc0RhdGEodGhpcy5mbG93bWFwU3RhdGUsIHRoaXMuZmxvd21hcERhdGEpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TG9jYXRpb25CeUlkKGlkOiBzdHJpbmcpOiBQcm9taXNlPEwgfCBDbHVzdGVyIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dtYXBTdGF0ZSB8fCAhdGhpcy5mbG93bWFwRGF0YSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgY2x1c3RlckluZGV4ID0gdGhpcy5zZWxlY3RvcnMuZ2V0Q2x1c3RlckluZGV4KFxuICAgICAgdGhpcy5mbG93bWFwU3RhdGUsXG4gICAgICB0aGlzLmZsb3dtYXBEYXRhLFxuICAgICk7XG4gICAgaWYgKGNsdXN0ZXJJbmRleCkge1xuICAgICAgY29uc3QgY2x1c3RlciA9IGNsdXN0ZXJJbmRleC5nZXRDbHVzdGVyQnlJZChpZCk7XG4gICAgICBpZiAoY2x1c3Rlcikge1xuICAgICAgICByZXR1cm4gY2x1c3RlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgbG9jYXRpb25zQnlJZCA9IHRoaXMuc2VsZWN0b3JzLmdldExvY2F0aW9uc0J5SWQoXG4gICAgICB0aGlzLmZsb3dtYXBTdGF0ZSxcbiAgICAgIHRoaXMuZmxvd21hcERhdGEsXG4gICAgKTtcbiAgICByZXR1cm4gbG9jYXRpb25zQnlJZD8uZ2V0KGlkKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRvdGFsc0ZvckxvY2F0aW9uKGlkOiBzdHJpbmcpOiBQcm9taXNlPExvY2F0aW9uVG90YWxzIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dtYXBTdGF0ZSB8fCAhdGhpcy5mbG93bWFwRGF0YSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3JzXG4gICAgICAuZ2V0TG9jYXRpb25Ub3RhbHModGhpcy5mbG93bWFwU3RhdGUsIHRoaXMuZmxvd21hcERhdGEpXG4gICAgICA/LmdldChpZCk7XG4gIH1cblxuICBhc3luYyBnZXRWaWV3cG9ydEZvckxvY2F0aW9ucyhcbiAgICBkaW1zOiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIG9wdHM/OiBHZXRWaWV3U3RhdGVPcHRpb25zLFxuICApOiBQcm9taXNlPFZpZXdwb3J0UHJvcHMgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd21hcERhdGE/LmxvY2F0aW9ucykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBnZXRWaWV3U3RhdGVGb3JMb2NhdGlvbnMoXG4gICAgICB0aGlzLmZsb3dtYXBEYXRhLmxvY2F0aW9ucyxcbiAgICAgIHRoaXMuc2VsZWN0b3JzLmFjY2Vzc29ycy5nZXRMb2NhdGlvbkNlbnRyb2lkLFxuICAgICAgZGltcyxcbiAgICAgIG9wdHMsXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import FlowmapDataProvider from './FlowmapDataProvider';
|
|
2
|
+
import { Cluster, ClusterNode, FlowmapData, FlowmapDataAccessors, LayersData, LocationTotals, ViewportProps } from '../types';
|
|
3
|
+
import { FlowmapState } from '../FlowmapState';
|
|
4
|
+
import { AggregateFlow } from '..';
|
|
5
|
+
export declare type WorkerDataProviderProps = {
|
|
6
|
+
flows: {
|
|
7
|
+
url: string;
|
|
8
|
+
columns: {
|
|
9
|
+
originId: string;
|
|
10
|
+
destId: string;
|
|
11
|
+
count: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
locations: {
|
|
15
|
+
url: string;
|
|
16
|
+
columns: {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
lat: string;
|
|
20
|
+
lon: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export declare type LocationDatum = Record<string, unknown>;
|
|
25
|
+
export declare type FlowDatum = Record<string, unknown>;
|
|
26
|
+
export default class WorkerFlowmapDataProvider implements FlowmapDataProvider<LocationDatum, FlowDatum> {
|
|
27
|
+
private props;
|
|
28
|
+
private localProvider;
|
|
29
|
+
private flowmapState;
|
|
30
|
+
constructor(props: WorkerDataProviderProps);
|
|
31
|
+
loadData(): Promise<void>;
|
|
32
|
+
setAccessors(accessors: FlowmapDataAccessors<LocationDatum, FlowDatum>): void;
|
|
33
|
+
setFlowmapData(flowmapData: FlowmapData<LocationDatum, FlowDatum>): Promise<void>;
|
|
34
|
+
setFlowmapState(flowmapState: FlowmapState): Promise<void>;
|
|
35
|
+
getFlowByIndex(idx: number): Promise<FlowDatum | AggregateFlow | undefined>;
|
|
36
|
+
getLocationByIndex(idx: number): Promise<LocationDatum | ClusterNode | undefined>;
|
|
37
|
+
getLayersData(): Promise<LayersData | undefined>;
|
|
38
|
+
getLocationById(id: string): Promise<LocationDatum | Cluster | undefined>;
|
|
39
|
+
getTotalsForLocation(id: string): Promise<LocationTotals | undefined>;
|
|
40
|
+
getViewportForLocations(dims: [number, number]): Promise<ViewportProps | undefined>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=WorkerFlowmapDataProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerFlowmapDataProvider.d.ts","sourceRoot":"","sources":["../../src/provider/WorkerFlowmapDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,OAAO,EACP,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,aAAa,EAAC,MAAM,IAAI,CAAC;AAOjC,oBAAY,uBAAuB,GAAG;IACpC,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE;YACP,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IACF,SAAS,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;CACH,CAAC;AAEF,oBAAY,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACpD,oBAAY,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,yBACnB,YAAW,mBAAmB,CAAC,aAAa,EAAE,SAAS,CAAC;IAExD,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,aAAa,CAAqD;IAC1E,OAAO,CAAC,YAAY,CAA2B;gBAEnC,KAAK,EAAE,uBAAuB;IAmBpC,QAAQ;IAQd,YAAY,CAAC,SAAS,EAAE,oBAAoB,CAAC,aAAa,EAAE,SAAS,CAAC;IAIhE,cAAc,CAClB,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,GACjD,OAAO,CAAC,IAAI,CAAC;IAIV,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,cAAc,CAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;IAI3C,kBAAkB,CACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;IAI7C,aAAa,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAIhD,eAAe,CACnB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;IAIzC,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAI3E,uBAAuB,CACrB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GACrB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAGtC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import LocalFlowmapDataProvider from './LocalFlowmapDataProvider';
|
|
11
|
+
import { load } from '@loaders.gl/core';
|
|
12
|
+
import { CSVLoader } from '@loaders.gl/csv';
|
|
13
|
+
const LOADERS = [CSVLoader];
|
|
14
|
+
export default class WorkerFlowmapDataProvider {
|
|
15
|
+
constructor(props) {
|
|
16
|
+
this.props = props;
|
|
17
|
+
this.localProvider = new LocalFlowmapDataProvider({
|
|
18
|
+
getFlowOriginId: (flow) => flow[props.flows.columns.originId],
|
|
19
|
+
getFlowDestId: (flow) => flow[props.flows.columns.destId],
|
|
20
|
+
getFlowMagnitude: (flow) => flow[props.flows.columns.count],
|
|
21
|
+
// getFlowTime: (flow) => flow.time,
|
|
22
|
+
getLocationCentroid: (location) => [
|
|
23
|
+
location[props.locations.columns.lon],
|
|
24
|
+
location[props.locations.columns.lat],
|
|
25
|
+
],
|
|
26
|
+
getLocationName: (location) => location[props.locations.columns.name],
|
|
27
|
+
getLocationId: (location) => location[props.locations.columns.id],
|
|
28
|
+
});
|
|
29
|
+
this.flowmapState = undefined;
|
|
30
|
+
}
|
|
31
|
+
loadData() {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
const [locations, flows] = yield Promise.all([
|
|
34
|
+
load(this.props.locations.url, LOADERS),
|
|
35
|
+
load(this.props.flows.url, LOADERS),
|
|
36
|
+
]);
|
|
37
|
+
yield this.localProvider.setFlowmapData({ locations, flows });
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
setAccessors(accessors) {
|
|
41
|
+
throw new Error('Not supported');
|
|
42
|
+
}
|
|
43
|
+
setFlowmapData(flowmapData) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
throw new Error('Not supported');
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
setFlowmapState(flowmapState) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
yield this.localProvider.setFlowmapState(flowmapState);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
getFlowByIndex(idx) {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
return this.localProvider.getFlowByIndex(idx);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
getLocationByIndex(idx) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
return this.localProvider.getLocationByIndex(idx);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
getLayersData() {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
return yield this.localProvider.getLayersData();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
getLocationById(id) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
return this.localProvider.getLocationById(id);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
getTotalsForLocation(id) {
|
|
74
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
return this.localProvider.getTotalsForLocation(id);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
getViewportForLocations(dims) {
|
|
79
|
+
return this.localProvider.getViewportForLocations(dims);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV29ya2VyRmxvd21hcERhdGFQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aWRlci9Xb3JrZXJGbG93bWFwRGF0YVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVlBLE9BQU8sd0JBQXdCLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUUxQyxNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBeUI1QixNQUFNLENBQUMsT0FBTyxPQUFPLHlCQUF5QjtJQU81QyxZQUFZLEtBQThCO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQztZQUNoRCxlQUFlLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQVc7WUFDdkUsYUFBYSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFXO1lBQ25FLGdCQUFnQixFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFXO1lBQ3JFLG9DQUFvQztZQUNwQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7Z0JBQ2pDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQVc7Z0JBQy9DLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQVc7YUFDaEQ7WUFDRCxlQUFlLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUM1QixRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFXO1lBQ2xELGFBQWEsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQzFCLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQVc7U0FDakQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVLLFFBQVE7O1lBQ1osTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQzthQUNwQyxDQUFDLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztLQUFBO0lBRUQsWUFBWSxDQUFDLFNBQXlEO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVLLGNBQWMsQ0FDbEIsV0FBa0Q7O1lBRWxELE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsQ0FBQztLQUFBO0lBRUssZUFBZSxDQUFDLFlBQTBCOztZQUM5QyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pELENBQUM7S0FBQTtJQUVLLGNBQWMsQ0FDbEIsR0FBVzs7WUFFWCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELENBQUM7S0FBQTtJQUVLLGtCQUFrQixDQUN0QixHQUFXOztZQUVYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRCxDQUFDO0tBQUE7SUFFSyxhQUFhOztZQUNqQixPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNsRCxDQUFDO0tBQUE7SUFFSyxlQUFlLENBQ25CLEVBQVU7O1lBRVYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRCxDQUFDO0tBQUE7SUFFSyxvQkFBb0IsQ0FBQyxFQUFVOztZQUNuQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztLQUFBO0lBRUQsdUJBQXVCLENBQ3JCLElBQXNCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRmxvd21hcERhdGFQcm92aWRlciBmcm9tICcuL0Zsb3dtYXBEYXRhUHJvdmlkZXInO1xuaW1wb3J0IHtcbiAgQ2x1c3RlcixcbiAgQ2x1c3Rlck5vZGUsXG4gIEZsb3dtYXBEYXRhLFxuICBGbG93bWFwRGF0YUFjY2Vzc29ycyxcbiAgTGF5ZXJzRGF0YSxcbiAgTG9jYXRpb25Ub3RhbHMsXG4gIFZpZXdwb3J0UHJvcHMsXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7Rmxvd21hcFN0YXRlfSBmcm9tICcuLi9GbG93bWFwU3RhdGUnO1xuaW1wb3J0IHtBZ2dyZWdhdGVGbG93fSBmcm9tICcuLic7XG5pbXBvcnQgTG9jYWxGbG93bWFwRGF0YVByb3ZpZGVyIGZyb20gJy4vTG9jYWxGbG93bWFwRGF0YVByb3ZpZGVyJztcbmltcG9ydCB7bG9hZH0gZnJvbSAnQGxvYWRlcnMuZ2wvY29yZSc7XG5pbXBvcnQge0NTVkxvYWRlcn0gZnJvbSAnQGxvYWRlcnMuZ2wvY3N2JztcblxuY29uc3QgTE9BREVSUyA9IFtDU1ZMb2FkZXJdO1xuXG5leHBvcnQgdHlwZSBXb3JrZXJEYXRhUHJvdmlkZXJQcm9wcyA9IHtcbiAgZmxvd3M6IHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBjb2x1bW5zOiB7XG4gICAgICBvcmlnaW5JZDogc3RyaW5nO1xuICAgICAgZGVzdElkOiBzdHJpbmc7XG4gICAgICBjb3VudDogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGxvY2F0aW9uczoge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGNvbHVtbnM6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBsYXQ6IHN0cmluZztcbiAgICAgIGxvbjogc3RyaW5nO1xuICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBMb2NhdGlvbkRhdHVtID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5leHBvcnQgdHlwZSBGbG93RGF0dW0gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgV29ya2VyRmxvd21hcERhdGFQcm92aWRlclxuICBpbXBsZW1lbnRzIEZsb3dtYXBEYXRhUHJvdmlkZXI8TG9jYXRpb25EYXR1bSwgRmxvd0RhdHVtPlxue1xuICBwcml2YXRlIHByb3BzOiBXb3JrZXJEYXRhUHJvdmlkZXJQcm9wcztcbiAgcHJpdmF0ZSBsb2NhbFByb3ZpZGVyOiBMb2NhbEZsb3dtYXBEYXRhUHJvdmlkZXI8TG9jYXRpb25EYXR1bSwgRmxvd0RhdHVtPjtcbiAgcHJpdmF0ZSBmbG93bWFwU3RhdGU6IEZsb3dtYXBTdGF0ZSB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogV29ya2VyRGF0YVByb3ZpZGVyUHJvcHMpIHtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5sb2NhbFByb3ZpZGVyID0gbmV3IExvY2FsRmxvd21hcERhdGFQcm92aWRlcih7XG4gICAgICBnZXRGbG93T3JpZ2luSWQ6IChmbG93KSA9PiBmbG93W3Byb3BzLmZsb3dzLmNvbHVtbnMub3JpZ2luSWRdIGFzIHN0cmluZyxcbiAgICAgIGdldEZsb3dEZXN0SWQ6IChmbG93KSA9PiBmbG93W3Byb3BzLmZsb3dzLmNvbHVtbnMuZGVzdElkXSBhcyBzdHJpbmcsXG4gICAgICBnZXRGbG93TWFnbml0dWRlOiAoZmxvdykgPT4gZmxvd1twcm9wcy5mbG93cy5jb2x1bW5zLmNvdW50XSBhcyBudW1iZXIsXG4gICAgICAvLyBnZXRGbG93VGltZTogKGZsb3cpID0+IGZsb3cudGltZSxcbiAgICAgIGdldExvY2F0aW9uQ2VudHJvaWQ6IChsb2NhdGlvbikgPT4gW1xuICAgICAgICBsb2NhdGlvbltwcm9wcy5sb2NhdGlvbnMuY29sdW1ucy5sb25dIGFzIG51bWJlcixcbiAgICAgICAgbG9jYXRpb25bcHJvcHMubG9jYXRpb25zLmNvbHVtbnMubGF0XSBhcyBudW1iZXIsXG4gICAgICBdLFxuICAgICAgZ2V0TG9jYXRpb25OYW1lOiAobG9jYXRpb24pID0+XG4gICAgICAgIGxvY2F0aW9uW3Byb3BzLmxvY2F0aW9ucy5jb2x1bW5zLm5hbWVdIGFzIHN0cmluZyxcbiAgICAgIGdldExvY2F0aW9uSWQ6IChsb2NhdGlvbikgPT5cbiAgICAgICAgbG9jYXRpb25bcHJvcHMubG9jYXRpb25zLmNvbHVtbnMuaWRdIGFzIHN0cmluZyxcbiAgICB9KTtcbiAgICB0aGlzLmZsb3dtYXBTdGF0ZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGFzeW5jIGxvYWREYXRhKCkge1xuICAgIGNvbnN0IFtsb2NhdGlvbnMsIGZsb3dzXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgIGxvYWQodGhpcy5wcm9wcy5sb2NhdGlvbnMudXJsLCBMT0FERVJTKSxcbiAgICAgIGxvYWQodGhpcy5wcm9wcy5mbG93cy51cmwsIExPQURFUlMpLFxuICAgIF0pO1xuICAgIGF3YWl0IHRoaXMubG9jYWxQcm92aWRlci5zZXRGbG93bWFwRGF0YSh7bG9jYXRpb25zLCBmbG93c30pO1xuICB9XG5cbiAgc2V0QWNjZXNzb3JzKGFjY2Vzc29yczogRmxvd21hcERhdGFBY2Nlc3NvcnM8TG9jYXRpb25EYXR1bSwgRmxvd0RhdHVtPikge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IHN1cHBvcnRlZCcpO1xuICB9XG5cbiAgYXN5bmMgc2V0Rmxvd21hcERhdGEoXG4gICAgZmxvd21hcERhdGE6IEZsb3dtYXBEYXRhPExvY2F0aW9uRGF0dW0sIEZsb3dEYXR1bT4sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IHN1cHBvcnRlZCcpO1xuICB9XG5cbiAgYXN5bmMgc2V0Rmxvd21hcFN0YXRlKGZsb3dtYXBTdGF0ZTogRmxvd21hcFN0YXRlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5sb2NhbFByb3ZpZGVyLnNldEZsb3dtYXBTdGF0ZShmbG93bWFwU3RhdGUpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Rmxvd0J5SW5kZXgoXG4gICAgaWR4OiBudW1iZXIsXG4gICk6IFByb21pc2U8Rmxvd0RhdHVtIHwgQWdncmVnYXRlRmxvdyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmxvY2FsUHJvdmlkZXIuZ2V0Rmxvd0J5SW5kZXgoaWR4KTtcbiAgfVxuXG4gIGFzeW5jIGdldExvY2F0aW9uQnlJbmRleChcbiAgICBpZHg6IG51bWJlcixcbiAgKTogUHJvbWlzZTxMb2NhdGlvbkRhdHVtIHwgQ2x1c3Rlck5vZGUgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5sb2NhbFByb3ZpZGVyLmdldExvY2F0aW9uQnlJbmRleChpZHgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TGF5ZXJzRGF0YSgpOiBQcm9taXNlPExheWVyc0RhdGEgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhbFByb3ZpZGVyLmdldExheWVyc0RhdGEoKTtcbiAgfVxuXG4gIGFzeW5jIGdldExvY2F0aW9uQnlJZChcbiAgICBpZDogc3RyaW5nLFxuICApOiBQcm9taXNlPExvY2F0aW9uRGF0dW0gfCBDbHVzdGVyIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMubG9jYWxQcm92aWRlci5nZXRMb2NhdGlvbkJ5SWQoaWQpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG90YWxzRm9yTG9jYXRpb24oaWQ6IHN0cmluZyk6IFByb21pc2U8TG9jYXRpb25Ub3RhbHMgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5sb2NhbFByb3ZpZGVyLmdldFRvdGFsc0ZvckxvY2F0aW9uKGlkKTtcbiAgfVxuXG4gIGdldFZpZXdwb3J0Rm9yTG9jYXRpb25zKFxuICAgIGRpbXM6IFtudW1iZXIsIG51bWJlcl0sXG4gICk6IFByb21pc2U8Vmlld3BvcnRQcm9wcyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmxvY2FsUHJvdmlkZXIuZ2V0Vmlld3BvcnRGb3JMb2NhdGlvbnMoZGltcyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerFlowmapDataProviderWorker.d.ts","sourceRoot":"","sources":["../../src/provider/WorkerFlowmapDataProviderWorker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { expose } from 'comlink';
|
|
2
|
+
import WorkerFlowmapDataProvider from './WorkerFlowmapDataProvider';
|
|
3
|
+
expose(WorkerFlowmapDataProvider);
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV29ya2VyRmxvd21hcERhdGFQcm92aWRlcldvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aWRlci9Xb3JrZXJGbG93bWFwRGF0YVByb3ZpZGVyV29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDL0IsT0FBTyx5QkFBeUIsTUFBTSw2QkFBNkIsQ0FBQztBQUVwRSxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZXhwb3NlfSBmcm9tICdjb21saW5rJztcbmltcG9ydCBXb3JrZXJGbG93bWFwRGF0YVByb3ZpZGVyIGZyb20gJy4vV29ya2VyRmxvd21hcERhdGFQcm92aWRlcic7XG5cbmV4cG9zZShXb3JrZXJGbG93bWFwRGF0YVByb3ZpZGVyKTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createWorkerDataProvider.d.ts","sourceRoot":"","sources":["../../src/provider/createWorkerDataProvider.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,EAAE,EAChC,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAErC,wBAA8B,wBAAwB,CACpD,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,yBAAyB,CAAC,CAUpC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import * as Comlink from 'comlink';
|
|
11
|
+
export default function createWorkerDataProvider(props) {
|
|
12
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
13
|
+
const worker = new Worker(new URL('./' + 'WorkerFlowmapDataProviderWorker', import.meta.url));
|
|
14
|
+
const WorkerFlowmapDataProvider = Comlink.wrap(worker);
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
const provider = yield new WorkerFlowmapDataProvider(props);
|
|
17
|
+
yield provider.loadData();
|
|
18
|
+
return provider;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlV29ya2VyRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVyL2NyZWF0ZVdvcmtlckRhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUtuQyxNQUFNLENBQUMsT0FBTyxVQUFnQix3QkFBd0IsQ0FDcEQsS0FBOEI7O1FBRTlCLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUN2QixJQUFJLEdBQUcsQ0FBQyxJQUFJLEdBQUcsaUNBQWlDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDbkUsQ0FBQztRQUNGLE1BQU0seUJBQXlCLEdBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQTRCLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELGFBQWE7UUFDYixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUkseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsTUFBTSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQ29tbGluayBmcm9tICdjb21saW5rJztcbmltcG9ydCBXb3JrZXJGbG93bWFwRGF0YVByb3ZpZGVyLCB7XG4gIFdvcmtlckRhdGFQcm92aWRlclByb3BzLFxufSBmcm9tICcuL1dvcmtlckZsb3dtYXBEYXRhUHJvdmlkZXInO1xuXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiBjcmVhdGVXb3JrZXJEYXRhUHJvdmlkZXIoXG4gIHByb3BzOiBXb3JrZXJEYXRhUHJvdmlkZXJQcm9wcyxcbik6IFByb21pc2U8V29ya2VyRmxvd21hcERhdGFQcm92aWRlcj4ge1xuICBjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKFxuICAgIG5ldyBVUkwoJy4vJyArICdXb3JrZXJGbG93bWFwRGF0YVByb3ZpZGVyV29ya2VyJywgaW1wb3J0Lm1ldGEudXJsKSxcbiAgKTtcbiAgY29uc3QgV29ya2VyRmxvd21hcERhdGFQcm92aWRlciA9XG4gICAgQ29tbGluay53cmFwPFdvcmtlckZsb3dtYXBEYXRhUHJvdmlkZXI+KHdvcmtlcik7XG4gIC8vIEB0cy1pZ25vcmVcbiAgY29uc3QgcHJvdmlkZXIgPSBhd2FpdCBuZXcgV29ya2VyRmxvd21hcERhdGFQcm92aWRlcihwcm9wcyk7XG4gIGF3YWl0IHByb3ZpZGVyLmxvYWREYXRhKCk7XG4gIHJldHVybiBwcm92aWRlcjtcbn1cbiJdfQ==
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare type
|
|
1
|
+
export declare type FlowmapData<L, F> = {
|
|
2
2
|
locations: L[] | undefined;
|
|
3
3
|
flows: F[] | undefined;
|
|
4
4
|
};
|
|
@@ -24,7 +24,7 @@ export interface LocationAccessors<L> {
|
|
|
24
24
|
getLocationCentroid: LocationAccessor<L, [number, number]>;
|
|
25
25
|
getLocationClusterName?: (locationIds: string[]) => string;
|
|
26
26
|
}
|
|
27
|
-
export declare type
|
|
27
|
+
export declare type FlowmapDataAccessors<L, F> = LocationAccessors<L> & FlowAccessors<F>;
|
|
28
28
|
export interface LocationTotals {
|
|
29
29
|
incomingCount: number;
|
|
30
30
|
outgoingCount: number;
|
package/dist/types.js
CHANGED
|
@@ -20,4 +20,4 @@ export var LocationFilterMode;
|
|
|
20
20
|
LocationFilterMode["OUTGOING"] = "OUTGOING";
|
|
21
21
|
LocationFilterMode["BETWEEN"] = "BETWEEN";
|
|
22
22
|
})(LocationFilterMode || (LocationFilterMode = {}));
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkZBLE1BQU0sVUFBVSxTQUFTLENBQUMsQ0FBYztJQUN0QyxNQUFNLEVBQUMsUUFBUSxFQUFDLEdBQUcsQ0FBWSxDQUFDO0lBQ2hDLE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUksQ0FBa0I7SUFDekQsTUFBTSxFQUFDLElBQUksRUFBQyxHQUFHLENBQWdCLENBQUM7SUFDaEMsT0FBTyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQzVCLENBQUM7QUFTRCxNQUFNLFVBQVUsZUFBZSxDQUM3QixJQUF5QjtJQUV6QixPQUFPLENBQ0wsSUFBSTtRQUNKLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUztRQUN6QixJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVM7UUFDdkIsSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTO1FBQ3hCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDaEMsQ0FBQztBQUNKLENBQUM7QUFPRCxNQUFNLENBQU4sSUFBWSxrQkFLWDtBQUxELFdBQVksa0JBQWtCO0lBQzVCLGlDQUFXLENBQUE7SUFDWCwyQ0FBcUIsQ0FBQTtJQUNyQiwyQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUs3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEZsb3dtYXBEYXRhPEwsIEY+ID0ge1xuICBsb2NhdGlvbnM6IExbXSB8IHVuZGVmaW5lZDtcbiAgZmxvd3M6IEZbXSB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld1N0YXRlIHtcbiAgbGF0aXR1ZGU6IG51bWJlcjtcbiAgbG9uZ2l0dWRlOiBudW1iZXI7XG4gIHpvb206IG51bWJlcjtcbiAgYmVhcmluZz86IG51bWJlcjtcbiAgcGl0Y2g/OiBudW1iZXI7XG4gIGFsdGl0dWRlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBGbG93QWNjZXNzb3I8RiwgVD4gPSAoZmxvdzogRikgPT4gVDsgLy8gb2JqZWN0SW5mbz86IEFjY2Vzc29yT2JqZWN0SW5mbyxcbmV4cG9ydCB0eXBlIExvY2F0aW9uQWNjZXNzb3I8TCwgVD4gPSAobG9jYXRpb246IEwpID0+IFQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0FjY2Vzc29yczxGPiB7XG4gIGdldEZsb3dPcmlnaW5JZDogRmxvd0FjY2Vzc29yPEYsIHN0cmluZz47XG4gIGdldEZsb3dEZXN0SWQ6IEZsb3dBY2Nlc3NvcjxGLCBzdHJpbmc+O1xuICBnZXRGbG93TWFnbml0dWRlOiBGbG93QWNjZXNzb3I8RiwgbnVtYmVyPjtcbiAgZ2V0Rmxvd1RpbWU/OiBGbG93QWNjZXNzb3I8RiwgRGF0ZT47IC8vIFRPRE86IHVzZSBudW1iZXIgaW5zdGVhZCBvZiBEYXRlXG4gIC8vIGdldEZsb3dDb2xvcj86IEZsb3dBY2Nlc3NvcjxzdHJpbmcgfCB1bmRlZmluZWQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uQWNjZXNzb3JzPEw+IHtcbiAgZ2V0TG9jYXRpb25JZDogTG9jYXRpb25BY2Nlc3NvcjxMLCBzdHJpbmc+O1xuICBnZXRMb2NhdGlvbk5hbWU/OiBMb2NhdGlvbkFjY2Vzc29yPEwsIHN0cmluZz47XG4gIGdldExvY2F0aW9uQ2VudHJvaWQ6IExvY2F0aW9uQWNjZXNzb3I8TCwgW251bWJlciwgbnVtYmVyXT47XG4gIGdldExvY2F0aW9uQ2x1c3Rlck5hbWU/OiAobG9jYXRpb25JZHM6IHN0cmluZ1tdKSA9PiBzdHJpbmc7XG4gIC8vIGdldExvY2F0aW9uVG90YWxJbj86IExvY2F0aW9uQWNjZXNzb3I8bnVtYmVyPjtcbiAgLy8gZ2V0TG9jYXRpb25Ub3RhbE91dD86IExvY2F0aW9uQWNjZXNzb3I8bnVtYmVyPjtcbiAgLy8gZ2V0TG9jYXRpb25Ub3RhbEludGVybmFsPzogTG9jYXRpb25BY2Nlc3NvcjxudW1iZXI+O1xufVxuXG5leHBvcnQgdHlwZSBGbG93bWFwRGF0YUFjY2Vzc29yczxMLCBGPiA9IExvY2F0aW9uQWNjZXNzb3JzPEw+ICZcbiAgRmxvd0FjY2Vzc29yczxGPjtcblxuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvblRvdGFscyB7XG4gIGluY29taW5nQ291bnQ6IG51bWJlcjtcbiAgb3V0Z29pbmdDb3VudDogbnVtYmVyO1xuICBpbnRlcm5hbENvdW50OiBudW1iZXI7XG59XG5cbi8vIGV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25zVG90YWxzIHtcbi8vICAgaW5jb21pbmc6IHtbaWQ6IHN0cmluZ106IG51bWJlcn07XG4vLyAgIG91dGdvaW5nOiB7W2lkOiBzdHJpbmddOiBudW1iZXJ9O1xuLy8gICBpbnRlcm5hbDoge1tpZDogc3RyaW5nXTogbnVtYmVyfTtcbi8vIH1cblxuZXhwb3J0IGludGVyZmFjZSBDb3VudEJ5VGltZSB7XG4gIHRpbWU6IERhdGU7XG4gIGNvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld3BvcnRQcm9wcyB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICBsYXRpdHVkZTogbnVtYmVyO1xuICBsb25naXR1ZGU6IG51bWJlcjtcbiAgem9vbTogbnVtYmVyO1xuICBiZWFyaW5nOiBudW1iZXI7XG4gIHBpdGNoOiBudW1iZXI7XG4gIGFsdGl0dWRlPzogbnVtYmVyO1xuICBtYXhab29tPzogbnVtYmVyO1xuICBtaW5ab29tPzogbnVtYmVyO1xuICBtYXhQaXRjaD86IG51bWJlcjtcbiAgbWluUGl0Y2g/OiBudW1iZXI7XG4gIHRyYW5zaXRpb25EdXJhdGlvbj86IG51bWJlciB8ICdhdXRvJztcbiAgdHJhbnNpdGlvbkludGVycG9sYXRvcj86IGFueTtcbiAgdHJhbnNpdGlvbkludGVycnVwdGlvbj86IGFueTtcbiAgdHJhbnNpdGlvbkVhc2luZz86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyTm9kZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHpvb206IG51bWJlcjtcbiAgY2VudHJvaWQ6IFtudW1iZXIsIG51bWJlcl07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlckxldmVsIHtcbiAgem9vbTogbnVtYmVyO1xuICBub2RlczogQ2x1c3Rlck5vZGVbXTtcbn1cblxuZXhwb3J0IHR5cGUgQ2x1c3RlckxldmVscyA9IENsdXN0ZXJMZXZlbFtdO1xuXG4vLyBub24tbGVhZiBjbHVzdGVyIG5vZGVcbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlciBleHRlbmRzIENsdXN0ZXJOb2RlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgY2hpbGRyZW46IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDbHVzdGVyKGM6IENsdXN0ZXJOb2RlKTogYyBpcyBDbHVzdGVyIHtcbiAgY29uc3Qge2NoaWxkcmVufSA9IGMgYXMgQ2x1c3RlcjtcbiAgcmV0dXJuIGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xvY2F0aW9uQ2x1c3Rlck5vZGU8TD4obDogTCB8IENsdXN0ZXJOb2RlKTogbCBpcyBDbHVzdGVyTm9kZSB7XG4gIGNvbnN0IHt6b29tfSA9IGwgYXMgQ2x1c3Rlck5vZGU7XG4gIHJldHVybiB6b29tICE9PSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdncmVnYXRlRmxvdyB7XG4gIG9yaWdpbjogc3RyaW5nO1xuICBkZXN0OiBzdHJpbmc7XG4gIGNvdW50OiBudW1iZXI7XG4gIGFnZ3JlZ2F0ZTogdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWdncmVnYXRlRmxvdyhcbiAgZmxvdzogUmVjb3JkPHN0cmluZywgYW55Pixcbik6IGZsb3cgaXMgQWdncmVnYXRlRmxvdyB7XG4gIHJldHVybiAoXG4gICAgZmxvdyAmJlxuICAgIGZsb3cub3JpZ2luICE9PSB1bmRlZmluZWQgJiZcbiAgICBmbG93LmRlc3QgIT09IHVuZGVmaW5lZCAmJlxuICAgIGZsb3cuY291bnQgIT09IHVuZGVmaW5lZCAmJlxuICAgIChmbG93LmFnZ3JlZ2F0ZSA/IHRydWUgOiBmYWxzZSlcbiAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG93Q291bnRzTWFwUmVkdWNlPEYsIFQgPSBhbnk+IHtcbiAgbWFwOiAoZmxvdzogRikgPT4gVDtcbiAgcmVkdWNlOiAoYWNjdW11bGF0ZWQ6IFQsIHZhbDogVCkgPT4gVDtcbn1cblxuZXhwb3J0IGVudW0gTG9jYXRpb25GaWx0ZXJNb2RlIHtcbiAgQUxMID0gJ0FMTCcsXG4gIElOQ09NSU5HID0gJ0lOQ09NSU5HJyxcbiAgT1VUR09JTkcgPSAnT1VUR09JTkcnLFxuICBCRVRXRUVOID0gJ0JFVFdFRU4nLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dDaXJjbGVzTGF5ZXJBdHRyaWJ1dGVzIHtcbiAgbGVuZ3RoOiBudW1iZXI7XG4gIGF0dHJpYnV0ZXM6IHtcbiAgICBnZXRQb3NpdGlvbjogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgICBnZXRDb2xvcjogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8VWludDhBcnJheT47XG4gICAgZ2V0SW5SYWRpdXM6IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0T3V0UmFkaXVzOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dMaW5lc0xheWVyQXR0cmlidXRlcyB7XG4gIGxlbmd0aDogbnVtYmVyO1xuICBhdHRyaWJ1dGVzOiB7XG4gICAgZ2V0U291cmNlUG9zaXRpb246IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0VGFyZ2V0UG9zaXRpb246IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0VGhpY2tuZXNzOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICAgIGdldENvbG9yOiBMYXllcnNEYXRhQXR0clZhbHVlczxVaW50OEFycmF5PjtcbiAgICBnZXRFbmRwb2ludE9mZnNldHM6IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0U3RhZ2dlcmluZz86IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJzRGF0YSB7XG4gIGNpcmNsZUF0dHJpYnV0ZXM6IEZsb3dDaXJjbGVzTGF5ZXJBdHRyaWJ1dGVzO1xuICBsaW5lQXR0cmlidXRlczogRmxvd0xpbmVzTGF5ZXJBdHRyaWJ1dGVzO1xufVxuXG5leHBvcnQgdHlwZSBMYXllcnNEYXRhQXR0clZhbHVlczxUPiA9IHt2YWx1ZTogVDsgc2l6ZTogbnVtYmVyfTtcbiJdfQ==
|
package/dist/util.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { defaultMemoize } from 'reselect';
|
|
2
|
-
export declare function flatMap<S, T>(xs: S[], f: (item: S) => T | T[]): T[];
|
|
3
2
|
export declare const createDebugSelector: import("reselect").CreateSelectorFunction<(...args: unknown[]) => unknown, typeof defaultMemoize, [equalityCheckOrOptions?: import("reselect").EqualityFn | import("reselect").DefaultMemoizeOptions | undefined], {
|
|
4
3
|
clearCache: () => void;
|
|
5
4
|
}>;
|
package/dist/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,cAAc,EAAC,MAAM,UAAU,CAAC;AAE/D,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,cAAc,EAAC,MAAM,UAAU,CAAC;AAE/D,eAAO,MAAM,mBAAmB;;EAQ9B,CAAC"}
|
package/dist/util.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { createSelectorCreator, defaultMemoize } from 'reselect';
|
|
2
|
-
export function flatMap(xs, f) {
|
|
3
|
-
return xs.reduce((acc, x) => acc.concat(f(x)), []);
|
|
4
|
-
}
|
|
5
2
|
export const createDebugSelector = createSelectorCreator(defaultMemoize, {
|
|
6
3
|
equalityCheck: (previousVal, currentVal) => {
|
|
7
4
|
const rv = currentVal === previousVal;
|
|
@@ -11,4 +8,4 @@ export const createDebugSelector = createSelectorCreator(defaultMemoize, {
|
|
|
11
8
|
return rv;
|
|
12
9
|
},
|
|
13
10
|
});
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFL0QsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcscUJBQXFCLENBQUMsY0FBYyxFQUFFO0lBQ3ZFLGFBQWEsRUFBRSxDQUFDLFdBQWdCLEVBQUUsVUFBZSxFQUFFLEVBQUU7UUFDbkQsTUFBTSxFQUFFLEdBQUcsVUFBVSxLQUFLLFdBQVcsQ0FBQztRQUN0QyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUN6RDtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3JlYXRlU2VsZWN0b3JDcmVhdG9yLCBkZWZhdWx0TWVtb2l6ZX0gZnJvbSAncmVzZWxlY3QnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRGVidWdTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yQ3JlYXRvcihkZWZhdWx0TWVtb2l6ZSwge1xuICBlcXVhbGl0eUNoZWNrOiAocHJldmlvdXNWYWw6IGFueSwgY3VycmVudFZhbDogYW55KSA9PiB7XG4gICAgY29uc3QgcnYgPSBjdXJyZW50VmFsID09PSBwcmV2aW91c1ZhbDtcbiAgICBpZiAoIXJ2KSB7XG4gICAgICBjb25zb2xlLmxvZygnU2VsZWN0b3IgcGFyYW0gdmFsdWUgY2hhbmdlZCcsIGN1cnJlbnRWYWwpO1xuICAgIH1cbiAgICByZXR1cm4gcnY7XG4gIH0sXG59KTtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowmap.gl/data",
|
|
3
|
-
"version": "8.0.0-alpha.
|
|
3
|
+
"version": "8.0.0-alpha.6",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@mapbox/geo-viewport": "^0.5.0",
|
|
17
|
+
"comlink": "^4.3.1",
|
|
17
18
|
"d3-array": "^3.0.2",
|
|
18
19
|
"d3-collection": "^1.0.7",
|
|
19
20
|
"d3-color": "^3.0.1",
|
|
@@ -42,8 +43,12 @@
|
|
|
42
43
|
"@types/mapbox__geo-viewport": "^0.4.1",
|
|
43
44
|
"@types/seedrandom": "^3.0.1"
|
|
44
45
|
},
|
|
45
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "3d9b5831461c4df182f289892dc7af90718d9fbc",
|
|
46
47
|
"publishConfig": {
|
|
47
48
|
"access": "public"
|
|
49
|
+
},
|
|
50
|
+
"peerDependencies": {
|
|
51
|
+
"@loaders.gl/core": "^3.1.4",
|
|
52
|
+
"@loaders.gl/csv": "^3.1.4"
|
|
48
53
|
}
|
|
49
54
|
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AggregateFlow,
|
|
3
3
|
ClusterNode,
|
|
4
|
-
|
|
4
|
+
FlowmapDataAccessors,
|
|
5
5
|
isAggregateFlow,
|
|
6
6
|
isCluster,
|
|
7
7
|
isLocationClusterNode,
|
|
8
8
|
} from './types';
|
|
9
9
|
|
|
10
|
-
export default class
|
|
11
|
-
private accessors:
|
|
12
|
-
constructor(accessors:
|
|
10
|
+
export default class FlowmapAggregateAccessors<L, F> {
|
|
11
|
+
private accessors: FlowmapDataAccessors<L, F>;
|
|
12
|
+
constructor(accessors: FlowmapDataAccessors<L, F>) {
|
|
13
13
|
this.accessors = accessors;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
setAccessors(accessors:
|
|
16
|
+
setAccessors(accessors: FlowmapDataAccessors<L, F>) {
|
|
17
17
|
this.accessors = accessors;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
getFlowmapDataAccessors() {
|
|
21
21
|
return this.accessors;
|
|
22
22
|
}
|
|
23
23
|
|