@strong-roots-capital/finite-stack

LIFO stack with finite history

Usage no npm install needed!

<script type="module">
  import strongRootsCapitalFiniteStack from 'https://cdn.skypack.dev/@strong-roots-capital/finite-stack';
</script>

README

finite-stack Build status npm version codecov

Append-only LIFO stack with finite history

Install

npm install @strong-roots-capital/finite-stack

Use

import * as Stack from '@strong-roots-capital/finite-stack'

const emptyStack: Stack.EmptyStack<number> = Stack.stack<number>(2)

let nonEmptyStack: Stack.NonEmptyStack<number> = Stack.push(0)(emptyStack)
console.log(Stack.toArray(nonEmptyStack))
//=>[ 0 ]

nonEmptyStack = Stack.push(1)(nonEmptyStack)
console.log(Stack.toArray(nonEmptyStack))
//=>[ 1, 0 ]

nonEmptyStack = Stack.push(2)(nonEmptyStack)
console.log(Stack.toArray(nonEmptyStack))
//=>[ 2, 1 ]

Related

Acknowledgments