UNPKG

swatchjs-utils

Version:

Utilities for SwatchJS, a framework for easily creating and exposing APIs as methods

38 lines (31 loc) 805 B
'use strict'; var _ = require('lodash'); var objects = require('./objects'); var optional = require('./optional'); // This parser is used for a required param of any JS type // but will return as given, not coerce an argument type function parseAny(param) { // Param can be a basic JS type if (_.isBoolean(param)) { return param; } if (_.isString(param)) { return param; } if (_.isNumber(param) && _.isFinite(param)) { return param; } // Param can also be an array if (_.isArray(param)) { return param; } // Otherwise parse the param as a required JSON object return objects.parseObject(param); } function parseOptionalAny(param) { return optional.parser(parseAny)(param); } module.exports = { parseAny: parseAny, parseOptionalAny: parseOptionalAny };