@ezez/utils 1.6.0 → 1.8.0

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 (140) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +2 -0
  3. package/dist/formatDate.d.ts +3 -0
  4. package/dist/formatDate.d.ts.map +1 -0
  5. package/dist/formatDate.js +55 -0
  6. package/dist/formatDate.js.map +1 -0
  7. package/dist/getMultiple.js.map +1 -1
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/isNumericString.js.map +1 -1
  13. package/dist/later.d.ts +9 -0
  14. package/dist/later.d.ts.map +1 -0
  15. package/dist/later.js +13 -0
  16. package/dist/later.js.map +1 -0
  17. package/dist/mapAsync.js.map +1 -1
  18. package/dist/mostFrequent.d.ts.map +1 -1
  19. package/dist/mostFrequent.js.map +1 -1
  20. package/dist/pull.js.map +1 -1
  21. package/dist/remove.js.map +1 -1
  22. package/dist/replace.js.map +1 -1
  23. package/dist/set.js.map +1 -1
  24. package/dist/setImmutable.js.map +1 -1
  25. package/dist/throttle.js.map +1 -1
  26. package/docs/assets/highlight.css +7 -0
  27. package/docs/assets/search.js +1 -1
  28. package/docs/functions/cap.html +9 -6
  29. package/docs/functions/capitalize.html +9 -6
  30. package/docs/functions/coalesce.html +9 -6
  31. package/docs/functions/compareArrays.html +9 -6
  32. package/docs/functions/compareProps.html +9 -6
  33. package/docs/functions/ensureArray.html +9 -6
  34. package/docs/functions/ensureDate.html +9 -6
  35. package/docs/functions/ensureError.html +9 -6
  36. package/docs/functions/ensurePrefix.html +9 -6
  37. package/docs/functions/ensureSuffix.html +9 -6
  38. package/docs/functions/ensureTimestamp.html +9 -6
  39. package/docs/functions/escapeRegExp.html +9 -6
  40. package/docs/functions/formatDate.html +136 -0
  41. package/docs/functions/get.html +9 -6
  42. package/docs/functions/getMultiple.html +9 -6
  43. package/docs/functions/insertSeparator.html +9 -6
  44. package/docs/functions/isEmpty.html +9 -6
  45. package/docs/functions/isNumericString.html +9 -6
  46. package/docs/functions/isPlainObject.html +9 -6
  47. package/docs/functions/last.html +9 -6
  48. package/docs/functions/later-1.html +133 -0
  49. package/docs/functions/mapAsync.html +9 -6
  50. package/docs/functions/mapValues.html +9 -6
  51. package/docs/functions/match.html +9 -6
  52. package/docs/functions/merge.html +17 -14
  53. package/docs/functions/mostFrequent.html +9 -6
  54. package/docs/functions/noop.html +9 -6
  55. package/docs/functions/occurrences.html +9 -6
  56. package/docs/functions/omit.html +9 -6
  57. package/docs/functions/pick.html +9 -6
  58. package/docs/functions/pull.html +9 -6
  59. package/docs/functions/remove.html +9 -6
  60. package/docs/functions/replace.html +9 -6
  61. package/docs/functions/rethrow.html +9 -6
  62. package/docs/functions/safe.html +10 -7
  63. package/docs/functions/scale.html +9 -6
  64. package/docs/functions/seq.html +9 -6
  65. package/docs/functions/seqEarlyBreak.html +9 -6
  66. package/docs/functions/set.html +9 -6
  67. package/docs/functions/setImmutable.html +9 -6
  68. package/docs/functions/sortBy.html +9 -6
  69. package/docs/functions/sortProps.html +9 -6
  70. package/docs/functions/stripPrefix.html +9 -6
  71. package/docs/functions/stripSuffix.html +9 -6
  72. package/docs/functions/throttle.html +9 -6
  73. package/docs/functions/truthy.html +9 -6
  74. package/docs/functions/unique.html +9 -6
  75. package/docs/functions/wait.html +9 -6
  76. package/docs/functions/waitFor.html +9 -6
  77. package/docs/functions/waitSync.html +9 -6
  78. package/docs/index.html +10 -5
  79. package/docs/interfaces/ComparePropsOptions.html +6 -6
  80. package/docs/interfaces/GetMultipleSource.html +9 -6
  81. package/docs/interfaces/GetSource.html +9 -6
  82. package/docs/interfaces/IsNumericStringOptions.html +9 -9
  83. package/docs/interfaces/OccurencesOptions.html +6 -6
  84. package/docs/interfaces/SetImmutableSource.html +9 -6
  85. package/docs/interfaces/SetSource.html +9 -6
  86. package/docs/interfaces/ThrottleOptions.html +7 -7
  87. package/docs/interfaces/ThrottledFunctionExtras.html +7 -7
  88. package/docs/modules.html +11 -5
  89. package/docs/pages/CHANGELOG.html +70 -38
  90. package/docs/pages/Introduction.html +8 -5
  91. package/docs/types/Later.html +159 -0
  92. package/docs/types/MapValuesFn.html +9 -6
  93. package/docs/types/MatchCallback.html +9 -6
  94. package/docs/types/SeqEarlyBreaker.html +9 -6
  95. package/docs/types/SeqFn.html +9 -6
  96. package/docs/types/SeqFunctions.html +9 -6
  97. package/docs/types/SetImmutablePath.html +9 -6
  98. package/docs/types/ThrottledFunction.html +9 -6
  99. package/docs/variables/mapValuesUNSET.html +9 -6
  100. package/docs/variables/mergeUNSET.html +9 -6
  101. package/esm/formatDate.d.ts +3 -0
  102. package/esm/formatDate.d.ts.map +1 -0
  103. package/esm/formatDate.js +52 -0
  104. package/esm/formatDate.js.map +1 -0
  105. package/esm/getMultiple.js.map +1 -1
  106. package/esm/index.d.ts +2 -0
  107. package/esm/index.d.ts.map +1 -1
  108. package/esm/index.js +2 -0
  109. package/esm/index.js.map +1 -1
  110. package/esm/isNumericString.js.map +1 -1
  111. package/esm/later.d.ts +9 -0
  112. package/esm/later.d.ts.map +1 -0
  113. package/esm/later.js +10 -0
  114. package/esm/later.js.map +1 -0
  115. package/esm/mapAsync.js.map +1 -1
  116. package/esm/mostFrequent.d.ts.map +1 -1
  117. package/esm/mostFrequent.js.map +1 -1
  118. package/esm/pull.js.map +1 -1
  119. package/esm/remove.js.map +1 -1
  120. package/esm/replace.js.map +1 -1
  121. package/esm/set.js.map +1 -1
  122. package/esm/setImmutable.js.map +1 -1
  123. package/esm/throttle.js.map +1 -1
  124. package/package.json +9 -8
  125. package/src/formatDate.spec.ts +199 -0
  126. package/src/formatDate.ts +73 -0
  127. package/src/getMultiple.ts +1 -1
  128. package/src/index.ts +2 -0
  129. package/src/isNumericString.ts +1 -1
  130. package/src/later.spec.ts +33 -0
  131. package/src/later.ts +42 -0
  132. package/src/mapAsync.ts +1 -1
  133. package/src/mostFrequent.ts +1 -0
  134. package/src/pull.ts +1 -1
  135. package/src/remove.ts +2 -2
  136. package/src/replace.ts +1 -1
  137. package/src/safe.spec.ts +0 -1
  138. package/src/set.ts +1 -1
  139. package/src/setImmutable.ts +1 -1
  140. package/src/throttle.ts +1 -1
