@1studio/utils

A collection of useful utilities.

Stats

stars ๐ŸŒŸissues โš ๏ธupdated ๐Ÿ› created ๐Ÿฃsize ๐Ÿ‹๏ธโ€โ™€๏ธ
20May 8, 2021Jul 15, 2017Minified + gzip package size for @1studio/utils in KB

Readme

utils ยท travis build codecov coverage version commit type

A collection of useful utilities with Flow type checking (since 3.0).

Installation

Using npm:

$ npm i -S @1studio/utils

Transpiler for the Flow:

$ npm i -D babel-loader babel-preset-env babel-preset-flow babel-minify babel-plugin-transform-class-properties babel-plugin-transform-object-rest-spread

.babelrc

{
  "presets": ["flow", "env"],
  "plugins": ["transform-class-properties", "transform-object-rest-spread"],
  "env": {
    "production": {
      "presets": ["babel-minify"]
    }
  }
}

webpack.config.js

module: {
    rules: [
      {
        test: /\.js$/,
        exclude: [/node_modules\/(?!@1studio)/],
        use: [{
          loader: 'babel-loader'
        }]
      },
    ],
  }

Manual

Example (ES6):

import { getDistanceFromLatLonInKm } from '@1studio/utils/geometry';

const distance = getDistanceFromLatLonInKm(47.4925, 19.0513, 40.71448, -74.00598);
// Budapest <-> New York distance in km

Example (direct import):

import checkPropTypes from '@1studio/utils/propType/checkPropTypes'

checkPropTypes('string', PropTypes.number);
// -> [errors]

Example (Flow):

// @flow

import clamp from '@1studio/utils/math/clamp';

clamp('a');
// => Flow errors

Read more.

License

@1studio/utils is BSD licensed.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.