@splendidlabz/utils 1.10.2 → 1.10.4

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 (209) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/dom/accessibility.cjs +0 -2
  3. package/dist/cjs/dom/actions/index.cjs +7 -391
  4. package/dist/cjs/dom/actions/masonry.cjs +6 -97
  5. package/dist/cjs/dom/actions/prefer-horizontal-scroll.cjs +14 -58
  6. package/dist/cjs/dom/actions/sticky.cjs +6 -126
  7. package/dist/cjs/dom/bounding-box.cjs +0 -2
  8. package/dist/cjs/dom/clipboard.cjs +0 -2
  9. package/dist/cjs/dom/cookie.cjs +1 -3
  10. package/dist/cjs/dom/css-vars.cjs +3 -13
  11. package/dist/cjs/dom/events.cjs +0 -2
  12. package/dist/cjs/dom/focusable.cjs +0 -2
  13. package/dist/cjs/dom/font-size.cjs +3 -15
  14. package/dist/cjs/dom/get-element.cjs +1 -3
  15. package/dist/cjs/dom/hash.cjs +0 -2
  16. package/dist/cjs/dom/index.cjs +47 -1248
  17. package/dist/cjs/dom/keyboard.cjs +0 -2
  18. package/dist/cjs/dom/local-store.cjs +1 -3
  19. package/dist/cjs/dom/media.cjs +0 -2
  20. package/dist/cjs/dom/observers/index.cjs +9 -235
  21. package/dist/cjs/dom/observers/intersection-observer.cjs +6 -38
  22. package/dist/cjs/dom/observers/mutation-observer.cjs +6 -38
  23. package/dist/cjs/dom/observers/observer.cjs +2 -12
  24. package/dist/cjs/dom/observers/resize-observer.cjs +6 -38
  25. package/dist/cjs/dom/observers/scroll-observer.cjs +3 -62
  26. package/dist/cjs/dom/pkce.cjs +3 -13
  27. package/dist/cjs/dom/query-params.cjs +1 -3
  28. package/dist/cjs/dom/random-string.cjs +0 -2
  29. package/dist/cjs/dom/sanitize.cjs +3 -27
  30. package/dist/cjs/dom/session-store.cjs +1 -3
  31. package/dist/cjs/dom/spam-prevention.cjs +0 -2
  32. package/dist/cjs/dom/trap-focus.cjs +9 -131
  33. package/dist/cjs/dom/ui/aria-current.cjs +0 -2
  34. package/dist/cjs/dom/ui/inconsistent-button-fix.cjs +0 -2
  35. package/dist/cjs/dom/ui/index.cjs +9 -87
  36. package/dist/cjs/dom/ui/scroll-container.cjs +0 -2
  37. package/dist/cjs/dom/ui/traverse-and-scramble.cjs +0 -2
  38. package/dist/cjs/lib/arrays/index.cjs +13 -121
  39. package/dist/cjs/lib/arrays/item-position.cjs +0 -2
  40. package/dist/cjs/lib/arrays/join.cjs +2 -10
  41. package/dist/cjs/lib/arrays/shuffle.cjs +0 -2
  42. package/dist/cjs/lib/arrays/sort.cjs +3 -11
  43. package/dist/cjs/lib/arrays/split-array.cjs +0 -2
  44. package/dist/cjs/lib/arrays/unique.cjs +0 -2
  45. package/dist/cjs/lib/auth/index.cjs +3 -35
  46. package/dist/cjs/lib/auth/route-manager.cjs +0 -2
  47. package/dist/cjs/lib/checks.cjs +0 -2
  48. package/dist/cjs/lib/date/days.cjs +1 -3
  49. package/dist/cjs/lib/date/index.cjs +7 -190
  50. package/dist/cjs/lib/date/months.cjs +1 -3
  51. package/dist/cjs/lib/date/time.cjs +2 -14
  52. package/dist/cjs/lib/form/form-data.cjs +0 -2
  53. package/dist/cjs/lib/form/index.cjs +5 -104
  54. package/dist/cjs/lib/form/sanitize.cjs +0 -2
  55. package/dist/cjs/lib/functions/callback.cjs +0 -2
  56. package/dist/cjs/lib/functions/debounce.cjs +0 -2
  57. package/dist/cjs/lib/functions/env.cjs +0 -2
  58. package/dist/cjs/lib/functions/functional.cjs +0 -2
  59. package/dist/cjs/lib/functions/index.cjs +11 -124
  60. package/dist/cjs/lib/functions/throttle.cjs +0 -2
  61. package/dist/cjs/lib/functions/timeout.cjs +0 -2
  62. package/dist/cjs/lib/hash.cjs +0 -2
  63. package/dist/cjs/lib/index.cjs +29 -1155
  64. package/dist/cjs/lib/numbers/index.cjs +4 -17
  65. package/dist/cjs/lib/numbers/math.cjs +0 -2
  66. package/dist/cjs/lib/objects/camelcase-keys.cjs +4 -45
  67. package/dist/cjs/lib/objects/empty.cjs +0 -2
  68. package/dist/cjs/lib/objects/equal.cjs +0 -2
  69. package/dist/cjs/lib/objects/extend.cjs +6 -117
  70. package/dist/cjs/lib/objects/flatten.cjs +3 -11
  71. package/dist/cjs/lib/objects/index.cjs +27 -360
  72. package/dist/cjs/lib/objects/json.cjs +0 -2
  73. package/dist/cjs/lib/objects/loop.cjs +0 -2
  74. package/dist/cjs/lib/objects/mix/mix.cjs +3 -5
  75. package/dist/cjs/lib/objects/nested-property.cjs +0 -2
  76. package/dist/cjs/lib/objects/normalize-object.cjs +4 -78
  77. package/dist/cjs/lib/objects/omit-empty.cjs +0 -2
  78. package/dist/cjs/lib/objects/size.cjs +0 -2
  79. package/dist/cjs/lib/objects/split.cjs +0 -2
  80. package/dist/cjs/lib/promises/index.cjs +3 -51
  81. package/dist/cjs/lib/promises/reject.cjs +2 -19
  82. package/dist/cjs/lib/sse.cjs +4 -29
  83. package/dist/cjs/lib/strings/convert-case/convert-case.cjs +0 -2
  84. package/dist/cjs/lib/strings/index.cjs +11 -179
  85. package/dist/cjs/lib/strings/markdown.cjs +1 -3
  86. package/dist/cjs/lib/strings/name.cjs +0 -2
  87. package/dist/cjs/lib/strings/pluralize.cjs +1 -3
  88. package/dist/cjs/lib/strings/query-string.cjs +0 -2
  89. package/dist/cjs/lib/style/index.cjs +2 -31
  90. package/dist/cjs/lib/symbols/index.cjs +3 -22
  91. package/dist/cjs/lib/symbols/symbols.cjs +0 -2
  92. package/dist/cjs/node/dirname.cjs +2 -4
  93. package/dist/cjs/node/env.cjs +30 -0
  94. package/dist/cjs/node/file-cache.cjs +3 -45
  95. package/dist/cjs/node/file.cjs +2 -4
  96. package/dist/cjs/node/hash.cjs +1 -3
  97. package/dist/cjs/node/index.cjs +17 -272
  98. package/dist/cjs/node/pkce.cjs +5 -15
  99. package/dist/cjs/node/random-string.cjs +1 -3
  100. package/dist/cjs/node/sanitize.cjs +3 -27
  101. package/dist/cjs/node/{common.cjs → uuid.cjs} +3 -5
  102. package/dist/esm/dom/accessibility.js +0 -1
  103. package/dist/esm/dom/actions/index.js +3 -381
  104. package/dist/esm/dom/actions/masonry.js +3 -91
  105. package/dist/esm/dom/actions/prefer-horizontal-scroll.js +4 -45
  106. package/dist/esm/dom/actions/sticky.js +3 -120
  107. package/dist/esm/dom/bounding-box.js +0 -1
  108. package/dist/esm/dom/clipboard.js +0 -1
  109. package/dist/esm/dom/cookie.js +1 -2
  110. package/dist/esm/dom/css-vars.js +1 -8
  111. package/dist/esm/dom/events.js +0 -1
  112. package/dist/esm/dom/focusable.js +0 -1
  113. package/dist/esm/dom/font-size.js +1 -10
  114. package/dist/esm/dom/get-element.js +1 -2
  115. package/dist/esm/dom/hash.js +0 -1
  116. package/dist/esm/dom/index.js +23 -1168
  117. package/dist/esm/dom/keyboard.js +0 -1
  118. package/dist/esm/dom/local-store.js +1 -2
  119. package/dist/esm/dom/media.js +0 -1
  120. package/dist/esm/dom/observers/index.js +4 -224
  121. package/dist/esm/dom/observers/intersection-observer.js +2 -31
  122. package/dist/esm/dom/observers/mutation-observer.js +3 -32
  123. package/dist/esm/dom/observers/observer.js +1 -8
  124. package/dist/esm/dom/observers/resize-observer.js +2 -31
  125. package/dist/esm/dom/observers/scroll-observer.js +2 -58
  126. package/dist/esm/dom/pkce.js +1 -8
  127. package/dist/esm/dom/query-params.js +1 -2
  128. package/dist/esm/dom/random-string.js +0 -1
  129. package/dist/esm/dom/sanitize.js +3 -26
  130. package/dist/esm/dom/session-store.js +1 -2
  131. package/dist/esm/dom/spam-prevention.js +0 -1
  132. package/dist/esm/dom/trap-focus.js +2 -121
  133. package/dist/esm/dom/ui/aria-current.js +0 -1
  134. package/dist/esm/dom/ui/inconsistent-button-fix.js +0 -1
  135. package/dist/esm/dom/ui/index.js +4 -75
  136. package/dist/esm/dom/ui/scroll-container.js +0 -1
  137. package/dist/esm/dom/ui/traverse-and-scramble.js +0 -1
  138. package/dist/esm/lib/arrays/index.js +6 -106
  139. package/dist/esm/lib/arrays/item-position.js +0 -1
  140. package/dist/esm/lib/arrays/join.js +1 -6
  141. package/dist/esm/lib/arrays/shuffle.js +0 -1
  142. package/dist/esm/lib/arrays/sort.js +1 -6
  143. package/dist/esm/lib/arrays/split-array.js +0 -1
  144. package/dist/esm/lib/arrays/unique.js +0 -1
  145. package/dist/esm/lib/auth/index.js +1 -26
  146. package/dist/esm/lib/auth/route-manager.js +0 -1
  147. package/dist/esm/lib/checks.js +0 -1
  148. package/dist/esm/lib/date/days.js +1 -2
  149. package/dist/esm/lib/date/index.js +3 -173
  150. package/dist/esm/lib/date/months.js +1 -2
  151. package/dist/esm/lib/date/time.js +1 -10
  152. package/dist/esm/lib/form/form-data.js +0 -1
  153. package/dist/esm/lib/form/index.js +2 -92
  154. package/dist/esm/lib/form/sanitize.js +0 -1
  155. package/dist/esm/lib/functions/callback.js +0 -1
  156. package/dist/esm/lib/functions/debounce.js +0 -1
  157. package/dist/esm/lib/functions/env.js +0 -1
  158. package/dist/esm/lib/functions/functional.js +0 -1
  159. package/dist/esm/lib/functions/index.js +5 -105
  160. package/dist/esm/lib/functions/throttle.js +0 -1
  161. package/dist/esm/lib/functions/timeout.js +0 -1
  162. package/dist/esm/lib/hash.js +0 -1
  163. package/dist/esm/lib/index.js +14 -1052
  164. package/dist/esm/lib/numbers/index.js +2 -12
  165. package/dist/esm/lib/numbers/math.js +0 -1
  166. package/dist/esm/lib/objects/camelcase-keys.js +2 -40
  167. package/dist/esm/lib/objects/empty.js +0 -1
  168. package/dist/esm/lib/objects/equal.js +0 -1
  169. package/dist/esm/lib/objects/extend.js +3 -111
  170. package/dist/esm/lib/objects/flatten.js +1 -6
  171. package/dist/esm/lib/objects/index.js +13 -323
  172. package/dist/esm/lib/objects/json.js +0 -1
  173. package/dist/esm/lib/objects/loop.js +0 -1
  174. package/dist/esm/lib/objects/mix/mix.js +3 -4
  175. package/dist/esm/lib/objects/nested-property.js +0 -1
  176. package/dist/esm/lib/objects/normalize-object.js +3 -74
  177. package/dist/esm/lib/objects/omit-empty.js +0 -1
  178. package/dist/esm/lib/objects/size.js +0 -1
  179. package/dist/esm/lib/objects/split.js +0 -1
  180. package/dist/esm/lib/promises/index.js +1 -33
  181. package/dist/esm/lib/promises/reject.js +1 -17
  182. package/dist/esm/lib/sse.js +2 -24
  183. package/dist/esm/lib/strings/convert-case/convert-case.js +0 -1
  184. package/dist/esm/lib/strings/index.js +5 -147
  185. package/dist/esm/lib/strings/markdown.js +1 -2
  186. package/dist/esm/lib/strings/name.js +0 -1
  187. package/dist/esm/lib/strings/pluralize.js +1 -2
  188. package/dist/esm/lib/strings/query-string.js +0 -1
  189. package/dist/esm/lib/style/index.js +1 -27
  190. package/dist/esm/lib/symbols/index.js +1 -13
  191. package/dist/esm/lib/symbols/symbols.js +0 -1
  192. package/dist/esm/node/dirname.js +2 -3
  193. package/dist/esm/node/env.js +6 -0
  194. package/dist/esm/node/file-cache.js +2 -43
  195. package/dist/esm/node/file.js +2 -3
  196. package/dist/esm/node/hash.js +1 -2
  197. package/dist/esm/node/index.js +8 -243
  198. package/dist/esm/node/pkce.js +3 -12
  199. package/dist/esm/node/random-string.js +1 -2
  200. package/dist/esm/node/sanitize.js +3 -26
  201. package/dist/esm/node/{common.js → uuid.js} +0 -1
  202. package/dist/types/node/env.d.cts +3 -0
  203. package/dist/types/node/index.d.cts +2 -1
  204. package/package.json +2 -1
  205. package/src/node/env.js +3 -0
  206. package/src/node/index.js +2 -1
  207. package/tsup.config.mjs +2 -0
  208. /package/dist/types/node/{common.d.cts → uuid.d.cts} +0 -0
  209. /package/src/node/{common.js → uuid.js} +0 -0
