@mapbox/react-map-gl
Version:
A React wrapper for MapboxGL-js and overlay API.
90 lines (79 loc) • 2.85 kB
JavaScript
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
import _createClass from "@babel/runtime/helpers/esm/createClass";
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import { equals } from '../math-utils';
import assert from '../assert';
var TransitionInterpolator =
/*#__PURE__*/
function () {
function TransitionInterpolator() {
_classCallCheck(this, TransitionInterpolator);
_defineProperty(this, "propNames", []);
}
_createClass(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 (!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) {
assert(false, 'interpolateProps is not implemented');
}
}]);
return TransitionInterpolator;
}();
export { TransitionInterpolator as default };
//# sourceMappingURL=transition-interpolator.js.map