Core.js is a library of JavaScript utility function and classes, including array and string helper functions, type checking and event classes. It was developed for Mathigon.org, an award-winning mathematics education project.
- Function wrappers for caching and throttling (
cache()
,throttle()
) - Object handling (
shallowCopy()
,deepCopy()
,extend()
,some()
, …) - Array generation (
tabulate()
,list()
) - Array utilities (
total()
,flatten()
,chunk()
,intersect()
, …) - String utilities (
toCamelCase()
,isPalindrome()
,autocorrect()
, …) - Functions for type checking (
typeOf()
,isString()
,isInteger()
, …) - Evented class, supporting
.on()
,.off()
and.trigger()
methods - Misc utilities (
uid()
,isOneOf()
,clamp()
, …)
First, install core.js from NPM using
npm install @mathigon/core --save
Core.js uses ES6 imports. While some browsers and platforms now support this feature, we recommend using a transpiler such as Babel or Rollup. Make sure that you configure your compiler to correctly resolve these imports. For Rollup, we recommend using the rollup-plugin-node-resolve plugin.
Now, simply import all functions and classes you need, using
import { tabulate, toCamelCase, Evented } from '@mathigon/core'
We welcome community contributions: please file any bugs you find or send us pull requests with improvements. You can find out more on Mathigon.io.
Before submitting a pull request, you will need to sign the Mathigon Individual Contributor License Agreement.
Copyright © Mathigon (dev@mathigon.org)
Released under the MIT license