@mapbox/react-map-gl
Version:
A React wrapper for MapboxGL-js and overlay API.
101 lines (85 loc) • 3.24 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _mathUtils = require("../math-utils");
var _assert = _interopRequireDefault(require("../assert"));
var TransitionInterpolator =
/*#__PURE__*/
function () {
function TransitionInterpolator() {
(0, _classCallCheck2["default"])(this, TransitionInterpolator);
(0, _defineProperty2["default"])(this, "propNames", []);
}
(0, _createClass2["default"])(TransitionInterpolator, [{
key: "arePropsEqual",
/**
* Checks if two sets of props need transition in between
* @param currentProps {object} - a list of viewport props
* @param nextProps {object} - a list of viewport props
* @returns {bool} - true if two props are equivalent
*/
value: function arePropsEqual(currentProps, nextProps) {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = (this.propNames || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var key = _step.value;
if (!(0, _mathUtils.equals)(currentProps[key], nextProps[key])) {
return false;
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator["return"] != null) {
_iterator["return"]();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return true;
}
/**
* Called before transition starts to validate/pre-process start and end props
* @param startProps {object} - a list of starting viewport props
* @param endProps {object} - a list of target viewport props
* @returns {Object} {start, end} - start and end props to be passed
* to `interpolateProps`
*/
}, {
key: "initializeProps",
value: function initializeProps(startProps, endProps) {
return {
start: startProps,
end: endProps
};
}
/**
* Returns viewport props in transition
* @param startProps {object} - a list of starting viewport props
* @param endProps {object} - a list of target viewport props
* @param t {number} - a time factor between [0, 1]
* @returns {object} - a list of interpolated viewport props
*/
}, {
key: "interpolateProps",
value: function interpolateProps(startProps, endProps, t) {
(0, _assert["default"])(false, 'interpolateProps is not implemented');
}
}]);
return TransitionInterpolator;
}();
exports["default"] = TransitionInterpolator;
//# sourceMappingURL=transition-interpolator.js.map