toolbox-x 2.0.12 → 2.0.13

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.
package/dist/dom.cjs CHANGED
@@ -18,93 +18,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
18
18
  const require_primitives = require('./primitives-CBGICrDR.cjs');
19
19
  const require_specials = require('./specials-dkYP1Nh2.cjs');
20
20
  const require_basics = require('./basics-Bb5ovcvz.cjs');
21
- const require_objectify = require('./objectify--6hPlQ7r.cjs');
21
+ const require_query = require('./query-BUBCpo-q.cjs');
22
22
 
23
- //#region src/dom/query.ts
24
- /**
25
- * * Utility to generate query parameters from an object.
26
- *
27
- * @param params - Object containing query parameters.
28
- * @returns A query string as a URL-encoded string, e.g., `?key1=value1&key2=value2`.
29
- *
30
- * @example
31
- * generateQueryParams({ key1: 'value1', key2: 42 }); // "?key1=value1&key2=42"
32
- * generateQueryParams({ key1: ['value1', 'value2'], key2: 42 }); // "?key1=value1&key1=value2&key2=42"
33
- * generateQueryParams({ key1: '', key2: null }); // ""
34
- * generateQueryParams({ key1: true, key2: false }); // "?key1=true&key2=false"
35
- * generateQueryParams({ filters: { category: 'laptop', price: 1000 } }); // "?category=laptop&price=1000"
36
- */
37
- function generateQueryParams(params = {}) {
38
- const flattenedParams = require_objectify.flattenObjectKeyValue(params);
39
- const queryParams = Object.entries(flattenedParams)?.filter(([_, value]) => value != null && !(require_primitives.isString(value) && value?.trim() === ""))?.flatMap(([key, value]) => Array.isArray(value) ? value?.filter((v) => v != null && !(require_primitives.isString(v) && v.trim() === ""))?.map((v) => `${encodeURIComponent(key)}=${encodeURIComponent(String(v))}`) : `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`).join("&");
40
- return queryParams ? `?${queryParams}` : "";
41
- }
42
- /**
43
- * * Get query params as standard `JavaScript` Object `Record<string, string>`. You can define the type by passing a type argument.
44
- *
45
- * - **Note:** *Extracts query parameters from the current URL (window.location.search).*
46
- *
47
- * @returns Query string as key-value paired object. `Record<string, string>`.
48
- */
49
- function getQueryParams() {
50
- return Object.fromEntries(new URLSearchParams(window?.location?.search));
51
- }
52
- /**
53
- * * Update query params in the browser URL with given key and value.
54
- * @param key Key for the query to update.
55
- * @param value Value to updated against the given key.
56
- */
57
- function updateQueryParam(key, value) {
58
- const url = new URL(window.location.href);
59
- url.searchParams.set(key, value);
60
- window.history.replaceState({}, "", url?.toString());
61
- }
62
- /**
63
- * Parses a query string (with optional `?` prefix) into an object.
64
- * Supports multiple values for the same key by returning arrays.
65
- * Optionally parses primitive string values into actual types (e.g., "1" → 1, "true" → true).
66
- *
67
- * @remarks This utility is designed to parse generic string, for literal use, try {@link parseQueryStringLiteral}.
68
- *
69
- * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
70
- *
71
- * @param query - The query string to parse.
72
- * @param parsePrimitives - Whether to convert stringified primitives into real values (default: true).
73
- * @returns An object where keys are strings and values can be string, array, number, boolean, or null/undefined.
74
- */
75
- function parseQueryString(query, parsePrimitives = true) {
76
- const params = new URLSearchParams(query.startsWith("?") ? query.slice(1) : query);
77
- const entries = {};
78
- for (const [key, value] of params.entries()) if (key in entries) {
79
- const current = entries[key];
80
- const array = Array.isArray(current) ? [...current, value] : [current, value];
81
- entries[key] = parsePrimitives ? require_basics.deepParsePrimitives(array) : array;
82
- } else entries[key] = value;
83
- return parsePrimitives ? require_objectify.parseObjectValues(entries) : entries;
84
- }
85
- /**
86
- * Parses a query string (with optional `?` prefix) into an object.
87
- * Supports multiple values for the same key by returning arrays.
88
- * It returns properly typed object.
89
- *
90
- * @remarks This utility is designed to parse literal string, for generic use, try {@link parseQueryString}.
91
- *
92
- * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
93
- *
94
- * @param query - The literal query string to parse.
95
- * @returns An object where keys are strings and values can be string, array, or null/undefined.
96
- */
97
- function parseQueryStringLiteral(query) {
98
- const params = new URLSearchParams(query.startsWith("?") ? query.slice(1) : query);
99
- const entries = {};
100
- for (const [key, value] of params.entries()) if (key in entries) {
101
- const current = entries[key];
102
- entries[key] = Array.isArray(current) ? [...current, value] : [current, value];
103
- } else entries[key] = value;
104
- return entries;
105
- }
106
-
107
- //#endregion
108
23
  //#region src/dom/storage.ts
109
24
  /**
110
25
  * * Get item from local storage.
@@ -338,15 +253,15 @@ const createFormData = (data, configs) => {
338
253
  const _addToFormData = (key, value) => {
339
254
  const transformedKey = _transformKey(key);
340
255
  if (_compareKeyPaths(transformedKey, ignoreKeys)) return;
341
- if (require_objectify.isCustomFileArray(value)) value?.forEach((file) => formData.append(transformedKey, file?.originFileObj));
342
- else if (require_objectify.isFileUpload(value)) {
256
+ if (require_query.isCustomFileArray(value)) value?.forEach((file) => formData.append(transformedKey, file?.originFileObj));
257
+ else if (require_query.isFileUpload(value)) {
343
258
  if (value?.fileList) value?.fileList.forEach((file) => formData.append(transformedKey, file?.originFileObj));
344
- else if (value?.file) if (require_objectify.isCustomFile(value?.file)) formData.append(transformedKey, value?.file?.originFileObj);
259
+ else if (value?.file) if (require_query.isCustomFile(value?.file)) formData.append(transformedKey, value?.file?.originFileObj);
345
260
  else formData.append(transformedKey, value?.file);
346
- } else if (require_objectify.isFileOrBlob(value)) formData.append(transformedKey, value);
347
- else if (require_objectify.isFileList(value)) for (let i = 0; i < value?.length; i++) formData.append(transformedKey, value.item(i));
261
+ } else if (require_query.isFileOrBlob(value)) formData.append(transformedKey, value);
262
+ else if (require_query.isFileList(value)) for (let i = 0; i < value?.length; i++) formData.append(transformedKey, value.item(i));
348
263
  else if (Array.isArray(value)) {
349
- if (require_objectify.isFileArray(value)) if (_shouldBreakArray(key)) value?.forEach((item, index) => {
264
+ if (require_query.isFileArray(value)) if (_shouldBreakArray(key)) value?.forEach((item, index) => {
350
265
  _addToFormData(`${transformedKey}[${index}]`, item);
351
266
  });
352
267
  else value?.forEach((item) => {
@@ -381,7 +296,7 @@ const createFormData = (data, configs) => {
381
296
  if (_shouldDotNotate(fullKey)) _addToFormData(fullKey, value);
382
297
  else if (require_specials.isNotEmptyObject(value) && !_shouldStringify(fullKey)) if (require_basics.isDateLike(value)) _addToFormData(key, _parseDateLike(value));
383
298
  else _processObject(value, key);
384
- else if (require_objectify.isFileOrBlob(value)) _addToFormData(key, value);
299
+ else if (require_query.isFileOrBlob(value)) _addToFormData(key, value);
385
300
  else if (require_basics.isDateLike(value)) _addToFormData(key, _parseDateLike(value));
386
301
  else if (require_specials.isEmptyObject(value)) {
387
302
  if (_isRequiredKey(fullKey)) _addToFormData(key, JSON.stringify(value));
@@ -409,7 +324,7 @@ function serializeForm(form, toQueryString = false) {
409
324
  if (data[key]) data[key] = Array.isArray(data[key]) ? [...data[key], value.toString()] : [data[key], value.toString()];
410
325
  else data[key] = value.toString();
411
326
  });
412
- if (toQueryString) return generateQueryParams(data);
327
+ if (toQueryString) return require_query.generateQueryParams(data);
413
328
  return data;
414
329
  }
415
330
  /**
@@ -436,7 +351,7 @@ function parseFormData(data, parsePrimitives = true) {
436
351
  else if (Array.isArray(existing)) parsed[key] = [...existing, value];
437
352
  else parsed[key] = value;
438
353
  });
439
- if (parsePrimitives) return require_objectify.parseObjectValues(parsed);
354
+ if (parsePrimitives) return require_query.parseObjectValues(parsed);
440
355
  else return parsed;
441
356
  }
442
357
 
@@ -444,26 +359,26 @@ function parseFormData(data, parsePrimitives = true) {
444
359
  exports.convertToFormData = createFormData;
445
360
  exports.copyToClipboard = copyToClipboard;
446
361
  exports.createFormData = createFormData;
447
- exports.createQueryParams = generateQueryParams;
448
- exports.formatQueryParams = generateQueryParams;
449
- exports.generateQueryParams = generateQueryParams;
362
+ exports.createQueryParams = require_query.generateQueryParams;
363
+ exports.formatQueryParams = require_query.generateQueryParams;
364
+ exports.generateQueryParams = require_query.generateQueryParams;
450
365
  exports.getFromLocalStorage = getFromLocalStorage;
451
366
  exports.getFromSessionStorage = getFromSessionStorage;
452
- exports.getQueryParams = getQueryParams;
453
- exports.getQueryStringAsObject = parseQueryString;
454
- exports.isCustomFile = require_objectify.isCustomFile;
455
- exports.isCustomFileArray = require_objectify.isCustomFileArray;
456
- exports.isFileArray = require_objectify.isFileArray;
457
- exports.isFileList = require_objectify.isFileList;
458
- exports.isFileOrBlob = require_objectify.isFileOrBlob;
459
- exports.isFileUpload = require_objectify.isFileUpload;
460
- exports.isOriginFileObj = require_objectify.isOriginFileObj;
461
- exports.isValidFormData = require_objectify.isValidFormData;
462
- exports.literalQueryStringToObject = parseQueryStringLiteral;
367
+ exports.getQueryParams = require_query.getQueryParams;
368
+ exports.getQueryStringAsObject = require_query.parseQueryString;
369
+ exports.isCustomFile = require_query.isCustomFile;
370
+ exports.isCustomFileArray = require_query.isCustomFileArray;
371
+ exports.isFileArray = require_query.isFileArray;
372
+ exports.isFileList = require_query.isFileList;
373
+ exports.isFileOrBlob = require_query.isFileOrBlob;
374
+ exports.isFileUpload = require_query.isFileUpload;
375
+ exports.isOriginFileObj = require_query.isOriginFileObj;
376
+ exports.isValidFormData = require_query.isValidFormData;
377
+ exports.literalQueryStringToObject = require_query.parseQueryStringLiteral;
463
378
  exports.parseFormData = parseFormData;
464
- exports.parseQueryString = parseQueryString;
465
- exports.parseQueryStringLiteral = parseQueryStringLiteral;
466
- exports.queryStringToObject = parseQueryString;
379
+ exports.parseQueryString = require_query.parseQueryString;
380
+ exports.parseQueryStringLiteral = require_query.parseQueryStringLiteral;
381
+ exports.queryStringToObject = require_query.parseQueryString;
467
382
  exports.removeFromLocalStorage = removeFromLocalStorage;
468
383
  exports.removeFromSessionStorage = removeFromSessionStorage;
469
384
  exports.saveToLocalStorage = saveToLocalStorage;
@@ -471,4 +386,4 @@ exports.saveToSessionStorage = saveToSessionStorage;
471
386
  exports.serializeForm = serializeForm;
472
387
  exports.smoothScrollTo = smoothScrollTo;
473
388
  exports.toggleFullScreen = toggleFullScreen;
474
- exports.updateQueryParam = updateQueryParam;
389
+ exports.updateQueryParam = require_query.updateQueryParam;
package/dist/dom.d.cts CHANGED
@@ -14,67 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { J as Deserializer, M as ParsedQueryGeneric, N as QueryObject, ft as Serializer, j as ParsedQuery, y as GenericObject } from "./object-DyVg8BFt.cjs";
18
- import { F as QueryString } from "./string-EMT7czsU.cjs";
17
+ import { J as Deserializer, ft as Serializer, y as GenericObject } from "./object-DyVg8BFt.cjs";
18
+ import { a as updateQueryParam, i as parseQueryStringLiteral, n as getQueryParams, r as parseQueryString, t as generateQueryParams } from "./query-BLsaWi3q.cjs";
19
19
  import { a as OriginFileObj, i as FormDataConfigs, o as ParsedFormData, r as FileUpload, s as SerializedForm, t as CustomFile } from "./form-CHFqlgPr.cjs";
20
20
 
21
- //#region src/dom/query.d.ts
22
- /**
23
- * * Utility to generate query parameters from an object.
24
- *
25
- * @param params - Object containing query parameters.
26
- * @returns A query string as a URL-encoded string, e.g., `?key1=value1&key2=value2`.
27
- *
28
- * @example
29
- * generateQueryParams({ key1: 'value1', key2: 42 }); // "?key1=value1&key2=42"
30
- * generateQueryParams({ key1: ['value1', 'value2'], key2: 42 }); // "?key1=value1&key1=value2&key2=42"
31
- * generateQueryParams({ key1: '', key2: null }); // ""
32
- * generateQueryParams({ key1: true, key2: false }); // "?key1=true&key2=false"
33
- * generateQueryParams({ filters: { category: 'laptop', price: 1000 } }); // "?category=laptop&price=1000"
34
- */
35
- declare function generateQueryParams<T extends QueryObject>(params?: T): QueryString;
36
- /**
37
- * * Get query params as standard `JavaScript` Object `Record<string, string>`. You can define the type by passing a type argument.
38
- *
39
- * - **Note:** *Extracts query parameters from the current URL (window.location.search).*
40
- *
41
- * @returns Query string as key-value paired object. `Record<string, string>`.
42
- */
43
- declare function getQueryParams<QParams extends Record<string, string>>(): QParams;
44
- /**
45
- * * Update query params in the browser URL with given key and value.
46
- * @param key Key for the query to update.
47
- * @param value Value to updated against the given key.
48
- */
49
- declare function updateQueryParam(key: string, value: string): void;
50
- /**
51
- * Parses a query string (with optional `?` prefix) into an object.
52
- * Supports multiple values for the same key by returning arrays.
53
- * Optionally parses primitive string values into actual types (e.g., "1" → 1, "true" → true).
54
- *
55
- * @remarks This utility is designed to parse generic string, for literal use, try {@link parseQueryStringLiteral}.
56
- *
57
- * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
58
- *
59
- * @param query - The query string to parse.
60
- * @param parsePrimitives - Whether to convert stringified primitives into real values (default: true).
61
- * @returns An object where keys are strings and values can be string, array, number, boolean, or null/undefined.
62
- */
63
- declare function parseQueryString<QParams extends ParsedQueryGeneric>(query: string, parsePrimitives?: boolean): QParams;
64
- /**
65
- * Parses a query string (with optional `?` prefix) into an object.
66
- * Supports multiple values for the same key by returning arrays.
67
- * It returns properly typed object.
68
- *
69
- * @remarks This utility is designed to parse literal string, for generic use, try {@link parseQueryString}.
70
- *
71
- * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
72
- *
73
- * @param query - The literal query string to parse.
74
- * @returns An object where keys are strings and values can be string, array, or null/undefined.
75
- */
76
- declare function parseQueryStringLiteral<Q extends string>(query: Q): ParsedQuery<Q>;
77
- //#endregion
78
21
  //#region src/dom/storage.d.ts
