function parseDateTimeSkeleton(skeleton, rawPattern, rangePatterns, intervalFormatFallback) {
        if (rawPattern === void 0) { rawPattern = skeleton; }
        var result = {
            pattern: '',
            pattern12: '',
            skeleton: skeleton,
            rawPattern: rawPattern,
            rangePatterns: {},
            rangePatterns12: {},
        };
        if (rangePatterns) {
            for (var k in rangePatterns) {
                var key = skeletonTokenToTable2(k);
                var rawPattern_1 = rangePatterns[k];
                var intervalResult = {
                    patternParts: [],
                };
                var _a = processDateTimePattern(rawPattern_1, intervalResult), pattern_1 = _a[0], pattern12_1 = _a[1];
                result.rangePatterns[key] = __assign(__assign({}, intervalResult), { patternParts: splitRangePattern(pattern_1) });
                result.rangePatterns12[key] = __assign(__assign({}, intervalResult), { patternParts: splitRangePattern(pattern12_1) });
            }
        }
        else if (intervalFormatFallback) {
            var patternParts = splitFallbackRangePattern(intervalFormatFallback);
            result.rangePatterns.default = {
                patternParts: patternParts,
            };
            result.rangePatterns12.default = {
                patternParts: patternParts,
            };
        }
        // Process skeleton
        skeleton.replace(DATE_TIME_REGEX, function (m) { return matchSkeletonPattern(m, result); });
        var _b = processDateTimePattern(rawPattern), pattern = _b[0], pattern12 = _b[1];
        result.pattern = pattern;
        result.pattern12 = pattern12;
        return result;
    }
Parse Date time skeleton into Intl.DateTimeFormatOptions
Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
@public
@param skeleton skeleton string