@splendidlabz/utils 1.10.2 → 1.10.3

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 (201) hide show
  1. package/CHANGELOG.md +6 -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/common.cjs +0 -2
  93. package/dist/cjs/node/dirname.cjs +2 -4
  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 +15 -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/esm/dom/accessibility.js +0 -1
  102. package/dist/esm/dom/actions/index.js +3 -381
  103. package/dist/esm/dom/actions/masonry.js +3 -91
  104. package/dist/esm/dom/actions/prefer-horizontal-scroll.js +4 -45
  105. package/dist/esm/dom/actions/sticky.js +3 -120
  106. package/dist/esm/dom/bounding-box.js +0 -1
  107. package/dist/esm/dom/clipboard.js +0 -1
  108. package/dist/esm/dom/cookie.js +1 -2
  109. package/dist/esm/dom/css-vars.js +1 -8
  110. package/dist/esm/dom/events.js +0 -1
  111. package/dist/esm/dom/focusable.js +0 -1
  112. package/dist/esm/dom/font-size.js +1 -10
  113. package/dist/esm/dom/get-element.js +1 -2
  114. package/dist/esm/dom/hash.js +0 -1
  115. package/dist/esm/dom/index.js +23 -1168
  116. package/dist/esm/dom/keyboard.js +0 -1
  117. package/dist/esm/dom/local-store.js +1 -2
  118. package/dist/esm/dom/media.js +0 -1
  119. package/dist/esm/dom/observers/index.js +4 -224
  120. package/dist/esm/dom/observers/intersection-observer.js +2 -31
  121. package/dist/esm/dom/observers/mutation-observer.js +3 -32
  122. package/dist/esm/dom/observers/observer.js +1 -8
  123. package/dist/esm/dom/observers/resize-observer.js +2 -31
  124. package/dist/esm/dom/observers/scroll-observer.js +2 -58
  125. package/dist/esm/dom/pkce.js +1 -8
  126. package/dist/esm/dom/query-params.js +1 -2
  127. package/dist/esm/dom/random-string.js +0 -1
  128. package/dist/esm/dom/sanitize.js +3 -26
  129. package/dist/esm/dom/session-store.js +1 -2
  130. package/dist/esm/dom/spam-prevention.js +0 -1
  131. package/dist/esm/dom/trap-focus.js +2 -121
  132. package/dist/esm/dom/ui/aria-current.js +0 -1
  133. package/dist/esm/dom/ui/inconsistent-button-fix.js +0 -1
  134. package/dist/esm/dom/ui/index.js +4 -75
  135. package/dist/esm/dom/ui/scroll-container.js +0 -1
  136. package/dist/esm/dom/ui/traverse-and-scramble.js +0 -1
  137. package/dist/esm/lib/arrays/index.js +6 -106
  138. package/dist/esm/lib/arrays/item-position.js +0 -1
  139. package/dist/esm/lib/arrays/join.js +1 -6
  140. package/dist/esm/lib/arrays/shuffle.js +0 -1
  141. package/dist/esm/lib/arrays/sort.js +1 -6
  142. package/dist/esm/lib/arrays/split-array.js +0 -1
  143. package/dist/esm/lib/arrays/unique.js +0 -1
  144. package/dist/esm/lib/auth/index.js +1 -26
  145. package/dist/esm/lib/auth/route-manager.js +0 -1
  146. package/dist/esm/lib/checks.js +0 -1
  147. package/dist/esm/lib/date/days.js +1 -2
  148. package/dist/esm/lib/date/index.js +3 -173
  149. package/dist/esm/lib/date/months.js +1 -2
  150. package/dist/esm/lib/date/time.js +1 -10
  151. package/dist/esm/lib/form/form-data.js +0 -1
  152. package/dist/esm/lib/form/index.js +2 -92
  153. package/dist/esm/lib/form/sanitize.js +0 -1
  154. package/dist/esm/lib/functions/callback.js +0 -1
  155. package/dist/esm/lib/functions/debounce.js +0 -1
  156. package/dist/esm/lib/functions/env.js +0 -1
  157. package/dist/esm/lib/functions/functional.js +0 -1
  158. package/dist/esm/lib/functions/index.js +5 -105
  159. package/dist/esm/lib/functions/throttle.js +0 -1
  160. package/dist/esm/lib/functions/timeout.js +0 -1
  161. package/dist/esm/lib/hash.js +0 -1
  162. package/dist/esm/lib/index.js +14 -1052
  163. package/dist/esm/lib/numbers/index.js +2 -12
  164. package/dist/esm/lib/numbers/math.js +0 -1
  165. package/dist/esm/lib/objects/camelcase-keys.js +2 -40
  166. package/dist/esm/lib/objects/empty.js +0 -1
  167. package/dist/esm/lib/objects/equal.js +0 -1
  168. package/dist/esm/lib/objects/extend.js +3 -111
  169. package/dist/esm/lib/objects/flatten.js +1 -6
  170. package/dist/esm/lib/objects/index.js +13 -323
  171. package/dist/esm/lib/objects/json.js +0 -1
  172. package/dist/esm/lib/objects/loop.js +0 -1
  173. package/dist/esm/lib/objects/mix/mix.js +3 -4
  174. package/dist/esm/lib/objects/nested-property.js +0 -1
  175. package/dist/esm/lib/objects/normalize-object.js +3 -74
  176. package/dist/esm/lib/objects/omit-empty.js +0 -1
  177. package/dist/esm/lib/objects/size.js +0 -1
  178. package/dist/esm/lib/objects/split.js +0 -1
  179. package/dist/esm/lib/promises/index.js +1 -33
  180. package/dist/esm/lib/promises/reject.js +1 -17
  181. package/dist/esm/lib/sse.js +2 -24
  182. package/dist/esm/lib/strings/convert-case/convert-case.js +0 -1
  183. package/dist/esm/lib/strings/index.js +5 -147
  184. package/dist/esm/lib/strings/markdown.js +1 -2
  185. package/dist/esm/lib/strings/name.js +0 -1
  186. package/dist/esm/lib/strings/pluralize.js +1 -2
  187. package/dist/esm/lib/strings/query-string.js +0 -1
  188. package/dist/esm/lib/style/index.js +1 -27
  189. package/dist/esm/lib/symbols/index.js +1 -13
  190. package/dist/esm/lib/symbols/symbols.js +0 -1
  191. package/dist/esm/node/common.js +0 -1
  192. package/dist/esm/node/dirname.js +2 -3
  193. package/dist/esm/node/file-cache.js +2 -43
  194. package/dist/esm/node/file.js +2 -3
  195. package/dist/esm/node/hash.js +1 -2
  196. package/dist/esm/node/index.js +7 -243
  197. package/dist/esm/node/pkce.js +3 -12
  198. package/dist/esm/node/random-string.js +1 -2
  199. package/dist/esm/node/sanitize.js +3 -26
  200. package/package.json +1 -1
  201. package/tsup.config.mjs +2 -0
