Skip to content

Commit 1dc4837

Browse files
author
Jan Kumer
committed
fixup! Fix circular dependencies
1 parent e4b7397 commit 1dc4837

File tree

6 files changed

+24
-9
lines changed

6 files changed

+24
-9
lines changed

src/layer/AbstractSentinelHubV1OrV2Layer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { stringify } from 'query-string';
44

55
import { BBox } from '../bbox';
66
import { Fis } from '../statistics/Fis';
7-
import { StatisticsProviderType } from '../statistics/StatisticsProvider';
87
import { CACHE_CONFIG_NOCACHE } from '../utils/cacheHandlers';
98
import { getAxiosReqParams, RequestConfiguration } from '../utils/cancelRequests';
109
import { ensureTimeout } from '../utils/ensureTimeout';
@@ -23,6 +22,7 @@ import {
2322
} from './const';
2423
import { fetchLayersFromGetCapabilitiesXml } from './utils';
2524
import { wmsGetMapUrl } from './wms';
25+
import { StatisticsProviderType } from '../statistics';
2626

2727
interface ConstructorParameters {
2828
instanceId?: string | null;

src/layer/AbstractSentinelHubV3Layer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ import { Effects } from '../mapDataManipulation/const';
3030
import { runEffectFunctions } from '../mapDataManipulation/runEffectFunctions';
3131
import { Fis } from '../statistics/Fis';
3232
import { StatisticalApi } from '../statistics/StatisticalApi';
33-
import { StatisticsProviderType } from '../statistics/StatisticsProvider';
3433
import { CACHE_CONFIG_30MIN, CACHE_CONFIG_NOCACHE } from '../utils/cacheHandlers';
3534
import { fetchLayerParamsFromConfigurationService, getSHServiceRootUrl } from './utils';
35+
import { StatisticsProviderType } from '../statistics/const';
3636

3737
interface ConstructorParameters {
3838
instanceId?: string | null;

src/layer/BYOCLayer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ import { ProcessingPayload } from './processing';
2525
import { getAxiosReqParams, RequestConfiguration } from '../utils/cancelRequests';
2626
import { ensureTimeout } from '../utils/ensureTimeout';
2727
import { CACHE_CONFIG_30MIN } from '../utils/cacheHandlers';
28-
import { StatisticsProviderType } from '../statistics/StatisticsProvider';
2928
import { getSHServiceRootUrl, metersPerPixel } from './utils';
29+
import { StatisticsProviderType } from '../statistics/const';
3030

3131
interface ConstructorParameters {
3232
instanceId?: string | null;

src/statistics/StatisticsProvider.ts

+14-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
import { AbstractLayer } from '../layer/AbstractLayer';
22
import { GetStatsParams, Stats } from '../layer/const';
33
import { RequestConfiguration } from '../utils/cancelRequests';
4-
5-
export enum StatisticsProviderType {
6-
FIS = 'FIS',
7-
STAPI = 'STAPI',
8-
}
4+
import { StatisticsProviderType } from './const';
5+
import { Fis } from './Fis';
6+
import { StatisticalApi } from './StatisticalApi';
97

108
export interface StatisticsProvider {
119
getStats(layer: AbstractLayer, params: GetStatsParams, reqConfig?: RequestConfiguration): Promise<Stats>;
1210
}
11+
12+
export function getStatisticsProvider(statsProvider: StatisticsProviderType): StatisticsProvider {
13+
switch (statsProvider) {
14+
case StatisticsProviderType.STAPI:
15+
return new StatisticalApi();
16+
case StatisticsProviderType.FIS:
17+
return new Fis();
18+
default:
19+
throw new Error(`Unknows statistics provider ${statsProvider}`);
20+
}
21+
}

src/statistics/const.ts

+5
Original file line numberDiff line numberDiff line change
@@ -89,3 +89,8 @@ export type StatisticalApiResponse = {
8989

9090
error?: StatisticalApiResponseError;
9191
}[];
92+
93+
export enum StatisticsProviderType {
94+
FIS = 'FIS',
95+
STAPI = 'STAPI',
96+
}

src/statistics/index.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
export { getStatisticsProvider } from './StatisticsProvider';
12
export {
23
BandHistogram,
34
BandStats,
@@ -7,6 +8,6 @@ export {
78
StatisticalApiOutput,
89
StatisticalApiPayload,
910
StatisticalApiResponse,
11+
StatisticsProviderType,
1012
} from './const';
11-
export { StatisticsProviderType } from './StatisticsProvider';
1213
export { StatisticsUtils } from './statistics.utils';

0 commit comments

Comments
 (0)