79
22
  /**
80
23
  * * Get item from local storage.
package/dist/dom.d.mts CHANGED
@@ -14,67 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { J as Deserializer, M as ParsedQueryGeneric, N as QueryObject, ft as Serializer, j as ParsedQuery, y as GenericObject } from "./object-DyVg8BFt.mjs";
18
- import { F as QueryString } from "./string-GQsmDdYa.mjs";
17
+ import { J as Deserializer, ft as Serializer, y as GenericObject } from "./object-DyVg8BFt.mjs";
18
+ import { a as updateQueryParam, i as parseQueryStringLiteral, n as getQueryParams, r as parseQueryString, t as generateQueryParams } from "./query-Bi_ofCBp.mjs";
19
19
  import { a as OriginFileObj, i as FormDataConfigs, o as ParsedFormData, r as FileUpload, s as SerializedForm, t as CustomFile } from "./form-crhNgN40.mjs";
20
20
 
21
- //#region src/dom/query.d.ts
22
- /**
23
- * * Utility to generate query parameters from an object.
24
- *
25
- * @param params - Object containing query parameters.
26
- * @returns A query string as a URL-encoded string, e.g., `?key1=value1&key2=value2`.
27
- *
28
- * @example
29
- * generateQueryParams({ key1: 'value1', key2: 42 }); // "?key1=value1&key2=42"
30
- * generateQueryParams({ key1: ['value1', 'value2'], key2: 42 }); // "?key1=value1&key1=value2&key2=42"
31
- * generateQueryParams({ key1: '', key2: null }); // ""
32
- * generateQueryParams({ key1: true, key2: false }); // "?key1=true&key2=false"
33
- * generateQueryParams({ filters: { category: 'laptop', price: 1000 } }); // "?category=laptop&price=1000"
34
- */
35
- declare function generateQueryParams<T extends QueryObject>(params?: T): QueryString;
36
- /**
37
- * * Get query params as standard `JavaScript` Object `Record<string, string>`. You can define the type by passing a type argument.
38
- *
39
- * - **Note:** *Extracts query parameters from the current URL (window.location.search).*
40
- *
41
- * @returns Query string as key-value paired object. `Record<string, string>`.
42
- */
43
- declare function getQueryParams<QParams extends Record<string, string>>(): QParams;
44
- /**
45
- * * Update query params in the browser URL with given key and value.
46
- * @param key Key for the query to update.
47
- * @param value Value to updated against the given key.
48
- */
49
- declare function updateQueryParam(key: string, value: string): void;
50
- /**
51
- * Parses a query string (with optional `?` prefix) into an object.
52
- * Supports multiple values for the same key by returning arrays.
53
- * Optionally parses primitive string values into actual types (e.g., "1" → 1, "true" → true).
54
- *
55
- * @remarks This utility is designed to parse generic string, for literal use, try {@link parseQueryStringLiteral}.
56
- *
57
- * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
58
- *
59
- * @param query - The query string to parse.
60
- * @param parsePrimitives - Whether to convert stringified primitives into real values (default: true).
61
- * @returns An object where keys are strings and values can be string, array, number, boolean, or null/undefined.
62
- */
63
- declare function parseQueryString<QParams extends ParsedQueryGeneric>(query: string, parsePrimitives?: boolean): QParams;
64
- /**
65
- * Parses a query string (with optional `?` prefix) into an object.
66
- * Supports multiple values for the same key by returning arrays.
67
- * It returns properly typed object.
68
- *
69
- * @remarks This utility is designed to parse literal string, for generic use, try {@link parseQueryString}.
70
- *
71
- * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
72
- *
73
- * @param query - The literal query string to parse.
74
- * @returns An object where keys are strings and values can be string, array, or null/undefined.
75
- */
76
- declare function parseQueryStringLiteral<Q extends string>(query: Q): ParsedQuery<Q>;
77
- //#endregion
78
21
  //#region src/dom/storage.d.ts
79
22
  /**
80
23
  * * Get item from local storage.
package/dist/dom.mjs CHANGED
@@ -16,94 +16,9 @@
16
16
 
17
17
  import { a as isNonEmptyString, d as isString } from "./primitives-Djsevc69.mjs";
18
18
  import { j as isValidArray, v as isEmptyObject, w as isNotEmptyObject } from "./specials-Hq5Ncd6y.mjs";
19
- import { I as deepParsePrimitives, J as isDateLike, n as trimString } from "./basics-Dald7J6c.mjs";
20
- import { _ as isOriginFileObj, a as flattenObjectKeyValue, d as isCustomFile, f as isCustomFileArray, g as isFileUpload, h as isFileOrBlob, l as parseObjectValues, m as isFileList, p as isFileArray, v as isValidFormData } from "./objectify-BoIZEKOL.mjs";
19
+ import { J as isDateLike, n as trimString } from "./basics-Dald7J6c.mjs";
20
+ import { C as isValidFormData, S as isOriginFileObj, _ as isCustomFileArray, a as updateQueryParam, b as isFileOrBlob, g as isCustomFile, i as parseQueryStringLiteral, m as parseObjectValues, n as getQueryParams, r as parseQueryString, t as generateQueryParams, v as isFileArray, x as isFileUpload, y as isFileList } from "./query-B4Lrr5Vt.mjs";
21
21
 
22
- //#region src/dom/query.ts
23
- /**
24
- * * Utility to generate query parameters from an object.
25
- *
26
- * @param params - Object containing query parameters.
27
- * @returns A query string as a URL-encoded string, e.g., `?key1=value1&key2=value2`.
28
- *
29
- * @example
30
- * generateQueryParams({ key1: 'value1', key2: 42 }); // "?key1=value1&key2=42"
31
- * generateQueryParams({ key1: ['value1', 'value2'], key2: 42 }); // "?key1=value1&key1=value2&key2=42"
32
- * generateQueryParams({ key1: '', key2: null }); // ""
33
- * generateQueryParams({ key1: true, key2: false }); // "?key1=true&key2=false"
34
- * generateQueryParams({ filters: { category: 'laptop', price: 1000 } }); // "?category=laptop&price=1000"
35
- */
36
- function generateQueryParams(params = {}) {
37
- const flattenedParams = flattenObjectKeyValue(params);
38
- const queryParams = Object.entries(flattenedParams)?.filter(([_, value]) => value != null && !(isString(value) && value?.trim() === ""))?.flatMap(([key, value]) => Array.isArray(value) ? value?.filter((v) => v != null && !(isString(v) && v.trim() === ""))?.map((v) => `${encodeURIComponent(key)}=${encodeURIComponent(String(v))}`) : `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`).join("&");
39
- return queryParams ? `?${queryParams}` : "";
40
- }
41
- /**
42
- * * Get query params as standard `JavaScript` Object `Record<string, string>`. You can define the type by passing a type argument.
43
- *
44
- * - **Note:** *Extracts query parameters from the current URL (window.location.search).*
45
- *
46
- * @returns Query string as key-value paired object. `Record<string, string>`.
47
- */
48
- function getQueryParams() {
49
- return Object.fromEntries(new URLSearchParams(window?.location?.search));
50
- }
51
- /**
52
- * * Update query params in the browser URL with given key and value.
53
- * @param key Key for the query to update.
54
- * @param value Value to updated against the given key.
55
- */
56
- function updateQueryParam(key, value) {
57
- const url = new URL(window.location.href);
58
- url.searchParams.set(key, value);
59
- window.history.replaceState({}, "", url?.toString());
60
- }
61
- /**
62
- * Parses a query string (with optional `?` prefix) into an object.
63
- * Supports multiple values for the same key by returning arrays.
64
- * Optionally parses primitive string values into actual types (e.g., "1" → 1, "true" → true).
65
- *
66
- * @remarks This utility is designed to parse generic string, for literal use, try {@link parseQueryStringLiteral}.
67
- *
68
- * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
69
- *
70
- * @param query - The query string to parse.
71
- * @param parsePrimitives - Whether to convert stringified primitives into real values (default: true).
72
- * @returns An object where keys are strings and values can be string, array, number, boolean, or null/undefined.
73
- */
74
- function parseQueryString(query, parsePrimitives = true) {
75
- const params = new URLSearchParams(query.startsWith("?") ? query.slice(1) : query);
76
- const entries = {};
77
- for (const [key, value] of params.entries()) if (key in entries) {
78
- const current = entries[key];
79
- const array = Array.isArray(current) ? [...current, value] : [current, value];
80
- entries[key] = parsePrimitives ? deepParsePrimitives(array) : array;
81
- } else entries[key] = value;
82
- return parsePrimitives ? parseObjectValues(entries) : entries;
83
- }
84
- /**
85
- * Parses a query string (with optional `?` prefix) into an object.
86
- * Supports multiple values for the same key by returning arrays.
87
- * It returns properly typed object.
88
- *
89
- * @remarks This utility is designed to parse literal string, for generic use, try {@link parseQueryString}.
90
- *
91
- * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
92
- *
93
- * @param query - The literal query string to parse.
94
- * @returns An object where keys are strings and values can be string, array, or null/undefined.
95
- */
96
- function parseQueryStringLiteral(query) {
97
- const params = new URLSearchParams(query.startsWith("?") ? query.slice(1) : query);
98
- const entries = {};
99
- for (const [key, value] of params.entries()) if (key in entries) {
100
- const current = entries[key];
101
- entries[key] = Array.isArray(current) ? [...current, value] : [current, value];
102
- } else entries[key] = value;
103
- return entries;
104
- }
105
-
106
- //#endregion
107
22
  //#region src/dom/storage.ts
