@ezez/utils 4.2.0 → 4.4.0

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 (134) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/race.d.ts +3 -0
  7. package/dist/race.d.ts.map +1 -0
  8. package/dist/race.js +14 -0
  9. package/dist/race.js.map +1 -0
  10. package/dist/sortBy.d.ts +1 -1
  11. package/dist/sortBy.d.ts.map +1 -1
  12. package/dist/sortBy.js +2 -7
  13. package/dist/sortBy.js.map +1 -1
  14. package/dist/sortByMultiple.d.ts +3 -0
  15. package/dist/sortByMultiple.d.ts.map +1 -0
  16. package/dist/sortByMultiple.js +18 -0
  17. package/dist/sortByMultiple.js.map +1 -0
  18. package/docs/assets/navigation.js +1 -1
  19. package/docs/assets/search.js +1 -1
  20. package/docs/documents/CHANGELOG.html +57 -48
  21. package/docs/functions/index.cap.html +2 -2
  22. package/docs/functions/index.capitalize.html +2 -2
  23. package/docs/functions/index.coalesce.html +2 -2
  24. package/docs/functions/index.compareArrays.html +2 -2
  25. package/docs/functions/index.compareProps.html +2 -2
  26. package/docs/functions/index.deserialize.html +2 -2
  27. package/docs/functions/index.ensureArray.html +2 -2
  28. package/docs/functions/index.ensureDate.html +2 -2
  29. package/docs/functions/index.ensureError.html +2 -2
  30. package/docs/functions/index.ensurePrefix.html +2 -2
  31. package/docs/functions/index.ensureSuffix.html +2 -2
  32. package/docs/functions/index.ensureTimestamp.html +2 -2
  33. package/docs/functions/index.escapeRegExp.html +2 -2
  34. package/docs/functions/index.formatDate.html +2 -2
  35. package/docs/functions/index.get.html +2 -2
  36. package/docs/functions/index.getMultiple.html +2 -2
  37. package/docs/functions/index.insertSeparator.html +2 -2
  38. package/docs/functions/index.isEmpty.html +2 -2
  39. package/docs/functions/index.isNumericString.html +2 -2
  40. package/docs/functions/index.isPlainObject.html +2 -2
  41. package/docs/functions/index.last.html +2 -2
  42. package/docs/functions/index.later-1.html +2 -2
  43. package/docs/functions/index.mapAsync.html +2 -2
  44. package/docs/functions/index.mapValues.html +2 -2
  45. package/docs/functions/index.match.html +2 -2
  46. package/docs/functions/index.memoize.html +2 -2
  47. package/docs/functions/index.merge.html +2 -2
  48. package/docs/functions/index.mostFrequent.html +2 -2
  49. package/docs/functions/index.noop.html +2 -2
  50. package/docs/functions/index.occurrences.html +2 -2
  51. package/docs/functions/index.omit.html +2 -2
  52. package/docs/functions/index.pick.html +2 -2
  53. package/docs/functions/index.pull.html +2 -2
  54. package/docs/functions/index.race.html +11 -0
  55. package/docs/functions/index.remove.html +2 -2
  56. package/docs/functions/index.removeCommonProperties.html +2 -2
  57. package/docs/functions/index.replace.html +2 -2
  58. package/docs/functions/index.replaceDeep.html +2 -2
  59. package/docs/functions/index.rethrow.html +2 -2
  60. package/docs/functions/index.retry.html +2 -2
  61. package/docs/functions/index.round.html +2 -2
  62. package/docs/functions/index.safe.html +2 -2
  63. package/docs/functions/index.sample.html +2 -2
  64. package/docs/functions/index.samples.html +2 -2
  65. package/docs/functions/index.scale.html +2 -2
  66. package/docs/functions/index.seq.html +2 -2
  67. package/docs/functions/index.seqEarlyBreak.html +2 -2
  68. package/docs/functions/index.serialize.html +2 -2
  69. package/docs/functions/index.set.html +2 -2
  70. package/docs/functions/index.setImmutable.html +2 -2
  71. package/docs/functions/index.shuffle.html +2 -2
  72. package/docs/functions/index.sortBy.html +4 -4
  73. package/docs/functions/index.sortByMultiple.html +10 -0
  74. package/docs/functions/index.sortProps.html +2 -2
  75. package/docs/functions/index.stripPrefix.html +2 -2
  76. package/docs/functions/index.stripSuffix.html +2 -2
  77. package/docs/functions/index.throttle.html +2 -2
  78. package/docs/functions/index.toggle.html +2 -2
  79. package/docs/functions/index.trim.html +2 -2
  80. package/docs/functions/index.trimEnd.html +2 -2
  81. package/docs/functions/index.trimStart.html +2 -2
  82. package/docs/functions/index.truthy.html +2 -2
  83. package/docs/functions/index.unique.html +2 -2
  84. package/docs/functions/index.wait.html +2 -2
  85. package/docs/functions/index.waitFor.html +2 -2
  86. package/docs/functions/index.waitSync.html +2 -2
  87. package/docs/index.html +2 -2
  88. package/docs/interfaces/index.ComparePropsOptions.html +3 -3
  89. package/docs/interfaces/index.GetMultipleSource.html +2 -2
  90. package/docs/interfaces/index.GetSource.html +2 -2
  91. package/docs/interfaces/index.IsNumericStringOptions.html +2 -2
  92. package/docs/interfaces/index.OccurencesOptions.html +2 -2
  93. package/docs/interfaces/index.SetImmutableSource.html +2 -2
  94. package/docs/interfaces/index.SetSource.html +2 -2
  95. package/docs/interfaces/index.ThrottleOptions.html +3 -3
  96. package/docs/interfaces/index.ThrottledFunctionExtras.html +3 -3
  97. package/docs/modules/index.html +4 -2
  98. package/docs/modules.html +2 -2
  99. package/docs/types/index.CustomDeserializers.html +1 -1
  100. package/docs/types/index.CustomSerializers.html +1 -1
  101. package/docs/types/index.Later.html +2 -2
  102. package/docs/types/index.MapValuesFn.html +2 -2
  103. package/docs/types/index.MatchCallback.html +1 -1
  104. package/docs/types/index.MergeTwo.html +2 -2
  105. package/docs/types/index.SeqEarlyBreaker.html +2 -2
  106. package/docs/types/index.SeqFn.html +2 -2
  107. package/docs/types/index.SeqFunctions.html +2 -2
  108. package/docs/types/index.SetImmutablePath.html +2 -2
  109. package/docs/types/index.ThrottledFunction.html +1 -1
  110. package/docs/variables/index.mapValuesUNSET.html +2 -2
  111. package/docs/variables/index.mergeUNSET.html +2 -2
  112. package/esm/index.d.ts +2 -0
  113. package/esm/index.d.ts.map +1 -1
  114. package/esm/index.js +2 -0
  115. package/esm/index.js.map +1 -1
  116. package/esm/race.d.ts +3 -0
  117. package/esm/race.d.ts.map +1 -0
  118. package/esm/race.js +11 -0
  119. package/esm/race.js.map +1 -0
  120. package/esm/sortBy.d.ts +1 -1
  121. package/esm/sortBy.d.ts.map +1 -1
  122. package/esm/sortBy.js +2 -7
  123. package/esm/sortBy.js.map +1 -1
  124. package/esm/sortByMultiple.d.ts +3 -0
  125. package/esm/sortByMultiple.d.ts.map +1 -0
  126. package/esm/sortByMultiple.js +15 -0
  127. package/esm/sortByMultiple.js.map +1 -0
  128. package/package.json +1 -1
  129. package/src/index.ts +2 -0
  130. package/src/race.ts +30 -0
  131. package/src/sortBy.spec.ts +13 -0
  132. package/src/sortBy.ts +11 -15
  133. package/src/sortByMultiple.spec.ts +87 -0
  134. package/src/sortByMultiple.ts +57 -0
