Package Exports
- @datastructures-js/stack
- @datastructures-js/stack/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@datastructures-js/stack) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@datastructures-js/stack
A wrapper around javascript array push/pop with a standard stack interface.

Contents
Install
npm install --save @datastructures-js/stack
require
const { Stack } = require('@datastructures-js/stack');
import
import { Stack } from '@datastructures-js/stack';
API
constructor
JS
// empty stack
const stack = new Stack();
// from an array
const stack = new Stack([10, 3, 8, 40, 1]);
TS
// empty stack
const stack = new Stack<number>();
// from an array
const stack = new Stack<number>([10, 3, 8, 40, 1]);
Stack.fromArray
JS
// empty stack
const stack = Stack.fromArray([]);
// with elements
const list = [10, 3, 8, 40, 1];
const stack = Stack.fromArray(list);
// If the list should not be mutated, use a copy of it.
const stack = Stack.fromArray(list.slice());
TS
// empty stack
const stack = Stack.fromArray<number>([]);
// with elements
const list = [10, 3, 8, 40, 1];
const stack = Stack.fromArray<number>([10, 3, 8, 40, 1]);
push
adds an element to the top of the stack.
stack.push(11);
peek
returns the top element in the stack.
console.log(stack.peek()); // 11
pop
removes and returns the top element of the stack.
console.log(stack.pop()); // 11
console.log(stack.peek()); // null
isEmpty
checks if the stack is empty.
stack.push(11);
console.log(stack.isEmpty()); // false
size
returns the number of elements in the stack.
console.log(stack.size()); // 1
clone
creates a shallow copy of the stack.
const stack = Stack.fromArray([{ id: 2 }, { id: 4 } , { id: 8 }]);
const clone = stack.clone();
clone.pop();
console.log(stack.peek()); // { id: 8 }
console.log(clone.peek()); // { id: 4 }
toArray
returns a copy of the remaining elements as an array.
console.log(stack.toArray()); // [{ id: 2 }, { id: 4 } , { id: 8 }]
clear
clears all elements from the stack.
stack.clear();
stack.size(); // 0
Build
grunt build
License
The MIT License. Full License is here