@design-edito/tools 0.1.46 → 0.1.48

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. package/agnostic/arrays/random-pick/index.js +6 -6
  2. package/agnostic/css/index.js +9 -9
  3. package/agnostic/errors/index.js +2 -2
  4. package/agnostic/html/hyper-json/cast/index.js +5 -5
  5. package/agnostic/html/hyper-json/index.js +6 -6
  6. package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +5 -5
  7. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +5 -5
  8. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +5 -5
  9. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +5 -5
  10. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +5 -5
  11. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +5 -5
  12. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +5 -5
  13. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +5 -5
  14. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +5 -5
  15. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +5 -5
  16. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +5 -5
  17. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +5 -5
  18. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +5 -5
  19. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +5 -5
  20. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +5 -5
  21. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +5 -5
  22. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +5 -5
  23. package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +5 -5
  24. package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +5 -5
  25. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +5 -5
  26. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +5 -5
  27. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +5 -5
  28. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +5 -5
  29. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +5 -5
  30. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +5 -5
  31. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +5 -5
  32. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +5 -5
  33. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +5 -5
  34. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +5 -5
  35. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +5 -5
  36. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +5 -5
  37. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +5 -5
  38. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +5 -5
  39. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +5 -5
  40. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +5 -5
  41. package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +5 -5
  42. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +5 -5
  43. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +5 -5
  44. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +5 -5
  45. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +5 -5
  46. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +5 -5
  47. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +5 -5
  48. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +5 -5
  49. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +5 -5
  50. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +5 -5
  51. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +5 -5
  52. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +5 -5
  53. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +5 -5
  54. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +5 -5
  55. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +5 -5
  56. package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +5 -5
  57. package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +5 -5
  58. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +5 -5
  59. package/agnostic/html/hyper-json/smart-tags/isolated/global/index.js +5 -5
  60. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +5 -5
  61. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +5 -5
  62. package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +5 -5
  63. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +5 -5
  64. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +5 -5
  65. package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +5 -5
  66. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +5 -5
  67. package/agnostic/html/hyper-json/tree/index.js +5 -5
  68. package/agnostic/html/hyper-json/utils/index.js +5 -5
  69. package/agnostic/html/index.js +21 -21
  70. package/agnostic/html/sanitize/index.js +6 -6
  71. package/agnostic/html/selector-to-element/index.js +6 -6
  72. package/agnostic/html/string-to-nodes/index.js +7 -7
  73. package/agnostic/misc/assert/index.js +3 -3
  74. package/agnostic/misc/crossenv/index.js +2 -2
  75. package/agnostic/misc/index.js +23 -23
  76. package/agnostic/misc/lorem-ipsum/index.js +9 -9
  77. package/agnostic/numbers/index.js +3 -3
  78. package/agnostic/objects/index.js +11 -11
  79. package/agnostic/strings/index.js +8 -8
  80. package/agnostic/time/dates/format-date/index.d.ts +1 -0
  81. package/agnostic/time/dates/format-date/index.js +6 -0
  82. package/agnostic/time/dates/index.d.ts +4 -0
  83. package/agnostic/time/dates/index.js +7 -0
  84. package/agnostic/time/index.d.ts +2 -0
  85. package/agnostic/time/index.js +8 -3
  86. package/chunks/chunk-3OMANUYH.js +211 -0
  87. package/chunks/chunk-44XPTCIO.js +49 -0
  88. package/chunks/chunk-6FRKSLBC.js +2369 -0
  89. package/chunks/chunk-DZME4OQW.js +2369 -0
  90. package/chunks/chunk-FZOU4OAW.js +13 -0
  91. package/chunks/chunk-IMR3ZNXR.js +211 -0
  92. package/chunks/chunk-JKWNIKHN.js +37 -0
  93. package/chunks/chunk-KQZK54ZT.js +2369 -0
  94. package/chunks/chunk-M737IMZM.js +37 -0
  95. package/chunks/chunk-OAQG5VAW.js +211 -0
  96. package/chunks/chunk-SFYYQPAK.js +37 -0
  97. package/chunks/chunk-YQWZ3EP2.js +60 -0
  98. package/chunks/chunk-ZGYU6F7Q.js +13 -0
  99. package/node/files/index.js +3 -3
  100. package/package.json +1 -1
@@ -0,0 +1,49 @@
1
+ // src/agnostic/time/dates/format-date/index.ts
2
+ function formatDate(date, format, locale = "en") {
3
+ try {
4
+ new Intl.DateTimeFormat(locale);
5
+ } catch {
6
+ locale = "en";
7
+ }
8
+ const day = date.getDate();
9
+ const dayOfWeek = date.getDay();
10
+ const month = date.getMonth();
11
+ const year = date.getFullYear();
12
+ const hours = date.getHours();
13
+ const minutes = date.getMinutes();
14
+ const seconds = date.getSeconds();
15
+ const isPM = hours >= 12;
16
+ const shortDateNames = [...Array(7)].map((_, i) => new Intl.DateTimeFormat(locale, { weekday: "short" }).format(new Date(2023, 0, i + 1)));
17
+ const dateNames = [...Array(7)].map((_, i) => new Intl.DateTimeFormat(locale, { weekday: "long" }).format(new Date(2023, 0, i + 1)));
18
+ const shortMonthNames = [...Array(12)].map((_, i) => new Intl.DateTimeFormat(locale, { month: "short" }).format(new Date(2023, i, 1)));
19
+ const monthNames = [...Array(12)].map((_, i) => new Intl.DateTimeFormat(locale, { month: "long" }).format(new Date(2023, i, 1)));
20
+ const replacements = {
21
+ "DD": () => String(day).padStart(2, "0"),
22
+ "D": () => String(day),
23
+ "dd": () => dateNames[dayOfWeek],
24
+ "d": () => shortDateNames[dayOfWeek],
25
+ "MM": () => String(month + 1).padStart(2, "0"),
26
+ "M": () => String(month + 1),
27
+ "MMMM": () => monthNames[month],
28
+ "MMM": () => shortMonthNames[month],
29
+ "YYYY": () => String(year),
30
+ "YY": () => String(year).slice(-2),
31
+ "hh": () => String(hours % 12 || 12).padStart(2, "0"),
32
+ "h": () => String(hours % 12 || 12),
33
+ "HH": () => String(hours).padStart(2, "0"),
34
+ "H": () => String(hours),
35
+ "mm": () => String(minutes).padStart(2, "0"),
36
+ "m": () => String(minutes),
37
+ "ss": () => String(seconds).padStart(2, "0"),
38
+ "s": () => String(seconds),
39
+ "A": () => isPM ? "PM" : "AM",
40
+ "a": () => isPM ? "pm" : "am"
41
+ };
42
+ return format.replace(/{{(DD|D|dd|d|MM|M|MMMM|MMM|YYYY|YY|HH|H|hh|h|mm|m|ss|s|A|a)}}/g, (match, token) => {
43
+ return replacements[token]?.() || match;
44
+ });
45
+ }
46
+
47
+ export {
48
+ formatDate
49
+ };