@@ -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,275 +10,24 @@ 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/node/index.js
30
15
  var node_exports = {};
31
- __export(node_exports, {
32
- PKCE: () => PKCE,
33
- __dirname: () => __dirname,
34
- createCache: () => createCache,
35
- dirname: () => dirname,
36
- fileCache: () => fileCache,
37
- getLastModifiedTime: () => getLastModifiedTime,
38
- getLatestModifiedTime: () => getLatestModifiedTime,
39
- randomString: () => randomString,
40
- removeFirstSlash: () => removeFirstSlash,
41
- sanitize: () => sanitize2,
42
- sha256Hash: () => sha256Hash,
43
- uuid: () => uuid
44
- });
45
16
  module.exports = __toCommonJS(node_exports);
46
-
47
- // src/node/common.js
48
- var import_crypto = __toESM(require("crypto"), 1);
49
- function uuid() {
50
- return import_crypto.default.randomUUID();
51
- }
52
-
53
- // src/node/dirname.js
54
- var import_node_path = __toESM(require("path"), 1);
55
- var import_node_url = require("url");
56
- function __dirname(url) {
57
- if (!url) throw Error("Please provide 'import.meta.url' to dirname");
58
- return import_node_path.default.dirname((0, import_node_url.fileURLToPath)(url));
59
- }
60
- function dirname(url) {
61
- return __dirname(url);
62
- }
63
-
64
- // src/node/file-cache.js
65
- var import_promises = __toESM(require("fs/promises"), 1);
66
- var import_glob = require("glob");
67
- var import_node_path2 = __toESM(require("path"), 1);
68
-
69
- // src/lib/objects/nested-property.js
70
- function getNestedValue(object, path3) {
71
- return path3.split(".").reduce((acc, part) => acc?.[part], object);
72
- }
73
-
74
- // src/lib/arrays/sort.js
75
- function sort(array, { props = null, reverse = false } = {}) {
76
- const clone = array.slice();
77
- if (props === null) {
78
- return clone.sort((a, b) => {
79
- const comparison = compareValues(a, b);
80
- return reverse ? -comparison : comparison;
81
- });
82
- }
83
- const properties = Array.isArray(props) ? props : [props];
84
- return clone.sort((a, b) => {
85
- for (const property of properties) {
86
- const aValue = getNestedValue(a, property);
87
- const bValue = getNestedValue(b, property);
88
- if (aValue === bValue) continue;
89
- if (aValue == null) return 1;
90
- if (bValue == null) return -1;
91
- const comparison = compareValues(aValue, bValue);
92
- return reverse ? -comparison : comparison;
93
- }
94
- return 0;
95
- });
96
- }
97
- function compareValues(a, b) {
98
- if (typeof a === "number" && typeof b === "number") return a - b;
99
- if (typeof a === "string" && typeof b === "string") return a.localeCompare(b);
100
- const aDate = new Date(a);
101
- const bDate = new Date(b);
102
- const aTime = aDate.getTime();
103
- const bTime = bDate.getTime();
104
- if (!isNaN(aTime) && !isNaN(bTime)) return aTime - bTime;
105
- return String(a).localeCompare(String(b));
106
- }
107
-
108
- // src/node/file-cache.js
109
- async function createCache(dir) {
110
- const absDirpath = import_node_path2.default.join(process.cwd(), dir);
111
- await import_promises.default.mkdir(absDirpath, { recursive: true });
112
- return {
113
- async cacheAt(file) {
114
- if (file) {
115
- const absFilepath = import_node_path2.default.join(absDirpath, file);
116
- try {
117
- const stat = await import_promises.default.stat(absFilepath);
118
- return stat.mtimeMs;
119
- } catch (error) {
120
- return 0;
121
- }
122
- } else {
123
- return getLastModifiedTime(dir + "/**/*");
124
- }
125
- },
126
- getAbsPath(file) {
127
- return import_node_path2.default.join(absDirpath, file);
128
- },
129
- async hasFile(file) {
130
- const absFilepath = import_node_path2.default.join(absDirpath, file);
131
- try {
132
- await import_promises.default.stat(absFilepath);
133
- return true;
134
- } catch (e) {
135
- return false;
136
- }
137
- },
138
- async loadFile(file) {
139
- try {
140
- const absFilepath = import_node_path2.default.join(absDirpath, file);
141
- return import_promises.default.readFile(absFilepath);
142
- } catch (error) {
143
- console.warn(`File not found: ${file}`);
144
- }
145
- },
146
- async saveFile(file, data) {
147
- const absfilepath = import_node_path2.default.join(absDirpath, file);
148
- await import_promises.default.writeFile(absfilepath, data);
149
- },
150
- async loadJSON(file) {
151
- const data = await this.loadFile(file);
152
- try {
153
- return JSON.parse(data.toString());
154
- } catch (err) {
155
- console.warn(`Error parsing JSON: ${file}`);
156
- return {};
157
- }
158
- },
159
- async saveJSON(file, data) {
160
- await this.saveFile(file, JSON.stringify(data));
161
- }
162
- };
163
- }
164
- async function fileCache({ dir, file }) {
165
- await import_promises.default.mkdir(import_node_path2.default.join(process.cwd(), dir), { recursive: true });
166
- const cachePath = import_node_path2.default.join(process.cwd(), dir, `${file}`);
167
- let modifiedAt = 0;
168
- try {
169
- const stat = await import_promises.default.stat(cachePath);
170
- modifiedAt = stat.mtimeMs;
171
- } catch (error) {
172
- }
173
- return {
174
- modifiedAt,
175
- async load() {
176
- return import_promises.default.readFile(cachePath);
177
- },
178
- async save(data) {
179
- await import_promises.default.writeFile(cachePath, data);
180
- },
181
- async loadJSON() {
182
- const data = await import_promises.default.readFile(cachePath);
183
- return JSON.parse(data.toString());
184
- },
185
- async saveJSON(data) {
186
- await import_promises.default.writeFile(cachePath, JSON.stringify(data));
187
- }
188
- };
189
- }
190
- async function getLastModifiedTime(globPath) {
191
- let files;
192
- if (typeof globPath === "string") {
193
- files = await (0, import_glob.glob)(removeFirstSlash(globPath));
194
- }
195
- if (Array.isArray(globPath)) {
196
- const a = await Promise.all(
197
- globPath.map((path3) => (0, import_glob.glob)(removeFirstSlash(path3)))
198
- );
199
- files = a.flat();
200
- }
201
- const stats = await Promise.all(files.map((file) => import_promises.default.stat(file)));
202
- const timestamps = stats.map((stat) => Number(stat.mtimeMs));
203
- const sorted = sort(timestamps, { props: "mtimeMs", reverse: true });
204
- return sorted[0] || 0;
205
- }
206
- async function getLatestModifiedTime(globPath) {
207
- console.warn(
208
- "`getLatestModifiedTime` has been renamed to `getLastModifiedTime` and will be deprecated in future versions. Please use `getLastModifiedTime` instead."
209
- );
210
- return getLastModifiedTime(globPath);
211
- }
212
- function removeFirstSlash(x) {
213
- return x.startsWith("/") ? x.slice(1) : x;
214
- }
215
-
216
- // src/node/hash.js
217
- var import_node_crypto = __toESM(require("crypto"), 1);
218
- function sha256Hash(string) {
219
- return import_node_crypto.default.createHash("sha256").update(string).digest("hex");
220
- }
221
-
222
- // src/node/pkce.js
223
- var import_node_crypto3 = __toESM(require("crypto"), 1);
224
-
225
- // src/node/random-string.js
226
- var import_node_crypto2 = __toESM(require("crypto"), 1);
227
- function randomString(length = 32) {
228
- const bytesNeeded = Math.ceil(length * 3 / 4) + 3;
229
- return import_node_crypto2.default.randomBytes(bytesNeeded).toString("base64").slice(0, length);
230
- }
231
-
232
- // src/node/pkce.js
233
- async function PKCE() {
234
- const codeVerifier = await randomString();
235
- const codeChallenge = await getCodeChallenge(codeVerifier);
236
- return {
237
- state: await randomString(),
238
- code_verifier: codeVerifier,
239
- code_challenge: codeChallenge,
240
- code_challenge_method: "S256"
241
- };
242
- }
243
- async function getCodeChallenge(verifier) {
244
- const hash = import_node_crypto3.default.createHash("sha256").update(verifier).digest();
245
- return hash.toString("base64").replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
246
- }
247
-
248
- // src/node/sanitize.js
249
- var import_sanitize_html = __toESM(require("sanitize-html"), 1);
250
-
251
- // src/lib/form/sanitize.js
252
- function sanitize(value, options = {}) {
253
- const { sanitizer, ...rest } = options;
254
- if (!sanitizer) throw new Error("sanitizer function is required");
255
- if (typeof value === "string") return sanitizer(value, rest);
256
- if (Array.isArray(value)) return sanitizeArray(value, { sanitizer, ...rest });
257
- if (value && typeof value === "object") {
258
- return Object.fromEntries(
259
- Object.entries(value).map(([key, val]) => [
260
- key,
261
- sanitize(val, { sanitizer, ...rest })
262
- ])
263
- );
264
- }
265
- return value;
266
- }
267
- function sanitizeArray(arr, { sanitizer, ...rest }) {
268
- if (!sanitizer) throw new Error("sanitizer function is required");
269
- return arr.map((item) => sanitize(item, { sanitizer, ...rest }));
270
- }
271
-
272
- // src/node/sanitize.js
273
- function sanitize2(value, options = {}) {
274
- return sanitize(value, { sanitizer: import_sanitize_html.default, ...options });
275
- }
17
+ __reExport(node_exports, require("./common.js"), module.exports);
18
+ __reExport(node_exports, require("./dirname.js"), module.exports);
19
+ __reExport(node_exports, require("./file-cache.js"), module.exports);
20
+ __reExport(node_exports, require("./hash.js"), module.exports);
21
+ __reExport(node_exports, require("./pkce.js"), module.exports);
22
+ __reExport(node_exports, require("./random-string.js"), module.exports);
23
+ __reExport(node_exports, require("./sanitize.js"), module.exports);
276
24
  // Annotate the CommonJS export names for ESM import in node:
