UNPKG

simple-ascii-chart

Version:
51 lines (50 loc) 1.95 kB
"use strict"; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.drawHeatmap = exports.getZTile = void 0; var constants_1 = require("../constants"); var coords_1 = require("./coords"); var getZTile = function (z) { if (z === 0) return constants_1.TILES.EMPTY; if (z === 1) return constants_1.TILES.LOW; if (z === 2) return constants_1.TILES.MEDIUM; if (z === 3) return constants_1.TILES.HIGH; return constants_1.TILES.FULL; }; exports.getZTile = getZTile; var drawHeatmap = function (_a) { var index = _a.index, arr = _a.arr, graph = _a.graph, scaledX = _a.scaledX, scaledY = _a.scaledY, scaledZ = _a.scaledZ; if (index - 1 >= 0) { var _b = __read(arr[index - 1], 3), prevX_1 = _b[0], prevY_1 = _b[1], prevZ_1 = _b[2]; var _c = __read(arr[index], 3), currX = _c[0], currY_1 = _c[1], currZ_1 = _c[2]; Array((0, coords_1.distance)(currY_1, prevY_1)) .fill('') .forEach(function (_, steps, array) { var step = Math.round(prevY_1) + steps * (currY_1 > prevY_1 ? 1 : -1); var ratio = steps / array.length; var scaledZZ = Math.round((prevZ_1 || 0) + ratio * ((currZ_1 || 0) - (prevZ_1 || 0))); graph[step + 1][prevX_1 + 1] = (0, exports.getZTile)(scaledZZ || 0); }); } graph[scaledY + 1][scaledX + 1] = (0, exports.getZTile)(scaledZ || 0); }; exports.drawHeatmap = drawHeatmap;