@greatapps/common 1.1.611 → 1.1.613

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.
@@ -1,24 +1,18 @@
1
1
  import z from "zod";
2
2
  function parseCalendarDate(val) {
3
3
  if (val == null) return val;
4
- if (val instanceof Date) return val;
4
+ if (val instanceof Date) {
5
+ return new Date(val.getUTCFullYear(), val.getUTCMonth(), val.getUTCDate());
6
+ }
5
7
  if (typeof val === "string") {
6
- const dateOnly = val.match(/^(\d{4})-(\d{2})-(\d{2})$/);
7
- if (dateOnly) {
8
- return new Date(Number(dateOnly[1]), Number(dateOnly[2]) - 1, Number(dateOnly[3]));
8
+ const match = val.match(/^(\d{4})-(\d{2})-(\d{2})/);
9
+ if (match) {
10
+ return new Date(Number(match[1]), Number(match[2]) - 1, Number(match[3]));
9
11
  }
10
- const noTz = val.match(/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2}))?$/);
11
- if (noTz) {
12
- return new Date(
13
- Number(noTz[1]),
14
- Number(noTz[2]) - 1,
15
- Number(noTz[3]),
16
- Number(noTz[4]),
17
- Number(noTz[5]),
18
- Number(noTz[6] ?? 0)
19
- );
12
+ const fallback = new Date(val);
13
+ if (!Number.isNaN(fallback.getTime())) {
14
+ return new Date(fallback.getUTCFullYear(), fallback.getUTCMonth(), fallback.getUTCDate());
20
15
  }
21
- return new Date(val);
22
16
  }
23
17
  return val;