277
25
  0 && (module.exports = {
278
- PKCE,
279
- __dirname,
280
- createCache,
281
- dirname,
282
- fileCache,
283
- getLastModifiedTime,
284
- getLatestModifiedTime,
285
- randomString,
286
- removeFirstSlash,
287
- sanitize,
288
- sha256Hash,
289
- uuid
26
+ ...require("./common.js"),
27
+ ...require("./dirname.js"),
28
+ ...require("./file-cache.js"),
29
+ ...require("./hash.js"),
30
+ ...require("./pkce.js"),
31
+ ...require("./random-string.js"),
32
+ ...require("./sanitize.js")
290
33
  });
@@ -25,35 +25,25 @@ 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/pkce.js
30
28
  var pkce_exports = {};
31
29
  __export(pkce_exports, {
32
30
  PKCE: () => PKCE
33
31
  });
34
32
  module.exports = __toCommonJS(pkce_exports);
35
- var import_node_crypto2 = __toESM(require("crypto"), 1);
36
-
37
- // src/node/random-string.js
38
- var import_node_crypto = __toESM(require("crypto"), 1);
39
- function randomString(length = 32) {
40
- const bytesNeeded = Math.ceil(length * 3 / 4) + 3;
41
- return import_node_crypto.default.randomBytes(bytesNeeded).toString("base64").slice(0, length);
42
- }
43
-
44
- // src/node/pkce.js
33
+ var import_node_crypto = __toESM(require("node:crypto"), 1);
34
+ var import_random_string = require("./random-string.js");
45
35
  async function PKCE() {
46
- const codeVerifier = await randomString();
36
+ const codeVerifier = await (0, import_random_string.randomString)();
47
37
  const codeChallenge = await getCodeChallenge(codeVerifier);
48
38
  return {
49
- state: await randomString(),
39
+ state: await (0, import_random_string.randomString)(),
50
40
  code_verifier: codeVerifier,
51
41
  code_challenge: codeChallenge,
52
42
  code_challenge_method: "S256"
53
43
  };
54
44
  }
