| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /* eslint-disable
- no-unused-vars,
- */
- // TODO: This file was created by bulk-decaffeinate.
- // Fix any style issues and re-enable lint.
- /*
- * decaffeinate suggestions:
- * DS101: Remove unnecessary use of Array.from
- * DS102: Remove unnecessary code created because of implicit returns
- * DS207: Consider shorter variations of null checks
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
- */
- // Compare Versions like 1.2 < 4.1
- const convertToArray = v => Array.from(v.split('.')).map(x => parseInt(x, 10))
- const cmp = function (v1, v2) {
- // allow comparison to work with integers
- if (typeof v1 === 'number' && typeof v2 === 'number') {
- if (v1 > v2) {
- return +1
- }
- if (v1 < v2) {
- return -1
- }
- // otherwise equal
- return 0
- }
- // comparison with strings
- v1 = convertToArray(v1)
- v2 = convertToArray(v2)
- while (v1.length || v2.length) {
- const [x, y] = Array.from([v1.shift(), v2.shift()])
- if (x > y) {
- return +1
- }
- if (x < y) {
- return -1
- }
- if (x != null && y == null) {
- return +1
- }
- if (x == null && y != null) {
- return -1
- }
- }
- return 0
- }
- export function compare(v1, v2) {
- return cmp(v1, v2)
- }
- export function gt(v1, v2) {
- return cmp(v1, v2) > 0
- }
- export function lt(v1, v2) {
- return cmp(v1, v2) < 0
- }
- export function gte(v1, v2) {
- return cmp(v1, v2) >= 0
- }
- export function lte(v1, v2) {
- return cmp(v1, v2) <= 0
- }
|