@livestore/utils 0.4.0-dev.9 → 0.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 (226) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/NoopTracer.d.ts.map +1 -1
  3. package/dist/NoopTracer.js +17 -4
  4. package/dist/NoopTracer.js.map +1 -1
  5. package/dist/binary.js +1 -1
  6. package/dist/binary.js.map +1 -1
  7. package/dist/browser/Opfs/Opfs.d.ts +51 -0
  8. package/dist/browser/Opfs/Opfs.d.ts.map +1 -0
  9. package/dist/browser/Opfs/Opfs.js +345 -0
  10. package/dist/browser/Opfs/Opfs.js.map +1 -0
  11. package/dist/browser/Opfs/debug-utils.d.ts +20 -0
  12. package/dist/browser/Opfs/debug-utils.d.ts.map +1 -0
  13. package/dist/browser/Opfs/debug-utils.js +94 -0
  14. package/dist/browser/Opfs/debug-utils.js.map +1 -0
  15. package/dist/browser/Opfs/mod.d.ts +4 -0
  16. package/dist/browser/Opfs/mod.d.ts.map +1 -0
  17. package/dist/browser/Opfs/mod.js +4 -0
  18. package/dist/browser/Opfs/mod.js.map +1 -0
  19. package/dist/browser/Opfs/utils.d.ts +71 -0
  20. package/dist/browser/Opfs/utils.d.ts.map +1 -0
  21. package/dist/browser/Opfs/utils.js +218 -0
  22. package/dist/browser/Opfs/utils.js.map +1 -0
  23. package/dist/browser/QuotaExceededError.d.ts +59 -0
  24. package/dist/browser/QuotaExceededError.d.ts.map +1 -0
  25. package/dist/browser/QuotaExceededError.js +2 -0
  26. package/dist/browser/QuotaExceededError.js.map +1 -0
  27. package/dist/browser/WebChannelBrowser.d.ts +22 -0
  28. package/dist/browser/WebChannelBrowser.d.ts.map +1 -0
  29. package/dist/browser/WebChannelBrowser.js +76 -0
  30. package/dist/browser/WebChannelBrowser.js.map +1 -0
  31. package/dist/browser/WebError.d.ts +421 -0
  32. package/dist/browser/WebError.d.ts.map +1 -0
  33. package/dist/browser/WebError.js +416 -0
  34. package/dist/browser/WebError.js.map +1 -0
  35. package/dist/browser/WebError.test.d.ts +2 -0
  36. package/dist/browser/WebError.test.d.ts.map +1 -0
  37. package/dist/browser/WebError.test.js +46 -0
  38. package/dist/browser/WebError.test.js.map +1 -0
  39. package/dist/browser/WebLock.d.ts.map +1 -0
  40. package/dist/{effect → browser}/WebLock.js +9 -9
  41. package/dist/browser/WebLock.js.map +1 -0
  42. package/dist/{browser.d.ts → browser/detect.d.ts} +1 -1
  43. package/dist/browser/detect.d.ts.map +1 -0
  44. package/dist/{browser.js → browser/detect.js} +7 -7
  45. package/dist/browser/detect.js.map +1 -0
  46. package/dist/browser/mod.d.ts +8 -0
  47. package/dist/browser/mod.d.ts.map +1 -0
  48. package/dist/browser/mod.js +8 -0
  49. package/dist/browser/mod.js.map +1 -0
  50. package/dist/cuid/cuid.browser.js +1 -1
  51. package/dist/cuid/cuid.browser.js.map +1 -1
  52. package/dist/cuid/cuid.node.js +1 -1
  53. package/dist/cuid/cuid.node.js.map +1 -1
  54. package/dist/effect/BucketQueue.d.ts +1 -1
  55. package/dist/effect/BucketQueue.d.ts.map +1 -1
  56. package/dist/effect/BucketQueue.js.map +1 -1
  57. package/dist/effect/Debug.d.ts +41 -0
  58. package/dist/effect/Debug.d.ts.map +1 -0
  59. package/dist/effect/Debug.js +354 -0
  60. package/dist/effect/Debug.js.map +1 -0
  61. package/dist/effect/Effect.d.ts +72 -12
  62. package/dist/effect/Effect.d.ts.map +1 -1
  63. package/dist/effect/Effect.js +96 -12
  64. package/dist/effect/Effect.js.map +1 -1
  65. package/dist/effect/Error.js +1 -1
  66. package/dist/effect/Error.js.map +1 -1
  67. package/dist/effect/Logger.js +2 -2
  68. package/dist/effect/Logger.js.map +1 -1
  69. package/dist/effect/RpcClient.d.ts.map +1 -1
  70. package/dist/effect/RpcClient.js +4 -4
  71. package/dist/effect/RpcClient.js.map +1 -1
  72. package/dist/effect/Schema/debug-diff.js +5 -4
  73. package/dist/effect/Schema/debug-diff.js.map +1 -1
  74. package/dist/effect/Schema/debug-diff.test.js +1 -1
  75. package/dist/effect/Schema/debug-diff.test.js.map +1 -1
  76. package/dist/effect/Schema/index.d.ts +5 -3
  77. package/dist/effect/Schema/index.d.ts.map +1 -1
  78. package/dist/effect/Schema/index.js +2 -2
  79. package/dist/effect/Schema/index.js.map +1 -1
  80. package/dist/effect/ServiceContext.js +6 -6
  81. package/dist/effect/ServiceContext.js.map +1 -1
  82. package/dist/effect/Stream.test.js +3 -3
  83. package/dist/effect/Stream.test.js.map +1 -1
  84. package/dist/effect/SubscriptionRef.d.ts +4 -4
  85. package/dist/effect/SubscriptionRef.d.ts.map +1 -1
  86. package/dist/effect/WebChannel/WebChannel.d.ts +4 -23
  87. package/dist/effect/WebChannel/WebChannel.d.ts.map +1 -1
  88. package/dist/effect/WebChannel/WebChannel.js +9 -85
  89. package/dist/effect/WebChannel/WebChannel.js.map +1 -1
  90. package/dist/effect/WebChannel/WebChannel.test.js +1 -1
  91. package/dist/effect/WebChannel/WebChannel.test.js.map +1 -1
  92. package/dist/effect/WebChannel/broadcastChannelWithAck.js +4 -4
  93. package/dist/effect/WebChannel/broadcastChannelWithAck.js.map +1 -1
  94. package/dist/effect/WebChannel/common.d.ts +2 -2
  95. package/dist/effect/WebChannel/common.d.ts.map +1 -1
  96. package/dist/effect/WebChannel/common.js +2 -2
  97. package/dist/effect/WebChannel/common.js.map +1 -1
  98. package/dist/effect/WebSocket.d.ts.map +1 -1
  99. package/dist/effect/WebSocket.js +14 -14
  100. package/dist/effect/WebSocket.js.map +1 -1
  101. package/dist/effect/{index.d.ts → mod.d.ts} +4 -4
  102. package/dist/effect/mod.d.ts.map +1 -0
  103. package/dist/effect/{index.js → mod.js} +5 -5
  104. package/dist/effect/mod.js.map +1 -0
  105. package/dist/effect/spanEvent.d.ts +12 -0
  106. package/dist/effect/spanEvent.d.ts.map +1 -0
  107. package/dist/effect/spanEvent.js +12 -0
  108. package/dist/effect/spanEvent.js.map +1 -0
  109. package/dist/effect/spanEvent.test.d.ts +2 -0
  110. package/dist/effect/spanEvent.test.d.ts.map +1 -0
  111. package/dist/effect/spanEvent.test.js +82 -0
  112. package/dist/effect/spanEvent.test.js.map +1 -0
  113. package/dist/env.d.ts.map +1 -1
  114. package/dist/env.js +1 -1
  115. package/dist/env.js.map +1 -1
  116. package/dist/fast-deep-equal.js +9 -9
  117. package/dist/fast-deep-equal.js.map +1 -1
  118. package/dist/global.d.ts +3 -0
  119. package/dist/global.d.ts.map +1 -1
  120. package/dist/global.js.map +1 -1
  121. package/dist/guards.d.ts +14 -0
  122. package/dist/guards.d.ts.map +1 -1
  123. package/dist/guards.js +14 -0
  124. package/dist/guards.js.map +1 -1
  125. package/dist/misc.d.ts +9 -1
  126. package/dist/misc.d.ts.map +1 -1
  127. package/dist/misc.js +11 -3
  128. package/dist/misc.js.map +1 -1
  129. package/dist/mod.d.ts +197 -5
  130. package/dist/mod.d.ts.map +1 -1
  131. package/dist/mod.js +162 -17
  132. package/dist/mod.js.map +1 -1
  133. package/dist/node/ChildProcessRunner/ChildProcessRunner.d.ts.map +1 -1
  134. package/dist/node/ChildProcessRunner/ChildProcessRunner.js +15 -9
  135. package/dist/node/ChildProcessRunner/ChildProcessRunner.js.map +1 -1
  136. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.d.ts +8 -0
  137. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.d.ts.map +1 -1
  138. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js +16 -17
  139. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js.map +1 -1
  140. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.d.ts +4 -4
  141. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js +3 -3
  142. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js.map +1 -1
  143. package/dist/node/ChildProcessRunner/ChildProcessWorker.d.ts.map +1 -1
  144. package/dist/node/ChildProcessRunner/ChildProcessWorker.js +4 -4
  145. package/dist/node/ChildProcessRunner/ChildProcessWorker.js.map +1 -1
  146. package/dist/node/mod.d.ts +34 -1
  147. package/dist/node/mod.d.ts.map +1 -1
  148. package/dist/node/mod.js +37 -2
  149. package/dist/node/mod.js.map +1 -1
  150. package/dist/object/index.d.ts.map +1 -1
  151. package/dist/object/index.js.map +1 -1
  152. package/dist/object/omit.js +1 -1
  153. package/dist/object/omit.js.map +1 -1
  154. package/dist/object/stringify-object.js +2 -2
  155. package/dist/object/stringify-object.js.map +1 -1
  156. package/dist/object/stringify-object.test.js.map +1 -1
  157. package/dist/qr.d.ts +38 -0
  158. package/dist/qr.d.ts.map +1 -0
  159. package/dist/qr.js +109 -0
  160. package/dist/qr.js.map +1 -0
  161. package/dist/set.js +1 -1
  162. package/dist/set.js.map +1 -1
  163. package/dist/time.js +1 -1
  164. package/dist/time.js.map +1 -1
  165. package/package.json +78 -54
  166. package/src/NoopTracer.ts +22 -8
  167. package/src/binary.ts +1 -1
  168. package/src/browser/Opfs/Opfs.ts +436 -0
  169. package/src/browser/Opfs/debug-utils.ts +153 -0
  170. package/src/browser/Opfs/mod.ts +3 -0
  171. package/src/browser/Opfs/utils.ts +287 -0
  172. package/src/browser/QuotaExceededError.ts +57 -0
  173. package/src/browser/WebChannelBrowser.ts +131 -0
  174. package/src/browser/WebError.test.ts +66 -0
  175. package/src/browser/WebError.ts +613 -0
  176. package/src/{effect → browser}/WebLock.ts +15 -15
  177. package/src/{browser.ts → browser/detect.ts} +6 -6
  178. package/src/browser/mod.ts +8 -0
  179. package/src/cuid/cuid.browser.ts +1 -1
  180. package/src/cuid/cuid.node.ts +1 -1
  181. package/src/effect/BucketQueue.ts +1 -1
  182. package/src/effect/Debug.ts +470 -0
  183. package/src/effect/Effect.ts +118 -36
  184. package/src/effect/Error.ts +1 -1
  185. package/src/effect/Logger.ts +2 -2
  186. package/src/effect/RpcClient.ts +7 -6
  187. package/src/effect/Schema/debug-diff.test.ts +2 -2
  188. package/src/effect/Schema/debug-diff.ts +6 -5
  189. package/src/effect/Schema/index.ts +10 -7
  190. package/src/effect/ServiceContext.ts +6 -6
  191. package/src/effect/Stream.test.ts +5 -4
  192. package/src/effect/SubscriptionRef.ts +5 -5
  193. package/src/effect/WebChannel/WebChannel.test.ts +1 -1
  194. package/src/effect/WebChannel/WebChannel.ts +19 -141
  195. package/src/effect/WebChannel/broadcastChannelWithAck.ts +4 -4
  196. package/src/effect/WebChannel/common.ts +5 -5
  197. package/src/effect/WebSocket.ts +13 -12
  198. package/src/effect/{index.ts → mod.ts} +10 -2
  199. package/src/effect/spanEvent.test.ts +95 -0
  200. package/src/effect/spanEvent.ts +15 -0
  201. package/src/env.ts +2 -1
  202. package/src/fast-deep-equal.ts +9 -9
  203. package/src/global.ts +4 -2
  204. package/src/guards.ts +15 -0
  205. package/src/misc.ts +12 -4
  206. package/src/mod.ts +209 -17
  207. package/src/node/ChildProcessRunner/ChildProcessRunner.ts +23 -10
  208. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts +30 -21
  209. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.ts +10 -11
  210. package/src/node/ChildProcessRunner/ChildProcessWorker.ts +5 -4
  211. package/src/node/mod.ts +41 -2
  212. package/src/object/index.ts +1 -1
  213. package/src/object/omit.ts +1 -1
  214. package/src/object/stringify-object.test.ts +1 -0
  215. package/src/object/stringify-object.ts +2 -2
  216. package/src/qr.ts +125 -0
  217. package/src/set.ts +1 -1
  218. package/src/time.ts +1 -1
  219. package/dist/.tsbuildinfo.json +0 -1
  220. package/dist/browser.d.ts.map +0 -1
  221. package/dist/browser.js.map +0 -1
  222. package/dist/effect/WebLock.d.ts.map +0 -1
  223. package/dist/effect/WebLock.js.map +0 -1
  224. package/dist/effect/index.d.ts.map +0 -1
  225. package/dist/effect/index.js.map +0 -1
  226. /package/dist/{effect → browser}/WebLock.d.ts +0 -0