108
23
  /**
109
24
  * * Get item from local storage.
package/dist/index.cjs CHANGED
@@ -23,7 +23,7 @@ const require_specials = require('./specials-dkYP1Nh2.cjs');
23
23
  const require_utilities = require('./utilities-CWV1GPGY.cjs');
24
24
  const require_basics = require('./basics-Bb5ovcvz.cjs');
25
25
  const require_guards = require('./guards-D8Iz6EEy.cjs');
26
- const require_objectify = require('./objectify--6hPlQ7r.cjs');
26
+ const require_query = require('./query-BUBCpo-q.cjs');
27
27
 
28
28
  //#region src/string/anagram.ts
29
29
  /** `WeakMap` to cache user provided dictionary array */
@@ -2217,6 +2217,7 @@ exports.countStaticMethods = require_basics.countStaticMethods;
2217
2217
  exports.countWords = countWords;
2218
2218
  exports.countWordsInString = countWords;
2219
2219
  exports.createOptionsArray = createOptionsArray;
2220
+ exports.createQueryParams = require_query.generateQueryParams;
2220
2221
  exports.debounceAction = require_basics.debounceAction;
2221
2222
  exports.deepParsePrimitives = require_basics.deepParsePrimitives;
2222
2223
  exports.definePrototypeMethod = require_basics.definePrototypeMethod;
@@ -2230,15 +2231,15 @@ exports.extractEntries = require_guards.extractObjectEntries;
2230
2231
  exports.extractKeys = require_guards.extractObjectKeys;
2231
2232
  exports.extractKeysDeep = require_guards.extractObjectKeysDeep;
2232
2233
  exports.extractMissingElements = findMissingElements;
2233
- exports.extractNewFields = require_objectify.extractNewFields;
2234
+ exports.extractNewFields = require_query.extractNewFields;
2234
2235
  exports.extractNumbers = extractNumbersFromString;
2235
2236
  exports.extractNumbersFromString = extractNumbersFromString;
2236
2237
  exports.extractObjectEntries = require_guards.extractObjectEntries;
2237
2238
  exports.extractObjectKeys = require_guards.extractObjectKeys;
2238
2239
  exports.extractObjectKeysDeep = require_guards.extractObjectKeysDeep;
2239
2240
  exports.extractURLs = require_guards.extractURLs;
2240
- exports.extractUpdatedAndNewFields = require_objectify.extractUpdatedAndNewFields;
2241
- exports.extractUpdatedFields = require_objectify.extractUpdatedFields;
2241
+ exports.extractUpdatedAndNewFields = require_query.extractUpdatedAndNewFields;
2242
+ exports.extractUpdatedFields = require_query.extractUpdatedFields;
2242
2243
  exports.factorial = factorial;
2243
2244
  exports.factorsOf = getFactors;
2244
2245
  exports.fibonacciGenerator = fibonacciGenerator;
@@ -2246,14 +2247,16 @@ exports.filterArrayOfObjects = require_guards.filterArrayOfObjects;
2246
2247
  exports.findMissingElements = findMissingElements;
2247
2248
  exports.findPrimeNumbers = require_guards.findPrimeNumbers;
2248
2249
  exports.flattenArray = require_guards.flattenArray;
2249
- exports.flattenObjectDotNotation = require_objectify.flattenObjectDotNotation;
2250
- exports.flattenObjectKeyValue = require_objectify.flattenObjectKeyValue;
2250
+ exports.flattenObjectDotNotation = require_query.flattenObjectDotNotation;
2251
+ exports.flattenObjectKeyValue = require_query.flattenObjectKeyValue;
2251
2252
  exports.formatCurrency = require_utilities.formatCurrency;
2252
2253
  exports.formatNumberWithPluralUnit = require_guards.formatUnitWithPlural;
2254
+ exports.formatQueryParams = require_query.generateQueryParams;
2253
2255
  exports.formatUnitWithPlural = require_guards.formatUnitWithPlural;
2254
2256
  exports.formatWithPlural = require_guards.formatUnitWithPlural;
2255
2257
  exports.generateAnagrams = generateAnagrams;
2256
2258
  exports.generateFibonacci = fibonacciGenerator;
2259
+ exports.generateQueryParams = require_query.generateQueryParams;
2257
2260
  exports.generateRandomID = require_basics.generateRandomID;
2258
2261
  exports.getAverage = getAverage;
2259
2262
  exports.getAverageOfNumbers = getAverage;
@@ -2282,6 +2285,7 @@ exports.getNumbersInRange = getNumbersInRange;
2282
2285
  exports.getOrdinal = require_utilities.getOrdinal;
2283
2286
  exports.getOrdinalNumber = require_utilities.getOrdinal;
2284
2287
  exports.getPrimeNumbers = require_guards.findPrimeNumbers;
2288
+ exports.getQueryStringAsObject = require_query.parseQueryString;
2285
2289
  exports.getRandomDecimal = require_utilities.getRandomFloat;
2286
2290
  exports.getRandomFloat = require_utilities.getRandomFloat;
2287
2291
  exports.getRandomInt = getRandomNumber;
@@ -2301,9 +2305,10 @@ exports.isPrime = require_guards.isPrime;
2301
2305
  exports.isPrimeNumber = require_guards.isPrime;
2302
2306
  exports.joinArrayElements = require_basics.convertArrayToString;
2303
2307
  exports.levenshteinDistance = getLevenshteinDistance;
2308
+ exports.literalQueryStringToObject = require_query.parseQueryStringLiteral;
2304
2309
  exports.maskString = require_guards.maskString;
2305
- exports.mergeAndFlattenObjects = require_objectify.mergeAndFlattenObjects;
2306
- exports.mergeObjects = require_objectify.mergeObjects;
2310
+ exports.mergeAndFlattenObjects = require_query.mergeAndFlattenObjects;
2311
+ exports.mergeObjects = require_query.mergeObjects;
2307
2312
  exports.moveArrayElement = moveArrayElement;
2308
2313
  exports.naturalSort = require_basics.naturalSort;
2309
2314
  exports.naturalSortForString = require_basics.naturalSort;
@@ -2319,15 +2324,18 @@ exports.omitFields = deleteFields;
2319
2324
  exports.omitObjectFields = deleteFields;
2320
2325
  exports.parseJSON = require_basics.parseJSON;
2321
2326
  exports.parseJsonDeep = require_basics.parseJSON;
2322
- exports.parseJsonToObject = require_objectify.parseJsonToObject;
2327
+ exports.parseJsonToObject = require_query.parseJsonToObject;
2323
2328
  exports.parseNumbersFromText = extractNumbersFromString;
2324
- exports.parseObjectValues = require_objectify.parseObjectValues;
2329
+ exports.parseObjectValues = require_query.parseObjectValues;
2325
2330
  exports.parsePrimitivesDeep = require_basics.deepParsePrimitives;
2326
- exports.parseStringifiedObjectValues = require_objectify.parseObjectValues;
2331
+ exports.parseQueryString = require_query.parseQueryString;
2332
+ exports.parseQueryStringLiteral = require_query.parseQueryStringLiteral;
2333
+ exports.parseStringifiedObjectValues = require_query.parseObjectValues;
2327
2334
  exports.pickFields = pickFields;
2328
2335
  exports.pickFieldsByCondition = pickObjectFieldsByCondition;
2329
2336
  exports.pickObjectFields = pickFields;
2330
2337
  exports.pickObjectFieldsByCondition = pickObjectFieldsByCondition;
2338
+ exports.queryStringToObject = require_query.parseQueryString;
2331
2339
  exports.remapFields = remapFields;
2332
2340
  exports.remapObjectFields = remapFields;
2333
2341
  exports.removeDuplicates = removeDuplicatesFromArray;
@@ -2346,7 +2354,7 @@ exports.roundNumberToNearestInterval = require_utilities.roundToNearest;
2346
2354
  exports.roundToDecimal = roundNumber;
2347
2355
  exports.roundToNearest = require_utilities.roundToNearest;
2348
2356
  exports.roundToNearestInterval = require_utilities.roundToNearest;
2349
- exports.sanitizeData = require_objectify.sanitizeData;
2357
+ exports.sanitizeData = require_query.sanitizeData;
2350
2358
  exports.shuffleArray = require_guards.shuffleArray;
2351
2359
  exports.slugifyString = require_guards.slugifyString;
2352
2360
  exports.sortAnArray = require_basics.sortAnArray;
package/dist/index.d.cts CHANGED
@@ -17,6 +17,7 @@
17
17
  import { $n as NumberType, Bn as DecimalOptions, D as NumericDotKey, E as NestedPrimitiveKey, F as SanitizeOptions, I as SanitizedData, In as BnDigitResult, Ln as ConvertOptions, O as ObjectEntry, Q as FlattenPartial, Rn as ConvertedDecimal, Un as FrankFurterCurrency, V as BasicPrimitive, Xn as LocaleCode, Zn as LooseRomanNumeral, a as ConvertObjectOptions, ar as RomanCapital, c as DeepKeys, ci as Tuple, ct as Numeric, g as FlattenDotValue, ir as RangedNumbers, k as Objects, lt as OwnKeys, nr as RandomNumberOptions, nt as Maybe, o as ConvertedObject, p as ExpandAll, pi as Unit, rr as RangeOptions, s as CountryDetails, tr as PercentageOptions, u as DotNotationKey, ut as PartialOrRequired, v as FlattenLeafValue, w as MergeAll, y as GenericObject, z as Any, zn as CurrencyCode } from "./object-DyVg8BFt.cjs";
18
18
  import { T as DiffResult, f as AnagramOptions, g as CharDiffResult, j as MaskOptions } from "./string-EMT7czsU.cjs";
19
19
  import { n as convertStringCase, t as capitalizeString } from "./case-DMCkxWbW.cjs";
20
+ import { i as parseQueryStringLiteral, r as parseQueryString, t as generateQueryParams } from "./query-BLsaWi3q.cjs";
20
21
  import { c as OrderOption, l as SortByOption, n as FindOptions, s as OptionsConfig, t as FieldValue, u as SortNature } from "./array-ChT6TxQ7.cjs";
