UNPKG

kepler.gl

Version:

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

56 lines (52 loc) 6.05 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.diffUpdateTriggers = diffUpdateTriggers; var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project /* eslint-disable guard-for-in */ /** * * @param {Object} updateTriggers {getPosition: {column}, getData: {filteredIndex}} * @param {Object} oldUpdateTriggers * @returns {boolean|object} `false` if nothing changed, or `triggerChanged` as an object */ function diffUpdateTriggers(updateTriggers) { var oldUpdateTriggers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var triggerChanged = {}; var reason = false; for (var triggerName in updateTriggers) { var newTriggers = updateTriggers[triggerName] || {}; var oldTriggers = oldUpdateTriggers[triggerName] || {}; var diffReason = compareUpdateTrigger(newTriggers, oldTriggers, triggerName); if (diffReason) { triggerChanged[triggerName] = true; reason = triggerChanged; } } return reason; } function compareUpdateTrigger(newTriggers, oldTriggers, triggerName) { if ((0, _typeof2["default"])(oldTriggers) !== 'object') { return oldTriggers === newTriggers ? null : "".concat(triggerName, " changed shallowly"); } for (var key in oldTriggers) { if (!(key in newTriggers)) { return "".concat(triggerName, ".").concat(key, " deleted"); } // shallow compare if (oldTriggers[key] !== newTriggers[key]) { return "".concat(triggerName, ".").concat(key, " changed shallowly"); } } for (var _key in newTriggers) { if (!(_key in oldTriggers)) { return "".concat(triggerName, ".").concat(_key, " added"); } } return null; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWZmVXBkYXRlVHJpZ2dlcnMiLCJ1cGRhdGVUcmlnZ2VycyIsIm9sZFVwZGF0ZVRyaWdnZXJzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwidHJpZ2dlckNoYW5nZWQiLCJyZWFzb24iLCJ0cmlnZ2VyTmFtZSIsIm5ld1RyaWdnZXJzIiwib2xkVHJpZ2dlcnMiLCJkaWZmUmVhc29uIiwiY29tcGFyZVVwZGF0ZVRyaWdnZXIiLCJfdHlwZW9mMiIsImNvbmNhdCIsImtleSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9sYXllci11cGRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuLyogZXNsaW50LWRpc2FibGUgZ3VhcmQtZm9yLWluICovXG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB1cGRhdGVUcmlnZ2VycyB7Z2V0UG9zaXRpb246IHtjb2x1bW59LCBnZXREYXRhOiB7ZmlsdGVyZWRJbmRleH19XG4gKiBAcGFyYW0ge09iamVjdH0gb2xkVXBkYXRlVHJpZ2dlcnNcbiAqIEByZXR1cm5zIHtib29sZWFufG9iamVjdH0gYGZhbHNlYCBpZiBub3RoaW5nIGNoYW5nZWQsIG9yIGB0cmlnZ2VyQ2hhbmdlZGAgYXMgYW4gb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaWZmVXBkYXRlVHJpZ2dlcnModXBkYXRlVHJpZ2dlcnMsIG9sZFVwZGF0ZVRyaWdnZXJzID0ge30pIHtcbiAgY29uc3QgdHJpZ2dlckNoYW5nZWQ6IHtba2V5OiBzdHJpbmddOiB0cnVlfSA9IHt9O1xuICBsZXQgcmVhc29uOiBib29sZWFuIHwge1trZXk6IHN0cmluZ106IHRydWV9ID0gZmFsc2U7XG5cbiAgZm9yIChjb25zdCB0cmlnZ2VyTmFtZSBpbiB1cGRhdGVUcmlnZ2Vycykge1xuICAgIGNvbnN0IG5ld1RyaWdnZXJzID0gdXBkYXRlVHJpZ2dlcnNbdHJpZ2dlck5hbWVdIHx8IHt9O1xuICAgIGNvbnN0IG9sZFRyaWdnZXJzID0gb2xkVXBkYXRlVHJpZ2dlcnNbdHJpZ2dlck5hbWVdIHx8IHt9O1xuICAgIGNvbnN0IGRpZmZSZWFzb24gPSBjb21wYXJlVXBkYXRlVHJpZ2dlcihuZXdUcmlnZ2Vycywgb2xkVHJpZ2dlcnMsIHRyaWdnZXJOYW1lKTtcblxuICAgIGlmIChkaWZmUmVhc29uKSB7XG4gICAgICB0cmlnZ2VyQ2hhbmdlZFt0cmlnZ2VyTmFtZV0gPSB0cnVlO1xuICAgICAgcmVhc29uID0gdHJpZ2dlckNoYW5nZWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlYXNvbjtcbn1cblxuZnVuY3Rpb24gY29tcGFyZVVwZGF0ZVRyaWdnZXIobmV3VHJpZ2dlcnMsIG9sZFRyaWdnZXJzLCB0cmlnZ2VyTmFtZSkge1xuICBpZiAodHlwZW9mIG9sZFRyaWdnZXJzICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBvbGRUcmlnZ2VycyA9PT0gbmV3VHJpZ2dlcnMgPyBudWxsIDogYCR7dHJpZ2dlck5hbWV9IGNoYW5nZWQgc2hhbGxvd2x5YDtcbiAgfVxuXG4gIGZvciAoY29uc3Qga2V5IGluIG9sZFRyaWdnZXJzKSB7XG4gICAgaWYgKCEoa2V5IGluIG5ld1RyaWdnZXJzKSkge1xuICAgICAgcmV0dXJuIGAke3RyaWdnZXJOYW1lfS4ke2tleX0gZGVsZXRlZGA7XG4gICAgfVxuXG4gICAgLy8gc2hhbGxvdyBjb21wYXJlXG4gICAgaWYgKG9sZFRyaWdnZXJzW2tleV0gIT09IG5ld1RyaWdnZXJzW2tleV0pIHtcbiAgICAgIHJldHVybiBgJHt0cmlnZ2VyTmFtZX0uJHtrZXl9IGNoYW5nZWQgc2hhbGxvd2x5YDtcbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IGtleSBpbiBuZXdUcmlnZ2Vycykge1xuICAgIGlmICghKGtleSBpbiBvbGRUcmlnZ2VycykpIHtcbiAgICAgIHJldHVybiBgJHt0cmlnZ2VyTmFtZX0uJHtrZXl9IGFkZGVkYDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNBLGtCQUFrQkEsQ0FBQ0MsY0FBYyxFQUEwQjtFQUFBLElBQXhCQyxpQkFBaUIsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO0VBQ3ZFLElBQU1HLGNBQXFDLEdBQUcsQ0FBQyxDQUFDO0VBQ2hELElBQUlDLE1BQXVDLEdBQUcsS0FBSztFQUVuRCxLQUFLLElBQU1DLFdBQVcsSUFBSVAsY0FBYyxFQUFFO0lBQ3hDLElBQU1RLFdBQVcsR0FBR1IsY0FBYyxDQUFDTyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsSUFBTUUsV0FBVyxHQUFHUixpQkFBaUIsQ0FBQ00sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELElBQU1HLFVBQVUsR0FBR0Msb0JBQW9CLENBQUNILFdBQVcsRUFBRUMsV0FBVyxFQUFFRixXQUFXLENBQUM7SUFFOUUsSUFBSUcsVUFBVSxFQUFFO01BQ2RMLGNBQWMsQ0FBQ0UsV0FBVyxDQUFDLEdBQUcsSUFBSTtNQUNsQ0QsTUFBTSxHQUFHRCxjQUFjO0lBQ3pCO0VBQ0Y7RUFFQSxPQUFPQyxNQUFNO0FBQ2Y7QUFFQSxTQUFTSyxvQkFBb0JBLENBQUNILFdBQVcsRUFBRUMsV0FBVyxFQUFFRixXQUFXLEVBQUU7RUFDbkUsSUFBSSxJQUFBSyxRQUFBLGFBQU9ILFdBQVcsTUFBSyxRQUFRLEVBQUU7SUFDbkMsT0FBT0EsV0FBVyxLQUFLRCxXQUFXLEdBQUcsSUFBSSxNQUFBSyxNQUFBLENBQU1OLFdBQVcsdUJBQW9CO0VBQ2hGO0VBRUEsS0FBSyxJQUFNTyxHQUFHLElBQUlMLFdBQVcsRUFBRTtJQUM3QixJQUFJLEVBQUVLLEdBQUcsSUFBSU4sV0FBVyxDQUFDLEVBQUU7TUFDekIsVUFBQUssTUFBQSxDQUFVTixXQUFXLE9BQUFNLE1BQUEsQ0FBSUMsR0FBRztJQUM5Qjs7SUFFQTtJQUNBLElBQUlMLFdBQVcsQ0FBQ0ssR0FBRyxDQUFDLEtBQUtOLFdBQVcsQ0FBQ00sR0FBRyxDQUFDLEVBQUU7TUFDekMsVUFBQUQsTUFBQSxDQUFVTixXQUFXLE9BQUFNLE1BQUEsQ0FBSUMsR0FBRztJQUM5QjtFQUNGO0VBRUEsS0FBSyxJQUFNQSxJQUFHLElBQUlOLFdBQVcsRUFBRTtJQUM3QixJQUFJLEVBQUVNLElBQUcsSUFBSUwsV0FBVyxDQUFDLEVBQUU7TUFDekIsVUFBQUksTUFBQSxDQUFVTixXQUFXLE9BQUFNLE1BQUEsQ0FBSUMsSUFBRztJQUM5QjtFQUNGO0VBRUEsT0FBTyxJQUFJO0FBQ2IiLCJpZ25vcmVMaXN0IjpbXX0=