UNPKG

convert-js

Version:
1 lines 11.4 kB
!function(n,t){"function"==typeof define&&define.amd?define(["exports"],function(n){return t(n)}):t("undefined"!=typeof exports?exports:n)}(this,function(n){function t(){function n(n){if(void 0===u[n])throw new Error("ConvertTable: invalid name "+n);return u[n]}function t(n,t){if("object"!=typeof t||"string"!=typeof t.match)throw new Error("ConvertTable: invalid conversion object");u[n]=t}function r(t){var r,e={};for(var i in u)if(void 0===o[i]&&(o[i]=new RegExp("(\\d+)?("+u[i].match+")?")),r=o[i].exec(t),r[1]&&(e.value=parseFloat(r[1])),r[2])return e.measure=i,e.conversion=n(i),e;return e}function e(t,r,e){var u=n(r),o=u[e];if("function"!=typeof o)throw new Error("ConvertTable: invalid conversion function [from "+r+" to "+e+"]");return o(t)}var u={},o={};return regexp=new RegExp("(\\d+)?(.+)?"),{get:n,set:t,match:r,convert:e}}function r(){function n(n){if(void 0===n)return o;if("number"!=typeof n)throw new Error('Convert: argument passed to function "value" is not a number');return o=n,this}function t(n){if(void 0===n)return i;if("string"!=typeof n)throw new TypeError('Convert: argument passed to function "measure" is not a string');var t=u.match(n);if(!t.measure)throw new Error('Convert: argument passed to function "measure" is not a valid measure string');return i=t.measure,this}function r(n){if("string"!=typeof n)throw new TypeError("Convert: argument must be a string");var t=u.match(n);if(!t.measure)throw new Error("Convert: conversion "+n+" wasn' matched in conversion table");return u.convert(o,i,t.measure)}var e=Array.prototype.slice.call(arguments),o=0,i=null;return function(){if(e.length){var n=u.match(e[0]);n.value&&(o=n.value),n.measure&&(i=n.measure)}}(),{value:n,measure:t,to:r}}function e(n){return"table"==n.toLowerCase()?u:new r(n)}var u=new t;return u.set("celsius",{match:"°C|celsius",fahrenheit:function(n){return 1.8*n+32},kelvin:function(n){return n+273.15}}),u.set("fahrenheit",{match:"°F|fahrenheit",celsius:function(n){return(n-32)/1.8},kelvin:function(n){return(n+459.67)/1.8}}),u.set("kelvin",{match:"°K|kelvin",celsius:function(n){return(n-32)/1.8},fahrenheit:function(n){return 1.8*n-459.67}}),u.set("grams",{match:"g|grams",cups:function(n){return.0042267528198649*n},gallons:function(n){return.00026417205124156*n},nanolitres:function(n){return 1e6*n},microlitres:function(n){return 1e3*n},liters:function(n){return.001*n},milliliters:function(n){return n},ounces:function(n){return.035273962070595*n},pints:function(n){return.0021133764099325*n},pounds:function(n){return.0022046226294122*n},quarts:function(n){return.0010566882049662*n},tablespoons:function(n){return.06666666666666667*n},teaspoons:function(n){return.2*n}}),u.set("pounds",{match:"lb|lbs|pounds",cups:function(n){return 2*n},gallons:function(n){return n/8.35},grams:function(n){return 453.592*n},litres:function(n){return.45*n},millilitres:function(n){return 453.59*n},ounces:function(n){return 16*n},pints:function(n){return 1*n},quarts:function(n){return n/2.2},tablespoons:function(n){return 32*n},teaspoons:function(n){return 96*n}}),u.set("ounces",{match:"oz|ounces",cups:function(n){return.125*n},gallons:function(n){return.0078125*n},grams:function(n){return 28.3495*n},liters:function(n){return.0295735*n},milliliters:function(n){return.033814*n},pints:function(n){return.0625*n},pounds:function(n){return.0625*n},quarts:function(n){return.03125*n},tablespoons:function(n){return 2*n},teaspoons:function(n){return 6*n}}),u.set("cups",{match:"c|cups",gallons:function(n){return.0625*n},grams:function(n){return 128*n},liters:function(n){return.236588*n},milliliters:function(n){return 236.588*n},ounces:function(n){return 8*n},pints:function(n){return.5*n},pounds:function(n){return n/2},quarts:function(n){return.25*n},tablespoons:function(n){return 16*n},teaspoons:function(n){return 48*n}}),u.set("millilitres",{match:"ml|millilitres",cups:function(n){return.00422675*n},gallons:function(n){return 264172e-9*n},grams:function(n){return n},nanolitres:function(n){return 1e6*n},microlitres:function(n){return 1e3*n},centilitres:function(n){return.1*n},litres:function(n){return.001*n},ounces:function(n){return.033814*n},pints:function(n){return.00211338*n},pounds:function(n){return n/453.59},quarts:function(n){return.00105669*n},tablespoons:function(n){return.067628*n},teaspoons:function(n){return.202884*n}}),u.set("liters",{match:"liter|liters|l",cups:function(n){return 4.22675*n},gallons:function(n){return.264172*n},grams:function(n){return.001*n},millilitres:function(n){return 1e3*n},ounces:function(n){return 33.814*n},pints:function(n){return 2.11338*n},pounds:function(n){return 2.2*n},quarts:function(n){return 1.05669*n},tablespoons:function(n){return 67.628*n},teaspoons:function(n){return 202.884*n}}),u.set("quarts",{match:"quart|quarts|qt|qts",cups:function(n){return 4*n},gallons:function(n){return.25*n},grams:function(n){return 10566882049.662*n},liters:function(n){return.946353*n},milliliters:function(n){return 946.353*n},ounces:function(n){return 32*n},pints:function(n){return 2*n},pounds:function(n){return 2.2*n},tablespoons:function(n){return 64*n},teaspoons:function(n){return 192*n}}),u.set("gallons",{match:"gallons",cups:function(n){return 16*n},grams:function(n){return 3785.4118*n},liters:function(n){return 3.7854118*n},milliliters:function(n){return 3785.4118*n},ounces:function(n){return 133.22787010376*n},pints:function(n){return 8*n},pounds:function(n){return 8.35*n},quarts:function(n){return 4*n},tablespoons:function(n){return 252.36078666667*n},teaspoons:function(n){return 757.08236*n}}),u.set("nanometres",{match:"nm|nanometres",micrometres:function(n){return.001*n},millimetres:function(n){return 1e-6*n},centimetres:function(n){return 1e-7*n},metres:function(n){return 1e-9*n},kilometres:function(n){return 1e-12*n},inches:function(n){return 3.9370078740157e-8*n},feet:function(n){return 3.2808398950131e-9*n},yards:function(n){return 1.0936132983377e-9*n},miles:function(n){return 6.2137119223733e-13*n},furlong:function(n){return 4.9709695378987e-12*n}}),u.set("micrometres",{match:"μm|micrometres",nanometres:function(n){return 1e3*n},millimetres:function(n){return.001*n},centimetres:function(n){return 1e-4*n},metres:function(n){return 1e-6*n},kilometres:function(n){return 1e-9*n},inches:function(n){return 3937007874015748e-20*n},feet:function(n){return 32808398950131235e-22*n},yards:function(n){return 10936132983377078e-22*n},miles:function(n){return 6.2137119223733e-10*n},furlong:function(n){return 4.9709695378987e-9*n}}),u.set("metres",{match:"m|metres",nanometres:function(n){return 1000000800*n},micrometres:function(n){return 1000000.8*n},millimetres:function(n){return 1000.0008*n},centimetres:function(n){return.0010000008*n},kilometres:function(n){return.0010000008*n},miles:function(n){return.0006213715277778*n},yards:function(n){return 1.0936*n},feet:function(n){return 3.2808*n},inches:function(n){return 39.3701*n},furlong:function(n){return.00497096*n}}),u.set("inches",{match:"in|inches",micrometres:function(n){return 25400*n},millimetres:function(n){return 25.4*n},centimetres:function(n){return 2.54*n},metres:function(n){return.0254*n},miles:function(n){return 157828e-10*n},yard:function(n){return.0277778*n},feet:function(n){return.0833333*n},furlong:function(n){return 126262e-9*n}}),u.set("yards",{match:"yd|yds|yards",nanometres:function(n){return 9144e5*n},micrometres:function(n){return 914400*n},millimetres:function(n){return 914.4*n},centimetres:function(n){return 91.44*n},metres:function(n){return n/1.0936},kilometres:function(n){return 9144e-7*n},inches:function(n){return 36*n},feet:function(n){return 3*n},miles:function(n){return.0005681818181818182*n},furlong:function(n){return.004545454545454545*n}}),u.set("feet",{match:"ft|feet",nanometres:function(n){return 3048e5*n},micrometres:function(n){return 304800*n},millimetres:function(n){return 304.8*n},centimetres:function(n){return 30.48*n},metres:function(n){return n/3.2808},kilometres:function(n){return 3048e-7*n},inches:function(n){return 12*n},yards:function(n){return n/3},miles:function(n){return.0001893939393939394*n},furlong:function(n){return.0015151515151515152*n}}),u.set("quarts",{match:"qt|qts|quarts",cups:function(n){return 4*n},gallons:function(n){return.25*n},grams:function(n){return.0010566882049662*n},liters:function(n){return.946353*n},milliliters:function(n){return 946.353*n},ounces:function(n){return 32*n},pints:function(n){return 2*n},pounds:function(n){return 2.2*n},tablespoons:function(n){return 64*n},teaspoons:function(n){return 192*n}}),u.set("pints",{match:"pt|pts|pints",cups:function(n){return 2*n},gallons:function(n){return.125*n},grams:function(n){return 473.176475*n},litres:function(n){return.473176*n},millilitres:function(n){return 473.176*n},ounces:function(n){return 16*n},pounds:function(n){return 1*n},quarts:function(n){return.5*n},tablespoons:function(n){return 32*n},teaspoons:function(n){return 96*n}}),u.set("tablespoons",{match:"tbsp|tablespoons",cups:function(n){return.0625*n},gallons:function(n){return.00390625*n},grams:function(n){return 14.18*n},liters:function(n){return.0147868*n},milliliters:function(n){return 14.7868*n},ounces:function(n){return.5*n},pints:function(n){return.03125*n},pounds:function(n){return n/32},quarts:function(n){return.015625*n},teaspoons:function(n){return 3*n}}),u.set("teaspoons",{match:"tsp|teaspoons",cups:function(n){return.0208333*n},gallons:function(n){return.00130208*n},grams:function(n){return 4.2*n},liters:function(n){return.00492892*n},milliliters:function(n){return 4.92892*n},ounces:function(n){return.166667*n},pints:function(n){return.0104167*n},pounds:function(n){return.013*n},quarts:function(n){return.00520833*n},tablespoons:function(n){return.333333*n}}),u.set("bytes",{match:"bytes",kilobytes:function(n){return.0009765625*n},megabytes:function(n){return 9.5367431640625e-7*val},gigabytes:function(n){return 9.3132257461548e-10*n},terabytes:function(n){return 9.0949470177293e-13*n},petabytes:function(n){return 8.8817841970013e-16*n}}),u.set("kilobytes",{match:"kb|kilobytes",bytes:function(n){return 1024*n},megabytes:function(n){return.0009765625*val},gigabytes:function(n){return 9.5367431640625e-7*n},terabytes:function(n){return 9.3132257461548e-10*n},petabytes:function(n){return 9.0949470177293e-13*n}}),u.set("megabytes",{match:"mb|megabytes",bytes:function(n){return 1048576*n},kilobytes:function(n){return 1024*val},gigabytes:function(n){return.0009765625*n},terabytes:function(n){return 9.5367431640625e-7*n},petabytes:function(n){return 9.3132257461548e-10*n}}),u.set("gigabytes",{match:"gb|gigabytes",bytes:function(n){return 1073741824*n},kilobytes:function(n){return 1048576*val},megabytes:function(n){return 1024*n},terabytes:function(n){return.0009765625*n},petabytes:function(n){return 9.5367431640625e-7*n}}),u.set("terabytes",{match:"tb|terabytes",bytes:function(n){return 1099511627776*n},kilobytes:function(n){return 1073741824*val},megabytes:function(n){return 1048576*n},gigabytes:function(n){return 1024*n},petabytes:function(n){return.0009765625*n}}),u.set("petabytes",{match:"pb|petabytes",bytes:function(n){return 0x4000000000000*n},kilobytes:function(n){return 1099511627776*val},megabytes:function(n){return 1073741824*n},gigabytes:function(n){return 9007199.254741*n},terabytes:function(n){return 1024*n}}),n.convert=e,e});