UNPKG

@zag-js/splitter

Version:

Core logic for the splitter widget implemented as a state machine

35 lines (33 loc) 968 B
import "../chunk-QZ7TP4HQ.mjs"; // src/utils/fuzzy.ts var PRECISION = 10; function fuzzyCompareNumbers(actual, expected, fractionDigits = PRECISION) { if (actual.toFixed(fractionDigits) === expected.toFixed(fractionDigits)) { return 0; } else { return actual > expected ? 1 : -1; } } function fuzzyNumbersEqual(actual, expected, fractionDigits = PRECISION) { if (actual == null || expected == null) return false; return fuzzyCompareNumbers(actual, expected, fractionDigits) === 0; } function fuzzySizeEqual(actual, expected, fractionDigits) { if (actual.length !== expected.length) { return false; } for (let index = 0; index < actual.length; index++) { const actualSize = actual[index]; const expectedSize = expected[index]; if (!fuzzyNumbersEqual(actualSize, expectedSize, fractionDigits)) { return false; } } return true; } export { PRECISION, fuzzyCompareNumbers, fuzzyNumbersEqual, fuzzySizeEqual };