package/CHANGELOG.md CHANGED
@@ -6,6 +6,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
6
6
  ## [UNRELEASED]
7
7
  - (nothing yet)
8
8
 
9
+ ## [4.4.0] - 2025-03-23
10
+ ### Added
11
+ - `sortByMultiple` method
12
+ ### Dev
13
+ - fixed `race` JSDoc
14
+
15
+ ## [4.3.0] - 2025-03-04
16
+ ### Added
17
+ - `race` method
18
+
9
19
  ## [4.2.0] - 2025-03-04
10
20
  ### Added
11
21
  - `retry` method
package/dist/index.d.ts CHANGED
@@ -31,6 +31,7 @@ export * from "./occurrences.js";
31
31
  export * from "./omit.js";
32
32
  export * from "./pick.js";
33
33
  export * from "./pull.js";
34
+ export * from "./race.js";
34
35
  export * from "./remove.js";
35
36
  export * from "./removeCommonProperties.js";
36
37
  export * from "./replace.js";
@@ -48,6 +49,7 @@ export * from "./set.js";
48
49
  export * from "./setImmutable.js";
49
50
  export * from "./shuffle.js";
50
51
  export * from "./sortBy.js";
52
+ export * from "./sortByMultiple.js";
51
53
  export * from "./sortProps.js";
