@vcsuite/parsers
v2.0.1
Published
Parsers for option parsing
Downloads
2,623
Readme
@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,
parseStringLiteral,
parseIntegerLiteral,
} 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
// parseStringLiteral
parseValue = parseStringLiteral('one', ['one', 'two'], 'two'); // 'one';
parseValue = parseStringLiteral('ONE', ['one', 'two'], 'two'); // 'two';
// parseIntegerLiteral
parseValue = parseIntegerLiteral(1, [1, 2, 3], 2); // 1';
parseValue = parseIntegerLiteral('1', [1, 2, 3], 2); // 1;
parseValue = parseIntegerLiteral('one', [1, 2, 3], 2); // 2;