@@ -0,0 +1,52 @@
1
+ import { ensureDate } from "./ensureDate.js";
2
+ const formatDate = (date, format, locale = "en-US") => {
3
+ const d = ensureDate(date);
4
+ return format.replace(/%([%a-zA-Z])/g, (_, c) => {
5
+ switch (c) {
6
+ case "%": return "%";
7
+ case "a": throw new Error("`%a` is not supported yet");
8
+ case "A": throw new Error("`%A` is not supported yet");
9
+ case "d": return String(d.getDate()).padStart(2, "0");
10
+ case "e": return String(d.getDate()).padStart(2, " ");
11
+ case "j": return String(Math.floor((d.getTime() - new Date(d.getFullYear(), 0, 0).getTime()) / 86400000)).padStart(3, "0");
12
+ case "u": return String(d.getDay() || 7);
13
+ case "w": return String(d.getDay());
14
+ case "U": throw new Error("`%U` is not supported yet");
15
+ case "V": throw new Error("`%V` is not supported yet");
16
+ case "W": throw new Error("`%W` is not supported yet");
17
+ case "b": throw new Error("`%b` is not supported yet");
18
+ case "B": throw new Error("`%B` is not supported yet");
19
+ case "h": throw new Error("`%h` is not supported yet");
20
+ case "m": return String(d.getMonth() + 1).padStart(2, "0");
21
+ case "C": throw new Error("`%C` is not supported yet");
22
+ case "g": throw new Error("`%g` is not supported yet");
23
+ case "G": throw new Error("`%G` is not supported yet");
24
+ case "y": return String(d.getFullYear()).substring(2);
25
+ case "Y": return String(d.getFullYear());
26
+ case "H": return String(d.getHours()).padStart(2, "0");
27
+ case "k": return String(d.getHours()).padStart(2, " ");
28
+ case "I": return String(d.getHours() % 12 || 12).padStart(2, "0");
29
+ case "l": return String(d.getHours() % 12 || 12).padStart(2, " ");
30
+ case "M": return String(d.getMinutes()).padStart(2, "0");
31
+ case "p": return d.getHours() >= 12 ? "PM" : "AM";
32
+ case "P": return d.getHours() >= 12 ? "pm" : "am";
33
+ case "r": return formatDate(d, "%I:%M:%S %p", locale);
34
+ case "R": return formatDate(d, "%H:%M", locale);
35
+ case "S": return String(d.getSeconds()).padStart(2, "0");
36
+ case "T": return formatDate(d, "%H:%M:%S", locale);
37
+ case "X": throw new Error("`%X` is not supported and it will never be, use Intl.DateTimeFormat instead");
38
+ case "z": throw new Error("`%z` is not supported yet");
39
+ case "Z": throw new Error("`%Z` is not supported yet");
40
+ case "c": throw new Error("`%c` is not supported and it will never be, use Intl.DateTimeFormat instead");
41
+ case "D": throw new Error("`%D` is not supported and it will never be, use Intl.DateTimeFormat instead");
42
+ case "x": throw new Error("`%x` is not supported and it will never be, use Intl.DateTimeFormat instead");
43
+ case "F": return formatDate(d, "%Y-%m-%d", locale);
44
+ case "s": return String(Math.floor(d.getTime() / 1000));
45
+ case "n": return "\n";
46
+ case "t": return "\t";
47
+ }
48
+ return c;
49
+ });
50
+ };
51
+ export { formatDate, };
52
+ //# sourceMappingURL=formatDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatDate.js","sourceRoot":"","sources":["../src/formatDate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getMultiple.js","sourceRoot":"","sources":["../src/getMultiple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAS/B,MAAM,OAAO,GAAG,EAAE,CAAC;AAqBnB,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,YAAqB,EAAE,GAAG,KAA4B,EAAW,EAAE;IACpG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,OAAO,EAAE;YACpB,OAAO,MAAM,CAAC;SACjB;KACJ;IACD,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"getMultiple.js","sourceRoot":"","sources":["../src/getMultiple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAS/B,MAAM,OAAO,GAAG,EAAE,CAAC;AAqBnB,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,YAAqB,EAAE,GAAG,KAA4B,EAAW,EAAE;IACpG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,OAAO,EAAE;YACpB,OAAO,MAAM,CAAC;SACjB;KACJ;IACD,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
package/esm/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export * from "./ensureDate.js";
10
10
  export * from "./ensureError.js";
