UNPKG

kepler.gl

Version:

kepler.gl is a webgl based application to visualize large scale location data in the browser

86 lines (83 loc) 14 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _reselect = require("reselect"); var _context = _interopRequireDefault(require("../context")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project var identity = function identity(state) { return state; }; var mergeSelectors = function mergeSelectors(parentSelector, childSelector) { return function (state) { return childSelector(parentSelector(state)); }; }; // store the parent selector in the parent context // and return the parent component // when a selector is passed to a container component, // it will be stored in the context and passed down to child components, // as well as prop to the given component var withLocalSelector = function withLocalSelector(ParentComponent) { var WithConnectSelector = /*#__PURE__*/function (_Component) { function WithConnectSelector() { var _this; (0, _classCallCheck2["default"])(this, WithConnectSelector); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _callSuper(this, WithConnectSelector, [].concat(args)); (0, _defineProperty2["default"])(_this, "selectorFromContext", function (_, ctx) { return ctx.selector ? ctx.selector : identity; }); (0, _defineProperty2["default"])(_this, "selectorFromProps", function (props) { return props.selector ? props.selector : identity; }); (0, _defineProperty2["default"])(_this, "idFromProps", function (props) { return props.id; }); (0, _defineProperty2["default"])(_this, "computedSelector", (0, _reselect.createSelector)(_this.selectorFromContext, _this.selectorFromProps, function (ctx, props) { return mergeSelectors(ctx, props); })); (0, _defineProperty2["default"])(_this, "contextSelector", (0, _reselect.createSelector)(_this.computedSelector, _this.idFromProps, function (selector, id) { return { selector: selector, id: id }; })); return _this; } (0, _inherits2["default"])(WithConnectSelector, _Component); return (0, _createClass2["default"])(WithConnectSelector, [{ key: "render", value: function render() { // @ts-ignore Argument of type 'Readonly<P & { selector: (...args: any[]) => KeplerGlState; }>' is not assignable to parameter of type 'never' var computedContext = this.contextSelector(this.props, this.context); return /*#__PURE__*/_react["default"].createElement(_context["default"].Provider, { value: computedContext }, /*#__PURE__*/_react["default"].createElement(ParentComponent, (0, _extends2["default"])({}, this.props, { selector: computedContext.selector }))); } }]); }(_react.Component); (0, _defineProperty2["default"])(WithConnectSelector, "contextType", _context["default"]); return WithConnectSelector; }; var _default = exports["default"] = withLocalSelector; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVzZWxlY3QiLCJfY29udGV4dCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfY2FsbFN1cGVyIiwibyIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImlkZW50aXR5Iiwic3RhdGUiLCJtZXJnZVNlbGVjdG9ycyIsInBhcmVudFNlbGVjdG9yIiwiY2hpbGRTZWxlY3RvciIsIndpdGhMb2NhbFNlbGVjdG9yIiwiUGFyZW50Q29tcG9uZW50IiwiV2l0aENvbm5lY3RTZWxlY3RvciIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJfIiwiY3R4Iiwic2VsZWN0b3IiLCJwcm9wcyIsImlkIiwiY3JlYXRlU2VsZWN0b3IiLCJzZWxlY3RvckZyb21Db250ZXh0Iiwic2VsZWN0b3JGcm9tUHJvcHMiLCJjb21wdXRlZFNlbGVjdG9yIiwiaWRGcm9tUHJvcHMiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwicmVuZGVyIiwiY29tcHV0ZWRDb250ZXh0IiwiY29udGV4dFNlbGVjdG9yIiwiY29udGV4dCIsImNyZWF0ZUVsZW1lbnQiLCJQcm92aWRlciIsIl9leHRlbmRzMiIsIkNvbXBvbmVudCIsIktlcGxlckdsQ29udGV4dCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25uZWN0L3dpdGgtbG9jYWwtc2VsZWN0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IEtlcGxlckdsQ29udGV4dCBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7S2VwbGVyR2xTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC9yZWR1Y2Vycyc7XG5cbmNvbnN0IGlkZW50aXR5ID0gc3RhdGUgPT4gc3RhdGU7XG5cbmNvbnN0IG1lcmdlU2VsZWN0b3JzID0gKHBhcmVudFNlbGVjdG9yLCBjaGlsZFNlbGVjdG9yKSA9PiBzdGF0ZSA9PlxuICBjaGlsZFNlbGVjdG9yKHBhcmVudFNlbGVjdG9yKHN0YXRlKSk7XG5cbi8vIHN0b3JlIHRoZSBwYXJlbnQgc2VsZWN0b3IgaW4gdGhlIHBhcmVudCBjb250ZXh0XG4vLyBhbmQgcmV0dXJuIHRoZSBwYXJlbnQgY29tcG9uZW50XG4vLyB3aGVuIGEgc2VsZWN0b3IgaXMgcGFzc2VkIHRvIGEgY29udGFpbmVyIGNvbXBvbmVudCxcbi8vIGl0IHdpbGwgYmUgc3RvcmVkIGluIHRoZSBjb250ZXh0IGFuZCBwYXNzZWQgZG93biB0byBjaGlsZCBjb21wb25lbnRzLFxuLy8gYXMgd2VsbCBhcyBwcm9wIHRvIHRoZSBnaXZlbiBjb21wb25lbnRcblxuY29uc3Qgd2l0aExvY2FsU2VsZWN0b3IgPSA8UCBleHRlbmRzIG9iamVjdD4oXG4gIFBhcmVudENvbXBvbmVudDogUmVhY3QuQ29tcG9uZW50VHlwZTxQPlxuKTogUmVhY3QuQ29tcG9uZW50VHlwZTxQICYge3NlbGVjdG9yOiAoLi4uYXJnczogYW55W10pID0+IEtlcGxlckdsU3RhdGV9PiA9PiB7XG4gIGNsYXNzIFdpdGhDb25uZWN0U2VsZWN0b3IgZXh0ZW5kcyBDb21wb25lbnQ8UCAmIHtzZWxlY3RvcjogKC4uLmFyZ3M6IGFueVtdKSA9PiBLZXBsZXJHbFN0YXRlfT4ge1xuICAgIHN0YXRpYyBjb250ZXh0VHlwZSA9IEtlcGxlckdsQ29udGV4dDtcblxuICAgIHNlbGVjdG9yRnJvbUNvbnRleHQgPSAoXywgY3R4KSA9PiAoY3R4LnNlbGVjdG9yID8gY3R4LnNlbGVjdG9yIDogaWRlbnRpdHkpO1xuICAgIHNlbGVjdG9yRnJvbVByb3BzID0gcHJvcHMgPT4gKHByb3BzLnNlbGVjdG9yID8gcHJvcHMuc2VsZWN0b3IgOiBpZGVudGl0eSk7XG4gICAgaWRGcm9tUHJvcHMgPSBwcm9wcyA9PiBwcm9wcy5pZDtcbiAgICBjb21wdXRlZFNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICB0aGlzLnNlbGVjdG9yRnJvbUNvbnRleHQsXG4gICAgICB0aGlzLnNlbGVjdG9yRnJvbVByb3BzLFxuICAgICAgKGN0eCwgcHJvcHMpID0+IG1lcmdlU2VsZWN0b3JzKGN0eCwgcHJvcHMpXG4gICAgKTtcblxuICAgIGNvbnRleHRTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuY29tcHV0ZWRTZWxlY3RvciwgdGhpcy5pZEZyb21Qcm9wcywgKHNlbGVjdG9yLCBpZCkgPT4gKHtcbiAgICAgIHNlbGVjdG9yLFxuICAgICAgaWRcbiAgICB9KSk7XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAvLyBAdHMtaWdub3JlIEFyZ3VtZW50IG9mIHR5cGUgJ1JlYWRvbmx5PFAgJiB7IHNlbGVjdG9yOiAoLi4uYXJnczogYW55W10pID0+IEtlcGxlckdsU3RhdGU7IH0+JyBpcyBub3QgYXNzaWduYWJsZSB0byBwYXJhbWV0ZXIgb2YgdHlwZSAnbmV2ZXInXG4gICAgICBjb25zdCBjb21wdXRlZENvbnRleHQgPSB0aGlzLmNvbnRleHRTZWxlY3Rvcih0aGlzLnByb3BzLCB0aGlzLmNvbnRleHQpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEtlcGxlckdsQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29tcHV0ZWRDb250ZXh0fT5cbiAgICAgICAgICA8UGFyZW50Q29tcG9uZW50IHsuLi50aGlzLnByb3BzfSBzZWxlY3Rvcj17Y29tcHV0ZWRDb250ZXh0LnNlbGVjdG9yfSAvPlxuICAgICAgICA8L0tlcGxlckdsQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFdpdGhDb25uZWN0U2VsZWN0b3I7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoTG9jYWxTZWxlY3RvcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQXlDLFNBQUFJLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTix3QkFBQU0sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFB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UUFBUSxHQUFHckIsUUFBUTtNQUFBLENBQUM7TUFBQSxJQUFBa0IsZ0JBQUEsYUFBQVQsS0FBQSxpQkFDM0QsVUFBQWEsS0FBSztRQUFBLE9BQUlBLEtBQUssQ0FBQ0MsRUFBRTtNQUFBO01BQUEsSUFBQUwsZ0JBQUEsYUFBQVQsS0FBQSxzQkFDWixJQUFBZSx3QkFBYyxFQUMvQmYsS0FBQSxDQUFLZ0IsbUJBQW1CLEVBQ3hCaEIsS0FBQSxDQUFLaUIsaUJBQWlCLEVBQ3RCLFVBQUNOLEdBQUcsRUFBRUUsS0FBSztRQUFBLE9BQUtwQixjQUFjLENBQUNrQixHQUFHLEVBQUVFLEtBQUssQ0FBQztNQUFBLENBQzVDLENBQUM7TUFBQSxJQUFBSixnQkFBQSxhQUFBVCxLQUFBLHFCQUVpQixJQUFBZSx3QkFBYyxFQUFDZixLQUFBLENBQUtrQixnQkFBZ0IsRUFBRWxCLEtBQUEsQ0FBS21CLFdBQVcsRUFBRSxVQUFDUCxRQUFRLEVBQUVFLEVBQUU7UUFBQSxPQUFNO1VBQzNGRixRQUFRLEVBQVJBLFFBQVE7VUFDUkUsRUFBRSxFQUFGQTtRQUNGLENBQUM7TUFBQSxDQUFDLENBQUM7TUFBQSxPQUFBZCxLQUFBO0lBQUE7SUFBQSxJQUFBb0IsVUFBQSxhQUFBdEIsbUJBQUEsRUFBQUMsVUFBQTtJQUFBLFdBQUFzQixhQUFBLGFBQUF2QixtQkFBQTtNQUFBd0IsR0FBQTtNQUFBQyxLQUFBLEVBRUgsU0FBQUMsTUFBTUEsQ0FBQSxFQUFHO1FBQ1A7UUFDQSxJQUFNQyxlQUFlLEdBQUcsSUFBSSxDQUFDQyxlQUFlLENBQUMsSUFBSSxDQUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDYyxPQUFPLENBQUM7UUFDdEUsb0JBQ0UxRSxNQUFBLFlBQUEyRSxhQUFBLENBQUN2RSxRQUFBLFdBQWUsQ0FBQ3dFLFFBQVE7VUFBQ04sS0FBSyxFQUFFRTtRQUFnQixnQkFDL0N4RSxNQUFBLFlBQUEyRSxhQUFBLENBQUMvQixlQUFlLE1BQUFpQyxTQUFBLGlCQUFLLElBQUksQ0FBQ2pCLEtBQUs7VUFBRUQsUUFBUSxFQUFFYSxlQUFlLENBQUNiO1FBQVMsRUFBRSxDQUM5QyxDQUFDO01BRS9CO0lBQUM7RUFBQSxFQXpCK0JtQixnQkFBUztFQUFBLElBQUF0QixnQkFBQSxhQUFyQ1gsbUJBQW1CLGlCQUNGa0MsbUJBQWU7RUEyQnRDLE9BQU9sQyxtQkFBbUI7QUFDNUIsQ0FBQztBQUFDLElBQUFtQyxRQUFBLEdBQUFDLE9BQUEsY0FFYXRDLGlCQUFpQiIsImlnbm9yZUxpc3QiOltdfQ==