@@ -25,30 +25,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/lib/promises/reject.js
30
28
  var reject_exports = {};
31
29
  __export(reject_exports, {
32
30
  reject: () => reject
33
31
  });
34
32
  module.exports = __toCommonJS(reject_exports);
35
33
  var import_statuses = __toESM(require("statuses"), 1);
36
-
37
- // src/lib/objects/omit-empty.js
38
- function omitEmpty(obj, shallow = false) {
39
- if (typeof obj !== "object" || obj === null) return obj;
40
- if (obj instanceof Date) return obj;
41
- const result = Array.isArray(obj) ? [] : {};
42
- for (const [key, value] of Object.entries(obj)) {
43
- if (value === null || value === void 0 || value === "" || typeof value === "object" && !(value instanceof Date) && Object.keys(value).length === 0) {
44
- continue;
45
- }
46
- result[key] = shallow ? value : omitEmpty(value);
47
- }
48
- return result;
49
- }
50
-
51
- // src/lib/promises/reject.js
34
+ var import_omit_empty = require("../objects/omit-empty.js");
52
35
  function reject(props, { includeStack = true } = {}) {
53
36
  const { status, statusText, body, message } = props;
54
37
  const e = new Error();
@@ -59,7 +42,7 @@ function reject(props, { includeStack = true } = {}) {
59
42
  message,
60
43
  stack: includeStack && e.stack
61
44
  };
62
- return Promise.reject(omitEmpty(err));
45
+ return Promise.reject((0, import_omit_empty.omitEmpty)(err));
63
46
  }