21
22
  import { C as shuffleArray, S as isInvalidOrEmptyArray, _ as findPrimeNumbers, a as deepParsePrimitives, b as flattenArray, c as getInstanceGetterNames, d as getStaticMethodNames, f as isDeepEqual, g as throttleAction, h as stripJsonEdgeGarbage, i as debounceAction, l as getInstanceMethodNames, m as stableStringify, n as countInstanceMethods, o as definePrototypeMethod, p as parseJSON, r as countStaticMethods, s as getClassDetails, t as convertArrayToString, u as getStaticGetterNames, v as isPrime, x as getLastArrayElement, y as filterArrayOfObjects } from "./index-BgomIbws.cjs";
22
23
  import { n as trimString, r as truncateString, t as generateRandomID } from "./basics-DlwGpXu-.cjs";
@@ -1235,4 +1236,4 @@ declare function remapFields<Source extends GenericObject, Target extends Record
1235
1236
  */
1236
1237
  declare function getCountryByPhone(phone: number | string): CountryDetails[];
1237
1238
  //#endregion
1238
- export { Currency, Finder, Unit, Unit as UnitConverter, convertToRomanNumerals as arabicToRoman, convertToRomanNumerals, convertToRomanNumerals as integerToRoman, convertToRomanNumerals as numberToRoman, convertToRomanNumerals as numericToRoman, convertToRomanNumerals as toRoman, convertToRomanNumerals as toRomanNumeral, averageByField, averageByField as avgByField, banglaToDigit, getAverage as calculateAverage, getAverage, getAverage as getAverageOfNumbers, factorial as calculateFactorial, factorial, factorial as getFactorial, calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, calculatePercentage, capitalizeString, getOrdinal as cardinalToOrdinal, getOrdinal as convertNumberToOrdinal, getOrdinal as convertToOrdinal, getOrdinal, getOrdinal as getOrdinalNumber, getOrdinal as numberToOrdinal, numberToWordsOrdinal as cardinalWordsToOrdinal, numberToWordsOrdinal as convertNumberToWordsOrdinal, numberToWordsOrdinal, clampNumber, cloneObject, naturalSort as compareNaturally, naturalSort as compareSorter, naturalSort, naturalSort as naturalSortForString, computeTextDiff, convertArrayToString, convertArrayToString as joinArrayElements, formatCurrency as convertNumberToCurrency, formatCurrency, numberToWords as convertNumberToWords, numberToWords, convertObjectValues, romanToInteger as convertRomanToArabic, romanToInteger as convertRomanToInteger, romanToInteger as convertRomanToNumeric, romanToInteger as romanToArabic, romanToInteger, romanToInteger as romanToNumeric, convertStringCase, convertToDecimal, convertToDecimal as convertToFixed, wordsToNumber as convertWordToNumber, wordsToNumber as convertWordsToNumber, wordsToNumber as wordToNumber, wordsToNumber, countInstanceMethods, countInstanceMethods as getInstanceMethodsCount, countObjectFields, countStaticMethods, countStaticMethods as getStaticMethodsCount, countWords, countWords as countWordsInString, countWords as wordCount, createOptionsArray, debounceAction, deepParsePrimitives, deepParsePrimitives as parsePrimitivesDeep, definePrototypeMethod, deleteFields, deleteFields as deleteObjectFields, deleteFields as omitFields, deleteFields as omitObjectFields, deleteFields as removeFields, deleteFields as removeObjectFields, digitToBangla, getDuplicates as extractDuplicates, getDuplicates as extractDuplicatesFromArray, getDuplicates, getDuplicates as getDuplicatesFromArray, extractEmails, extractObjectEntries as extractEntries, extractObjectEntries, extractObjectEntries as objectEntries, extractObjectKeys as extractKeys, extractObjectKeys, extractObjectKeysDeep as extractKeysDeep, extractObjectKeysDeep, findMissingElements as extractMissingElements, findMissingElements, findMissingElements as getMissingElements, extractNewFields, extractNumbersFromString as extractNumbers, extractNumbersFromString, extractNumbersFromString as parseNumbersFromText, extractURLs, extractUpdatedAndNewFields, extractUpdatedFields, getFactors as factorsOf, getFactors as getDivisors, getFactors, fibonacciGenerator, fibonacciGenerator as generateFibonacci, filterArrayOfObjects, findPrimeNumbers, findPrimeNumbers as getPrimeNumbers, flattenArray, flattenObjectDotNotation, flattenObjectKeyValue, formatUnitWithPlural as formatNumberWithPluralUnit, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, generateAnagrams, generateRandomID, getCharacterDifferences, getClassDetails, getCountryByPhone, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getFibonacciSeriesMemo, getFibonacciSeriesMemo as getMemoizedFibonacci, getFibonacciSeriesMemo as getMemoizedFibonacciSeries, getInstanceGetterNames, getInstanceMethodNames, getLastArrayElement, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, getNthFibonacci, getNumbersInRange, getRandomFloat as getRandomDecimal, getRandomFloat, getRandomNumber as getRandomInt, getRandomNumber, getStaticGetterNames, getStaticMethodNames, sumNumbers as getSumOfNumbers, sumNumbers, sumNumbers as sumOfNumbers, groupAndAverageByField, groupAndAverageByField as groupAndAvgByField, groupAndSumByField, splitArrayByProperty as groupArrayByProperty, splitArrayByProperty, isDeepEqual, isInvalidOrEmptyArray, isPrime, isPrime as isPrimeNumber, maskString, mergeAndFlattenObjects, mergeObjects, moveArrayElement, normalizeNumber, normalizeString, parseJSON, parseJSON as parseJsonDeep, parseJsonToObject, parseObjectValues, parseObjectValues as parseStringifiedObjectValues, pickFields, pickFields as pickObjectFields, pickObjectFieldsByCondition as pickFieldsByCondition, pickObjectFieldsByCondition, remapFields, remapFields as remapObjectFields, removeDuplicatesFromArray as removeDuplicates, removeDuplicatesFromArray, replaceAllInString, reverseNumber, reverseString, rotateArray, roundNumber, roundNumber as roundToDecimal, roundToNearest as roundNumberToNearestInterval, roundToNearest, roundToNearest as roundToNearestInterval, sanitizeData, shuffleArray, slugifyString, sortAnArray, splitArray, stableStringify, stripJsonEdgeGarbage, sumByField, sumDigits, sumFieldDifference, sumFieldDifference as totalDeltaByField, throttleAction, trimString, truncateString };
1239
+ export { Currency, Finder, Unit, Unit as UnitConverter, convertToRomanNumerals as arabicToRoman, convertToRomanNumerals, convertToRomanNumerals as integerToRoman, convertToRomanNumerals as numberToRoman, convertToRomanNumerals as numericToRoman, convertToRomanNumerals as toRoman, convertToRomanNumerals as toRomanNumeral, averageByField, averageByField as avgByField, banglaToDigit, getAverage as calculateAverage, getAverage, getAverage as getAverageOfNumbers, factorial as calculateFactorial, factorial, factorial as getFactorial, calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, calculatePercentage, capitalizeString, getOrdinal as cardinalToOrdinal, getOrdinal as convertNumberToOrdinal, getOrdinal as convertToOrdinal, getOrdinal, getOrdinal as getOrdinalNumber, getOrdinal as numberToOrdinal, numberToWordsOrdinal as cardinalWordsToOrdinal, numberToWordsOrdinal as convertNumberToWordsOrdinal, numberToWordsOrdinal, clampNumber, cloneObject, naturalSort as compareNaturally, naturalSort as compareSorter, naturalSort, naturalSort as naturalSortForString, computeTextDiff, convertArrayToString, convertArrayToString as joinArrayElements, formatCurrency as convertNumberToCurrency, formatCurrency, numberToWords as convertNumberToWords, numberToWords, convertObjectValues, romanToInteger as convertRomanToArabic, romanToInteger as convertRomanToInteger, romanToInteger as convertRomanToNumeric, romanToInteger as romanToArabic, romanToInteger, romanToInteger as romanToNumeric, convertStringCase, convertToDecimal, convertToDecimal as convertToFixed, wordsToNumber as convertWordToNumber, wordsToNumber as convertWordsToNumber, wordsToNumber as wordToNumber, wordsToNumber, countInstanceMethods, countInstanceMethods as getInstanceMethodsCount, countObjectFields, countStaticMethods, countStaticMethods as getStaticMethodsCount, countWords, countWords as countWordsInString, countWords as wordCount, createOptionsArray, generateQueryParams as createQueryParams, generateQueryParams as formatQueryParams, generateQueryParams, debounceAction, deepParsePrimitives, deepParsePrimitives as parsePrimitivesDeep, definePrototypeMethod, deleteFields, deleteFields as deleteObjectFields, deleteFields as omitFields, deleteFields as omitObjectFields, deleteFields as removeFields, deleteFields as removeObjectFields, digitToBangla, getDuplicates as extractDuplicates, getDuplicates as extractDuplicatesFromArray, getDuplicates, getDuplicates as getDuplicatesFromArray, extractEmails, extractObjectEntries as extractEntries, extractObjectEntries, extractObjectEntries as objectEntries, extractObjectKeys as extractKeys, extractObjectKeys, extractObjectKeysDeep as extractKeysDeep, extractObjectKeysDeep, findMissingElements as extractMissingElements, findMissingElements, findMissingElements as getMissingElements, extractNewFields, extractNumbersFromString as extractNumbers, extractNumbersFromString, extractNumbersFromString as parseNumbersFromText, extractURLs, extractUpdatedAndNewFields, extractUpdatedFields, getFactors as factorsOf, getFactors as getDivisors, getFactors, fibonacciGenerator, fibonacciGenerator as generateFibonacci, filterArrayOfObjects, findPrimeNumbers, findPrimeNumbers as getPrimeNumbers, flattenArray, flattenObjectDotNotation, flattenObjectKeyValue, formatUnitWithPlural as formatNumberWithPluralUnit, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, generateAnagrams, generateRandomID, getCharacterDifferences, getClassDetails, getCountryByPhone, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getFibonacciSeriesMemo, getFibonacciSeriesMemo as getMemoizedFibonacci, getFibonacciSeriesMemo as getMemoizedFibonacciSeries, getInstanceGetterNames, getInstanceMethodNames, getLastArrayElement, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, getNthFibonacci, getNumbersInRange, parseQueryString as getQueryStringAsObject, parseQueryString, parseQueryString as queryStringToObject, getRandomFloat as getRandomDecimal, getRandomFloat, getRandomNumber as getRandomInt, getRandomNumber, getStaticGetterNames, getStaticMethodNames, sumNumbers as getSumOfNumbers, sumNumbers, sumNumbers as sumOfNumbers, groupAndAverageByField, groupAndAverageByField as groupAndAvgByField, groupAndSumByField, splitArrayByProperty as groupArrayByProperty, splitArrayByProperty, isDeepEqual, isInvalidOrEmptyArray, isPrime, isPrime as isPrimeNumber, parseQueryStringLiteral as literalQueryStringToObject, parseQueryStringLiteral, maskString, mergeAndFlattenObjects, mergeObjects, moveArrayElement, normalizeNumber, normalizeString, parseJSON, parseJSON as parseJsonDeep, parseJsonToObject, parseObjectValues, parseObjectValues as parseStringifiedObjectValues, pickFields, pickFields as pickObjectFields, pickObjectFieldsByCondition as pickFieldsByCondition, pickObjectFieldsByCondition, remapFields, remapFields as remapObjectFields, removeDuplicatesFromArray as removeDuplicates, removeDuplicatesFromArray, replaceAllInString, reverseNumber, reverseString, rotateArray, roundNumber, roundNumber as roundToDecimal, roundToNearest as roundNumberToNearestInterval, roundToNearest, roundToNearest as roundToNearestInterval, sanitizeData, shuffleArray, slugifyString, sortAnArray, splitArray, stableStringify, stripJsonEdgeGarbage, sumByField, sumDigits, sumFieldDifference, sumFieldDifference as totalDeltaByField, throttleAction, trimString, truncateString };
package/dist/index.d.mts CHANGED
@@ -17,6 +17,7 @@
17
17
  import { $n as NumberType, Bn as DecimalOptions, D as NumericDotKey, E as NestedPrimitiveKey, F as SanitizeOptions, I as SanitizedData, In as BnDigitResult, Ln as ConvertOptions, O as ObjectEntry, Q as FlattenPartial, Rn as ConvertedDecimal, Un as FrankFurterCurrency, V as BasicPrimitive, Xn as LocaleCode, Zn as LooseRomanNumeral, a as ConvertObjectOptions, ar as RomanCapital, c as DeepKeys, ci as Tuple, ct as Numeric, g as FlattenDotValue, ir as RangedNumbers, k as Objects, lt as OwnKeys, nr as RandomNumberOptions, nt as Maybe, o as ConvertedObject, p as ExpandAll, pi as Unit, rr as RangeOptions, s as CountryDetails, tr as PercentageOptions, u as DotNotationKey, ut as PartialOrRequired, v as FlattenLeafValue, w as MergeAll, y as GenericObject, z as Any, zn as CurrencyCode } from "./object-DyVg8BFt.mjs";
