in app/scripts/modules/amazon/instance/awsInstanceType.service.js [219:264]
function sortTypesByFamilyAndSize(o1, o2) {
var type1 = o1.split('.'),
type2 = o2.split('.');
if (type1.length !== 2 || type2.length !== 2) {
return 0;
}
let [family1, class1] = type1;
let [family2, class2] = type2;
if (family1 !== family2) {
if (family1 > family2) {
return 1;
} else if (family1 < family2) {
return -1;
}
return 0;
}
let t1Idx = instanceClassOrder.findIndex(el => class1.endsWith(el));
let t2Idx = instanceClassOrder.findIndex(el => class2.endsWith(el));
if (t1Idx === -1 || t2Idx === -1) {
return 0;
}
if (t1Idx === 0 && t2Idx === 0) {
let size1 = parseInt(class1.replace('xlarge', '')) || 0;
let size2 = parseInt(class2.replace('xlarge', '')) || 0;
if (size2 < size1) {
return 1;
} else if (size2 > size1) {
return -1;
}
return 0;
}
if (t1Idx > t2Idx) {
return -1;
} else if (t1Idx < t2Idx) {
return 1;
}
return 0;
}