UNPKG

efficy-enterprise-api

Version:

The Efficy Enterprise API is developed for server-side usage in a Node.js environment (e.g. for integrations) and also bundled for usage inside an Efficy browser session for client-side JSON RPC requests.

37 lines (33 loc) 967 B
// Variables that are primitive are accessed by value const isPrimitive = (val) => { return val !== Object(val); } const ParseGentle = { fieldsObj(inputObj) { const outputObj = {}; if (!inputObj || typeof inputObj !== "object" || Array.isArray(inputObj)) return outputObj; Object.keys(inputObj).forEach(key => { if (isPrimitive(inputObj[key])) { outputObj[key] = inputObj[key]; } }) return outputObj; }, toFloatKey(key) { return parseFloat(key) || 0; }, numberProperties(object, numberProperties) { numberProperties.forEach(name => { if (object[name] && isNaN(parseFloat(object[name])) === false) { object[name] = parseFloat(object[name]); } }) return object; } } const ParseHard = { isFieldValue(value) { if (isPrimitive(value) === false) throw new TypeError(`ParseHard.isFieldValue::argument 'value' is not a primitive value`); } } export {isPrimitive, ParseGentle, ParseHard}