ggez-banking-sdk
Version:
A Node.js package to handle GGEZ Banking API endpoints, Simplify the process of managing CRUD operations with this efficient and easy-to-use package.
43 lines (42 loc) • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sortUserInfo = sortUserInfo;
function sortUserInfo(list) {
try {
const verificationStatusOrder = {
"1": 0, // Verified
"2": 1, // Pending
"3": 2, // Failed
"0": 3, // Not Verified
"-1": 4, // Undefined
};
return list
? list?.sort((a, b) => {
// First, compare by 'is_primary'
const isPrimaryComparison = a?.is_primary != undefined && b?.is_primary != undefined
? b?.is_primary - a?.is_primary
: 0;
// If 'is_primary' values are equal, compare by 'verification_status'
if (isPrimaryComparison === 0) {
const verificationStatusComparison = verificationStatusOrder[a?.verification_status] -
verificationStatusOrder[b?.verification_status];
// If 'is_primary' values are equal, and 'verification_status' values are equal, compare by id
if (verificationStatusComparison == 0) {
return b?.id - a?.id;
}
return verificationStatusComparison;
}
return isPrimaryComparison;
})
: list;
}
catch (error) {
let errorObj = {
status: "failed",
message: error,
funcName: "sortUserInfo",
response: null,
};
return errorObj;
}
}