Skip to content

Commit

Permalink
Multi package lib refactor (#106)
Browse files Browse the repository at this point in the history
  • Loading branch information
padawannn committed Mar 10, 2021
1 parent 02c9b0f commit 662cbe0
Show file tree
Hide file tree
Showing 35 changed files with 98 additions and 86 deletions.
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
"react-dom": "^17.0.1",
"react-redux": "^7.2.2",
"redux": "^4.0.5",
"@turf/bbox-polygon": "^6.3.0",
"@turf/boolean-intersects": "^6.3.0",
"webpack": "^5.24.2",
"webpack-cli": "^4.5.0"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DataFilterExtension } from '@deck.gl/extensions';
import { renderHook } from '@testing-library/react-hooks';
import useCartoLayerFilterProps from '../../src/filters/useCartoLayerFilterProps';
import useCartoLayerFilterProps from '../../src/hooks/useCartoLayerFilterProps';
import { mockClear, mockReduxHooks } from '../mockReduxHooks';

describe('useCartoLayerFilterProps', () => {
Expand Down
4 changes: 1 addition & 3 deletions packages/react-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,7 @@
"webpack-cli": "^4.5.0"
},
"dependencies": {
"@babel/runtime": "^7.13.9",
"@turf/bbox-polygon": "^6.3.0",
"@turf/boolean-intersects": "^6.3.0"
"@babel/runtime": "^7.13.9"
},
"peerDependencies": {
"@carto/react-core": "^1.0.0-rc.1",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { DataFilterExtension } from '@deck.gl/extensions';
import { debounce } from '@carto/react-core';
import useViewportFeatures from './viewportFeatures/useViewportFeatures';
import { buildFeatureFilter } from './Filter';
import { debounce, _buildFeatureFilter } from '@carto/react-core';
import useViewportFeatures from './useViewportFeatures';

export default function useCartoLayerFilterProps(
source,
Expand All @@ -11,7 +10,7 @@ export default function useCartoLayerFilterProps(

return {
onViewportLoad: debounce(onViewportLoad),
getFilterValue: buildFeatureFilter({ filters: source?.filters, type: 'number' }),
getFilterValue: _buildFeatureFilter({ filters: source?.filters, type: 'number' }),
filterRange: [1, 1],
extensions: [new DataFilterExtension({ filterSize: 1 })],
updateTriggers: {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { useEffect, useCallback, useState } from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { setViewportFeatures, setAllWidgetsLoadingState } from '@carto/react-redux';
import { debounce } from '@carto/react-core';
import { viewportFeatures } from './viewportFeatures';
import { debounce, viewportFeatures } from '@carto/react-core';

export default function useViewportFeatures(
source,
Expand Down
11 changes: 2 additions & 9 deletions packages/react-api/src/index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
export { executeSQL } from './api/SQL';
export { default as useCartoLayerFilterProps } from './filters/useCartoLayerFilterProps';

export { SourceTypes } from './api/SourceTypes';

// internal packages
export {
FilterTypes as _FilterTypes,
filtersToSQL as _filtersToSQL,
getApplicableFilters as _getApplicableFilters
} from './filters/FilterQueryBuilder';
export { buildFeatureFilter as _buildFeatureFilter } from './filters/Filter';
export { default as useCartoLayerFilterProps } from './hooks/useCartoLayerFilterProps';

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { aggregationFunctions } from '../../../src/operations/aggregation/values';
import { AggregationTypes } from '../../../src/widgets/AggregationTypes';
import { AggregationTypes } from '../../../src/operations/aggregation/AggregationTypes';

const VALUES = [1, 2, 3, 4, 5];

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { groupValuesByColumn } from '../../src/operations/groupby';
import { AggregationTypes } from '../../src/widgets/AggregationTypes';
import { AggregationTypes } from '../../src/operations/aggregation/AggregationTypes';

const VALUES = [1, 2, 3, 4, 5];

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { histogram } from '../../src/operations/histogram';
import { AggregationTypes } from '../../src/widgets/AggregationTypes';
import { AggregationTypes } from '../../src/operations/aggregation/AggregationTypes';

const VALUES = [1, 2, 2, 3, 3, 3, 4, 4, 5];

Expand Down
4 changes: 4 additions & 0 deletions packages/react-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,5 +54,9 @@
},
"dependencies": {
"@babel/runtime": "^7.13.9"
},
"peerDependencies": {
"@turf/bbox-polygon": "^6.3.0",
"@turf/boolean-intersects": "^6.3.0"
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { makeClosedInterval } from '@carto/react-core';
import { makeClosedInterval } from '../utils/makeClosedInterval';
import { FilterTypes } from './FilterQueryBuilder';

const filterFunctions = {
Expand Down
15 changes: 14 additions & 1 deletion packages/react-core/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,17 @@ export { debounce } from './utils/debounce';
export { throttle } from './utils/throttle';
export { randomString } from './utils/randomString';

export { makeClosedInterval } from './utils/makeClosedInterval';
export { makeClosedInterval } from './utils/makeClosedInterval';

export { AggregationTypes } from './operations/aggregation/AggregationTypes';
export { aggregationFunctions } from './operations/aggregation/values';
export { groupValuesByColumn } from './operations/groupby';
export { histogram } from './operations/histogram';

export {
FilterTypes as _FilterTypes,
filtersToSQL as _filtersToSQL,
getApplicableFilters as _getApplicableFilters
} from './filters/FilterQueryBuilder';
export { buildFeatureFilter as _buildFeatureFilter } from './filters/Filter';
export { viewportFeatures } from './filters/viewportFeatures';
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { AggregationTypes } from '../../widgets/AggregationTypes';
import { AggregationTypes } from './AggregationTypes';

const sum = (values, key) => {
const fn = key ? (a, b) => a + b[key] : (a, b) => a + b;
Expand Down
3 changes: 3 additions & 0 deletions packages/react-core/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ const webpackBaseConfig = require('../../webpack.base');

const webpackConfig = {
...webpackBaseConfig,
externals: [
/^@turf\/.+$/,
],
output: {
path: path.resolve(__dirname, './dist'),
filename: 'index.js',
Expand Down
1 change: 0 additions & 1 deletion packages/react-redux/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@
"@babel/runtime": "^7.13.9"
},
"peerDependencies": {
"@carto/react-basemaps": "^1.0.0-rc.1",
"@carto/react-core": "^1.0.0-rc.1",
"@deck.gl/core": "^8.4.10",
"@reduxjs/toolkit": "^1.5.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
buildSqlQueryToGetCategories,
filterViewportFeaturesToGetCategories
} from '../../src/models/CategoryModel';
import { AggregationTypes } from '../../src/widgets/AggregationTypes';
import { AggregationTypes } from '@carto/react-core';
import { SourceTypes } from '@carto/react-api';

import { mockSqlApiRequest, mockClear } from '../mockSqlApiRequest';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
buildSqlQueryToGetFormula,
filterViewportFeaturesToGetFormula
} from '../../src/models/FormulaModel';
import { AggregationTypes } from '../../src/widgets/AggregationTypes';
import { AggregationTypes } from '@carto/react-core';
import { SourceTypes } from '@carto/react-api';

import { mockSqlApiRequest, mockClear } from '../mockSqlApiRequest';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
buildSqlQueryToGetHistogram,
filterViewportFeaturesToGetHistogram
} from '../../src/models/HistogramModel';
import { AggregationTypes } from '../../src/widgets/AggregationTypes';
import { AggregationTypes } from '@carto/react-core';
import { SourceTypes } from '@carto/react-api';

import { mockSqlApiRequest, mockClear } from '../mockSqlApiRequest';
Expand Down
1 change: 1 addition & 0 deletions packages/react-widgets/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
},
"peerDependencies": {
"@carto/react-api": "^1.0.0-rc.1",
"@carto/react-core": "^1.0.0-rc.1",
"@carto/react-redux": "^1.0.0-rc.1",
"@carto/react-ui": "^1.0.0-rc.1",
"@material-ui/core": "^4.11.3",
Expand Down
1 change: 0 additions & 1 deletion packages/react-widgets/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,3 @@ export { default as GeocoderWidget } from './widgets/GeocoderWidget';
export { default as HistogramWidget } from './widgets/HistogramWidget';
export { default as PieWidget } from './widgets/PieWidget';
export { getFormula, getHistogram, getCategories, geocodeStreetPoint } from './models';
export { AggregationTypes } from './widgets/AggregationTypes';
8 changes: 4 additions & 4 deletions packages/react-widgets/src/models/CategoryModel.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { minify } from 'pgsql-minify';
import {
_buildFeatureFilter as buildFeatureFilter,
_filtersToSQL as filtersToSQL,
executeSQL,
SourceTypes
} from '@carto/react-api';
import { groupValuesByColumn } from '../operations/groupby';
groupValuesByColumn
} from '@carto/react-core';

import { executeSQL, SourceTypes } from '@carto/react-api'

export const getCategories = async (props) => {
const {
Expand Down
8 changes: 4 additions & 4 deletions packages/react-widgets/src/models/FormulaModel.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { minify } from 'pgsql-minify';
import {
_buildFeatureFilter as buildFeatureFilter,
_filtersToSQL as filtersToSQL,
executeSQL,
SourceTypes
} from '@carto/react-api';
import { aggregationFunctions } from '../operations/aggregation/values';
aggregationFunctions
} from '@carto/react-core';

import { executeSQL, SourceTypes } from '@carto/react-api'

export const getFormula = async (props) => {
const {
Expand Down
8 changes: 4 additions & 4 deletions packages/react-widgets/src/models/HistogramModel.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { minify } from 'pgsql-minify';
import {
_buildFeatureFilter as buildFeatureFilter,
_filtersToSQL as filtersToSQL,
executeSQL,
SourceTypes
} from '@carto/react-api';
import { histogram } from '../operations/histogram';
histogram
} from '@carto/react-core';

import { executeSQL, SourceTypes } from '@carto/react-api'

export const getHistogram = async (props) => {
const {
Expand Down
6 changes: 3 additions & 3 deletions packages/react-widgets/src/widgets/CategoryWidget.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import { addFilter, removeFilter, selectSourceById } from '@carto/react-redux';
import { WrapperWidgetUI, CategoryWidgetUI } from '@carto/react-ui';
import {
_FilterTypes as FilterTypes,
_getApplicableFilters as getApplicableFilters
} from '@carto/react-api';
_getApplicableFilters as getApplicableFilters,
AggregationTypes
} from '@carto/react-core';
import { getCategories } from '../models';
import { AggregationTypes } from './AggregationTypes';
import useWidgetLoadingState from './useWidgetLoadingState';

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/react-widgets/src/widgets/FormulaWidget.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { PropTypes } from 'prop-types';
import { selectSourceById } from '@carto/react-redux';
import { WrapperWidgetUI, FormulaWidgetUI } from '@carto/react-ui';
import { getFormula } from '../models';
import { AggregationTypes } from './AggregationTypes';
import { AggregationTypes } from '@carto/react-core';
import useWidgetLoadingState from './useWidgetLoadingState';

/**
Expand Down
6 changes: 3 additions & 3 deletions packages/react-widgets/src/widgets/HistogramWidget.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import { addFilter, removeFilter, selectSourceById } from '@carto/react-redux';
import { WrapperWidgetUI, HistogramWidgetUI } from '@carto/react-ui';
import {
_FilterTypes as FilterTypes,
_getApplicableFilters as getApplicableFilters
} from '@carto/react-api';
_getApplicableFilters as getApplicableFilters,
AggregationTypes
} from '@carto/react-core';
import { getHistogram } from '../models';
import { AggregationTypes } from './AggregationTypes';
import useWidgetLoadingState from './useWidgetLoadingState';

/**
Expand Down
6 changes: 3 additions & 3 deletions packages/react-widgets/src/widgets/PieWidget.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import { addFilter, removeFilter, selectSourceById } from '@carto/react-redux';
import { WrapperWidgetUI, PieWidgetUI } from '@carto/react-ui';
import {
_FilterTypes as FilterTypes,
_getApplicableFilters as getApplicableFilters
} from '@carto/react-api';
_getApplicableFilters as getApplicableFilters,
AggregationTypes
} from '@carto/react-core';
import { getCategories } from '../models';
import { AggregationTypes } from './AggregationTypes';
import useWidgetLoadingState from './useWidgetLoadingState';

/**
Expand Down

0 comments on commit 662cbe0

Please sign in to comment.