24
18
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/infra/utils/date.ts"],"sourcesContent":["import z from 'zod';\n\nfunction parseCalendarDate(val: unknown): Date | unknown {\n if (val == null) return val;\n if (val instanceof Date) return val;\n if (typeof val === 'string') {\n const dateOnly = val.match(/^(\\d{4})-(\\d{2})-(\\d{2})$/);\n if (dateOnly) {\n return new Date(Number(dateOnly[1]), Number(dateOnly[2]) - 1, Number(dateOnly[3]));\n }\n const noTz = val.match(/^(\\d{4})-(\\d{2})-(\\d{2})[T ](\\d{2}):(\\d{2})(?::(\\d{2}))?$/);\n if (noTz) {\n return new Date(\n Number(noTz[1]),\n Number(noTz[2]) - 1,\n Number(noTz[3]),\n Number(noTz[4]),\n Number(noTz[5]),\n Number(noTz[6] ?? 0)\n );\n }\n return new Date(val);\n }\n return val;\n}\n\nexport const calendarDateSchema = () => z.preprocess(parseCalendarDate, z.date());\n\nexport function toCalendarDate(date: Date | string | null | undefined): Date | null {\n if (!date) return null;\n const parsed = parseCalendarDate(date);\n return parsed instanceof Date ? parsed : null;\n}\n\nexport function formatShortDate(date: Date | string | null | undefined): string {\n if (!date) return '--';\n const d = toCalendarDate(date) ?? new Date(date);\n const day = String(d.getDate()).padStart(2, '0');\n const month = String(d.getMonth() + 1).padStart(2, '0');\n if (d.getFullYear() !== new Date().getFullYear()) {\n return `${day}/${month}/${d.getFullYear()}`;\n }\n return `${day}/${month}`;\n}\n\nexport function formatDateTime(date: Date | string | null | undefined): string | null {\n if (!date) return null;\n return new Date(date).toLocaleString('pt-BR', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n });\n}\n"],"mappings":"AAAA,OAAO,OAAO;AAEd,SAAS,kBAAkB,KAA8B;AACvD,MAAI,OAAO,KAAM,QAAO;AACxB,MAAI,eAAe,KAAM,QAAO;AAChC,MAAI,OAAO,QAAQ,UAAU;AAC3B,UAAM,WAAW,IAAI,MAAM,2BAA2B;AACtD,QAAI,UAAU;AACZ,aAAO,IAAI,KAAK,OAAO,SAAS,CAAC,CAAC,GAAG,OAAO,SAAS,CAAC,CAAC,IAAI,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC;AAAA,IACnF;AACA,UAAM,OAAO,IAAI,MAAM,2DAA2D;AAClF,QAAI,MAAM;AACR,aAAO,IAAI;AAAA,QACT,OAAO,KAAK,CAAC,CAAC;AAAA,QACd,OAAO,KAAK,CAAC,CAAC,IAAI;AAAA,QAClB,OAAO,KAAK,CAAC,CAAC;AAAA,QACd,OAAO,KAAK,CAAC,CAAC;AAAA,QACd,OAAO,KAAK,CAAC,CAAC;AAAA,QACd,OAAO,KAAK,CAAC,KAAK,CAAC;AAAA,MACrB;AAAA,IACF;AACA,WAAO,IAAI,KAAK,GAAG;AAAA,EACrB;AACA,SAAO;AACT;AAEO,MAAM,qBAAqB,MAAM,EAAE,WAAW,mBAAmB,EAAE,KAAK,CAAC;AAEzE,SAAS,eAAe,MAAqD;AAClF,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,SAAS,kBAAkB,IAAI;AACrC,SAAO,kBAAkB,OAAO,SAAS;AAC3C;AAEO,SAAS,gBAAgB,MAAgD;AAC9E,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,IAAI,eAAe,IAAI,KAAK,IAAI,KAAK,IAAI;AAC/C,QAAM,MAAM,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAC/C,QAAM,QAAQ,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,SAAS,GAAG,GAAG;AACtD,MAAI,EAAE,YAAY,OAAM,oBAAI,KAAK,GAAE,YAAY,GAAG;AAChD,WAAO,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,YAAY,CAAC;AAAA,EAC3C;AACA,SAAO,GAAG,GAAG,IAAI,KAAK;AACxB;AAEO,SAAS,eAAe,MAAuD;AACpF,MAAI,CAAC,KAAM,QAAO;AAClB,SAAO,IAAI,KAAK,IAAI,EAAE,eAAe,SAAS;AAAA,IAC5C,KAAK;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../src/infra/utils/date.ts"],"sourcesContent":["import z from 'zod';\n\nfunction parseCalendarDate(val: unknown): Date | unknown {\n if (val == null) return val;\n if (val instanceof Date) {\n return new Date(val.getUTCFullYear(), val.getUTCMonth(), val.getUTCDate());\n }\n if (typeof val === 'string') {\n const match = val.match(/^(\\d{4})-(\\d{2})-(\\d{2})/);\n if (match) {\n return new Date(Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n }\n const fallback = new Date(val);\n if (!Number.isNaN(fallback.getTime())) {\n return new Date(fallback.getUTCFullYear(), fallback.getUTCMonth(), fallback.getUTCDate());\n }\n }\n return val;\n}\n\nexport const calendarDateSchema = () => z.preprocess(parseCalendarDate, z.date());\n\nexport function toCalendarDate(date: Date | string | null | undefined): Date | null {\n if (!date) return null;\n const parsed = parseCalendarDate(date);\n return parsed instanceof Date ? parsed : null;\n}\n\nexport function formatShortDate(date: Date | string | null | undefined): string {\n if (!date) return '--';\n const d = toCalendarDate(date) ?? new Date(date);\n const day = String(d.getDate()).padStart(2, '0');\n const month = String(d.getMonth() + 1).padStart(2, '0');\n if (d.getFullYear() !== new Date().getFullYear()) {\n return `${day}/${month}/${d.getFullYear()}`;\n }\n return `${day}/${month}`;\n}\n\nexport function formatDateTime(date: Date | string | null | undefined): string | null {\n if (!date) return null;\n return new Date(date).toLocaleString('pt-BR', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n });\n}\n"],"mappings":"AAAA,OAAO,OAAO;AAEd,SAAS,kBAAkB,KAA8B;AACvD,MAAI,OAAO,KAAM,QAAO;AACxB,MAAI,eAAe,MAAM;AACvB,WAAO,IAAI,KAAK,IAAI,eAAe,GAAG,IAAI,YAAY,GAAG,IAAI,WAAW,CAAC;AAAA,EAC3E;AACA,MAAI,OAAO,QAAQ,UAAU;AAC3B,UAAM,QAAQ,IAAI,MAAM,0BAA0B;AAClD,QAAI,OAAO;AACT,aAAO,IAAI,KAAK,OAAO,MAAM,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC,IAAI,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC;AAAA,IAC1E;AACA,UAAM,WAAW,IAAI,KAAK,GAAG;AAC7B,QAAI,CAAC,OAAO,MAAM,SAAS,QAAQ,CAAC,GAAG;AACrC,aAAO,IAAI,KAAK,SAAS,eAAe,GAAG,SAAS,YAAY,GAAG,SAAS,WAAW,CAAC;AAAA,IAC1F;AAAA,EACF;AACA,SAAO;AACT;AAEO,MAAM,qBAAqB,MAAM,EAAE,WAAW,mBAAmB,EAAE,KAAK,CAAC;AAEzE,SAAS,eAAe,MAAqD;AAClF,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,SAAS,kBAAkB,IAAI;AACrC,SAAO,kBAAkB,OAAO,SAAS;AAC3C;AAEO,SAAS,gBAAgB,MAAgD;AAC9E,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,IAAI,eAAe,IAAI,KAAK,IAAI,KAAK,IAAI;AAC/C,QAAM,MAAM,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAC/C,QAAM,QAAQ,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,SAAS,GAAG,GAAG;AACtD,MAAI,EAAE,YAAY,OAAM,oBAAI,KAAK,GAAE,YAAY,GAAG;AAChD,WAAO,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,YAAY,CAAC;AAAA,EAC3C;AACA,SAAO,GAAG,GAAG,IAAI,KAAK;AACxB;AAEO,SAAS,eAAe,MAAuD;AACpF,MAAI,CAAC,KAAM,QAAO;AAClB,SAAO,IAAI,KAAK,IAAI,EAAE,eAAe,SAAS;AAAA,IAC5C,KAAK;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,CAAC;AACH;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@greatapps/common",
3
- "version": "1.1.611",
3
+ "version": "1.1.613",
4
4
  "description": "Shared library for GreatApps frontend applications",
