Skip to content

PtPrashantTripathi/fixed-len-array

Repository files navigation

πŸ“ fixed-len-array

A tiny and type-safe TypeScript utility to create and work with fixed-length arrays (tuples). Automatically trims or pads input arrays at runtime, while offering compile-time safety using TypeScript's type system.

NPM Version Build Status MIT License TypeScript Ready Documentation

✨ Features

  • βœ… Enforces fixed-length array types (tuples)
  • 🧠 Type-safe construction
  • πŸ”§ Automatically trims or pads at runtime
  • πŸ“¦ Tiny, no dependencies
  • πŸ” Works in both Node.js and browser environments (ESM only)

πŸš€ Usage

npm install fixed-len-array
import { toFixedLengthArray, FixedLengthArray } from "fixed-len-array";

// Pads to a fixed length of 3
const vec3 = toFixedLengthArray([1], 3, 0);
// Result: [1, 0, 0]

// Trims if input is longer
const trimmed = toFixedLengthArray([1, 2, 3, 4, 5], 3, 0);
// Result: [1, 2, 3]

// Full type support
type Vec3 = FixedLengthArray<3, number>;

πŸ§ͺ API

toFixedLengthArray<T, N>(input: T[], fixedLength: N, defaultValue: T): FixedLengthArray<N, T>

Creates a fixed-length array by trimming or padding the input.

type FixedLengthArray<N, T>

A recursive type that represents a tuple of length N, with all elements of type T.

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

# Clone repository
git clone https://github.com/ptprashanttripathi/fixed-len-array.git
cd fixed-len-array

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run tests
npm test

πŸ“„ License

This project is MIT licensed.


Made with ❀️ by Pt. Prashant Tripathi

⭐ Star this repo if you find it helpful!