11
11
  export * from "./ensureTimestamp.js";
12
12
  export * from "./escapeRegExp.js";
13
+ export * from "./formatDate.js";
13
14
  export * from "./get.js";
14
15
  export * from "./getMultiple.js";
15
16
  export * from "./insertSeparator.js";
@@ -17,6 +18,7 @@ export * from "./isEmpty.js";
17
18
  export * from "./isNumericString.js";
18
19
  export * from "./isPlainObject.js";
19
20
  export * from "./last.js";
21
+ export * from "./later.js";
20
22
  export * from "./mapAsync.js";
21
23
  export * from "./mapValues.js";
22
24
  export * from "./match.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
package/esm/index.js CHANGED
@@ -10,6 +10,7 @@ export * from "./ensureDate.js";
10
10
  export * from "./ensureError.js";
11
11
  export * from "./ensureTimestamp.js";
12
12
  export * from "./escapeRegExp.js";
13
+ export * from "./formatDate.js";
13
14
  export * from "./get.js";
14
15
  export * from "./getMultiple.js";
15
16
  export * from "./insertSeparator.js";
@@ -17,6 +18,7 @@ export * from "./isEmpty.js";
17
18
  export * from "./isNumericString.js";
18
19
  export * from "./isPlainObject.js";
19
20
  export * from "./last.js";
21
+ export * from "./later.js";
20
22
  export * from "./mapAsync.js";
21
23
  export * from "./mapValues.js";
