function partitionRelativeTimePattern(internalSlotMap, rtf, value, unit) {
        invariant(typeof value === 'number', "value must be number, instead got " + typeof value, TypeError);
        invariant(typeof unit === 'string', "unit must be number, instead got " + typeof value, TypeError);
        if (isNaN(value) || value === Infinity || value === -Infinity) {
            throw new RangeError("Invalid value " + value);
        }
        var resolvedUnit = singularRelativeTimeUnit(unit);
        var fields = getInternalSlot(internalSlotMap, rtf, 'fields');
        var style = getInternalSlot(internalSlotMap, rtf, 'style');
        var entry = resolvedUnit;
        if (style === 'short') {
            entry = unit + "-short";
        }
        else if (style === 'narrow') {
            entry = unit + "-narrow";
        }
        if (!(entry in fields)) {
            entry = unit;
        }
        var patterns = fields[entry];
        var numeric = getInternalSlot(internalSlotMap, rtf, 'numeric');
        if (numeric === 'auto') {
            if (toString$1(value) in patterns) {
                return [
                    {
                        type: 'literal',
                        value: patterns[toString$1(value)],
                    },
                ];
            }
        }
        var tl = 'future';
        if (objectIs(value, -0) || value < 0) {
            tl = 'past';
        }
        var po = patterns[tl];
        var pluralRules = getInternalSlot(internalSlotMap, rtf, 'pluralRules');
        var numberFormat = getInternalSlot(internalSlotMap, rtf, 'numberFormat');
        var fv = typeof numberFormat.formatToParts === 'function'
            ? numberFormat.formatToParts(Math.abs(value))
            : // TODO: If formatToParts is not supported, we assume the whole formatted
                // number is a part
                [
                    {
                        type: 'literal',
                        value: numberFormat.format(Math.abs(value)),
                        unit: unit,
                    },
                ];
        var pr = pluralRules.select(value);
        var pattern = po[pr];
        return makePartsList(pattern, resolvedUnit, fv);
    }
PartitionRelativeTimePattern
@param rtf
@param value
@param unit