👁 查看:stable-sort.cjs
路径:/home/boguraj1/public_html/jobsite/node_modules/css-declaration-sorter/dist/stable-sort.cjs
大小:553 B · 修改:2022-11-21 20:08:12 · 权限:0644 · 可写
'use strict';

module.exports = function (items, comparator) {
  comparator = comparator
    ? comparator
    : (a, b) => {
      if (a < b) return -1;
      if (a > b) return 1;
      return 0;
    };
  let stabilizedItems = items.map((el, index) => [el, index]);
  const stableComparator = (a, b) => {
    let order = comparator(a[0], b[0]);
    if (order != 0) return order;
    return a[1] - b[1];
  };
  stabilizedItems.sort(stableComparator);
  for (let i = 0; i < items.length; i++) {
    items[i] = stabilizedItems[i][0];
  }
  return items;
};