22
24
  export * from "./match.js";
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"isNumericString.js","sourceRoot":"","sources":["../src/isNumericString.ts"],"names":[],"mappings":"AAOA,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC;AAYrB,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,UAAmB,EAAE,EAAE,EAAE;IAC9D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC5B,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC;KAC5C;IAED,IAAI,OAAO,CAAC,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE;QACtC,OAAO,IAAI,CAAC;KACf;IAED,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,WAAW,CAAC,EAAE;QAC5E,OAAO,IAAI,CAAC;KACf;IAED,IAAI,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC5B,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACpC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAGpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC9C,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QACzB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,KAAK,CAAC;SAChB;KACJ;SACI;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,SAAS,GAAG,SAAS,EAAE;QACvB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACzB,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,SAAS,KAAK,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,UAAU,GAAG,SAAS,EAAE;QACxB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACzB,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,UAAU,KAAK,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,UAAU,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,OAAO,EACH,eAAe,GAClB,CAAC"}
1
+ {"version":3,"file":"isNumericString.js","sourceRoot":"","sources":["../src/isNumericString.ts"],"names":[],"mappings":"AAOA,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC;AAYrB,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,UAAmB,EAAE,EAAE,EAAE;IAC9D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC5B,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC;KAC5C;IAED,IAAI,OAAO,CAAC,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE;QACtC,OAAO,IAAI,CAAC;KACf;IAED,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,WAAW,CAAC,EAAE;QAC5E,OAAO,IAAI,CAAC;KACf;IAED,IAAI,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC5B,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACpC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAGpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC9C,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QACzB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,KAAK,CAAC;SAChB;KACJ;SACI;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,SAAS,GAAG,SAAS,EAAE;QACvB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACzB,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,SAAS,KAAK,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,UAAU,GAAG,SAAS,EAAE;QACxB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACzB,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,UAAU,KAAK,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,UAAU,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,OAAO,EACH,eAAe,GAClB,CAAC"}
package/esm/later.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ type Later<T> = {
2
+ promise: Promise<T>;
3
+ resolve: (result: T) => void;
4
+ reject: (reason: Error) => void;
5
+ };
6
+ declare const later: <T>() => Later<T>;
7
+ export type { Later };
8
+ export { later };
9
+ //# sourceMappingURL=later.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"later.d.ts","sourceRoot":"","sources":["../src/later.ts"],"names":[],"mappings":"AAAA,KAAK,KAAK,CAAC,CAAC,IAAI;IAIZ,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAIpB,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAI7B,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;CACnC,CAAC;AAeF,QAAA,MAAM,KAAK,mBAUV,CAAC;AAEF,YAAY,EAAE,KAAK,EAAE,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,CAAC"}
package/esm/later.js ADDED
@@ -0,0 +1,10 @@
1
+ const later = () => {
2
+ const res = {};
3
+ res.promise = new Promise((resolve, reject) => {
4
+ res.resolve = resolve;
5
+ res.reject = reject;
6
+ });
7
+ return res;
8
+ };
9
+ export { later };
10
+ //# sourceMappingURL=later.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"later.js","sourceRoot":"","sources":["../src/later.ts"],"names":[],"mappings":"AA4BA,MAAM,KAAK,GAAG,GAAgB,EAAE;IAE5B,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,GAAG,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACtB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAGF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapAsync.js","sourceRoot":"","sources":["../src/mapAsync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAW5B,MAAM,QAAQ,GAAG,KAAK,EAClB,OAAqB,EACrB,QAA0D,EAC1D,UAAU,GAAG,sBAAsB,EACnC,SAAS,GAAG,iBAAiB,EACjB,EAAE;IACd,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAExB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,IAAI,UAAU,EAAE;YAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;SAC/B;KACJ;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,EACH,QAAQ,GACX,CAAC"}
1
+ {"version":3,"file":"mapAsync.js","sourceRoot":"","sources":["../src/mapAsync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAW5B,MAAM,QAAQ,GAAG,KAAK,EAClB,OAAqB,EACrB,QAA0D,EAC1D,UAAU,GAAG,sBAAsB,EACnC,SAAS,GAAG,iBAAiB,EACjB,EAAE;IACd,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QAEzB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,IAAI,UAAU,EAAE;YAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;SAC/B;KACJ;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,EACH,QAAQ,GACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mostFrequent.d.ts","sourceRoot":"","sources":["../src/mostFrequent.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,YAAY,sBAkBjB,CAAC;AAEF,OAAO,EACH,YAAY,GACf,CAAC"}
1
+ {"version":3,"file":"mostFrequent.d.ts","sourceRoot":"","sources":["../src/mostFrequent.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,YAAY,sBAmBjB,CAAC;AAEF,OAAO,EACH,YAAY,GACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mostFrequent.js","sourceRoot":"","sources":["../src/mostFrequent.ts"],"names":[],"mappings":"AAIA,MAAM,YAAY,GAAG,CAAI,KAAU,EAAK,EAAE;IACtC,IAAI,GAAG,GAAG,CAAC,EACP,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAExB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAa,CAAC;IACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACjB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACrB;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,GAAG,CAAC,CAAC;QACjC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,GAAG,CAAC,CAAC,CAAC;QACpC,IAAI,IAAI,GAAG,GAAG,EAAE;YACZ,GAAG,GAAG,IAAI,CAAC;YACX,QAAQ,GAAG,KAAK,CAAC;SACpB;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,OAAO,EACH,YAAY,GACf,CAAC"}
1
+ {"version":3,"file":"mostFrequent.js","sourceRoot":"","sources":["../src/mostFrequent.ts"],"names":[],"mappings":"AAIA,MAAM,YAAY,GAAG,CAAI,KAAU,EAAK,EAAE;IACtC,IAAI,GAAG,GAAG,CAAC,EACP,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAExB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAa,CAAC;IACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACjB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACrB;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,GAAG,CAAC,CAAC;QACjC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,GAAG,CAAC,CAAC,CAAC;QACpC,IAAI,IAAI,GAAG,GAAG,EAAE;YACZ,GAAG,GAAG,IAAI,CAAC;YACX,QAAQ,GAAG,KAAK,CAAC;SACpB;IACL,CAAC,CAAC,CAAC;IAGH,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,OAAO,EACH,YAAY,GACf,CAAC"}
package/esm/pull.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../src/pull.ts"],"names":[],"mappings":"AAKA,MAAM,IAAI,GAAG,CAAI,KAAU,EAAE,GAAG,YAAiB,EAAO,EAAE;IACtD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACjC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACtB;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EACH,IAAI,GACP,CAAC"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../src/pull.ts"],"names":[],"mappings":"AAKA,MAAM,IAAI,GAAG,CAAI,KAAU,EAAE,GAAG,YAAiB,EAAO,EAAE;IACtD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE;YAClC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACtB;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EACH,IAAI,GACP,CAAC"}
package/esm/remove.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../src/remove.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,GAAG,CAAI,KAAU,EAAE,EAAgD,EAAO,EAAE;IACpF,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IAEzB,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;YACpC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAC/C,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACtC;KACJ;IAED,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/C,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../src/remove.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,GAAG,CAAI,KAAU,EAAE,EAAgD,EAAO,EAAE;IACpF,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IAEzB,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;YACrC,WAAW,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAC/C,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC;SACvC;KACJ;IAED,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/C,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"replace.js","sourceRoot":"","sources":["../src/replace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASjD,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,UAAkC,EAAE,EAAE;IAEnE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACnF,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,OAAO,EACH,OAAO,GACV,CAAC"}
1
+ {"version":3,"file":"replace.js","sourceRoot":"","sources":["../src/replace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASjD,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,UAAkC,EAAE,EAAE;IAEnE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACnF,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAE,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,OAAO,EACH,OAAO,GACV,CAAC"}
package/esm/set.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../src/set.ts"],"names":[],"mappings":"AAOA,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC;AAyBlH,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,IAAuB,EAAE,KAAc,EAAoB,EAAE;IACtF,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;IAE7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9C,IAAI,OAAO,GAAqB,MAAM,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,MAAM,EAAE;YACP,OAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACjC,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,CAAC,QAAQ,CAAE,OAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,OAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SACjC;QACD,OAAO,GAAI,OAAkB,CAAC,GAAG,CAAC,CAAC;KACtC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../src/set.ts"],"names":[],"mappings":"AAOA,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC;AAyBlH,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,IAAuB,EAAE,KAAc,EAAoB,EAAE;IACtF,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;IAE7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9C,IAAI,OAAO,GAAqB,MAAM,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;QAC1B,IAAI,MAAM,EAAE;YACP,OAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACjC,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,CAAC,QAAQ,CAAE,OAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,OAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SACjC;QACD,OAAO,GAAI,OAAkB,CAAC,GAAG,CAAC,CAAC;KACtC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setImmutable.js","sourceRoot":"","sources":["../src/setImmutable.ts"],"names":[],"mappings":"AAOA,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC;AAElH,MAAM,KAAK,GAAG,CAAC,KAAyB,EAAE,EAAE;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACtB,OAAO,CAAC,GAAG,KAA2B,CAAC,CAAC;KAC3C;IACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAE,EAAE;IAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACf,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC;QACzB,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,KAAK,QAAQ,CAAC;IACnE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAUF,MAAM,YAAY,GAAG,CAAC,IAAU,EAAE,EAAE;IAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KACzB;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAC1B;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACf;IACD,MAAM,IAAI,SAAS,CAAC,oEAAoE,CAAC,CAAC;AAC9F,CAAC,CAAC;AAwBF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,IAAU,EAAE,KAAc,EAAoB,EAAE;IAClF,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,WAAW,EAAE;QACd,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;KACxE;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;IAE7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAErD,IAAI,OAAO,GAAqB,MAAM,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,MAAM,EAAE;YACP,OAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACjC,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,CAAC,QAAQ,CAAE,OAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,OAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SACjC;aACI;YACA,OAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAE,OAAkB,CAAC,GAAG,CAAuB,CAAC,CAAC;SACpF;QACD,OAAO,GAAI,OAAkB,CAAC,GAAG,CAAC,CAAC;KACtC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"setImmutable.js","sourceRoot":"","sources":["../src/setImmutable.ts"],"names":[],"mappings":"AAOA,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC;AAElH,MAAM,KAAK,GAAG,CAAC,KAAyB,EAAE,EAAE;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACtB,OAAO,CAAC,GAAG,KAA2B,CAAC,CAAC;KAC3C;IACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAE,EAAE;IAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACf,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC;QACzB,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,KAAK,QAAQ,CAAC;IACnE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAUF,MAAM,YAAY,GAAG,CAAC,IAAU,EAAE,EAAE;IAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KACzB;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAC1B;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACf;IACD,MAAM,IAAI,SAAS,CAAC,oEAAoE,CAAC,CAAC;AAC9F,CAAC,CAAC;AAwBF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,IAAU,EAAE,KAAc,EAAoB,EAAE;IAClF,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,WAAW,EAAE;QACd,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;KACxE;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;IAE7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAErD,IAAI,OAAO,GAAqB,MAAM,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;QAC1B,IAAI,MAAM,EAAE;YACP,OAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACjC,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,CAAC,QAAQ,CAAE,OAAkB,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,OAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SACjC;aACI;YACA,OAAkB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAE,OAAkB,CAAC,GAAG,CAAuB,CAAC,CAAC;SACpF;QACD,OAAO,GAAI,OAAkB,CAAC,GAAG,CAAC,CAAC;KACtC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ezez/utils",
3
- "version": "1.6.0",
3
+ "version": "1.8.0",
4
4
  "repository": "https://github.com/dzek69/bottom-line.git",
5
5
  "author": "Jacek Nowacki @dzek69 <git-public@dzek.eu>",
6
6
  "license": "MIT",
@@ -34,16 +34,17 @@
34
34
  "types": "./esm/index.d.ts",
35
35
  "module": "./esm/index.js",
36
36
  "type": "module",
37
+ "dependencies": {},
37
38
  "devDependencies": {
38
- "@babel/core": "^7.21.4",
39
- "@babel/preset-env": "^7.21.4",
40
- "@babel/preset-typescript": "^7.21.4",
39
+ "@babel/core": "^7.22.1",
40
+ "@babel/preset-env": "^7.22.4",
41
+ "@babel/preset-typescript": "^7.21.5",
41
42
  "@dzek69/eslint-config-base": "^2.4.0",
42
43
  "@dzek69/eslint-config-import": "^1.2.0",
43
44
  "@dzek69/eslint-config-import-typescript": "^1.0.0",
44
45
  "@dzek69/eslint-config-typescript": "^1.1.0",
45
46
  "@knodes/typedoc-plugin-pages": "^0.23.4",
46
- "@types/jest": "^29.5.0",
47
+ "@types/jest": "^29.5.2",
47
48
  "@types/lodash": "^4.14.168",
48
49
  "@typescript-eslint/eslint-plugin": "^5.58.0",
49
50
  "@typescript-eslint/parser": "^5.58.0",
@@ -56,10 +57,10 @@
56
57
  "lodash": "^4.17.21",
57
58
  "must": "^0.13.4",
58
59
  "nodemon": "^2.0.22",
59
- "prettier": "^2.8.7",
60
+ "prettier": "^2.8.8",
60
61
  "ts-node": "^10.9.1",
61
62
  "typedoc": "^0.23.28",
62
- "typescript": "^5.0.4"
63
+ "typescript": "^5.1.3"
63
64
  },
64
65
  "husky": {
65
66
  "hooks": {
@@ -67,7 +68,7 @@
67
68
  }
68
69
  },
69
70
  "libraryTemplate": {
70
- "version": "3.9.1",
71
+ "version": "3.10.0",
71
72
  "language": "typescript",
72
73
  "fixDefaultForCommonJS": false,
73
74
  "jsx": false
@@ -0,0 +1,199 @@
1
+ import { formatDate } from "./formatDate.js";
2
+
3
+ describe("dateFormat", () => {
4
+ it("doesn't support %a and %A", async () => {
5
+ (() => formatDate(new Date(2021, 0, 1), "%a")).must.throw();
6
+ (() => formatDate(new Date(2021, 0, 1), "%A")).must.throw();
7
+ });
8
+
9
+ it("works with %d", async () => {
10
+ formatDate(new Date(2021, 0, 1), "%d").must.equal("01");
11
+ });
12
+
13
+ it("works with %e", async () => {
14
+ formatDate(new Date(2021, 0, 1), "%e").must.equal(" 1");
15
+ });
16
+
17
+ it("works with %j", async () => {
18
+ formatDate(new Date(2021, 0, 1), "%j").must.equal("001");
19
+ formatDate(new Date(2021, 1, 3), "%j").must.equal("034");
20
+ formatDate(new Date(2021, 11, 31), "%j").must.equal("365");
21
+ formatDate(new Date(2016, 11, 31), "%j").must.equal("366");
22
+ });
23
+
24
+ it("works with %u", async () => {
25
+ formatDate(new Date(2023, 5, 1), "%u").must.equal("4");
26
+ formatDate(new Date(2023, 5, 2), "%u").must.equal("5");
27
+ formatDate(new Date(2023, 5, 3), "%u").must.equal("6");
28
+ formatDate(new Date(2023, 5, 4), "%u").must.equal("7");
29
+ formatDate(new Date(2023, 5, 5), "%u").must.equal("1");
30
+ formatDate(new Date(2023, 5, 6), "%u").must.equal("2");
31
+ formatDate(new Date(2023, 5, 7), "%u").must.equal("3");
32
+ });
33
+
34
+ it("works with %w", async () => {
35
+ formatDate(new Date(2023, 5, 1), "%w").must.equal("4");
36
+ formatDate(new Date(2023, 5, 2), "%w").must.equal("5");
37
+ formatDate(new Date(2023, 5, 3), "%w").must.equal("6");
38
+ formatDate(new Date(2023, 5, 4), "%w").must.equal("0");
39
+ formatDate(new Date(2023, 5, 5), "%w").must.equal("1");
40
+ formatDate(new Date(2023, 5, 6), "%w").must.equal("2");
41
+ formatDate(new Date(2023, 5, 7), "%w").must.equal("3");
42
+ });
43
+
44
+ it("doesn't support %U, %V nor %W", async () => {
45
+ (() => formatDate(new Date(2021, 0, 1), "%U")).must.throw();
46
+ (() => formatDate(new Date(2021, 0, 1), "%V")).must.throw();
47
+ (() => formatDate(new Date(2021, 0, 1), "%W")).must.throw();
48
+ });
49
+
50
+ it("doesn't work with %b, %B nor %h", async () => {
51
+ (() => formatDate(new Date(2021, 0, 1), "%b")).must.throw();
52
+ (() => formatDate(new Date(2021, 0, 1), "%B")).must.throw();
53
+ (() => formatDate(new Date(2021, 0, 1), "%h")).must.throw();
54
+ });
55
+
56
+ it("works with %m", async () => {
57
+ formatDate(new Date(2021, 0, 1), "%m").must.equal("01");
58
+ formatDate(new Date(2021, 11, 1), "%m").must.equal("12");
59
+ });
60
+
61
+ it("doesn't work with %C, %g nor %G", async () => {
62
+ (() => formatDate(new Date(2021, 0, 1), "%C")).must.throw();
63
+ (() => formatDate(new Date(2021, 0, 1), "%g")).must.throw();
64
+ (() => formatDate(new Date(2021, 0, 1), "%G")).must.throw();
65
+ });
66
+
67
+ it("works with %y", async () => {
68
+ formatDate(new Date(2021, 0, 1), "%y").must.equal("21");
69
+ formatDate(new Date(2033, 0, 1), "%y").must.equal("33");
70
+ });
71
+
72
+ it("works with %Y", async () => {
73
+ formatDate(new Date(2021, 0, 1), "%Y").must.equal("2021");
74
+ formatDate(new Date(2033, 0, 1), "%Y").must.equal("2033");
75
+ });
76
+
77
+ it("works with %H", async () => {
78
+ formatDate(new Date(2021, 0, 1, 0), "%H").must.equal("00");
79
+ formatDate(new Date(2021, 0, 1, 23), "%H").must.equal("23");
80
+ });
81
+
82
+ it("works with %k", async () => {
83
+ formatDate(new Date(2021, 0, 1, 0), "%k").must.equal(" 0");
84
+ formatDate(new Date(2021, 0, 1, 23), "%k").must.equal("23");
85
+ });
86
+
87
+ it("works with %I", async () => {
88
+ formatDate(new Date(2021, 0, 1, 0), "%I").must.equal("12");
89
+ formatDate(new Date(2021, 0, 1, 23), "%I").must.equal("11");
90
+ });
91
+
92
+ it("works with %l", async () => {
93
+ formatDate(new Date(2021, 0, 1, 0), "%l").must.equal("12");
94
+ formatDate(new Date(2021, 0, 1, 18), "%l").must.equal(" 6");
95
+ });
96
+
97
+ it("works with %M", async () => {
98
+ formatDate(new Date(2021, 0, 1, 0, 0), "%M").must.equal("00");
99
+ formatDate(new Date(2021, 0, 1, 0, 59), "%M").must.equal("59");
100
+ });
101
+
102
+ it("works with %p", async () => {
103
+ formatDate(new Date(2021, 0, 1, 0), "%p").must.equal("AM");
104
+ formatDate(new Date(2021, 0, 1, 3), "%p").must.equal("AM");
105
+ formatDate(new Date(2021, 0, 1, 11), "%p").must.equal("AM");
106
+ formatDate(new Date(2021, 0, 1, 12), "%p").must.equal("PM");
107
+ formatDate(new Date(2021, 0, 1, 14), "%p").must.equal("PM");
108
+ });
109
+
110
+ it("works with %P", async () => {
111
+ formatDate(new Date(2021, 0, 1, 0), "%P").must.equal("am");
112
+ formatDate(new Date(2021, 0, 1, 3), "%P").must.equal("am");
113
+ formatDate(new Date(2021, 0, 1, 11), "%P").must.equal("am");
114
+ formatDate(new Date(2021, 0, 1, 12), "%P").must.equal("pm");
115
+ formatDate(new Date(2021, 0, 1, 14), "%P").must.equal("pm");
116
+ });
117
+
118
+ it("works with %r", async () => {
119
+ formatDate(new Date(2021, 0, 1, 0, 0), "%r").must.equal("12:00:00 AM");
120
+ formatDate(new Date(2021, 0, 1, 3, 0), "%r").must.equal("03:00:00 AM");
121
+ formatDate(new Date(2021, 0, 1, 11, 0), "%r").must.equal("11:00:00 AM");
122
+ formatDate(new Date(2021, 0, 1, 12, 0), "%r").must.equal("12:00:00 PM");
123
+ formatDate(new Date(2021, 0, 1, 14, 0), "%r").must.equal("02:00:00 PM");
124
+ });
125
+
126
+ it("works with %R", async () => {
127
+ formatDate(new Date(2021, 0, 1, 0, 0), "%R").must.equal("00:00");
128
+ formatDate(new Date(2021, 0, 1, 3, 0), "%R").must.equal("03:00");
129
+ formatDate(new Date(2021, 0, 1, 11, 0), "%R").must.equal("11:00");
130
+ formatDate(new Date(2021, 0, 1, 12, 0), "%R").must.equal("12:00");
131
+ formatDate(new Date(2021, 0, 1, 14, 0), "%R").must.equal("14:00");
132
+ });
133
+
134
+ it("works with %S", async () => {
135
+ formatDate(new Date(2021, 0, 1, 0, 0), "%S").must.equal("00");
136
+ formatDate(new Date(2021, 0, 1, 3, 0, 23), "%S").must.equal("23");
137
+ formatDate(new Date(2021, 0, 1, 11, 0, 44), "%S").must.equal("44");
138
+ });
139
+
140
+ it("works with %T", async () => {
141
+ formatDate(new Date(2021, 0, 1, 0, 0), "%T").must.equal("00:00:00");
142
+ formatDate(new Date(2021, 0, 1, 3, 0, 23), "%T").must.equal("03:00:23");
143
+ formatDate(new Date(2021, 0, 1, 11, 0, 44), "%T").must.equal("11:00:44");
144
+ });
145
+
146
+ it("doesn't work with %X", async () => {
147
+ (() => formatDate(new Date(2021, 0, 1, 0, 0), "%X")).must.throw();
148
+ });
149
+
150
+ it("doesn't work with %z and %Z", () => {
151
+ (() => formatDate(new Date(2021, 0, 1, 0, 0), "%z")).must.throw();
152
+ (() => formatDate(new Date(2021, 0, 1, 0, 0), "%Z")).must.throw();
153
+ });
154
+
155
+ it("doesn't work with %c", () => {
156
+ (() => formatDate(new Date(2021, 0, 1, 0, 0), "%c")).must.throw();
157
+ });
158
+
159
+ it("doesn't work with %D and %x", () => {
160
+ (() => formatDate(new Date(2021, 0, 1, 0, 0), "%D")).must.throw();
161
+ (() => formatDate(new Date(2021, 0, 1, 0, 0), "%x")).must.throw();
162
+ });
163
+
164
+ it("works with %F", async () => {
165
+ formatDate(new Date(2021, 0, 1), "%F").must.equal("2021-01-01");
166
+ formatDate(new Date(2025, 4, 22), "%F").must.equal("2025-05-22");
167
+ });
168
+
169
+ it("works with %s", async () => {
170
+ formatDate(new Date(2021, 0, 1), "%s").must.equal("1609455600");
171
+ formatDate(new Date(2025, 4, 22), "%s").must.equal("1747864800");
172
+ formatDate(1609455600000, "%s").must.equal("1609455600");
173
+ });
174
+
175
+ it("works with %n %t", async () => {
176
+ formatDate(new Date(2021, 0, 1), "%n").must.equal("\n");
177
+ formatDate(new Date(2021, 0, 1), "%t").must.equal("\t");
178
+ });
179
+
180
+ it("works with combined formats", async () => {
181
+ formatDate(new Date(2021, 0, 1, 14, 0, 44), "%Y-%m-%d %H:%M:%S").must.equal("2021-01-01 14:00:44");
182
+ formatDate(new Date(2021, 0, 1, 14, 0, 44), "I was born %S seconds after %H:%M")
183
+ .must.equal("I was born 44 seconds after 14:00");
184
+ });
185
+
186
+ describe("edge cases", () => {
187
+ it("should work with double %", async () => {
188
+ formatDate(new Date(2021, 0, 1), "%%").must.equal("%");
189
+ formatDate(new Date(2021, 0, 1), "%%%").must.equal("%%");
190
+ formatDate(new Date(2021, 0, 1), "%%%%").must.equal("%%");
191
+
192
+ formatDate(new Date(2021, 0, 1), "%%Y").must.equal("%Y");
193
+ formatDate(new Date(2021, 0, 1), "%%%Y").must.equal("%2021");
194
+ formatDate(new Date(2021, 0, 1), "%%%%Y").must.equal("%%Y");
195
+
196
+ formatDate(new Date(2021, 0, 1), "% %%Y").must.equal("% %Y");
197
+ });
198
+ });
199
+ });
@@ -0,0 +1,73 @@
1
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
2
+ import { ensureDate } from "./ensureDate.js";
3
+
4
+ /**
5
+ * PHP's `strftime`-like date formatter.
6
+ * IMPORTANT: Use Intl.DateTimeFormat everywhere possible. Use this only if you are 100% sure you want to have given
7
+ * date format, not depending on any locale standards.
8
+ *
9
+ * Important: this is work in progress. All locale-based values are not supported yet. Formats that heavily depend on
10
+ * locale won't ever be supported.
11
+ */
12
+ const formatDate = (date: Date | number, format: string, locale = "en-US"): string => { // eslint-disable-line max-lines-per-function, max-len
13
+ const d = ensureDate(date);
14
+ return format.replace(/%([%a-zA-Z])/g, (_, c) => {
15
+ switch (c) {
16
+ case "%": return "%";
17
+ // Day
18
+ case "a": throw new Error("`%a` is not supported yet");
19
+ case "A": throw new Error("`%A` is not supported yet");
20
+ case "d": return String(d.getDate()).padStart(2, "0");
21
+ case "e": return String(d.getDate()).padStart(2, " ");
22
+ case "j": return String(
23
+ Math.floor((d.getTime() - new Date(d.getFullYear(), 0, 0).getTime()) / 86400000),
24
+ ).padStart(3, "0");
25
+ case "u": return String(d.getDay() || 7);
26
+ case "w": return String(d.getDay());
27
+ // Week
28
+ case "U": throw new Error("`%U` is not supported yet");
29
+ case "V": throw new Error("`%V` is not supported yet");
30
+ case "W": throw new Error("`%W` is not supported yet");
31
+ // Month
32
+ case "b": throw new Error("`%b` is not supported yet");
33
+ case "B": throw new Error("`%B` is not supported yet");
34
+ case "h": throw new Error("`%h` is not supported yet");
35
+ case "m": return String(d.getMonth() + 1).padStart(2, "0");
36
+ // Year
37
+ case "C": throw new Error("`%C` is not supported yet");
38
+ case "g": throw new Error("`%g` is not supported yet");
39
+ case "G": throw new Error("`%G` is not supported yet");
40
+ case "y": return String(d.getFullYear()).substring(2);
41
+ case "Y": return String(d.getFullYear());
42
+ // Time
43
+ case "H": return String(d.getHours()).padStart(2, "0");
44
+ case "k": return String(d.getHours()).padStart(2, " ");
45
+ case "I": return String(d.getHours() % 12 || 12).padStart(2, "0");
46
+ case "l": return String(d.getHours() % 12 || 12).padStart(2, " ");
47
+ case "M": return String(d.getMinutes()).padStart(2, "0");
48
+ case "p": return d.getHours() >= 12 ? "PM" : "AM";
49
+ case "P": return d.getHours() >= 12 ? "pm" : "am";
50
+ case "r": return formatDate(d, "%I:%M:%S %p", locale);
51
+ case "R": return formatDate(d, "%H:%M", locale);
52
+ case "S": return String(d.getSeconds()).padStart(2, "0");
53
+ case "T": return formatDate(d, "%H:%M:%S", locale);
54
+ case "X": throw new Error("`%X` is not supported and it will never be, use Intl.DateTimeFormat instead");
55
+ case "z": throw new Error("`%z` is not supported yet");
56
+ case "Z": throw new Error("`%Z` is not supported yet");
57
+ // Time and Date stamps
58
+ case "c": throw new Error("`%c` is not supported and it will never be, use Intl.DateTimeFormat instead");
59
+ case "D": throw new Error("`%D` is not supported and it will never be, use Intl.DateTimeFormat instead");
60
+ case "x": throw new Error("`%x` is not supported and it will never be, use Intl.DateTimeFormat instead");
61
+ case "F": return formatDate(d, "%Y-%m-%d", locale);
62
+ case "s": return String(Math.floor(d.getTime() / 1000));
63
+ // Misc
64
+ case "n": return "\n";
65
+ case "t": return "\t";
66
+ }
67
+ return c as string;
68
+ });
69
+ };
70
+
71
+ export {
72
+ formatDate,
73
+ };
@@ -31,7 +31,7 @@ const DEFAULT = {};
31
31
  const getMultiple = (source: Source, defaultValue: unknown, ...paths: (string | string[])[]): unknown => {
32
32
  const length = paths.length;
33
33
  for (let i = 0; i < length; i++) {
34
- const properties = paths[i];
34
+ const properties = paths[i]!;
35
35
  const result = get(source, properties, DEFAULT);
36
36
  if (result !== DEFAULT) {
37
37
  return result;
package/src/index.ts CHANGED
@@ -11,6 +11,7 @@ export * from "./ensureDate.js";
11
11
  export * from "./ensureError.js";
12
12
  export * from "./ensureTimestamp.js";
13
13
  export * from "./escapeRegExp.js";
14
+ export * from "./formatDate.js";
14
15
  export * from "./get.js";
15
16
  export * from "./getMultiple.js";
16
17
  export * from "./insertSeparator.js";
@@ -18,6 +19,7 @@ export * from "./isEmpty.js";
18
19
  export * from "./isNumericString.js";
19
20
  export * from "./isPlainObject.js";
20
21
  export * from "./last.js";
22
+ export * from "./later.js";
21
23
  export * from "./mapAsync.js";
22
24
  export * from "./mapValues.js";
23
25
  export * from "./match.js";
@@ -42,7 +42,7 @@ const isNumericString = (string: string, options: Options = {}) => { // eslint-d
42
42
  return false;
43
43
  }
44
44
 
45
- const expParts = parts[parts.length - 1].split("e");
45
+ const expParts = parts[parts.length - 1]!.split("e");
46
46
 
47
47
  if (!options.allowExponents) {
48
48
  if (expParts.length > 1) {