package/package.json CHANGED
@@ -1,16 +1,31 @@
1
1
  {
2
2
  "name": "@livestore/utils",
3
- "version": "0.4.0-dev.9",
3
+ "version": "0.4.0",
4
+ "license": "Apache-2.0",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/livestorejs/livestore.git"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "package.json",
12
+ "src"
13
+ ],
4
14
  "type": "module",
5
15
  "sideEffects": [
6
16
  "./src/global.ts",
7
17
  "./dist/global.js"
8
18
  ],
19
+ "react-native": "./dist/index.js",
9
20
  "exports": {
10
21
  ".": {
11
22
  "types": "./dist/mod.d.ts",
12
23
  "default": "./dist/mod.js"
13
24
  },
25
+ "./browser": {
26
+ "types": "./dist/browser/mod.d.ts",
27
+ "default": "./dist/browser/mod.js"
28
+ },
14
29
  "./cuid": {
15
30
  "types": "./dist/cuid/cuid.node.d.ts",
16
31
  "browser": "./dist/cuid/cuid.browser.js",
@@ -22,8 +37,12 @@
22
37
  "default": "./dist/nanoid/index.js"
23
38
  },
24
39
  "./effect": {
25
- "types": "./dist/effect/index.d.ts",
26
- "default": "./dist/effect/index.js"
40
+ "types": "./dist/effect/mod.d.ts",
41
+ "default": "./dist/effect/mod.js"
42
+ },
43
+ "./effect/browser": {
44
+ "types": "./dist/browser/mod.d.ts",
45
+ "default": "./dist/browser/mod.js"
27
46
  },
28
47
  "./node": {
29
48
  "types": "./dist/node/mod.d.ts",
@@ -34,67 +53,72 @@
34
53
  "default": "./dist/bun/mod.js"
35
54
  }
36
55
  },
