expresscheckout-nodejs
Version:
Juspay's official expresscheckout-nodejs sdk
101 lines • 3.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.deepCopy = exports.deepCopyObject = exports.deepCopyArray = exports.isDevEnvironment = exports.prepareQueryParams = exports.prepareData = exports.base64Encode = exports.encodeFormData = void 0;
function encodeFormData(data) {
if (data == undefined)
return '';
return Object.keys(data)
.map((key) => encodeURIComponent(key) + '=' + encodeURIComponent(data[key]))
.join('&');
}
exports.encodeFormData = encodeFormData;
function base64Encode(str) {
return Buffer.from(str).toString('base64');
}
exports.base64Encode = base64Encode;
// export function flatten(data?: RequestEntity): RequestEntity {
// if(data == undefined) return {}
// const result: RequestEntity = {}
// function dfs(curr: RequestEntity, prop: string) {
// if (typeof curr != 'object') {
// result[prop] = curr
// } else if (Array.isArray(curr)) {
// result[prop] = JSON.stringify(curr)
// } else {
// var isEmpty = true;
// for (var p in curr) {
// isEmpty = false
// dfs(curr[p], prop ? prop + "." + p : p)
// }
// if (isEmpty && prop)
// result[prop] = {}
// }
// }
// dfs(data, '')
// return result
// }
function prepareData(body) {
if (body == undefined)
return '';
return encodeFormData(body);
}
exports.prepareData = prepareData;
function prepareQueryParams(query) {
if (query == undefined)
return '';
// const flat = flatten(query)
return `?${encodeFormData(query)}`;
}
exports.prepareQueryParams = prepareQueryParams;
function isDevEnvironment() {
return process.env.NODE_ENV === 'development' ||
process.env.NODE_ENV === 'dev' ||
process.env.NODE_ENV === 'local' ||
process.env.NODE_ENV === undefined;
}
exports.isDevEnvironment = isDevEnvironment;
function deepCopyArray(arr) {
const copy = [];
arr.forEach((elem) => {
if (Array.isArray(elem)) {
copy.push(deepCopyArray(elem));
}
else {
if (typeof elem === 'object') {
copy.push(deepCopyObject(elem));
}
else {
copy.push(elem);
}
}
});
return copy;
}
exports.deepCopyArray = deepCopyArray;
function deepCopyObject(obj) {
const tempObj = {};
for (const [key, value] of Object.entries(obj)) {
if (Array.isArray(value)) {
tempObj[key] = deepCopyArray(value);
}
else {
if (typeof value === 'object') {
tempObj[key] = deepCopyObject(value);
}
else {
tempObj[key] = value;
}
}
}
return tempObj;
}
exports.deepCopyObject = deepCopyObject;
function deepCopy(data) {
if (typeof data == 'object' && data != undefined)
return deepCopyObject(data);
else if (Array.isArray(data))
return deepCopyArray(data);
return data;
}
exports.deepCopy = deepCopy;
//# sourceMappingURL=utils.js.map