18
18
  import { T as DiffResult, f as AnagramOptions, g as CharDiffResult, j as MaskOptions } from "./string-GQsmDdYa.mjs";
19
19
  import { n as convertStringCase, t as capitalizeString } from "./case-CcoD-jFV.mjs";
20
+ import { i as parseQueryStringLiteral, r as parseQueryString, t as generateQueryParams } from "./query-Bi_ofCBp.mjs";
20
21
  import { c as OrderOption, l as SortByOption, n as FindOptions, s as OptionsConfig, t as FieldValue, u as SortNature } from "./array-D8VGEDBI.mjs";
21
22
  import { C as shuffleArray, S as isInvalidOrEmptyArray, _ as findPrimeNumbers, a as deepParsePrimitives, b as flattenArray, c as getInstanceGetterNames, d as getStaticMethodNames, f as isDeepEqual, g as throttleAction, h as stripJsonEdgeGarbage, i as debounceAction, l as getInstanceMethodNames, m as stableStringify, n as countInstanceMethods, o as definePrototypeMethod, p as parseJSON, r as countStaticMethods, s as getClassDetails, t as convertArrayToString, u as getStaticGetterNames, v as isPrime, x as getLastArrayElement, y as filterArrayOfObjects } from "./index-C9x0f9jU.mjs";
22
23
  import { n as trimString, r as truncateString, t as generateRandomID } from "./basics-DY7AX7D4.mjs";
@@ -1235,4 +1236,4 @@ declare function remapFields<Source extends GenericObject, Target extends Record
1235
1236
  */
1236
1237
  declare function getCountryByPhone(phone: number | string): CountryDetails[];
1237
1238
  //#endregion
