kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
105 lines (100 loc) • 14.3 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.visStateLens = exports.uiStateLens = exports.providerStateLens = exports.mapStyleLens = exports.mapStateLens = exports["default"] = exports.coreReducerFactory = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _redux = require("redux");
var _visState = require("./vis-state");
var _mapState = require("./map-state");
var _mapStyle = require("./map-style");
var _uiState = require("./ui-state");
var _providerState = require("./provider-state");
var _composers = _interopRequireDefault(require("./composers"));
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
var combined = function combined() {
var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var extraReducers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return (0, _redux.combineReducers)(_objectSpread({
visState: (0, _visState.visStateReducerFactory)(initialState.visState),
mapState: (0, _mapState.mapStateReducerFactory)(initialState.mapState),
mapStyle: (0, _mapStyle.mapStyleReducerFactory)(initialState.mapStyle),
uiState: (0, _uiState.uiStateReducerFactory)(initialState.uiState),
providerState: (0, _providerState.providerStateReducerFactory)(initialState.providerState)
}, extraReducers));
};
var coreReducerFactory = exports.coreReducerFactory = function coreReducerFactory() {
var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var extraReducers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return function (state, action) {
if (_composers["default"][action.type]) {
return _composers["default"][action.type](state, action);
}
return combined(initialState, extraReducers)(state, action);
};
};
var _default = exports["default"] = coreReducerFactory();
/**
* Connect subreducer `mapState`, used with `injectComponents`. Learn more at
* [Replace UI Component](../advanced-usages/replace-ui-component.md#pass-custom-component-props)
*
* @param {*} reduxState
* @public
*/
var mapStateLens = exports.mapStateLens = function mapStateLens(reduxState) {
return {
mapState: reduxState.mapState
};
};
/**
* Connect subreducer `mapStyle`, used with `injectComponents`. Learn more at
* [Replace UI Component](../advanced-usages/replace-ui-component.md#pass-custom-component-props)
*
* @param {*} reduxState
* @public
*/
var mapStyleLens = exports.mapStyleLens = function mapStyleLens(reduxState) {
return {
mapStyle: reduxState.mapStyle
};
};
/**
* Connect subreducer `visState`, used with `injectComponents`. Learn more at
* [Replace UI Component](../advanced-usages/replace-ui-component.md#pass-custom-component-props)
*
* @param {*} reduxState
* @public
*/
var visStateLens = exports.visStateLens = function visStateLens(reduxState) {
return {
visState: reduxState.visState
};
};
/**
* Connect subreducer `uiState`, used with `injectComponents`. Learn more at
* [Replace UI Component](../advanced-usages/replace-ui-component.md#pass-custom-component-props)
*
* @param {*} reduxState
* @public
*/
var uiStateLens = exports.uiStateLens = function uiStateLens(reduxState) {
return {
uiState: reduxState.uiState
};
};
/**
* Connect subreducer `providerState`, used with `injectComponents`. Learn more at
* [Replace UI Component](../advanced-usages/replace-ui-component.md#pass-custom-component-props)
*
* @param {*} reduxState
* @public
*/
var providerStateLens = exports.providerStateLens = function providerStateLens(reduxState) {
return {
providerState: reduxState.providerState
};
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVkdXgiLCJyZXF1aXJlIiwiX3Zpc1N0YXRlIiwiX21hcFN0YXRlIiwiX21hcFN0eWxlIiwiX3VpU3RhdGUiLCJfcHJvdmlkZXJTdGF0ZSIsIl9jb21wb3NlcnMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Iiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJjb21iaW5lZCIsImluaXRpYWxTdGF0ZSIsInVuZGVmaW5lZCIsImV4dHJhUmVkdWNlcnMiLCJjb21iaW5lUmVkdWNlcnMiLCJ2aXNTdGF0ZSIsInZpc1N0YXRlUmVkdWNlckZhY3RvcnkiLCJtYXBTdGF0ZSIsIm1hcFN0YXRlUmVkdWNlckZhY3RvcnkiLCJtYXBTdHlsZSIsIm1hcFN0eWxlUmVkdWNlckZhY3RvcnkiLCJ1aVN0YXRlIiwidWlTdGF0ZVJlZHVjZXJGYWN0b3J5IiwicHJvdmlkZXJTdGF0ZSIsInByb3ZpZGVyU3RhdGVSZWR1Y2VyRmFjdG9yeSIsImNvcmVSZWR1Y2VyRmFjdG9yeSIsImV4cG9ydHMiLCJzdGF0ZSIsImFjdGlvbiIsImNvbXBvc2VycyIsInR5cGUiLCJfZGVmYXVsdCIsIm1hcFN0YXRlTGVucyIsInJlZHV4U3RhdGUiLCJtYXBTdHlsZUxlbnMiLCJ2aXNTdGF0ZUxlbnMiLCJ1aVN0YXRlTGVucyIsInByb3ZpZGVyU3RhdGVMZW5zIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtjb21iaW5lUmVkdWNlcnN9IGZyb20gJ3JlZHV4JztcblxuaW1wb3J0IHt2aXNTdGF0ZVJlZHVjZXJGYWN0b3J5fSBmcm9tICcuL3Zpcy1zdGF0ZSc7XG5pbXBvcnQge21hcFN0YXRlUmVkdWNlckZhY3Rvcnl9IGZyb20gJy4vbWFwLXN0YXRlJztcbmltcG9ydCB7bWFwU3R5bGVSZWR1Y2VyRmFjdG9yeX0gZnJvbSAnLi9tYXAtc3R5bGUnO1xuaW1wb3J0IHt1aVN0YXRlUmVkdWNlckZhY3Rvcnl9IGZyb20gJy4vdWktc3RhdGUnO1xuaW1wb3J0IHtwcm92aWRlclN0YXRlUmVkdWNlckZhY3Rvcnl9IGZyb20gJy4vcHJvdmlkZXItc3RhdGUnO1xuXG5pbXBvcnQgY29tcG9zZXJzIGZyb20gJy4vY29tcG9zZXJzJztcblxuaW1wb3J0IHtWaXNTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC9zY2hlbWFzJztcbmltcG9ydCB7TWFwU3RhdGUsIFVpU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtNYXBTdHlsZX0gZnJvbSAnLi9tYXAtc3R5bGUtdXBkYXRlcnMnO1xuaW1wb3J0IHtQcm92aWRlclN0YXRlfSBmcm9tICcuL3Byb3ZpZGVyLXN0YXRlLXVwZGF0ZXJzJztcblxuZXhwb3J0IHR5cGUgS2VwbGVyR2xTdGF0ZSA9IHtcbiAgdmlzU3RhdGU6IFZpc1N0YXRlO1xuICBtYXBTdGF0ZTogTWFwU3RhdGU7XG4gIG1hcFN0eWxlOiBNYXBTdHlsZTtcbiAgdWlTdGF0ZTogVWlTdGF0ZTtcbiAgcHJvdmlkZXJTdGF0ZTogUHJvdmlkZXJTdGF0ZTtcbn07XG5cbmNvbnN0IGNvbWJpbmVkID0gKFxuICBpbml0aWFsU3RhdGU6IFBhcnRpYWw8S2VwbGVyR2xTdGF0ZT4gPSB7fSxcbiAgZXh0cmFSZWR1Y2Vyczoge1t4OiBzdHJpbmddOiB1bmtub3dufSA9IHt9XG4pID0+IHtcbiAgcmV0dXJuIGNvbWJpbmVSZWR1Y2Vycyh7XG4gICAgdmlzU3RhdGU6IHZpc1N0YXRlUmVkdWNlckZhY3RvcnkoaW5pdGlhbFN0YXRlLnZpc1N0YXRlKSxcbiAgICBtYXBTdGF0ZTogbWFwU3RhdGVSZWR1Y2VyRmFjdG9yeShpbml0aWFsU3RhdGUubWFwU3RhdGUpLFxuICAgIG1hcFN0eWxlOiBtYXBTdHlsZVJlZHVjZXJGYWN0b3J5KGluaXRpYWxTdGF0ZS5tYXBTdHlsZSksXG4gICAgdWlTdGF0ZTogdWlTdGF0ZVJlZHVjZXJGYWN0b3J5KGluaXRpYWxTdGF0ZS51aVN0YXRlKSxcbiAgICBwcm92aWRlclN0YXRlOiBwcm92aWRlclN0YXRlUmVkdWNlckZhY3RvcnkoaW5pdGlhbFN0YXRlLnByb3ZpZGVyU3RhdGUpLFxuICAgIC4uLmV4dHJhUmVkdWNlcnNcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29yZVJlZHVjZXJGYWN0b3J5ID1cbiAgKGluaXRpYWxTdGF0ZTogUGFydGlhbDxLZXBsZXJHbFN0YXRlPiA9IHt9LCBleHRyYVJlZHVjZXJzID0ge30pID0+XG4gIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgaWYgKGNvbXBvc2Vyc1thY3Rpb24udHlwZV0pIHtcbiAgICAgIHJldHVybiBjb21wb3NlcnNbYWN0aW9uLnR5cGVdKHN0YXRlLCBhY3Rpb24pO1xuICAgIH1cbiAgICByZXR1cm4gY29tYmluZWQoaW5pdGlhbFN0YXRlLCBleHRyYVJlZHVjZXJzKShzdGF0ZSwgYWN0aW9uKTtcbiAgfTtcblxuZXhwb3J0IGRlZmF1bHQgY29yZVJlZHVjZXJGYWN0b3J5KCk7XG5cbi8qKlxuICogQ29ubmVjdCBzdWJyZWR1Y2VyIGBtYXBTdGF0ZWAsIHVzZWQgd2l0aCBgaW5qZWN0Q29tcG9uZW50c2AuIExlYXJuIG1vcmUgYXRcbiAqIFtSZXBsYWNlIFVJIENvbXBvbmVudF0oLi4vYWR2YW5jZWQtdXNhZ2VzL3JlcGxhY2UtdWktY29tcG9uZW50Lm1kI3Bhc3MtY3VzdG9tLWNvbXBvbmVudC1wcm9wcylcbiAqXG4gKiBAcGFyYW0geyp9IHJlZHV4U3RhdGVcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IG1hcFN0YXRlTGVucyA9IChyZWR1eFN0YXRlOiBLZXBsZXJHbFN0YXRlKSA9PiAoe21hcFN0YXRlOiByZWR1eFN0YXRlLm1hcFN0YXRlfSk7XG5cbi8qKlxuICogQ29ubmVjdCBzdWJyZWR1Y2VyIGBtYXBTdHlsZWAsIHVzZWQgd2l0aCBgaW5qZWN0Q29tcG9uZW50c2AuIExlYXJuIG1vcmUgYXRcbiAqIFtSZXBsYWNlIFVJIENvbXBvbmVudF0oLi4vYWR2YW5jZWQtdXNhZ2VzL3JlcGxhY2UtdWktY29tcG9uZW50Lm1kI3Bhc3MtY3VzdG9tLWNvbXBvbmVudC1wcm9wcylcbiAqXG4gKiBAcGFyYW0geyp9IHJlZHV4U3RhdGVcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IG1hcFN0eWxlTGVucyA9IChyZWR1eFN0YXRlOiBLZXBsZXJHbFN0YXRlKSA9PiAoe21hcFN0eWxlOiByZWR1eFN0YXRlLm1hcFN0eWxlfSk7XG5cbi8qKlxuICogQ29ubmVjdCBzdWJyZWR1Y2VyIGB2aXNTdGF0ZWAsIHVzZWQgd2l0aCBgaW5qZWN0Q29tcG9uZW50c2AuIExlYXJuIG1vcmUgYXRcbiAqIFtSZXBsYWNlIFVJIENvbXBvbmVudF0oLi4vYWR2YW5jZWQtdXNhZ2VzL3JlcGxhY2UtdWktY29tcG9uZW50Lm1kI3Bhc3MtY3VzdG9tLWNvbXBvbmVudC1wcm9wcylcbiAqXG4gKiBAcGFyYW0geyp9IHJlZHV4U3RhdGVcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHZpc1N0YXRlTGVucyA9IChyZWR1eFN0YXRlOiBLZXBsZXJHbFN0YXRlKSA9PiAoe3Zpc1N0YXRlOiByZWR1eFN0YXRlLnZpc1N0YXRlfSk7XG5cbi8qKlxuICogQ29ubmVjdCBzdWJyZWR1Y2VyIGB1aVN0YXRlYCwgdXNlZCB3aXRoIGBpbmplY3RDb21wb25lbnRzYC4gTGVhcm4gbW9yZSBhdFxuICogW1JlcGxhY2UgVUkgQ29tcG9uZW50XSguLi9hZHZhbmNlZC11c2FnZXMvcmVwbGFjZS11aS1jb21wb25lbnQubWQjcGFzcy1jdXN0b20tY29tcG9uZW50LXByb3BzKVxuICpcbiAqIEBwYXJhbSB7Kn0gcmVkdXhTdGF0ZVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgdWlTdGF0ZUxlbnMgPSAocmVkdXhTdGF0ZTogS2VwbGVyR2xTdGF0ZSkgPT4gKHt1aVN0YXRlOiByZWR1eFN0YXRlLnVpU3RhdGV9KTtcblxuLyoqXG4gKiBDb25uZWN0IHN1YnJlZHVjZXIgYHByb3ZpZGVyU3RhdGVgLCB1c2VkIHdpdGggYGluamVjdENvbXBvbmVudHNgLiBMZWFybiBtb3JlIGF0XG4gKiBbUmVwbGFjZSBVSSBDb21wb25lbnRdKC4uL2FkdmFuY2VkLXVzYWdlcy9yZXBsYWNlLXVpLWNvbXBvbmVudC5tZCNwYXNzLWN1c3RvbS1jb21wb25lbnQtcHJvcHMpXG4gKlxuICogQHBhcmFtIHsqfSByZWR1eFN0YXRlXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBwcm92aWRlclN0YXRlTGVucyA9IChyZWR1eFN0YXRlOiBLZXBsZXJHbFN0YXRlKSA9PiAoe1xuICBwcm92aWRlclN0YXRlOiByZWR1eFN0YXRlLnByb3ZpZGVyU3RhdGVcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLFNBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQVAsT0FBQTtBQUFvQyxTQUFBUSxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxN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
;