1.0.3 • Published 12 months ago

@vcsuite/parsers v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
12 months ago

@vcs/parsers

A collection of option parsing functions. These are typically used to parse config options or other human inputs, providing a default value of the value.

TL/DR: a more elaborate alternative to const foo = bar || 1;

Example Usage

import { parseBoolean, parseInteger, parseNumber, parseNumberRange, parseEnumValue, parseEnumKey, } from '@vcs/parsers';

let parsedValue;
// parseBoolean
parsedValue = parseBoolean('true', false); // true
parsedValue = parseBoolean(true, false); // true
parsedValue = parseBoolean(1, false); // true
parsedValue = parseBoolean(null, false); // false

// parseNumber
parsedValue = parseNumber('1', 10); // 1
parsedValue = parseNumber(1, 10); // 1
parsedValue = parseNumber(1.1, 10); // 1.1
parsedValue = parseNumber(true, 10); // 10

// parseInteger
parsedValue = parseInteger('1', 10); // 1
parsedValue = parseInteger(1, 10); // 1
parsedValue = parseInteger(1.1, 10); // 1
parsedValue = parseInteger('foo', 10); // 10
parsedValue = parseInteger(true, 10); // 10

// parseNumberRange
parsedValue = parseNumberRange('1', 0.5, 0, 1); // 1
parsedValue = parseNumberRange(1, 0.5, 0, 1); // 1
parsedValue = parseNumberRange(1.1, 0.5, 0, 1); // 1
parsedValue = parseNumberRange(true, 0.5, 0, 1); // 0.5

const enumObject = {
  ONE: 1,
  TWO: 2,
  THREE: 3,
};

// parseEnumValue
parsedValue = parseEnumValue(1, enumObject, 3); // 1
parsedValue = parseEnumValue('1', enumObject, 3); // 1
parsedValue = parseEnumValue('foo', enumObject, 3); // 3
parsedValue = parseEnumValue(5, enumObject, 3); // 3

// parseEnumKey
parsedValue = parseEnumKey('ONE', enumObject, 3); // 1
parsedValue = parseEnumKey('one', enumObject, 3); // 1
parsedValue = parseEnumKey('foo', enumObject, 3); // 3
parsedValue = parseEnumKey(1, enumObject, 3); // 3