hvp-shared 13.8.0 → 13.8.1
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.
|
@@ -407,7 +407,7 @@ exports.SCHEDULER_REGEX = /\b(?:AG[.:]?|AGE[.:]|AGEND[OÓ][.:]?|AGENG[OÓ]|AGED[
|
|
|
407
407
|
* "AGENDADA POR SLR 02/12/25" → groups: SLR, "02/12/25"
|
|
408
408
|
* "AGENDADO POR SLR" → groups: SLR, undefined
|
|
409
409
|
*/
|
|
410
|
-
exports.SCHEDULER_WITH_DATE_REGEX = /\b(?:AG[.:]?|AGE[.:]|AGEND[OÓ][.:]?|AGENG[OÓ]|AGED[OÓ]|AGENDAD[OA](?:\s+POR)?)\s+([A-Z]{2,4})(?:\s+(\d{1,2}[./\-]\d{1,2}(?:[./\-]\d{2,4})?|\d{1,2}\s+(?:ENE|FEB|MAR|ABR|MAY|JUN|JUL|AGO|SEP|OCT|NOV|DIC|ENERO|FEBRERO|MARZO|ABRIL|MAYO|JUNIO|JULIO|AGOSTO|SEPTIEMBRE|OCTUBRE|NOVIEMBRE|DICIEMBRE)))?\b/i;
|
|
410
|
+
exports.SCHEDULER_WITH_DATE_REGEX = /\b(?:AG[.:]?|AGE[.:]|AGEND[OÓ][.:]?|AGENG[OÓ]|AGED[OÓ]|AGENDAD[OA](?:\s+POR)?)\s+([A-Z]{2,4})(?:\s+(?:el\s+|del\s+)?(\d{1,2}[./\-]\d{1,2}(?:[./\-]\d{2,4})?|\d{1,2}[./\-](?:ENE|FEB|MAR|ABR|MAY|JUN|JUL|AGO|SEP|OCT|NOV|DIC|ENERO|FEBRERO|MARZO|ABRIL|MAYO|JUNIO|JULIO|AGOSTO|SEPTIEMBRE|OCTUBRE|NOVIEMBRE|DICIEMBRE)(?:[./\-]\d{2,4})?|\d{1,2}\s+(?:ENE|FEB|MAR|ABR|MAY|JUN|JUL|AGO|SEP|OCT|NOV|DIC|ENERO|FEBRERO|MARZO|ABRIL|MAYO|JUNIO|JULIO|AGOSTO|SEPTIEMBRE|OCTUBRE|NOVIEMBRE|DICIEMBRE)))?\b/i;
|
|
411
411
|
/**
|
|
412
412
|
* Fallback pattern for when recepción writes just a date followed by a
|
|
413
413
|
* col_code, no `AGENDO/AG` prefix. Examples observed in production:
|
|
@@ -423,7 +423,7 @@ exports.SCHEDULER_WITH_DATE_REGEX = /\b(?:AG[.:]?|AGE[.:]|AGEND[OÓ][.:]?|AGENG[
|
|
|
423
423
|
* annotation. Prevents false positives by requiring an immediately-adjacent
|
|
424
424
|
* date.
|
|
425
425
|
*/
|
|
426
|
-
exports.SCHEDULER_DATE_FALLBACK_REGEX = /\b(\d{1,2}[./\-]\d{1,2}(?:[./\-]\d{2,4})?)\s+([A-Z]{2,4})\b/i;
|
|
426
|
+
exports.SCHEDULER_DATE_FALLBACK_REGEX = /\b(\d{1,2}[./\-]\d{1,2}(?:[./\-]\d{2,4})?|\d{1,2}[./\-](?:ENE|FEB|MAR|ABR|MAY|JUN|JUL|AGO|SEP|OCT|NOV|DIC|ENERO|FEBRERO|MARZO|ABRIL|MAYO|JUNIO|JULIO|AGOSTO|SEPTIEMBRE|OCTUBRE|NOVIEMBRE|DICIEMBRE)(?:[./\-]\d{2,4})?)\s+([A-Z]{2,4})\b/i;
|
|
427
427
|
// ─── Pet age detection ───────────────────────────────────────────────────────
|
|
428
428
|
/**
|
|
429
429
|
* Captures pet age expressions in Spanish from descriptions.
|
|
@@ -150,6 +150,8 @@ describe("Description regexes", () => {
|
|
|
150
150
|
["18.11.25 MGC", "18.11.25", "MGC"],
|
|
151
151
|
["04/05/2026 FJV", "04/05/2026", "FJV"],
|
|
152
152
|
["27-11-25 RGL", "27-11-25", "RGL"],
|
|
153
|
+
// 13.8.1 — slash-separated date with month abbreviation
|
|
154
|
+
["07/may/2026 FJV", "07/may/2026", "FJV"],
|
|
153
155
|
];
|
|
154
156
|
for (const [text, dateExp, codeExp] of cases) {
|
|
155
157
|
const match = text.match(google_calendar_constants_1.SCHEDULER_DATE_FALLBACK_REGEX);
|
|
@@ -157,6 +159,22 @@ describe("Description regexes", () => {
|
|
|
157
159
|
expect(match?.[2]?.toUpperCase()).toBe(codeExp);
|
|
158
160
|
}
|
|
159
161
|
});
|
|
162
|
+
it("SCHEDULER_WITH_DATE_REGEX captures dates with intervening preposition and slash-month formats", () => {
|
|
163
|
+
const cases = [
|
|
164
|
+
["AGENDÓ JGG el 05/05/2026", "JGG", "05/05/2026"],
|
|
165
|
+
["AGENDADO POR JGG el 07/may/2026", "JGG", "07/may/2026"],
|
|
166
|
+
["agendo jgg el 14 mayo", "JGG", "14 MAYO"],
|
|
167
|
+
["AGENDO YMP del 16/05/2026", "YMP", "16/05/2026"],
|
|
168
|
+
["Agendó JGG el 05/05/2026 igual bueno", "JGG", "05/05/2026"],
|
|
169
|
+
];
|
|
170
|
+
for (const [text, codeExp, dateExp] of cases) {
|
|
171
|
+
const match = text.match(google_calendar_constants_1.SCHEDULER_WITH_DATE_REGEX);
|
|
172
|
+
expect(match?.[1]?.toUpperCase()).toBe(codeExp);
|
|
173
|
+
if (dateExp) {
|
|
174
|
+
expect(match?.[2]?.toUpperCase()).toBe(dateExp.toUpperCase());
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
});
|
|
160
178
|
it("SCHEDULER_WITH_DATE_REGEX captures both col_code and date annotation", () => {
|
|
161
179
|
const cases = [
|
|
162
180
|
["AGENDO XZA 16 MAYO", "XZA", "16 MAYO"],
|