@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,363 +10,36 @@ 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/objects/index.js
30
15
  var objects_exports = {};
31
- __export(objects_exports, {
32
- camelCaseKeys: () => camelCaseKeys,
33
- concatMix: () => concatMix,
34
- createMix: () => createMix,
35
- extendObject: () => extendObject,
36
- flattenObject: () => flattenObject,
37
- getNestedProperty: () => getNestedProperty,
38
- getNestedProperty2: () => getNestedProperty2,
39
- getNestedValue: () => getNestedValue,
40
- isEmpty: () => isEmpty,
41
- isEqual: () => isEqual,
42
- mix: () => mix,
43
- normalizeObject: () => normalizeObject,
44
- notEmpty: () => notEmpty,
45
- notEqual: () => notEqual,
46
- objectForEach: () => objectForEach,
47
- objectMap: () => objectMap,
48
- omitEmpty: () => omitEmpty,
49
- parseJSON: () => parseJSON,
50
- sizeOf: () => sizeOf,
51
- splitObject: () => splitObject
52
- });
53
16
  module.exports = __toCommonJS(objects_exports);
54
-
55
- // src/lib/objects/loop.js
56
- function objectForEach(object, callback) {
57
- Object.entries(object).forEach(([key, value]) => {
58
- callback({ key, value });
59
- });
60
- }
61
- function objectMap(object, callback) {
62
- return Object.entries(object).map(([key, value]) => {
63
- return callback({ key, value });
64
- });
65
- }
66
-
67
- // src/lib/strings/convert-case/convert-case.js
68
- function toKebab(string) {
69
- if (!string) return "";
70
- return string.split("").map((letter, index) => {
71
- const previousLetter = string[index - 1] || "";
72
- const currentLetter = letter;
73
- if (isDigit(currentLetter) && !isDigit(previousLetter)) {
74
- return `-${currentLetter}`;
75
- }
76
- if (!isCaps(currentLetter)) return currentLetter;
77
- if (previousLetter === "") {
78
- return `${currentLetter.toLowerCase()}`;
79
- }
80
- if (isCaps(previousLetter)) {
81
- return `${currentLetter.toLowerCase()}`;
82
- }
83
- return `-${currentLetter.toLowerCase()}`;
84
- }).join("").trim().replace(/[-_\s]+/g, "-");
85
- }
86
- function toCamel(string) {
87
- return toKebab(string).split("-").map((word, index) => {
88
- if (index === 0) return word;
89
- return word.slice(0, 1).toUpperCase() + word.slice(1).toLowerCase();
90
- }).join("");
91
- }
92
- function isCaps(char) {
93
- return /\p{Lu}/u.test(char);
94
- }
95
- function isDigit(char) {
96
- return /[0-9]/.test(char);
97
- }
98
-
99
- // src/lib/objects/camelcase-keys.js
100
- function camelCaseKeys(obj) {
101
- if (typeof obj !== "object" || obj === null) {
102
- return obj;
103
- }
104
- const result = {};
105
- objectForEach(obj, ({ key, value }) => {
106
- const camelCaseKey = toCamel(key);
107
- result[camelCaseKey] = camelCaseKeys(value);
108
- });
109
- return result;
110
- }
111
-
112
- // src/lib/objects/empty.js
113
- function isEmpty(obj) {
114
- if (typeof obj === "undefined") return true;
115
- if (obj === null) return true;
116
- if (Array.isArray(obj)) return obj.length === 0;
117
- return Object.keys(obj).length === 0;
118
- }
119
- function notEmpty(obj) {
120
- return !isEmpty(obj);
121
- }
122
-
123
- // src/lib/objects/equal.js
124
- var import_deep_eql = __toESM(require("deep-eql"), 1);
125
- function isEqual(a, b) {
126
- return (0, import_deep_eql.default)(a, b);
127
- }
128
- function notEqual(a, b) {
129
- return !isEqual(a, b);
130
- }
131
-
132
- // src/lib/functions/functional.js
133
- function curry(fn) {
134
- return function curried(...args) {
135
- if (args.length >= fn.length) {
136
- return fn.apply(this, args);
137
- } else {
138
- return function(...moreArgs) {
139
- return curried.apply(this, args.concat(moreArgs));
140
- };
141
- }
142
- };
143
- }
144
- function pipe(...fns) {
145
- return function(value) {
146
- return fns.reduce((acc, fn) => fn(acc), value);
147
- };
148
- }
149
-
150
- // src/lib/objects/mix/mix.js
151
- var DEFAULT_OPTIONS = { array: "replace" };
152
- var mix = createMix();
153
- var concatMix = createMix({ array: "concat" });
154
- function createMix(userOptions = {}) {
155
- const options = { ...DEFAULT_OPTIONS, ...userOptions };
156
- function _mix(...sources) {
157
- const result = {};
158
- for (const source of sources) {
159
- if (source == null) continue;
160
- merge(result, source, options);
161
- }
162
- return result;
163
- }
164
- return _mix;
165
- }
166
- function merge(output, input, options) {
167
- const props = Object.keys(input);
168
- for (const prop of props) {
169
- if (prop === "__proto__") continue;
170
- const descriptor = Object.getOwnPropertyDescriptor(input, prop);
171
- const value = descriptor.value;
172
- if (value) descriptor.value = cloneDescriptorValue(value);
173
- if (!output[prop]) {
174
- Object.defineProperty(output, prop, descriptor);
175
- continue;
176
- }
177
- if (typeof output[prop] !== "object") {
178
- Object.defineProperty(output, prop, descriptor);
179
- continue;
180
- }
181
- if (descriptor.value == null || typeof descriptor.value !== "object") {
182
- Object.defineProperty(output, prop, descriptor);
183
- continue;
184
- }
185
- if (objectType(descriptor.value) === "[object Array]") {
186
- output[prop] = options.array === "replace" ? descriptor.value.slice() : output[prop].concat(descriptor.value);
187
- continue;
188
- }
189
- merge(output[prop], descriptor.value, options);
190
- }
191
- }
192
- function cloneDescriptorValue(value) {
193
- if (objectType(value) === "[object Array]") {
194
- const array = [];
195
- for (let v of value) {
196
- v = cloneDescriptorValue(v);
197
- array.push(v);
198
- }
199
- return array;
200
- }
201
- if (objectType(value) === "[object Object]") {
202
- const obj = {};
203
- const props = Object.keys(value);
204
- for (const prop of props) {
205
- const descriptor = Object.getOwnPropertyDescriptor(value, prop);
206
- if (descriptor.value)
207
- descriptor.value = cloneDescriptorValue(descriptor.value);
208
- Object.defineProperty(obj, prop, descriptor);
209
- }
210
- return obj;
211
- }
212
- if (objectType(value) === "[object Date]") {
213
- return new Date(value.getTime());
214
- }
215
- if (objectType(value) === "[object Map]") {
216
- const map = /* @__PURE__ */ new Map();
217
- for (const entry of value) {
218
- map.set(entry[0], cloneDescriptorValue(entry[1]));
219
- }
220
- return map;
221
- }
222
- if (objectType(value) === "[object Set]") {
223
- const set = /* @__PURE__ */ new Set();
224
- for (const entry of value.entries()) {
225
- set.add(cloneDescriptorValue(entry[0]));
226
- }
227
- return set;
228
- }
229
- return value;
230
- }
231
- function objectType(value) {
232
- return Object.prototype.toString.call(value);
233
- }
234
-
235
- // src/lib/objects/extend.js
236
- function extendObject(object) {
237
- const orig = object;
238
- const extended = mix({}, object);
239
- extended.forEach = curry(objectForEach)(orig);
240
- extended.map = curry(objectMap)(orig);
241
- return { orig, extended };
242
- }
243
-
244
- // src/lib/checks.js
245
- function isObject(x) {
246
- return typeof x === "object" && !Array.isArray(x) && x !== null;
247
- }
248
-
249
- // src/lib/objects/flatten.js
250
- function flattenObject(obj, { separator, prefix = "" }) {
251
- return Object.entries(obj).reduce((acc, [key, value]) => {
252
- const newKey = prefix ? `${prefix}${separator}${key}` : key;
253
- const isAnObject = isObject(value);
254
- const hasNestedObject = isAnObject && Object.values(value).some(isObject);
255
- if (hasNestedObject) {
256
- Object.assign(acc, flattenObject(value, { separator, prefix: newKey }));
257
- } else {
258
- acc[newKey] = value;
259
- }
260
- return acc;
261
- }, {});
262
- }
263
-
264
- // src/lib/objects/json.js
265
- function parseJSON(value, defaultValue = {}) {
266
- try {
267
- return JSON.parse(value);
268
- } catch (e) {
269
- return defaultValue;
270
- }
271
- }
272
-
273
- // src/lib/objects/nested-property.js
274
- function getNestedProperty(object, pathArr) {
275
- return pathArr.reduce(
276
- (nestedObject, key) => nestedObject && nestedObject[key] !== "undefined" ? nestedObject[key] : void 0,
277
- object
278
- );
279
- }
280
- function getNestedProperty2(object, path) {
281
- const pathArray = path.split(".");
282
- return getNestedProperty(object, pathArray);
283
- }
284
- function getNestedValue(object, path) {
285
- return path.split(".").reduce((acc, part) => acc?.[part], object);
286
- }
287
-
288
- // src/lib/objects/omit-empty.js
289
- function omitEmpty(obj, shallow = false) {
290
- if (typeof obj !== "object" || obj === null) return obj;
291
- if (obj instanceof Date) return obj;
292
- const result = Array.isArray(obj) ? [] : {};
293
- for (const [key, value] of Object.entries(obj)) {
294
- if (value === null || value === void 0 || value === "" || typeof value === "object" && !(value instanceof Date) && Object.keys(value).length === 0) {
295
- continue;
296
- }
297
- result[key] = shallow ? value : omitEmpty(value);
298
- }
299
- return result;
300
- }
301
-
302
- // src/lib/objects/normalize-object.js
303
- function normalizeObject(object) {
304
- return pipe(omitEmpty, camelCaseKeys)(object);
305
- }
306
-
307
- // src/lib/objects/size.js
308
- function sizeOf(obj) {
309
- let bytes = 0;
310
- function size(obj2) {
311
- if (obj2 !== null && obj2 !== void 0) {
312
- switch (typeof obj2) {
313
- case "number":
314
- bytes += 8;
315
- break;
316
- case "string":
317
- bytes += obj2.length * 2;
318
- break;
319
- case "boolean":
320
- bytes += 4;
321
- break;
322
- case "object":
323
- const objClass = Object.prototype.toString.call(obj2).slice(8, -1);
324
- if (objClass === "Object" || objClass === "Array") {
325
- for (const key in obj2) {
326
- if (!obj2.hasOwnProperty(key)) continue;
327
- size(obj2[key]);
328
- }
329
- } else bytes += obj2.toString().length * 2;
330
- break;
331
- }
332
- }
333
- return bytes;
334
- }
335
- function formatByteSize(bytes2) {
336
- if (bytes2 < 1024) return bytes2 + " bytes";
337
- else if (bytes2 < 1048576) return (bytes2 / 1024).toFixed(3) + " KiB";
338
- else if (bytes2 < 1073741824) return (bytes2 / 1048576).toFixed(3) + " MiB";
339
- else return (bytes2 / 1073741824).toFixed(3) + " GiB";
340
- }
341
- return formatByteSize(size(obj));
342
- }
343
-
344
- // src/lib/objects/split.js
345
- function splitObject(obj, keys) {
346
- const picked = {};
347
- const omitted = { ...obj };
348
- keys.forEach((key) => {
349
- if (key in obj) {
350
- picked[key] = obj[key];
351
- delete omitted[key];
352
- }
353
- });
354
- return { picked, omitted, p: picked, o: omitted };
355
- }
17
+ __reExport(objects_exports, require("./camelcase-keys.js"), module.exports);
18
+ __reExport(objects_exports, require("./empty.js"), module.exports);
19
+ __reExport(objects_exports, require("./equal.js"), module.exports);
20
+ __reExport(objects_exports, require("./extend.js"), module.exports);
21
+ __reExport(objects_exports, require("./flatten.js"), module.exports);
22
+ __reExport(objects_exports, require("./json.js"), module.exports);
23
+ __reExport(objects_exports, require("./loop.js"), module.exports);
24
+ __reExport(objects_exports, require("./mix/mix.js"), module.exports);
25
+ __reExport(objects_exports, require("./nested-property.js"), module.exports);
26
+ __reExport(objects_exports, require("./normalize-object.js"), module.exports);
27
+ __reExport(objects_exports, require("./omit-empty.js"), module.exports);
28
+ __reExport(objects_exports, require("./size.js"), module.exports);
29
+ __reExport(objects_exports, require("./split.js"), module.exports);
356
30
  // Annotate the CommonJS export names for ESM import in node:
357
31
  0 && (module.exports = {
358
- camelCaseKeys,
359
- concatMix,
360
- createMix,
361
- extendObject,
362
- flattenObject,
363
- getNestedProperty,
364
- getNestedProperty2,
365
- getNestedValue,
366
- isEmpty,
367
- isEqual,
368
- mix,
369
- normalizeObject,
370
- notEmpty,
371
- notEqual,
372
- objectForEach,
373
- objectMap,
374
- omitEmpty,
375
- parseJSON,
376
- sizeOf,
377
- splitObject
32
+ ...require("./camelcase-keys.js"),
33
+ ...require("./empty.js"),
34
+ ...require("./equal.js"),
35
+ ...require("./extend.js"),
36
+ ...require("./flatten.js"),
37
+ ...require("./json.js"),
38
+ ...require("./loop.js"),
39
+ ...require("./mix/mix.js"),
40
+ ...require("./nested-property.js"),
41
+ ...require("./normalize-object.js"),
42
+ ...require("./omit-empty.js"),
43
+ ...require("./size.js"),
44
+ ...require("./split.js")
378
45
  });
@@ -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/objects/json.js
20
18
  var json_exports = {};
21
19
  __export(json_exports, {
22
20
  parseJSON: () => parseJSON
@@ -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/objects/loop.js
20
18
  var loop_exports = {};
21
19
  __export(loop_exports, {
22
20
  objectForEach: () => objectForEach,
@@ -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/objects/mix/mix.js
20
18
  var mix_exports = {};
21
19
  __export(mix_exports, {
22
20
  concatMix: () => concatMix,
@@ -24,9 +22,9 @@ __export(mix_exports, {
24
22
  mix: () => mix
25
23
  });
26
24
  module.exports = __toCommonJS(mix_exports);
27
- var DEFAULT_OPTIONS = { array: "replace" };
28
- var mix = createMix();
29
- var concatMix = createMix({ array: "concat" });
25
+ const DEFAULT_OPTIONS = { array: "replace" };
26
+ const mix = createMix();
27
+ const concatMix = createMix({ array: "concat" });
30
28
  function createMix(userOptions = {}) {
31
29
  const options = { ...DEFAULT_OPTIONS, ...userOptions };
32
30
  function _mix(...sources) {
@@ -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/objects/nested-property.js
20
18
  var nested_property_exports = {};
21
19
  __export(nested_property_exports, {
22
20
  getNestedProperty: () => getNestedProperty,
@@ -15,90 +15,16 @@ 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/objects/normalize-object.js
20
18
  var normalize_object_exports = {};
21
19
  __export(normalize_object_exports, {
22
20
  normalizeObject: () => normalizeObject
23
21
  });
24
22
  module.exports = __toCommonJS(normalize_object_exports);
25
-
26
- // src/lib/functions/functional.js
27
- function pipe(...fns) {
28
- return function(value) {
29
- return fns.reduce((acc, fn) => fn(acc), value);
30
- };
31
- }
32
-
33
- // src/lib/objects/loop.js
34
- function objectForEach(object, callback) {
35
- Object.entries(object).forEach(([key, value]) => {
36
- callback({ key, value });
37
- });
38
- }
39
-
40
- // src/lib/strings/convert-case/convert-case.js
41
- function toKebab(string) {
42
- if (!string) return "";
43
- return string.split("").map((letter, index) => {
44
- const previousLetter = string[index - 1] || "";
45
- const currentLetter = letter;
46
- if (isDigit(currentLetter) && !isDigit(previousLetter)) {
47
- return `-${currentLetter}`;
48
- }
49
- if (!isCaps(currentLetter)) return currentLetter;
50
- if (previousLetter === "") {
51
- return `${currentLetter.toLowerCase()}`;
52
- }
53
- if (isCaps(previousLetter)) {
54
- return `${currentLetter.toLowerCase()}`;
55
- }
56
- return `-${currentLetter.toLowerCase()}`;
57
- }).join("").trim().replace(/[-_\s]+/g, "-");
58
- }
59
- function toCamel(string) {
60
- return toKebab(string).split("-").map((word, index) => {
61
- if (index === 0) return word;
62
- return word.slice(0, 1).toUpperCase() + word.slice(1).toLowerCase();
63
- }).join("");
64
- }
65
- function isCaps(char) {
66
- return /\p{Lu}/u.test(char);
67
- }
68
- function isDigit(char) {
69
- return /[0-9]/.test(char);
70
- }
71
-
72
- // src/lib/objects/camelcase-keys.js
73
- function camelCaseKeys(obj) {
74
- if (typeof obj !== "object" || obj === null) {
75
- return obj;
76
- }
77
- const result = {};
78
- objectForEach(obj, ({ key, value }) => {
79
- const camelCaseKey = toCamel(key);
80
- result[camelCaseKey] = camelCaseKeys(value);
81
- });
82
- return result;
83
- }
84
-
85
- // src/lib/objects/omit-empty.js
86
- function omitEmpty(obj, shallow = false) {
87
- if (typeof obj !== "object" || obj === null) return obj;
88
- if (obj instanceof Date) return obj;
89
- const result = Array.isArray(obj) ? [] : {};
90
- for (const [key, value] of Object.entries(obj)) {
91
- if (value === null || value === void 0 || value === "" || typeof value === "object" && !(value instanceof Date) && Object.keys(value).length === 0) {
92
- continue;
93
- }
94
- result[key] = shallow ? value : omitEmpty(value);
95
- }
96
- return result;
97
- }
98
-
99
- // src/lib/objects/normalize-object.js
23
+ var import_functional = require("../functions/functional.js");
24
+ var import_camelcase_keys = require("./camelcase-keys.js");
25
+ var import_omit_empty = require("./omit-empty.js");
100
26
  function normalizeObject(object) {
101
- return pipe(omitEmpty, camelCaseKeys)(object);
27
+ return (0, import_functional.pipe)(import_omit_empty.omitEmpty, import_camelcase_keys.camelCaseKeys)(object);
102
28
  }
103
29
  // Annotate the CommonJS export names for ESM import in node:
104
30
  0 && (module.exports = {
@@ -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/objects/omit-empty.js
20
18
  var omit_empty_exports = {};
21
19
  __export(omit_empty_exports, {
22
20
  omitEmpty: () => omitEmpty
@@ -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/objects/size.js
20
18
  var size_exports = {};
21
19
  __export(size_exports, {
22
20
  sizeOf: () => sizeOf
@@ -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/objects/split.js
20
18
  var split_exports = {};
21
19
  __export(split_exports, {
22
20
  splitObject: () => splitObject
@@ -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,54 +10,12 @@ 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/promises/index.js
30
15
  var promises_exports = {};
31
- __export(promises_exports, {
32
- reject: () => reject
33
- });
34
16
  module.exports = __toCommonJS(promises_exports);
35
-
36
- // src/lib/promises/reject.js
37
- var import_statuses = __toESM(require("statuses"), 1);
38
-
39
- // src/lib/objects/omit-empty.js
40
- function omitEmpty(obj, shallow = false) {
41
- if (typeof obj !== "object" || obj === null) return obj;
42
- if (obj instanceof Date) return obj;
43
- const result = Array.isArray(obj) ? [] : {};
44
- for (const [key, value] of Object.entries(obj)) {
45
- if (value === null || value === void 0 || value === "" || typeof value === "object" && !(value instanceof Date) && Object.keys(value).length === 0) {
46
- continue;
47
- }
48
- result[key] = shallow ? value : omitEmpty(value);
49
- }
50
- return result;
51
- }
52
-
53
- // src/lib/promises/reject.js
54
- function reject(props, { includeStack = true } = {}) {
55
- const { status, statusText, body, message } = props;
56
- const e = new Error();
57
- const err = {
58
- status,
59
- statusText: statusText || status && (0, import_statuses.default)(status),
60
- body,
61
- message,
62
- stack: includeStack && e.stack
63
- };
64
- return Promise.reject(omitEmpty(err));
65
- }
17
+ __reExport(promises_exports, require("./reject.js"), module.exports);
66
18
  // Annotate the CommonJS export names for ESM import in node:
67
19
  0 && (module.exports = {
68
- reject
20
+ ...require("./reject.js")
69
21
  });