1238
- export { Currency, Finder, Unit, Unit as UnitConverter, convertToRomanNumerals as arabicToRoman, convertToRomanNumerals, convertToRomanNumerals as integerToRoman, convertToRomanNumerals as numberToRoman, convertToRomanNumerals as numericToRoman, convertToRomanNumerals as toRoman, convertToRomanNumerals as toRomanNumeral, averageByField, averageByField as avgByField, banglaToDigit, getAverage as calculateAverage, getAverage, getAverage as getAverageOfNumbers, factorial as calculateFactorial, factorial, factorial as getFactorial, calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, calculatePercentage, capitalizeString, getOrdinal as cardinalToOrdinal, getOrdinal as convertNumberToOrdinal, getOrdinal as convertToOrdinal, getOrdinal, getOrdinal as getOrdinalNumber, getOrdinal as numberToOrdinal, numberToWordsOrdinal as cardinalWordsToOrdinal, numberToWordsOrdinal as convertNumberToWordsOrdinal, numberToWordsOrdinal, clampNumber, cloneObject, naturalSort as compareNaturally, naturalSort as compareSorter, naturalSort, naturalSort as naturalSortForString, computeTextDiff, convertArrayToString, convertArrayToString as joinArrayElements, formatCurrency as convertNumberToCurrency, formatCurrency, numberToWords as convertNumberToWords, numberToWords, convertObjectValues, romanToInteger as convertRomanToArabic, romanToInteger as convertRomanToInteger, romanToInteger as convertRomanToNumeric, romanToInteger as romanToArabic, romanToInteger, romanToInteger as romanToNumeric, convertStringCase, convertToDecimal, convertToDecimal as convertToFixed, wordsToNumber as convertWordToNumber, wordsToNumber as convertWordsToNumber, wordsToNumber as wordToNumber, wordsToNumber, countInstanceMethods, countInstanceMethods as getInstanceMethodsCount, countObjectFields, countStaticMethods, countStaticMethods as getStaticMethodsCount, countWords, countWords as countWordsInString, countWords as wordCount, createOptionsArray, debounceAction, deepParsePrimitives, deepParsePrimitives as parsePrimitivesDeep, definePrototypeMethod, deleteFields, deleteFields as deleteObjectFields, deleteFields as omitFields, deleteFields as omitObjectFields, deleteFields as removeFields, deleteFields as removeObjectFields, digitToBangla, getDuplicates as extractDuplicates, getDuplicates as extractDuplicatesFromArray, getDuplicates, getDuplicates as getDuplicatesFromArray, extractEmails, extractObjectEntries as extractEntries, extractObjectEntries, extractObjectEntries as objectEntries, extractObjectKeys as extractKeys, extractObjectKeys, extractObjectKeysDeep as extractKeysDeep, extractObjectKeysDeep, findMissingElements as extractMissingElements, findMissingElements, findMissingElements as getMissingElements, extractNewFields, extractNumbersFromString as extractNumbers, extractNumbersFromString, extractNumbersFromString as parseNumbersFromText, extractURLs, extractUpdatedAndNewFields, extractUpdatedFields, getFactors as factorsOf, getFactors as getDivisors, getFactors, fibonacciGenerator, fibonacciGenerator as generateFibonacci, filterArrayOfObjects, findPrimeNumbers, findPrimeNumbers as getPrimeNumbers, flattenArray, flattenObjectDotNotation, flattenObjectKeyValue, formatUnitWithPlural as formatNumberWithPluralUnit, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, generateAnagrams, generateRandomID, getCharacterDifferences, getClassDetails, getCountryByPhone, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getFibonacciSeriesMemo, getFibonacciSeriesMemo as getMemoizedFibonacci, getFibonacciSeriesMemo as getMemoizedFibonacciSeries, getInstanceGetterNames, getInstanceMethodNames, getLastArrayElement, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, getNthFibonacci, getNumbersInRange, getRandomFloat as getRandomDecimal, getRandomFloat, getRandomNumber as getRandomInt, getRandomNumber, getStaticGetterNames, getStaticMethodNames, sumNumbers as getSumOfNumbers, sumNumbers, sumNumbers as sumOfNumbers, groupAndAverageByField, groupAndAverageByField as groupAndAvgByField, groupAndSumByField, splitArrayByProperty as groupArrayByProperty, splitArrayByProperty, isDeepEqual, isInvalidOrEmptyArray, isPrime, isPrime as isPrimeNumber, maskString, mergeAndFlattenObjects, mergeObjects, moveArrayElement, normalizeNumber, normalizeString, parseJSON, parseJSON as parseJsonDeep, parseJsonToObject, parseObjectValues, parseObjectValues as parseStringifiedObjectValues, pickFields, pickFields as pickObjectFields, pickObjectFieldsByCondition as pickFieldsByCondition, pickObjectFieldsByCondition, remapFields, remapFields as remapObjectFields, removeDuplicatesFromArray as removeDuplicates, removeDuplicatesFromArray, replaceAllInString, reverseNumber, reverseString, rotateArray, roundNumber, roundNumber as roundToDecimal, roundToNearest as roundNumberToNearestInterval, roundToNearest, roundToNearest as roundToNearestInterval, sanitizeData, shuffleArray, slugifyString, sortAnArray, splitArray, stableStringify, stripJsonEdgeGarbage, sumByField, sumDigits, sumFieldDifference, sumFieldDifference as totalDeltaByField, throttleAction, trimString, truncateString };
1239
+ export { Currency, Finder, Unit, Unit as UnitConverter, convertToRomanNumerals as arabicToRoman, convertToRomanNumerals, convertToRomanNumerals as integerToRoman, convertToRomanNumerals as numberToRoman, convertToRomanNumerals as numericToRoman, convertToRomanNumerals as toRoman, convertToRomanNumerals as toRomanNumeral, averageByField, averageByField as avgByField, banglaToDigit, getAverage as calculateAverage, getAverage, getAverage as getAverageOfNumbers, factorial as calculateFactorial, factorial, factorial as getFactorial, calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, calculatePercentage, capitalizeString, getOrdinal as cardinalToOrdinal, getOrdinal as convertNumberToOrdinal, getOrdinal as convertToOrdinal, getOrdinal, getOrdinal as getOrdinalNumber, getOrdinal as numberToOrdinal, numberToWordsOrdinal as cardinalWordsToOrdinal, numberToWordsOrdinal as convertNumberToWordsOrdinal, numberToWordsOrdinal, clampNumber, cloneObject, naturalSort as compareNaturally, naturalSort as compareSorter, naturalSort, naturalSort as naturalSortForString, computeTextDiff, convertArrayToString, convertArrayToString as joinArrayElements, formatCurrency as convertNumberToCurrency, formatCurrency, numberToWords as convertNumberToWords, numberToWords, convertObjectValues, romanToInteger as convertRomanToArabic, romanToInteger as convertRomanToInteger, romanToInteger as convertRomanToNumeric, romanToInteger as romanToArabic, romanToInteger, romanToInteger as romanToNumeric, convertStringCase, convertToDecimal, convertToDecimal as convertToFixed, wordsToNumber as convertWordToNumber, wordsToNumber as convertWordsToNumber, wordsToNumber as wordToNumber, wordsToNumber, countInstanceMethods, countInstanceMethods as getInstanceMethodsCount, countObjectFields, countStaticMethods, countStaticMethods as getStaticMethodsCount, countWords, countWords as countWordsInString, countWords as wordCount, createOptionsArray, generateQueryParams as createQueryParams, generateQueryParams as formatQueryParams, generateQueryParams, debounceAction, deepParsePrimitives, deepParsePrimitives as parsePrimitivesDeep, definePrototypeMethod, deleteFields, deleteFields as deleteObjectFields, deleteFields as omitFields, deleteFields as omitObjectFields, deleteFields as removeFields, deleteFields as removeObjectFields, digitToBangla, getDuplicates as extractDuplicates, getDuplicates as extractDuplicatesFromArray, getDuplicates, getDuplicates as getDuplicatesFromArray, extractEmails, extractObjectEntries as extractEntries, extractObjectEntries, extractObjectEntries as objectEntries, extractObjectKeys as extractKeys, extractObjectKeys, extractObjectKeysDeep as extractKeysDeep, extractObjectKeysDeep, findMissingElements as extractMissingElements, findMissingElements, findMissingElements as getMissingElements, extractNewFields, extractNumbersFromString as extractNumbers, extractNumbersFromString, extractNumbersFromString as parseNumbersFromText, extractURLs, extractUpdatedAndNewFields, extractUpdatedFields, getFactors as factorsOf, getFactors as getDivisors, getFactors, fibonacciGenerator, fibonacciGenerator as generateFibonacci, filterArrayOfObjects, findPrimeNumbers, findPrimeNumbers as getPrimeNumbers, flattenArray, flattenObjectDotNotation, flattenObjectKeyValue, formatUnitWithPlural as formatNumberWithPluralUnit, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, generateAnagrams, generateRandomID, getCharacterDifferences, getClassDetails, getCountryByPhone, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getFibonacciSeriesMemo, getFibonacciSeriesMemo as getMemoizedFibonacci, getFibonacciSeriesMemo as getMemoizedFibonacciSeries, getInstanceGetterNames, getInstanceMethodNames, getLastArrayElement, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, getNthFibonacci, getNumbersInRange, parseQueryString as getQueryStringAsObject, parseQueryString, parseQueryString as queryStringToObject, getRandomFloat as getRandomDecimal, getRandomFloat, getRandomNumber as getRandomInt, getRandomNumber, getStaticGetterNames, getStaticMethodNames, sumNumbers as getSumOfNumbers, sumNumbers, sumNumbers as sumOfNumbers, groupAndAverageByField, groupAndAverageByField as groupAndAvgByField, groupAndSumByField, splitArrayByProperty as groupArrayByProperty, splitArrayByProperty, isDeepEqual, isInvalidOrEmptyArray, isPrime, isPrime as isPrimeNumber, parseQueryStringLiteral as literalQueryStringToObject, parseQueryStringLiteral, maskString, mergeAndFlattenObjects, mergeObjects, moveArrayElement, normalizeNumber, normalizeString, parseJSON, parseJSON as parseJsonDeep, parseJsonToObject, parseObjectValues, parseObjectValues as parseStringifiedObjectValues, pickFields, pickFields as pickObjectFields, pickObjectFieldsByCondition as pickFieldsByCondition, pickObjectFieldsByCondition, remapFields, remapFields as remapObjectFields, removeDuplicatesFromArray as removeDuplicates, removeDuplicatesFromArray, replaceAllInString, reverseNumber, reverseString, rotateArray, roundNumber, roundNumber as roundToDecimal, roundToNearest as roundNumberToNearestInterval, roundToNearest, roundToNearest as roundToNearestInterval, sanitizeData, shuffleArray, slugifyString, sortAnArray, splitArray, stableStringify, stripJsonEdgeGarbage, sumByField, sumDigits, sumFieldDifference, sumFieldDifference as totalDeltaByField, throttleAction, trimString, truncateString };
package/dist/index.mjs CHANGED
@@ -22,7 +22,7 @@ import { T as isObject, b as isFunction, d as isNumericString, j as isValidArray
22
22
  import { a as normalizeNumber, i as getRandomFloat, n as formatCurrency, o as roundToNearest, r as getOrdinal, t as clampNumber } from "./utilities-DPscNbS1.mjs";
23
23
  import { B as getInstanceMethodNames, F as debounceAction, G as stableStringify, H as getStaticMethodNames, I as deepParsePrimitives, K as stripJsonEdgeGarbage, L as definePrototypeMethod, M as convertArrayToString, N as countInstanceMethods, P as countStaticMethods, R as getClassDetails, U as isDeepEqual, V as getStaticGetterNames, W as parseJSON, it as _resolveNestedKey, n as trimString, nt as sortAnArray, q as throttleAction, r as truncateString, rt as _getNumericProp, t as generateRandomID, tt as naturalSort, z as getInstanceGetterNames } from "./basics-Dald7J6c.mjs";
24
24
  import { A as extractObjectEntries, C as filterArrayOfObjects, D as shuffleArray, E as isInvalidOrEmptyArray, M as extractObjectKeysDeep, O as cloneObject, T as getLastArrayElement, _ as areInvalidNumbers, c as extractURLs, d as normalizeString, f as replaceAllInString, g as isPrime, h as findPrimeNumbers, j as extractObjectKeys, k as countObjectFields, l as formatUnitWithPlural, m as slugifyString, p as reverseString, s as extractEmails, u as maskString, v as isEven, w as flattenArray, x as isOdd } from "./guards-D1et4U32.mjs";
25
- import { a as flattenObjectKeyValue, c as parseJsonToObject, i as flattenObjectDotNotation, l as parseObjectValues, n as extractUpdatedAndNewFields, o as mergeAndFlattenObjects, r as extractUpdatedFields, s as mergeObjects, t as extractNewFields, u as sanitizeData } from "./objectify-BoIZEKOL.mjs";
25
+ import { c as extractUpdatedFields, d as mergeAndFlattenObjects, f as mergeObjects, h as sanitizeData, i as parseQueryStringLiteral, l as flattenObjectDotNotation, m as parseObjectValues, o as extractNewFields, p as parseJsonToObject, r as parseQueryString, s as extractUpdatedAndNewFields, t as generateQueryParams, u as flattenObjectKeyValue } from "./query-B4Lrr5Vt.mjs";
26
26
 
27
27
  //#region src/string/anagram.ts
28
28
  /** `WeakMap` to cache user provided dictionary array */
@@ -2171,4 +2171,4 @@ function getCountryByPhone(phone) {
2171
2171
  }
2172
2172
 
2173
2173
  //#endregion
2174
- export { Currency, Finder, Unit, Unit as UnitConverter, convertToRomanNumerals as arabicToRoman, convertToRomanNumerals, convertToRomanNumerals as integerToRoman, convertToRomanNumerals as numberToRoman, convertToRomanNumerals as numericToRoman, convertToRomanNumerals as toRoman, convertToRomanNumerals as toRomanNumeral, averageByField, averageByField as avgByField, banglaToDigit, getAverage as calculateAverage, getAverage, getAverage as getAverageOfNumbers, factorial as calculateFactorial, factorial, factorial as getFactorial, calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, calculatePercentage, capitalizeString, getOrdinal as cardinalToOrdinal, getOrdinal as convertNumberToOrdinal, getOrdinal as convertToOrdinal, getOrdinal, getOrdinal as getOrdinalNumber, getOrdinal as numberToOrdinal, numberToWordsOrdinal as cardinalWordsToOrdinal, numberToWordsOrdinal as convertNumberToWordsOrdinal, numberToWordsOrdinal, clampNumber, cloneObject, naturalSort as compareNaturally, naturalSort as compareSorter, naturalSort, naturalSort as naturalSortForString, computeTextDiff, convertArrayToString, convertArrayToString as joinArrayElements, formatCurrency as convertNumberToCurrency, formatCurrency, numberToWords as convertNumberToWords, numberToWords, convertObjectValues, romanToInteger as convertRomanToArabic, romanToInteger as convertRomanToInteger, romanToInteger as convertRomanToNumeric, romanToInteger as romanToArabic, romanToInteger, romanToInteger as romanToNumeric, convertStringCase, convertToDecimal, convertToDecimal as convertToFixed, wordsToNumber as convertWordToNumber, wordsToNumber as convertWordsToNumber, wordsToNumber as wordToNumber, wordsToNumber, countInstanceMethods, countInstanceMethods as getInstanceMethodsCount, countObjectFields, countStaticMethods, countStaticMethods as getStaticMethodsCount, countWords, countWords as countWordsInString, countWords as wordCount, createOptionsArray, debounceAction, deepParsePrimitives, deepParsePrimitives as parsePrimitivesDeep, definePrototypeMethod, deleteFields, deleteFields as deleteObjectFields, deleteFields as omitFields, deleteFields as omitObjectFields, deleteFields as removeFields, deleteFields as removeObjectFields, digitToBangla, getDuplicates as extractDuplicates, getDuplicates as extractDuplicatesFromArray, getDuplicates, getDuplicates as getDuplicatesFromArray, extractEmails, extractObjectEntries as extractEntries, extractObjectEntries, extractObjectEntries as objectEntries, extractObjectKeys as extractKeys, extractObjectKeys, extractObjectKeysDeep as extractKeysDeep, extractObjectKeysDeep, findMissingElements as extractMissingElements, findMissingElements, findMissingElements as getMissingElements, extractNewFields, extractNumbersFromString as extractNumbers, extractNumbersFromString, extractNumbersFromString as parseNumbersFromText, extractURLs, extractUpdatedAndNewFields, extractUpdatedFields, getFactors as factorsOf, getFactors as getDivisors, getFactors, fibonacciGenerator, fibonacciGenerator as generateFibonacci, filterArrayOfObjects, findPrimeNumbers, findPrimeNumbers as getPrimeNumbers, flattenArray, flattenObjectDotNotation, flattenObjectKeyValue, formatUnitWithPlural as formatNumberWithPluralUnit, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, generateAnagrams, generateRandomID, getCharacterDifferences, getClassDetails, getCountryByPhone, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getFibonacciSeriesMemo, getFibonacciSeriesMemo as getMemoizedFibonacci, getFibonacciSeriesMemo as getMemoizedFibonacciSeries, getInstanceGetterNames, getInstanceMethodNames, getLastArrayElement, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, getNthFibonacci, getNumbersInRange, getRandomFloat as getRandomDecimal, getRandomFloat, getRandomNumber as getRandomInt, getRandomNumber, getStaticGetterNames, getStaticMethodNames, sumNumbers as getSumOfNumbers, sumNumbers, sumNumbers as sumOfNumbers, groupAndAverageByField, groupAndAverageByField as groupAndAvgByField, groupAndSumByField, splitArrayByProperty as groupArrayByProperty, splitArrayByProperty, isDeepEqual, isInvalidOrEmptyArray, isPrime, isPrime as isPrimeNumber, maskString, mergeAndFlattenObjects, mergeObjects, moveArrayElement, normalizeNumber, normalizeString, parseJSON, parseJSON as parseJsonDeep, parseJsonToObject, parseObjectValues, parseObjectValues as parseStringifiedObjectValues, pickFields, pickFields as pickObjectFields, pickObjectFieldsByCondition as pickFieldsByCondition, pickObjectFieldsByCondition, remapFields, remapFields as remapObjectFields, removeDuplicatesFromArray as removeDuplicates, removeDuplicatesFromArray, replaceAllInString, reverseNumber, reverseString, rotateArray, roundNumber, roundNumber as roundToDecimal, roundToNearest as roundNumberToNearestInterval, roundToNearest, roundToNearest as roundToNearestInterval, sanitizeData, shuffleArray, slugifyString, sortAnArray, splitArray, stableStringify, stripJsonEdgeGarbage, sumByField, sumDigits, sumFieldDifference, sumFieldDifference as totalDeltaByField, throttleAction, trimString, truncateString };
2174
+ export { Currency, Finder, Unit, Unit as UnitConverter, convertToRomanNumerals as arabicToRoman, convertToRomanNumerals, convertToRomanNumerals as integerToRoman, convertToRomanNumerals as numberToRoman, convertToRomanNumerals as numericToRoman, convertToRomanNumerals as toRoman, convertToRomanNumerals as toRomanNumeral, averageByField, averageByField as avgByField, banglaToDigit, getAverage as calculateAverage, getAverage, getAverage as getAverageOfNumbers, factorial as calculateFactorial, factorial, factorial as getFactorial, calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, calculatePercentage, capitalizeString, getOrdinal as cardinalToOrdinal, getOrdinal as convertNumberToOrdinal, getOrdinal as convertToOrdinal, getOrdinal, getOrdinal as getOrdinalNumber, getOrdinal as numberToOrdinal, numberToWordsOrdinal as cardinalWordsToOrdinal, numberToWordsOrdinal as convertNumberToWordsOrdinal, numberToWordsOrdinal, clampNumber, cloneObject, naturalSort as compareNaturally, naturalSort as compareSorter, naturalSort, naturalSort as naturalSortForString, computeTextDiff, convertArrayToString, convertArrayToString as joinArrayElements, formatCurrency as convertNumberToCurrency, formatCurrency, numberToWords as convertNumberToWords, numberToWords, convertObjectValues, romanToInteger as convertRomanToArabic, romanToInteger as convertRomanToInteger, romanToInteger as convertRomanToNumeric, romanToInteger as romanToArabic, romanToInteger, romanToInteger as romanToNumeric, convertStringCase, convertToDecimal, convertToDecimal as convertToFixed, wordsToNumber as convertWordToNumber, wordsToNumber as convertWordsToNumber, wordsToNumber as wordToNumber, wordsToNumber, countInstanceMethods, countInstanceMethods as getInstanceMethodsCount, countObjectFields, countStaticMethods, countStaticMethods as getStaticMethodsCount, countWords, countWords as countWordsInString, countWords as wordCount, createOptionsArray, generateQueryParams as createQueryParams, generateQueryParams as formatQueryParams, generateQueryParams, debounceAction, deepParsePrimitives, deepParsePrimitives as parsePrimitivesDeep, definePrototypeMethod, deleteFields, deleteFields as deleteObjectFields, deleteFields as omitFields, deleteFields as omitObjectFields, deleteFields as removeFields, deleteFields as removeObjectFields, digitToBangla, getDuplicates as extractDuplicates, getDuplicates as extractDuplicatesFromArray, getDuplicates, getDuplicates as getDuplicatesFromArray, extractEmails, extractObjectEntries as extractEntries, extractObjectEntries, extractObjectEntries as objectEntries, extractObjectKeys as extractKeys, extractObjectKeys, extractObjectKeysDeep as extractKeysDeep, extractObjectKeysDeep, findMissingElements as extractMissingElements, findMissingElements, findMissingElements as getMissingElements, extractNewFields, extractNumbersFromString as extractNumbers, extractNumbersFromString, extractNumbersFromString as parseNumbersFromText, extractURLs, extractUpdatedAndNewFields, extractUpdatedFields, getFactors as factorsOf, getFactors as getDivisors, getFactors, fibonacciGenerator, fibonacciGenerator as generateFibonacci, filterArrayOfObjects, findPrimeNumbers, findPrimeNumbers as getPrimeNumbers, flattenArray, flattenObjectDotNotation, flattenObjectKeyValue, formatUnitWithPlural as formatNumberWithPluralUnit, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, generateAnagrams, generateRandomID, getCharacterDifferences, getClassDetails, getCountryByPhone, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getFibonacciSeriesMemo, getFibonacciSeriesMemo as getMemoizedFibonacci, getFibonacciSeriesMemo as getMemoizedFibonacciSeries, getInstanceGetterNames, getInstanceMethodNames, getLastArrayElement, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, getNthFibonacci, getNumbersInRange, parseQueryString as getQueryStringAsObject, parseQueryString, parseQueryString as queryStringToObject, getRandomFloat as getRandomDecimal, getRandomFloat, getRandomNumber as getRandomInt, getRandomNumber, getStaticGetterNames, getStaticMethodNames, sumNumbers as getSumOfNumbers, sumNumbers, sumNumbers as sumOfNumbers, groupAndAverageByField, groupAndAverageByField as groupAndAvgByField, groupAndSumByField, splitArrayByProperty as groupArrayByProperty, splitArrayByProperty, isDeepEqual, isInvalidOrEmptyArray, isPrime, isPrime as isPrimeNumber, parseQueryStringLiteral as literalQueryStringToObject, parseQueryStringLiteral, maskString, mergeAndFlattenObjects, mergeObjects, moveArrayElement, normalizeNumber, normalizeString, parseJSON, parseJSON as parseJsonDeep, parseJsonToObject, parseObjectValues, parseObjectValues as parseStringifiedObjectValues, pickFields, pickFields as pickObjectFields, pickObjectFieldsByCondition as pickFieldsByCondition, pickObjectFieldsByCondition, remapFields, remapFields as remapObjectFields, removeDuplicatesFromArray as removeDuplicates, removeDuplicatesFromArray, replaceAllInString, reverseNumber, reverseString, rotateArray, roundNumber, roundNumber as roundToDecimal, roundToNearest as roundNumberToNearestInterval, roundToNearest, roundToNearest as roundToNearestInterval, sanitizeData, shuffleArray, slugifyString, sortAnArray, splitArray, stableStringify, stripJsonEdgeGarbage, sumByField, sumDigits, sumFieldDifference, sumFieldDifference as totalDeltaByField, throttleAction, trimString, truncateString };
@@ -16,7 +16,7 @@
16
16
 
17
17
  import { d as isString } from "./primitives-Djsevc69.mjs";
18
18
  import { E as isObjectWithKeys, T as isObject, g as isArrayOfType, j as isValidArray, v as isEmptyObject, w as isNotEmptyObject } from "./specials-Hq5Ncd6y.mjs";
19
- import { J as isDateLike, U as isDeepEqual, n as trimString } from "./basics-Dald7J6c.mjs";
19
+ import { I as deepParsePrimitives, J as isDateLike, U as isDeepEqual, n as trimString } from "./basics-Dald7J6c.mjs";
20
20
 
21
21
  //#region src/form/guards.ts
22
22
  /**
@@ -407,4 +407,89 @@ const parseJsonToObject = (value, parsePrimitives = true) => {
407
407
  };
408
408
 
409
409
  //#endregion
410
- export { isOriginFileObj as _, flattenObjectKeyValue as a, parseJsonToObject as c, isCustomFile as d, isCustomFileArray as f, isFileUpload as g, isFileOrBlob as h, flattenObjectDotNotation as i, parseObjectValues as l, isFileList as m, extractUpdatedAndNewFields as n, mergeAndFlattenObjects as o, isFileArray as p, extractUpdatedFields as r, mergeObjects as s, extractNewFields as t, sanitizeData as u, isValidFormData as v };
410
+ //#region src/dom/query.ts
411
+ /**
412
+ * * Utility to generate query parameters from an object.
413
+ *
414
+ * @param params - Object containing query parameters.
415
+ * @returns A query string as a URL-encoded string, e.g., `?key1=value1&key2=value2`.
416
+ *
417
+ * @example
418
+ * generateQueryParams({ key1: 'value1', key2: 42 }); // "?key1=value1&key2=42"
419
+ * generateQueryParams({ key1: ['value1', 'value2'], key2: 42 }); // "?key1=value1&key1=value2&key2=42"
420
+ * generateQueryParams({ key1: '', key2: null }); // ""
421
+ * generateQueryParams({ key1: true, key2: false }); // "?key1=true&key2=false"
422
+ * generateQueryParams({ filters: { category: 'laptop', price: 1000 } }); // "?category=laptop&price=1000"
423
+ */
424
+ function generateQueryParams(params = {}) {
425
+ const flattenedParams = flattenObjectKeyValue(params);
426
+ const queryParams = Object.entries(flattenedParams)?.filter(([_, value]) => value != null && !(isString(value) && value?.trim() === ""))?.flatMap(([key, value]) => Array.isArray(value) ? value?.filter((v) => v != null && !(isString(v) && v.trim() === ""))?.map((v) => `${encodeURIComponent(key)}=${encodeURIComponent(String(v))}`) : `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`).join("&");
427
+ return queryParams ? `?${queryParams}` : "";
428
+ }
429
+ /**
430
+ * * Get query params as standard `JavaScript` Object `Record<string, string>`. You can define the type by passing a type argument.
431
+ *
432
+ * - **Note:** *Extracts query parameters from the current URL (window.location.search).*
433
+ *
434
+ * @returns Query string as key-value paired object. `Record<string, string>`.
435
+ */
436
+ function getQueryParams() {
437
+ return Object.fromEntries(new URLSearchParams(window?.location?.search));
438
+ }
439
+ /**
440
+ * * Update query params in the browser URL with given key and value.
441
+ * @param key Key for the query to update.
442
+ * @param value Value to updated against the given key.
443
+ */
444
+ function updateQueryParam(key, value) {
445
+ const url = new URL(window.location.href);
446
+ url.searchParams.set(key, value);
447
+ window.history.replaceState({}, "", url?.toString());
448
+ }
449
+ /**
450
+ * Parses a query string (with optional `?` prefix) into an object.
451
+ * Supports multiple values for the same key by returning arrays.
452
+ * Optionally parses primitive string values into actual types (e.g., "1" → 1, "true" → true).
453
+ *
454
+ * @remarks This utility is designed to parse generic string, for literal use, try {@link parseQueryStringLiteral}.
455
+ *
456
+ * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
457
+ *
458
+ * @param query - The query string to parse.
459
+ * @param parsePrimitives - Whether to convert stringified primitives into real values (default: true).
460
+ * @returns An object where keys are strings and values can be string, array, number, boolean, or null/undefined.
461
+ */
462
+ function parseQueryString(query, parsePrimitives = true) {
463
+ const params = new URLSearchParams(query.startsWith("?") ? query.slice(1) : query);
464
+ const entries = {};
465
+ for (const [key, value] of params.entries()) if (key in entries) {
466
+ const current = entries[key];
467
+ const array = Array.isArray(current) ? [...current, value] : [current, value];
468
+ entries[key] = parsePrimitives ? deepParsePrimitives(array) : array;
469
+ } else entries[key] = value;
470
+ return parsePrimitives ? parseObjectValues(entries) : entries;
471
+ }
472
+ /**
473
+ * Parses a query string (with optional `?` prefix) into an object.
474
+ * Supports multiple values for the same key by returning arrays.
475
+ * It returns properly typed object.
476
+ *
477
+ * @remarks This utility is designed to parse literal string, for generic use, try {@link parseQueryString}.
478
+ *
479
+ * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
480
+ *
481
+ * @param query - The literal query string to parse.
482
+ * @returns An object where keys are strings and values can be string, array, or null/undefined.
483
+ */
484
+ function parseQueryStringLiteral(query) {
485
+ const params = new URLSearchParams(query.startsWith("?") ? query.slice(1) : query);
486
+ const entries = {};
487
+ for (const [key, value] of params.entries()) if (key in entries) {
488
+ const current = entries[key];
489
+ entries[key] = Array.isArray(current) ? [...current, value] : [current, value];
490
+ } else entries[key] = value;
491
+ return entries;
492
+ }
493
+
494
+ //#endregion
495
+ export { isValidFormData as C, isOriginFileObj as S, isCustomFileArray as _, updateQueryParam as a, isFileOrBlob as b, extractUpdatedFields as c, mergeAndFlattenObjects as d, mergeObjects as f, isCustomFile as g, sanitizeData as h, parseQueryStringLiteral as i, flattenObjectDotNotation as l, parseObjectValues as m, getQueryParams as n, extractNewFields as o, parseJsonToObject as p, parseQueryString as r, extractUpdatedAndNewFields as s, generateQueryParams as t, flattenObjectKeyValue as u, isFileArray as v, isFileUpload as x, isFileList as y };
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Copyright 2026 - present Nazmul Hassan
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { M as ParsedQueryGeneric, N as QueryObject, j as ParsedQuery } from "./object-DyVg8BFt.cjs";
18
+ import { F as QueryString } from "./string-EMT7czsU.cjs";
19
+
20
+ //#region src/dom/query.d.ts
21
+ /**
22
+ * * Utility to generate query parameters from an object.
23
+ *
24
+ * @param params - Object containing query parameters.
25
+ * @returns A query string as a URL-encoded string, e.g., `?key1=value1&key2=value2`.
26
+ *
27
+ * @example
28
+ * generateQueryParams({ key1: 'value1', key2: 42 }); // "?key1=value1&key2=42"
29
+ * generateQueryParams({ key1: ['value1', 'value2'], key2: 42 }); // "?key1=value1&key1=value2&key2=42"
30
+ * generateQueryParams({ key1: '', key2: null }); // ""
31
+ * generateQueryParams({ key1: true, key2: false }); // "?key1=true&key2=false"
32
+ * generateQueryParams({ filters: { category: 'laptop', price: 1000 } }); // "?category=laptop&price=1000"
33
+ */
34
+ declare function generateQueryParams<T extends QueryObject>(params?: T): QueryString;
35
+ /**
36
+ * * Get query params as standard `JavaScript` Object `Record<string, string>`. You can define the type by passing a type argument.
37
+ *
38
+ * - **Note:** *Extracts query parameters from the current URL (window.location.search).*
39
+ *
40
+ * @returns Query string as key-value paired object. `Record<string, string>`.
41
+ */
42
+ declare function getQueryParams<QParams extends Record<string, string>>(): QParams;
43
+ /**
44
+ * * Update query params in the browser URL with given key and value.
45
+ * @param key Key for the query to update.
46
+ * @param value Value to updated against the given key.
47
+ */
48
+ declare function updateQueryParam(key: string, value: string): void;
49
+ /**
50
+ * Parses a query string (with optional `?` prefix) into an object.
51
+ * Supports multiple values for the same key by returning arrays.
52
+ * Optionally parses primitive string values into actual types (e.g., "1" → 1, "true" → true).
53
+ *
54
+ * @remarks This utility is designed to parse generic string, for literal use, try {@link parseQueryStringLiteral}.
55
+ *
56
+ * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
57
+ *
58
+ * @param query - The query string to parse.
59
+ * @param parsePrimitives - Whether to convert stringified primitives into real values (default: true).
60
+ * @returns An object where keys are strings and values can be string, array, number, boolean, or null/undefined.
61
+ */
62
+ declare function parseQueryString<QParams extends ParsedQueryGeneric>(query: string, parsePrimitives?: boolean): QParams;
63
+ /**
64
+ * Parses a query string (with optional `?` prefix) into an object.
65
+ * Supports multiple values for the same key by returning arrays.
66
+ * It returns properly typed object.
67
+ *
68
+ * @remarks This utility is designed to parse literal string, for generic use, try {@link parseQueryString}.
69
+ *
70
+ * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
71
+ *
72
+ * @param query - The literal query string to parse.
73
+ * @returns An object where keys are strings and values can be string, array, or null/undefined.
74
+ */
75
+ declare function parseQueryStringLiteral<Q extends string>(query: Q): ParsedQuery<Q>;
76
+ //#endregion
77
+ export { updateQueryParam as a, parseQueryStringLiteral as i, getQueryParams as n, parseQueryString as r, generateQueryParams as t };
@@ -406,6 +406,91 @@ const parseJsonToObject = (value, parsePrimitives = true) => {
406
406
  }
407
407
  };