5
5
  "main": "./dist/index.mjs",
6
6
  "types": "./src/index.ts",
@@ -2,24 +2,18 @@ import z from 'zod';
2
2
 
3
3
  function parseCalendarDate(val: unknown): Date | unknown {
4
4
  if (val == null) return val;
5
- if (val instanceof Date) return val;
5
+ if (val instanceof Date) {
6
+ return new Date(val.getUTCFullYear(), val.getUTCMonth(), val.getUTCDate());
7
+ }
6
8
  if (typeof val === 'string') {
7
- const dateOnly = val.match(/^(\d{4})-(\d{2})-(\d{2})$/);
8
- if (dateOnly) {
9
- return new Date(Number(dateOnly[1]), Number(dateOnly[2]) - 1, Number(dateOnly[3]));
9
+ const match = val.match(/^(\d{4})-(\d{2})-(\d{2})/);
10
+ if (match) {
11
+ return new Date(Number(match[1]), Number(match[2]) - 1, Number(match[3]));
10
12
  }
11
- const noTz = val.match(/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2}))?$/);
12
- if (noTz) {
13
- return new Date(
14
- Number(noTz[1]),
15
- Number(noTz[2]) - 1,
16
- Number(noTz[3]),
17
- Number(noTz[4]),
18
- Number(noTz[5]),
19
- Number(noTz[6] ?? 0)
20
- );
13
+ const fallback = new Date(val);
14
+ if (!Number.isNaN(fallback.getTime())) {
15
+ return new Date(fallback.getUTCFullYear(), fallback.getUTCMonth(), fallback.getUTCDate());
21
16
  }
22
- return new Date(val);
23
17
  }
24
18
  return val;
25
19
  }