chrono-node 2.7.8 → 2.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/cjs/locales/en/parsers/ENCasualDateParser.js +4 -1
  2. package/dist/cjs/locales/en/parsers/ENCasualDateParser.js.map +1 -1
  3. package/dist/cjs/locales/it/constants.d.ts +28 -0
  4. package/dist/cjs/locales/it/constants.js +165 -0
  5. package/dist/cjs/locales/it/constants.js.map +1 -0
  6. package/dist/cjs/locales/it/index.d.ts +9 -0
  7. package/dist/cjs/locales/it/index.js +66 -0
  8. package/dist/cjs/locales/it/index.js.map +1 -0
  9. package/dist/cjs/locales/it/parsers/ITCasualDateParser.d.ts +7 -0
  10. package/dist/cjs/locales/it/parsers/ITCasualDateParser.js +65 -0
  11. package/dist/cjs/locales/it/parsers/ITCasualDateParser.js.map +1 -0
  12. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.d.ts +6 -0
  13. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js +47 -0
  14. package/dist/cjs/locales/it/parsers/ITCasualTimeParser.js.map +1 -0
  15. package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.d.ts +10 -0
  16. package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.js +35 -0
  17. package/dist/cjs/locales/it/parsers/ITCasualYearMonthDayParser.js.map +1 -0
  18. package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.d.ts +7 -0
  19. package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.js +57 -0
  20. package/dist/cjs/locales/it/parsers/ITMonthNameLittleEndianParser.js.map +1 -0
  21. package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.d.ts +6 -0
  22. package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.js +59 -0
  23. package/dist/cjs/locales/it/parsers/ITMonthNameMiddleEndianParser.js.map +1 -0
  24. package/dist/cjs/locales/it/parsers/ITMonthNameParser.d.ts +6 -0
  25. package/dist/cjs/locales/it/parsers/ITMonthNameParser.js +43 -0
  26. package/dist/cjs/locales/it/parsers/ITMonthNameParser.js.map +1 -0
  27. package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.d.ts +7 -0
  28. package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js +57 -0
  29. package/dist/cjs/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -0
  30. package/dist/cjs/locales/it/parsers/ITSlashMonthFormatParser.d.ts +7 -0
  31. package/dist/cjs/locales/it/parsers/ITSlashMonthFormatParser.js +18 -0
  32. package/dist/cjs/locales/it/parsers/ITSlashMonthFormatParser.js.map +1 -0
  33. package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.d.ts +10 -0
  34. package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.js +50 -0
  35. package/dist/cjs/locales/it/parsers/ITTimeExpressionParser.js.map +1 -0
  36. package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.d.ts +9 -0
  37. package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js +24 -0
  38. package/dist/cjs/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -0
  39. package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.d.ts +7 -0
  40. package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js +26 -0
  41. package/dist/cjs/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js.map +1 -0
  42. package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.d.ts +9 -0
  43. package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.js +23 -0
  44. package/dist/cjs/locales/it/parsers/ITTimeUnitLaterFormatParser.js.map +1 -0
  45. package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.d.ts +7 -0
  46. package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.js +19 -0
  47. package/dist/cjs/locales/it/parsers/ITTimeUnitWithinFormatParser.js.map +1 -0
  48. package/dist/cjs/locales/it/parsers/ITWeekdayParser.d.ts +7 -0
  49. package/dist/cjs/locales/it/parsers/ITWeekdayParser.js +43 -0
  50. package/dist/cjs/locales/it/parsers/ITWeekdayParser.js.map +1 -0
  51. package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.d.ts +4 -0
  52. package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.js +13 -0
  53. package/dist/cjs/locales/it/refiners/ITMergeDateRangeRefiner.js.map +1 -0
  54. package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.d.ts +4 -0
  55. package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.js +13 -0
  56. package/dist/cjs/locales/it/refiners/ITMergeDateTimeRefiner.js.map +1 -0
  57. package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.d.ts +7 -0
  58. package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.js +36 -0
  59. package/dist/cjs/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +1 -0
  60. package/dist/cjs/locales/ja/parsers/JPCasualDateParser.js +4 -4
  61. package/dist/cjs/locales/ja/refiners/JPMergeDateRangeRefiner.js +1 -1
  62. package/dist/cjs/locales/ja/refiners/JPMergeDateRangeRefiner.js.map +1 -1
  63. package/dist/esm/locales/en/parsers/ENCasualDateParser.js +4 -1
  64. package/dist/esm/locales/en/parsers/ENCasualDateParser.js.map +1 -1
  65. package/dist/esm/locales/it/constants.d.ts +28 -0
  66. package/dist/esm/locales/it/constants.js +200 -0
  67. package/dist/esm/locales/it/constants.js.map +1 -0
  68. package/dist/esm/locales/it/index.d.ts +9 -0
  69. package/dist/esm/locales/it/index.js +56 -0
  70. package/dist/esm/locales/it/index.js.map +1 -0
  71. package/dist/esm/locales/it/parsers/ITCasualDateParser.d.ts +7 -0
  72. package/dist/esm/locales/it/parsers/ITCasualDateParser.js +40 -0
  73. package/dist/esm/locales/it/parsers/ITCasualDateParser.js.map +1 -0
  74. package/dist/esm/locales/it/parsers/ITCasualTimeParser.d.ts +6 -0
  75. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js +41 -0
  76. package/dist/esm/locales/it/parsers/ITCasualTimeParser.js.map +1 -0
  77. package/dist/esm/locales/it/parsers/ITCasualYearMonthDayParser.d.ts +10 -0
  78. package/dist/esm/locales/it/parsers/ITCasualYearMonthDayParser.js +32 -0
  79. package/dist/esm/locales/it/parsers/ITCasualYearMonthDayParser.js.map +1 -0
  80. package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.d.ts +7 -0
  81. package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.js +54 -0
  82. package/dist/esm/locales/it/parsers/ITMonthNameLittleEndianParser.js.map +1 -0
  83. package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.d.ts +6 -0
  84. package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.js +56 -0
  85. package/dist/esm/locales/it/parsers/ITMonthNameMiddleEndianParser.js.map +1 -0
  86. package/dist/esm/locales/it/parsers/ITMonthNameParser.d.ts +6 -0
  87. package/dist/esm/locales/it/parsers/ITMonthNameParser.js +40 -0
  88. package/dist/esm/locales/it/parsers/ITMonthNameParser.js.map +1 -0
  89. package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.d.ts +7 -0
  90. package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js +51 -0
  91. package/dist/esm/locales/it/parsers/ITRelativeDateFormatParser.js.map +1 -0
  92. package/dist/esm/locales/it/parsers/ITSlashMonthFormatParser.d.ts +7 -0
  93. package/dist/esm/locales/it/parsers/ITSlashMonthFormatParser.js +15 -0
  94. package/dist/esm/locales/it/parsers/ITSlashMonthFormatParser.js.map +1 -0
  95. package/dist/esm/locales/it/parsers/ITTimeExpressionParser.d.ts +10 -0
  96. package/dist/esm/locales/it/parsers/ITTimeExpressionParser.js +47 -0
  97. package/dist/esm/locales/it/parsers/ITTimeExpressionParser.js.map +1 -0
  98. package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.d.ts +9 -0
  99. package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js +21 -0
  100. package/dist/esm/locales/it/parsers/ITTimeUnitAgoFormatParser.js.map +1 -0
  101. package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.d.ts +7 -0
  102. package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js +23 -0
  103. package/dist/esm/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.js.map +1 -0
  104. package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.d.ts +9 -0
  105. package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js +20 -0
  106. package/dist/esm/locales/it/parsers/ITTimeUnitLaterFormatParser.js.map +1 -0
  107. package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.d.ts +7 -0
  108. package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.js +16 -0
  109. package/dist/esm/locales/it/parsers/ITTimeUnitWithinFormatParser.js.map +1 -0
  110. package/dist/esm/locales/it/parsers/ITWeekdayParser.d.ts +7 -0
  111. package/dist/esm/locales/it/parsers/ITWeekdayParser.js +40 -0
  112. package/dist/esm/locales/it/parsers/ITWeekdayParser.js.map +1 -0
  113. package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.d.ts +4 -0
  114. package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.js +7 -0
  115. package/dist/esm/locales/it/refiners/ITMergeDateRangeRefiner.js.map +1 -0
  116. package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.d.ts +4 -0
  117. package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.js +7 -0
  118. package/dist/esm/locales/it/refiners/ITMergeDateTimeRefiner.js.map +1 -0
  119. package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.d.ts +7 -0
  120. package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.js +33 -0
  121. package/dist/esm/locales/it/refiners/ITMergeRelativeDateRefiner.js.map +1 -0
  122. package/dist/esm/locales/ja/parsers/JPCasualDateParser.js +4 -4
  123. package/dist/esm/locales/ja/refiners/JPMergeDateRangeRefiner.js +1 -1
  124. package/dist/esm/locales/ja/refiners/JPMergeDateRangeRefiner.js.map +1 -1
  125. package/package.json +1 -1
  126. package/src/locales/en/parsers/ENCasualDateParser.ts +5 -1
  127. package/src/locales/it/constants.ts +230 -0
  128. package/src/locales/it/index.ts +99 -0
  129. package/src/locales/it/parsers/ITCasualDateParser.ts +53 -0
  130. package/src/locales/it/parsers/ITCasualTimeParser.ts +50 -0
  131. package/src/locales/it/parsers/ITCasualYearMonthDayParser.ts +49 -0
  132. package/src/locales/it/parsers/ITMonthNameLittleEndianParser.ts +69 -0
  133. package/src/locales/it/parsers/ITMonthNameMiddleEndianParser.ts +78 -0
  134. package/src/locales/it/parsers/ITMonthNameParser.ts +62 -0
  135. package/src/locales/it/parsers/ITRelativeDateFormatParser.ts +71 -0
  136. package/src/locales/it/parsers/ITSlashMonthFormatParser.ts +26 -0
  137. package/src/locales/it/parsers/ITTimeExpressionParser.ts +55 -0
  138. package/src/locales/it/parsers/ITTimeUnitAgoFormatParser.ts +25 -0
  139. package/src/locales/it/parsers/ITTimeUnitCasualRelativeFormatParser.ts +30 -0
  140. package/src/locales/it/parsers/ITTimeUnitLaterFormatParser.ts +27 -0
  141. package/src/locales/it/parsers/ITTimeUnitWithinFormatParser.ts +26 -0
  142. package/src/locales/it/parsers/ITWeekdayParser.ts +47 -0
  143. package/src/locales/it/refiners/ITMergeDateRangeRefiner.ts +17 -0
  144. package/src/locales/it/refiners/ITMergeDateTimeRefiner.ts +13 -0
  145. package/src/locales/it/refiners/ITMergeRelativeDateRefiner.ts +58 -0
  146. package/src/locales/ja/parsers/JPCasualDateParser.ts +4 -4
  147. package/src/locales/ja/refiners/JPMergeDateRangeRefiner.ts +1 -1
  148. package/test/ja/ja_casual.test.ts +8 -0
  149. package/test/ja/ja_standard.test.ts +19 -0