56
+ "publishConfig": {
57
+ "access": "public"
58
+ },
37
59
  "dependencies": {
38
- "@standard-schema/spec": "1.0.0",
39
- "nanoid": "5.1.5",
40
- "pretty-bytes": "7.0.1"
60
+ "@effect/platform-node": "0.106.0",
61
+ "@standard-schema/spec": "1.1.0",
62
+ "nanoid": "5.0.9",
63
+ "pretty-bytes": "7.0.1",
64
+ "qrcode-generator": "2.0.4"
41
65
  },
42
66
  "devDependencies": {
43
- "@effect/ai": "^0.28.0",
44
- "@effect/cli": "^0.70.0",
45
- "@effect/cluster": "^0.49.0",
46
- "@effect/experimental": "^0.55.0",
47
- "@effect/opentelemetry": "0.57.0",
48
- "@effect/platform": "^0.91.1",
49
- "@effect/platform-browser": "^0.71.0",
50
- "@effect/platform-bun": "^0.80.0",
51
- "@effect/platform-node": "^0.97.0",
52
- "@effect/printer": "^0.45.0",
53
- "@effect/printer-ansi": "^0.45.0",
54
- "@effect/rpc": "^0.70.0",
55
- "@effect/sql": "^0.45.0",
56
- "@effect/typeclass": "^0.36.0",
57
- "@effect/vitest": "^0.25.1",
58
- "@effect/workflow": "^0.10.0",
67
+ "@effect/ai": "0.35.0",
68
+ "@effect/cli": "0.75.1",
69
+ "@effect/cluster": "0.58.2",
70
+ "@effect/experimental": "0.60.0",
71
+ "@effect/opentelemetry": "0.63.0",
72
+ "@effect/platform": "0.96.1",
73
+ "@effect/platform-browser": "0.76.0",
74
+ "@effect/platform-bun": "0.89.0",
75
+ "@effect/platform-node": "0.106.0",
76
+ "@effect/printer": "0.49.0",
77
+ "@effect/printer-ansi": "0.49.0",
78
+ "@effect/rpc": "0.75.1",
79
+ "@effect/sql": "0.51.1",
80
+ "@effect/typeclass": "0.40.0",
81
+ "@effect/vitest": "0.29.0",
82
+ "@effect/workflow": "0.18.0",
59
83
  "@opentelemetry/api": "1.9.0",
60
- "@opentelemetry/resources": "^2.0.1",
61
- "@types/bun": "^1.2.21",
62
- "@types/jsdom": "^21.1.7",
63
- "@types/node": "24.5.2",
64
- "@types/web": "^0.0.264",
65
- "effect": "3.17.14",
66
- "jsdom": "^26.1.0",
84
+ "@opentelemetry/resources": "2.2.0",
85
+ "@standard-schema/spec": "1.1.0",
86
+ "@types/bun": "1.3.10",
87
+ "@types/jsdom": "21.1.7",
88
+ "@types/node": "25.3.3",
89
+ "@types/web": "0.0.264",
90
+ "effect": "3.21.2",
91
+ "jsdom": "26.1.0",
67
92
  "vitest": "3.2.4"
68
93
  },