55
45
  async function getCodeChallenge(verifier) {
56
- const hash = import_node_crypto2.default.createHash("sha256").update(verifier).digest();
46
+ const hash = import_node_crypto.default.createHash("sha256").update(verifier).digest();
57
47
  return hash.toString("base64").replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
58
48
  }
59
49
  // Annotate the CommonJS export names for ESM import in node:
@@ -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/random-string.js
30
28
  var random_string_exports = {};
31
29
  __export(random_string_exports, {
32
30
  randomString: () => randomString
33
31
  });
34
32
  module.exports = __toCommonJS(random_string_exports);
35
- var import_node_crypto = __toESM(require("crypto"), 1);
33
+ var import_node_crypto = __toESM(require("node:crypto"), 1);
36
34
  function randomString(length = 32) {
37
35
  const bytesNeeded = Math.ceil(length * 3 / 4) + 3;
38
36
  return import_node_crypto.default.randomBytes(bytesNeeded).toString("base64").slice(0, length);
@@ -25,39 +25,15 @@ 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/sanitize.js
30
28
  var sanitize_exports = {};
31
29
  __export(sanitize_exports, {
32
- sanitize: () => sanitize2
30
+ sanitize: () => sanitize
33
31
  });
34
32
  module.exports = __toCommonJS(sanitize_exports);
35
33
  var import_sanitize_html = __toESM(require("sanitize-html"), 1);
36
-
37
- // src/lib/form/sanitize.js
34
+ var import_sanitize = require("../lib/form/sanitize.js");
38
35
  function sanitize(value, options = {}) {
39
- const { sanitizer, ...rest } = options;
40
- if (!sanitizer) throw new Error("sanitizer function is required");
41
- if (typeof value === "string") return sanitizer(value, rest);
42
- if (Array.isArray(value)) return sanitizeArray(value, { sanitizer, ...rest });
43
- if (value && typeof value === "object") {
44
- return Object.fromEntries(
45
- Object.entries(value).map(([key, val]) => [
46
- key,
47
- sanitize(val, { sanitizer, ...rest })
48
- ])
49
- );
50
- }
51
- return value;
52
- }
53
- function sanitizeArray(arr, { sanitizer, ...rest }) {
54
- if (!sanitizer) throw new Error("sanitizer function is required");
55
- return arr.map((item) => sanitize(item, { sanitizer, ...rest }));
56
- }
57
-
58
- // src/node/sanitize.js
59
- function sanitize2(value, options = {}) {
60
- return sanitize(value, { sanitizer: import_sanitize_html.default, ...options });
36
+ return (0, import_sanitize.sanitize)(value, { sanitizer: import_sanitize_html.default, ...options });
61
37
  }
62
38
  // Annotate the CommonJS export names for ESM import in node:
63
39
  0 && (module.exports = {
@@ -1,4 +1,3 @@
1
- // src/dom/accessibility.js
2
1
  function hasAccessibleName(label, labelledBy) {
3
2
  if (label || labelledBy) return true;
4
3
  return false;