derw
Version:
An Elm-inspired language that transpiles to TypeScript
32 lines (31 loc) • 864 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.kernelStatefulFold = exports.kernelSortBy = exports.kernelSort = exports.kernelEmptyList = exports.kernelLength = void 0;
function kernelLength(xs) {
return xs.length;
}
exports.kernelLength = kernelLength;
function kernelEmptyList() {
return [];
}
exports.kernelEmptyList = kernelEmptyList;
function kernelSort(xs) {
const ys = [...xs];
ys.sort();
return ys;
}
exports.kernelSort = kernelSort;
function kernelSortBy(fn, xs) {
const ys = [...xs];
ys.sort(fn);
return ys;
}
exports.kernelSortBy = kernelSortBy;
function kernelStatefulFold(fn, init, items) {
let currentState = init;
for (const item of items) {
currentState = fn(item, currentState);
}
return currentState;
}
exports.kernelStatefulFold = kernelStatefulFold;