保誠-保戶業務員媒合平台
Tomas
2022-05-19 957a1f10a06fdbb76f1a0ba94fe44126c613fee3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
'use strict';
const cmp = require('semver/functions/cmp');
const semver = require('semver/functions/coerce');
 
const has = Function.call.bind({}.hasOwnProperty);
 
function compare(a, operator, b) {
  return cmp(semver(a), operator, semver(b));
}
 
function intersection(list, order) {
  const set = list instanceof Set ? list : new Set(list);
  return order.filter(name => set.has(name));
}
 
function sortObjectByKey(object, fn) {
  return Object.keys(object).sort(fn).reduce((memo, key) => {
    memo[key] = object[key];
    return memo;
  }, {});
}
 
module.exports = {
  compare,
  has,
  intersection,
  semver,
  sortObjectByKey,
};