1.0.3 • Published 11 years ago
delightful-stack v1.0.3
delightful-stack
A (delightful) stack data structure
##Install
npm install delightful-stack --save##API
Get a reference to the Stack constructor and create a new stack:
var Stack = require('delightful-stack');
var stack = new Stack();####size Number of items in the stack.
var stack = new Stack();
stack.size; // 0
stack.push('something');
stack.push('nothing');
stack.size; // 2
stack.pop();
stack.size; // 1####push
Push an item onto the top of the stack. Any JavaScript value except undefined can be pushed. Pushing undefined has no effect.
var stack = new Stack();
stack.push('A');
stack.push(null);
stack.push('');
stack.push(false);
stack.push({});
stack.push([]);
stack.size; // 6
stack.push(undefined);
stack.push(undefined);
stack.size; // 6####pop
Remove and return the topmost item in the stack, or return undefined if the stack is empty.
var stack = new Stack();
stack.push('A');
stack.push('B');
stack.push('C');
stack.size; // 3
stack.pop(); // 'C'
stack.size; // 2
stack.pop(); // 'B'
stack.size; // 1
stack.pop(); // 'A'
stack.size; // 0
stack.pop(); // undefined
stack.size; // 0####peek Return the topmost item in the stack without removing it.
var stack = new Stack();
stack.push('bottom');
stack.push('top');
stack.peek(); // 'top'
// stack size should be unaffected
stack.size; // 2
// calling peek again should get same value as before
stack.peek(); // 'top'####isEmpty
true if stack has no items, false if it does
var stack = new Stack();
stack.isEmpty(); // true
stack.push('lonely');
stack.isEmpty(); // false
stack.pop(); // 'lonely'
stack.isEmpty(); // true##Test
Clone the repo, then run npm install, then npm test
##Build Status