UNPKG

mathjs

Version:

Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with dif

45 lines (36 loc) 986 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createBaseFormatterFactory = createBaseFormatterFactory; var _factory = require("../../utils/factory"); var _number = require("../../utils/number"); function baseFormatter(base) { var prefixes = { 2: '0b', 8: '0o', 16: '0x' }; var prefix = prefixes[base]; return function (n) { if (n > Math.pow(2, 31) - 1 || n < -Math.pow(2, 31)) { throw new Error('Value must be in range [-2^31, 2^31-1]'); } if (!(0, _number.isInteger)(n)) { throw new Error('Value must be an integer'); } if (n < 0) { n = n + Math.pow(2, 32); } return "".concat(prefix).concat(n.toString(base)); }; } var dependencies = ['typed']; function createBaseFormatterFactory(name, base) { return (0, _factory.factory)(name, dependencies, function (_ref) { var typed = _ref.typed; return typed(name, { number: baseFormatter(base) }); }); }