function BestFitFormatMatcher(options, formats) {
        var bestScore = -Infinity;
        var bestFormat = formats[0];
        invariant(Array.isArray(formats), 'formats should be a list of things');
        for (var _i = 0, formats_1 = formats; _i < formats_1.length; _i++) {
            var format = formats_1[_i];
            var score = bestFitFormatMatcherScore(options, format);
            if (score > bestScore) {
                bestScore = score;
                bestFormat = format;
            }
        }
        var skeletonFormat = __assign({}, bestFormat);
        var patternFormat = { rawPattern: bestFormat.rawPattern };
        processDateTimePattern(bestFormat.rawPattern, patternFormat);
        // Kinda following https://github.com/unicode-org/icu/blob/dd50e38f459d84e9bf1b0c618be8483d318458ad/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java
        // Method adjustFieldTypes
        for (var prop in skeletonFormat) {
            var skeletonValue = skeletonFormat[prop];
            var patternValue = patternFormat[prop];
            var requestedValue = options[prop];
            // Don't mess with minute/second or we can get in the situation of
            // 7:0:0 which is weird
            if (prop === 'minute' || prop === 'second') {
                continue;
            }
            // Nothing to do here
            if (!requestedValue) {
                continue;
            }
            // https://unicode.org/reports/tr35/tr35-dates.html#Matching_Skeletons
            // Looks like we should not convert numeric to alphabetic but the other way
            // around is ok
            if (isNumericType(patternValue) &&
                !isNumericType(requestedValue)) {
                continue;
            }
            if (skeletonValue === requestedValue) {
                continue;
            }
            patternFormat[prop] = requestedValue;
        }
        // Copy those over
        patternFormat.pattern = skeletonFormat.pattern;
        patternFormat.pattern12 = skeletonFormat.pattern12;
        patternFormat.skeleton = skeletonFormat.skeleton;
        patternFormat.rangePatterns = skeletonFormat.rangePatterns;
        patternFormat.rangePatterns12 = skeletonFormat.rangePatterns12;
        return patternFormat;
    }
https://tc39.es/ecma402/#sec-bestfitformatmatcher
Just alias to basic for now
@param options
@param formats
@param implDetails Implementation details