408
408
 
409
+ //#endregion
410
+ //#region src/dom/query.ts
411
+ /**
412
+ * * Utility to generate query parameters from an object.
413
+ *
414
+ * @param params - Object containing query parameters.
415
+ * @returns A query string as a URL-encoded string, e.g., `?key1=value1&key2=value2`.
416
+ *
417
+ * @example
418
+ * generateQueryParams({ key1: 'value1', key2: 42 }); // "?key1=value1&key2=42"
419
+ * generateQueryParams({ key1: ['value1', 'value2'], key2: 42 }); // "?key1=value1&key1=value2&key2=42"
420
+ * generateQueryParams({ key1: '', key2: null }); // ""
421
+ * generateQueryParams({ key1: true, key2: false }); // "?key1=true&key2=false"
422
+ * generateQueryParams({ filters: { category: 'laptop', price: 1000 } }); // "?category=laptop&price=1000"
423
+ */
424
+ function generateQueryParams(params = {}) {
425
+ const flattenedParams = flattenObjectKeyValue(params);
426
+ const queryParams = Object.entries(flattenedParams)?.filter(([_, value]) => value != null && !(require_primitives.isString(value) && value?.trim() === ""))?.flatMap(([key, value]) => Array.isArray(value) ? value?.filter((v) => v != null && !(require_primitives.isString(v) && v.trim() === ""))?.map((v) => `${encodeURIComponent(key)}=${encodeURIComponent(String(v))}`) : `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`).join("&");
427
+ return queryParams ? `?${queryParams}` : "";
428
+ }
429
+ /**
430
+ * * Get query params as standard `JavaScript` Object `Record<string, string>`. You can define the type by passing a type argument.
431
+ *
432
+ * - **Note:** *Extracts query parameters from the current URL (window.location.search).*
433
+ *
434
+ * @returns Query string as key-value paired object. `Record<string, string>`.
435
+ */
436
+ function getQueryParams() {
437
+ return Object.fromEntries(new URLSearchParams(window?.location?.search));
438
+ }
439
+ /**
440
+ * * Update query params in the browser URL with given key and value.
441
+ * @param key Key for the query to update.
442
+ * @param value Value to updated against the given key.
443
+ */
444
+ function updateQueryParam(key, value) {
445
+ const url = new URL(window.location.href);
446
+ url.searchParams.set(key, value);
447
+ window.history.replaceState({}, "", url?.toString());
448
+ }
449
+ /**
450
+ * Parses a query string (with optional `?` prefix) into an object.
451
+ * Supports multiple values for the same key by returning arrays.
452
+ * Optionally parses primitive string values into actual types (e.g., "1" → 1, "true" → true).
453
+ *
454
+ * @remarks This utility is designed to parse generic string, for literal use, try {@link parseQueryStringLiteral}.
455
+ *
456
+ * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
457
+ *
458
+ * @param query - The query string to parse.
459
+ * @param parsePrimitives - Whether to convert stringified primitives into real values (default: true).
460
+ * @returns An object where keys are strings and values can be string, array, number, boolean, or null/undefined.
461
+ */
462
+ function parseQueryString(query, parsePrimitives = true) {
463
+ const params = new URLSearchParams(query.startsWith("?") ? query.slice(1) : query);
464
+ const entries = {};
465
+ for (const [key, value] of params.entries()) if (key in entries) {
466
+ const current = entries[key];
467
+ const array = Array.isArray(current) ? [...current, value] : [current, value];
468
+ entries[key] = parsePrimitives ? require_basics.deepParsePrimitives(array) : array;
469
+ } else entries[key] = value;
470
+ return parsePrimitives ? parseObjectValues(entries) : entries;
471
+ }
472
+ /**
473
+ * Parses a query string (with optional `?` prefix) into an object.
474
+ * Supports multiple values for the same key by returning arrays.
475
+ * It returns properly typed object.
476
+ *
477
+ * @remarks This utility is designed to parse literal string, for generic use, try {@link parseQueryString}.
478
+ *
479
+ * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
480
+ *
481
+ * @param query - The literal query string to parse.
482
+ * @returns An object where keys are strings and values can be string, array, or null/undefined.
483
+ */
484
+ function parseQueryStringLiteral(query) {
485
+ const params = new URLSearchParams(query.startsWith("?") ? query.slice(1) : query);
486
+ const entries = {};
487
+ for (const [key, value] of params.entries()) if (key in entries) {
488
+ const current = entries[key];
489
+ entries[key] = Array.isArray(current) ? [...current, value] : [current, value];
490
+ } else entries[key] = value;
491
+ return entries;
492
+ }
493
+
409
494
  //#endregion
