(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
    typeof define === 'function' && define.amd ? define(['exports'], factory) :
    (global = global || self, factory(global.IntlRelativeTimeFormat = {}));
}(this, function (exports) { 'use strict';

    var VALID_UNITS = [
        'second',
        'minute',
        'hour',
        'day',
        'week',
        'month',
        'quarter',
        'year',
        'seconds',
        'minutes',
        'hours',
        'days',
        'weeks',
        'months',
        'quarters',
        'years',
    ];

    /**
     * @name toDate
     * @category Common Helpers
     * @summary Convert the given argument to an instance of Date.
     *
     * @description
     * Convert the given argument to an instance of Date.
     *
     * If the argument is an instance of Date, the function returns its clone.
     *
     * If the argument is a number, it is treated as a timestamp.
     *
     * If the argument is none of the above, the function returns Invalid Date.
     *
     * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
     *
     * @param {Date|Number} argument - the value to convert
     * @returns {Date} the parsed date in the local time zone
     * @throws {TypeError} 1 argument required
     *
     * @example
     * // Clone the date:
     * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
     * //=> Tue Feb 11 2014 11:30:30
     *
     * @example
     * // Convert the timestamp to date:
     * const result = toDate(1392098430000)
     * //=> Tue Feb 11 2014 11:30:30
     */

    /**
     * @name endOfTomorrow
     * @category Day Helpers
     * @summary Return the end of tomorrow.
     * @pure false
     *
     * @description
     * Return the end of tomorrow.
     *
     * > ⚠️ Please note that this function is not present in the FP submodule as
     * > it uses `Date.now()` internally hence impure and can't be safely curried.
     *
     * ### v2.0.0 breaking changes:
     *
     * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
     *
     * @returns {Date} the end of tomorrow
     *
     * @example
     * // If today is 6 October 2014:
     * var result = endOfTomorrow()
     * //=> Tue Oct 7 2014 23:59:59.999
     */

    /**
     * @name endOfYesterday
     * @category Day Helpers
     * @summary Return the end of yesterday.
     * @pure false
     *
     * @description
     * Return the end of yesterday.
     *
     * > ⚠️ Please note that this function is not present in the FP submodule as
     * > it uses `Date.now()` internally hence impure and can't be safely curried.
     *
     * ### v2.0.0 breaking changes:
     *
     * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
     *
     * @returns {Date} the end of yesterday
     *
     * @example
     * // If today is 6 October 2014:
     * var result = endOfYesterday()
     * //=> Sun Oct 5 2014 23:59:59.999
     */

    /**
     * @name isDate
     * @category Common Helpers
     * @summary Is the given value a date?
     *
     * @description
     * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
     *
     * ### v2.0.0 breaking changes:
     *
     * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
     *
     * @param {*} value - the value to check
     * @returns {boolean} true if the given value is a date
     * @throws {TypeError} 1 arguments required
     *
     * @example
     * // For a valid date:
     * var result = isDate(new Date())
     * //=> true
     *
     * @example
     * // For an invalid date:
     * var result = isDate(new Date(NaN))
     * //=> true
     *
     * @example
     * // For some value:
     * var result = isDate('2014-02-31')
     * //=> false
     *
     * @example
     * // For an object:
     * var result = isDate({})
     * //=> false
     */

    /**
     * @name startOfTomorrow
     * @category Day Helpers
     * @summary Return the start of tomorrow.
     * @pure false
     *
     * @description
     * Return the start of tomorrow.
     *
     * > ⚠️ Please note that this function is not present in the FP submodule as
     * > it uses `Date.now()` internally hence impure and can't be safely curried.
     *
     * ### v2.0.0 breaking changes:
     *
     * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
     *
     * @returns {Date} the start of tomorrow
     *
     * @example
     * // If today is 6 October 2014:
     * var result = startOfTomorrow()
     * //=> Tue Oct 7 2014 00:00:00
     */

    /**
     * @name startOfYesterday
     * @category Day Helpers
     * @summary Return the start of yesterday.
     * @pure false
     *
     * @description
     * Return the start of yesterday.
     *
     * > ⚠️ Please note that this function is not present in the FP submodule as
     * > it uses `Date.now()` internally hence impure and can't be safely curried.
     *
     * ### v2.0.0 breaking changes:
     *
     * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
     *
     * @returns {Date} the start of yesterday
     *
     * @example
     * // If today is 6 October 2014:
     * var result = startOfYesterday()
     * //=> Sun Oct 5 2014 00:00:00
     */

    /**
     *  Maximum allowed time.
     *  @constant
     *  @type {number}
     *  @default
     */

    // This file is generated automatically by `scripts/build/indices.js`. Please, don't change it.

    var __assign = (undefined && undefined.__assign) || function () {
        __assign = Object.assign || function(t) {
            for (var s, i = 1, n = arguments.length; i < n; i++) {
                s = arguments[i];
                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                    t[p] = s[p];
            }
            return t;
        };
        return __assign.apply(this, arguments);
    };

    function resolveSupportedLocales(locales, localeData, aliases) {
        if (aliases === void 0) { aliases = {}; }
        var resolvedLocales = (Array.isArray(locales) ? locales : [locales])
            .filter(function (s) { return typeof s === 'string'; })
            .map(function (l) { return aliases[l] || l; });
        var i, len, localeParts, data;
        var supportedLocales = [];
        // Using the set of locales + the default locale, we look for the first one
        // which that has been registered. When data does not exist for a locale, we
        // traverse its ancestors to find something that's been registered within
        // its hierarchy of locales. Since we lack the proper `parentLocale` data
        // here, we must take a naive approach to traversal.
        for (i = 0, len = resolvedLocales.length; i < len; i += 1) {
            localeParts = resolvedLocales[i].toLowerCase().split('-');
            while (localeParts.length) {
                if (localeData) {
                    data = localeData[localeParts.join('-')];
                    if (data) {
                        // Return the normalized locale string; e.g., we return "en-US",
                        // instead of "en-us".
                        supportedLocales.push(data.locale);
                        break;
                    }
                    localeParts.pop();
                }
            }
        }
        return supportedLocales;
    }

    var __assign$1 = (undefined && undefined.__assign) || function () {
        __assign$1 = Object.assign || function(t) {
            for (var s, i = 1, n = arguments.length; i < n; i++) {
                s = arguments[i];
                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                    t[p] = s[p];
            }
            return t;
        };
        return __assign$1.apply(this, arguments);
    };
    /**
     * Find the correct field data in our CLDR data
     * @param locale locale
     */
    function findFields(locale) {
        var localeData = RelativeTimeFormat.__localeData__;
        var data = localeData[locale.toLowerCase()];
        // The locale data is de-duplicated, so we have to traverse the locale's
        // hierarchy until we find `fields` to return.
        while (data) {
            if (data.fields) {
                return data.fields;
            }
            data = data.parentLocale
                ? localeData[data.parentLocale.toLowerCase()]
                : undefined;
        }
        throw new Error("Locale data added to RelativeTimeFormat is missing 'fields' for \"" + locale + "\"");
    }
    function findFieldData(fields, unit, style) {
        if (style == 'long') {
            return fields[unit];
        }
        if (style == 'narrow') {
            return (fields[unit + "-narrow"] ||
                fields[unit + "-short"]);
        }
        return fields[unit + "-short"];
    }
    function objectIs(x, y) {
        if (Object.is) {
            return Object.is(x, y);
        }
        // SameValue algorithm
        if (x === y) {
            // Steps 1-5, 7-10
            // Steps 6.b-6.e: +0 != -0
            return x !== 0 || 1 / x === 1 / y;
        }
        // Step 6.a: NaN == NaN
        return x !== x && y !== y;
    }
    function resolvePastOrFuture(value) {
        return objectIs(value, -0)
            ? 'past'
            : objectIs(value, +0)
                ? 'future'
                : value < 0
                    ? 'past'
                    : 'future';
    }
    function validateInstance(instance, method) {
        if (!(instance instanceof RelativeTimeFormat)) {
            throw new TypeError("Method Intl.RelativeTimeFormat.prototype." + method + " called on incompatible receiver " + String(instance));
        }
    }
    function validateUnit(unit) {
        // `unit + ''` to guard against `Symbol()`
        if (!~VALID_UNITS.indexOf(unit + '')) {
            throw new RangeError("Invalid unit argument for format() '" + String(unit) + "'");
        }
        var resolvedUnit = (unit[unit.length - 1] === 's'
            ? unit.slice(0, unit.length - 1)
            : unit);
        return resolvedUnit;
    }
    function validateValue(value, method) {
        if (method === void 0) { method = 'format'; }
        var parsedValue = typeof value === 'string' ? new Number(value).valueOf() : value;
        if (!isFinite(parsedValue)) {
            throw new RangeError("Value need to be finite number for Intl.RelativeTimeFormat.prototype." + method + "()");
        }
        return parsedValue;
    }
    function isString(s) {
        return !!s;
    }
    function toObject(arg) {
        if (arg == null) {
            throw new TypeError('undefined/null cannot be converted to object');
        }
        return Object(arg);
    }
    /**
     * https://tc39.es/ecma402/#sec-getoption
     * @param opts
     * @param prop
     * @param type
     * @param values
     * @param fallback
     */
    function getOption(opts, prop, type, values, fallback) {
        // const descriptor = Object.getOwnPropertyDescriptor(opts, prop);
        var value = opts[prop];
        if (value !== undefined) {
            if (type !== 'boolean' && type !== 'string') {
                throw new TypeError('invalid type');
            }
            if (type === 'boolean') {
                value = new Boolean(value);
            }
            if (type === 'string') {
                value = new String(value);
            }
            if (values !== undefined && !values.filter(function (val) { return val == value; }).length) {
                throw new RangeError(value + " in not within " + values);
            }
            return value;
        }
        return fallback;
    }
    function intersection(arr1, arr2) {
        return arr1.filter(function (s) { return ~arr2.indexOf(s); });
    }
    var DEFAULT_LOCALE = new Intl.NumberFormat().resolvedOptions().locale;
    var RelativeTimeFormat = /** @class */ (function () {
        function RelativeTimeFormat() {
            var _a = [];
            for (var _i = 0; _i < arguments.length; _i++) {
                _a[_i] = arguments[_i];
            }
            var locales = _a[0], options = _a[1];
            // test262/test/intl402/RelativeTimeFormat/constructor/constructor/newtarget-undefined.js
            // Cannot use `new.target` bc of IE11 & TS transpiles it to something else
            var newTarget = this && this instanceof RelativeTimeFormat ? this.constructor : void 0;
            if (!newTarget) {
                throw new TypeError("Intl.RelativeTimeFormat must be called with 'new'");
            }
            var opts = options === undefined ? Object.create(null) : toObject(options);
            if (locales === undefined) {
                this._locale = DEFAULT_LOCALE;
            }
            else {
                var resolvedLocales = resolveSupportedLocales(intersection(Intl.NumberFormat.supportedLocalesOf(locales), Intl.PluralRules.supportedLocalesOf(locales)).concat([
                    DEFAULT_LOCALE,
                ]), RelativeTimeFormat.__localeData__, RelativeTimeFormat.__languageAliases__);
                if (resolvedLocales.length < 1) {
                    throw new Error('No locale data has been added to IntlRelativeTimeFormat for: ' +
                        resolvedLocales.join(', ') +
                        ', or the default locale: ' +
                        DEFAULT_LOCALE);
                }
                this._locale = resolvedLocales[0];
            }
            this._localeMatcher = getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');
            this._style = getOption(opts, 'style', 'string', ['long', 'narrow', 'short'], 'long');
            this._numeric = getOption(opts, 'numeric', 'string', ['always', 'auto'], 'always');
            this._fields = findFields(this._locale);
            this._nf = new Intl.NumberFormat(this._locale);
            this._pl = new Intl.PluralRules(this._locale);
            this._numberingSystem = this._nf.resolvedOptions().numberingSystem;
        }
        RelativeTimeFormat.prototype.format = function (value, unit) {
            validateInstance(this, 'format');
            var resolvedUnit = validateUnit(unit);
            var parsedValue = validateValue(value);
            var _a = this, style = _a._style, numeric = _a._numeric;
            var fieldData = findFieldData(this._fields, resolvedUnit, style);
            if (!fieldData) {
                throw new Error("Unsupported unit " + unit);
            }
            var relative = fieldData.relative, relativeTime = fieldData.relativeTime;
            var result = '';
            // We got a match for things like yesterday
            if (numeric == 'auto' &&
                (result = relative[String(parsedValue)] || '')) {
                return result;
            }
            var selector = this._pl.select(parsedValue);
            var futureOrPastData = relativeTime[resolvePastOrFuture(parsedValue)];
            var msg = futureOrPastData[selector] || futureOrPastData.other;
            return msg.replace(/\{0\}/, this._nf.format(Math.abs(parsedValue)));
        };
        RelativeTimeFormat.prototype.formatToParts = function (value, unit) {
            validateInstance(this, 'format');
            var resolvedUnit = validateUnit(unit);
            var parsedValue = validateValue(value, 'formatToParts');
            var _a = this, style = _a._style, numeric = _a._numeric;
            var fieldData = findFieldData(this._fields, resolvedUnit, style);
            if (!fieldData) {
                throw new Error("Unsupported unit " + unit);
            }
            var relative = fieldData.relative, relativeTime = fieldData.relativeTime;
            var result = '';
            // We got a match for things like yesterday
            if (numeric == 'auto' &&
                (result = relative[String(parsedValue)] || '')) {
                return [
                    {
                        type: 'literal',
                        value: result,
                    },
                ];
            }
            var selector = this._pl.select(parsedValue);
            var futureOrPastData = relativeTime[resolvePastOrFuture(parsedValue)];
            var msg = futureOrPastData[selector] || futureOrPastData.other;
            var valueParts = this._nf
                .formatToParts(Math.abs(parsedValue))
                .map(function (p) { return (__assign$1({}, p, { unit: resolvedUnit })); });
            return msg
                .split(/(\{0\})/)
                .filter(isString)
                .reduce(function (parts, str) { return parts.concat((str === '{0}'
                ? valueParts
                : [{ type: 'literal', value: str }])); }, []);
        };
        RelativeTimeFormat.prototype.resolvedOptions = function () {
            validateInstance(this, 'resolvedOptions');
            // test262/test/intl402/RelativeTimeFormat/prototype/resolvedOptions/type.js
            var opts = Object.create(Object.prototype);
            Object.defineProperties(opts, {
                locale: {
                    value: this._locale,
                    writable: true,
                    enumerable: true,
                    configurable: true,
                },
                style: {
                    value: this._style.valueOf(),
                    writable: true,
                    enumerable: true,
                    configurable: true,
                },
                numeric: {
                    value: this._numeric.valueOf(),
                    writable: true,
                    enumerable: true,
                    configurable: true,
                },
                numberingSystem: {
                    value: this._numberingSystem.valueOf(),
                    writable: true,
                    enumerable: true,
                    configurable: true,
                },
            });
            return opts;
        };
        RelativeTimeFormat.prototype.toString = function () {
            return '[object Intl.RelativeTimeFormat]';
        };
        RelativeTimeFormat.__addLocaleData = function () {
            var data = [];
            for (var _i = 0; _i < arguments.length; _i++) {
                data[_i] = arguments[_i];
            }
            for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {
                var datum = data_1[_a];
                if (!(datum && datum.locale)) {
                    throw new Error('Locale data provided to RelativeTimeFormat is missing a ' +
                        '`locale` property value');
                }
                RelativeTimeFormat.__localeData__[datum.locale.toLowerCase()] = datum;
            }
        };
        RelativeTimeFormat.__setLanguageAliases = function (aliases) {
            RelativeTimeFormat.__languageAliases__ = aliases;
        };
        RelativeTimeFormat.supportedLocalesOf = function (locales) {
            var _a = [];
            for (var _i = 1; _i < arguments.length; _i++) {
                _a[_i - 1] = arguments[_i];
            }
            var opts = _a[0];
            // test262/test/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/options-toobject.js
            var localeMatcher = 'best fit';
            // test262/test/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/options-null.js
            if (opts === null) {
                throw new TypeError('opts cannot be null');
            }
            if (opts) {
                localeMatcher = getOption(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');
            }
            // test262/test/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/result-type.js
            return resolveSupportedLocales(intersection(Intl.NumberFormat.supportedLocalesOf(locales, { localeMatcher: localeMatcher }), Intl.PluralRules.supportedLocalesOf(locales, { localeMatcher: localeMatcher })).slice(), RelativeTimeFormat.__localeData__, RelativeTimeFormat.__languageAliases__);
        };
        RelativeTimeFormat.__localeData__ = {};
        RelativeTimeFormat.__languageAliases__ = {};
        RelativeTimeFormat.polyfilled = true;
        return RelativeTimeFormat;
    }());

    /* @generated */
    // prettier-ignore  
    var defaultLocale = { "locale": "en", "fields": { "year": { "displayName": "year", "relative": { "0": "this year", "1": "next year", "-1": "last year" }, "relativeTime": { "future": { "one": "in {0} year", "other": "in {0} years" }, "past": { "one": "{0} year ago", "other": "{0} years ago" } } }, "year-short": { "displayName": "yr.", "relative": { "0": "this yr.", "1": "next yr.", "-1": "last yr." }, "relativeTime": { "future": { "one": "in {0} yr.", "other": "in {0} yr." }, "past": { "one": "{0} yr. ago", "other": "{0} yr. ago" } } }, "year-narrow": { "displayName": "yr.", "relative": { "0": "this yr.", "1": "next yr.", "-1": "last yr." }, "relativeTime": { "future": { "one": "in {0} yr.", "other": "in {0} yr." }, "past": { "one": "{0} yr. ago", "other": "{0} yr. ago" } } }, "quarter": { "displayName": "quarter", "relative": { "0": "this quarter", "1": "next quarter", "-1": "last quarter" }, "relativeTime": { "future": { "one": "in {0} quarter", "other": "in {0} quarters" }, "past": { "one": "{0} quarter ago", "other": "{0} quarters ago" } } }, "quarter-short": { "displayName": "qtr.", "relative": { "0": "this qtr.", "1": "next qtr.", "-1": "last qtr." }, "relativeTime": { "future": { "one": "in {0} qtr.", "other": "in {0} qtrs." }, "past": { "one": "{0} qtr. ago", "other": "{0} qtrs. ago" } } }, "quarter-narrow": { "displayName": "qtr.", "relative": { "0": "this qtr.", "1": "next qtr.", "-1": "last qtr." }, "relativeTime": { "future": { "one": "in {0} qtr.", "other": "in {0} qtrs." }, "past": { "one": "{0} qtr. ago", "other": "{0} qtrs. ago" } } }, "month": { "displayName": "month", "relative": { "0": "this month", "1": "next month", "-1": "last month" }, "relativeTime": { "future": { "one": "in {0} month", "other": "in {0} months" }, "past": { "one": "{0} month ago", "other": "{0} months ago" } } }, "month-short": { "displayName": "mo.", "relative": { "0": "this mo.", "1": "next mo.", "-1": "last mo." }, "relativeTime": { "future": { "one": "in {0} mo.", "other": "in {0} mo." }, "past": { "one": "{0} mo. ago", "other": "{0} mo. ago" } } }, "month-narrow": { "displayName": "mo.", "relative": { "0": "this mo.", "1": "next mo.", "-1": "last mo." }, "relativeTime": { "future": { "one": "in {0} mo.", "other": "in {0} mo." }, "past": { "one": "{0} mo. ago", "other": "{0} mo. ago" } } }, "week": { "displayName": "week", "relative": { "0": "this week", "1": "next week", "-1": "last week" }, "relativeTime": { "future": { "one": "in {0} week", "other": "in {0} weeks" }, "past": { "one": "{0} week ago", "other": "{0} weeks ago" } }, "relativePeriod": "the week of {0}" }, "week-short": { "displayName": "wk.", "relative": { "0": "this wk.", "1": "next wk.", "-1": "last wk." }, "relativeTime": { "future": { "one": "in {0} wk.", "other": "in {0} wk." }, "past": { "one": "{0} wk. ago", "other": "{0} wk. ago" } }, "relativePeriod": "the week of {0}" }, "week-narrow": { "displayName": "wk.", "relative": { "0": "this wk.", "1": "next wk.", "-1": "last wk." }, "relativeTime": { "future": { "one": "in {0} wk.", "other": "in {0} wk." }, "past": { "one": "{0} wk. ago", "other": "{0} wk. ago" } }, "relativePeriod": "the week of {0}" }, "day": { "displayName": "day", "relative": { "0": "today", "1": "tomorrow", "-1": "yesterday" }, "relativeTime": { "future": { "one": "in {0} day", "other": "in {0} days" }, "past": { "one": "{0} day ago", "other": "{0} days ago" } } }, "day-short": { "displayName": "day", "relative": { "0": "today", "1": "tomorrow", "-1": "yesterday" }, "relativeTime": { "future": { "one": "in {0} day", "other": "in {0} days" }, "past": { "one": "{0} day ago", "other": "{0} days ago" } } }, "day-narrow": { "displayName": "day", "relative": { "0": "today", "1": "tomorrow", "-1": "yesterday" }, "relativeTime": { "future": { "one": "in {0} day", "other": "in {0} days" }, "past": { "one": "{0} day ago", "other": "{0} days ago" } } }, "hour": { "displayName": "hour", "relative": { "0": "this hour" }, "relativeTime": { "future": { "one": "in {0} hour", "other": "in {0} hours" }, "past": { "one": "{0} hour ago", "other": "{0} hours ago" } } }, "hour-short": { "displayName": "hr.", "relative": { "0": "this hour" }, "relativeTime": { "future": { "one": "in {0} hr.", "other": "in {0} hr." }, "past": { "one": "{0} hr. ago", "other": "{0} hr. ago" } } }, "hour-narrow": { "displayName": "hr.", "relative": { "0": "this hour" }, "relativeTime": { "future": { "one": "in {0} hr.", "other": "in {0} hr." }, "past": { "one": "{0} hr. ago", "other": "{0} hr. ago" } } }, "minute": { "displayName": "minute", "relative": { "0": "this minute" }, "relativeTime": { "future": { "one": "in {0} minute", "other": "in {0} minutes" }, "past": { "one": "{0} minute ago", "other": "{0} minutes ago" } } }, "minute-short": { "displayName": "min.", "relative": { "0": "this minute" }, "relativeTime": { "future": { "one": "in {0} min.", "other": "in {0} min." }, "past": { "one": "{0} min. ago", "other": "{0} min. ago" } } }, "minute-narrow": { "displayName": "min.", "relative": { "0": "this minute" }, "relativeTime": { "future": { "one": "in {0} min.", "other": "in {0} min." }, "past": { "one": "{0} min. ago", "other": "{0} min. ago" } } }, "second": { "displayName": "second", "relative": { "0": "now" }, "relativeTime": { "future": { "one": "in {0} second", "other": "in {0} seconds" }, "past": { "one": "{0} second ago", "other": "{0} seconds ago" } } }, "second-short": { "displayName": "sec.", "relative": { "0": "now" }, "relativeTime": { "future": { "one": "in {0} sec.", "other": "in {0} sec." }, "past": { "one": "{0} sec. ago", "other": "{0} sec. ago" } } }, "second-narrow": { "displayName": "sec.", "relative": { "0": "now" }, "relativeTime": { "future": { "one": "in {0} sec.", "other": "in {0} sec." }, "past": { "one": "{0} sec. ago", "other": "{0} sec. ago" } } } } };

    RelativeTimeFormat.__addLocaleData(defaultLocale);

    exports.VALID_UNITS = VALID_UNITS;
    exports.default = RelativeTimeFormat;

    Object.defineProperty(exports, '__esModule', { value: true });

}));
//# sourceMappingURL=intl-relativetimeformat.js.map
