@develia/commons 0.4.20 → 0.4.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/cjs/browser/form-utilities.js +1 -1
  2. package/dist/cjs/browser/form-utilities.js.map +1 -1
  3. package/dist/cjs/collections/default-map.js +2 -2
  4. package/dist/cjs/collections/default-map.js.map +1 -1
  5. package/dist/cjs/collections/default-weak-map.js +2 -2
  6. package/dist/cjs/collections/default-weak-map.js.map +1 -1
  7. package/dist/cjs/collections/from.js +4 -4
  8. package/dist/cjs/collections/from.js.map +1 -1
  9. package/dist/cjs/index.js +1 -0
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/package.json +3 -0
  12. package/dist/cjs/types.js.map +1 -1
  13. package/dist/cjs/utilities.js +14 -5
  14. package/dist/cjs/utilities.js.map +1 -1
  15. package/dist/esm/browser/form-utilities.js +1 -1
  16. package/dist/esm/browser/form-utilities.js.map +1 -1
  17. package/dist/esm/collections/default-map.js +2 -2
  18. package/dist/esm/collections/default-map.js.map +1 -1
  19. package/dist/esm/collections/default-weak-map.js +2 -2
  20. package/dist/esm/collections/default-weak-map.js.map +1 -1
  21. package/dist/esm/collections/from.js +4 -4
  22. package/dist/esm/collections/from.js.map +1 -1
  23. package/dist/esm/index.js +1 -0
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/types.js.map +1 -1
  26. package/dist/esm/utilities.js +14 -5
  27. package/dist/esm/utilities.js.map +1 -1
  28. package/dist/types/browser/form-utilities.d.ts +2 -2
  29. package/dist/types/browser/form-utilities.d.ts.map +1 -1
  30. package/dist/types/collections/default-map.d.ts +3 -3
  31. package/dist/types/collections/default-map.d.ts.map +1 -1
  32. package/dist/types/collections/default-weak-map.d.ts +3 -3
  33. package/dist/types/collections/default-weak-map.d.ts.map +1 -1
  34. package/dist/types/collections/from.d.ts +5 -5
  35. package/dist/types/collections/from.d.ts.map +1 -1
  36. package/dist/types/index.d.ts +1 -0
  37. package/dist/types/index.d.ts.map +1 -1
  38. package/dist/types/types.d.ts +0 -1
  39. package/dist/types/types.d.ts.map +1 -1
  40. package/dist/types/utilities.d.ts.map +1 -1
  41. package/dist/web/browser/form-utilities.js +1 -2
  42. package/dist/web/browser/form-utilities.js.map +1 -1
  43. package/dist/web/collections/default-map.js +2 -2
  44. package/dist/web/collections/default-map.js.map +1 -1
  45. package/dist/web/collections/default-weak-map.js +2 -2
  46. package/dist/web/collections/default-weak-map.js.map +1 -1
  47. package/dist/web/collections/from.js +4 -4
  48. package/dist/web/collections/from.js.map +1 -1
  49. package/dist/web/index.js +1 -0
  50. package/dist/web/index.js.map +1 -1
  51. package/dist/web/types.js.map +1 -1
  52. package/dist/web/utilities.js +14 -5
  53. package/dist/web/utilities.js.map +1 -1
  54. package/package.json +13 -4
  55. package/src/browser/form-utilities.ts +3 -3
  56. package/src/collections/default-map.ts +3 -3
  57. package/src/collections/default-weak-map.ts +3 -3
  58. package/src/collections/from.ts +5 -5
  59. package/src/index.ts +1 -0
  60. package/src/types.ts +1 -3
  61. package/src/utilities.ts +14 -5
@@ -2,10 +2,12 @@
2
2
  import KeyValuePair from "./key-value-pair.js";
3
3
  import Type from "./type.js";
