// @ts-ignore import { curry, CurriedFunction2 } from "ramda"; import * as R from "ramda"; import * as L from "./index"; export { Node, List, list } from "./index"; L.setEquals(R.equals); export const prepend = curry(L.prepend); export const append = curry(L.append); export const pair = curry(L.pair); export const empty = curry(L.empty); export const repeat = curry(L.repeat); export const length = curry(L.length); export const first = curry(L.first); export const last = curry(L.last); export const nth = curry(L.nth); export const map = curry(L.map); export const pluck = curry(L.pluck as ((key: string, l: L.List) => A)); export const range = curry(L.range); export const foldl = curry(L.foldl); export const reduce = foldl; export const filter = curry(L.filter); export const reject = curry(L.reject); export const join = curry(L.join); export const foldr = curry(L.foldr); export const reduceRight = foldr; export const flatten = curry(L.flatten); export const every = curry(L.every); export const all = every; export const some = curry(L.some); export const any = some; export const none = curry(L.none); export const find = curry(L.find); export const indexOf = curry(L.indexOf); export const findIndex = curry(L.findIndex); export const includes = curry(L.includes); export const contains = includes; export const equals = curry(L.equals); export const concat = curry(L.concat); export const update = curry(L.update); export const adjust = curry(L.adjust); export const slice = curry(L.slice); export const take = curry(L.take); export const takeWhile = curry(L.takeWhile); export const dropWhile = curry(L.dropWhile); export const takeLast = curry(L.takeLast); export const splitAt = curry(L.splitAt); export const remove = curry(L.remove); export const drop = curry(L.drop); export const dropLast = curry(L.dropLast); export const pop = curry(L.pop); export const init = pop; export const tail = curry(L.tail); export const toArray = curry(L.toArray); export const fromArray = curry(L.fromArray);