UNPKG

@loom-io/core

Version:

A file system wrapper for Node.js and Bun

46 lines (45 loc) 996 B
export class ListItem { content; before; after; constructor(content) { this.content = content; } getFirst() { // eslint-disable-next-line @typescript-eslint/no-this-alias let cur = this; while (cur.prev() !== undefined) { cur = cur.prev(); } return cur; } getLast() { // eslint-disable-next-line @typescript-eslint/no-this-alias let cur = this; while (cur.next() !== undefined) { cur = cur.next(); } return cur; } addBefore(item) { item.before = this.before; item.after = this; this.before = item; return item; } addAfter(item) { item.before = this; item.after = this.after; this.after = item; return item; } remove() { this.before?.addAfter(this.after); } prev() { return this.before; } next() { return this.after; } }