4
4
  export function lazy(factory) {
5
- let instance = null;
5
+ let created = false;
6
+ let instance;
6
7
  const getInstance = () => {
7
- if (!instance) {
8
+ if (!created) {
8
9
  instance = factory();
10
+ created = true;
9
11
  }
10
12
  return instance;
11
13
  };
@@ -13,8 +15,11 @@ export function lazy(factory) {
13
15
  get(_, prop, receiver) {
14
16
  return Reflect.get(getInstance(), prop, receiver);
15
17
  },
16
- set(_, prop, value, receiver) {
17
- return Reflect.set(getInstance(), prop, value, receiver);
18
+ set(_, prop, value) {
19
+ return Reflect.set(getInstance(), prop, value, getInstance());
20
+ },
21
+ defineProperty(_, prop, descriptor) {
22
+ return Reflect.defineProperty(getInstance(), prop, descriptor);
18
23
  },
19
24
  has(_, prop) {
20
25
  return Reflect.has(getInstance(), prop);
@@ -26,7 +31,11 @@ export function lazy(factory) {
26
31
  return Reflect.ownKeys(getInstance());
27
32
  },
28
33
  getOwnPropertyDescriptor(_, prop) {
29
- return Reflect.getOwnPropertyDescriptor(getInstance(), prop);
34
+ const descriptor = Reflect.getOwnPropertyDescriptor(getInstance(), prop);
35
+ if (descriptor == null || descriptor.configurable) {
36
+ return descriptor;
37
+ }
38
+ return { ...descriptor, configurable: true };
30
39
  },
31
40
  getPrototypeOf() {
32
41
  return Reflect.getPrototypeOf(getInstance());
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/utilities.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAGrC,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAE/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,IAAI,CAAmB,OAAgB;IACnD,IAAI,QAAQ,GAAa,IAAI,CAAC;IAE9B,MAAM,WAAW,GAAG,GAAM,EAAE;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,QAAQ,GAAG,OAAO,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,EAAO,EAAE;QACtB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ;YACjB,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QACD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;QACD,GAAG,CAAC,CAAC,EAAE,IAAI;YACP,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,cAAc,CAAC,CAAC,EAAE,IAAI;YAClB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,OAAO;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,wBAAwB,CAAC,CAAC,EAAE,IAAI;YAC5B,OAAO,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC;QACD,cAAc;YACV,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;QACjD,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAQ;IAC/B,OAAO,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAU;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAU;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAU;IAChC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAU;IAC/B,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,KAAU;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAU;IACjC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACvC,CAAC;AAGD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,CAAU,EAAE,CAAU,EAAE,gBAAgB,GAAG,IAAI;IACrE,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CACf,CAAU,EACV,CAAU,EACV,gBAAyB,EACzB,OAA6B,IAAI,GAAG,EAAE;IAEtC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAExC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACjF,CAAC;IAED,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC;QAC7C,OAAO,CAAC,YAAY,MAAM,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvF,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAExD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACjE,CAAC;IAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACjE,CAAC;IAED,MAAM,IAAI,GAAG,CAAW,CAAC;IACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAElB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvC,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvC,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,GAAG,CAAW,CAAC;IACzB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAEhD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC;YAAE,OAAO,KAAK,CAAC;QACjE,IAAI,CAAC,UAAU,CAAE,CAAS,CAAC,GAAG,CAAC,EAAG,CAAS,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;IAC5F,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAClB,CAAwB,EACxB,CAAwB,EACxB,gBAAyB,EACzB,IAA0B;IAE1B,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAEpC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAE7B,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,IACI,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,aAAa,CAAC;gBACvD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAC7D,CAAC;gBACC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBACzC,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAClB,CAAe,EACf,CAAe,EACf,gBAAyB,EACzB,IAA0B;IAE1B,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAEpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAE7B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBACzC,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,gBAAyB;IAC5D,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;IACpC,MAAM,MAAM,GAAG,CAAC,GAAgB,EAAE,EAAE;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAEnC,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,SAAS,KAAK,IAAI,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACnE,IAAI,UAAU,EAAE,UAAU;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;QACD,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,GAAgB,EAAE,gBAAyB;IAChF,OAAO,gBAAgB;QACnB,CAAC,CAAC,GAAG,IAAI,KAAK;QACd,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA4B,EAAE,MAA4B;IACnF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC;AAGD;;;;;;;;GAQG;AAGH;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,CAAM,EAAE,CAAM;IACvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAGD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,EAAU;IAClC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAU;IAClC,OAAO,OAAO,KAAK,KAAK,WAAW,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAI,KAAQ;IACjC,OAAO,OAAO,KAAK,KAAK,WAAW,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,KAAU;IAC7B,OAAO,KAAK,KAAK,IAAI,CAAC;AAC1B,CAAC;AAGD;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAU;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAU;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAU;IACxC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAU;IAChC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,KAAU;IAC9B,IAAI,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,KAAK,EAAE,CAAC;IACnD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAU;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAC1D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAGD;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,GAAwB;IAE5C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC;AAElB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAsC,GAAM,EAAE,KAAU;IACxE,MAAM,MAAM,GAAG,EAAgB,CAAC;IAChC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAI,KAAoB;IAE7C,IAAI,KAAK,YAAY,OAAO;QACxB,OAAO,KAAK,CAAC;IAGjB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAGD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAI,KAAQ;IACjC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CACf,KAAQ,EACR,OAAiC,IAAI,OAAO,EAAE;IAE9C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE9D,MAAM,GAAG,GAAG,KAA0B,CAAC;IACvC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;IAE7C,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAM,CAAC;IACvD,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,OAAO,IAAS,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAS,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,IAAS,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAQ,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAElD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEpB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAE,KAAa,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,IAAS,CAAC;AACrB,CAAC;AAGD;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,KAAU;IAE9B,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CACvB,MAAS,EACT,MAAW,EACX,IAAsB;IAGtB,IAAI,UAAU,CAAC;IACf,IAAI,WAAW,GAAG,MAAM,CAAC;IAEzB,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,UAAU,GAAG,IAAI,IAAK,MAAmB,CAAC,IAAI,CAAC;QAC/C,WAAW,GAAG,UAAqB,GAAG,IAAW;YAC7C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,CAAC,uBAAuB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE;QAChD,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AAChB,CAAC","sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\n\nimport KeyValuePair from \"./key-value-pair.js\";\nimport type {Resolvable, Constructor} from \"./types.js\";\nimport Type from \"./type.js\";\n\nexport function lazy<T extends object>(factory: () => T): T {\n let instance: T | null = null;\n\n const getInstance = (): T => {\n if (!instance) {\n instance = factory();\n }\n return instance;\n };\n\n return new Proxy({} as T, {\n get(_, prop, receiver) {\n return Reflect.get(getInstance(), prop, receiver);\n },\n set(_, prop, value, receiver) {\n return Reflect.set(getInstance(), prop, value, receiver);\n },\n has(_, prop) {\n return Reflect.has(getInstance(), prop);\n },\n deleteProperty(_, prop) {\n return Reflect.deleteProperty(getInstance(), prop);\n },\n ownKeys() {\n return Reflect.ownKeys(getInstance());\n },\n getOwnPropertyDescriptor(_, prop) {\n return Reflect.getOwnPropertyDescriptor(getInstance(), prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(getInstance());\n },\n });\n}\n\n/**\n * Checks if an object is iterable.\n *\n * @param {any} obj - The object to check.\n * @return {boolean} - Returns true if the object is iterable, otherwise false.\n */\nexport function isIterable(obj: any): boolean {\n return obj != null && typeof obj[Symbol.iterator] === 'function';\n}\n\n/**\n * Checks if a given value is a string.\n *\n * @param {*} value - The value to check.\n * @return {boolean} - Returns true if the value is a string, otherwise returns false.\n */\nexport function isString(value: any): value is string {\n return typeof value === 'string';\n}\n\n/**\n * Checks if a value is a number.\n *\n * @param {any} value - The value to check.\n * @return {boolean} - Returns true if the value is a number, otherwise false.\n */\nexport function isNumber(value: any): value is number {\n return typeof value === 'number';\n}\n\n/**\n * Checks if a given value is a boolean.\n *\n * @param {any} value - The value to be checked.\n *\n * @return {boolean} - Returns true if the value is a boolean, otherwise false.\n */\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean';\n}\n\n/**\n * Checks if a value is an object.\n * @param {any} value - The value to be checked.\n * @returns {boolean} - Returns true if the value is an object, otherwise returns false.\n */\nexport function isObject(value: any): value is object {\n return value != null && typeof value === 'object' && !Array.isArray(value);\n}\n\n/**\n * Determines if a value is an array.\n *\n * @param value - The value to be checked.\n *\n * @return Whether the value is an array.\n */\nexport function isArray(value: any): value is any[] {\n return Array.isArray(value);\n}\n\n/**\n * Checks if a value is a function.\n *\n * @param {any} value - The value to be checked.\n * @return {boolean} - Returns true if the value is a function, otherwise returns false.\n */\nexport function isFunction(value: any): value is Function {\n return typeof value === 'function';\n}\n\n\n/**\n * Structural deep equality check.\n *\n * Compares primitives by value, and objects/arrays/Maps/Sets/Dates/RegExps\n * by structure. Handles circular references.\n *\n * @param a - First value.\n * @param b - Second value.\n * @param includeInherited - Whether inherited enumerable properties are compared. Defaults to `true`.\n * @returns `true` if `a` and `b` are structurally equal.\n */\nexport function deepEqual(a: unknown, b: unknown, includeInherited = true): boolean {\n return _deepEqual(a, b, includeInherited);\n}\n\n/**\n * Internal implementation of deep equality check.\n * @param a - First value.\n * @param b - Second value.\n * @param includeInherited - Whether inherited enumerable properties are compared.\n * @param seen - Internal map used to handle circular references.\n */\nfunction _deepEqual(\n a: unknown,\n b: unknown,\n includeInherited: boolean,\n seen: Map<object, unknown> = new Map()\n): boolean {\n if (a === b) return true;\n if (a === null || b === null) return false;\n if (typeof a !== typeof b) return false;\n if (typeof a !== \"object\") return false;\n\n if (a instanceof Date || b instanceof Date) {\n return a instanceof Date && b instanceof Date && a.getTime() === b.getTime();\n }\n\n if (a instanceof RegExp || b instanceof RegExp) {\n return a instanceof RegExp && b instanceof RegExp && a.toString() === b.toString();\n }\n\n if (Array.isArray(a) !== Array.isArray(b)) return false;\n\n if (a instanceof Map || b instanceof Map) {\n if (!(a instanceof Map) || !(b instanceof Map)) return false;\n }\n\n if (a instanceof Set || b instanceof Set) {\n if (!(a instanceof Set) || !(b instanceof Set)) return false;\n }\n\n const objA = a as object;\n if (seen.has(objA)) return seen.get(objA) === b;\n seen.set(objA, b);\n\n if (a instanceof Map && b instanceof Map) {\n return _deepEqualMap(a, b, includeInherited, seen);\n }\n\n if (a instanceof Set && b instanceof Set) {\n return _deepEqualSet(a, b, includeInherited, seen);\n }\n\n const objB = b as object;\n const keysA = _deepEqualKeys(objA, includeInherited);\n const keysB = _deepEqualKeys(objB, includeInherited);\n if (keysA.length !== keysB.length) return false;\n\n for (const key of keysA) {\n if (!_deepEqualHasKey(objB, key, includeInherited)) return false;\n if (!_deepEqual((a as any)[key], (b as any)[key], includeInherited, seen)) return false;\n }\n\n return true;\n}\n\nfunction _deepEqualMap(\n a: Map<unknown, unknown>,\n b: Map<unknown, unknown>,\n includeInherited: boolean,\n seen: Map<object, unknown>\n): boolean {\n if (a.size !== b.size) return false;\n\n const entriesB = Array.from(b.entries());\n const matched = new Set<number>();\n\n for (const [keyA, valueA] of a) {\n let found = false;\n\n for (let i = 0; i < entriesB.length; i++) {\n if (matched.has(i)) continue;\n\n const [keyB, valueB] = entriesB[i];\n const candidateSeen = new Map(seen);\n if (\n _deepEqual(keyA, keyB, includeInherited, candidateSeen) &&\n _deepEqual(valueA, valueB, includeInherited, candidateSeen)\n ) {\n matched.add(i);\n _mergeDeepEqualSeen(candidateSeen, seen);\n found = true;\n break;\n }\n }\n\n if (!found) return false;\n }\n\n return true;\n}\n\nfunction _deepEqualSet(\n a: Set<unknown>,\n b: Set<unknown>,\n includeInherited: boolean,\n seen: Map<object, unknown>\n): boolean {\n if (a.size !== b.size) return false;\n\n const valuesB = Array.from(b.values());\n const matched = new Set<number>();\n\n for (const valueA of a) {\n let found = false;\n\n for (let i = 0; i < valuesB.length; i++) {\n if (matched.has(i)) continue;\n\n const candidateSeen = new Map(seen);\n if (_deepEqual(valueA, valuesB[i], includeInherited, candidateSeen)) {\n matched.add(i);\n _mergeDeepEqualSeen(candidateSeen, seen);\n found = true;\n break;\n }\n }\n\n if (!found) return false;\n }\n\n return true;\n}\n\nfunction _deepEqualKeys(value: object, includeInherited: boolean): PropertyKey[] {\n const keys: PropertyKey[] = [];\n const seen = new Set<PropertyKey>();\n const addKey = (key: PropertyKey) => {\n if (seen.has(key)) return;\n seen.add(key);\n keys.push(key);\n };\n\n for (const key of Reflect.ownKeys(value)) {\n addKey(key);\n }\n\n if (!includeInherited) return keys;\n\n let prototype = Object.getPrototypeOf(value);\n while (prototype !== null) {\n for (const key of Reflect.ownKeys(prototype)) {\n const descriptor = Object.getOwnPropertyDescriptor(prototype, key);\n if (descriptor?.enumerable) addKey(key);\n }\n prototype = Object.getPrototypeOf(prototype);\n }\n\n return keys;\n}\n\nfunction _deepEqualHasKey(value: object, key: PropertyKey, includeInherited: boolean): boolean {\n return includeInherited\n ? key in value\n : Object.prototype.hasOwnProperty.call(value, key);\n}\n\nfunction _mergeDeepEqualSeen(source: Map<object, unknown>, target: Map<object, unknown>): void {\n for (const [key, value] of source) {\n target.set(key, value);\n }\n}\n\n\n/**\n * Submits an HTML form programmatically using the specified HTTP method (default is POST),\n * without using AJAX. Supports nested objects and arrays using bracket notation (e.g., `user[name]`, `tags[]`).\n *\n * @param url - The destination URL where the form will be submitted.\n * @param data - An object containing key-value pairs. Supports nested structures and arrays.\n * @param method - HTTP method to use: 'POST' or 'GET' (default: 'POST').\n * @param target - Optional parameter specifying the target for the form submission (e.g., '_blank', '_self', '_parent', '_top').\n */\n\n\n/**\n * Compares two objects or arrays to check if they have the same immediate fields and values,\n * or the same immediate elements if they are arrays (shallow equality check).\n *\n * @param {any} a - The first object or array.\n * @param {any} b - The second object or array.\n * @return {boolean} - Returns true if the objects/arrays are shallowly equal, otherwise false.\n */\nexport function shallowEqual(a: any, b: any): boolean {\n if (a === b) {\n return true;\n }\n\n if (a === null || b === null || typeof a !== typeof b) {\n return false;\n }\n\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n return a.every((value, index) => value === b[index]);\n }\n\n if (typeof a === \"object\" && typeof b === \"object\") {\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n return keysA.every(key => Object.prototype.hasOwnProperty.call(b, key) && a[key] === b[key]);\n }\n\n return false;\n}\n\n\n/**\n * Pauses the execution of an asynchronous function for a specified duration.\n *\n * @param {number} ms - The delay duration in milliseconds.\n * @return {Promise<void>} A promise that resolves after the specified delay.\n */\nexport async function delay(ms: number): Promise<void> {\n await new Promise(resolve => setTimeout(resolve, ms));\n}\n\n/**\n * Checks if a value is undefined.\n *\n * @param {any} value - The value to check.\n * @returns {boolean} - True if the value is undefined, false otherwise.\n */\nexport function isUndefined(value: any): value is undefined {\n return typeof value === 'undefined';\n}\n\n/**\n * Checks if a value is defined or not.\n *\n * @param {any} value - The value to be checked.\n *\n * @return {boolean} - True if the value is defined, false otherwise.\n */\nexport function isDefined<T>(value: T): value is Exclude<T, undefined> {\n return typeof value !== 'undefined';\n}\n\n/**\n * Checks if a given value is null.\n *\n * @param {any} value - The value to check for null.\n * @return {boolean} - Returns true if the value is null, otherwise returns false.\n */\nexport function isNull(value: any): value is null {\n return value === null;\n}\n\n\n/**\n * Determines whether the given value is of type bigint.\n * @param {any} value - The value to be checked.\n * @return {boolean} - Returns true if the value is of type bigint, false otherwise.\n */\nexport function isBigInt(value: any): value is bigint {\n return typeof value === 'bigint';\n}\n\n/**\n * Checks if a given value is a symbol.\n *\n * @param {any} value - The value to be checked.\n * @return {boolean} - Returns true if the value is a symbol, false otherwise.\n */\nexport function isSymbol(value: any): value is symbol {\n return typeof value === 'symbol';\n}\n\n/**\n * Checks if a value is null or undefined.\n *\n * @param {any} value - The value to check.\n * @return {boolean} - Returns true if the value is null or undefined, false otherwise.\n * @deprecated\n */\nexport function isNullOrUndefined(value: any): boolean {\n return isNullish(value);\n}\n\n/**\n * Checks if a value is null or undefined.\n *\n * @param {any} value - The value to check.\n * @return {boolean} - Returns true if the value is null or undefined, false otherwise.\n\n */\nexport function isNullish(value: any): boolean {\n return value === null || typeof value === 'undefined';\n}\n\n/**\n * Checks if a given value is empty.\n *\n * @param {any} value - The value to check.\n * @return {boolean} - Returns true if the value is empty, otherwise returns false.\n */\nexport function isEmpty(value: any): boolean {\n if (isNullish(value)) return true;\n if (Array.isArray(value)) return value.length === 0;\n if (typeof value === 'string') return value === '';\n return false;\n}\n\n/**\n * Check if a value is empty or contains only whitespace characters.\n *\n * @param {any} value - The value to check.\n * @return {boolean} Returns true if the value is empty or contains only whitespace characters, otherwise returns false.\n */\nexport function isEmptyOrWhitespace(value: any): boolean {\n if (typeof value === 'string') return value.trim() === '';\n return isEmpty(value);\n}\n\n\n/**\n * Converts an object into an array of key-value pairs.\n *\n * @param {Record<string, any>} obj - The object to convert.\n * @return {KeyValuePair<string, any>[]} - The array of key-value pairs.\n */\nexport function toPairs(obj: Record<string, any>): KeyValuePair<string, any>[] {\n\n let output = [];\n for (const key in obj) {\n output.push(new KeyValuePair(key, obj[key]));\n }\n return output;\n\n}\n\n/**\n * Creates an object composed of the picked object properties.\n *\n * @template T - The type of the source object.\n * @template K - The type of the keys to pick.\n * @param obj - The source object.\n * @param props - The property names to pick.\n * @returns A new object with the picked properties.\n */\nexport function pick<T extends object, K extends keyof T>(obj: T, props: K[]): Pick<T, K> {\n const result = {} as Pick<T, K>;\n if (obj === null || typeof obj !== 'object') {\n return result;\n }\n\n for (const key of props) {\n if (key in obj) {\n result[key] = obj[key];\n }\n }\n return result;\n}\n\n/**\n * Converts a given thing into a Promise.\n * @template T\n * @param {any} thing - The thing to be converted into a Promise.\n * @returns {Promise<T>} - A Promise representing the given thing.\n */\nexport function promisify<T>(thing: Resolvable<T>): Promise<T> {\n\n if (thing instanceof Promise)\n return thing;\n\n\n if (isFunction(thing)) {\n return new Promise<T>((resolve, reject) => {\n try {\n const result = thing();\n resolve(result);\n } catch (error) {\n reject(error);\n }\n });\n }\n\n return Promise.resolve(thing);\n}\n\n\n/**\n * Create a deep, independent copy of a value.\n *\n * Supports primitives, plain objects, arrays, `Date`, `RegExp`, `Map`, `Set`,\n * symbol-keyed properties and circular references. Functions are copied by\n * reference. Class instances preserve their prototype.\n *\n * @template T - The value's type.\n * @param value - The value to clone.\n * @returns A deep clone of `value`.\n */\nexport function deepClone<T>(value: T): T {\n return _deepClone(value);\n}\n\n/**\n * Internal implementation of deep clone.\n * @param value - The value to clone.\n * @param seen - Internal map used to handle circular references.\n */\nfunction _deepClone<T>(\n value: T,\n seen: WeakMap<object, unknown> = new WeakMap()\n): T {\n if (value === null || typeof value !== \"object\") return value;\n\n const obj = value as unknown as object;\n if (seen.has(obj)) return seen.get(obj) as T;\n\n if (value instanceof Date) return new Date(value) as T;\n if (value instanceof RegExp) {\n const copy = new RegExp(value);\n copy.lastIndex = value.lastIndex;\n return copy as T;\n }\n\n if (value instanceof Map) {\n const copy = new Map();\n seen.set(value, copy);\n for (const [k, v] of value) {\n copy.set(_deepClone(k, seen), _deepClone(v, seen));\n }\n return copy as T;\n }\n\n if (value instanceof Set) {\n const copy = new Set();\n seen.set(value, copy);\n for (const v of value) {\n copy.add(_deepClone(v, seen));\n }\n return copy as T;\n }\n\n const copy: any = Array.isArray(value)\n ? []\n : Object.create(Object.getPrototypeOf(value));\n\n seen.set(obj, copy);\n\n for (const key of Reflect.ownKeys(obj)) {\n copy[key] = _deepClone((value as any)[key], seen);\n }\n\n return copy as T;\n}\n\n\n/**\n * Returns the type of the given value.\n *\n * @param {any} value - The value to determine the type of.\n * @return {Type} - The type of the given value.\n * @deprecated use Type.of(...)\n */\nexport function getType(value: any): Type {\n\n return Type.of(value);\n}\n\n/**\n * Patches a method onto a class prototype.\n *\n * This function allows adding new methods to existing classes (monkey-patching).\n * If the method name already exists on the prototype, a warning is issued\n * and the method is not overwritten.\n *\n * If `method` is a function, its name is extracted (if not provided) and\n * it is wrapped to pass the instance (`this`) as the first argument.\n *\n * @template T - The type of the class constructor.\n * @param {T} target - The class constructor whose prototype will be patched.\n * @param {any} method - The implementation or value to patch.\n * @param {string | symbol} [name] - Optional name for the method. If not provided and method is a function, method.name is used.\n * @returns {boolean} Returns `true` if the method was successfully added, or `false` if it already existed.\n */\nexport function monkeyPatch<T extends Constructor>(\n target: T,\n method: any,\n name?: string | symbol\n): boolean {\n\n let methodName;\n let methodValue = method;\n\n if (typeof method === 'function') {\n methodName = name ?? (method as Function).name;\n methodValue = function (this: any, ...args: any[]) {\n return method.apply(this, [this, ...args]);\n };\n } else {\n methodName = name;\n }\n\n if (!methodName) {\n throw new Error(\"Monkey patch failed: No name provided and could not be extracted from function.\");\n }\n\n if (methodName in target.prototype) {\n console.warn(`Method '${String(methodName)}' already exists on ${target.name}`);\n return false;\n }\n\n Object.defineProperty(target.prototype, methodName, {\n value: methodValue,\n writable: true,\n configurable: true,\n enumerable: false\n });\n\n return true;\n}"]}
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/utilities.ts"],"names":[],"mappings":"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","sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\n\nimport KeyValuePair from \"./key-value-pair.js\";\nimport type {Resolvable, Constructor} from \"./types.js\";\nimport Type from \"./type.js\";\n\nexport function lazy<T extends object>(factory: () => T): T {\n let created = false;\n let instance: T;\n\n const getInstance = (): T => {\n if (!created) {\n instance = factory();\n created = true;\n }\n return instance;\n };\n\n return new Proxy({} as T, {\n get(_, prop, receiver) {\n return Reflect.get(getInstance(), prop, receiver);\n },\n set(_, prop, value) {\n return Reflect.set(getInstance(), prop, value, getInstance());\n },\n defineProperty(_, prop, descriptor) {\n return Reflect.defineProperty(getInstance(), prop, descriptor);\n },\n has(_, prop) {\n return Reflect.has(getInstance(), prop);\n },\n deleteProperty(_, prop) {\n return Reflect.deleteProperty(getInstance(), prop);\n },\n ownKeys() {\n return Reflect.ownKeys(getInstance());\n },\n getOwnPropertyDescriptor(_, prop) {\n const descriptor = Reflect.getOwnPropertyDescriptor(getInstance(), prop);\n if (descriptor == null || descriptor.configurable) {\n return descriptor;\n }\n return {...descriptor, configurable: true};\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(getInstance());\n },\n });\n}\n\n/**\n * Checks if an object is iterable.\n *\n * @param {any} obj - The object to check.\n * @return {boolean} - Returns true if the object is iterable, otherwise false.\n */\nexport function isIterable(obj: any): boolean {\n return obj != null && typeof obj[Symbol.iterator] === 'function';\n}\n\n/**\n * Checks if a given value is a string.\n *\n * @param {*} value - The value to check.\n * @return {boolean} - Returns true if the value is a string, otherwise returns false.\n */\nexport function isString(value: any): value is string {\n return typeof value === 'string';\n}\n\n/**\n * Checks if a value is a number.\n *\n * @param {any} value - The value to check.\n * @return {boolean} - Returns true if the value is a number, otherwise false.\n */\nexport function isNumber(value: any): value is number {\n return typeof value === 'number';\n}\n\n/**\n * Checks if a given value is a boolean.\n *\n * @param {any} value - The value to be checked.\n *\n * @return {boolean} - Returns true if the value is a boolean, otherwise false.\n */\nexport function isBoolean(value: any): value is boolean {\n return typeof value === 'boolean';\n}\n\n/**\n * Checks if a value is an object.\n * @param {any} value - The value to be checked.\n * @returns {boolean} - Returns true if the value is an object, otherwise returns false.\n */\nexport function isObject(value: any): value is object {\n return value != null && typeof value === 'object' && !Array.isArray(value);\n}\n\n/**\n * Determines if a value is an array.\n *\n * @param value - The value to be checked.\n *\n * @return Whether the value is an array.\n */\nexport function isArray(value: any): value is any[] {\n return Array.isArray(value);\n}\n\n/**\n * Checks if a value is a function.\n *\n * @param {any} value - The value to be checked.\n * @return {boolean} - Returns true if the value is a function, otherwise returns false.\n */\nexport function isFunction(value: any): value is Function {\n return typeof value === 'function';\n}\n\n\n/**\n * Structural deep equality check.\n *\n * Compares primitives by value, and objects/arrays/Maps/Sets/Dates/RegExps\n * by structure. Handles circular references.\n *\n * @param a - First value.\n * @param b - Second value.\n * @param includeInherited - Whether inherited enumerable properties are compared. Defaults to `true`.\n * @returns `true` if `a` and `b` are structurally equal.\n */\nexport function deepEqual(a: unknown, b: unknown, includeInherited = true): boolean {\n return _deepEqual(a, b, includeInherited);\n}\n\n/**\n * Internal implementation of deep equality check.\n * @param a - First value.\n * @param b - Second value.\n * @param includeInherited - Whether inherited enumerable properties are compared.\n * @param seen - Internal map used to handle circular references.\n */\nfunction _deepEqual(\n a: unknown,\n b: unknown,\n includeInherited: boolean,\n seen: Map<object, unknown> = new Map()\n): boolean {\n if (a === b) return true;\n if (a === null || b === null) return false;\n if (typeof a !== typeof b) return false;\n if (typeof a !== \"object\") return false;\n\n if (a instanceof Date || b instanceof Date) {\n return a instanceof Date && b instanceof Date && a.getTime() === b.getTime();\n }\n\n if (a instanceof RegExp || b instanceof RegExp) {\n return a instanceof RegExp && b instanceof RegExp && a.toString() === b.toString();\n }\n\n if (Array.isArray(a) !== Array.isArray(b)) return false;\n\n if (a instanceof Map || b instanceof Map) {\n if (!(a instanceof Map) || !(b instanceof Map)) return false;\n }\n\n if (a instanceof Set || b instanceof Set) {\n if (!(a instanceof Set) || !(b instanceof Set)) return false;\n }\n\n const objA = a as object;\n if (seen.has(objA)) return seen.get(objA) === b;\n seen.set(objA, b);\n\n if (a instanceof Map && b instanceof Map) {\n return _deepEqualMap(a, b, includeInherited, seen);\n }\n\n if (a instanceof Set && b instanceof Set) {\n return _deepEqualSet(a, b, includeInherited, seen);\n }\n\n const objB = b as object;\n const keysA = _deepEqualKeys(objA, includeInherited);\n const keysB = _deepEqualKeys(objB, includeInherited);\n if (keysA.length !== keysB.length) return false;\n\n for (const key of keysA) {\n if (!_deepEqualHasKey(objB, key, includeInherited)) return false;\n if (!_deepEqual((a as any)[key], (b as any)[key], includeInherited, seen)) return false;\n }\n\n return true;\n}\n\nfunction _deepEqualMap(\n a: Map<unknown, unknown>,\n b: Map<unknown, unknown>,\n includeInherited: boolean,\n seen: Map<object, unknown>\n): boolean {\n if (a.size !== b.size) return false;\n\n const entriesB = Array.from(b.entries());\n const matched = new Set<number>();\n\n for (const [keyA, valueA] of a) {\n let found = false;\n\n for (let i = 0; i < entriesB.length; i++) {\n if (matched.has(i)) continue;\n\n const [keyB, valueB] = entriesB[i];\n const candidateSeen = new Map(seen);\n if (\n _deepEqual(keyA, keyB, includeInherited, candidateSeen) &&\n _deepEqual(valueA, valueB, includeInherited, candidateSeen)\n ) {\n matched.add(i);\n _mergeDeepEqualSeen(candidateSeen, seen);\n found = true;\n break;\n }\n }\n\n if (!found) return false;\n }\n\n return true;\n}\n\nfunction _deepEqualSet(\n a: Set<unknown>,\n b: Set<unknown>,\n includeInherited: boolean,\n seen: Map<object, unknown>\n): boolean {\n if (a.size !== b.size) return false;\n\n const valuesB = Array.from(b.values());\n const matched = new Set<number>();\n\n for (const valueA of a) {\n let found = false;\n\n for (let i = 0; i < valuesB.length; i++) {\n if (matched.has(i)) continue;\n\n const candidateSeen = new Map(seen);\n if (_deepEqual(valueA, valuesB[i], includeInherited, candidateSeen)) {\n matched.add(i);\n _mergeDeepEqualSeen(candidateSeen, seen);\n found = true;\n break;\n }\n }\n\n if (!found) return false;\n }\n\n return true;\n}\n\nfunction _deepEqualKeys(value: object, includeInherited: boolean): PropertyKey[] {\n const keys: PropertyKey[] = [];\n const seen = new Set<PropertyKey>();\n const addKey = (key: PropertyKey) => {\n if (seen.has(key)) return;\n seen.add(key);\n keys.push(key);\n };\n\n for (const key of Reflect.ownKeys(value)) {\n addKey(key);\n }\n\n if (!includeInherited) return keys;\n\n let prototype = Object.getPrototypeOf(value);\n while (prototype !== null) {\n for (const key of Reflect.ownKeys(prototype)) {\n const descriptor = Object.getOwnPropertyDescriptor(prototype, key);\n if (descriptor?.enumerable) addKey(key);\n }\n prototype = Object.getPrototypeOf(prototype);\n }\n\n return keys;\n}\n\nfunction _deepEqualHasKey(value: object, key: PropertyKey, includeInherited: boolean): boolean {\n return includeInherited\n ? key in value\n : Object.prototype.hasOwnProperty.call(value, key);\n}\n\nfunction _mergeDeepEqualSeen(source: Map<object, unknown>, target: Map<object, unknown>): void {\n for (const [key, value] of source) {\n target.set(key, value);\n }\n}\n\n\n/**\n * Submits an HTML form programmatically using the specified HTTP method (default is POST),\n * without using AJAX. Supports nested objects and arrays using bracket notation (e.g., `user[name]`, `tags[]`).\n *\n * @param url - The destination URL where the form will be submitted.\n * @param data - An object containing key-value pairs. Supports nested structures and arrays.\n * @param method - HTTP method to use: 'POST' or 'GET' (default: 'POST').\n * @param target - Optional parameter specifying the target for the form submission (e.g., '_blank', '_self', '_parent', '_top').\n */\n\n\n/**\n * Compares two objects or arrays to check if they have the same immediate fields and values,\n * or the same immediate elements if they are arrays (shallow equality check).\n *\n * @param {any} a - The first object or array.\n * @param {any} b - The second object or array.\n * @return {boolean} - Returns true if the objects/arrays are shallowly equal, otherwise false.\n */\nexport function shallowEqual(a: any, b: any): boolean {\n if (a === b) {\n return true;\n }\n\n if (a === null || b === null || typeof a !== typeof b) {\n return false;\n }\n\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n return a.every((value, index) => value === b[index]);\n }\n\n if (typeof a === \"object\" && typeof b === \"object\") {\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n return keysA.every(key => Object.prototype.hasOwnProperty.call(b, key) && a[key] === b[key]);\n }\n\n return false;\n}\n\n\n/**\n * Pauses the execution of an asynchronous function for a specified duration.\n *\n * @param {number} ms - The delay duration in milliseconds.\n * @return {Promise<void>} A promise that resolves after the specified delay.\n */\nexport async function delay(ms: number): Promise<void> {\n await new Promise(resolve => setTimeout(resolve, ms));\n}\n\n/**\n * Checks if a value is undefined.\n *\n * @param {any} value - The value to check.\n * @returns {boolean} - True if the value is undefined, false otherwise.\n */\nexport function isUndefined(value: any): value is undefined {\n return typeof value === 'undefined';\n}\n\n/**\n * Checks if a value is defined or not.\n *\n * @param {any} value - The value to be checked.\n *\n * @return {boolean} - True if the value is defined, false otherwise.\n */\nexport function isDefined<T>(value: T): value is Exclude<T, undefined> {\n return typeof value !== 'undefined';\n}\n\n/**\n * Checks if a given value is null.\n *\n * @param {any} value - The value to check for null.\n * @return {boolean} - Returns true if the value is null, otherwise returns false.\n */\nexport function isNull(value: any): value is null {\n return value === null;\n}\n\n\n/**\n * Determines whether the given value is of type bigint.\n * @param {any} value - The value to be checked.\n * @return {boolean} - Returns true if the value is of type bigint, false otherwise.\n */\nexport function isBigInt(value: any): value is bigint {\n return typeof value === 'bigint';\n}\n\n/**\n * Checks if a given value is a symbol.\n *\n * @param {any} value - The value to be checked.\n * @return {boolean} - Returns true if the value is a symbol, false otherwise.\n */\nexport function isSymbol(value: any): value is symbol {\n return typeof value === 'symbol';\n}\n\n/**\n * Checks if a value is null or undefined.\n *\n * @param {any} value - The value to check.\n * @return {boolean} - Returns true if the value is null or undefined, false otherwise.\n * @deprecated\n */\nexport function isNullOrUndefined(value: any): boolean {\n return isNullish(value);\n}\n\n/**\n * Checks if a value is null or undefined.\n *\n * @param {any} value - The value to check.\n * @return {boolean} - Returns true if the value is null or undefined, false otherwise.\n\n */\nexport function isNullish(value: any): boolean {\n return value === null || typeof value === 'undefined';\n}\n\n/**\n * Checks if a given value is empty.\n *\n * @param {any} value - The value to check.\n * @return {boolean} - Returns true if the value is empty, otherwise returns false.\n */\nexport function isEmpty(value: any): boolean {\n if (isNullish(value)) return true;\n if (Array.isArray(value)) return value.length === 0;\n if (typeof value === 'string') return value === '';\n return false;\n}\n\n/**\n * Check if a value is empty or contains only whitespace characters.\n *\n * @param {any} value - The value to check.\n * @return {boolean} Returns true if the value is empty or contains only whitespace characters, otherwise returns false.\n */\nexport function isEmptyOrWhitespace(value: any): boolean {\n if (typeof value === 'string') return value.trim() === '';\n return isEmpty(value);\n}\n\n\n/**\n * Converts an object into an array of key-value pairs.\n *\n * @param {Record<string, any>} obj - The object to convert.\n * @return {KeyValuePair<string, any>[]} - The array of key-value pairs.\n */\nexport function toPairs(obj: Record<string, any>): KeyValuePair<string, any>[] {\n\n let output = [];\n for (const key in obj) {\n output.push(new KeyValuePair(key, obj[key]));\n }\n return output;\n\n}\n\n/**\n * Creates an object composed of the picked object properties.\n *\n * @template T - The type of the source object.\n * @template K - The type of the keys to pick.\n * @param obj - The source object.\n * @param props - The property names to pick.\n * @returns A new object with the picked properties.\n */\nexport function pick<T extends object, K extends keyof T>(obj: T, props: K[]): Pick<T, K> {\n const result = {} as Pick<T, K>;\n if (obj === null || typeof obj !== 'object') {\n return result;\n }\n\n for (const key of props) {\n if (key in obj) {\n result[key] = obj[key];\n }\n }\n return result;\n}\n\n/**\n * Converts a given thing into a Promise.\n * @template T\n * @param {any} thing - The thing to be converted into a Promise.\n * @returns {Promise<T>} - A Promise representing the given thing.\n */\nexport function promisify<T>(thing: Resolvable<T>): Promise<T> {\n\n if (thing instanceof Promise)\n return thing;\n\n\n if (isFunction(thing)) {\n return new Promise<T>((resolve, reject) => {\n try {\n const result = thing();\n resolve(result);\n } catch (error) {\n reject(error);\n }\n });\n }\n\n return Promise.resolve(thing);\n}\n\n\n/**\n * Create a deep, independent copy of a value.\n *\n * Supports primitives, plain objects, arrays, `Date`, `RegExp`, `Map`, `Set`,\n * symbol-keyed properties and circular references. Functions are copied by\n * reference. Class instances preserve their prototype.\n *\n * @template T - The value's type.\n * @param value - The value to clone.\n * @returns A deep clone of `value`.\n */\nexport function deepClone<T>(value: T): T {\n return _deepClone(value);\n}\n\n/**\n * Internal implementation of deep clone.\n * @param value - The value to clone.\n * @param seen - Internal map used to handle circular references.\n */\nfunction _deepClone<T>(\n value: T,\n seen: WeakMap<object, unknown> = new WeakMap()\n): T {\n if (value === null || typeof value !== \"object\") return value;\n\n const obj = value as unknown as object;\n if (seen.has(obj)) return seen.get(obj) as T;\n\n if (value instanceof Date) return new Date(value) as T;\n if (value instanceof RegExp) {\n const copy = new RegExp(value);\n copy.lastIndex = value.lastIndex;\n return copy as T;\n }\n\n if (value instanceof Map) {\n const copy = new Map();\n seen.set(value, copy);\n for (const [k, v] of value) {\n copy.set(_deepClone(k, seen), _deepClone(v, seen));\n }\n return copy as T;\n }\n\n if (value instanceof Set) {\n const copy = new Set();\n seen.set(value, copy);\n for (const v of value) {\n copy.add(_deepClone(v, seen));\n }\n return copy as T;\n }\n\n const copy: any = Array.isArray(value)\n ? []\n : Object.create(Object.getPrototypeOf(value));\n\n seen.set(obj, copy);\n\n for (const key of Reflect.ownKeys(obj)) {\n copy[key] = _deepClone((value as any)[key], seen);\n }\n\n return copy as T;\n}\n\n\n/**\n * Returns the type of the given value.\n *\n * @param {any} value - The value to determine the type of.\n * @return {Type} - The type of the given value.\n * @deprecated use Type.of(...)\n */\nexport function getType(value: any): Type {\n\n return Type.of(value);\n}\n\n/**\n * Patches a method onto a class prototype.\n *\n * This function allows adding new methods to existing classes (monkey-patching).\n * If the method name already exists on the prototype, a warning is issued\n * and the method is not overwritten.\n *\n * If `method` is a function, its name is extracted (if not provided) and\n * it is wrapped to pass the instance (`this`) as the first argument.\n *\n * @template T - The type of the class constructor.\n * @param {T} target - The class constructor whose prototype will be patched.\n * @param {any} method - The implementation or value to patch.\n * @param {string | symbol} [name] - Optional name for the method. If not provided and method is a function, method.name is used.\n * @returns {boolean} Returns `true` if the method was successfully added, or `false` if it already existed.\n */\nexport function monkeyPatch<T extends Constructor>(\n target: T,\n method: any,\n name?: string | symbol\n): boolean {\n\n let methodName;\n let methodValue = method;\n\n if (typeof method === 'function') {\n methodName = name ?? (method as Function).name;\n methodValue = function (this: any, ...args: any[]) {\n return method.apply(this, [this, ...args]);\n };\n } else {\n methodName = name;\n }\n\n if (!methodName) {\n throw new Error(\"Monkey patch failed: No name provided and could not be extracted from function.\");\n }\n\n if (methodName in target.prototype) {\n console.warn(`Method '${String(methodName)}' already exists on ${target.name}`);\n return false;\n }\n\n Object.defineProperty(target.prototype, methodName, {\n value: methodValue,\n writable: true,\n configurable: true,\n enumerable: false\n });\n\n return true;\n}"]}
@@ -1,4 +1,4 @@
1
- import { type Consumer, type Optional } from "../types.js";
1
+ import type { Consumer } from "../types.js";
2
2
  /**
3
3
  * Submits a form via AJAX and returns a Promise that resolves to the Response object.
4
4
  *
@@ -16,5 +16,5 @@ export declare function formToObject(form: HTMLFormElement): Record<string, Form
16
16
  * @return {FormData} - The FormData object representing the converted data.
17
17
  */
18
18
  export declare function objectToFormData(data: Record<string, any>): FormData;
19
- export declare function ajaxSubmission(selectorOrElement: HTMLFormElement | string, onSuccess?: Optional<Consumer<any>>, onFailure?: Optional<Consumer<any>>): void;
19
+ export declare function ajaxSubmission(selectorOrElement: HTMLFormElement | string, onSuccess?: Consumer<any>, onFailure?: Consumer<any>): void;
20
20
  //# sourceMappingURL=form-utilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-utilities.d.ts","sourceRoot":"","sources":["../../../src/browser/form-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAC,MAAM,aAAa,CAAC;AAGzD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,iBAAiB,EAAE,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmB/F;AAGD,wBAAgB,UAAU,CACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,MAAM,GAAE,MAAM,GAAG,KAAc,EAC/B,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GACjD,IAAI,CAkDN;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,CAAC,CAkB7G;AAoCD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ,CAGpE;AAED,wBAAgB,cAAc,CAC1B,iBAAiB,EAAE,eAAe,GAAG,MAAM,EAC3C,SAAS,GAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAa,EAC9C,SAAS,GAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAa,GAC/C,IAAI,CAuBN"}
1
+ {"version":3,"file":"form-utilities.d.ts","sourceRoot":"","sources":["../../../src/browser/form-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAG1C;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,iBAAiB,EAAE,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmB/F;AAGD,wBAAgB,UAAU,CACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,MAAM,GAAE,MAAM,GAAG,KAAc,EAC/B,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GACjD,IAAI,CAkDN;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,CAAC,CAkB7G;AAoCD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ,CAGpE;AAED,wBAAgB,cAAc,CAC1B,iBAAiB,EAAE,eAAe,GAAG,MAAM,EAC3C,SAAS,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,EACzB,SAAS,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAC1B,IAAI,CAuBN"}
@@ -1,4 +1,4 @@
1
- import type { Optional, UnaryFunction } from "../types.js";
1
+ import type { UnaryFunction } from "../types.js";
2
2
  /**
3
3
  * DefaultMap<K, V>
4
4
  * A Map that automatically creates and saves a default value
@@ -15,9 +15,9 @@ export default class DefaultMap<K, V> extends Map<K, V> {
15
15
  private readonly _factoryMethod;
16
16
  /**
17
17
  * @param {UnaryFunction<K, V>} factoryMethod - Function that produces the default value for a key.
18
- * @param {Optional<Iterable<[K, V]>>} entries - Initial entries.
18
+ * @param {Iterable<[K, V]>} [entries] - Initial entries.
19
19
  */
20
- constructor(factoryMethod: UnaryFunction<K, V>, entries?: Optional<Iterable<[K, V]>>);
20
+ constructor(factoryMethod: UnaryFunction<K, V>, entries?: Iterable<[K, V]>);
21
21
  /**
22
22
  * Gets the value for the key. If it does not exist, it creates it using the factory,
23
23
  * saves it, and returns it.
@@ -1 +1 @@
1
- {"version":3,"file":"default-map.d.ts","sourceRoot":"","sources":["../../../src/collections/default-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C;;;OAGG;gBACS,aAAa,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAa;IAQ/F;;;;;;OAMG;IACM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;CAW1B"}
1
+ {"version":3,"file":"default-map.d.ts","sourceRoot":"","sources":["../../../src/collections/default-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C;;;OAGG;gBACS,aAAa,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAQ1E;;;;;;OAMG;IACM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;CAW1B"}
@@ -1,4 +1,4 @@
1
- import type { Optional, UnaryFunction } from "../types.js";
1
+ import type { UnaryFunction } from "../types.js";
2
2
  /**
3
3
  * DefaultWeakMap<K, V>
4
4
  * A WeakMap that automatically creates and saves a default value
@@ -11,9 +11,9 @@ export default class DefaultWeakMap<K extends object, V> extends WeakMap<K, V> {
11
11
  private readonly _factoryMethod;
12
12
  /**
13
13
  * @param {UnaryFunction<K, V>} factoryMethod - Function that produces the default value for a key.
14
- * @param {Optional<Iterable<[K, V]>>} entries - Initial entries.
14
+ * @param {Iterable<[K, V]>} [entries] - Initial entries.
15
15
  */
16
- constructor(factoryMethod: UnaryFunction<K, V>, entries?: Optional<Iterable<[K, V]>>);
16
+ constructor(factoryMethod: UnaryFunction<K, V>, entries?: Iterable<[K, V]>);
17
17
  /**
18
18
  * Gets the value for the key. If it does not exist, it creates it using the factory,
19
19
  * saves it, and returns it.
@@ -1 +1 @@
1
- {"version":3,"file":"default-weak-map.d.ts","sourceRoot":"","sources":["../../../src/collections/default-weak-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C;;;OAGG;gBACS,aAAa,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAa;IAe/F;;;;;;OAMG;IACM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;CAW1B"}
1
+ {"version":3,"file":"default-weak-map.d.ts","sourceRoot":"","sources":["../../../src/collections/default-weak-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C;;;OAGG;gBACS,aAAa,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAe1E;;;;;;OAMG;IACM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;CAW1B"}
@@ -1,4 +1,4 @@
1
- import type { Consumer, EqualityComparer, UnaryFunction, Predicate, Supplier, Optional } from "../types.js";
1
+ import type { Consumer, EqualityComparer, UnaryFunction, Predicate, Supplier } from "../types.js";
2
2
  import KeyValuePair from "../key-value-pair.js";
3
3
  import Order from "../order.js";
4
4
  /**
@@ -59,10 +59,10 @@ export declare class From<T> implements Iterable<T> {
59
59
  /**
60
60
  * Checks if any element in the sequence satisfies the given predicate.
61
61
  * If no predicate is provided, checks if the sequence is not empty.
62
- * @param {Optional<Predicate<T>>} predicate - A function to test each element.
62
+ * @param {Predicate<T>} [predicate] - A function to test each element.
63
63
  * @returns {boolean} True if any element satisfies the predicate.
64
64
  */
65
- any(predicate?: Optional<Predicate<T>>): boolean;
65
+ any(predicate?: Predicate<T>): boolean;
66
66
  /**
67
67
  * Gets the number of elements in the sequence.
68
68
  * @returns {number} The count of elements.
@@ -71,10 +71,10 @@ export declare class From<T> implements Iterable<T> {
71
71
  /**
72
72
  * Counts the number of elements that satisfy the given predicate.
73
73
  * If no predicate is provided, counts all elements.
74
- * @param {Optional<Predicate<T>>} predicate - A function to test each element.
74
+ * @param {Predicate<T>} [predicate] - A function to test each element.
75
75
  * @returns {number} The count of elements.
76
76
  */
77
- count(predicate?: Optional<Predicate<T>>): number;
77
+ count(predicate?: Predicate<T>): number;
78
78
  /**
79
79
  * Filters the sequence based on a predicate.
80
80
  * @param {Predicate<T>} predicate - A function to test each element.
@@ -1 +1 @@
1
- {"version":3,"file":"from.d.ts","sourceRoot":"","sources":["../../../src/collections/from.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"from.d.ts","sourceRoot":"","sources":["../../../src/collections/from.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export * from './utilities.js';
5
5
  export * from './functions.js';
6
6
  export * from './string.js';
7
7
  export * from './math.js';
8
+ export * from './parse.js';
8
9
  export { default as CancellablePromise } from "./cancellable-promise.js";
9
10
  export { default as KeyValuePair } from './key-value-pair.js';
10
11
  export { default as Order } from './order.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAGnD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAGvE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAGtE,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAC7E,mBAAmB;AACnB,OAAO,EAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAKxF,mBAAmB;AACnB,cAAc,YAAY,CAAC;AAC3B,mBAAmB;AACnB,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAGnD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAGvE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAGtE,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAC7E,mBAAmB;AACnB,OAAO,EAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAKxF,mBAAmB;AACnB,cAAc,YAAY,CAAC;AAC3B,mBAAmB;AACnB,cAAc,wBAAwB,CAAC"}
@@ -3,7 +3,6 @@ export type Consumer<T> = (arg: T) => void;
3
3
  export type Predicate<T> = (arg: T) => boolean;
4
4
  export type Supplier<T> = () => T;
5
5
  export type Nullable<T> = T | null;
6
- export type Optional<T> = T | undefined;
7
6
  export type Nullish = null | undefined;
8
7
  export type Resolvable<T> = T | Promise<T> | Supplier<T>;
9
8
  export type UnaryFunction<T, R> = (arg: T) => R;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;AAEhE,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;AAE1C,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;AAE/C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAElC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEnC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAExC,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAEvC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAEhD,MAAM,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;AAElE,MAAM,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;AAEjF,MAAM,MAAM,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAChD,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,EAAE,KACP,CAAC,CAAC;AAEP,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;AAEhE,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;AAE3C,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;AAE/C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAElC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEnC,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAEvC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAEhD,MAAM,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;AAElE,MAAM,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;AAEjF,MAAM,MAAM,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAChD,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,EAAE,KACP,CAAC,CAAC;AAEP,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/utilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/utilities.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import {} from "../types.js";
2
1
  /**
3
2
  * Submits a form via AJAX and returns a Promise that resolves to the Response object.
4
3
  *
@@ -133,7 +132,7 @@ export function objectToFormData(data) {
133
132
  let formData = new FormData();
134
133
  return _objectToFormData(data, formData);
135
134
  }
136
- export function ajaxSubmission(selectorOrElement, onSuccess = undefined, onFailure = undefined) {
135
+ export function ajaxSubmission(selectorOrElement, onSuccess, onFailure) {
137
136
  const forms = typeof selectorOrElement === 'string'
138
137
  ? Array.from(document.querySelectorAll(selectorOrElement))
139
138
  .filter(el => el instanceof HTMLFormElement)
@@ -1 +1 @@
1
- {"version":3,"file":"form-utilities.js","sourceRoot":"","sources":["../../../src/browser/form-utilities.ts"],"names":[],"mappings":"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","sourcesContent":["import {type Consumer, type Optional} from \"../types.js\";\n\n\n/**\n * Submits a form via AJAX and returns a Promise that resolves to the Response object.\n *\n * @param {HTMLFormElement | string} selectorOrElement - The form element or selector.\n * @return {Promise<Response>} A Promise that resolves to the Response object.\n * @throws {Error} If the element is invalid.\n */\nexport async function ajaxSubmit(selectorOrElement: HTMLFormElement | string): Promise<Response> {\n\n const form = typeof selectorOrElement === 'string'\n ? document.querySelector(selectorOrElement)\n : selectorOrElement;\n\n if (!(form instanceof HTMLFormElement)) {\n throw new Error(\"Invalid element.\");\n }\n\n\n const formData = new FormData(form);\n const method = form.getAttribute('method') as string ?? form.method;\n const action = form.getAttribute('action') as string ?? form.action;\n\n return await fetch(action, {\n method: method,\n body: formData,\n });\n}\n\n\nexport function submitForm(\n url: string,\n data: Record<string, any>,\n method: 'POST' | 'GET' = 'POST',\n target?: '_blank' | '_self' | '_parent' | '_top'\n): void {\n\n const form = document.createElement('form');\n form.method = method.toUpperCase();\n form.action = url;\n form.style.display = 'none';\n\n if (target) {\n form.target = target;\n }\n\n /**\n * Recursively appends inputs to the form, supporting nested keys and arrays.\n * @param keyPrefix - Key path, e.g., 'user[name]' or 'tags[]'\n * @param value - The value to append (can be nested)\n */\n const appendInput = (key: string, value: any) => {\n const input = document.createElement('input');\n input.type = 'hidden';\n input.name = key;\n input.value = String(value);\n form.appendChild(input);\n };\n\n const appendInputs = (keyPrefix: string, value: any) => {\n if (Array.isArray(value)) {\n for (const val of value) {\n appendInputs(`${keyPrefix}[]`, val);\n }\n } else if (value instanceof Date) {\n appendInput(keyPrefix, value.toISOString());\n } else if (typeof value === 'object' && value !== null) {\n for (const subKey in value) {\n if (Object.prototype.hasOwnProperty.call(value, subKey)) {\n appendInputs(`${keyPrefix}[${subKey}]`, value[subKey]);\n }\n }\n } else {\n appendInput(keyPrefix, value);\n }\n };\n\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n appendInputs(key, data[key]);\n }\n }\n\n document.body.appendChild(form);\n form.submit();\n}\n\nexport function formToObject(form: HTMLFormElement): Record<string, FormDataEntryValue | FormDataEntryValue[]> {\n const fd = new FormData(form);\n const out: Record<string, FormDataEntryValue | FormDataEntryValue[]> = {};\n\n for (const [key, value] of fd.entries()) {\n if (Object.prototype.hasOwnProperty.call(out, key)) {\n const current = out[key];\n if (Array.isArray(current)) {\n current.push(value);\n } else {\n out[key] = [current, value];\n }\n } else {\n out[key] = value;\n }\n }\n\n return out;\n}\n\n/**\n * Converts an object to `FormData` format recursively.\n *\n * @param {Record<string, any>} data - The object data to convert.\n * @param {FormData} formData - The `FormData` instance to append data to.\n * @param {string} parentKey - The parent key to append to child keys in the `FormData`.\n * @returns {FormData} - The `FormData` instance with the converted data.\n */\nfunction _appendFormDataValue(formData: FormData, key: string, value: any): void {\n if (value instanceof Date) {\n formData.append(key, value.toISOString());\n } else if (value instanceof File) {\n formData.append(key, value);\n } else if (Array.isArray(value)) {\n for (let index = 0; index < value.length; index++) {\n _appendFormDataValue(formData, `${key}[${index}]`, value[index]);\n }\n } else if (value !== null && typeof value === 'object') {\n _objectToFormData(value, formData, key);\n } else {\n formData.append(key, value);\n }\n}\n\nfunction _objectToFormData(data: Record<string, any>, formData: FormData, parentKey: string = ''): FormData {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n _appendFormDataValue(formData, parentKey ? `${parentKey}[${key}]` : key, data[key]);\n }\n }\n\n return formData;\n}\n\n/**\n * Converts an object into FormData.\n *\n * @param {Record<string, any>} data - The object to be converted into FormData.\n * @return {FormData} - The FormData object representing the converted data.\n */\nexport function objectToFormData(data: Record<string, any>): FormData {\n let formData = new FormData();\n return _objectToFormData(data, formData);\n}\n\nexport function ajaxSubmission(\n selectorOrElement: HTMLFormElement | string,\n onSuccess: Optional<Consumer<any>> = undefined,\n onFailure: Optional<Consumer<any>> = undefined\n): void {\n\n const forms: HTMLFormElement[] = typeof selectorOrElement === 'string'\n ? Array.from(document.querySelectorAll(selectorOrElement))\n .filter(el => el instanceof HTMLFormElement) as HTMLFormElement[]\n : [selectorOrElement];\n\n for (const form of forms) {\n form.addEventListener('submit', async (event) => {\n event.preventDefault();\n\n try {\n let result = await ajaxSubmit(event.currentTarget as HTMLFormElement);\n if (onSuccess)\n onSuccess(result);\n } catch (e) {\n if (onFailure)\n onFailure(e);\n }\n\n\n });\n }\n}"]}
1
+ {"version":3,"file":"form-utilities.js","sourceRoot":"","sources":["../../../src/browser/form-utilities.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,iBAA2C;IAExE,MAAM,IAAI,GAAG,OAAO,iBAAiB,KAAK,QAAQ;QAC9C,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC;QAC3C,CAAC,CAAC,iBAAiB,CAAC;IAExB,IAAI,CAAC,CAAC,IAAI,YAAY,eAAe,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAGD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAW,IAAI,IAAI,CAAC,MAAM,CAAC;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAW,IAAI,IAAI,CAAC,MAAM,CAAC;IAEpE,OAAO,MAAM,KAAK,CAAC,MAAM,EAAE;QACvB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAC;AACP,CAAC;AAGD,MAAM,UAAU,UAAU,CACtB,GAAW,EACX,IAAyB,EACzB,SAAyB,MAAM,EAC/B,MAAgD;IAGhD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IAClB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAE5B,IAAI,MAAM,EAAE,CAAC;QACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;QACtB,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;QACjB,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,KAAU,EAAE,EAAE;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACtB,YAAY,CAAC,GAAG,SAAS,IAAI,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC/B,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACrD,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;oBACtD,YAAY,CAAC,GAAG,SAAS,IAAI,MAAM,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACL,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAClD,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAqB;IAC9C,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,GAAG,GAA8D,EAAE,CAAC;IAE1E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,QAAkB,EAAE,GAAW,EAAE,KAAU;IACrE,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC/B,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,oBAAoB,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,KAAK,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;SAAM,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrD,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACJ,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAyB,EAAE,QAAkB,EAAE,YAAoB,EAAE;IAC5F,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAClD,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxF,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACtD,IAAI,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC9B,OAAO,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,cAAc,CAC1B,iBAA2C,EAC3C,SAAyB,EACzB,SAAyB;IAGzB,MAAM,KAAK,GAAsB,OAAO,iBAAiB,KAAK,QAAQ;QAC9D,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;aAClD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,eAAe,CAAsB;QACxE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5C,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,CAAC;gBACD,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,aAAgC,CAAC,CAAC;gBACtE,IAAI,SAAS;oBACT,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,SAAS;oBACT,SAAS,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QAGL,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC","sourcesContent":["import type {Consumer} from \"../types.js\";\n\n\n/**\n * Submits a form via AJAX and returns a Promise that resolves to the Response object.\n *\n * @param {HTMLFormElement | string} selectorOrElement - The form element or selector.\n * @return {Promise<Response>} A Promise that resolves to the Response object.\n * @throws {Error} If the element is invalid.\n */\nexport async function ajaxSubmit(selectorOrElement: HTMLFormElement | string): Promise<Response> {\n\n const form = typeof selectorOrElement === 'string'\n ? document.querySelector(selectorOrElement)\n : selectorOrElement;\n\n if (!(form instanceof HTMLFormElement)) {\n throw new Error(\"Invalid element.\");\n }\n\n\n const formData = new FormData(form);\n const method = form.getAttribute('method') as string ?? form.method;\n const action = form.getAttribute('action') as string ?? form.action;\n\n return await fetch(action, {\n method: method,\n body: formData,\n });\n}\n\n\nexport function submitForm(\n url: string,\n data: Record<string, any>,\n method: 'POST' | 'GET' = 'POST',\n target?: '_blank' | '_self' | '_parent' | '_top'\n): void {\n\n const form = document.createElement('form');\n form.method = method.toUpperCase();\n form.action = url;\n form.style.display = 'none';\n\n if (target) {\n form.target = target;\n }\n\n /**\n * Recursively appends inputs to the form, supporting nested keys and arrays.\n * @param keyPrefix - Key path, e.g., 'user[name]' or 'tags[]'\n * @param value - The value to append (can be nested)\n */\n const appendInput = (key: string, value: any) => {\n const input = document.createElement('input');\n input.type = 'hidden';\n input.name = key;\n input.value = String(value);\n form.appendChild(input);\n };\n\n const appendInputs = (keyPrefix: string, value: any) => {\n if (Array.isArray(value)) {\n for (const val of value) {\n appendInputs(`${keyPrefix}[]`, val);\n }\n } else if (value instanceof Date) {\n appendInput(keyPrefix, value.toISOString());\n } else if (typeof value === 'object' && value !== null) {\n for (const subKey in value) {\n if (Object.prototype.hasOwnProperty.call(value, subKey)) {\n appendInputs(`${keyPrefix}[${subKey}]`, value[subKey]);\n }\n }\n } else {\n appendInput(keyPrefix, value);\n }\n };\n\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n appendInputs(key, data[key]);\n }\n }\n\n document.body.appendChild(form);\n form.submit();\n}\n\nexport function formToObject(form: HTMLFormElement): Record<string, FormDataEntryValue | FormDataEntryValue[]> {\n const fd = new FormData(form);\n const out: Record<string, FormDataEntryValue | FormDataEntryValue[]> = {};\n\n for (const [key, value] of fd.entries()) {\n if (Object.prototype.hasOwnProperty.call(out, key)) {\n const current = out[key];\n if (Array.isArray(current)) {\n current.push(value);\n } else {\n out[key] = [current, value];\n }\n } else {\n out[key] = value;\n }\n }\n\n return out;\n}\n\n/**\n * Converts an object to `FormData` format recursively.\n *\n * @param {Record<string, any>} data - The object data to convert.\n * @param {FormData} formData - The `FormData` instance to append data to.\n * @param {string} parentKey - The parent key to append to child keys in the `FormData`.\n * @returns {FormData} - The `FormData` instance with the converted data.\n */\nfunction _appendFormDataValue(formData: FormData, key: string, value: any): void {\n if (value instanceof Date) {\n formData.append(key, value.toISOString());\n } else if (value instanceof File) {\n formData.append(key, value);\n } else if (Array.isArray(value)) {\n for (let index = 0; index < value.length; index++) {\n _appendFormDataValue(formData, `${key}[${index}]`, value[index]);\n }\n } else if (value !== null && typeof value === 'object') {\n _objectToFormData(value, formData, key);\n } else {\n formData.append(key, value);\n }\n}\n\nfunction _objectToFormData(data: Record<string, any>, formData: FormData, parentKey: string = ''): FormData {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n _appendFormDataValue(formData, parentKey ? `${parentKey}[${key}]` : key, data[key]);\n }\n }\n\n return formData;\n}\n\n/**\n * Converts an object into FormData.\n *\n * @param {Record<string, any>} data - The object to be converted into FormData.\n * @return {FormData} - The FormData object representing the converted data.\n */\nexport function objectToFormData(data: Record<string, any>): FormData {\n let formData = new FormData();\n return _objectToFormData(data, formData);\n}\n\nexport function ajaxSubmission(\n selectorOrElement: HTMLFormElement | string,\n onSuccess?: Consumer<any>,\n onFailure?: Consumer<any>\n): void {\n\n const forms: HTMLFormElement[] = typeof selectorOrElement === 'string'\n ? Array.from(document.querySelectorAll(selectorOrElement))\n .filter(el => el instanceof HTMLFormElement) as HTMLFormElement[]\n : [selectorOrElement];\n\n for (const form of forms) {\n form.addEventListener('submit', async (event) => {\n event.preventDefault();\n\n try {\n let result = await ajaxSubmit(event.currentTarget as HTMLFormElement);\n if (onSuccess)\n onSuccess(result);\n } catch (e) {\n if (onFailure)\n onFailure(e);\n }\n\n\n });\n }\n}"]}
@@ -13,9 +13,9 @@
13
13
  export default class DefaultMap extends Map {
14
14
  /**
15
15
  * @param {UnaryFunction<K, V>} factoryMethod - Function that produces the default value for a key.
16
- * @param {Optional<Iterable<[K, V]>>} entries - Initial entries.
16
+ * @param {Iterable<[K, V]>} [entries] - Initial entries.
17
17
  */
18
- constructor(factoryMethod, entries = undefined) {
18
+ constructor(factoryMethod, entries) {
19
19
  super(entries);
20
20
  if (typeof factoryMethod !== "function") {
21
21
  throw new TypeError("DefaultMap needs a factory (key => defaultValue).");
@@ -1 +1 @@
1
- {"version":3,"file":"default-map.js","sourceRoot":"","sources":["../../../src/collections/default-map.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,UAAiB,SAAQ,GAAS;IAGnD;;;OAGG;IACH,YAAY,aAAkC,EAAE,UAAsC,SAAS;QAC3F,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACM,GAAG,CAAC,GAAM;QACf,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,iFAAiF;QACjF,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IAC3B,CAAC;CAGJ","sourcesContent":["import type {Optional, UnaryFunction} from \"../types.js\";\n\n/**\n * DefaultMap<K, V>\n * A Map that automatically creates and saves a default value\n * when accessing a non-existent key with get(key).\n *\n * @template K - The type of the keys.\n * @template V - The type of the values.\n * @example\n * const m = new DefaultMap<string, number>(() => 0);\n * m.get(\"a\"); // 0\n * m.set(\"a\", m.get(\"a\") + 1); // 1\n */\nexport default class DefaultMap<K, V> extends Map<K, V> {\n private readonly _factoryMethod: (key: K) => V;\n\n /**\n * @param {UnaryFunction<K, V>} factoryMethod - Function that produces the default value for a key.\n * @param {Optional<Iterable<[K, V]>>} entries - Initial entries.\n */\n constructor(factoryMethod: UnaryFunction<K, V>, entries: Optional<Iterable<[K, V]>> = undefined) {\n super(entries);\n if (typeof factoryMethod !== \"function\") {\n throw new TypeError(\"DefaultMap needs a factory (key => defaultValue).\");\n }\n this._factoryMethod = factoryMethod;\n }\n\n /**\n * Gets the value for the key. If it does not exist, it creates it using the factory,\n * saves it, and returns it.\n *\n * @param {K} key - The key to get.\n * @returns {V} The value associated with the key.\n */\n override get(key: K): V {\n if (!super.has(key)) {\n const value = this._factoryMethod(key);\n super.set(key, value);\n return value;\n }\n // ¡super.get puede devolver undefined si no existe! Pero ya comprobamos has(key)\n return super.get(key)!;\n }\n\n\n}\n"]}
1
+ {"version":3,"file":"default-map.js","sourceRoot":"","sources":["../../../src/collections/default-map.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,UAAiB,SAAQ,GAAS;IAGnD;;;OAGG;IACH,YAAY,aAAkC,EAAE,OAA0B;QACtE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACM,GAAG,CAAC,GAAM;QACf,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,iFAAiF;QACjF,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IAC3B,CAAC;CAGJ","sourcesContent":["import type {UnaryFunction} from \"../types.js\";\n\n/**\n * DefaultMap<K, V>\n * A Map that automatically creates and saves a default value\n * when accessing a non-existent key with get(key).\n *\n * @template K - The type of the keys.\n * @template V - The type of the values.\n * @example\n * const m = new DefaultMap<string, number>(() => 0);\n * m.get(\"a\"); // 0\n * m.set(\"a\", m.get(\"a\") + 1); // 1\n */\nexport default class DefaultMap<K, V> extends Map<K, V> {\n private readonly _factoryMethod: (key: K) => V;\n\n /**\n * @param {UnaryFunction<K, V>} factoryMethod - Function that produces the default value for a key.\n * @param {Iterable<[K, V]>} [entries] - Initial entries.\n */\n constructor(factoryMethod: UnaryFunction<K, V>, entries?: Iterable<[K, V]>) {\n super(entries);\n if (typeof factoryMethod !== \"function\") {\n throw new TypeError(\"DefaultMap needs a factory (key => defaultValue).\");\n }\n this._factoryMethod = factoryMethod;\n }\n\n /**\n * Gets the value for the key. If it does not exist, it creates it using the factory,\n * saves it, and returns it.\n *\n * @param {K} key - The key to get.\n * @returns {V} The value associated with the key.\n */\n override get(key: K): V {\n if (!super.has(key)) {\n const value = this._factoryMethod(key);\n super.set(key, value);\n return value;\n }\n // ¡super.get puede devolver undefined si no existe! Pero ya comprobamos has(key)\n return super.get(key)!;\n }\n\n\n}\n"]}
@@ -9,9 +9,9 @@
9
9
  export default class DefaultWeakMap extends WeakMap {
10
10
  /**
11
11
  * @param {UnaryFunction<K, V>} factoryMethod - Function that produces the default value for a key.
12
- * @param {Optional<Iterable<[K, V]>>} entries - Initial entries.
12
+ * @param {Iterable<[K, V]>} [entries] - Initial entries.
13
13
  */
14
- constructor(factoryMethod, entries = undefined) {
14
+ constructor(factoryMethod, entries) {
15
15
  super();
16
16
  if (entries != null) {
17
17
  for (const [key, value] of entries ?? []) {
@@ -1 +1 @@
1
- {"version":3,"file":"default-weak-map.js","sourceRoot":"","sources":["../../../src/collections/default-weak-map.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,cAAoC,SAAQ,OAAa;IAG1E;;;OAGG;IACH,YAAY,aAAkC,EAAE,UAAsC,SAAS;QAC3F,KAAK,EAAE,CAAC;QAER,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QAED,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACM,GAAG,CAAC,GAAM;QACf,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,iFAAiF;QACjF,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IAC3B,CAAC;CAGJ","sourcesContent":["import type {Optional, UnaryFunction} from \"../types.js\";\n\n/**\n * DefaultWeakMap<K, V>\n * A WeakMap that automatically creates and saves a default value\n * when accessing a non-existent key with get(key).\n *\n * @template K - The type of the keys. Must be an object.\n * @template V - The type of the values.\n */\nexport default class DefaultWeakMap<K extends object, V> extends WeakMap<K, V> {\n private readonly _factoryMethod: (key: K) => V;\n\n /**\n * @param {UnaryFunction<K, V>} factoryMethod - Function that produces the default value for a key.\n * @param {Optional<Iterable<[K, V]>>} entries - Initial entries.\n */\n constructor(factoryMethod: UnaryFunction<K, V>, entries: Optional<Iterable<[K, V]>> = undefined) {\n super();\n\n if (entries != null) {\n for (const [key, value] of entries ?? []) {\n this.set(key, value);\n }\n }\n\n if (typeof factoryMethod !== \"function\") {\n throw new TypeError(\"DefaultWeakMap needs a factory (key => defaultValue).\");\n }\n this._factoryMethod = factoryMethod;\n }\n\n /**\n * Gets the value for the key. If it does not exist, it creates it using the factory,\n * saves it, and returns it.\n *\n * @param {K} key - The key to get.\n * @returns {V} The value associated with the key.\n */\n override get(key: K): V {\n if (!super.has(key)) {\n const value = this._factoryMethod(key);\n super.set(key, value);\n return value;\n }\n // ¡super.get puede devolver undefined si no existe! Pero ya comprobamos has(key)\n return super.get(key)!;\n }\n\n\n}\n"]}
1
+ {"version":3,"file":"default-weak-map.js","sourceRoot":"","sources":["../../../src/collections/default-weak-map.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,cAAoC,SAAQ,OAAa;IAG1E;;;OAGG;IACH,YAAY,aAAkC,EAAE,OAA0B;QACtE,KAAK,EAAE,CAAC;QAER,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QAED,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACM,GAAG,CAAC,GAAM;QACf,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,iFAAiF;QACjF,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IAC3B,CAAC;CAGJ","sourcesContent":["import type {UnaryFunction} from \"../types.js\";\n\n/**\n * DefaultWeakMap<K, V>\n * A WeakMap that automatically creates and saves a default value\n * when accessing a non-existent key with get(key).\n *\n * @template K - The type of the keys. Must be an object.\n * @template V - The type of the values.\n */\nexport default class DefaultWeakMap<K extends object, V> extends WeakMap<K, V> {\n private readonly _factoryMethod: (key: K) => V;\n\n /**\n * @param {UnaryFunction<K, V>} factoryMethod - Function that produces the default value for a key.\n * @param {Iterable<[K, V]>} [entries] - Initial entries.\n */\n constructor(factoryMethod: UnaryFunction<K, V>, entries?: Iterable<[K, V]>) {\n super();\n\n if (entries != null) {\n for (const [key, value] of entries ?? []) {\n this.set(key, value);\n }\n }\n\n if (typeof factoryMethod !== \"function\") {\n throw new TypeError(\"DefaultWeakMap needs a factory (key => defaultValue).\");\n }\n this._factoryMethod = factoryMethod;\n }\n\n /**\n * Gets the value for the key. If it does not exist, it creates it using the factory,\n * saves it, and returns it.\n *\n * @param {K} key - The key to get.\n * @returns {V} The value associated with the key.\n */\n override get(key: K): V {\n if (!super.has(key)) {\n const value = this._factoryMethod(key);\n super.set(key, value);\n return value;\n }\n // ¡super.get puede devolver undefined si no existe! Pero ya comprobamos has(key)\n return super.get(key)!;\n }\n\n\n}\n"]}
@@ -103,10 +103,10 @@ export class From {
103
103
  /**
104
104
  * Checks if any element in the sequence satisfies the given predicate.
105
105
  * If no predicate is provided, checks if the sequence is not empty.
106
- * @param {Optional<Predicate<T>>} predicate - A function to test each element.
106
+ * @param {Predicate<T>} [predicate] - A function to test each element.
107
107
  * @returns {boolean} True if any element satisfies the predicate.
108
108
  */
109
- any(predicate = undefined) {
109
+ any(predicate) {
110
110
  for (let item of this) {
111
111
  if (predicate == null || predicate(item)) {
112
112
  return true;
@@ -124,10 +124,10 @@ export class From {
124
124
  /**
125
125
  * Counts the number of elements that satisfy the given predicate.
126
126
  * If no predicate is provided, counts all elements.
127
- * @param {Optional<Predicate<T>>} predicate - A function to test each element.
127
+ * @param {Predicate<T>} [predicate] - A function to test each element.
128
128
  * @returns {number} The count of elements.
129
129
  */
130
- count(predicate = undefined) {
130
+ count(predicate) {
131
131
  let output = 0;
132
132
  for (let item of this) {
133
133
  if (predicate == null || predicate(item)) {