@whook/whook
Version:
Build strong and efficient REST web services.
31 lines • 909 B
JavaScript
import { YError } from 'yerror';
export const BASE_10 = 10;
export const DEFAULT_COERCION_OPTIONS = {
strictlyReentrant: true,
};
export function parseNumber(options, str) {
const value = parseFloat(str);
if (options.strictlyReentrant && value.toString(BASE_10) !== str) {
throw new YError('E_NON_REENTRANT_NUMBER', [str, value.toString(BASE_10)]);
}
return value;
}
export function parseBoolean(str) {
if ('true' === str) {
return true;
}
else if ('false' === str) {
return false;
}
throw new YError('E_BAD_BOOLEAN', [str]);
}
export function parseArrayOfStrings(str) {
return str.split(',');
}
export function parseArrayOfNumbers(options, str) {
return str.split(',').map(parseNumber.bind(null, options));
}
export function parseArrayOfBooleans(str) {
return str.split(',').map(parseBoolean);
}
//# sourceMappingURL=coercion.js.map