JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 307
  • Score
    100M100P100Q78927F
  • License MIT

A set of general-purpose utility functions designed with functional programming principles in mind.

Package Exports

  • @inglorious/utils
  • @inglorious/utils/algorithms
  • @inglorious/utils/algorithms/decision-tree.js
  • @inglorious/utils/algorithms/decision-tree.test.js
  • @inglorious/utils/algorithms/index.js
  • @inglorious/utils/algorithms/path-finding.js
  • @inglorious/utils/algorithms/path-finding.test.js
  • @inglorious/utils/data-structures
  • @inglorious/utils/data-structures/array.js
  • @inglorious/utils/data-structures/array.test.js
  • @inglorious/utils/data-structures/board.js
  • @inglorious/utils/data-structures/board.test.js
  • @inglorious/utils/data-structures/boolean.js
  • @inglorious/utils/data-structures/heap.js
  • @inglorious/utils/data-structures/heap.test.js
  • @inglorious/utils/data-structures/index.js
  • @inglorious/utils/data-structures/object.js
  • @inglorious/utils/data-structures/object.test.js
  • @inglorious/utils/data-structures/objects.js
  • @inglorious/utils/data-structures/objects.test.js
  • @inglorious/utils/data-structures/set.js
  • @inglorious/utils/data-structures/set.test.js
  • @inglorious/utils/data-structures/tree.js
  • @inglorious/utils/data-structures/tree.test.js
  • @inglorious/utils/functions/function.js
  • @inglorious/utils/functions/function.test.js
  • @inglorious/utils/functions/functions.js
  • @inglorious/utils/functions/functions.test.js
  • @inglorious/utils/functions/index.js
  • @inglorious/utils/index
  • @inglorious/utils/index.js
  • @inglorious/utils/math
  • @inglorious/utils/math/circle.js
  • @inglorious/utils/math/circle.test.js
  • @inglorious/utils/math/hitmask.js
  • @inglorious/utils/math/hitmask.test.js
  • @inglorious/utils/math/index.js
  • @inglorious/utils/math/line.js
  • @inglorious/utils/math/line.test.js
  • @inglorious/utils/math/linear-interpolation.js
  • @inglorious/utils/math/numbers.js
  • @inglorious/utils/math/numbers.test.js
  • @inglorious/utils/math/point.js
  • @inglorious/utils/math/point.test.js
  • @inglorious/utils/math/quaternion.js
  • @inglorious/utils/math/quaternion.test.js
  • @inglorious/utils/math/quaternions.js
  • @inglorious/utils/math/quaternions.test.js
  • @inglorious/utils/math/rectangle.js
  • @inglorious/utils/math/rectangle.test.js
  • @inglorious/utils/math/rng.js
  • @inglorious/utils/math/rng.test.js
  • @inglorious/utils/math/segment.js
  • @inglorious/utils/math/segment.test.js
  • @inglorious/utils/math/statistics.js
  • @inglorious/utils/math/statistics.test.js
  • @inglorious/utils/math/triangle.js
  • @inglorious/utils/math/triangle.test.js
  • @inglorious/utils/math/trigonometry.js
  • @inglorious/utils/math/trigonometry.test.js
  • @inglorious/utils/math/vector.js
  • @inglorious/utils/math/vector.test.js
  • @inglorious/utils/math/vectors.js
  • @inglorious/utils/math/vectors.test.js
  • @inglorious/utils/physics/acceleration.js
  • @inglorious/utils/physics/friction.js
  • @inglorious/utils/physics/friction.test.js
  • @inglorious/utils/physics/gravity.js
  • @inglorious/utils/physics/gravity.test.js
  • @inglorious/utils/physics/index.js
  • @inglorious/utils/physics/jump.js
  • @inglorious/utils/physics/velocity.js
  • @inglorious/utils/v
  • @inglorious/utils/v.js
  • @inglorious/utils/v.test.js

Readme

Inglorious Utils

NPM version License: MIT

A set of general-purpose utility functions designed with functional programming principles in mind. This package is part of the Inglorious Engine monorepo.


Overview

This package provides a collection of pure, composable helper functions to streamline development in any JavaScript or TypeScript project. It embraces a data-oriented and functional approach, operating on plain data structures like objects and arrays.


Installation

npm install @inglorious/utils

Usage

Here are a few examples of how you can use the utilities in this package.

pipe

Compose functions together in a readable, left-to-right sequence.

import { pipe } from "@inglorious/utils/functions/functions"

const add = (a) => (b) => a + b
const multiply = (a) => (b) => a * b

const calculate = pipe(
  add(5), // 10 + 5 = 15
  multiply(2), // 15 * 2 = 30
  add(10), // 30 + 10 = 40
)

const result = calculate(10) // 40

Vector Math

Perform vector operations on plain objects.

import { add } from "@inglorious/utils/math/vector.js"

const position = [10, 20]
const velocity = [2, -1]

const newPosition = add(position, velocity)
// => [12, 19]

API

This package is designed to be used with subpath imports, which helps with tree-shaking.

  • @inglorious/utils/algorithms: Utilities for AI algorithms, like decision trees and A*.
  • @inglorious/utils/functions: Utilities for function composition.
  • @inglorious/utils/math: Utilities for math operations.
  • @inglorious/utils/physics: Utilities for calculations on friction, acceleration, and gravity.

License

MIT License - Free and open source

Created by Matteo Antony Mistretta

You're free to use, modify, and distribute this software. See LICENSE for details.


Contributing

We welcome contributions! Please see the root CONTRIBUTING.md file for more details.