46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
var Js_math = require("@rescript/std/lib/js/js_math.js");
|
|
var E_A$QuriSquiggleLang = require("./E/E_A.bs.js");
|
|
var E_O$QuriSquiggleLang = require("./E/E_O.bs.js");
|
|
|
|
var ticks = [
|
|
"▁",
|
|
"▂",
|
|
"▃",
|
|
"▄",
|
|
"▅",
|
|
"▆",
|
|
"▇",
|
|
"█"
|
|
];
|
|
|
|
var _ticksLength = E_A$QuriSquiggleLang.length(ticks);
|
|
|
|
function _heightToTickIndex(maximum, v) {
|
|
var suggestedTickIndex = Js_math.ceil_int(v / maximum * _ticksLength) - 1 | 0;
|
|
if (suggestedTickIndex > 0) {
|
|
return suggestedTickIndex;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
function create(relativeHeights, maximum, param) {
|
|
if (E_A$QuriSquiggleLang.length(relativeHeights) === 0) {
|
|
return "";
|
|
}
|
|
var maximum$1 = E_O$QuriSquiggleLang.$$default(maximum, E_A$QuriSquiggleLang.Floats.max(relativeHeights));
|
|
return E_A$QuriSquiggleLang.joinWith(E_A$QuriSquiggleLang.fmap(E_A$QuriSquiggleLang.fmap(relativeHeights, (function (param) {
|
|
return _heightToTickIndex(maximum$1, param);
|
|
})), (function (r) {
|
|
return E_O$QuriSquiggleLang.toExn(E_A$QuriSquiggleLang.get(ticks, r), "");
|
|
})), "");
|
|
}
|
|
|
|
exports.ticks = ticks;
|
|
exports._ticksLength = _ticksLength;
|
|
exports._heightToTickIndex = _heightToTickIndex;
|
|
exports.create = create;
|
|
/* _ticksLength Not a pure module */
|