52
54
  export * from "./stripPrefix.js";
53
55
  export * from "./stripSuffix.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -47,6 +47,7 @@ __exportStar(require("./occurrences.js"), exports);
47
47
  __exportStar(require("./omit.js"), exports);
48
48
  __exportStar(require("./pick.js"), exports);
49
49
  __exportStar(require("./pull.js"), exports);
50
+ __exportStar(require("./race.js"), exports);
50
51
  __exportStar(require("./remove.js"), exports);
51
52
  __exportStar(require("./removeCommonProperties.js"), exports);
52
53
  __exportStar(require("./replace.js"), exports);
@@ -64,6 +65,7 @@ __exportStar(require("./set.js"), exports);
64
65
  __exportStar(require("./setImmutable.js"), exports);
65
66
  __exportStar(require("./shuffle.js"), exports);
66
67
  __exportStar(require("./sortBy.js"), exports);
68
+ __exportStar(require("./sortByMultiple.js"), exports);
67
69
  __exportStar(require("./sortProps.js"), exports);
68
70
  __exportStar(require("./stripPrefix.js"), exports);
69
71
  __exportStar(require("./stripSuffix.js"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,oDAAkC;AAClC,oDAAkC;AAClC,2CAAyB;AACzB,kDAAgC;AAChC,gDAA8B;AAC9B,qDAAmC;AACnC,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,uDAAqC;AACrC,oDAAkC;AAClC,kDAAgC;AAChC,2CAAyB;AACzB,mDAAiC;AACjC,uDAAqC;AACrC,+CAA6B;AAC7B,uDAAqC;AACrC,qDAAmC;AACnC,4CAA0B;AAC1B,6CAA2B;AAC3B,gDAA8B;AAC9B,iDAA+B;AAC/B,6CAA2B;AAC3B,+CAA6B;AAC7B,6CAA2B;AAC3B,oDAAkC;AAClC,4CAA0B;AAC1B,mDAAiC;AACjC,4CAA0B;AAC1B,4CAA0B;AAC1B,4CAA0B;AAC1B,8CAA4B;AAC5B,8DAA4C;AAC5C,+CAA6B;AAC7B,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,2CAAyB;AACzB,iDAA+B;AAC/B,2CAAyB;AACzB,oDAAkC;AAClC,+CAA6B;AAC7B,8CAA4B;AAC5B,iDAA+B;AAC/B,mDAAiC;AACjC,mDAAiC;AACjC,gDAA8B;AAC9B,8CAA4B;AAC5B,4CAA0B;AAC1B,+CAA6B;AAC7B,iDAA+B;AAC/B,8CAA4B;AAC5B,8CAA4B;AAC5B,4CAA0B;AAC1B,+CAA6B;AAC7B,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,oDAAkC;AAClC,oDAAkC;AAClC,2CAAyB;AACzB,kDAAgC;AAChC,gDAA8B;AAC9B,qDAAmC;AACnC,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,uDAAqC;AACrC,oDAAkC;AAClC,kDAAgC;AAChC,2CAAyB;AACzB,mDAAiC;AACjC,uDAAqC;AACrC,+CAA6B;AAC7B,uDAAqC;AACrC,qDAAmC;AACnC,4CAA0B;AAC1B,6CAA2B;AAC3B,gDAA8B;AAC9B,iDAA+B;AAC/B,6CAA2B;AAC3B,+CAA6B;AAC7B,6CAA2B;AAC3B,oDAAkC;AAClC,4CAA0B;AAC1B,mDAAiC;AACjC,4CAA0B;AAC1B,4CAA0B;AAC1B,4CAA0B;AAC1B,4CAA0B;AAC1B,8CAA4B;AAC5B,8DAA4C;AAC5C,+CAA6B;AAC7B,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,2CAAyB;AACzB,iDAA+B;AAC/B,2CAAyB;AACzB,oDAAkC;AAClC,+CAA6B;AAC7B,8CAA4B;AAC5B,sDAAoC;AACpC,iDAA+B;AAC/B,mDAAiC;AACjC,mDAAiC;AACjC,gDAA8B;AAC9B,8CAA4B;AAC5B,4CAA0B;AAC1B,+CAA6B;AAC7B,iDAA+B;AAC/B,8CAA4B;AAC5B,8CAA4B;AAC5B,4CAA0B;AAC1B,+CAA6B;AAC7B,gDAA8B"}
package/dist/race.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ declare const race: <T>(promise: Promise<T>, timeout: number, message?: string) => Promise<T>;
2
+ export { race, };
3
+ //# sourceMappingURL=race.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"race.d.ts","sourceRoot":"","sources":["../src/race.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,IAAI,GAAI,CAAC,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,gBAAyB,KAAG,OAAO,CAAC,CAAC,CAQ3F,CAAC;AAEF,OAAO,EACH,IAAI,GACP,CAAC"}
package/dist/race.js ADDED
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.race = void 0;
4
+ const race = (promise, timeout, message = "Race: Timeout") => {
5
+ return Promise.race([
6
+ promise, new Promise((_, reject) => {
7
+ setTimeout(() => {
8
+ reject(new Error(message));
9
+ }, timeout);
10
+ }),
11
+ ]);
12
+ };
13
+ exports.race = race;
14
+ //# sourceMappingURL=race.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"race.js","sourceRoot":"","sources":["../src/race.ts"],"names":[],"mappings":";;;AAeA,MAAM,IAAI,GAAG,CAAI,OAAmB,EAAE,OAAe,EAAE,OAAO,GAAG,eAAe,EAAc,EAAE;IAC5F,OAAO,OAAO,CAAC,IAAI,CAAC;QAChB,OAAO,EAAE,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAClC,UAAU,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/B,CAAC,EAAE,OAAO,CAAC,CAAC;QAChB,CAAC,CAAC;KACL,CAAC,CAAC;AACP,CAAC,CAAC;AAGE,oBAAI"}
package/dist/sortBy.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- declare const sortBy: <T>(propertyName: keyof T, asc?: boolean, defaultValue?: unknown) => (a: T, b: T) => 0 | 1 | -1;
1
+ declare const sortBy: <T extends Record<string | number | symbol, any>>(propertyName: keyof T, asc?: boolean, defaultValue?: unknown) => (a: T, b: T) => number;
2
2
  export { sortBy, };
3
3
  //# sourceMappingURL=sortBy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sortBy.d.ts","sourceRoot":"","sources":["../src/sortBy.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,GAAI,CAAC,EAAE,cAAc,MAAM,CAAC,EAAE,aAAU,EAAE,eAAc,OAAc,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,eAYjG,CAAC;AAEF,OAAO,EACH,MAAM,GACT,CAAC"}
1
+ {"version":3,"file":"sortBy.d.ts","sourceRoot":"","sources":["../src/sortBy.ts"],"names":[],"mappings":"AAUA,QAAA,MAAM,MAAM,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EAC3D,cAAc,MAAM,CAAC,EAAE,aAAU,EAAE,eAAc,OAAc,MAC7D,GAAG,CAAC,EAAE,GAAG,CAAC,WAGf,CAAC;AAEF,OAAO,EACH,MAAM,GACT,CAAC"}
package/dist/sortBy.js CHANGED
@@ -1,14 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sortBy = void 0;
4
+ const sortByMultiple_js_1 = require("./sortByMultiple.js");
4
5
  const sortBy = (propertyName, asc = true, defaultValue = null) => (a, b) => {
5
- if (a[propertyName] === b[propertyName]) {
6
- return 0;
7
- }
8
- if ((a[propertyName] ?? defaultValue) > (b[propertyName] ?? defaultValue)) {
9
- return asc ? 1 : -1;
10
- }
11
- return asc ? -1 : 1;
6
+ return (0, sortByMultiple_js_1.sortByMultiple)([propertyName], asc, { [propertyName]: defaultValue })(a, b);
12
7
  };
13
8
  exports.sortBy = sortBy;
14
9
  //# sourceMappingURL=sortBy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sortBy.js","sourceRoot":"","sources":["../src/sortBy.ts"],"names":[],"mappings":";;;AAOA,MAAM,MAAM,GAAG,CAAI,YAAqB,EAAE,GAAG,GAAG,IAAI,EAAE,eAAwB,IAAI,EAAE,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE;IAClG,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,CAAC;IACb,CAAC;IAGD,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC;QAExE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AAGE,wBAAM"}
1
+ {"version":3,"file":"sortBy.js","sourceRoot":"","sources":["../src/sortBy.ts"],"names":[],"mappings":";;;AAAA,2DAAqD;AAUrD,MAAM,MAAM,GAAG,CACX,YAAqB,EAAE,GAAG,GAAG,IAAI,EAAE,eAAwB,IAAI,EACjE,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE;IAEhB,OAAO,IAAA,kCAAc,EAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,YAAY,EAAmC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxH,CAAC,CAAC;AAGE,wBAAM"}
@@ -0,0 +1,3 @@
1
+ declare const sortByMultiple: <T extends Record<string | number | symbol, any>, K extends (keyof T)[]>(propertyNames: K, ascending?: boolean | Record<K[number], boolean>, defaultValues?: Partial<Record<K[number], any>>) => ((a: T, b: T) => number);
2
+ export { sortByMultiple, };
3
+ //# sourceMappingURL=sortByMultiple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortByMultiple.d.ts","sourceRoot":"","sources":["../src/sortByMultiple.ts"],"names":[],"mappings":"AA2BA,QAAA,MAAM,cAAc,GAEhB,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EAC/C,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAErB,eAAe,CAAC,EAChB,YAAW,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAQ,EAEtD,gBAAgB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,KAChD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAgBzB,CAAC;AAEF,OAAO,EACH,cAAc,GACjB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortByMultiple = void 0;
4
+ const sortByMultiple = (propertyNames, ascending = true, defaultValues) => (a, b) => {
5
+ for (const propertyName of propertyNames) {
6
+ const asc = typeof ascending === "boolean" ? ascending : (ascending[propertyName] ?? true);
7
+ const aBiggerValue = asc ? 1 : -1;
8
+ const bBiggerValue = asc ? -1 : 1;
9
+ const aValue = a[propertyName] ?? defaultValues?.[propertyName];
10
+ const bValue = b[propertyName] ?? defaultValues?.[propertyName];
11
+ if (aValue !== bValue) {
12
+ return (aValue > bValue ? aBiggerValue : bBiggerValue);
13
+ }
14
+ }
15
+ return 0;
16
+ };
17
+ exports.sortByMultiple = sortByMultiple;
18
+ //# sourceMappingURL=sortByMultiple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortByMultiple.js","sourceRoot":"","sources":["../src/sortByMultiple.ts"],"names":[],"mappings":";;;AA2BA,MAAM,cAAc,GAAG,CAKnB,aAAgB,EAChB,YAAkD,IAAI,EAEtD,aAA+C,EACvB,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE;IAC1C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QAEvC,MAAM,GAAG,GAAG,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC;QAC3F,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAEpB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAGE,wCAAc"}
@@ -1 +1 @@
1
- window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA43X21LbMBAG4HfJNS0UCk254xAoMxwyddobhgvF2SQqlmUkGUI7vHvlQ2I7jv/1bfbfL44i2evHfwNHKzc4HVz8OLu/Ht0+XA/2BolwS//RTIepotjZ/U3x89KpyCeeZTwbnA6PhsOTg+HH3kbxH9OqEpSepRHZ/fzjZu/h3iBcymhmKB6cPlaXoVUiDI2NTuxD4qSObcXJ2JGZi3Aj7khvfcvxSe3qrsndpZGTSUSBTk1IgG5lGbgPyEM39t4vuZFh4IyMF/wK7G5AX/EQhqlfdE/weiuL4IDcjVKpE9Mey9sOM3QfkYcmS6Odi2h2lcZh9otGK2cEWoKOjj5fwq/vVhKhF6l1Wl2S9X+2iORfMjXYvSfVmWgHt9yD79++HB+27KCfHPR3b4X/vbutvMT134nkt4hSslfxbqUW4C0XLi9EFE1F+Nyl1SKsR2ZBkzfdQZVVTgnoZSRM9H5uSDx3rdVWqIfZtV55qU9/udc7NkI9wWvVQR9nVIfYTHFq61TuZlsxzlXrDfXrPhhNKvRV+E0/rR5lzVxTPWqA2UbgsE0GQKFIKmG+Xv1S8MVm68nXZqt0+ZGFQplBkBb+qkPElAmI5M/sM2PEu0VSLcZz+QjAankKYLPqrtlt1UKAotim5eV3U7UQS136OyYnZRkWGhmjDSflIZYaG5rLFWcVKRYL0nkPrEix2EQqsk4ocGi2goi0/njQT1qMVsirpQA210YJh//NKgOgBbluwRdx63q4hcQ6BCgZ+9PgAvLHSzi0r7aCiLQjlThwbMoAJBpjMaIaQUiOIyHjh+kfCsHCN2KAi4QFSlaFzY3Bqt3ty5++AMA/v87sexx2G+sERoqHIFSKCGT82IUIX0btpDS8X5cBSPgHMAJ8GbVr664MvaT+XRkotRTAYq3BPSargmadva8VL2zdRi2EKCXBj8mqoDmR9Rl7uzmrouY0ikCzr4Jm4//sV/BfFnUWuNBK6TgbF/w9S6LV3J2HX5BEAs1QZYAnLonAVqmFIOX8jPyGmDyACQNu1nkZtevUf9bdnpVBuxVzsJZZFTYr+Ags6iwAtkcZQEQo4CVkZdROL6CZXnBr9V4JkSoGOXZ07jM4WzTWWDjW2NpbJDQ2KYQt/aQJnSKACG3cOTgaRZ0BmDebTQQxfrZJuFm9FuIoblKvhQDlypfzbmedQIheLCCR1xFgpALtvso0j9DdqwwwROCEAZt+E4FM6pZgqxV1AKSx9KNJN1DUAfAm0MCQVZnmK/T2UAYYIoAj7TrRQp4+nv4D7PDhGQkZAAA="
1
+ window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA42YS1PbMBRG/0vWtFAoNGXHI1BmeGTqtBuGheLcJCqWZSQZQjv898qPxHYcf9db3/Md24okX+Xx38DRyg1OBxc/zu6vR7cP14O9QSLc0l+a6TBVFDu7vyl+XjoVeeJZxrPB6fBoODw5GH7sbSz+Mq0qg9KzNCK7n19uZg/3BuFSRjND8eD0sXoMrRJhaGx0Yh8SJ3VsK52MHZm5CDfGHfTWXY5Pak93Te4ujZxMIgp0akIC6hbLiPsIedGNvfdDbmQYOCPjBT8CuwPoFg9hmPpB9wre3mKROCB3o1TqxLTH8LZhRt3HyIsmS6Odi2h2lcZh9kajlTMCDUFHos9N+PHdIpH0IrVOq0uy/scWkfxLpiZ270m1Jtrglvfg+7cvx4ctd9DPHPT33gr/vrtdeYnL34nkt4hSslfxbksN4F0uXF6IKJqK8LnLVkNYH5kFTd50h6qscpaAXkbCRO/nhsRz11htQT2cXeOVl/rky7neMRHqBG+rFvo4U3UYmxRnba3K3doWxnnVekL9ug9Gk0r6Kvykn1afsibXtB41hNlE4GQbBohCkVSG+Xr0S4MvNqMnX5tR6fIlCw0lg0Ra+KcOkaYkoCT/Zp8ZI94tMtUwXpe3AKwtp4BsVu2a3a4aBFQU27R8/G5VDWJVl37H5EwZw4pGxmjDmXKIVY0NzeWKcxUUKwvSeQ9ZQbGyiVRknVBg0WyBSGn98qCftBitkK9GAdlcGyUc/jUrBogW5LoNvoij6+YWKtYQUMnYrwYXkF9ewqF5tQUipR2pxIFlUwJQ0WiLkaoBQuU4EjJ+mP6hEAx8AwO6SFhgyaow3Gis2mlf/vQFCPz368y+x2G3Y01gSfERhJYCgRrfdiGFL6M4KQ336xKACv8BRgJfRnFt3ZWhl9SflYGlRgFZrDXYY7IqCOvsvFYc2LodNQiplAQvk1VBOJH1Hns7nFVROI0iEPZVEDYCtSdZFYX9THlF8bzOCi60UjrOeg2/4Un0U+zm4Q2SCL9hAfCKSyIwz2oQVDnfYL8hTQ5ghQE7fV5GcZ36a93xrAziVszBWGZVGFbw+1nUWQGYHiWAFKGAj5CVUZxeQJhecLQ6lEJJhUEd23f36bot6oks7Ils7QgKHRsKyZa+TYWeAkAKbdw5WBpFnRXwfV6TY4TMOWuDII3vtBLu5FCDOBV3bqhBQOXKvwq6PWsCSfRiARV5HQmMVCDuq0x4hLbDEmAUgRMGrKINAjWpW4K5W9SBII2lb5S6BUUdCN4Eal+yKhO+QmeZEmAUAWyw10RL8vTx9B/w2jZblxkAAA=="
@@ -1 +1 @@
1
- window.searchData = "data:application/octet-stream;base64,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";
1
+ window.searchData = "data:application/octet-stream;base64,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";