lib0 0.2.102 → 0.2.104

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 (63) hide show
  1. package/array.d.ts +1 -0
  2. package/array.d.ts.map +1 -1
  3. package/array.js +36 -0
  4. package/array.test.d.ts +3 -0
  5. package/array.test.d.ts.map +1 -1
  6. package/coverage/tmp/coverage-144570-1744464296590-0.json +1 -0
  7. package/dist/aes-gcm.cjs +4 -4
  8. package/dist/{array-8d6422a6.cjs → array-f0f52786.cjs} +40 -2
  9. package/dist/array-f0f52786.cjs.map +1 -0
  10. package/dist/array.cjs +2 -1
  11. package/dist/array.cjs.map +1 -1
  12. package/dist/array.d.ts +1 -0
  13. package/dist/array.d.ts.map +1 -1
  14. package/dist/array.test.d.ts +3 -0
  15. package/dist/array.test.d.ts.map +1 -1
  16. package/dist/{broadcastchannel-a4555c37.cjs → broadcastchannel-37078cae.cjs} +2 -2
  17. package/dist/{broadcastchannel-a4555c37.cjs.map → broadcastchannel-37078cae.cjs.map} +1 -1
  18. package/dist/broadcastchannel.cjs +8 -8
  19. package/dist/{buffer-6e426aed.cjs → buffer-40b77c5a.cjs} +6 -6
  20. package/dist/{buffer-6e426aed.cjs.map → buffer-40b77c5a.cjs.map} +1 -1
  21. package/dist/buffer.cjs +7 -7
  22. package/dist/cache.cjs +2 -2
  23. package/dist/component.cjs +4 -4
  24. package/dist/{decoding-2c98f95d.cjs → decoding-a2e1942e.cjs} +3 -3
  25. package/dist/{decoding-2c98f95d.cjs.map → decoding-a2e1942e.cjs.map} +1 -1
  26. package/dist/decoding.cjs +4 -4
  27. package/dist/{diff-2825aafb.cjs → diff-d834bf6a.cjs} +2 -2
  28. package/dist/{diff-2825aafb.cjs.map → diff-d834bf6a.cjs.map} +1 -1
  29. package/dist/diff.cjs +3 -3
  30. package/dist/{encoding-559e49f1.cjs → encoding-cbd8e85d.cjs} +3 -3
  31. package/dist/{encoding-559e49f1.cjs.map → encoding-cbd8e85d.cjs.map} +1 -1
  32. package/dist/encoding.cjs +3 -3
  33. package/dist/{environment-95824d14.cjs → environment-eed3e012.cjs} +3 -3
  34. package/dist/{environment-95824d14.cjs.map → environment-eed3e012.cjs.map} +1 -1
  35. package/dist/environment.cjs +4 -4
  36. package/dist/{function-932685da.cjs → function-febfa7bc.cjs} +2 -2
  37. package/dist/{function-932685da.cjs.map → function-febfa7bc.cjs.map} +1 -1
  38. package/dist/function.cjs +2 -2
  39. package/dist/index.cjs +11 -11
  40. package/dist/jwt.cjs +7 -7
  41. package/dist/list.cjs +2 -2
  42. package/dist/logging.cjs +4 -4
  43. package/dist/logging.common.cjs +4 -4
  44. package/dist/logging.node.cjs +4 -4
  45. package/dist/observable.cjs +1 -1
  46. package/dist/performance.node.cjs +2 -2
  47. package/dist/{prng-ffbde921.cjs → prng-f2da145e.cjs} +3 -3
  48. package/dist/{prng-ffbde921.cjs.map → prng-f2da145e.cjs.map} +1 -1
  49. package/dist/prng.cjs +8 -8
  50. package/dist/rabin-gf2-polynomial.cjs +7 -7
  51. package/dist/rabin-uncached.cjs +7 -7
  52. package/dist/rabin.cjs +7 -7
  53. package/dist/{string-d07c212b.cjs → string-3cd7a2db.cjs} +2 -2
  54. package/dist/{string-d07c212b.cjs.map → string-3cd7a2db.cjs.map} +1 -1
  55. package/dist/string.cjs +2 -2
  56. package/dist/testing.cjs +9 -9
  57. package/dist/{websocket-9495c37b.cjs → websocket-3a481d20.cjs} +1 -1
  58. package/dist/{websocket-9495c37b.cjs.map → websocket-3a481d20.cjs.map} +1 -1
  59. package/dist/websocket.cjs +2 -2
  60. package/package.json +1 -1
  61. package/test.html +1 -1
  62. package/coverage/tmp/coverage-39858-1743628831397-0.json +0 -1
  63. package/dist/array-8d6422a6.cjs.map +0 -1
package/array.d.ts CHANGED
@@ -26,4 +26,5 @@ export const isArray: (arg: any) => arg is any[];
26
26
  export function unique<T_1>(arr: T_1[]): T_1[];
27
27
  export function uniqueBy<T_1, M>(arr: ArrayLike<T_1>, mapper: (arg0: T_1) => M): T_1[];
28
28
  export function map<ARR extends ArrayLike<any>, MAPPER extends (arg0: ARR extends ArrayLike<infer T_1> ? T_1 : never, arg1: number, arg2: ARR) => any>(arr: ARR, mapper: MAPPER): (MAPPER extends (...arg0: any[]) => infer M ? M : never)[];
29
+ export function bubblesortItem<T_1>(arr: T_1[], i: number, compareFn: (a: T_1, b: T_1) => number): number;
29
30
  //# sourceMappingURL=array.d.ts.map
