{"library":"metrick","title":"Metrick","description":"Metrick is a Babel-powered unit conversion library (v0.2.0) that leverages the ES7 function bind syntax (::) for human-readable unit expressions. It supports duration (milliseconds, seconds, minutes, hours, years) and data (bits, bytes, kilobytes, megabytes, gigabytes, etc.) conversions with explicit (unit::unit.in(target)) and implicit (number::unit) syntax. The library requires the Babel plugin transform-function-bind and is designed for Node.js and browser environments. Alternatives like js-quantities or convert-units offer more units or simpler syntax but lack the syntactic sugar of the bind operator. Release cadence is low; last release was 2017.","language":"javascript","status":"active","last_verified":"Sat Apr 25","install":{"commands":["npm install metrick"],"cli":null},"imports":["import { seconds } from 'metrick/duration'","import Unit from 'metrick/unit'","import { megabytes } from 'metrick/data'"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"// Ensure babel-plugin-transform-function-bind is installed and configured in .babelrc\nimport { seconds, minutes, milliseconds } from 'metrick/duration';\nimport { megabytes, gigabytes } from 'metrick/data';\n\n// Explicit conversion\nconst msInMinute = 1::minutes.in(milliseconds);\nconsole.log(`1 minute = ${msInMinute} ms`); // 60000\n\n// Implicit conversion (defaults to SI base unit)\nconst bitsInMegabyte = 1::megabytes;\nconsole.log(`1 megabyte = ${bitsInMegabyte} bits`); // 8000000\n\n// Chain conversions\nconst gbInMb = 1::gigabytes.in(megabytes);\nconsole.log(`1 GB = ${gbInMb} MB`); // 1000\n\n// Create custom units\nimport Unit from 'metrick/unit';\nconst lux = new Unit();\nconst lumen = new Unit(10.7639::lux);\nconst brightness = 100::lumen.in(lux);\nconsole.log(`100 lumens = ${brightness} lux`); // 1076.39","lang":"typescript","description":"Demonstrates importing units, explicit conversion with ::x.in(y), implicit conversion to base unit, and creating custom units.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}