import Cursor from "../../interfaces/Cursor"; import Item from "../../interfaces/Item"; import Sort from "../../interfaces/Sort"; import createCursorFromItem from "../createCursorFromItem"; export interface Options { readonly items: I[]; readonly cursor: Cursor; readonly sort: Sort; } export interface Result { readonly before: Cursor; readonly after: Cursor; } export default ({ items, cursor, sort }: Options): Result => { if (items.length !== 0) { const first = items[0]; const last = items[items.length - 1]; return { after: createCursorFromItem(last, sort), before: createCursorFromItem(first, sort) }; } return { after: cursor, before: cursor }; };