Skip to content
Collection of immutable ES6 classes for simple 2D geometric objects and calculations.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist
docs
lib
src
test
.babelrc
.eslintignore
.eslintrc
.flowconfig
.gitignore
.npmignore
.travis.yml
CHANGELOG.md
LICENSE.md
README.md
esdoc.json
package.json
webpack.config.js
webpack.config.production.js
yarn.lock

README.md

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).

You can’t perform that action at this time.