UNPKG

loaders.gl

Version:

Framework-independent loaders for 3D graphics formats

28 lines (25 loc) 1.28 kB
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } /** * Covert all numbers in a deep structure to a given precision, allowing * reliable float comparisons. Converts data in-place. * @param {mixed} input Input data * @param {Number} [precision] Desired precision * @return {mixed} Input data, with all numbers converted */ export function toLowPrecision(input) { var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 11; /* eslint-disable guard-for-in */ if (typeof input === 'number') { input = Number(input.toPrecision(precision)); } else if (Array.isArray(input) || ArrayBuffer.isView(input)) { input = Array.from(input).map(function (item) { return toLowPrecision(item, precision); }); } else if (_typeof(input) === 'object') { for (var key in input) { input[key] = toLowPrecision(input[key], precision); } } return input; } //# sourceMappingURL=to-low-precision.js.map