UNPKG

@prelude/cmp

Version:

Cmp module.

30 lines 1.01 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.array = void 0; const prelude_js_1 = require("./prelude.js"); const number_js_1 = __importDefault(require("./number.js")); /** * Compares arrays element-wise up to common length. * * If all are equal then returns comparision result on array lengths. */ const array = (cmp) => (as, bs) => { const n = Math.min(as.length, bs.length); for (let i = 0; i < n; i++) { switch (cmp(as[i], bs[i])) { case prelude_js_1.asc: return prelude_js_1.asc; case prelude_js_1.eq: break; case prelude_js_1.dsc: return prelude_js_1.dsc; } } return (0, number_js_1.default)(as.length, bs.length); }; exports.array = array; exports.default = exports.array; //# sourceMappingURL=array.js.map