compare.js
1 import { eq, gt, gte, lt, lte } from '../version.js'; 2 3 function _define_property(obj, key, value) { 4 if (key in obj) { 5 Object.defineProperty(obj, key, { 6 value: value, 7 enumerable: true, 8 configurable: true, 9 writable: true 10 }); 11 } else { 12 obj[key] = value; 13 } 14 return obj; 15 } 16 function _object_spread(target) { 17 for(var i = 1; i < arguments.length; i++){ 18 var source = arguments[i] != null ? arguments[i] : {}; 19 var ownKeys = Object.keys(source); 20 if (typeof Object.getOwnPropertySymbols === "function") { 21 ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) { 22 return Object.getOwnPropertyDescriptor(source, sym).enumerable; 23 })); 24 } 25 ownKeys.forEach(function(key) { 26 _define_property(target, key, source[key]); 27 }); 28 } 29 return target; 30 } 31 function ownKeys(object, enumerableOnly) { 32 var keys = Object.keys(object); 33 if (Object.getOwnPropertySymbols) { 34 var symbols = Object.getOwnPropertySymbols(object); 35 if (enumerableOnly) { 36 symbols = symbols.filter(function(sym) { 37 return Object.getOwnPropertyDescriptor(object, sym).enumerable; 38 }); 39 } 40 keys.push.apply(keys, symbols); 41 } 42 return keys; 43 } 44 function _object_spread_props(target, source) { 45 source = source != null ? source : {}; 46 if (Object.getOwnPropertyDescriptors) { 47 Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); 48 } else { 49 ownKeys(Object(source)).forEach(function(key) { 50 Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); 51 }); 52 } 53 return target; 54 } 55 function compareExtension(descriptor) { 56 function makeComparable(data) { 57 var _data_major, _data_minor, _data_patch; 58 const version = { 59 major: (_data_major = data.major) !== null && _data_major !== void 0 ? _data_major : 0, 60 minor: (_data_minor = data.minor) !== null && _data_minor !== void 0 ? _data_minor : 0, 61 patch: (_data_patch = data.patch) !== null && _data_patch !== void 0 ? _data_patch : 0 62 }; 63 return _object_spread_props(_object_spread({}, data), { 64 eq: (value)=>eq(version, value), 65 gt: (value)=>gt(version, value), 66 gte: (value)=>gte(version, value), 67 lt: (value)=>lt(version, value), 68 lte: (value)=>lte(version, value), 69 is: (value)=>data.name === value || data.variant === value 70 }); 71 } 72 return _object_spread_props(_object_spread({}, descriptor), { 73 extensions: [ 74 ...descriptor.extensions, 75 'compare' 76 ], 77 browser: makeComparable(descriptor.browser), 78 engine: makeComparable(descriptor.engine), 79 os: makeComparable(descriptor.os) 80 }); 81 } 82 83 export { compareExtension };