package/array.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["array.js"],"names":[],"mappings":"AAeO,8CAAuC;AAMvC,iCAAiD;AAOjD,qCAAqD;AASrD,uDAIN;AAED;;;;;;;GAOG;AACH;;;;;EAA8B;AAavB,yFAHmB,MAAM,gBAAO,OAAO,GAClC,OAAO,CASlB;AAYM,+EAHgB,MAAM,gBAAO,OAAO,GAC/B,OAAO,CASlB;AASM,yEAFK,OAAO,CAEqF;AAOjG,qDAAgG;AAQhG,iCAJI,MAAM,YACG,MAAM,8BASzB;AASM,oGAFwB,MAAM,qBAE8B;AAEnE,iDAAoC;AAO7B,+CAAyC;AASzC,uFAkBN;AASM,4HAL4D,MAAM,gBAAO,GAAG,uDAGtC,GAAG,8BAW/C"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["array.js"],"names":[],"mappings":"AAeO,8CAAuC;AAMvC,iCAAiD;AAOjD,qCAAqD;AASrD,uDAIN;AAED;;;;;;;GAOG;AACH;;;;;EAA8B;AAavB,yFAHmB,MAAM,gBAAO,OAAO,GAClC,OAAO,CASlB;AAYM,+EAHgB,MAAM,gBAAO,OAAO,GAC/B,OAAO,CASlB;AASM,yEAFK,OAAO,CAEqF;AAOjG,qDAAgG;AAQhG,iCAJI,MAAM,YACG,MAAM,8BASzB;AASM,oGAFwB,MAAM,qBAE8B;AAEnE,iDAAoC;AAO7B,+CAAyC;AASzC,uFAkBN;AASM,4HAL4D,MAAM,gBAAO,GAAG,uDAGtC,GAAG,8BAW/C;AAoBM,mDAHI,MAAM,iCACO,MAAM,UAkB7B"}
package/array.js CHANGED
@@ -182,3 +182,39 @@ export const map = (arr, mapper) => {
182
182
  }
183
183
  return /** @type {any} */ (res)
184
184
  }
185
+
186
+ /**
187
+ * This function bubble-sorts a single item to the correct position. The sort happens in-place and
188
+ * might be useful to ensure that a single item is at the correct position in an otherwise sorted
189
+ * array.
190
+ *
191
+ * @example
192
+ * const arr = [3, 2, 5]
193
+ * arr.sort((a, b) => a - b)
194
+ * arr // => [2, 3, 5]
195
+ * arr.splice(1, 0, 7)
196
+ * array.bubbleSortItem(arr, 1, (a, b) => a - b)
197
+ * arr // => [2, 3, 5, 7]
198
+ *
199
+ * @template T
200
+ * @param {Array<T>} arr
201
+ * @param {number} i
202
+ * @param {(a:T,b:T) => number} compareFn
203
+ */
204
+ export const bubblesortItem = (arr, i, compareFn) => {
205
+ const n = arr[i]
206
+ let j = i
207
+ // try to sort to the right
208
+ while (j + 1 < arr.length && compareFn(n, arr[j + 1]) > 0) {
209
+ arr[j] = arr[j + 1]
210
+ arr[++j] = n
211
+ }
212
+ if (i === j && j > 0) { // no change yet
213
+ // sort to the left
214
+ while (j > 0 && compareFn(arr[j - 1], n) > 0) {
215
+ arr[j] = arr[j - 1]
216
+ arr[--j] = n
217
+ }
218
+ }
219
+ return j
220
+ }
package/array.test.d.ts CHANGED
@@ -6,5 +6,8 @@ export function testFolding(_tc: t.TestCase): void;
6
6
  export function testEvery(_tc: t.TestCase): void;
7
7
  export function testIsArray(_tc: t.TestCase): void;
8
8
  export function testUnique(_tc: t.TestCase): void;
9
+ export function testBubblesortItemEdgeCases(tc: t.TestCase): void;
10
+ export function testRepeatBubblesortItem(tc: t.TestCase): void;
11
+ export function testRepeatBubblesort(tc: t.TestCase): void;
9
12
  import * as t from './testing.js';
10
13
  //# sourceMappingURL=array.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array.test.d.ts","sourceRoot":"","sources":["array.test.js"],"names":[],"mappings":"AAMO,4CAFI,EAAE,QAAQ,QAkCpB;AAKM,gCAFI,EAAE,QAAQ,QAMpB;AAKM,+BAFI,EAAE,QAAQ,QAMpB;AAKM,iCAFI,EAAE,QAAQ,QAKpB;AAKM,iCAFI,EAAE,QAAQ,QAkBpB;AAKM,+BAFI,EAAE,QAAQ,QAQpB;AAKM,iCAFI,EAAE,QAAQ,QASpB;AAKM,gCAFI,EAAE,QAAQ,QAOpB;mBArHkB,cAAc"}
1
+ {"version":3,"file":"array.test.d.ts","sourceRoot":"","sources":["array.test.js"],"names":[],"mappings":"AAOO,4CAFI,EAAE,QAAQ,QAkCpB;AAKM,gCAFI,EAAE,QAAQ,QAMpB;AAKM,+BAFI,EAAE,QAAQ,QAMpB;AAKM,iCAFI,EAAE,QAAQ,QAKpB;AAKM,iCAFI,EAAE,QAAQ,QAkBpB;AAKM,+BAFI,EAAE,QAAQ,QAQpB;AAKM,iCAFI,EAAE,QAAQ,QASpB;AAKM,gCAFI,EAAE,QAAQ,QAOpB;AAKM,gDAFI,EAAE,QAAQ,QAOpB;AAKM,6CAFI,EAAE,QAAQ,QAWpB;AAKM,yCAFI,EAAE,QAAQ,QASpB;mBA1JkB,cAAc"}