{"ast":null,"code":"import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError } from \"./error\";\nexport var PART_TYPE;\n\n(function (PART_TYPE) {\n  PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n  PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\n\nfunction mergeLiteral(parts) {\n  if (parts.length < 2) {\n    return parts;\n  }\n\n  return parts.reduce(function (all, part) {\n    var lastPart = all[all.length - 1];\n\n    if (!lastPart || lastPart.type !== PART_TYPE.literal || part.type !== PART_TYPE.literal) {\n      all.push(part);\n    } else {\n      lastPart.value += part.value;\n    }\n\n    return all;\n  }, []);\n}\n\nexport function isFormatXMLElementFn(el) {\n  return typeof el === 'function';\n}\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, originalMessage) {\n  if (els.length === 1 && isLiteralElement(els[0])) {\n    return [{\n      type: PART_TYPE.literal,\n      value: els[0].value\n    }];\n  }\n\n  var result = [];\n\n  for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n    var el = els_1[_i];\n\n    if (isLiteralElement(el)) {\n      result.push({\n        type: PART_TYPE.literal,\n        value: el.value\n      });\n      continue;\n    }\n\n    if (isPoundElement(el)) {\n      if (typeof currentPluralValue === 'number') {\n        result.push({\n          type: PART_TYPE.literal,\n          value: formatters.getNumberFormat(locales).format(currentPluralValue)\n        });\n      }\n\n      continue;\n    }\n\n    var varName = el.value;\n\n    if (!(values && varName in values)) {\n      throw new MissingValueError(varName, originalMessage);\n    }\n\n    var value = values[varName];\n\n    if (isArgumentElement(el)) {\n      if (!value || typeof value === 'string' || typeof value === 'number') {\n        value = typeof value === 'string' || typeof value === 'number' ? String(value) : '';\n      }\n\n      result.push({\n        type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n        value: value\n      });\n      continue;\n    }\n\n    if (isDateElement(el)) {\n      var style = typeof el.style === 'string' ? formats.date[el.style] : isDateTimeSkeleton(el.style) ? el.style.parsedOptions : undefined;\n      result.push({\n        type: PART_TYPE.literal,\n        value: formatters.getDateTimeFormat(locales, style).format(value)\n      });\n      continue;\n    }\n\n    if (isTimeElement(el)) {\n      var style = typeof el.style === 'string' ? formats.time[el.style] : isDateTimeSkeleton(el.style) ? el.style.parsedOptions : undefined;\n      result.push({\n        type: PART_TYPE.literal,\n        value: formatters.getDateTimeFormat(locales, style).format(value)\n      });\n      continue;\n    }\n\n    if (isNumberElement(el)) {\n      var style = typeof el.style === 'string' ? formats.number[el.style] : isNumberSkeleton(el.style) ? el.style.parsedOptions : undefined;\n\n      if (style && style.scale) {\n        value = value * (style.scale || 1);\n      }\n\n      result.push({\n        type: PART_TYPE.literal,\n        value: formatters.getNumberFormat(locales, style).format(value)\n      });\n      continue;\n    }\n\n    if (isTagElement(el)) {\n      var children = el.children,\n          value_1 = el.value;\n      var formatFn = values[value_1];\n\n      if (!isFormatXMLElementFn(formatFn)) {\n        throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n      }\n\n      var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n      var chunks = formatFn(parts.map(function (p) {\n        return p.value;\n      }));\n\n      if (!Array.isArray(chunks)) {\n        chunks = [chunks];\n      }\n\n      result.push.apply(result, chunks.map(function (c) {\n        return {\n          type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n          value: c\n        };\n      }));\n    }\n\n    if (isSelectElement(el)) {\n      var opt = el.options[value] || el.options.other;\n\n      if (!opt) {\n        throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n      }\n\n      result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n      continue;\n    }\n\n    if (isPluralElement(el)) {\n      var opt = el.options[\"=\" + value];\n\n      if (!opt) {\n        if (!Intl.PluralRules) {\n          throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n        }\n\n        var rule = formatters.getPluralRules(locales, {\n          type: el.pluralType\n        }).select(value - (el.offset || 0));\n        opt = el.options[rule] || el.options.other;\n      }\n\n      if (!opt) {\n        throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n      }\n\n      result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n      continue;\n    }\n  }\n\n  return mergeLiteral(result);\n}","map":{"version":3,"sources":["/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/node_modules/@react-native-aria/overlays/node_modules/intl-messageformat/lib/src/formatters.js"],"names":["isArgumentElement","isDateElement","isDateTimeSkeleton","isLiteralElement","isNumberElement","isNumberSkeleton","isPluralElement","isPoundElement","isSelectElement","isTimeElement","isTagElement","MissingValueError","InvalidValueError","ErrorCode","FormatError","InvalidValueTypeError","PART_TYPE","mergeLiteral","parts","length","reduce","all","part","lastPart","type","literal","push","value","isFormatXMLElementFn","el","formatToParts","els","locales","formatters","formats","values","currentPluralValue","originalMessage","result","_i","els_1","getNumberFormat","format","varName","String","object","style","date","parsedOptions","undefined","getDateTimeFormat","time","number","scale","children","value_1","formatFn","chunks","map","p","Array","isArray","apply","c","opt","options","other","Object","keys","Intl","PluralRules","MISSING_INTL_API","rule","getPluralRules","pluralType","select","offset"],"mappings":"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","sourcesContent":["import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n    PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n    PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n    if (parts.length < 2) {\n        return parts;\n    }\n    return parts.reduce(function (all, part) {\n        var lastPart = all[all.length - 1];\n        if (!lastPart ||\n            lastPart.type !== PART_TYPE.literal ||\n            part.type !== PART_TYPE.literal) {\n            all.push(part);\n        }\n        else {\n            lastPart.value += part.value;\n        }\n        return all;\n    }, []);\n}\nexport function isFormatXMLElementFn(el) {\n    return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n    // Hot path for straight simple msg translations\n    if (els.length === 1 && isLiteralElement(els[0])) {\n        return [\n            {\n                type: PART_TYPE.literal,\n                value: els[0].value,\n            },\n        ];\n    }\n    var result = [];\n    for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n        var el = els_1[_i];\n        // Exit early for string parts.\n        if (isLiteralElement(el)) {\n            result.push({\n                type: PART_TYPE.literal,\n                value: el.value,\n            });\n            continue;\n        }\n        // TODO: should this part be literal type?\n        // Replace `#` in plural rules with the actual numeric value.\n        if (isPoundElement(el)) {\n            if (typeof currentPluralValue === 'number') {\n                result.push({\n                    type: PART_TYPE.literal,\n                    value: formatters.getNumberFormat(locales).format(currentPluralValue),\n                });\n            }\n            continue;\n        }\n        var varName = el.value;\n        // Enforce that all required values are provided by the caller.\n        if (!(values && varName in values)) {\n            throw new MissingValueError(varName, originalMessage);\n        }\n        var value = values[varName];\n        if (isArgumentElement(el)) {\n            if (!value || typeof value === 'string' || typeof value === 'number') {\n                value =\n                    typeof value === 'string' || typeof value === 'number'\n                        ? String(value)\n                        : '';\n            }\n            result.push({\n                type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n                value: value,\n            });\n            continue;\n        }\n        // Recursively format plural and select parts' option — which can be a\n        // nested pattern structure. The choosing of the option to use is\n        // abstracted-by and delegated-to the part helper object.\n        if (isDateElement(el)) {\n            var style = typeof el.style === 'string'\n                ? formats.date[el.style]\n                : isDateTimeSkeleton(el.style)\n                    ? el.style.parsedOptions\n                    : undefined;\n            result.push({\n                type: PART_TYPE.literal,\n                value: formatters\n                    .getDateTimeFormat(locales, style)\n                    .format(value),\n            });\n            continue;\n        }\n        if (isTimeElement(el)) {\n            var style = typeof el.style === 'string'\n                ? formats.time[el.style]\n                : isDateTimeSkeleton(el.style)\n                    ? el.style.parsedOptions\n                    : undefined;\n            result.push({\n                type: PART_TYPE.literal,\n                value: formatters\n                    .getDateTimeFormat(locales, style)\n                    .format(value),\n            });\n            continue;\n        }\n        if (isNumberElement(el)) {\n            var style = typeof el.style === 'string'\n                ? formats.number[el.style]\n                : isNumberSkeleton(el.style)\n                    ? el.style.parsedOptions\n                    : undefined;\n            if (style && style.scale) {\n                value =\n                    value *\n                        (style.scale || 1);\n            }\n            result.push({\n                type: PART_TYPE.literal,\n                value: formatters\n                    .getNumberFormat(locales, style)\n                    .format(value),\n            });\n            continue;\n        }\n        if (isTagElement(el)) {\n            var children = el.children, value_1 = el.value;\n            var formatFn = values[value_1];\n            if (!isFormatXMLElementFn(formatFn)) {\n                throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n            }\n            var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n            var chunks = formatFn(parts.map(function (p) { return p.value; }));\n            if (!Array.isArray(chunks)) {\n                chunks = [chunks];\n            }\n            result.push.apply(result, chunks.map(function (c) {\n                return {\n                    type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n                    value: c,\n                };\n            }));\n        }\n        if (isSelectElement(el)) {\n            var opt = el.options[value] || el.options.other;\n            if (!opt) {\n                throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n            }\n            result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n            continue;\n        }\n        if (isPluralElement(el)) {\n            var opt = el.options[\"=\" + value];\n            if (!opt) {\n                if (!Intl.PluralRules) {\n                    throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n                }\n                var rule = formatters\n                    .getPluralRules(locales, { type: el.pluralType })\n                    .select(value - (el.offset || 0));\n                opt = el.options[rule] || el.options.other;\n            }\n            if (!opt) {\n                throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n            }\n            result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n            continue;\n        }\n    }\n    return mergeLiteral(result);\n}\n"]},"metadata":{},"sourceType":"module"}