@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FlowMapState.d.ts","sourceRoot":"","sources":["../src/FlowMapState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5C,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,aAAa,CAAC;CACzB"}
|
package/dist/FlowMapState.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxvd01hcFN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Zsb3dNYXBTdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhdGlvbkZpbHRlck1vZGUsIFZpZXdwb3J0UHJvcHN9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclN0YXRlIHtcbiAgc2VsZWN0ZWRMb2NhdGlvbnM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBzZWxlY3RlZFRpbWVSYW5nZTogW0RhdGUsIERhdGVdIHwgdW5kZWZpbmVkO1xuICBsb2NhdGlvbkZpbHRlck1vZGU6IExvY2F0aW9uRmlsdGVyTW9kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXR0aW5nc1N0YXRlIHtcbiAgYW5pbWF0aW9uRW5hYmxlZDogYm9vbGVhbjtcbiAgZmFkZUVuYWJsZWQ6IGJvb2xlYW47XG4gIGxvY2F0aW9uVG90YWxzRW5hYmxlZDogYm9vbGVhbjtcbiAgYWRhcHRpdmVTY2FsZXNFbmFibGVkOiBib29sZWFuO1xuICBjbHVzdGVyaW5nRW5hYmxlZDogYm9vbGVhbjtcbiAgY2x1c3RlcmluZ0F1dG86IGJvb2xlYW47XG4gIGNsdXN0ZXJpbmdMZXZlbD86IG51bWJlcjtcbiAgZGFya01vZGU6IGJvb2xlYW47XG4gIGZhZGVBbW91bnQ6IG51bWJlcjtcbiAgY29sb3JTY2hlbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG93TWFwU3RhdGUge1xuICBmaWx0ZXJTdGF0ZTogRmlsdGVyU3RhdGU7XG4gIHNldHRpbmdzU3RhdGU6IFNldHRpbmdzU3RhdGU7XG4gIHZpZXdwb3J0OiBWaWV3cG9ydFByb3BzO1xufVxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { AggregateFlow, Cluster, LocationTotals } from '..';
|
|
2
|
-
import { FlowMapState } from '../FlowMapState';
|
|
3
|
-
import { ClusterNode, FlowMapData, FlowMapDataAccessors, LayersData, ViewportProps } from '../types';
|
|
4
|
-
export default interface FlowMapDataProvider<L, F> {
|
|
5
|
-
setAccessors(accessors: FlowMapDataAccessors<L, F>): void;
|
|
6
|
-
setFlowMapState(flowMapState: FlowMapState): Promise<void>;
|
|
7
|
-
getViewportForLocations(dims: [number, number]): Promise<ViewportProps>;
|
|
8
|
-
getFlowByIndex(index: number): Promise<F | AggregateFlow | undefined>;
|
|
9
|
-
getLocationById(id: string): Promise<L | Cluster | undefined>;
|
|
10
|
-
getLocationByIndex(idx: number): Promise<L | ClusterNode | undefined>;
|
|
11
|
-
getTotalsForLocation(id: string): Promise<LocationTotals | undefined>;
|
|
12
|
-
getLayersData(): Promise<LayersData | undefined>;
|
|
13
|
-
}
|
|
14
|
-
export declare function isFlowMapData<L, F>(data: Record<string, any>): data is FlowMapData<L, F>;
|
|
15
|
-
export declare function isFlowMapDataProvider<L, F>(dataProvider: Record<string, any>): dataProvider is FlowMapDataProvider<L, F>;
|
|
16
|
-
//# sourceMappingURL=FlowMapDataProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FlowMapDataProvider.d.ts","sourceRoot":"","sources":["../../src/provider/FlowMapDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,OAAO,EAAqB,cAAc,EAAC,MAAM,IAAI,CAAC;AAC7E,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,aAAa,EACd,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,OAAO,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC;IAC/C,YAAY,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAE1D,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAI3D,uBAAuB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAIxE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,aAAa,GAAG,SAAS,CAAC,CAAC;IAEtE,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAE9D,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC;IAEtE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAQtE,aAAa,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CAClD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAQ3B;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAChC,YAAY,IAAI,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAU3C"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export function isFlowMapData(data) {
|
|
2
|
-
return (data &&
|
|
3
|
-
data.locations &&
|
|
4
|
-
data.flows &&
|
|
5
|
-
Array.isArray(data.locations) &&
|
|
6
|
-
Array.isArray(data.flows));
|
|
7
|
-
}
|
|
8
|
-
export function isFlowMapDataProvider(dataProvider) {
|
|
9
|
-
return (dataProvider &&
|
|
10
|
-
typeof dataProvider.setFlowMapState === 'function' &&
|
|
11
|
-
typeof dataProvider.getViewportForLocations === 'function' &&
|
|
12
|
-
typeof dataProvider.getFlowByIndex === 'function' &&
|
|
13
|
-
typeof dataProvider.getLocationById === 'function' &&
|
|
14
|
-
typeof dataProvider.getLocationByIndex === 'function' &&
|
|
15
|
-
typeof dataProvider.getLayersData === 'function');
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxvd01hcERhdGFQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aWRlci9GbG93TWFwRGF0YVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNDQSxNQUFNLFVBQVUsYUFBYSxDQUMzQixJQUF5QjtJQUV6QixPQUFPLENBQ0wsSUFBSTtRQUNKLElBQUksQ0FBQyxTQUFTO1FBQ2QsSUFBSSxDQUFDLEtBQUs7UUFDVixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQzFCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxZQUFpQztJQUVqQyxPQUFPLENBQ0wsWUFBWTtRQUNaLE9BQU8sWUFBWSxDQUFDLGVBQWUsS0FBSyxVQUFVO1FBQ2xELE9BQU8sWUFBWSxDQUFDLHVCQUF1QixLQUFLLFVBQVU7UUFDMUQsT0FBTyxZQUFZLENBQUMsY0FBYyxLQUFLLFVBQVU7UUFDakQsT0FBTyxZQUFZLENBQUMsZUFBZSxLQUFLLFVBQVU7UUFDbEQsT0FBTyxZQUFZLENBQUMsa0JBQWtCLEtBQUssVUFBVTtRQUNyRCxPQUFPLFlBQVksQ0FBQyxhQUFhLEtBQUssVUFBVSxDQUNqRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWdncmVnYXRlRmxvdywgQ2x1c3RlciwgTG9jYXRpb25BY2Nlc3NvcnMsIExvY2F0aW9uVG90YWxzfSBmcm9tICcuLic7XG5pbXBvcnQge0Zsb3dNYXBTdGF0ZX0gZnJvbSAnLi4vRmxvd01hcFN0YXRlJztcbmltcG9ydCB7XG4gIENsdXN0ZXJOb2RlLFxuICBGbG93TWFwRGF0YSxcbiAgRmxvd01hcERhdGFBY2Nlc3NvcnMsXG4gIExheWVyc0RhdGEsXG4gIFZpZXdwb3J0UHJvcHMsXG59IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgaW50ZXJmYWNlIEZsb3dNYXBEYXRhUHJvdmlkZXI8TCwgRj4ge1xuICBzZXRBY2Nlc3NvcnMoYWNjZXNzb3JzOiBGbG93TWFwRGF0YUFjY2Vzc29yczxMLCBGPik6IHZvaWQ7XG5cbiAgc2V0Rmxvd01hcFN0YXRlKGZsb3dNYXBTdGF0ZTogRmxvd01hcFN0YXRlKTogUHJvbWlzZTx2b2lkPjtcblxuICAvLyBjbGVhckRhdGEoKTogdm9pZDtcblxuICBnZXRWaWV3cG9ydEZvckxvY2F0aW9ucyhkaW1zOiBbbnVtYmVyLCBudW1iZXJdKTogUHJvbWlzZTxWaWV3cG9ydFByb3BzPjtcblxuICAvLyBnZXRGbG93VG90YWxzKCk6IFByb21pc2U8Rmxvd1RvdGFscz47XG5cbiAgZ2V0Rmxvd0J5SW5kZXgoaW5kZXg6IG51bWJlcik6IFByb21pc2U8RiB8IEFnZ3JlZ2F0ZUZsb3cgfCB1bmRlZmluZWQ+O1xuXG4gIGdldExvY2F0aW9uQnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxMIHwgQ2x1c3RlciB8IHVuZGVmaW5lZD47XG5cbiAgZ2V0TG9jYXRpb25CeUluZGV4KGlkeDogbnVtYmVyKTogUHJvbWlzZTxMIHwgQ2x1c3Rlck5vZGUgfCB1bmRlZmluZWQ+O1xuXG4gIGdldFRvdGFsc0ZvckxvY2F0aW9uKGlkOiBzdHJpbmcpOiBQcm9taXNlPExvY2F0aW9uVG90YWxzIHwgdW5kZWZpbmVkPjtcblxuICAvLyBnZXRMb2NhdGlvbnNJbkJib3goXG4gIC8vICAgYmJveDogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gIC8vICk6IFByb21pc2U8QXJyYXk8Rmxvd0xvY2F0aW9uIHwgQ2x1c3Rlck5vZGU+IHwgdW5kZWZpbmVkPjtcblxuICAvLyBnZXRMb2NhdGlvbnNGb3JTZWFyY2hCb3goKTogUHJvbWlzZTwoRmxvd0xvY2F0aW9uIHwgQ2x1c3Rlck5vZGUpW10gfCB1bmRlZmluZWQ+O1xuXG4gIGdldExheWVyc0RhdGEoKTogUHJvbWlzZTxMYXllcnNEYXRhIHwgdW5kZWZpbmVkPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRmxvd01hcERhdGE8TCwgRj4oXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4pOiBkYXRhIGlzIEZsb3dNYXBEYXRhPEwsIEY+IHtcbiAgcmV0dXJuIChcbiAgICBkYXRhICYmXG4gICAgZGF0YS5sb2NhdGlvbnMgJiZcbiAgICBkYXRhLmZsb3dzICYmXG4gICAgQXJyYXkuaXNBcnJheShkYXRhLmxvY2F0aW9ucykgJiZcbiAgICBBcnJheS5pc0FycmF5KGRhdGEuZmxvd3MpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Zsb3dNYXBEYXRhUHJvdmlkZXI8TCwgRj4oXG4gIGRhdGFQcm92aWRlcjogUmVjb3JkPHN0cmluZywgYW55Pixcbik6IGRhdGFQcm92aWRlciBpcyBGbG93TWFwRGF0YVByb3ZpZGVyPEwsIEY+IHtcbiAgcmV0dXJuIChcbiAgICBkYXRhUHJvdmlkZXIgJiZcbiAgICB0eXBlb2YgZGF0YVByb3ZpZGVyLnNldEZsb3dNYXBTdGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgIHR5cGVvZiBkYXRhUHJvdmlkZXIuZ2V0Vmlld3BvcnRGb3JMb2NhdGlvbnMgPT09ICdmdW5jdGlvbicgJiZcbiAgICB0eXBlb2YgZGF0YVByb3ZpZGVyLmdldEZsb3dCeUluZGV4ID09PSAnZnVuY3Rpb24nICYmXG4gICAgdHlwZW9mIGRhdGFQcm92aWRlci5nZXRMb2NhdGlvbkJ5SWQgPT09ICdmdW5jdGlvbicgJiZcbiAgICB0eXBlb2YgZGF0YVByb3ZpZGVyLmdldExvY2F0aW9uQnlJbmRleCA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgIHR5cGVvZiBkYXRhUHJvdmlkZXIuZ2V0TGF5ZXJzRGF0YSA9PT0gJ2Z1bmN0aW9uJ1xuICApO1xufVxuIl19
|
|
@@ -1,20 +0,0 @@
|
|
|
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 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]): Promise<ViewportProps>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=LocalFlowMapDataProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocalFlowMapDataProvider.d.ts","sourceRoot":"","sources":["../../src/provider/LocalFlowMapDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,OAAO,EACP,WAAW,EAEX,WAAW,EACX,oBAAoB,EACpB,UAAU,EAEV,cAAc,EACd,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,aAAa,EAAC,MAAM,IAAI,CAAC;AAEjC,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;IAS3E,uBAAuB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;CAGxE"}
|
|
@@ -1,87 +0,0 @@
|
|
|
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
|
-
export default class LocalFlowMapDataProvider {
|
|
12
|
-
constructor(accessors) {
|
|
13
|
-
// scope selectors to the concrete instance of FlowMapDataProvider
|
|
14
|
-
this.selectors = new FlowMapSelectors(accessors);
|
|
15
|
-
this.flowMapData = undefined;
|
|
16
|
-
this.flowMapState = undefined;
|
|
17
|
-
}
|
|
18
|
-
setAccessors(accessors) {
|
|
19
|
-
this.selectors.setAccessors(accessors);
|
|
20
|
-
}
|
|
21
|
-
setFlowMapData(flowMapData) {
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
this.flowMapData = flowMapData;
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
setFlowMapState(flowMapState) {
|
|
27
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
this.flowMapState = flowMapState;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
getFlowByIndex(idx) {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
if (!this.flowMapState || !this.flowMapData) {
|
|
34
|
-
return undefined;
|
|
35
|
-
}
|
|
36
|
-
const flows = this.selectors.getFlowsForFlowMapLayer(this.flowMapState, this.flowMapData);
|
|
37
|
-
return flows === null || flows === void 0 ? void 0 : flows[idx];
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
getLocationByIndex(idx) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
if (!this.flowMapState || !this.flowMapData) {
|
|
43
|
-
return undefined;
|
|
44
|
-
}
|
|
45
|
-
const locations = this.selectors.getLocationsForFlowMapLayer(this.flowMapState, this.flowMapData);
|
|
46
|
-
return locations === null || locations === void 0 ? void 0 : locations[idx];
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
getLayersData() {
|
|
50
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
if (!this.flowMapState || !this.flowMapData) {
|
|
52
|
-
return undefined;
|
|
53
|
-
}
|
|
54
|
-
return this.selectors.getLayersData(this.flowMapState, this.flowMapData);
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
getLocationById(id) {
|
|
58
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
if (!this.flowMapState || !this.flowMapData) {
|
|
60
|
-
return undefined;
|
|
61
|
-
}
|
|
62
|
-
const clusterIndex = this.selectors.getClusterIndex(this.flowMapState, this.flowMapData);
|
|
63
|
-
if (clusterIndex) {
|
|
64
|
-
const cluster = clusterIndex.getClusterById(id);
|
|
65
|
-
if (cluster) {
|
|
66
|
-
return cluster;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
const locationsById = this.selectors.getLocationsById(this.flowMapState, this.flowMapData);
|
|
70
|
-
return locationsById === null || locationsById === void 0 ? void 0 : locationsById.get(id);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
getTotalsForLocation(id) {
|
|
74
|
-
var _a;
|
|
75
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
if (!this.flowMapState || !this.flowMapData) {
|
|
77
|
-
return undefined;
|
|
78
|
-
}
|
|
79
|
-
return (_a = this.selectors
|
|
80
|
-
.getLocationTotals(this.flowMapState, this.flowMapData)) === null || _a === void 0 ? void 0 : _a.get(id);
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
getViewportForLocations(dims) {
|
|
84
|
-
return Promise.resolve({});
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxGbG93TWFwRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVyL0xvY2FsRmxvd01hcERhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFhQSxPQUFPLGdCQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBR25ELE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0JBQXdCO0lBTzNDLFlBQVksU0FBcUM7UUFDL0Msa0VBQWtFO1FBQ2xFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQXFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFSyxjQUFjLENBQUMsV0FBOEI7O1lBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQ2pDLENBQUM7S0FBQTtJQUVLLGVBQWUsQ0FBQyxZQUEwQjs7WUFDOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDbkMsQ0FBQztLQUFBO0lBRUssY0FBYyxDQUFDLEdBQVc7O1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDM0MsT0FBTyxTQUFTLENBQUM7YUFDbEI7WUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUNsRCxJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsV0FBVyxDQUNqQixDQUFDO1lBQ0YsT0FBTyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUcsR0FBRyxDQUFDLENBQUM7UUFDdEIsQ0FBQztLQUFBO0lBRUssa0JBQWtCLENBQUMsR0FBVzs7WUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUMzQyxPQUFPLFNBQVMsQ0FBQzthQUNsQjtZQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQzFELElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQUM7WUFDRixPQUFPLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRyxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDO0tBQUE7SUFFSyxhQUFhOztZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzNDLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzRSxDQUFDO0tBQUE7SUFFSyxlQUFlLENBQUMsRUFBVTs7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUMzQyxPQUFPLFNBQVMsQ0FBQzthQUNsQjtZQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUNqRCxJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsV0FBVyxDQUNqQixDQUFDO1lBQ0YsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELElBQUksT0FBTyxFQUFFO29CQUNYLE9BQU8sT0FBTyxDQUFDO2lCQUNoQjthQUNGO1lBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FDbkQsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztZQUNGLE9BQU8sYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxDQUFDO0tBQUE7SUFFSyxvQkFBb0IsQ0FBQyxFQUFVOzs7WUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUMzQyxPQUFPLFNBQVMsQ0FBQzthQUNsQjtZQUNELE9BQU8sTUFBQSxJQUFJLENBQUMsU0FBUztpQkFDbEIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLDBDQUNyRCxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7O0tBQ2I7SUFFRCx1QkFBdUIsQ0FBQyxJQUFzQjtRQUM1QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBbUIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBGbG93TWFwRGF0YVByb3ZpZGVyIGZyb20gJy4vRmxvd01hcERhdGFQcm92aWRlcic7XG5pbXBvcnQge1xuICBDbHVzdGVyLFxuICBDbHVzdGVyTm9kZSxcbiAgRmxvd0FjY2Vzc29ycyxcbiAgRmxvd01hcERhdGEsXG4gIEZsb3dNYXBEYXRhQWNjZXNzb3JzLFxuICBMYXllcnNEYXRhLFxuICBMb2NhdGlvbkFjY2Vzc29ycyxcbiAgTG9jYXRpb25Ub3RhbHMsXG4gIFZpZXdwb3J0UHJvcHMsXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7Rmxvd01hcFN0YXRlfSBmcm9tICcuLi9GbG93TWFwU3RhdGUnO1xuaW1wb3J0IEZsb3dNYXBTZWxlY3RvcnMgZnJvbSAnLi4vRmxvd01hcFNlbGVjdG9ycyc7XG5pbXBvcnQge0FnZ3JlZ2F0ZUZsb3d9IGZyb20gJy4uJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9jYWxGbG93TWFwRGF0YVByb3ZpZGVyPEwsIEY+XG4gIGltcGxlbWVudHMgRmxvd01hcERhdGFQcm92aWRlcjxMLCBGPlxue1xuICBwcml2YXRlIHNlbGVjdG9yczogRmxvd01hcFNlbGVjdG9yczxMLCBGPjtcbiAgcHJpdmF0ZSBmbG93TWFwRGF0YTogRmxvd01hcERhdGE8TCwgRj4gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgZmxvd01hcFN0YXRlOiBGbG93TWFwU3RhdGUgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoYWNjZXNzb3JzOiBGbG93TWFwRGF0YUFjY2Vzc29yczxMLCBGPikge1xuICAgIC8vIHNjb3BlIHNlbGVjdG9ycyB0byB0aGUgY29uY3JldGUgaW5zdGFuY2Ugb2YgRmxvd01hcERhdGFQcm92aWRlclxuICAgIHRoaXMuc2VsZWN0b3JzID0gbmV3IEZsb3dNYXBTZWxlY3RvcnM8TCwgRj4oYWNjZXNzb3JzKTtcbiAgICB0aGlzLmZsb3dNYXBEYXRhID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZmxvd01hcFN0YXRlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgc2V0QWNjZXNzb3JzKGFjY2Vzc29yczogRmxvd01hcERhdGFBY2Nlc3NvcnM8TCwgRj4pIHtcbiAgICB0aGlzLnNlbGVjdG9ycy5zZXRBY2Nlc3NvcnMoYWNjZXNzb3JzKTtcbiAgfVxuXG4gIGFzeW5jIHNldEZsb3dNYXBEYXRhKGZsb3dNYXBEYXRhOiBGbG93TWFwRGF0YTxMLCBGPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZmxvd01hcERhdGEgPSBmbG93TWFwRGF0YTtcbiAgfVxuXG4gIGFzeW5jIHNldEZsb3dNYXBTdGF0ZShmbG93TWFwU3RhdGU6IEZsb3dNYXBTdGF0ZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZmxvd01hcFN0YXRlID0gZmxvd01hcFN0YXRlO1xuICB9XG5cbiAgYXN5bmMgZ2V0Rmxvd0J5SW5kZXgoaWR4OiBudW1iZXIpOiBQcm9taXNlPEYgfCBBZ2dyZWdhdGVGbG93IHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dNYXBTdGF0ZSB8fCAhdGhpcy5mbG93TWFwRGF0YSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgZmxvd3MgPSB0aGlzLnNlbGVjdG9ycy5nZXRGbG93c0ZvckZsb3dNYXBMYXllcihcbiAgICAgIHRoaXMuZmxvd01hcFN0YXRlLFxuICAgICAgdGhpcy5mbG93TWFwRGF0YSxcbiAgICApO1xuICAgIHJldHVybiBmbG93cz8uW2lkeF07XG4gIH1cblxuICBhc3luYyBnZXRMb2NhdGlvbkJ5SW5kZXgoaWR4OiBudW1iZXIpOiBQcm9taXNlPEwgfCBDbHVzdGVyTm9kZSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5mbG93TWFwU3RhdGUgfHwgIXRoaXMuZmxvd01hcERhdGEpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGxvY2F0aW9ucyA9IHRoaXMuc2VsZWN0b3JzLmdldExvY2F0aW9uc0ZvckZsb3dNYXBMYXllcihcbiAgICAgIHRoaXMuZmxvd01hcFN0YXRlLFxuICAgICAgdGhpcy5mbG93TWFwRGF0YSxcbiAgICApO1xuICAgIHJldHVybiBsb2NhdGlvbnM/LltpZHhdO1xuICB9XG5cbiAgYXN5bmMgZ2V0TGF5ZXJzRGF0YSgpOiBQcm9taXNlPExheWVyc0RhdGEgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd01hcFN0YXRlIHx8ICF0aGlzLmZsb3dNYXBEYXRhKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvcnMuZ2V0TGF5ZXJzRGF0YSh0aGlzLmZsb3dNYXBTdGF0ZSwgdGhpcy5mbG93TWFwRGF0YSk7XG4gIH1cblxuICBhc3luYyBnZXRMb2NhdGlvbkJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8TCB8IENsdXN0ZXIgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd01hcFN0YXRlIHx8ICF0aGlzLmZsb3dNYXBEYXRhKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBjbHVzdGVySW5kZXggPSB0aGlzLnNlbGVjdG9ycy5nZXRDbHVzdGVySW5kZXgoXG4gICAgICB0aGlzLmZsb3dNYXBTdGF0ZSxcbiAgICAgIHRoaXMuZmxvd01hcERhdGEsXG4gICAgKTtcbiAgICBpZiAoY2x1c3RlckluZGV4KSB7XG4gICAgICBjb25zdCBjbHVzdGVyID0gY2x1c3RlckluZGV4LmdldENsdXN0ZXJCeUlkKGlkKTtcbiAgICAgIGlmIChjbHVzdGVyKSB7XG4gICAgICAgIHJldHVybiBjbHVzdGVyO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBsb2NhdGlvbnNCeUlkID0gdGhpcy5zZWxlY3RvcnMuZ2V0TG9jYXRpb25zQnlJZChcbiAgICAgIHRoaXMuZmxvd01hcFN0YXRlLFxuICAgICAgdGhpcy5mbG93TWFwRGF0YSxcbiAgICApO1xuICAgIHJldHVybiBsb2NhdGlvbnNCeUlkPy5nZXQoaWQpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG90YWxzRm9yTG9jYXRpb24oaWQ6IHN0cmluZyk6IFByb21pc2U8TG9jYXRpb25Ub3RhbHMgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd01hcFN0YXRlIHx8ICF0aGlzLmZsb3dNYXBEYXRhKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvcnNcbiAgICAgIC5nZXRMb2NhdGlvblRvdGFscyh0aGlzLmZsb3dNYXBTdGF0ZSwgdGhpcy5mbG93TWFwRGF0YSlcbiAgICAgID8uZ2V0KGlkKTtcbiAgfVxuXG4gIGdldFZpZXdwb3J0Rm9yTG9jYXRpb25zKGRpbXM6IFtudW1iZXIsIG51bWJlcl0pOiBQcm9taXNlPFZpZXdwb3J0UHJvcHM+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9IGFzIFZpZXdwb3J0UHJvcHMpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import FlowMapDataProvider from './FlowMapDataProvider';
|
|
2
|
-
import {
|
|
3
|
-
Cluster,
|
|
4
|
-
ClusterNode,
|
|
5
|
-
FlowAccessors,
|
|
6
|
-
FlowMapData,
|
|
7
|
-
FlowMapDataAccessors,
|
|
8
|
-
LayersData,
|
|
9
|
-
LocationAccessors,
|
|
10
|
-
LocationTotals,
|
|
11
|
-
ViewportProps,
|
|
12
|
-
} from '../types';
|
|
13
|
-
import {FlowMapState} from '../FlowMapState';
|
|
14
|
-
import FlowMapSelectors from '../FlowMapSelectors';
|
|
15
|
-
import {AggregateFlow} from '..';
|
|
16
|
-
|
|
17
|
-
export default class LocalFlowMapDataProvider<L, F>
|
|
18
|
-
implements FlowMapDataProvider<L, F>
|
|
19
|
-
{
|
|
20
|
-
private selectors: FlowMapSelectors<L, F>;
|
|
21
|
-
private flowMapData: FlowMapData<L, F> | undefined;
|
|
22
|
-
private flowMapState: FlowMapState | undefined;
|
|
23
|
-
|
|
24
|
-
constructor(accessors: FlowMapDataAccessors<L, F>) {
|
|
25
|
-
// scope selectors to the concrete instance of FlowMapDataProvider
|
|
26
|
-
this.selectors = new FlowMapSelectors<L, F>(accessors);
|
|
27
|
-
this.flowMapData = undefined;
|
|
28
|
-
this.flowMapState = undefined;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
setAccessors(accessors: FlowMapDataAccessors<L, F>) {
|
|
32
|
-
this.selectors.setAccessors(accessors);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
async setFlowMapData(flowMapData: FlowMapData<L, F>): Promise<void> {
|
|
36
|
-
this.flowMapData = flowMapData;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async setFlowMapState(flowMapState: FlowMapState): Promise<void> {
|
|
40
|
-
this.flowMapState = flowMapState;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async getFlowByIndex(idx: number): Promise<F | AggregateFlow | undefined> {
|
|
44
|
-
if (!this.flowMapState || !this.flowMapData) {
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
|
-
const flows = this.selectors.getFlowsForFlowMapLayer(
|
|
48
|
-
this.flowMapState,
|
|
49
|
-
this.flowMapData,
|
|
50
|
-
);
|
|
51
|
-
return flows?.[idx];
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
async getLocationByIndex(idx: number): Promise<L | ClusterNode | undefined> {
|
|
55
|
-
if (!this.flowMapState || !this.flowMapData) {
|
|
56
|
-
return undefined;
|
|
57
|
-
}
|
|
58
|
-
const locations = this.selectors.getLocationsForFlowMapLayer(
|
|
59
|
-
this.flowMapState,
|
|
60
|
-
this.flowMapData,
|
|
61
|
-
);
|
|
62
|
-
return locations?.[idx];
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
async getLayersData(): Promise<LayersData | undefined> {
|
|
66
|
-
if (!this.flowMapState || !this.flowMapData) {
|
|
67
|
-
return undefined;
|
|
68
|
-
}
|
|
69
|
-
return this.selectors.getLayersData(this.flowMapState, this.flowMapData);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
async getLocationById(id: string): Promise<L | Cluster | undefined> {
|
|
73
|
-
if (!this.flowMapState || !this.flowMapData) {
|
|
74
|
-
return undefined;
|
|
75
|
-
}
|
|
76
|
-
const clusterIndex = this.selectors.getClusterIndex(
|
|
77
|
-
this.flowMapState,
|
|
78
|
-
this.flowMapData,
|
|
79
|
-
);
|
|
80
|
-
if (clusterIndex) {
|
|
81
|
-
const cluster = clusterIndex.getClusterById(id);
|
|
82
|
-
if (cluster) {
|
|
83
|
-
return cluster;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
const locationsById = this.selectors.getLocationsById(
|
|
87
|
-
this.flowMapState,
|
|
88
|
-
this.flowMapData,
|
|
89
|
-
);
|
|
90
|
-
return locationsById?.get(id);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
async getTotalsForLocation(id: string): Promise<LocationTotals | undefined> {
|
|
94
|
-
if (!this.flowMapState || !this.flowMapData) {
|
|
95
|
-
return undefined;
|
|
96
|
-
}
|
|
97
|
-
return this.selectors
|
|
98
|
-
.getLocationTotals(this.flowMapState, this.flowMapData)
|
|
99
|
-
?.get(id);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
getViewportForLocations(dims: [number, number]): Promise<ViewportProps> {
|
|
103
|
-
return Promise.resolve({} as ViewportProps);
|
|
104
|
-
}
|
|
105
|
-
}
|