UNPKG

@sauce-api/core

Version:

Sauce API core functionality

43 lines (42 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isObject = exports.getAppUrl = exports.asyncForEach = exports.formatError = exports.cleanObject = void 0; const cleanObject = async (obj) => { (0, exports.asyncForEach)(Object.keys(obj), async (key) => { if ((0, exports.isObject)(obj[key])) { await (0, exports.cleanObject)(obj[key]); } else { (obj[key] == null) && delete obj[key]; } }); }; exports.cleanObject = cleanObject; const formatError = (status, details) => { return { status, details }; }; exports.formatError = formatError; const asyncForEach = async (array, callback) => { try { const allPromises = array.map(async (item, index, array) => callback(item, index, array)); return await Promise.all(allPromises); } catch (e) { throw e; } }; exports.asyncForEach = asyncForEach; const getAppUrl = (config) => { if (config.environments[process.env.ENV]) { return config.environments[process.env.ENV].url; } throw new Error(`Environment ${process.env.ENV} not recognized`); }; exports.getAppUrl = getAppUrl; const isObject = (obj) => { return obj === Object(obj) && !Array.isArray(obj) && typeof obj !== "function"; }; exports.isObject = isObject;