69
- "files": [
70
- "package.json",
71
- "src",
72
- "dist"
73
- ],
74
- "license": "Apache-2.0",
75
94
  "peerDependencies": {
76
- "@effect/ai": "^0.28.0",
77
- "@effect/cli": "^0.70.0",
78
- "@effect/cluster": "^0.49.0",
79
- "@effect/experimental": "^0.55.0",
80
- "@effect/opentelemetry": "^0.57.0",
81
- "@effect/platform": "^0.91.1",
82
- "@effect/platform-browser": "^0.71.0",
83
- "@effect/platform-bun": "^0.80.0",
84
- "@effect/platform-node": "^0.97.0",
85
- "@effect/printer": "^0.45.0",
86
- "@effect/printer-ansi": "^0.45.0",
87
- "@effect/rpc": "^0.70.0",
88
- "@effect/sql": "^0.45.0",
89
- "@effect/typeclass": "^0.36.0",
95
+ "@effect/ai": "^0.35.0",
96
+ "@effect/cli": "^0.75.1",
97
+ "@effect/cluster": "^0.58.2",
98
+ "@effect/experimental": "^0.60.0",
99
+ "@effect/opentelemetry": "^0.63.0",
100
+ "@effect/platform": "^0.96.1",
101
+ "@effect/platform-browser": "^0.76.0",
102
+ "@effect/platform-bun": "^0.89.0",
103
+ "@effect/platform-node": "^0.106.0",
104
+ "@effect/printer": "^0.49.0",
105
+ "@effect/printer-ansi": "^0.49.0",
106
+ "@effect/rpc": "^0.75.1",
107
+ "@effect/sql": "^0.51.1",
108
+ "@effect/typeclass": "^0.40.0",
109
+ "@effect/vitest": "^0.29.0",
90
110
  "@opentelemetry/api": "^1.9.0",
91
- "@opentelemetry/resources": "^2.0.1",
92
- "effect": "^3.17.14"
111
+ "@opentelemetry/resources": "^2.2.0",
112
+ "@standard-schema/spec": "^1.1.0",
113
+ "effect": "^3.21.2"
93
114
  },
