es6-geometry

2.0.0 • Public • Published

ES6-Geometry

Collection of immutable ES6 classes for simple 2D geometric objects and calculations.

Build Status

Features

  • Immutable classes.
  • Statically typed using Flow.
  • Arguments checking (zero overhead in production).
  • Inspired by Victor.js.

Installation

npm install --save es6-geometry

Usage

As an example:

import { Point, Rectangle, Vector } from 'es6-geometry';
 
// A vector is an offset with a certain length (magnitude) and direction.
const vector = Vector.fromArray([100, 100]);
 
// A rectangle is defined by two points.
const rectangle = new Rectangle(
    new Point(10, 10),
    new Point(20, 20)
);
 
// Operations are immutable: rectangle remains untouched.
const newRectangle = rectangle.move(vector);

See the documentation for more information.

Development

To (re)compile, run npm run compile. If you prefer to have a Webpack bundle, run npm run bundle.

Tests can be invoked using npm run test. Mocha is used as the test framework.

License

See the LICENSE.md file (MIT).

Dependents (0)

Package Sidebar

Install

npm i es6-geometry

Weekly Downloads

2

Version

2.0.0

License

MIT

Last publish

Collaborators

  • basilfx