text: function dateLongFormatter(pattern, formatLong) {
    switch (pattern) {
      case 'P':
        return formatLong.date({
          width: 'short'
        });
  
      case 'PP':
        return formatLong.date({
          width: 'medium'
        });
  
      case 'PPP':
        return formatLong.date({
          width: 'long'
        });
  
      case 'PPPP':
      default:
        return formatLong.date({
          width: 'full'
        });
    }
  }
  
  function timeLongFormatter(pattern, formatLong) {
    switch (pattern) {
      case 'p':
        return formatLong.time({
          width: 'short'
        });
  
      case 'pp':
        return formatLong.time({
          width: 'medium'
        });
  
      case 'ppp':
        return formatLong.time({
          width: 'long'
        });
  
      case 'pppp':
      default:
        return formatLong.time({
          width: 'full'
        });
    }
  }
  
  function dateTimeLongFormatter(pattern, formatLong) {
    var matchResult = pattern.match(/(P+)(p+)?/);
    var datePattern = matchResult[1];
    var timePattern = matchResult[2];
  
    if (!timePattern) {
      return dateLongFormatter(pattern, formatLong);
    }
  
    var dateTimeFormat;
  
    switch (datePattern) {
      case 'P':
        dateTimeFormat = formatLong.dateTime({
          width: 'short'
        });
        break;
  
      case 'PP':
        dateTimeFormat = formatLong.dateTime({
          width: 'medium'
        });
        break;
  
      case 'PPP':
        dateTimeFormat = formatLong.dateTime({
          width: 'long'
        });
        break;
  
      case 'PPPP':
      default:
        dateTimeFormat = formatLong.dateTime({
          width: 'full'
        });
        break;
    }
  
    return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));
  }
  
  var longFormatters = {
    p: timeLongFormatter,
    P: dateTimeLongFormatter
  };
  
  export default longFormatters;
  //# sourceMappingURL=index.esm.js.map
  