64
47
  // Annotate the CommonJS export names for ESM import in node:
65
48
  0 && (module.exports = {
@@ -15,39 +15,14 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/lib/sse.js
20
18
  var sse_exports = {};
21
19
  __export(sse_exports, {
22
20
  createSSE: () => createSSE,
23
21
  parseSSE: () => parseSSE
24
22
  });
25
23
  module.exports = __toCommonJS(sse_exports);
26
-
27
- // src/lib/objects/json.js
28
- function parseJSON(value, defaultValue = {}) {
29
- try {
30
- return JSON.parse(value);
31
- } catch (e) {
32
- return defaultValue;
33
- }
34
- }
35
-
36
- // src/lib/objects/omit-empty.js
37
- function omitEmpty(obj, shallow = false) {
38
- if (typeof obj !== "object" || obj === null) return obj;
39
- if (obj instanceof Date) return obj;
40
- const result = Array.isArray(obj) ? [] : {};
41
- for (const [key, value] of Object.entries(obj)) {
42
- if (value === null || value === void 0 || value === "" || typeof value === "object" && !(value instanceof Date) && Object.keys(value).length === 0) {
43
- continue;
44
- }
45
- result[key] = shallow ? value : omitEmpty(value);
46
- }
47
- return result;
48
- }
49
-
50
- // src/lib/sse.js
24
+ var import_json = require("./objects/json.js");
25
+ var import_omit_empty = require("./objects/omit-empty.js");
51
26
  function createSSE({ event, data, id, retry }) {
52
27
  const eventString = event ? `event: ${event}
53
28
  ` : "";
@@ -73,7 +48,7 @@ function parseSSE(message) {
73
48
  for (const line of lines) {
74
49
  if (line.startsWith("data:")) {
75
50
  const data = line.slice(5).trim();
76
- result.data = parseJSON(data);
51
+ result.data = (0, import_json.parseJSON)(data);
77
52
  continue;
78
53
  }
79
54
  if (line.startsWith("event:")) {
@@ -89,7 +64,7 @@ function parseSSE(message) {
89
64
  continue;
90
65
  }
91
66
  }
92
- const ret = omitEmpty(result);
67
+ const ret = (0, import_omit_empty.omitEmpty)(result);
93
68
  return ret.data ? ret : null;
94
69
  }
95
70
  // Annotate the CommonJS export names for ESM import in node:
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/lib/strings/convert-case/convert-case.js
20
18
  var convert_case_exports = {};
21
19
  __export(convert_case_exports, {
22
20
  toCamel: () => toCamel,
@@ -1,13 +1,7 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
5
  var __copyProps = (to, from, except, desc) => {
12
6
  if (from && typeof from === "object" || typeof from === "function") {
13
7
  for (let key of __getOwnPropNames(from))
@@ -16,182 +10,20 @@ var __copyProps = (to, from, except, desc) => {
16
10
  }
17
11
  return to;
18
12
  };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
27
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/lib/strings/index.js
30
15
  var strings_exports = {};
31
- __export(strings_exports, {
32
- markdown: () => markdown,
33
- parseFullName: () => parseFullName,
34
- plural: () => plural,
35
- pluralize: () => pluralize,
36
- stripNumbers: () => stripNumbers,
37
- toCamel: () => toCamel,
38
- toKebab: () => toKebab,
39
- toLower: () => toLower,
40
- toPascal: () => toPascal,
41
- toQueryString: () => toQueryString,
42
- toSentence: () => toSentence,
43
- toSlug: () => toSlug,
44
- toTitle: () => toTitle,
45
- toUpper: () => toUpper,
46
- treatMarkdownWhitespace: () => treatMarkdownWhitespace
47
- });
48
16
  module.exports = __toCommonJS(strings_exports);
49
-
50
- // src/lib/strings/convert-case/convert-case.js
51
- function toKebab(string) {
52
- if (!string) return "";
53
- return string.split("").map((letter, index) => {
54
- const previousLetter = string[index - 1] || "";
55
- const currentLetter = letter;
56
- if (isDigit(currentLetter) && !isDigit(previousLetter)) {
57
- return `-${currentLetter}`;
58
- }
59
- if (!isCaps(currentLetter)) return currentLetter;
60
- if (previousLetter === "") {
61
- return `${currentLetter.toLowerCase()}`;
62
- }
63
- if (isCaps(previousLetter)) {
64
- return `${currentLetter.toLowerCase()}`;
65
- }
66
- return `-${currentLetter.toLowerCase()}`;
67
- }).join("").trim().replace(/[-_\s]+/g, "-");
68
- }
69
- function toCamel(string) {
70
- return toKebab(string).split("-").map((word, index) => {
71
- if (index === 0) return word;
72
- return word.slice(0, 1).toUpperCase() + word.slice(1).toLowerCase();
73
- }).join("");
74
- }
75
- function toPascal(string) {
76
- const camel = toCamel(string);
77
- return camel.slice(0, 1).toUpperCase() + camel.slice(1);
78
- }
79
- function toTitle(string) {
80
- return toKebab(string).split("-").map((word) => {
81
- return word.slice(0, 1).toUpperCase() + word.slice(1);
82
- }).join(" ");
83
- }
84
- function toSlug(string) {
85
- return toKebab(string);
86
- }
87
- function toSentence(string) {
88
- const interim = toKebab(string).replace(/-/g, " ");
89
- return interim.slice(0, 1).toUpperCase() + interim.slice(1);
90
- }
91
- function toUpper(string) {
92
- const interim = toKebab(string).replace(/-/g, " ");
93
- return interim.toUpperCase();
94
- }
95
- function toLower(string) {
96
- const interim = toKebab(string).replace(/-/g, " ");
97
- return interim.toLowerCase();
98
- }
99
- function isCaps(char) {
100
- return /\p{Lu}/u.test(char);
101
- }
102
- function isDigit(char) {
103
- return /[0-9]/.test(char);
104
- }
105
-
106
- // src/lib/strings/markdown.js
107
- var import_markdown_it = __toESM(require("markdown-it"), 1);
108
- var import_markdown_it_anchor = __toESM(require("markdown-it-anchor"), 1);
109
- var md = (0, import_markdown_it.default)({
110
- html: true,
111
- linkify: true,
112
- typographer: true
113
- });
114
- md.use(import_markdown_it_anchor.default, {
115
- permalink: false,
116
- slugify: (s) => s.toLowerCase().replace(/\s+/g, "-").replace(/[^\w-]/g, "")
117
- });
118
- function markdown(content, options = {}) {
119
- const defaultOptions = { inline: false };
120
- const opts = { ...defaultOptions, ...options };
121
- const { content: treated } = treatMarkdownWhitespace(content, opts);
122
- if (opts.inline) return md.renderInline(treated);
123
- return md.render(treated);
124
- }
125
- function treatMarkdownWhitespace(content, { inline } = {}) {
126
- if (!content) return { content: "", inline };
127
- const lines = content.split("\n");
128
- if (lines[0] !== "" && inline) return { content, inline: true };
129
- const firstLineWithLeadingSpacesIndex = lines.findIndex(
130
- (line) => line.match(/^\s+/)
131
- );
132
- const firstLineWithLeadingSpaces = lines[firstLineWithLeadingSpacesIndex];
133
- const indentation = firstLineWithLeadingSpaces?.match(/^\s+/)?.[0]?.length ?? 0;
134
- const retContent = lines.map((line, index) => {
135
- if (index < firstLineWithLeadingSpacesIndex) return line + "\n";
136
- return line.slice(indentation) + "\n";
137
- }).join("");
138
- return {
139
- content: retContent,
140
- inline
141
- };
142
- }
143
-
144
- // src/lib/strings/name.js
145
- function parseFullName(name) {
146
- const parts = name.trim().split(/\s+/);
147
- if (parts.length === 1) {
148
- return { firstName: parts[0], middleName: "", lastName: "" };
149
- }
150
- if (parts.length === 2) {
151
- return { firstName: parts[0], middleName: "", lastName: parts[1] };
152
- }
153
- if (parts.length === 3) {
154
- const firstName2 = parts.slice(0, 2).join(" ");
155
- const lastName2 = parts[2];
156
- return { firstName: firstName2, middleName: "", lastName: lastName2 };
157
- }
158
- const firstName = parts.slice(0, 2).join(" ");
159
- const lastName = parts[parts.length - 1];
160
- const middleName = parts.slice(2, -1).join(" ");
161
- return { firstName, middleName, lastName };
162
- }
163
-
164
- // src/lib/strings/pluralize.js
165
- var import_pluralize = __toESM(require("pluralize"), 1);
166
- var pluralize = import_pluralize.default;
167
-
168
- // src/lib/strings/query-string.js
169
- function toQueryString(object) {
170
- const searchParams = new URLSearchParams(object);
171
- return searchParams.toString();
172
- }
173
- function plural(count, noun, suffix = "s") {
174
- console.warn("plural is deprecated. Use pluralize instead");
175
- return `${count} ${noun}${count !== 1 ? suffix : ""}`;
176
- }
177
- function stripNumbers(string) {
178
- return string.replace(/\d*/, "");
179
- }
17
+ __reExport(strings_exports, require("./convert-case/convert-case.js"), module.exports);
18
+ __reExport(strings_exports, require("./markdown.js"), module.exports);
19
+ __reExport(strings_exports, require("./name.js"), module.exports);
20
+ __reExport(strings_exports, require("./pluralize.js"), module.exports);
21
+ __reExport(strings_exports, require("./query-string.js"), module.exports);
180
22
  // Annotate the CommonJS export names for ESM import in node:
181
23
  0 && (module.exports = {
182
- markdown,
183
- parseFullName,
184
- plural,
185
- pluralize,
186
- stripNumbers,
187
- toCamel,
188
- toKebab,
189
- toLower,
190
- toPascal,
191
- toQueryString,
192
- toSentence,
193
- toSlug,
194
- toTitle,
195
- toUpper,
196
- treatMarkdownWhitespace
24
+ ...require("./convert-case/convert-case.js"),
25
+ ...require("./markdown.js"),
26
+ ...require("./name.js"),
27
+ ...require("./pluralize.js"),
28
+ ...require("./query-string.js")
197
29
  });
@@ -25,8 +25,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/lib/strings/markdown.js
30
28
  var markdown_exports = {};
31
29
  __export(markdown_exports, {
32
30
  markdown: () => markdown,
@@ -35,7 +33,7 @@ __export(markdown_exports, {
35
33
  module.exports = __toCommonJS(markdown_exports);
36
34
  var import_markdown_it = __toESM(require("markdown-it"), 1);
37
35
  var import_markdown_it_anchor = __toESM(require("markdown-it-anchor"), 1);
38
- var md = (0, import_markdown_it.default)({
36
+ const md = (0, import_markdown_it.default)({
39
37
  html: true,
40
38
  linkify: true,
41
39
  typographer: true
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/lib/strings/name.js
20
18
  var name_exports = {};
21
19
  __export(name_exports, {
22
20
  parseFullName: () => parseFullName
@@ -25,15 +25,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/lib/strings/pluralize.js
30
28
  var pluralize_exports = {};
31
29
  __export(pluralize_exports, {
32
30
  pluralize: () => pluralize
33
31
  });
34
32
  module.exports = __toCommonJS(pluralize_exports);
35
33
  var import_pluralize = __toESM(require("pluralize"), 1);
36
- var pluralize = import_pluralize.default;
34
+ const pluralize = import_pluralize.default;
37
35
  // Annotate the CommonJS export names for ESM import in node:
38
36
  0 && (module.exports = {
39
37
  pluralize
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/lib/strings/query-string.js
20
18
  var query_string_exports = {};
21
19
  __export(query_string_exports, {
22
20
  plural: () => plural,
@@ -15,47 +15,18 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/lib/style/index.js
20
18
  var style_exports = {};
21
19
  __export(style_exports, {
22
20
  toStyleString: () => toStyleString
23
21
  });
24
22
  module.exports = __toCommonJS(style_exports);
25
-
26
- // src/lib/strings/convert-case/convert-case.js
27
- function toKebab(string) {
28
- if (!string) return "";
29
- return string.split("").map((letter, index) => {
30
- const previousLetter = string[index - 1] || "";
31
- const currentLetter = letter;
32
- if (isDigit(currentLetter) && !isDigit(previousLetter)) {
33
- return `-${currentLetter}`;
34
- }
35
- if (!isCaps(currentLetter)) return currentLetter;
36
- if (previousLetter === "") {
37
- return `${currentLetter.toLowerCase()}`;
38
- }
39
- if (isCaps(previousLetter)) {
40
- return `${currentLetter.toLowerCase()}`;
41
- }
42
- return `-${currentLetter.toLowerCase()}`;
43
- }).join("").trim().replace(/[-_\s]+/g, "-");
44
- }
45
- function isCaps(char) {
46
- return /\p{Lu}/u.test(char);
47
- }
48
- function isDigit(char) {
49
- return /[0-9]/.test(char);
50
- }
51
-
52
- // src/lib/style/index.js
23
+ var import_convert_case = require("../strings/convert-case/convert-case.js");
53
24
  function toStyleString(style) {
54
25
  if (!style) return null;
55
26
  if (typeof style === "string") return style;
56
27
  return Object.entries(style).map(([k, v]) => {
57
28
  if (k.startsWith("--")) return `${k}:${v}`;
58
- else return `${toKebab(k)}:${v}`;
29
+ else return `${(0, import_convert_case.toKebab)(k)}:${v}`;
59
30
  }).join("; ").concat(";");
60
31
  }
61
32
  // Annotate the CommonJS export names for ESM import in node:
@@ -2,10 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
5
  var __copyProps = (to, from, except, desc) => {
10
6
  if (from && typeof from === "object" || typeof from === "function") {
11
7
  for (let key of __getOwnPropNames(from))
@@ -14,27 +10,12 @@ var __copyProps = (to, from, except, desc) => {
14
10
  }
15
11
  return to;
16
12
  };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/lib/symbols/index.js
20
15
  var symbols_exports = {};
21
- __export(symbols_exports, {
22
- getSymbol: () => getSymbol,
23
- getSymbolValue: () => getSymbolValue
24
- });
25
16
  module.exports = __toCommonJS(symbols_exports);
26
-
27
- // src/lib/symbols/symbols.js
28
- function getSymbol(object, description) {
29
- return Object.getOwnPropertySymbols(object).find(
30
- (s) => s.description === description
31
- );
32
- }
33
- function getSymbolValue(object, description) {
34
- return object[getSymbol(object, description)];
35
- }
17
+ __reExport(symbols_exports, require("./symbols.js"), module.exports);
36
18
  // Annotate the CommonJS export names for ESM import in node:
37
19
  0 && (module.exports = {
38
- getSymbol,
39
- getSymbolValue
20
+ ...require("./symbols.js")
40
21
  });
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/lib/symbols/symbols.js
20
18
  var symbols_exports = {};
21
19
  __export(symbols_exports, {
22
20
  getSymbol: () => getSymbol,
@@ -25,16 +25,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/node/dirname.js
30
28
  var dirname_exports = {};
31
29
  __export(dirname_exports, {
32
30
  __dirname: () => __dirname,
33
31
  dirname: () => dirname
34
32
  });
35
33
  module.exports = __toCommonJS(dirname_exports);
36
- var import_node_path = __toESM(require("path"), 1);
37
- var import_node_url = require("url");
34
+ var import_node_path = __toESM(require("node:path"), 1);
35
+ var import_node_url = require("node:url");
38
36
  function __dirname(url) {
39
37
  if (!url) throw Error("Please provide 'import.meta.url' to dirname");
40
38
  return import_node_path.default.dirname((0, import_node_url.fileURLToPath)(url));
@@ -0,0 +1,30 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var env_exports = {};
19
+ __export(env_exports, {
20
+ env: () => env
21
+ });
22
+ module.exports = __toCommonJS(env_exports);
23
+ const import_meta = {};
24
+ function env(key) {
25
+ return process.env[key] || import_meta.env[key];
26
+ }
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ env
30
+ });
@@ -25,8 +25,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/node/file-cache.js
30
28
  var file_cache_exports = {};
31
29
  __export(file_cache_exports, {
32
30
  createCache: () => createCache,
@@ -38,48 +36,8 @@ __export(file_cache_exports, {
38
36
  module.exports = __toCommonJS(file_cache_exports);
39
37
  var import_promises = __toESM(require("fs/promises"), 1);
40
38
  var import_glob = require("glob");
41
- var import_node_path = __toESM(require("path"), 1);
42
-
43
- // src/lib/objects/nested-property.js
44
- function getNestedValue(object, path2) {
45
- return path2.split(".").reduce((acc, part) => acc?.[part], object);
46
- }
47
-
48
- // src/lib/arrays/sort.js
49
- function sort(array, { props = null, reverse = false } = {}) {
50
- const clone = array.slice();
51
- if (props === null) {
52
- return clone.sort((a, b) => {
53
- const comparison = compareValues(a, b);
54
- return reverse ? -comparison : comparison;
55
- });
56
- }
57
- const properties = Array.isArray(props) ? props : [props];
58
- return clone.sort((a, b) => {
59
- for (const property of properties) {
60
- const aValue = getNestedValue(a, property);
61
- const bValue = getNestedValue(b, property);
62
- if (aValue === bValue) continue;
63
- if (aValue == null) return 1;
64
- if (bValue == null) return -1;
65
- const comparison = compareValues(aValue, bValue);
66
- return reverse ? -comparison : comparison;
67
- }
68
- return 0;
69
- });
70
- }
71
- function compareValues(a, b) {
72
- if (typeof a === "number" && typeof b === "number") return a - b;
73
- if (typeof a === "string" && typeof b === "string") return a.localeCompare(b);
74
- const aDate = new Date(a);
75
- const bDate = new Date(b);
76
- const aTime = aDate.getTime();
77
- const bTime = bDate.getTime();
78
- if (!isNaN(aTime) && !isNaN(bTime)) return aTime - bTime;
79
- return String(a).localeCompare(String(b));
80
- }
81
-
82
- // src/node/file-cache.js
39
+ var import_node_path = __toESM(require("node:path"), 1);
40
+ var import_arrays = require("../lib/arrays/index.js");
83
41
  async function createCache(dir) {
84
42
  const absDirpath = import_node_path.default.join(process.cwd(), dir);
85
43
  await import_promises.default.mkdir(absDirpath, { recursive: true });
@@ -174,7 +132,7 @@ async function getLastModifiedTime(globPath) {
174
132
  }
175
133
  const stats = await Promise.all(files.map((file) => import_promises.default.stat(file)));
176
134
  const timestamps = stats.map((stat) => Number(stat.mtimeMs));
177
- const sorted = sort(timestamps, { props: "mtimeMs", reverse: true });
135
+ const sorted = (0, import_arrays.sort)(timestamps, { props: "mtimeMs", reverse: true });
178
136
  return sorted[0] || 0;
179
137
  }
180
138
  async function getLatestModifiedTime(globPath) {
@@ -25,16 +25,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/node/file.js
30
28
  var file_exports = {};
31
29
  __export(file_exports, {
32
30
  copyFile: () => copyFile,
33
31
  mkdir: () => mkdir
34
32
  });
35
33
  module.exports = __toCommonJS(file_exports);
36
- var import_promises = __toESM(require("fs/promises"), 1);
37
- var import_node_path = __toESM(require("path"), 1);
34
+ var import_promises = __toESM(require("node:fs/promises"), 1);
35
+ var import_node_path = __toESM(require("node:path"), 1);
38
36
  async function mkdir(path2) {
39
37
  return import_promises.default.mkdir(path2, { recursive: true });
40
38
  }
@@ -25,14 +25,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/node/hash.js
30
28
  var hash_exports = {};
31
29
  __export(hash_exports, {
32
30
  sha256Hash: () => sha256Hash
33
31
  });
34
32
  module.exports = __toCommonJS(hash_exports);
35
- var import_node_crypto = __toESM(require("crypto"), 1);
33
+ var import_node_crypto = __toESM(require("node:crypto"), 1);
36
34
  function sha256Hash(string) {
37
35
  return import_node_crypto.default.createHash("sha256").update(string).digest("hex");
38
36
  }