@@ -25,13 +25,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
25
25
  const dayjs_1 = __importDefault(require("dayjs"));
26
26
  const types_1 = require("../../../types");
27
27
  const references = __importStar(require("../../../common/casualReferences"));
28
- const PATTERN = /今日|きょう|当日|とうじつ|昨日|きのう|明日|あした|今夜|こんや|今夕|こんゆう|今晩|こんばん|今朝|けさ/i;
28
+ const PATTERN = /今日|きょう|本日|ほんじつ|昨日|きのう|明日|あした|今夜|こんや|今夕|こんゆう|今晩|こんばん|今朝|けさ/i;
29
29
  function normalizeTextToKanji(text) {
30
30
  switch (text) {
31
31
  case "きょう":
32
32
  return "今日";
33
- case "とうじつ":
34
- return "当日";
33
+ case "ほんじつ":
34
+ return "本日";
35
35
  case "きのう":
36
36
  return "昨日";
37
37
  case "あした":
@@ -61,8 +61,8 @@ class JPCasualDateParser {
61
61
  return references.yesterday(context.reference);
62
62
  case "明日":
63
63
  return references.tomorrow(context.reference);
64
+ case "本日":
64
65
  case "今日":
65
- case "当日":
66
66
  return references.today(context.reference);
67
67
  }
68
68
  if (text == "今夜" || text == "今夕" || text == "今晩") {
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const AbstractMergeDateRangeRefiner_1 = __importDefault(require("../../../common/refiners/AbstractMergeDateRangeRefiner"));
7
7
  class JPMergeDateRangeRefiner extends AbstractMergeDateRangeRefiner_1.default {
8
8
  patternBetween() {
9
- return /^\s*(から|ー|-)\s*$/i;
9
+ return /^\s*(から|ー|-|~|~)\s*$/i;
10
10
  }
11
11
  }
12
12
  exports.default = JPMergeDateRangeRefiner;
@@ -1 +1 @@
1
- {"version":3,"file":"JPMergeDateRangeRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/ja/refiners/JPMergeDateRangeRefiner.ts"],"names":[],"mappings":";;;;;AAAA,2HAAmG;AAQnG,MAAqB,uBAAwB,SAAQ,uCAA6B;IAC9E,cAAc;QACV,OAAO,mBAAmB,CAAC;IAC/B,CAAC;CACJ;AAJD,0CAIC"}
1
+ {"version":3,"file":"JPMergeDateRangeRefiner.js","sourceRoot":"","sources":["../../../../../src/locales/ja/refiners/JPMergeDateRangeRefiner.ts"],"names":[],"mappings":";;;;;AAAA,2HAAmG;AAQnG,MAAqB,uBAAwB,SAAQ,uCAA6B;IAC9E,cAAc;QACV,OAAO,uBAAuB,CAAC;IACnC,CAAC;CACJ;AAJD,0CAIC"}
@@ -2,7 +2,7 @@ import dayjs from "dayjs";
2
2
  import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
3
3
  import { assignSimilarDate } from "../../../utils/dayjs.js";
4
4
  import * as references from "../../../common/casualReferences.js";
5
- const PATTERN = /(now|today|tonight|tomorrow|tmr|tmrw|yesterday|last\s*night)(?=\W|$)/i;
5
+ const PATTERN = /(now|today|tonight|tomorrow|overmorrow|tmr|tmrw|yesterday|last\s*night)(?=\W|$)/i;
6
6
  export default class ENCasualDateParser extends AbstractParserWithWordBoundaryChecking {
7
7
  innerPattern(context) {
8
8
  return PATTERN;
@@ -29,6 +29,9 @@ export default class ENCasualDateParser extends AbstractParserWithWordBoundaryCh
29
29
  case "tonight":
30
30
  component = references.tonight(context.reference);
31
31
  break;
32
+ case "overmorrow":
33
+ component = references.theDayAfter(context.reference, 2);
34
+ break;
32
35
  default:
33
36
  if (lowerText.match(/last\s*night/)) {
34
37
  if (targetDate.hour() > 6) {
@@ -1 +1 @@
1
- {"version":3,"file":"ENCasualDateParser.js","sourceRoot":"","sources":["../../../../../src/locales/en/parsers/ENCasualDateParser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,kCAAkC,CAAC;AAE/D,MAAM,OAAO,GAAG,uEAAuE,CAAC;AAExF,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,sCAAsC;IAClF,YAAY,CAAC,OAAuB;QAChC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,SAAS,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAElD,QAAQ,SAAS,EAAE;YACf,KAAK,KAAK;gBACN,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM;YAEV,KAAK,OAAO;gBACR,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChD,MAAM;YAEV,KAAK,WAAW;gBACZ,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM;YAEV,KAAK,UAAU,CAAC;YAChB,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACP,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACnD,MAAM;YAEV,KAAK,SAAS;gBACV,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClD,MAAM;YAEV;gBACI,IAAI,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;oBACjC,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;wBACvB,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;qBAC1C;oBAED,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBACzC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBACD,MAAM;SACb;QACD,SAAS,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
1
+ {"version":3,"file":"ENCasualDateParser.js","sourceRoot":"","sources":["../../../../../src/locales/en/parsers/ENCasualDateParser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,kCAAkC,CAAC;AAE/D,MAAM,OAAO,GAAG,kFAAkF,CAAC;AAEnG,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,sCAAsC;IAClF,YAAY,CAAC,OAAuB;QAChC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,SAAS,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAElD,QAAQ,SAAS,EAAE;YACf,KAAK,KAAK;gBACN,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM;YAEV,KAAK,OAAO;gBACR,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChD,MAAM;YAEV,KAAK,WAAW;gBACZ,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM;YAEV,KAAK,UAAU,CAAC;YAChB,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACP,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACnD,MAAM;YAEV,KAAK,SAAS;gBACV,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClD,MAAM;YAEV,KAAK,YAAY;gBACb,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACzD,MAAM;YAEV;gBACI,IAAI,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;oBACjC,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;wBACvB,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;qBAC1C;oBAED,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBACzC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBACD,MAAM;SACb;QACD,SAAS,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
@@ -0,0 +1,28 @@
1
+ import { OpUnitType, QUnitType } from "dayjs";
2
+ import { TimeUnits } from "../../utils/timeunits.js";
3
+ export declare const WEEKDAY_DICTIONARY: {
4
+ [word: string]: number;
5
+ };
6
+ export declare const FULL_MONTH_NAME_DICTIONARY: {
7
+ [word: string]: number;
8
+ };
9
+ export declare const MONTH_DICTIONARY: {
10
+ [word: string]: number;
11
+ };
12
+ export declare const INTEGER_WORD_DICTIONARY: {
13
+ [word: string]: number;
14
+ };
15
+ export declare const ORDINAL_WORD_DICTIONARY: {
16
+ [word: string]: number;
17
+ };
18
+ export declare const TIME_UNIT_DICTIONARY: {
19
+ [word: string]: OpUnitType | QUnitType;
20
+ };
21
+ export declare const NUMBER_PATTERN: string;
22
+ export declare function parseNumberPattern(match: string): number;
23
+ export declare const ORDINAL_NUMBER_PATTERN: string;
24
+ export declare function parseOrdinalNumberPattern(match: string): number;
25
+ export declare const YEAR_PATTERN = "(?:[1-9][0-9]{0,3}\\s{0,2}(?:BE|AD|BC|BCE|CE)|[1-2][0-9]{3}|[5-9][0-9])";
26
+ export declare function parseYear(match: string): number;
27
+ export declare const TIME_UNITS_PATTERN: string;
28
+ export declare function parseTimeUnits(timeunitText: any): TimeUnits;
@@ -0,0 +1,200 @@
1
+ import { matchAnyPattern, repeatedTimeunitPattern } from "../../utils/pattern.js";
2
+ import { findMostLikelyADYear } from "../../calculation/years.js";
3
+ export const WEEKDAY_DICTIONARY = {
4
+ "domenica": 0,
5
+ "dom": 0,
6
+ "lunedì": 1,
7
+ "lun": 1,
8
+ "martedì": 2,
9
+ "mar": 2,
10
+ "mercoledì": 3,
11
+ "merc": 3,
12
+ "giovedì": 4,
13
+ "giov": 4,
14
+ "venerdì": 5,
15
+ "ven": 5,
16
+ "sabato": 6,
17
+ "sab": 6,
18
+ };
19
+ export const FULL_MONTH_NAME_DICTIONARY = {};
20
+ export const MONTH_DICTIONARY = {
21
+ ...FULL_MONTH_NAME_DICTIONARY,
22
+ "gennaio": 1,
23
+ "gen": 1,
24
+ "gen.": 1,
25
+ "febbraio": 2,
26
+ "feb": 2,
27
+ "feb.": 2,
28
+ "febraio": 2,
29
+ "febb": 2,
30
+ "febb.": 2,
31
+ "marzo": 3,
32
+ "mar": 3,
33
+ "mar.": 3,
34
+ "aprile": 4,
35
+ "apr": 4,
36
+ "apr.": 4,
37
+ "maggio": 5,
38
+ "mag": 5,
39
+ "giugno": 6,
40
+ "giu": 6,
41
+ "luglio": 7,
42
+ "lug": 7,
43
+ "lugl": 7,
44
+ "lug.": 7,
45
+ "agosto": 8,
46
+ "ago": 8,
47
+ "settembre": 9,
48
+ "set": 9,
49
+ "set.": 9,
50
+ "sett": 9,
51
+ "sett.": 9,
52
+ "ottobre": 10,
53
+ "ott": 10,
54
+ "ott.": 10,
55
+ "novembre": 11,
56
+ "nov": 11,
57
+ "nov.": 11,
58
+ "dicembre": 12,
59
+ "dic": 12,
60
+ "dice": 12,
61
+ "dic.": 12,
62
+ };
63
+ export const INTEGER_WORD_DICTIONARY = {
64
+ "uno": 1,
65
+ "due": 2,
66
+ "tre": 3,
67
+ "quattro": 4,
68
+ "cinque": 5,
69
+ "sei": 6,
70
+ "sette": 7,
71
+ "otto": 8,
72
+ "nove": 9,
73
+ "dieci": 10,
74
+ "undici": 11,
75
+ "dodici": 12,
76
+ };
77
+ export const ORDINAL_WORD_DICTIONARY = {
78
+ "primo": 1,
79
+ "secondo": 2,
80
+ "terzo": 3,
81
+ "quarto": 4,
82
+ "quinto": 5,
83
+ "sesto": 6,
84
+ "settimo": 7,
85
+ "ottavo": 8,
86
+ "nono": 9,
87
+ "decimo": 10,
88
+ "undicesimo": 11,
89
+ "dodicesimo": 12,
90
+ "tredicesimo": 13,
91
+ "quattordicesimo": 14,
92
+ "quindicesimo": 15,
93
+ "sedicesimo": 16,
94
+ "diciassettesimo": 17,
95
+ "diciottesimo": 18,
96
+ "diciannovesimo": 19,
97
+ "ventesimo": 20,
98
+ "ventunesimo": 21,
99
+ "ventiduesimo": 22,
100
+ "ventitreesimo": 23,
101
+ "ventiquattresimo": 24,
102
+ "venticinquesimo": 25,
103
+ "ventiseiesimo": 26,
104
+ "ventisettesimo": 27,
105
+ "ventottesimo": 28,
106
+ "ventinovesimo": 29,
107
+ "trentesimo": 30,
108
+ "trentunesimo": 31,
109
+ };
110
+ export const TIME_UNIT_DICTIONARY = {
111
+ "sec": "second",
112
+ "secondo": "second",
113
+ "secondi": "second",
114
+ "min": "minute",
115
+ "mins": "minute",
116
+ "minuti": "minute",
117
+ "h": "hour",
118
+ "hr": "hour",
119
+ "o": "hour",
120
+ "ora": "hour",
121
+ "ore": "hour",
122
+ "giorno": "d",
123
+ "giorni": "d",
124
+ "settimana": "week",
125
+ "settimane": "week",
126
+ "mese": "month",
127
+ "trimestre": "quarter",
128
+ "trimestri": "quarter",
129
+ "anni": "year",
130
+ "anno": "year",
131
+ };
132
+ export const NUMBER_PATTERN = `(?:${matchAnyPattern(INTEGER_WORD_DICTIONARY)}|[0-9]+|[0-9]+\\.[0-9]+|half(?:\\s{0,2}un?)?|un?\\b(?:\\s{0,2}qualcuno)?|qualcuno|molti|a?\\s{0,2}alcuni\\s{0,2}(?:of)?)`;
133
+ export function parseNumberPattern(match) {
134
+ const num = match.toLowerCase();
135
+ if (INTEGER_WORD_DICTIONARY[num] !== undefined) {
136
+ return INTEGER_WORD_DICTIONARY[num];
137
+ }
138
+ else if (num === "un" || num === "una") {
139
+ return 1;
140
+ }
141
+ else if (num.match(/alcuni/)) {
142
+ return 3;
143
+ }
144
+ else if (num.match(/metá/)) {
145
+ return 0.5;
146
+ }
147
+ else if (num.match(/paio/)) {
148
+ return 2;
149
+ }
150
+ else if (num.match(/molti/)) {
151
+ return 7;
152
+ }
153
+ return parseFloat(num);
154
+ }
155
+ export const ORDINAL_NUMBER_PATTERN = `(?:${matchAnyPattern(ORDINAL_WORD_DICTIONARY)}|[0-9]{1,2}(?:mo|ndo|rzo|simo|esimo)?)`;
156
+ export function parseOrdinalNumberPattern(match) {
157
+ let num = match.toLowerCase();
158
+ if (ORDINAL_WORD_DICTIONARY[num] !== undefined) {
159
+ return ORDINAL_WORD_DICTIONARY[num];
160
+ }
161
+ num = num.replace(/(?:imo|ndo|rzo|rto|nto|sto|tavo|nono|cimo|timo|esimo)$/i, "");
162
+ return parseInt(num);
163
+ }
164
+ export const YEAR_PATTERN = `(?:[1-9][0-9]{0,3}\\s{0,2}(?:BE|AD|BC|BCE|CE)|[1-2][0-9]{3}|[5-9][0-9])`;
165
+ export function parseYear(match) {
166
+ if (/BE/i.test(match)) {
167
+ match = match.replace(/BE/i, "");
168
+ return parseInt(match) - 543;
169
+ }
170
+ if (/BCE?/i.test(match)) {
171
+ match = match.replace(/BCE?/i, "");
172
+ return -parseInt(match);
173
+ }
174
+ if (/(AD|CE)/i.test(match)) {
175
+ match = match.replace(/(AD|CE)/i, "");
176
+ return parseInt(match);
177
+ }
178
+ const rawYearNumber = parseInt(match);
179
+ return findMostLikelyADYear(rawYearNumber);
180
+ }
181
+ const SINGLE_TIME_UNIT_PATTERN = `(${NUMBER_PATTERN})\\s{0,3}(${matchAnyPattern(TIME_UNIT_DICTIONARY)})`;
182
+ const SINGLE_TIME_UNIT_REGEX = new RegExp(SINGLE_TIME_UNIT_PATTERN, "i");
183
+ export const TIME_UNITS_PATTERN = repeatedTimeunitPattern(`(?:(?:about|around)\\s{0,3})?`, SINGLE_TIME_UNIT_PATTERN);
184
+ export function parseTimeUnits(timeunitText) {
185
+ const fragments = {};
186
+ let remainingText = timeunitText;
187
+ let match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
188
+ while (match) {
189
+ collectDateTimeFragment(fragments, match);
190
+ remainingText = remainingText.substring(match[0].length).trim();
191
+ match = SINGLE_TIME_UNIT_REGEX.exec(remainingText);
192
+ }
193
+ return fragments;
194
+ }
195
+ function collectDateTimeFragment(fragments, match) {
196
+ const num = parseNumberPattern(match[1]);
197
+ const unit = TIME_UNIT_DICTIONARY[match[2].toLowerCase()];
198
+ fragments[unit] = num;
199
+ }
200
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/locales/it/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ParsedResult, ParsingOption } from "../../index.js";
2
+ import { Chrono, Configuration } from "../../chrono.js";
3
+ export declare const casual: Chrono;
4
+ export declare const strict: Chrono;
5
+ export declare const GB: Chrono;
6
+ export declare function parse(text: string, ref?: Date, option?: ParsingOption): ParsedResult[];
7
+ export declare function parseDate(text: string, ref?: Date, option?: ParsingOption): Date;
8
+ export declare function createCasualConfiguration(littleEndian?: boolean): Configuration;
9
+ export declare function createConfiguration(strictMode?: boolean, littleEndian?: boolean): Configuration;
@@ -0,0 +1,56 @@
1
+ import ENTimeUnitWithinFormatParser from "./parsers/ITTimeUnitWithinFormatParser.js";
2
+ import ENMonthNameLittleEndianParser from "./parsers/ITMonthNameLittleEndianParser.js";
3
+ import ENMonthNameMiddleEndianParser from "./parsers/ITMonthNameMiddleEndianParser.js";
4
+ import ENMonthNameParser from "./parsers/ITMonthNameParser.js";
5
+ import ENCasualYearMonthDayParser from "./parsers/ITCasualYearMonthDayParser.js";
6
+ import ENSlashMonthFormatParser from "./parsers/ITSlashMonthFormatParser.js";
7
+ import ENTimeExpressionParser from "./parsers/ITTimeExpressionParser.js";
8
+ import ENTimeUnitAgoFormatParser from "./parsers/ITTimeUnitAgoFormatParser.js";
9
+ import ENTimeUnitLaterFormatParser from "./parsers/ITTimeUnitLaterFormatParser.js";
10
+ import ENMergeDateRangeRefiner from "./refiners/ITMergeDateRangeRefiner.js";
11
+ import ENMergeDateTimeRefiner from "./refiners/ITMergeDateTimeRefiner.js";
12
+ import { includeCommonConfiguration } from "../../configurations.js";
13
+ import ENCasualDateParser from "./parsers/ITCasualDateParser.js";
14
+ import ENCasualTimeParser from "./parsers/ITCasualTimeParser.js";
15
+ import ENWeekdayParser from "./parsers/ITWeekdayParser.js";
16
+ import ENRelativeDateFormatParser from "./parsers/ITRelativeDateFormatParser.js";
17
+ import { Chrono } from "../../chrono.js";
18
+ import SlashDateFormatParser from "../../common/parsers/SlashDateFormatParser.js";
19
+ import ENTimeUnitCasualRelativeFormatParser from "./parsers/ITTimeUnitCasualRelativeFormatParser.js";
20
+ import ENMergeRelativeDateRefiner from "./refiners/ITMergeRelativeDateRefiner.js";
21
+ export const casual = new Chrono(createCasualConfiguration(false));
22
+ export const strict = new Chrono(createConfiguration(true, false));
23
+ export const GB = new Chrono(createConfiguration(false, true));
24
+ export function parse(text, ref, option) {
25
+ return casual.parse(text, ref, option);
26
+ }
27
+ export function parseDate(text, ref, option) {
28
+ return casual.parseDate(text, ref, option);
29
+ }
30
+ export function createCasualConfiguration(littleEndian = false) {
31
+ const option = createConfiguration(false, littleEndian);
32
+ option.parsers.unshift(new ENCasualDateParser());
33
+ option.parsers.unshift(new ENCasualTimeParser());
34
+ option.parsers.unshift(new ENMonthNameParser());
35
+ option.parsers.unshift(new ENRelativeDateFormatParser());
36
+ option.parsers.unshift(new ENTimeUnitCasualRelativeFormatParser());
37
+ return option;
38
+ }
39
+ export function createConfiguration(strictMode = true, littleEndian = false) {
40
+ return includeCommonConfiguration({
41
+ parsers: [
42
+ new SlashDateFormatParser(littleEndian),
43
+ new ENTimeUnitWithinFormatParser(),
44
+ new ENMonthNameLittleEndianParser(),
45
+ new ENMonthNameMiddleEndianParser(),
46
+ new ENWeekdayParser(),
47
+ new ENCasualYearMonthDayParser(),
48
+ new ENSlashMonthFormatParser(),
49
+ new ENTimeExpressionParser(strictMode),
50
+ new ENTimeUnitAgoFormatParser(strictMode),
51
+ new ENTimeUnitLaterFormatParser(strictMode),
52
+ ],
53
+ refiners: [new ENMergeRelativeDateRefiner(), new ENMergeDateTimeRefiner(), new ENMergeDateRangeRefiner()],
54
+ }, strictMode);
55
+ }
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/locales/it/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ParsingContext } from "../../../chrono.js";
2
+ import { ParsingComponents, ParsingResult } from "../../../results.js";
3
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
4
+ export default class ENCasualDateParser extends AbstractParserWithWordBoundaryChecking {
5
+ innerPattern(context: ParsingContext): RegExp;
6
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingComponents | ParsingResult;
7
+ }
@@ -0,0 +1,40 @@
1
+ import dayjs from "dayjs";
2
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
3
+ import { assignSimilarDate } from "../../../utils/dayjs.js";
4
+ import * as references from "../../../common/casualReferences.js";
5
+ const PATTERN = /(ora|oggi|stasera|questa sera|domani|dmn|ieri\s*sera)(?=\W|$)/i;
6
+ export default class ENCasualDateParser extends AbstractParserWithWordBoundaryChecking {
7
+ innerPattern(context) {
8
+ return PATTERN;
9
+ }
10
+ innerExtract(context, match) {
11
+ let targetDate = dayjs(context.refDate);
12
+ const lowerText = match[0].toLowerCase();
13
+ const component = context.createParsingComponents();
14
+ switch (lowerText) {
15
+ case "ora":
16
+ return references.now(context.reference);
17
+ case "oggi":
18
+ return references.today(context.reference);
19
+ case "ieri":
20
+ return references.yesterday(context.reference);
21
+ case "domani":
22
+ case "dmn":
23
+ return references.tomorrow(context.reference);
24
+ case "stasera":
25
+ case "questa sera":
26
+ return references.tonight(context.reference);
27
+ default:
28
+ if (lowerText.match(/ieri\s*sera/)) {
29
+ if (targetDate.hour() > 6) {
30
+ targetDate = targetDate.add(-1, "day");
31
+ }
32
+ assignSimilarDate(component, targetDate);
33
+ component.imply("hour", 0);
34
+ }
35
+ break;
36
+ }
37
+ return component;
38
+ }
39
+ }
40
+ //# sourceMappingURL=ITCasualDateParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITCasualDateParser.js","sourceRoot":"","sources":["../../../../../src/locales/it/parsers/ITCasualDateParser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,kCAAkC,CAAC;AAE/D,MAAM,OAAO,GAAG,gEAAgE,CAAC;AAEjF,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,sCAAsC;IAClF,YAAY,CAAC,OAAuB;QAChC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAEpD,QAAQ,SAAS,EAAE;YACf,KAAK,KAAK;gBACN,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE7C,KAAK,MAAM;gBACP,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE/C,KAAK,MAAM;gBACP,OAAO,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEnD,KAAK,QAAQ,CAAC;YACd,KAAK,KAAK;gBACN,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAElD,KAAK,SAAS,CAAC;YACf,KAAK,aAAa;gBACd,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEjD;gBACI,IAAI,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;oBAChC,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;wBACvB,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;qBAC1C;oBAED,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBACzC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAED,MAAM;SACb;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ import { ParsingContext } from "../../../chrono.js";
2
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
3
+ export default class ENCasualTimeParser extends AbstractParserWithWordBoundaryChecking {
4
+ innerPattern(): RegExp;
5
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../../../results.js").ParsingComponents;
6
+ }
@@ -0,0 +1,41 @@
1
+ import { Meridiem } from "../../../index.js";
2
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
3
+ import dayjs from "dayjs";
4
+ import { assignTheNextDay } from "../../../utils/dayjs.js";
5
+ const PATTERN = /(?:questo|questa)?\s{0,3}(mattina|pomeriggio|sera|notte|mezzanotte|mezzogiorno)(?=\W|$)/i;
6
+ export default class ENCasualTimeParser extends AbstractParserWithWordBoundaryChecking {
7
+ innerPattern() {
8
+ return PATTERN;
9
+ }
10
+ innerExtract(context, match) {
11
+ const targetDate = dayjs(context.refDate);
12
+ const component = context.createParsingComponents();
13
+ switch (match[1].toLowerCase()) {
14
+ case "pomeriggio":
15
+ component.imply("meridiem", Meridiem.PM);
16
+ component.imply("hour", 15);
17
+ break;
18
+ case "sera":
19
+ case "notte":
20
+ component.imply("meridiem", Meridiem.PM);
21
+ component.imply("hour", 20);
22
+ break;
23
+ case "mezzanotte":
24
+ assignTheNextDay(component, targetDate);
25
+ component.imply("hour", 0);
26
+ component.imply("minute", 0);
27
+ component.imply("second", 0);
28
+ break;
29
+ case "mattina":
30
+ component.imply("meridiem", Meridiem.AM);
31
+ component.imply("hour", 6);
32
+ break;
33
+ case "mezzogiorno":
34
+ component.imply("meridiem", Meridiem.AM);
35
+ component.imply("hour", 12);
36
+ break;
37
+ }
38
+ return component;
39
+ }
40
+ }
41
+ //# sourceMappingURL=ITCasualTimeParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITCasualTimeParser.js","sourceRoot":"","sources":["../../../../../src/locales/it/parsers/ITCasualTimeParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAChH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,OAAO,GAAG,0FAA0F,CAAC;AAE3G,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,sCAAsC;IAClF,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAEpD,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;YAC5B,KAAK,YAAY;gBACb,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC5B,MAAM;YAEV,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO;gBACR,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC5B,MAAM;YAEV,KAAK,YAAY;gBACb,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACxC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC3B,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC7B,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC7B,MAAM;YAEV,KAAK,SAAS;gBACV,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC3B,MAAM;YAEV,KAAK,aAAa;gBACd,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC5B,MAAM;SACb;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
@@ -0,0 +1,10 @@
1
+ import { ParsingContext } from "../../../chrono.js";
2
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
3
+ export default class ENCasualYearMonthDayParser extends AbstractParserWithWordBoundaryChecking {
4
+ innerPattern(): RegExp;
5
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): {
6
+ day: number;
7
+ month: number;
8
+ year: number;
9
+ };
10
+ }
@@ -0,0 +1,32 @@
1
+ import { MONTH_DICTIONARY } from "../constants.js";
2
+ import { matchAnyPattern } from "../../../utils/pattern.js";
3
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
4
+ const PATTERN = new RegExp(`([0-9]{4})[\\.\\/\\s]` +
5
+ `(?:(${matchAnyPattern(MONTH_DICTIONARY)})|([0-9]{1,2}))[\\.\\/\\s]` +
6
+ `([0-9]{1,2})` +
7
+ "(?=\\W|$)", "i");
8
+ const YEAR_NUMBER_GROUP = 1;
9
+ const MONTH_NAME_GROUP = 2;
10
+ const MONTH_NUMBER_GROUP = 3;
11
+ const DATE_NUMBER_GROUP = 4;
12
+ export default class ENCasualYearMonthDayParser extends AbstractParserWithWordBoundaryChecking {
13
+ innerPattern() {
14
+ return PATTERN;
15
+ }
16
+ innerExtract(context, match) {
17
+ const month = match[MONTH_NUMBER_GROUP]
18
+ ? parseInt(match[MONTH_NUMBER_GROUP])
19
+ : MONTH_DICTIONARY[match[MONTH_NAME_GROUP].toLowerCase()];
20
+ if (month < 1 || month > 12) {
21
+ return null;
22
+ }
23
+ const year = parseInt(match[YEAR_NUMBER_GROUP]);
24
+ const day = parseInt(match[DATE_NUMBER_GROUP]);
25
+ return {
26
+ day: day,
27
+ month: month,
28
+ year: year,
29
+ };
30
+ }
31
+ }
32
+ //# sourceMappingURL=ITCasualYearMonthDayParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITCasualYearMonthDayParser.js","sourceRoot":"","sources":["../../../../../src/locales/it/parsers/ITCasualYearMonthDayParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAShH,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,uBAAuB;IACnB,OAAO,eAAe,CAAC,gBAAgB,CAAC,4BAA4B;IACpE,cAAc;IACd,WAAW,EACf,GAAG,CACN,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,sCAAsC;IAC1F,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC;YACnC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACrC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAE9D,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC;SACf;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE/C,OAAO;YACH,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;SACb,CAAC;IACN,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { ParsingContext } from "../../../chrono.js";
2
+ import { ParsingResult } from "../../../results.js";
3
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
4
+ export default class ENMonthNameLittleEndianParser extends AbstractParserWithWordBoundaryChecking {
5
+ innerPattern(): RegExp;
6
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): ParsingResult;
7
+ }
@@ -0,0 +1,54 @@
1
+ import { findYearClosestToRef } from "../../../calculation/years.js";
2
+ import { MONTH_DICTIONARY } from "../constants.js";
3
+ import { YEAR_PATTERN, parseYear } from "../constants.js";
4
+ import { ORDINAL_NUMBER_PATTERN, parseOrdinalNumberPattern } from "../constants.js";
5
+ import { matchAnyPattern } from "../../../utils/pattern.js";
6
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
7
+ const PATTERN = new RegExp(`(?:on\\s{0,3})?` +
8
+ `(${ORDINAL_NUMBER_PATTERN})` +
9
+ `(?:` +
10
+ `\\s{0,3}(?:al|\\-|\\–|fino|alle|allo)?\\s{0,3}` +
11
+ `(${ORDINAL_NUMBER_PATTERN})` +
12
+ ")?" +
13
+ `(?:-|/|\\s{0,3}(?:dal)?\\s{0,3})` +
14
+ `(${matchAnyPattern(MONTH_DICTIONARY)})` +
15
+ "(?:" +
16
+ `(?:-|/|,?\\s{0,3})` +
17
+ `(${YEAR_PATTERN}(?![^\\s]\\d))` +
18
+ ")?" +
19
+ "(?=\\W|$)", "i");
20
+ const DATE_GROUP = 1;
21
+ const DATE_TO_GROUP = 2;
22
+ const MONTH_NAME_GROUP = 3;
23
+ const YEAR_GROUP = 4;
24
+ export default class ENMonthNameLittleEndianParser extends AbstractParserWithWordBoundaryChecking {
25
+ innerPattern() {
26
+ return PATTERN;
27
+ }
28
+ innerExtract(context, match) {
29
+ const result = context.createParsingResult(match.index, match[0]);
30
+ const month = MONTH_DICTIONARY[match[MONTH_NAME_GROUP].toLowerCase()];
31
+ const day = parseOrdinalNumberPattern(match[DATE_GROUP]);
32
+ if (day > 31) {
33
+ match.index = match.index + match[DATE_GROUP].length;
34
+ return null;
35
+ }
36
+ result.start.assign("month", month);
37
+ result.start.assign("day", day);
38
+ if (match[YEAR_GROUP]) {
39
+ const yearNumber = parseYear(match[YEAR_GROUP]);
40
+ result.start.assign("year", yearNumber);
41
+ }
42
+ else {
43
+ const year = findYearClosestToRef(context.refDate, day, month);
44
+ result.start.imply("year", year);
45
+ }
46
+ if (match[DATE_TO_GROUP]) {
47
+ const endDate = parseOrdinalNumberPattern(match[DATE_TO_GROUP]);
48
+ result.end = result.start.clone();
49
+ result.end.assign("day", endDate);
50
+ }
51
+ return result;
52
+ }
53
+ }
54
+ //# sourceMappingURL=ITMonthNameLittleEndianParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITMonthNameLittleEndianParser.js","sourceRoot":"","sources":["../../../../../src/locales/it/parsers/ITMonthNameLittleEndianParser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,wDAAwD,CAAC;AAGhH,MAAM,OAAO,GAAG,IAAI,MAAM,CACtB,iBAAiB;IACb,IAAI,sBAAsB,GAAG;IAC7B,KAAK;IACD,gDAAgD;IAChD,IAAI,sBAAsB,GAAG;IACjC,IAAI;IACJ,kCAAkC;IAClC,IAAI,eAAe,CAAC,gBAAgB,CAAC,GAAG;IACxC,KAAK;IACD,oBAAoB;IACpB,IAAI,YAAY,gBAAgB;IACpC,IAAI;IACJ,WAAW,EACf,GAAG,CACN,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,sCAAsC;IAC7F,YAAY;QACR,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,OAAuB,EAAE,KAAuB;QACzD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,yBAAyB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,GAAG,EAAE,EAAE;YAEV,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YACrD,OAAO,IAAI,CAAC;SACf;QAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;YACnB,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SAC3C;aAAM;YACH,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACpC;QAED,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;YACtB,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;YAEhE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACrC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ import { ParsingContext } from "../../../chrono.js";
2
+ import { AbstractParserWithWordBoundaryChecking } from "../../../common/parsers/AbstractParserWithWordBoundary.js";
3
+ export default class ENMonthNameMiddleEndianParser extends AbstractParserWithWordBoundaryChecking {
4
+ innerPattern(): RegExp;
5
+ innerExtract(context: ParsingContext, match: RegExpMatchArray): import("../../en/index.js").ParsingComponents | import("../../en/index.js").ParsingResult;
6
+ }