1.0.1 • Published 7 months ago

basic-stack v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
7 months ago

Stack Package

A lightweight, TypeScript-based implementation of a stack data structure, providing standard stack operations like push, pop, peek, size checking, and emptiness validation.

Installation

Install the package via npm:

npm install basic-stack

or with Yarn:

yarn add basic-stack

Usage

Importing the Stack Class

import { Stack } from "basic-stack";

Creating a Stack

You can create a stack for any data type:

const numberStack = new Stack<number>();
const stringStack = new Stack<string>();

interface MyObject {
  id: number;
  name: string;
}
const objectStack = new Stack<MyObject>();

API Methods

push(value: T): void

Adds an item to the top of the stack.

numberStack.push(42);
numberStack.push(36);

pop(): T | undefined

Removes and returns the top item of the stack. Returns undefined if the stack is empty.

const top = numberStack.pop(); // 36

peek(): T | undefined

Returns the top item of the stack without removing it. Returns undefined if the stack is empty.

const top = numberStack.peek(); // 42

size: number

Returns the number of items in the stack.

console.log(numberStack.size); // 1

isEmpty: boolean

Returns true if the stack is empty, false otherwise.

console.log(numberStack.isEmpty); // false

Example

import { Stack } from "@your-username/stack";

const stack = new Stack<number>();

stack.push(10);
stack.push(20);
stack.push(30);

console.log(stack.peek()); // 30
console.log(stack.size); // 3
console.log(stack.pop()); // 30
console.log(stack.size); // 2
console.log(stack.isEmpty); // false

stack.pop();
stack.pop();

console.log(stack.isEmpty); // true

Features

  • Generic type support for flexibility.
  • Implements core stack operations: push, pop, peek.
  • Properties for size checking and emptiness validation.
  • Maintains object references for complex data types.