410
495
  Object.defineProperty(exports, 'extractNewFields', {
411
496
  enumerable: true,
@@ -437,6 +522,18 @@ Object.defineProperty(exports, 'flattenObjectKeyValue', {
437
522
  return flattenObjectKeyValue;
438
523
  }
439
524
  });
525
+ Object.defineProperty(exports, 'generateQueryParams', {
526
+ enumerable: true,
527
+ get: function () {
528
+ return generateQueryParams;
529
+ }
530
+ });
531
+ Object.defineProperty(exports, 'getQueryParams', {
532
+ enumerable: true,
533
+ get: function () {
534
+ return getQueryParams;
535
+ }
536
+ });
440
537
  Object.defineProperty(exports, 'isCustomFile', {
441
538
  enumerable: true,
442
539
  get: function () {
@@ -509,9 +606,27 @@ Object.defineProperty(exports, 'parseObjectValues', {
509
606
  return parseObjectValues;
510
607
  }
511
608
  });
609
+ Object.defineProperty(exports, 'parseQueryString', {
610
+ enumerable: true,
611
+ get: function () {
612
+ return parseQueryString;
613
+ }
614
+ });
615
+ Object.defineProperty(exports, 'parseQueryStringLiteral', {
616
+ enumerable: true,
617
+ get: function () {
618
+ return parseQueryStringLiteral;
619
+ }
620
+ });
512
621
  Object.defineProperty(exports, 'sanitizeData', {
513
622
  enumerable: true,
514
623
  get: function () {
515
624
  return sanitizeData;
516
625
  }
626
+ });
627
+ Object.defineProperty(exports, 'updateQueryParam', {
628
+ enumerable: true,
629
+ get: function () {
630
+ return updateQueryParam;
631
+ }
517
632
  });
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Copyright 2026 - present Nazmul Hassan
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { M as ParsedQueryGeneric, N as QueryObject, j as ParsedQuery } from "./object-DyVg8BFt.mjs";
18
+ import { F as QueryString } from "./string-GQsmDdYa.mjs";
19
+
20
+ //#region src/dom/query.d.ts
21
+ /**
22
+ * * Utility to generate query parameters from an object.
23
+ *
24
+ * @param params - Object containing query parameters.
25
+ * @returns A query string as a URL-encoded string, e.g., `?key1=value1&key2=value2`.
26
+ *
27
+ * @example
28
+ * generateQueryParams({ key1: 'value1', key2: 42 }); // "?key1=value1&key2=42"
29
+ * generateQueryParams({ key1: ['value1', 'value2'], key2: 42 }); // "?key1=value1&key1=value2&key2=42"
30
+ * generateQueryParams({ key1: '', key2: null }); // ""
31
+ * generateQueryParams({ key1: true, key2: false }); // "?key1=true&key2=false"
32
+ * generateQueryParams({ filters: { category: 'laptop', price: 1000 } }); // "?category=laptop&price=1000"
33
+ */
34
+ declare function generateQueryParams<T extends QueryObject>(params?: T): QueryString;
35
+ /**
36
+ * * Get query params as standard `JavaScript` Object `Record<string, string>`. You can define the type by passing a type argument.
37
+ *
38
+ * - **Note:** *Extracts query parameters from the current URL (window.location.search).*
39
+ *
40
+ * @returns Query string as key-value paired object. `Record<string, string>`.
41
+ */
42
+ declare function getQueryParams<QParams extends Record<string, string>>(): QParams;
43
+ /**
44
+ * * Update query params in the browser URL with given key and value.
45
+ * @param key Key for the query to update.
46
+ * @param value Value to updated against the given key.
47
+ */
48
+ declare function updateQueryParam(key: string, value: string): void;
49
+ /**
50
+ * Parses a query string (with optional `?` prefix) into an object.
51
+ * Supports multiple values for the same key by returning arrays.
52
+ * Optionally parses primitive string values into actual types (e.g., "1" → 1, "true" → true).
53
+ *
54
+ * @remarks This utility is designed to parse generic string, for literal use, try {@link parseQueryStringLiteral}.
55
+ *
56
+ * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
57
+ *
58
+ * @param query - The query string to parse.
59
+ * @param parsePrimitives - Whether to convert stringified primitives into real values (default: true).
60
+ * @returns An object where keys are strings and values can be string, array, number, boolean, or null/undefined.
61
+ */
62
+ declare function parseQueryString<QParams extends ParsedQueryGeneric>(query: string, parsePrimitives?: boolean): QParams;
63
+ /**
64
+ * Parses a query string (with optional `?` prefix) into an object.
65
+ * Supports multiple values for the same key by returning arrays.
66
+ * It returns properly typed object.
67
+ *
68
+ * @remarks This utility is designed to parse literal string, for generic use, try {@link parseQueryString}.
69
+ *
70
+ * - **Note:** *This function does **not** access or depend on `current URL` a.k.a `window.location.search`.*
71
+ *
72
+ * @param query - The literal query string to parse.
73
+ * @returns An object where keys are strings and values can be string, array, or null/undefined.
74
+ */
75
+ declare function parseQueryStringLiteral<Q extends string>(query: Q): ParsedQuery<Q>;
76
+ //#endregion
77
+ export { updateQueryParam as a, parseQueryStringLiteral as i, getQueryParams as n, parseQueryString as r, generateQueryParams as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toolbox-x",
3
- "version": "2.0.12",
3
+ "version": "2.0.13",
4
4
  "description": "A versatile collection of smart, efficient, and reusable utility functions, classes and types for everyday development needs.",
5
5
  "main": "./dist/index.cjs",
6
6
  "type": "module",