public SpanishDateParserConfiguration(ICommonDateTimeParserConfiguration config) : base(config)
 {
     DateTokenPrefix          = DateTimeDefinitions.DateTokenPrefix;
     DateRegexes              = new SpanishDateExtractorConfiguration(this).DateRegexList;
     OnRegex                  = SpanishDateExtractorConfiguration.OnRegex;
     SpecialDayRegex          = SpanishDateExtractorConfiguration.SpecialDayRegex;
     SpecialDayWithNumRegex   = SpanishDateExtractorConfiguration.SpecialDayWithNumRegex;
     NextRegex                = SpanishDateExtractorConfiguration.NextDateRegex;
     ThisRegex                = SpanishDateExtractorConfiguration.ThisRegex;
     LastRegex                = SpanishDateExtractorConfiguration.LastDateRegex;
     UnitRegex                = SpanishDateExtractorConfiguration.DateUnitRegex;
     WeekDayRegex             = SpanishDateExtractorConfiguration.WeekDayRegex;
     MonthRegex               = SpanishDateExtractorConfiguration.MonthRegex;
     WeekDayOfMonthRegex      = SpanishDateExtractorConfiguration.WeekDayOfMonthRegex;
     ForTheRegex              = SpanishDateExtractorConfiguration.ForTheRegex;
     WeekDayAndDayOfMothRegex = SpanishDateExtractorConfiguration.WeekDayAndDayOfMothRegex;
     RelativeMonthRegex       = SpanishDateExtractorConfiguration.RelativeMonthRegex;
     YearSuffix               = SpanishDateExtractorConfiguration.YearSuffix;
     RelativeWeekDayRegex     = SpanishDateExtractorConfiguration.RelativeWeekDayRegex;
     DayOfMonth               = config.DayOfMonth;
     DayOfWeek                = config.DayOfWeek;
     MonthOfYear              = config.MonthOfYear;
     CardinalMap              = config.CardinalMap;
     IntegerExtractor         = config.IntegerExtractor;
     OrdinalExtractor         = config.OrdinalExtractor;
     CardinalExtractor        = config.CardinalExtractor;
     NumberParser             = config.NumberParser;
     DurationExtractor        = config.DurationExtractor;
     DateExtractor            = config.DateExtractor;
     DurationParser           = config.DurationParser;
     UnitMap                  = config.UnitMap;
     UtilityConfiguration     = config.UtilityConfiguration;
 }
        public SpanishDateParserConfiguration(ICommonDateTimeParserConfiguration config)
            : base(config)
        {
            DateTokenPrefix = DateTimeDefinitions.DateTokenPrefix;
            DateRegexes     = new SpanishDateExtractorConfiguration(this).DateRegexList;

            OnRegex                  = SpanishDateExtractorConfiguration.OnRegex;
            SpecialDayRegex          = SpanishDateExtractorConfiguration.SpecialDayRegex;
            SpecialDayWithNumRegex   = SpanishDateExtractorConfiguration.SpecialDayWithNumRegex;
            NextRegex                = SpanishDateExtractorConfiguration.NextDateRegex;
            ThisRegex                = SpanishDateExtractorConfiguration.ThisRegex;
            LastRegex                = SpanishDateExtractorConfiguration.LastDateRegex;
            UnitRegex                = SpanishDateExtractorConfiguration.DateUnitRegex;
            WeekDayRegex             = SpanishDateExtractorConfiguration.WeekDayRegex;
            MonthRegex               = SpanishDateExtractorConfiguration.MonthRegex;
            WeekDayOfMonthRegex      = SpanishDateExtractorConfiguration.WeekDayOfMonthRegex;
            ForTheRegex              = SpanishDateExtractorConfiguration.ForTheRegex;
            WeekDayAndDayOfMothRegex = SpanishDateExtractorConfiguration.WeekDayAndDayOfMothRegex;
            WeekDayAndDayRegex       = SpanishDateExtractorConfiguration.WeekDayAndDayRegex;
            RelativeMonthRegex       = SpanishDateExtractorConfiguration.RelativeMonthRegex;
            StrictRelativeRegex      = SpanishDateExtractorConfiguration.StrictRelativeRegex;
            YearSuffix               = SpanishDateExtractorConfiguration.YearSuffix;
            RelativeWeekDayRegex     = SpanishDateExtractorConfiguration.RelativeWeekDayRegex;
            BeforeAfterRegex         = SpanishDateExtractorConfiguration.BeforeAfterRegex;

            RelativeDayRegex    = RegexCache.Get(DateTimeDefinitions.RelativeDayRegex, RegexFlags);
            NextPrefixRegex     = RegexCache.Get(DateTimeDefinitions.NextPrefixRegex, RegexFlags);
            PreviousPrefixRegex = RegexCache.Get(DateTimeDefinitions.PreviousPrefixRegex, RegexFlags);
            UpcomingPrefixRegex = RegexCache.Get(DateTimeDefinitions.UpcomingPrefixRegex, RegexFlags);
            PastPrefixRegex     = RegexCache.Get(DateTimeDefinitions.PastPrefixRegex, RegexFlags);

            DayOfMonth           = config.DayOfMonth;
            DayOfWeek            = config.DayOfWeek;
            MonthOfYear          = config.MonthOfYear;
            CardinalMap          = config.CardinalMap;
            IntegerExtractor     = config.IntegerExtractor;
            OrdinalExtractor     = config.OrdinalExtractor;
            CardinalExtractor    = config.CardinalExtractor;
            NumberParser         = config.NumberParser;
            DateExtractor        = config.DateExtractor;
            DurationExtractor    = config.DurationExtractor;
            DurationParser       = config.DurationParser;
            HolidayParser        = new BaseHolidayParser(new SpanishHolidayParserConfiguration(this));
            UnitMap              = config.UnitMap;
            UtilityConfiguration = config.UtilityConfiguration;

            SameDayTerms     = DateTimeDefinitions.SameDayTerms.ToImmutableList();
            PlusOneDayTerms  = DateTimeDefinitions.PlusOneDayTerms.ToImmutableList();
            PlusTwoDayTerms  = DateTimeDefinitions.PlusTwoDayTerms.ToImmutableList();
            MinusOneDayTerms = DateTimeDefinitions.MinusOneDayTerms.ToImmutableList();
            MinusTwoDayTerms = DateTimeDefinitions.MinusTwoDayTerms.ToImmutableList();
        }
 public SpanishDateParserConfiguration(ICommonDateTimeParserConfiguration config) : base(config)
 {
     DateTokenPrefix          = DateTimeDefinitions.DateTokenPrefix;
     DateRegexes              = new SpanishDateExtractorConfiguration(this).DateRegexList;
     OnRegex                  = SpanishDateExtractorConfiguration.OnRegex;
     SpecialDayRegex          = SpanishDateExtractorConfiguration.SpecialDayRegex;
     SpecialDayWithNumRegex   = SpanishDateExtractorConfiguration.SpecialDayWithNumRegex;
     NextRegex                = SpanishDateExtractorConfiguration.NextDateRegex;
     ThisRegex                = SpanishDateExtractorConfiguration.ThisRegex;
     LastRegex                = SpanishDateExtractorConfiguration.LastDateRegex;
     UnitRegex                = SpanishDateExtractorConfiguration.DateUnitRegex;
     WeekDayRegex             = SpanishDateExtractorConfiguration.WeekDayRegex;
     MonthRegex               = SpanishDateExtractorConfiguration.MonthRegex;
     WeekDayOfMonthRegex      = SpanishDateExtractorConfiguration.WeekDayOfMonthRegex;
     ForTheRegex              = SpanishDateExtractorConfiguration.ForTheRegex;
     WeekDayAndDayOfMothRegex = SpanishDateExtractorConfiguration.WeekDayAndDayOfMothRegex;
     RelativeMonthRegex       = SpanishDateExtractorConfiguration.RelativeMonthRegex;
     YearSuffix               = SpanishDateExtractorConfiguration.YearSuffix;
     RelativeWeekDayRegex     = SpanishDateExtractorConfiguration.RelativeWeekDayRegex;
     RelativeDayRegex         = new Regex(DateTimeDefinitions.RelativeDayRegex, RegexOptions.Singleline);
     NextPrefixRegex          = new Regex(DateTimeDefinitions.NextPrefixRegex, RegexOptions.Singleline);
     PastPrefixRegex          = new Regex(DateTimeDefinitions.PastPrefixRegex, RegexOptions.Singleline);
     DayOfMonth               = config.DayOfMonth;
     DayOfWeek                = config.DayOfWeek;
     MonthOfYear              = config.MonthOfYear;
     CardinalMap              = config.CardinalMap;
     IntegerExtractor         = config.IntegerExtractor;
     OrdinalExtractor         = config.OrdinalExtractor;
     CardinalExtractor        = config.CardinalExtractor;
     NumberParser             = config.NumberParser;
     DurationExtractor        = config.DurationExtractor;
     DateExtractor            = config.DateExtractor;
     DurationParser           = config.DurationParser;
     UnitMap                  = config.UnitMap;
     UtilityConfiguration     = config.UtilityConfiguration;
     SameDayTerms             = DateTimeDefinitions.SameDayTerms.ToImmutableList();
     PlusOneDayTerms          = DateTimeDefinitions.PlusOneDayTerms.ToImmutableList();
     PlusTwoDayTerms          = DateTimeDefinitions.PlusTwoDayTerms.ToImmutableList();
     MinusOneDayTerms         = DateTimeDefinitions.MinusOneDayTerms.ToImmutableList();
     MinusTwoDayTerms         = DateTimeDefinitions.MinusTwoDayTerms.ToImmutableList();
 }