0.1.0 • Published 1 year ago

@nixat/vector v0.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

@nixat/vector

npm version License: MIT

A lightweight, type-safe array manipulation library for modern JavaScript and TypeScript projects.

Features

  • 🚀 Lightweight - Zero dependencies, small bundle size
  • 🔒 Type-safe - Written in TypeScript with comprehensive type definitions
  • 📚 Well documented - Clear examples and API documentation
  • Well tested - Comprehensive test suite with high coverage
  • 🔧 Tree-shakable - Import only what you need
  • 🌐 Universal - Works in Node.js and browsers

Installation

# Using npm
npm install @nixat/vector

# Using yarn
yarn add @nixat/vector

# Using pnpm
pnpm add @nixat/vector

Usage

import { unique, flatten, chunk } from '@nixat/vector';

// Remove duplicates from an array
const uniqueArray = unique([1, 2, 2, 3, 3, 3]);
// => [1, 2, 3]

// Flatten nested arrays
const flatArray = flatten([1, [2, [3, 4]]]);
// => [1, 2, 3, 4]

// Split array into chunks
const chunks = chunk([1, 2, 3, 4, 5, 6, 7], 3);
// => [[1, 2, 3], [4, 5, 6], [7]]

API

Array Checking

  • isArray(value) - Checks if the provided value is an array

Array Transformation

  • flatten(arr, depth) - Flattens nested arrays up to the specified depth
  • unique(arr) - Removes duplicate elements from an array
  • filter(arr, predicate) - Filters elements based on a predicate function
  • map(arr, mapper) - Transforms elements using a mapper function
  • reduce(arr, reducer, initialValue) - Reduces array to a single value
  • concat(...arrays) - Joins multiple arrays into a single array
  • sort(arr, compareFn) - Sorts elements according to a compare function
  • slice(arr, start, end) - Extracts a section of an array
  • chunk(arr, size) - Splits array into chunks of specified size
  • without(arr, ...values) - Creates array excluding specified values
  • shuffle(arr) - Randomizes the order of elements

Array Comparison

  • every(arr, predicate) - Checks if all elements pass a test
  • some(arr, predicate) - Checks if any element passes a test
  • intersection(arr1, arr2) - Finds elements common to both arrays
  • difference(arr1, arr2) - Finds elements in first array not in second
  • symmetricDifference(arr1, arr2) - Finds elements in either array but not both

Array Organization

  • groupBy(arr, grouper) - Groups elements by a key function

Namespace

All functions are also available through the vector namespace:

import { vector } from '@nixat/vector';

const uniqueArray = vector.unique([1, 2, 2, 3]);
const chunks = vector.chunk([1, 2, 3, 4, 5], 2);

License

MIT

0.1.0

1 year ago