94
- "publishConfig": {
95
- "access": "public"
115
+ "$genie": {
116
+ "source": "package.json.genie.ts",
117
+ "warning": "DO NOT EDIT - changes will be overwritten",
118
+ "workspaceClosureDirs": [
119
+ "packages/@livestore/utils"
120
+ ]
96
121
  },
97
- "react-native": "./dist/index.js",
98
122
  "scripts": {
99
123
  "test": "vitest"
100
124
  }
package/src/NoopTracer.ts CHANGED
@@ -1,10 +1,13 @@
1
1
  /** biome-ignore-all lint/complexity/noArguments: using arguments is fine here */
2
+
2
3
  import type * as otel from '@opentelemetry/api'
3
4
 
5
+ import { cuid } from '@livestore/utils/cuid'
6
+
4
7
  export const makeNoopSpan = () => {
5
- const performanceStartTime: DOMHighResTimeStamp = performance.now()
8
+ const performanceStartTime = performance.now()
6
9
 
7
- const span = {
10
+ const spanImpl = {
8
11
  _performanceStartTime: performanceStartTime,
9
12
  setAttribute: () => null,
10
13
  setAttributes: () => null,
@@ -14,22 +17,27 @@ export const makeNoopSpan = () => {
14
17
  updateName: () => null,
15
18
  recordException: () => null,
16
19
  end: () => {
17
- const endTime: DOMHighResTimeStamp = performance.now()
20
+ const endTime = performance.now()
18
21
  const duration = endTime - performanceStartTime
19
22
  const durationSecs = duration / 1000
20
23
  const durationRestNs = (duration % 1000) * 1_000_000
21
- ;(span as any)._duration = [durationSecs, durationRestNs]
24
+ spanImpl._duration = [durationSecs, durationRestNs] as [number, number]
22
25
  },
23
26
  spanContext: () => {
24
- return { traceId: 'livestore-noop-trace-id', spanId: 'livestore-noop-span-id' }
27
+ return {
28
+ traceId: `livestore-noop-trace-id${cuid()}`,
29
+ spanId: `livestore-noop-span-id${cuid()}`,
30
+ }
25
31
  },
26
- _duration: [0, 0],
27
- } as unknown as otel.Span
32
+ _duration: [0, 0] as [number, number],
33
+ }
28
34
 
29
- return span
35
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- noop otel.Span implementation; only implements the subset needed by LiveStore
36
+ return spanImpl as unknown as otel.Span
30
37
  }
31
38
 
32
39
  export const makeNoopTracer = () => {
40
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- noop otel.Tracer implementation; only implements the subset needed by LiveStore
33
41
  return new NoopTracer() as unknown as otel.Tracer
34
42
  }
35
43
 
@@ -61,13 +69,19 @@ export class NoopTracer {
61
69
  if (arguments.length < 2) {
62
70
  return
63
71
  } else if (arguments.length === 2) {
72
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 2 args, arg2 is the callback
64
73
  fn = arg2 as F
65
74
  } else if (arguments.length === 3) {
75
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 3 args, arg2 is SpanOptions
66
76
  _opts = arg2 as otel.SpanOptions | undefined
77
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 3 args, arg3 is the callback
67
78
  fn = arg3 as F
68
79
  } else {
80
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 4 args, arg2 is SpanOptions
69
81
  _opts = arg2 as otel.SpanOptions | undefined
82
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 4 args, arg3 is Context
70
83
  _ctx = arg3 as otel.Context | undefined
84
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- arguments-based overload dispatch: with 4 args, arg4 is the callback
71
85
  fn = arg4 as F
72
86
  }
73
87
 
package/src/binary.ts CHANGED
@@ -35,7 +35,7 @@ export const isUint8ArrayBuffer = (array: Uint8Array): array is Uint8Array<Array
35
35
  * Safer alternative to type assertions.
36
36
  */
37
37
  export const toUint8ArrayBuffer = (array: Uint8Array): Uint8Array<ArrayBuffer> => {
38
- if (isUint8ArrayBuffer(array)) {
38
+ if (isUint8ArrayBuffer(array) === true) {
39
39
  return array
40
40
  }
41
41
  // Copy to ensure ArrayBuffer backing