@flowmap.gl/data 8.0.0-alpha.1 → 8.0.0-alpha.13
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 +16 -0
- package/dist/FlowmapAggregateAccessors.d.ts.map +1 -0
- package/dist/FlowmapAggregateAccessors.js +46 -0
- package/dist/FlowmapSelectors.d.ts +188 -0
- package/dist/FlowmapSelectors.d.ts.map +1 -0
- package/dist/FlowmapSelectors.js +863 -0
- package/dist/FlowmapState.d.ts +27 -0
- package/dist/FlowmapState.d.ts.map +1 -0
- package/dist/FlowmapState.js +2 -0
- package/dist/cluster/cluster.d.ts.map +1 -1
- package/dist/cluster/cluster.js +8 -5
- package/dist/colors.d.ts +7 -7
- package/dist/colors.d.ts.map +1 -1
- package/dist/colors.js +55 -20
- package/dist/getViewStateForLocations.d.ts +18 -11
- package/dist/getViewStateForLocations.d.ts.map +1 -1
- package/dist/getViewStateForLocations.js +23 -20
- package/dist/index.d.ts +6 -6
- package/dist/index.js +6 -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 +98 -0
- package/dist/types.d.ts +6 -4
- package/dist/types.d.ts.map +1 -1
- 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/dist-es5/FlowmapAggregateAccessors.d.ts +16 -0
- package/dist-es5/FlowmapAggregateAccessors.d.ts.map +1 -0
- package/dist-es5/FlowmapAggregateAccessors.js +57 -0
- package/{dist/FlowMapSelectors.d.ts → dist-es5/FlowmapSelectors.d.ts} +55 -49
- package/dist-es5/FlowmapSelectors.d.ts.map +1 -0
- package/dist-es5/FlowmapSelectors.js +1507 -0
- package/{dist/FlowMapState.d.ts → dist-es5/FlowmapState.d.ts} +6 -3
- package/dist-es5/FlowmapState.d.ts.map +1 -0
- package/dist-es5/FlowmapState.js +3 -0
- package/dist-es5/cluster/ClusterIndex.d.ts +42 -0
- package/dist-es5/cluster/ClusterIndex.d.ts.map +1 -0
- package/dist-es5/cluster/ClusterIndex.js +297 -0
- package/dist-es5/cluster/cluster.d.ts +31 -0
- package/dist-es5/cluster/cluster.d.ts.map +1 -0
- package/dist-es5/cluster/cluster.js +266 -0
- package/dist-es5/colors.d.ts +103 -0
- package/dist-es5/colors.d.ts.map +1 -0
- package/dist-es5/colors.js +510 -0
- package/dist-es5/getViewStateForLocations.d.ts +23 -0
- package/dist-es5/getViewStateForLocations.d.ts.map +1 -0
- package/dist-es5/getViewStateForLocations.js +64 -0
- package/dist-es5/index.d.ts +11 -0
- package/dist-es5/index.d.ts.map +1 -0
- package/dist-es5/index.js +28 -0
- package/dist-es5/provider/FlowmapDataProvider.d.ts +16 -0
- package/dist-es5/provider/FlowmapDataProvider.d.ts.map +1 -0
- package/dist-es5/provider/FlowmapDataProvider.js +22 -0
- package/dist-es5/provider/LocalFlowmapDataProvider.d.ts +20 -0
- package/dist-es5/provider/LocalFlowmapDataProvider.d.ts.map +1 -0
- package/dist-es5/provider/LocalFlowmapDataProvider.js +154 -0
- package/dist-es5/time.d.ts +24 -0
- package/dist-es5/time.d.ts.map +1 -0
- package/dist-es5/time.js +168 -0
- package/dist-es5/types.d.ts +118 -0
- package/dist-es5/types.d.ts.map +1 -0
- package/dist-es5/types.js +29 -0
- package/dist-es5/util.d.ts +5 -0
- package/dist-es5/util.d.ts.map +1 -0
- package/dist-es5/util.js +14 -0
- package/package.json +7 -5
- package/src/{FlowMapAggregateAccessors.ts → FlowmapAggregateAccessors.ts} +14 -9
- package/src/{FlowMapSelectors.ts → FlowmapSelectors.ts} +213 -178
- package/src/{FlowMapState.ts → FlowmapState.ts} +5 -2
- package/src/cluster/cluster.ts +7 -4
- package/src/colors.ts +65 -21
- package/src/getViewStateForLocations.ts +41 -35
- package/src/index.ts +6 -6
- package/src/provider/{FlowMapDataProvider.ts → FlowmapDataProvider.ts} +14 -12
- package/src/provider/LocalFlowmapDataProvider.ts +122 -0
- package/src/types.ts +6 -4
- package/src/util.ts +0 -4
- package/tsconfig.es5.json +11 -0
- package/dist/FlowMapAggregateAccessors.d.ts +0 -15
- package/dist/FlowMapAggregateAccessors.d.ts.map +0 -1
- package/dist/FlowMapAggregateAccessors.js +0 -43
- 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,118 @@
|
|
|
1
|
+
export declare type FlowmapData<L, F> = {
|
|
2
|
+
locations: L[] | undefined;
|
|
3
|
+
flows: F[] | undefined;
|
|
4
|
+
};
|
|
5
|
+
export interface ViewState {
|
|
6
|
+
latitude: number;
|
|
7
|
+
longitude: number;
|
|
8
|
+
zoom: number;
|
|
9
|
+
bearing?: number;
|
|
10
|
+
pitch?: number;
|
|
11
|
+
altitude?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare type FlowAccessor<F, T> = (flow: F) => T;
|
|
14
|
+
export declare type LocationAccessor<L, T> = (location: L) => T;
|
|
15
|
+
export interface FlowAccessors<F> {
|
|
16
|
+
getFlowOriginId: FlowAccessor<F, string>;
|
|
17
|
+
getFlowDestId: FlowAccessor<F, string>;
|
|
18
|
+
getFlowMagnitude: FlowAccessor<F, number>;
|
|
19
|
+
getFlowTime?: FlowAccessor<F, Date>;
|
|
20
|
+
}
|
|
21
|
+
export interface LocationAccessors<L> {
|
|
22
|
+
getLocationId: LocationAccessor<L, string>;
|
|
23
|
+
getLocationName?: LocationAccessor<L, string>;
|
|
24
|
+
getLocationLat: LocationAccessor<L, number>;
|
|
25
|
+
getLocationLon: LocationAccessor<L, number>;
|
|
26
|
+
getLocationClusterName?: (locationIds: string[]) => string;
|
|
27
|
+
}
|
|
28
|
+
export declare type FlowmapDataAccessors<L, F> = LocationAccessors<L> & FlowAccessors<F>;
|
|
29
|
+
export interface LocationTotals {
|
|
30
|
+
incomingCount: number;
|
|
31
|
+
outgoingCount: number;
|
|
32
|
+
internalCount: number;
|
|
33
|
+
}
|
|
34
|
+
export interface CountByTime {
|
|
35
|
+
time: Date;
|
|
36
|
+
count: number;
|
|
37
|
+
}
|
|
38
|
+
export interface ViewportProps {
|
|
39
|
+
width: number;
|
|
40
|
+
height: number;
|
|
41
|
+
latitude: number;
|
|
42
|
+
longitude: number;
|
|
43
|
+
zoom: number;
|
|
44
|
+
bearing: number;
|
|
45
|
+
pitch: number;
|
|
46
|
+
altitude?: number;
|
|
47
|
+
maxZoom?: number;
|
|
48
|
+
minZoom?: number;
|
|
49
|
+
maxPitch?: number;
|
|
50
|
+
minPitch?: number;
|
|
51
|
+
transitionDuration?: number | 'auto';
|
|
52
|
+
transitionInterpolator?: any;
|
|
53
|
+
transitionInterruption?: any;
|
|
54
|
+
transitionEasing?: any;
|
|
55
|
+
}
|
|
56
|
+
export interface ClusterNode {
|
|
57
|
+
id: string;
|
|
58
|
+
zoom: number;
|
|
59
|
+
lat: number;
|
|
60
|
+
lon: number;
|
|
61
|
+
}
|
|
62
|
+
export interface ClusterLevel {
|
|
63
|
+
zoom: number;
|
|
64
|
+
nodes: ClusterNode[];
|
|
65
|
+
}
|
|
66
|
+
export declare type ClusterLevels = ClusterLevel[];
|
|
67
|
+
export interface Cluster extends ClusterNode {
|
|
68
|
+
name?: string;
|
|
69
|
+
children: string[];
|
|
70
|
+
}
|
|
71
|
+
export declare function isCluster(c: ClusterNode): c is Cluster;
|
|
72
|
+
export declare function isLocationClusterNode<L>(l: L | ClusterNode): l is ClusterNode;
|
|
73
|
+
export interface AggregateFlow {
|
|
74
|
+
origin: string;
|
|
75
|
+
dest: string;
|
|
76
|
+
count: number;
|
|
77
|
+
aggregate: true;
|
|
78
|
+
}
|
|
79
|
+
export declare function isAggregateFlow(flow: Record<string, any>): flow is AggregateFlow;
|
|
80
|
+
export interface FlowCountsMapReduce<F, T = any> {
|
|
81
|
+
map: (flow: F) => T;
|
|
82
|
+
reduce: (accumulated: T, val: T) => T;
|
|
83
|
+
}
|
|
84
|
+
export declare enum LocationFilterMode {
|
|
85
|
+
ALL = "ALL",
|
|
86
|
+
INCOMING = "INCOMING",
|
|
87
|
+
OUTGOING = "OUTGOING",
|
|
88
|
+
BETWEEN = "BETWEEN"
|
|
89
|
+
}
|
|
90
|
+
export interface FlowCirclesLayerAttributes {
|
|
91
|
+
length: number;
|
|
92
|
+
attributes: {
|
|
93
|
+
getPosition: LayersDataAttrValues<Float32Array>;
|
|
94
|
+
getColor: LayersDataAttrValues<Uint8Array>;
|
|
95
|
+
getInRadius: LayersDataAttrValues<Float32Array>;
|
|
96
|
+
getOutRadius: LayersDataAttrValues<Float32Array>;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export interface FlowLinesLayerAttributes {
|
|
100
|
+
length: number;
|
|
101
|
+
attributes: {
|
|
102
|
+
getSourcePosition: LayersDataAttrValues<Float32Array>;
|
|
103
|
+
getTargetPosition: LayersDataAttrValues<Float32Array>;
|
|
104
|
+
getThickness: LayersDataAttrValues<Float32Array>;
|
|
105
|
+
getColor: LayersDataAttrValues<Uint8Array>;
|
|
106
|
+
getEndpointOffsets: LayersDataAttrValues<Float32Array>;
|
|
107
|
+
getStaggering?: LayersDataAttrValues<Float32Array>;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export interface LayersData {
|
|
111
|
+
circleAttributes: FlowCirclesLayerAttributes;
|
|
112
|
+
lineAttributes: FlowLinesLayerAttributes;
|
|
113
|
+
}
|
|
114
|
+
export declare type LayersDataAttrValues<T> = {
|
|
115
|
+
value: T;
|
|
116
|
+
size: number;
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocationFilterMode = exports.isAggregateFlow = exports.isLocationClusterNode = exports.isCluster = void 0;
|
|
4
|
+
function isCluster(c) {
|
|
5
|
+
var children = c.children;
|
|
6
|
+
return children && children.length > 0;
|
|
7
|
+
}
|
|
8
|
+
exports.isCluster = isCluster;
|
|
9
|
+
function isLocationClusterNode(l) {
|
|
10
|
+
var zoom = l.zoom;
|
|
11
|
+
return zoom !== undefined;
|
|
12
|
+
}
|
|
13
|
+
exports.isLocationClusterNode = isLocationClusterNode;
|
|
14
|
+
function isAggregateFlow(flow) {
|
|
15
|
+
return (flow &&
|
|
16
|
+
flow.origin !== undefined &&
|
|
17
|
+
flow.dest !== undefined &&
|
|
18
|
+
flow.count !== undefined &&
|
|
19
|
+
(flow.aggregate ? true : false));
|
|
20
|
+
}
|
|
21
|
+
exports.isAggregateFlow = isAggregateFlow;
|
|
22
|
+
var LocationFilterMode;
|
|
23
|
+
(function (LocationFilterMode) {
|
|
24
|
+
LocationFilterMode["ALL"] = "ALL";
|
|
25
|
+
LocationFilterMode["INCOMING"] = "INCOMING";
|
|
26
|
+
LocationFilterMode["OUTGOING"] = "OUTGOING";
|
|
27
|
+
LocationFilterMode["BETWEEN"] = "BETWEEN";
|
|
28
|
+
})(LocationFilterMode = exports.LocationFilterMode || (exports.LocationFilterMode = {}));
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBK0ZBLFNBQWdCLFNBQVMsQ0FBQyxDQUFjO0lBQy9CLElBQUEsUUFBUSxHQUFJLENBQVksU0FBaEIsQ0FBaUI7SUFDaEMsT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUhELDhCQUdDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUksQ0FBa0I7SUFDbEQsSUFBQSxJQUFJLEdBQUksQ0FBZ0IsS0FBcEIsQ0FBcUI7SUFDaEMsT0FBTyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQzVCLENBQUM7QUFIRCxzREFHQztBQVNELFNBQWdCLGVBQWUsQ0FDN0IsSUFBeUI7SUFFekIsT0FBTyxDQUNMLElBQUk7UUFDSixJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVM7UUFDekIsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUztRQUN4QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ2hDLENBQUM7QUFDSixDQUFDO0FBVkQsMENBVUM7QUFPRCxJQUFZLGtCQUtYO0FBTEQsV0FBWSxrQkFBa0I7SUFDNUIsaUNBQVcsQ0FBQTtJQUNYLDJDQUFxQixDQUFBO0lBQ3JCLDJDQUFxQixDQUFBO0lBQ3JCLHlDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxrQkFBa0IsR0FBbEIsMEJBQWtCLEtBQWxCLDBCQUFrQixRQUs3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEZsb3dtYXBEYXRhPEwsIEY+ID0ge1xuICBsb2NhdGlvbnM6IExbXSB8IHVuZGVmaW5lZDtcbiAgZmxvd3M6IEZbXSB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld1N0YXRlIHtcbiAgbGF0aXR1ZGU6IG51bWJlcjtcbiAgbG9uZ2l0dWRlOiBudW1iZXI7XG4gIHpvb206IG51bWJlcjtcbiAgYmVhcmluZz86IG51bWJlcjtcbiAgcGl0Y2g/OiBudW1iZXI7XG4gIGFsdGl0dWRlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBGbG93QWNjZXNzb3I8RiwgVD4gPSAoZmxvdzogRikgPT4gVDsgLy8gb2JqZWN0SW5mbz86IEFjY2Vzc29yT2JqZWN0SW5mbyxcbmV4cG9ydCB0eXBlIExvY2F0aW9uQWNjZXNzb3I8TCwgVD4gPSAobG9jYXRpb246IEwpID0+IFQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0FjY2Vzc29yczxGPiB7XG4gIGdldEZsb3dPcmlnaW5JZDogRmxvd0FjY2Vzc29yPEYsIHN0cmluZz47XG4gIGdldEZsb3dEZXN0SWQ6IEZsb3dBY2Nlc3NvcjxGLCBzdHJpbmc+O1xuICBnZXRGbG93TWFnbml0dWRlOiBGbG93QWNjZXNzb3I8RiwgbnVtYmVyPjtcbiAgZ2V0Rmxvd1RpbWU/OiBGbG93QWNjZXNzb3I8RiwgRGF0ZT47IC8vIFRPRE86IHVzZSBudW1iZXIgaW5zdGVhZCBvZiBEYXRlXG4gIC8vIGdldEZsb3dDb2xvcj86IEZsb3dBY2Nlc3NvcjxzdHJpbmcgfCB1bmRlZmluZWQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uQWNjZXNzb3JzPEw+IHtcbiAgZ2V0TG9jYXRpb25JZDogTG9jYXRpb25BY2Nlc3NvcjxMLCBzdHJpbmc+O1xuICBnZXRMb2NhdGlvbk5hbWU/OiBMb2NhdGlvbkFjY2Vzc29yPEwsIHN0cmluZz47XG4gIGdldExvY2F0aW9uTGF0OiBMb2NhdGlvbkFjY2Vzc29yPEwsIG51bWJlcj47XG4gIGdldExvY2F0aW9uTG9uOiBMb2NhdGlvbkFjY2Vzc29yPEwsIG51bWJlcj47XG4gIGdldExvY2F0aW9uQ2x1c3Rlck5hbWU/OiAobG9jYXRpb25JZHM6IHN0cmluZ1tdKSA9PiBzdHJpbmc7XG4gIC8vIGdldExvY2F0aW9uVG90YWxJbj86IExvY2F0aW9uQWNjZXNzb3I8bnVtYmVyPjtcbiAgLy8gZ2V0TG9jYXRpb25Ub3RhbE91dD86IExvY2F0aW9uQWNjZXNzb3I8bnVtYmVyPjtcbiAgLy8gZ2V0TG9jYXRpb25Ub3RhbEludGVybmFsPzogTG9jYXRpb25BY2Nlc3NvcjxudW1iZXI+O1xufVxuXG5leHBvcnQgdHlwZSBGbG93bWFwRGF0YUFjY2Vzc29yczxMLCBGPiA9IExvY2F0aW9uQWNjZXNzb3JzPEw+ICZcbiAgRmxvd0FjY2Vzc29yczxGPjtcblxuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvblRvdGFscyB7XG4gIGluY29taW5nQ291bnQ6IG51bWJlcjtcbiAgb3V0Z29pbmdDb3VudDogbnVtYmVyO1xuICBpbnRlcm5hbENvdW50OiBudW1iZXI7XG59XG5cbi8vIGV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25zVG90YWxzIHtcbi8vICAgaW5jb21pbmc6IHtbaWQ6IHN0cmluZ106IG51bWJlcn07XG4vLyAgIG91dGdvaW5nOiB7W2lkOiBzdHJpbmddOiBudW1iZXJ9O1xuLy8gICBpbnRlcm5hbDoge1tpZDogc3RyaW5nXTogbnVtYmVyfTtcbi8vIH1cblxuZXhwb3J0IGludGVyZmFjZSBDb3VudEJ5VGltZSB7XG4gIHRpbWU6IERhdGU7XG4gIGNvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld3BvcnRQcm9wcyB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICBsYXRpdHVkZTogbnVtYmVyO1xuICBsb25naXR1ZGU6IG51bWJlcjtcbiAgem9vbTogbnVtYmVyO1xuICBiZWFyaW5nOiBudW1iZXI7XG4gIHBpdGNoOiBudW1iZXI7XG4gIGFsdGl0dWRlPzogbnVtYmVyO1xuICBtYXhab29tPzogbnVtYmVyO1xuICBtaW5ab29tPzogbnVtYmVyO1xuICBtYXhQaXRjaD86IG51bWJlcjtcbiAgbWluUGl0Y2g/OiBudW1iZXI7XG4gIHRyYW5zaXRpb25EdXJhdGlvbj86IG51bWJlciB8ICdhdXRvJztcbiAgdHJhbnNpdGlvbkludGVycG9sYXRvcj86IGFueTtcbiAgdHJhbnNpdGlvbkludGVycnVwdGlvbj86IGFueTtcbiAgdHJhbnNpdGlvbkVhc2luZz86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyTm9kZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHpvb206IG51bWJlcjtcbiAgbGF0OiBudW1iZXI7XG4gIGxvbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJMZXZlbCB7XG4gIHpvb206IG51bWJlcjtcbiAgbm9kZXM6IENsdXN0ZXJOb2RlW107XG59XG5cbmV4cG9ydCB0eXBlIENsdXN0ZXJMZXZlbHMgPSBDbHVzdGVyTGV2ZWxbXTtcblxuLy8gbm9uLWxlYWYgY2x1c3RlciBub2RlXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXIgZXh0ZW5kcyBDbHVzdGVyTm9kZSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2x1c3RlcihjOiBDbHVzdGVyTm9kZSk6IGMgaXMgQ2x1c3RlciB7XG4gIGNvbnN0IHtjaGlsZHJlbn0gPSBjIGFzIENsdXN0ZXI7XG4gIHJldHVybiBjaGlsZHJlbiAmJiBjaGlsZHJlbi5sZW5ndGggPiAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMb2NhdGlvbkNsdXN0ZXJOb2RlPEw+KGw6IEwgfCBDbHVzdGVyTm9kZSk6IGwgaXMgQ2x1c3Rlck5vZGUge1xuICBjb25zdCB7em9vbX0gPSBsIGFzIENsdXN0ZXJOb2RlO1xuICByZXR1cm4gem9vbSAhPT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFnZ3JlZ2F0ZUZsb3cge1xuICBvcmlnaW46IHN0cmluZztcbiAgZGVzdDogc3RyaW5nO1xuICBjb3VudDogbnVtYmVyO1xuICBhZ2dyZWdhdGU6IHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FnZ3JlZ2F0ZUZsb3coXG4gIGZsb3c6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4pOiBmbG93IGlzIEFnZ3JlZ2F0ZUZsb3cge1xuICByZXR1cm4gKFxuICAgIGZsb3cgJiZcbiAgICBmbG93Lm9yaWdpbiAhPT0gdW5kZWZpbmVkICYmXG4gICAgZmxvdy5kZXN0ICE9PSB1bmRlZmluZWQgJiZcbiAgICBmbG93LmNvdW50ICE9PSB1bmRlZmluZWQgJiZcbiAgICAoZmxvdy5hZ2dyZWdhdGUgPyB0cnVlIDogZmFsc2UpXG4gICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0NvdW50c01hcFJlZHVjZTxGLCBUID0gYW55PiB7XG4gIG1hcDogKGZsb3c6IEYpID0+IFQ7XG4gIHJlZHVjZTogKGFjY3VtdWxhdGVkOiBULCB2YWw6IFQpID0+IFQ7XG59XG5cbmV4cG9ydCBlbnVtIExvY2F0aW9uRmlsdGVyTW9kZSB7XG4gIEFMTCA9ICdBTEwnLFxuICBJTkNPTUlORyA9ICdJTkNPTUlORycsXG4gIE9VVEdPSU5HID0gJ09VVEdPSU5HJyxcbiAgQkVUV0VFTiA9ICdCRVRXRUVOJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG93Q2lyY2xlc0xheWVyQXR0cmlidXRlcyB7XG4gIGxlbmd0aDogbnVtYmVyO1xuICBhdHRyaWJ1dGVzOiB7XG4gICAgZ2V0UG9zaXRpb246IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0Q29sb3I6IExheWVyc0RhdGFBdHRyVmFsdWVzPFVpbnQ4QXJyYXk+O1xuICAgIGdldEluUmFkaXVzOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICAgIGdldE91dFJhZGl1czogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG93TGluZXNMYXllckF0dHJpYnV0ZXMge1xuICBsZW5ndGg6IG51bWJlcjtcbiAgYXR0cmlidXRlczoge1xuICAgIGdldFNvdXJjZVBvc2l0aW9uOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICAgIGdldFRhcmdldFBvc2l0aW9uOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICAgIGdldFRoaWNrbmVzczogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgICBnZXRDb2xvcjogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8VWludDhBcnJheT47XG4gICAgZ2V0RW5kcG9pbnRPZmZzZXRzOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICAgIGdldFN0YWdnZXJpbmc/OiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyc0RhdGEge1xuICBjaXJjbGVBdHRyaWJ1dGVzOiBGbG93Q2lyY2xlc0xheWVyQXR0cmlidXRlcztcbiAgbGluZUF0dHJpYnV0ZXM6IEZsb3dMaW5lc0xheWVyQXR0cmlidXRlcztcbn1cblxuZXhwb3J0IHR5cGUgTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8VD4gPSB7dmFsdWU6IFQ7IHNpemU6IG51bWJlcn07XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { defaultMemoize } from 'reselect';
|
|
2
|
+
export declare const createDebugSelector: import("reselect").CreateSelectorFunction<(...args: unknown[]) => unknown, typeof defaultMemoize, [equalityCheckOrOptions?: import("reselect").EqualityFn | import("reselect").DefaultMemoizeOptions | undefined], {
|
|
3
|
+
clearCache: () => void;
|
|
4
|
+
}>;
|
|
5
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +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,eAAO,MAAM,mBAAmB;;EAQ9B,CAAC"}
|
package/dist-es5/util.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createDebugSelector = void 0;
|
|
4
|
+
var reselect_1 = require("reselect");
|
|
5
|
+
exports.createDebugSelector = (0, reselect_1.createSelectorCreator)(reselect_1.defaultMemoize, {
|
|
6
|
+
equalityCheck: function (previousVal, currentVal) {
|
|
7
|
+
var rv = currentVal === previousVal;
|
|
8
|
+
if (!rv) {
|
|
9
|
+
console.log('Selector param value changed', currentVal);
|
|
10
|
+
}
|
|
11
|
+
return rv;
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUErRDtBQUVsRCxRQUFBLG1CQUFtQixHQUFHLElBQUEsZ0NBQXFCLEVBQUMseUJBQWMsRUFBRTtJQUN2RSxhQUFhLEVBQUUsVUFBQyxXQUFnQixFQUFFLFVBQWU7UUFDL0MsSUFBTSxFQUFFLEdBQUcsVUFBVSxLQUFLLFdBQVcsQ0FBQztRQUN0QyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUN6RDtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3JlYXRlU2VsZWN0b3JDcmVhdG9yLCBkZWZhdWx0TWVtb2l6ZX0gZnJvbSAncmVzZWxlY3QnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRGVidWdTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yQ3JlYXRvcihkZWZhdWx0TWVtb2l6ZSwge1xuICBlcXVhbGl0eUNoZWNrOiAocHJldmlvdXNWYWw6IGFueSwgY3VycmVudFZhbDogYW55KSA9PiB7XG4gICAgY29uc3QgcnYgPSBjdXJyZW50VmFsID09PSBwcmV2aW91c1ZhbDtcbiAgICBpZiAoIXJ2KSB7XG4gICAgICBjb25zb2xlLmxvZygnU2VsZWN0b3IgcGFyYW0gdmFsdWUgY2hhbmdlZCcsIGN1cnJlbnRWYWwpO1xuICAgIH1cbiAgICByZXR1cm4gcnY7XG4gIH0sXG59KTtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowmap.gl/data",
|
|
3
|
-
"version": "8.0.0-alpha.
|
|
4
|
-
"main": "dist/index.js",
|
|
3
|
+
"version": "8.0.0-alpha.13",
|
|
4
|
+
"main": "dist-es5/index.js",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"repository": "git@github.com:FlowmapBlue/flowmap.gl.git",
|
|
@@ -9,11 +9,13 @@
|
|
|
9
9
|
"license": "Apache-2.0",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"dev": "tsc --watch",
|
|
12
|
-
"build": "rm -rf dist && tsc",
|
|
12
|
+
"build:esm": "rm -rf dist && tsc",
|
|
13
|
+
"build:es5": "rm -rf dist-es5 && tsc --project tsconfig.es5.json",
|
|
14
|
+
"build": "yarn build:es5 && yarn build:esm",
|
|
13
15
|
"prepare": "yarn build"
|
|
14
16
|
},
|
|
15
17
|
"dependencies": {
|
|
16
|
-
"@
|
|
18
|
+
"@flowmap.gl/data": "^8.0.0-alpha.13",
|
|
17
19
|
"d3-array": "^3.0.2",
|
|
18
20
|
"d3-collection": "^1.0.7",
|
|
19
21
|
"d3-color": "^3.0.1",
|
|
@@ -42,7 +44,7 @@
|
|
|
42
44
|
"@types/mapbox__geo-viewport": "^0.4.1",
|
|
43
45
|
"@types/seedrandom": "^3.0.1"
|
|
44
46
|
},
|
|
45
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "4d38e29a88901c52c7c3e30114a090fd4d379ea3",
|
|
46
48
|
"publishConfig": {
|
|
47
49
|
"access": "public"
|
|
48
50
|
}
|
|
@@ -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
|
|
|
@@ -35,10 +35,15 @@ export default class FlowMapAggregateAccessors<L, F> {
|
|
|
35
35
|
// ? this.accessors.getLocationName(location)
|
|
36
36
|
// : this.getLocationId(location);
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
getLocationLat = (location: L | ClusterNode): number =>
|
|
39
39
|
isLocationClusterNode(location)
|
|
40
|
-
? location.
|
|
41
|
-
: this.accessors.
|
|
40
|
+
? location.lat
|
|
41
|
+
: this.accessors.getLocationLat(location);
|
|
42
|
+
|
|
43
|
+
getLocationLon = (location: L | ClusterNode): number =>
|
|
44
|
+
isLocationClusterNode(location)
|
|
45
|
+
? location.lon
|
|
46
|
+
: this.accessors.getLocationLon(location);
|
|
42
47
|
|
|
43
48
|
getFlowOriginId = (f: F | AggregateFlow) => {
|
|
44
49
|
return isAggregateFlow(f) ? f.origin : this.accessors.getFlowOriginId(f);
|