lib0 0.2.117 → 1.0.0-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 (861) hide show
  1. package/package.json +160 -407
  2. package/{array.js → src/array.js} +6 -2
  3. package/{binary.js → src/binary.js} +29 -35
  4. package/{delta → src/delta}/delta.js +472 -411
  5. package/{environment.js → src/environment.js} +30 -16
  6. package/{hash → src/hash}/rabin.js +6 -6
  7. package/{schema.js → src/schema.js} +127 -58
  8. package/{string.js → src/string.js} +47 -26
  9. package/{testing.js → src/testing.js} +3 -1
  10. package/src/ts.js +46 -0
  11. package/{dist → types}/array.d.ts +1 -1
  12. package/types/array.d.ts.map +1 -0
  13. package/{dist → types}/binary.d.ts +31 -37
  14. package/types/binary.d.ts.map +1 -0
  15. package/types/broadcastchannel.d.ts.map +1 -0
  16. package/types/buffer.d.ts.map +1 -0
  17. package/types/cache.d.ts.map +1 -0
  18. package/types/component.d.ts.map +1 -0
  19. package/types/conditions.d.ts.map +1 -0
  20. package/types/decoding.d.ts.map +1 -0
  21. package/types/delta/delta.d.ts +78 -7
  22. package/types/delta/delta.d.ts.map +1 -1
  23. package/types/delta/t3.test.d.ts.map +1 -1
  24. package/types/diff.d.ts.map +1 -0
  25. package/types/dom.d.ts.map +1 -0
  26. package/types/encoding.d.ts.map +1 -0
  27. package/{environment.d.ts → types/environment.d.ts} +2 -0
  28. package/types/environment.d.ts.map +1 -0
  29. package/types/error.d.ts.map +1 -0
  30. package/types/eventloop.d.ts.map +1 -0
  31. package/{function.d.ts → types/function.d.ts} +1 -1
  32. package/types/function.d.ts.map +1 -0
  33. package/types/hash/sha256.node.d.ts +1 -1
  34. package/types/hash/sha256.node.d.ts.map +1 -1
  35. package/types/indexeddb.d.ts.map +1 -0
  36. package/types/indexeddbV2.d.ts.map +1 -0
  37. package/types/iterator.d.ts.map +1 -0
  38. package/types/json.d.ts.map +1 -0
  39. package/types/list.d.ts.map +1 -0
  40. package/types/logging.common.d.ts.map +1 -0
  41. package/types/logging.d.ts.map +1 -0
  42. package/types/logging.node.d.ts.map +1 -0
  43. package/types/map.d.ts.map +1 -0
  44. package/types/math.d.ts.map +1 -0
  45. package/types/metric.d.ts.map +1 -0
  46. package/types/mutex.d.ts.map +1 -0
  47. package/{number.d.ts → types/number.d.ts} +2 -2
  48. package/types/number.d.ts.map +1 -0
  49. package/types/object.d.ts.map +1 -0
  50. package/types/observable.d.ts.map +1 -0
  51. package/types/pair.d.ts.map +1 -0
  52. package/types/performance.d.ts.map +1 -0
  53. package/types/performance.node.d.ts.map +1 -0
  54. package/types/pledge.d.ts.map +1 -0
  55. package/types/prng.d.ts.map +1 -0
  56. package/types/promise.d.ts.map +1 -0
  57. package/types/queue.d.ts.map +1 -0
  58. package/types/random.d.ts.map +1 -0
  59. package/{schema.d.ts → types/schema.d.ts} +65 -59
  60. package/types/schema.d.ts.map +1 -0
  61. package/types/set.d.ts.map +1 -0
  62. package/types/sort.d.ts.map +1 -0
  63. package/types/statistics.d.ts.map +1 -0
  64. package/types/storage.d.ts.map +1 -0
  65. package/{string.d.ts → types/string.d.ts} +3 -8
  66. package/types/string.d.ts.map +1 -0
  67. package/types/symbol.d.ts.map +1 -0
  68. package/{testing.d.ts → types/testing.d.ts} +2 -1
  69. package/types/testing.d.ts.map +1 -0
  70. package/types/time.d.ts.map +1 -0
  71. package/types/tree.d.ts.map +1 -0
  72. package/types/ts.d.ts +22 -0
  73. package/types/ts.d.ts.map +1 -0
  74. package/types/url.d.ts.map +1 -0
  75. package/types/webcrypto.d.ts.map +1 -0
  76. package/types/webcrypto.deno.d.ts.map +1 -0
  77. package/types/webcrypto.node.d.ts.map +1 -0
  78. package/types/webcrypto.react-native.d.ts.map +1 -0
  79. package/types/websocket.d.ts.map +1 -0
  80. package/.github/workflows/node.js.yml +0 -24
  81. package/.jsdoc.json +0 -18
  82. package/.vscode/launch.json +0 -17
  83. package/array.d.ts +0 -30
  84. package/array.d.ts.map +0 -1
  85. package/array.test.d.ts +0 -13
  86. package/array.test.d.ts.map +0 -1
  87. package/bin/0ecdsa-generate-keypair.d.ts +0 -3
  88. package/bin/0ecdsa-generate-keypair.d.ts.map +0 -1
  89. package/bin/0serve.d.ts +0 -3
  90. package/bin/0serve.d.ts.map +0 -1
  91. package/bin/gendocs.d.ts +0 -3
  92. package/bin/gendocs.d.ts.map +0 -1
  93. package/bin/gentesthtml.d.ts +0 -3
  94. package/bin/gentesthtml.d.ts.map +0 -1
  95. package/binary.d.ts +0 -87
  96. package/binary.d.ts.map +0 -1
  97. package/binary.test.d.ts +0 -4
  98. package/binary.test.d.ts.map +0 -1
  99. package/broadcastchannel.d.ts.map +0 -1
  100. package/broadcastchannel.test.d.ts +0 -3
  101. package/broadcastchannel.test.d.ts.map +0 -1
  102. package/buffer.d.ts.map +0 -1
  103. package/buffer.test.d.ts +0 -6
  104. package/buffer.test.d.ts.map +0 -1
  105. package/cache.d.ts.map +0 -1
  106. package/cache.test.d.ts +0 -3
  107. package/cache.test.d.ts.map +0 -1
  108. package/component.d.ts.map +0 -1
  109. package/conditions.d.ts.map +0 -1
  110. package/coverage/tmp/coverage-70359-1766561372098-0.json +0 -1
  111. package/crypto/aes-gcm.d.ts +0 -17
  112. package/crypto/aes-gcm.d.ts.map +0 -1
  113. package/crypto/common.d.ts +0 -3
  114. package/crypto/common.d.ts.map +0 -1
  115. package/crypto/ecdsa.d.ts +0 -17
  116. package/crypto/ecdsa.d.ts.map +0 -1
  117. package/crypto/jwt.d.ts +0 -10
  118. package/crypto/jwt.d.ts.map +0 -1
  119. package/crypto/rsa-oaep.d.ts +0 -13
  120. package/crypto/rsa-oaep.d.ts.map +0 -1
  121. package/crypto.test.d.ts +0 -9
  122. package/crypto.test.d.ts.map +0 -1
  123. package/decoding.d.ts.map +0 -1
  124. package/delta/binding.d.ts +0 -107
  125. package/delta/binding.d.ts.map +0 -1
  126. package/delta/binding.test.d.ts +0 -5
  127. package/delta/binding.test.d.ts.map +0 -1
  128. package/delta/delta-pitch.test.d.ts +0 -5
  129. package/delta/delta-pitch.test.d.ts.map +0 -1
  130. package/delta/delta.d.ts +0 -1008
  131. package/delta/delta.d.ts.map +0 -1
  132. package/delta/delta.test.d.ts +0 -29
  133. package/delta/delta.test.d.ts.map +0 -1
  134. package/delta/t3.test.d.ts +0 -19
  135. package/delta/t3.test.d.ts.map +0 -1
  136. package/deno.json +0 -12
  137. package/deno.lock +0 -122
  138. package/diff/patience.d.ts +0 -16
  139. package/diff/patience.d.ts.map +0 -1
  140. package/diff/patience.test.d.ts +0 -4
  141. package/diff/patience.test.d.ts.map +0 -1
  142. package/diff.d.ts.map +0 -1
  143. package/diff.test.d.ts +0 -6
  144. package/diff.test.d.ts.map +0 -1
  145. package/dist/aes-gcm.cjs +0 -171
  146. package/dist/aes-gcm.cjs.map +0 -1
  147. package/dist/array-78849c95.cjs +0 -260
  148. package/dist/array-78849c95.cjs.map +0 -1
  149. package/dist/array.cjs +0 -26
  150. package/dist/array.cjs.map +0 -1
  151. package/dist/array.d.ts.map +0 -1
  152. package/dist/array.test.d.ts +0 -13
  153. package/dist/array.test.d.ts.map +0 -1
  154. package/dist/bin/0ecdsa-generate-keypair.d.ts +0 -3
  155. package/dist/bin/0ecdsa-generate-keypair.d.ts.map +0 -1
  156. package/dist/bin/0serve.d.ts +0 -3
  157. package/dist/bin/0serve.d.ts.map +0 -1
  158. package/dist/bin/gendocs.d.ts +0 -3
  159. package/dist/bin/gendocs.d.ts.map +0 -1
  160. package/dist/bin/gentesthtml.d.ts +0 -3
  161. package/dist/bin/gentesthtml.d.ts.map +0 -1
  162. package/dist/binary-ac8e39e2.cjs +0 -229
  163. package/dist/binary-ac8e39e2.cjs.map +0 -1
  164. package/dist/binary.cjs +0 -74
  165. package/dist/binary.cjs.map +0 -1
  166. package/dist/binary.d.ts.map +0 -1
  167. package/dist/binary.test.d.ts +0 -4
  168. package/dist/binary.test.d.ts.map +0 -1
  169. package/dist/binding.cjs +0 -484
  170. package/dist/binding.cjs.map +0 -1
  171. package/dist/broadcastchannel-aca4f606.cjs +0 -128
  172. package/dist/broadcastchannel-aca4f606.cjs.map +0 -1
  173. package/dist/broadcastchannel.cjs +0 -29
  174. package/dist/broadcastchannel.cjs.map +0 -1
  175. package/dist/broadcastchannel.d.ts +0 -8
  176. package/dist/broadcastchannel.d.ts.map +0 -1
  177. package/dist/broadcastchannel.test.d.ts +0 -3
  178. package/dist/broadcastchannel.test.d.ts.map +0 -1
  179. package/dist/buffer-3e750729.cjs +0 -198
  180. package/dist/buffer-3e750729.cjs.map +0 -1
  181. package/dist/buffer.cjs +0 -38
  182. package/dist/buffer.cjs.map +0 -1
  183. package/dist/buffer.d.ts +0 -22
  184. package/dist/buffer.d.ts.map +0 -1
  185. package/dist/buffer.test.d.ts +0 -6
  186. package/dist/buffer.test.d.ts.map +0 -1
  187. package/dist/cache.cjs +0 -223
  188. package/dist/cache.cjs.map +0 -1
  189. package/dist/cache.d.ts +0 -52
  190. package/dist/cache.d.ts.map +0 -1
  191. package/dist/cache.test.d.ts +0 -3
  192. package/dist/cache.test.d.ts.map +0 -1
  193. package/dist/common.cjs +0 -47
  194. package/dist/common.cjs.map +0 -1
  195. package/dist/component.cjs +0 -437
  196. package/dist/component.cjs.map +0 -1
  197. package/dist/component.d.ts +0 -86
  198. package/dist/component.d.ts.map +0 -1
  199. package/dist/conditions-f5c0c102.cjs +0 -24
  200. package/dist/conditions-f5c0c102.cjs.map +0 -1
  201. package/dist/conditions.cjs +0 -10
  202. package/dist/conditions.cjs.map +0 -1
  203. package/dist/conditions.d.ts +0 -2
  204. package/dist/conditions.d.ts.map +0 -1
  205. package/dist/crypto/aes-gcm.d.ts +0 -17
  206. package/dist/crypto/aes-gcm.d.ts.map +0 -1
  207. package/dist/crypto/common.d.ts +0 -3
  208. package/dist/crypto/common.d.ts.map +0 -1
  209. package/dist/crypto/ecdsa.d.ts +0 -17
  210. package/dist/crypto/ecdsa.d.ts.map +0 -1
  211. package/dist/crypto/jwt.d.ts +0 -10
  212. package/dist/crypto/jwt.d.ts.map +0 -1
  213. package/dist/crypto/rsa-oaep.d.ts +0 -13
  214. package/dist/crypto/rsa-oaep.d.ts.map +0 -1
  215. package/dist/crypto.test.d.ts +0 -9
  216. package/dist/crypto.test.d.ts.map +0 -1
  217. package/dist/decoding-76e75827.cjs +0 -795
  218. package/dist/decoding-76e75827.cjs.map +0 -1
  219. package/dist/decoding.cjs +0 -55
  220. package/dist/decoding.cjs.map +0 -1
  221. package/dist/decoding.d.ts +0 -165
  222. package/dist/decoding.d.ts.map +0 -1
  223. package/dist/delta/binding.d.ts +0 -107
  224. package/dist/delta/binding.d.ts.map +0 -1
  225. package/dist/delta/binding.test.d.ts +0 -5
  226. package/dist/delta/binding.test.d.ts.map +0 -1
  227. package/dist/delta/delta-pitch.test.d.ts +0 -5
  228. package/dist/delta/delta-pitch.test.d.ts.map +0 -1
  229. package/dist/delta/delta.d.ts +0 -1008
  230. package/dist/delta/delta.d.ts.map +0 -1
  231. package/dist/delta/delta.test.d.ts +0 -29
  232. package/dist/delta/delta.test.d.ts.map +0 -1
  233. package/dist/delta/t3.test.d.ts +0 -19
  234. package/dist/delta/t3.test.d.ts.map +0 -1
  235. package/dist/delta.cjs +0 -2412
  236. package/dist/delta.cjs.map +0 -1
  237. package/dist/diff/patience.d.ts +0 -16
  238. package/dist/diff/patience.d.ts.map +0 -1
  239. package/dist/diff/patience.test.d.ts +0 -4
  240. package/dist/diff/patience.test.d.ts.map +0 -1
  241. package/dist/diff-9d236524.cjs +0 -162
  242. package/dist/diff-9d236524.cjs.map +0 -1
  243. package/dist/diff.cjs +0 -18
  244. package/dist/diff.cjs.map +0 -1
  245. package/dist/diff.d.ts +0 -36
  246. package/dist/diff.d.ts.map +0 -1
  247. package/dist/diff.test.d.ts +0 -6
  248. package/dist/diff.test.d.ts.map +0 -1
  249. package/dist/dom-7e625b09.cjs +0 -371
  250. package/dist/dom-7e625b09.cjs.map +0 -1
  251. package/dist/dom.cjs +0 -71
  252. package/dist/dom.cjs.map +0 -1
  253. package/dist/dom.d.ts.map +0 -1
  254. package/dist/ecdsa.cjs +0 -130
  255. package/dist/ecdsa.cjs.map +0 -1
  256. package/dist/encoding-1a745c43.cjs +0 -1025
  257. package/dist/encoding-1a745c43.cjs.map +0 -1
  258. package/dist/encoding.cjs +0 -54
  259. package/dist/encoding.cjs.map +0 -1
  260. package/dist/encoding.d.ts.map +0 -1
  261. package/dist/encoding.test.d.ts +0 -50
  262. package/dist/encoding.test.d.ts.map +0 -1
  263. package/dist/environment-1c97264d.cjs +0 -180
  264. package/dist/environment-1c97264d.cjs.map +0 -1
  265. package/dist/environment.cjs +0 -29
  266. package/dist/environment.cjs.map +0 -1
  267. package/dist/environment.d.ts +0 -19
  268. package/dist/environment.d.ts.map +0 -1
  269. package/dist/equality.cjs +0 -34
  270. package/dist/equality.cjs.map +0 -1
  271. package/dist/error-0c1f634f.cjs +0 -53
  272. package/dist/error-0c1f634f.cjs.map +0 -1
  273. package/dist/error.cjs +0 -13
  274. package/dist/error.cjs.map +0 -1
  275. package/dist/error.d.ts.map +0 -1
  276. package/dist/eventloop-a0168106.cjs +0 -151
  277. package/dist/eventloop-a0168106.cjs.map +0 -1
  278. package/dist/eventloop.cjs +0 -19
  279. package/dist/eventloop.cjs.map +0 -1
  280. package/dist/eventloop.d.ts.map +0 -1
  281. package/dist/eventloop.test.d.ts +0 -10
  282. package/dist/eventloop.test.d.ts.map +0 -1
  283. package/dist/fingerprint.cjs +0 -44
  284. package/dist/fingerprint.cjs.map +0 -1
  285. package/dist/function-314580f7.cjs +0 -223
  286. package/dist/function-314580f7.cjs.map +0 -1
  287. package/dist/function.cjs +0 -26
  288. package/dist/function.cjs.map +0 -1
  289. package/dist/function.d.ts +0 -19
  290. package/dist/function.d.ts.map +0 -1
  291. package/dist/function.test.d.ts +0 -5
  292. package/dist/function.test.d.ts.map +0 -1
  293. package/dist/hash/rabin-gf2-polynomial.d.ts +0 -45
  294. package/dist/hash/rabin-gf2-polynomial.d.ts.map +0 -1
  295. package/dist/hash/rabin-uncached.d.ts +0 -29
  296. package/dist/hash/rabin-uncached.d.ts.map +0 -1
  297. package/dist/hash/rabin.d.ts +0 -27
  298. package/dist/hash/rabin.d.ts.map +0 -1
  299. package/dist/hash/rabin.test.d.ts +0 -8
  300. package/dist/hash/rabin.test.d.ts.map +0 -1
  301. package/dist/hash/sha256.d.ts +0 -2
  302. package/dist/hash/sha256.d.ts.map +0 -1
  303. package/dist/hash/sha256.node.d.ts +0 -2
  304. package/dist/hash/sha256.node.d.ts.map +0 -1
  305. package/dist/hash/sha256.test.d.ts +0 -7
  306. package/dist/hash/sha256.test.d.ts.map +0 -1
  307. package/dist/index.cjs +0 -99
  308. package/dist/index.cjs.map +0 -1
  309. package/dist/index.d.ts +0 -35
  310. package/dist/index.d.ts.map +0 -1
  311. package/dist/indexeddb-46d1e737.cjs +0 -311
  312. package/dist/indexeddb-46d1e737.cjs.map +0 -1
  313. package/dist/indexeddb.cjs +0 -37
  314. package/dist/indexeddb.cjs.map +0 -1
  315. package/dist/indexeddb.d.ts.map +0 -1
  316. package/dist/indexeddb.test.d.ts +0 -3
  317. package/dist/indexeddb.test.d.ts.map +0 -1
  318. package/dist/indexeddbV2.cjs +0 -288
  319. package/dist/indexeddbV2.cjs.map +0 -1
  320. package/dist/indexeddbV2.d.ts.map +0 -1
  321. package/dist/indexeddbV2.test.d.ts +0 -3
  322. package/dist/indexeddbV2.test.d.ts.map +0 -1
  323. package/dist/isomorphic.cjs +0 -17
  324. package/dist/isomorphic.cjs.map +0 -1
  325. package/dist/iterator-9fc627c1.cjs +0 -78
  326. package/dist/iterator-9fc627c1.cjs.map +0 -1
  327. package/dist/iterator.cjs +0 -13
  328. package/dist/iterator.cjs.map +0 -1
  329. package/dist/iterator.d.ts.map +0 -1
  330. package/dist/json-092190a1.cjs +0 -34
  331. package/dist/json-092190a1.cjs.map +0 -1
  332. package/dist/json.cjs +0 -11
  333. package/dist/json.cjs.map +0 -1
  334. package/dist/json.d.ts.map +0 -1
  335. package/dist/jwt.cjs +0 -96
  336. package/dist/jwt.cjs.map +0 -1
  337. package/dist/list.cjs +0 -266
  338. package/dist/list.cjs.map +0 -1
  339. package/dist/list.d.ts.map +0 -1
  340. package/dist/list.test.d.ts +0 -6
  341. package/dist/list.test.d.ts.map +0 -1
  342. package/dist/logging.cjs +0 -428
  343. package/dist/logging.cjs.map +0 -1
  344. package/dist/logging.common.cjs +0 -132
  345. package/dist/logging.common.cjs.map +0 -1
  346. package/dist/logging.common.d.ts.map +0 -1
  347. package/dist/logging.d.ts.map +0 -1
  348. package/dist/logging.node.cjs +0 -203
  349. package/dist/logging.node.cjs.map +0 -1
  350. package/dist/logging.node.d.ts.map +0 -1
  351. package/dist/logging.test.d.ts +0 -3
  352. package/dist/logging.test.d.ts.map +0 -1
  353. package/dist/map-24d263c0.cjs +0 -139
  354. package/dist/map-24d263c0.cjs.map +0 -1
  355. package/dist/map.cjs +0 -15
  356. package/dist/map.cjs.map +0 -1
  357. package/dist/map.d.ts.map +0 -1
  358. package/dist/map.test.d.ts +0 -4
  359. package/dist/map.test.d.ts.map +0 -1
  360. package/dist/math-96d5e8c4.cjs +0 -103
  361. package/dist/math-96d5e8c4.cjs.map +0 -1
  362. package/dist/math.cjs +0 -26
  363. package/dist/math.cjs.map +0 -1
  364. package/dist/math.d.ts.map +0 -1
  365. package/dist/math.test.d.ts +0 -3
  366. package/dist/math.test.d.ts.map +0 -1
  367. package/dist/metric.cjs +0 -83
  368. package/dist/metric.cjs.map +0 -1
  369. package/dist/metric.d.ts.map +0 -1
  370. package/dist/metric.test.d.ts +0 -3
  371. package/dist/metric.test.d.ts.map +0 -1
  372. package/dist/mutex-63f09c81.cjs +0 -54
  373. package/dist/mutex-63f09c81.cjs.map +0 -1
  374. package/dist/mutex.cjs +0 -10
  375. package/dist/mutex.cjs.map +0 -1
  376. package/dist/mutex.d.ts.map +0 -1
  377. package/dist/mutex.test.d.ts +0 -3
  378. package/dist/mutex.test.d.ts.map +0 -1
  379. package/dist/number-1fb57bba.cjs +0 -64
  380. package/dist/number-1fb57bba.cjs.map +0 -1
  381. package/dist/number.cjs +0 -20
  382. package/dist/number.cjs.map +0 -1
  383. package/dist/number.d.ts +0 -10
  384. package/dist/number.d.ts.map +0 -1
  385. package/dist/number.test.d.ts +0 -4
  386. package/dist/number.test.d.ts.map +0 -1
  387. package/dist/object-c0c9435b.cjs +0 -212
  388. package/dist/object-c0c9435b.cjs.map +0 -1
  389. package/dist/object.cjs +0 -27
  390. package/dist/object.cjs.map +0 -1
  391. package/dist/object.d.ts.map +0 -1
  392. package/dist/object.test.d.ts +0 -6
  393. package/dist/object.test.d.ts.map +0 -1
  394. package/dist/observable.cjs +0 -169
  395. package/dist/observable.cjs.map +0 -1
  396. package/dist/observable.d.ts.map +0 -1
  397. package/dist/observable.test.d.ts +0 -3
  398. package/dist/observable.test.d.ts.map +0 -1
  399. package/dist/pair-ab022bc3.cjs +0 -69
  400. package/dist/pair-ab022bc3.cjs.map +0 -1
  401. package/dist/pair.cjs +0 -14
  402. package/dist/pair.cjs.map +0 -1
  403. package/dist/pair.d.ts.map +0 -1
  404. package/dist/pair.test.d.ts +0 -3
  405. package/dist/pair.test.d.ts.map +0 -1
  406. package/dist/patience.cjs +0 -236
  407. package/dist/patience.cjs.map +0 -1
  408. package/dist/performance.cjs +0 -14
  409. package/dist/performance.cjs.map +0 -1
  410. package/dist/performance.d.ts.map +0 -1
  411. package/dist/performance.node.cjs +0 -36
  412. package/dist/performance.node.cjs.map +0 -1
  413. package/dist/performance.node.d.ts.map +0 -1
  414. package/dist/pledge.cjs +0 -308
  415. package/dist/pledge.cjs.map +0 -1
  416. package/dist/pledge.d.ts.map +0 -1
  417. package/dist/pledge.test.d.ts +0 -6
  418. package/dist/pledge.test.d.ts.map +0 -1
  419. package/dist/prng/Mt19937.d.ts +0 -29
  420. package/dist/prng/Mt19937.d.ts.map +0 -1
  421. package/dist/prng/Xoroshiro128plus.d.ts +0 -27
  422. package/dist/prng/Xoroshiro128plus.d.ts.map +0 -1
  423. package/dist/prng/Xorshift32.d.ts +0 -21
  424. package/dist/prng/Xorshift32.d.ts.map +0 -1
  425. package/dist/prng-37d48618.cjs +0 -387
  426. package/dist/prng-37d48618.cjs.map +0 -1
  427. package/dist/prng.cjs +0 -44
  428. package/dist/prng.cjs.map +0 -1
  429. package/dist/prng.d.ts.map +0 -1
  430. package/dist/prng.test.d.ts +0 -6
  431. package/dist/prng.test.d.ts.map +0 -1
  432. package/dist/promise-cda7b9bb.cjs +0 -145
  433. package/dist/promise-cda7b9bb.cjs.map +0 -1
  434. package/dist/promise.cjs +0 -22
  435. package/dist/promise.cjs.map +0 -1
  436. package/dist/promise.d.ts.map +0 -1
  437. package/dist/promise.test.d.ts +0 -5
  438. package/dist/promise.test.d.ts.map +0 -1
  439. package/dist/queue.cjs +0 -97
  440. package/dist/queue.cjs.map +0 -1
  441. package/dist/queue.d.ts.map +0 -1
  442. package/dist/queue.test.d.ts +0 -3
  443. package/dist/queue.test.d.ts.map +0 -1
  444. package/dist/rabin-gf2-polynomial.cjs +0 -440
  445. package/dist/rabin-gf2-polynomial.cjs.map +0 -1
  446. package/dist/rabin-uncached.cjs +0 -90
  447. package/dist/rabin-uncached.cjs.map +0 -1
  448. package/dist/rabin.cjs +0 -128
  449. package/dist/rabin.cjs.map +0 -1
  450. package/dist/random.cjs +0 -48
  451. package/dist/random.cjs.map +0 -1
  452. package/dist/random.d.ts.map +0 -1
  453. package/dist/random.test.d.ts +0 -7
  454. package/dist/random.test.d.ts.map +0 -1
  455. package/dist/rollup.config.d.ts +0 -13
  456. package/dist/rollup.config.d.ts.map +0 -1
  457. package/dist/rsa-oaep.cjs +0 -112
  458. package/dist/rsa-oaep.cjs.map +0 -1
  459. package/dist/schema.cjs +0 -1223
  460. package/dist/schema.cjs.map +0 -1
  461. package/dist/schema.d.ts +0 -595
  462. package/dist/schema.d.ts.map +0 -1
  463. package/dist/schema.test.d.ts +0 -15
  464. package/dist/schema.test.d.ts.map +0 -1
  465. package/dist/set-5b47859e.cjs +0 -45
  466. package/dist/set-5b47859e.cjs.map +0 -1
  467. package/dist/set.cjs +0 -13
  468. package/dist/set.cjs.map +0 -1
  469. package/dist/set.d.ts.map +0 -1
  470. package/dist/set.test.d.ts +0 -3
  471. package/dist/set.test.d.ts.map +0 -1
  472. package/dist/sha256.cjs +0 -183
  473. package/dist/sha256.cjs.map +0 -1
  474. package/dist/sha256.node.cjs +0 -17
  475. package/dist/sha256.node.cjs.map +0 -1
  476. package/dist/sort-812cc211.cjs +0 -103
  477. package/dist/sort-812cc211.cjs.map +0 -1
  478. package/dist/sort.cjs +0 -13
  479. package/dist/sort.cjs.map +0 -1
  480. package/dist/sort.d.ts.map +0 -1
  481. package/dist/sort.test.d.ts +0 -7
  482. package/dist/sort.test.d.ts.map +0 -1
  483. package/dist/statistics-65f6114b.cjs +0 -32
  484. package/dist/statistics-65f6114b.cjs.map +0 -1
  485. package/dist/statistics.cjs +0 -12
  486. package/dist/statistics.cjs.map +0 -1
  487. package/dist/statistics.d.ts.map +0 -1
  488. package/dist/statistics.test.d.ts +0 -3
  489. package/dist/statistics.test.d.ts.map +0 -1
  490. package/dist/storage.cjs +0 -81
  491. package/dist/storage.cjs.map +0 -1
  492. package/dist/storage.d.ts.map +0 -1
  493. package/dist/storage.test.d.ts +0 -3
  494. package/dist/storage.test.d.ts.map +0 -1
  495. package/dist/string-fddc5f8b.cjs +0 -209
  496. package/dist/string-fddc5f8b.cjs.map +0 -1
  497. package/dist/string.cjs +0 -32
  498. package/dist/string.cjs.map +0 -1
  499. package/dist/string.d.ts +0 -28
  500. package/dist/string.d.ts.map +0 -1
  501. package/dist/string.test.d.ts +0 -9
  502. package/dist/string.test.d.ts.map +0 -1
  503. package/dist/symbol-9c439012.cjs +0 -29
  504. package/dist/symbol-9c439012.cjs.map +0 -1
  505. package/dist/symbol.cjs +0 -11
  506. package/dist/symbol.cjs.map +0 -1
  507. package/dist/symbol.d.ts.map +0 -1
  508. package/dist/symbol.test.d.ts +0 -3
  509. package/dist/symbol.test.d.ts.map +0 -1
  510. package/dist/testing.cjs +0 -709
  511. package/dist/testing.cjs.map +0 -1
  512. package/dist/testing.d.ts +0 -64
  513. package/dist/testing.d.ts.map +0 -1
  514. package/dist/testing.test.d.ts +0 -9
  515. package/dist/testing.test.d.ts.map +0 -1
  516. package/dist/time-d8438852.cjs +0 -63
  517. package/dist/time-d8438852.cjs.map +0 -1
  518. package/dist/time.cjs +0 -14
  519. package/dist/time.cjs.map +0 -1
  520. package/dist/time.d.ts.map +0 -1
  521. package/dist/time.test.d.ts +0 -4
  522. package/dist/time.test.d.ts.map +0 -1
  523. package/dist/trait/equality.d.ts +0 -6
  524. package/dist/trait/equality.d.ts.map +0 -1
  525. package/dist/trait/fingerprint.d.ts +0 -13
  526. package/dist/trait/fingerprint.d.ts.map +0 -1
  527. package/dist/trait/traits.d.ts +0 -3
  528. package/dist/trait/traits.d.ts.map +0 -1
  529. package/dist/trait/traits.test.d.ts +0 -5
  530. package/dist/trait/traits.test.d.ts.map +0 -1
  531. package/dist/traits.cjs +0 -31
  532. package/dist/traits.cjs.map +0 -1
  533. package/dist/tree-9f3c8837.cjs +0 -557
  534. package/dist/tree-9f3c8837.cjs.map +0 -1
  535. package/dist/tree.cjs +0 -10
  536. package/dist/tree.cjs.map +0 -1
  537. package/dist/tree.d.ts.map +0 -1
  538. package/dist/tree.test.d.ts +0 -2
  539. package/dist/tree.test.d.ts.map +0 -1
  540. package/dist/url.cjs +0 -46
  541. package/dist/url.cjs.map +0 -1
  542. package/dist/url.d.ts.map +0 -1
  543. package/dist/url.test.d.ts +0 -3
  544. package/dist/url.test.d.ts.map +0 -1
  545. package/dist/webcrypto.cjs +0 -12
  546. package/dist/webcrypto.cjs.map +0 -1
  547. package/dist/webcrypto.d.ts.map +0 -1
  548. package/dist/webcrypto.deno.cjs +0 -12
  549. package/dist/webcrypto.deno.cjs.map +0 -1
  550. package/dist/webcrypto.deno.d.ts.map +0 -1
  551. package/dist/webcrypto.node.cjs +0 -12
  552. package/dist/webcrypto.node.cjs.map +0 -1
  553. package/dist/webcrypto.node.d.ts.map +0 -1
  554. package/dist/webcrypto.react-native.cjs +0 -20
  555. package/dist/webcrypto.react-native.cjs.map +0 -1
  556. package/dist/webcrypto.react-native.d.ts.map +0 -1
  557. package/dist/websocket-b073d0fc.cjs +0 -157
  558. package/dist/websocket-b073d0fc.cjs.map +0 -1
  559. package/dist/websocket.cjs +0 -17
  560. package/dist/websocket.cjs.map +0 -1
  561. package/dist/websocket.d.ts.map +0 -1
  562. package/dom.d.ts +0 -60
  563. package/dom.d.ts.map +0 -1
  564. package/encoding.d.ts +0 -235
  565. package/encoding.d.ts.map +0 -1
  566. package/encoding.test.d.ts +0 -50
  567. package/encoding.test.d.ts.map +0 -1
  568. package/environment.d.ts.map +0 -1
  569. package/error.d.ts +0 -5
  570. package/error.d.ts.map +0 -1
  571. package/eventloop.d.ts +0 -16
  572. package/eventloop.d.ts.map +0 -1
  573. package/eventloop.test.d.ts +0 -10
  574. package/eventloop.test.d.ts.map +0 -1
  575. package/function.d.ts.map +0 -1
  576. package/function.test.d.ts +0 -5
  577. package/function.test.d.ts.map +0 -1
  578. package/hash/rabin-gf2-polynomial.d.ts +0 -45
  579. package/hash/rabin-gf2-polynomial.d.ts.map +0 -1
  580. package/hash/rabin-uncached.d.ts +0 -29
  581. package/hash/rabin-uncached.d.ts.map +0 -1
  582. package/hash/rabin.d.ts +0 -27
  583. package/hash/rabin.d.ts.map +0 -1
  584. package/hash/rabin.test.d.ts +0 -8
  585. package/hash/rabin.test.d.ts.map +0 -1
  586. package/hash/sha256.d.ts +0 -2
  587. package/hash/sha256.d.ts.map +0 -1
  588. package/hash/sha256.node.d.ts +0 -2
  589. package/hash/sha256.node.d.ts.map +0 -1
  590. package/hash/sha256.test.d.ts +0 -7
  591. package/hash/sha256.test.d.ts.map +0 -1
  592. package/index.d.ts +0 -35
  593. package/index.d.ts.map +0 -1
  594. package/index.js +0 -82
  595. package/indexeddb.d.ts +0 -34
  596. package/indexeddb.d.ts.map +0 -1
  597. package/indexeddb.test.d.ts +0 -3
  598. package/indexeddb.test.d.ts.map +0 -1
  599. package/indexeddbV2.d.ts +0 -35
  600. package/indexeddbV2.d.ts.map +0 -1
  601. package/indexeddbV2.test.d.ts +0 -3
  602. package/indexeddbV2.test.d.ts.map +0 -1
  603. package/isomorphic.js +0 -10
  604. package/iterator.d.ts +0 -5
  605. package/iterator.d.ts.map +0 -1
  606. package/json.d.ts +0 -23
  607. package/json.d.ts.map +0 -1
  608. package/list.d.ts +0 -55
  609. package/list.d.ts.map +0 -1
  610. package/list.test.d.ts +0 -6
  611. package/list.test.d.ts.map +0 -1
  612. package/logging.common.d.ts +0 -12
  613. package/logging.common.d.ts.map +0 -1
  614. package/logging.d.ts +0 -55
  615. package/logging.d.ts.map +0 -1
  616. package/logging.node.d.ts +0 -14
  617. package/logging.node.d.ts.map +0 -1
  618. package/logging.test.d.ts +0 -3
  619. package/logging.test.d.ts.map +0 -1
  620. package/map.d.ts +0 -8
  621. package/map.d.ts.map +0 -1
  622. package/map.test.d.ts +0 -4
  623. package/map.test.d.ts.map +0 -1
  624. package/math.d.ts +0 -23
  625. package/math.d.ts.map +0 -1
  626. package/math.test.d.ts +0 -3
  627. package/math.test.d.ts.map +0 -1
  628. package/metric.d.ts +0 -25
  629. package/metric.d.ts.map +0 -1
  630. package/metric.test.d.ts +0 -3
  631. package/metric.test.d.ts.map +0 -1
  632. package/mutex.d.ts +0 -3
  633. package/mutex.d.ts.map +0 -1
  634. package/mutex.test.d.ts +0 -3
  635. package/mutex.test.d.ts.map +0 -1
  636. package/number.d.ts.map +0 -1
  637. package/number.test.d.ts +0 -4
  638. package/number.test.d.ts.map +0 -1
  639. package/object.d.ts +0 -72
  640. package/object.d.ts.map +0 -1
  641. package/object.test.d.ts +0 -6
  642. package/object.test.d.ts.map +0 -1
  643. package/observable.d.ts +0 -86
  644. package/observable.d.ts.map +0 -1
  645. package/observable.test.d.ts +0 -3
  646. package/observable.test.d.ts.map +0 -1
  647. package/pair.d.ts +0 -22
  648. package/pair.d.ts.map +0 -1
  649. package/pair.test.d.ts +0 -3
  650. package/pair.test.d.ts.map +0 -1
  651. package/performance.d.ts +0 -4
  652. package/performance.d.ts.map +0 -1
  653. package/performance.node.d.ts +0 -14
  654. package/performance.node.d.ts.map +0 -1
  655. package/pledge.d.ts +0 -68
  656. package/pledge.d.ts.map +0 -1
  657. package/pledge.test.d.ts +0 -6
  658. package/pledge.test.d.ts.map +0 -1
  659. package/prng/Mt19937.d.ts +0 -29
  660. package/prng/Mt19937.d.ts.map +0 -1
  661. package/prng/Xoroshiro128plus.d.ts +0 -27
  662. package/prng/Xoroshiro128plus.d.ts.map +0 -1
  663. package/prng/Xorshift32.d.ts +0 -21
  664. package/prng/Xorshift32.d.ts.map +0 -1
  665. package/prng.d.ts +0 -44
  666. package/prng.d.ts.map +0 -1
  667. package/prng.test.d.ts +0 -6
  668. package/prng.test.d.ts.map +0 -1
  669. package/promise.d.ts +0 -22
  670. package/promise.d.ts.map +0 -1
  671. package/promise.test.d.ts +0 -5
  672. package/promise.test.d.ts.map +0 -1
  673. package/queue.d.ts +0 -34
  674. package/queue.d.ts.map +0 -1
  675. package/queue.test.d.ts +0 -3
  676. package/queue.test.d.ts.map +0 -1
  677. package/random.d.ts +0 -6
  678. package/random.d.ts.map +0 -1
  679. package/random.test.d.ts +0 -7
  680. package/random.test.d.ts.map +0 -1
  681. package/rollup.config.d.ts +0 -13
  682. package/rollup.config.d.ts.map +0 -1
  683. package/schema.d.ts.map +0 -1
  684. package/schema.test.d.ts +0 -15
  685. package/schema.test.d.ts.map +0 -1
  686. package/set.d.ts +0 -5
  687. package/set.d.ts.map +0 -1
  688. package/set.test.d.ts +0 -3
  689. package/set.test.d.ts.map +0 -1
  690. package/sort.d.ts +0 -4
  691. package/sort.d.ts.map +0 -1
  692. package/sort.test.d.ts +0 -7
  693. package/sort.test.d.ts.map +0 -1
  694. package/statistics.d.ts +0 -3
  695. package/statistics.d.ts.map +0 -1
  696. package/statistics.test.d.ts +0 -3
  697. package/statistics.test.d.ts.map +0 -1
  698. package/storage.d.ts +0 -15
  699. package/storage.d.ts.map +0 -1
  700. package/storage.test.d.ts +0 -3
  701. package/storage.test.d.ts.map +0 -1
  702. package/string.d.ts.map +0 -1
  703. package/string.test.d.ts +0 -9
  704. package/string.test.d.ts.map +0 -1
  705. package/symbol.d.ts +0 -11
  706. package/symbol.d.ts.map +0 -1
  707. package/symbol.test.d.ts +0 -3
  708. package/symbol.test.d.ts.map +0 -1
  709. package/test.d.ts +0 -2
  710. package/test.d.ts.map +0 -1
  711. package/test.html +0 -168
  712. package/test.js +0 -104
  713. package/testing.d.ts.map +0 -1
  714. package/testing.test.d.ts +0 -9
  715. package/testing.test.d.ts.map +0 -1
  716. package/time.d.ts +0 -9
  717. package/time.d.ts.map +0 -1
  718. package/time.test.d.ts +0 -4
  719. package/time.test.d.ts.map +0 -1
  720. package/trait/equality.d.ts +0 -6
  721. package/trait/equality.d.ts.map +0 -1
  722. package/trait/fingerprint.d.ts +0 -13
  723. package/trait/fingerprint.d.ts.map +0 -1
  724. package/trait/traits.d.ts +0 -3
  725. package/trait/traits.d.ts.map +0 -1
  726. package/trait/traits.test.d.ts +0 -5
  727. package/trait/traits.test.d.ts.map +0 -1
  728. package/tree.d.ts +0 -96
  729. package/tree.d.ts.map +0 -1
  730. package/tree.test.d.ts +0 -2
  731. package/tree.test.d.ts.map +0 -1
  732. package/url.d.ts +0 -7
  733. package/url.d.ts.map +0 -1
  734. package/url.test.d.ts +0 -3
  735. package/url.test.d.ts.map +0 -1
  736. package/webcrypto.d.ts +0 -3
  737. package/webcrypto.d.ts.map +0 -1
  738. package/webcrypto.deno.d.ts +0 -3
  739. package/webcrypto.deno.d.ts.map +0 -1
  740. package/webcrypto.node.d.ts +0 -3
  741. package/webcrypto.node.d.ts.map +0 -1
  742. package/webcrypto.react-native.d.ts +0 -3
  743. package/webcrypto.react-native.d.ts.map +0 -1
  744. package/websocket.d.ts +0 -38
  745. package/websocket.d.ts.map +0 -1
  746. /package/{bin → src/bin}/0ecdsa-generate-keypair.js +0 -0
  747. /package/{bin → src/bin}/0serve.js +0 -0
  748. /package/{bin → src/bin}/gendocs.js +0 -0
  749. /package/{bin → src/bin}/gentesthtml.js +0 -0
  750. /package/{broadcastchannel.js → src/broadcastchannel.js} +0 -0
  751. /package/{buffer.js → src/buffer.js} +0 -0
  752. /package/{cache.js → src/cache.js} +0 -0
  753. /package/{component.js → src/component.js} +0 -0
  754. /package/{conditions.js → src/conditions.js} +0 -0
  755. /package/{crypto → src/crypto}/aes-gcm.js +0 -0
  756. /package/{crypto → src/crypto}/common.js +0 -0
  757. /package/{crypto → src/crypto}/ecdsa.js +0 -0
  758. /package/{crypto → src/crypto}/jwt.js +0 -0
  759. /package/{crypto → src/crypto}/rsa-oaep.js +0 -0
  760. /package/{decoding.js → src/decoding.js} +0 -0
  761. /package/{delta → src/delta}/binding.js +0 -0
  762. /package/{delta → src/delta}/readme.md +0 -0
  763. /package/{diff → src/diff}/patience.js +0 -0
  764. /package/{diff.js → src/diff.js} +0 -0
  765. /package/{dom.js → src/dom.js} +0 -0
  766. /package/{encoding.js → src/encoding.js} +0 -0
  767. /package/{error.js → src/error.js} +0 -0
  768. /package/{eventloop.js → src/eventloop.js} +0 -0
  769. /package/{function.js → src/function.js} +0 -0
  770. /package/{hash → src/hash}/rabin-gf2-polynomial.js +0 -0
  771. /package/{hash → src/hash}/rabin-uncached.js +0 -0
  772. /package/{hash → src/hash}/sha256.js +0 -0
  773. /package/{hash → src/hash}/sha256.node.js +0 -0
  774. /package/{indexeddb.js → src/indexeddb.js} +0 -0
  775. /package/{indexeddbV2.js → src/indexeddbV2.js} +0 -0
  776. /package/{iterator.js → src/iterator.js} +0 -0
  777. /package/{json.js → src/json.js} +0 -0
  778. /package/{list.js → src/list.js} +0 -0
  779. /package/{logging.common.js → src/logging.common.js} +0 -0
  780. /package/{logging.js → src/logging.js} +0 -0
  781. /package/{logging.node.js → src/logging.node.js} +0 -0
  782. /package/{map.js → src/map.js} +0 -0
  783. /package/{math.js → src/math.js} +0 -0
  784. /package/{metric.js → src/metric.js} +0 -0
  785. /package/{mutex.js → src/mutex.js} +0 -0
  786. /package/{number.js → src/number.js} +0 -0
  787. /package/{object.js → src/object.js} +0 -0
  788. /package/{observable.js → src/observable.js} +0 -0
  789. /package/{pair.js → src/pair.js} +0 -0
  790. /package/{performance.js → src/performance.js} +0 -0
  791. /package/{performance.node.js → src/performance.node.js} +0 -0
  792. /package/{pledge.js → src/pledge.js} +0 -0
  793. /package/{prng → src/prng}/Mt19937.js +0 -0
  794. /package/{prng → src/prng}/Xoroshiro128plus.js +0 -0
  795. /package/{prng → src/prng}/Xorshift32.js +0 -0
  796. /package/{prng.js → src/prng.js} +0 -0
  797. /package/{promise.js → src/promise.js} +0 -0
  798. /package/{queue.js → src/queue.js} +0 -0
  799. /package/{random.js → src/random.js} +0 -0
  800. /package/{set.js → src/set.js} +0 -0
  801. /package/{sort.js → src/sort.js} +0 -0
  802. /package/{statistics.js → src/statistics.js} +0 -0
  803. /package/{storage.js → src/storage.js} +0 -0
  804. /package/{symbol.js → src/symbol.js} +0 -0
  805. /package/{time.js → src/time.js} +0 -0
  806. /package/{trait → src/trait}/equality.js +0 -0
  807. /package/{trait → src/trait}/fingerprint.js +0 -0
  808. /package/{trait → src/trait}/traits.js +0 -0
  809. /package/{tree.js → src/tree.js} +0 -0
  810. /package/{url.js → src/url.js} +0 -0
  811. /package/{webcrypto.deno.js → src/webcrypto.deno.js} +0 -0
  812. /package/{webcrypto.js → src/webcrypto.js} +0 -0
  813. /package/{webcrypto.node.js → src/webcrypto.node.js} +0 -0
  814. /package/{webcrypto.react-native.js → src/webcrypto.react-native.js} +0 -0
  815. /package/{websocket.js → src/websocket.js} +0 -0
  816. /package/{broadcastchannel.d.ts → types/broadcastchannel.d.ts} +0 -0
  817. /package/{buffer.d.ts → types/buffer.d.ts} +0 -0
  818. /package/{cache.d.ts → types/cache.d.ts} +0 -0
  819. /package/{component.d.ts → types/component.d.ts} +0 -0
  820. /package/{conditions.d.ts → types/conditions.d.ts} +0 -0
  821. /package/{decoding.d.ts → types/decoding.d.ts} +0 -0
  822. /package/{diff.d.ts → types/diff.d.ts} +0 -0
  823. /package/{dist → types}/dom.d.ts +0 -0
  824. /package/{dist → types}/encoding.d.ts +0 -0
  825. /package/{dist → types}/error.d.ts +0 -0
  826. /package/{dist → types}/eventloop.d.ts +0 -0
  827. /package/{dist → types}/indexeddb.d.ts +0 -0
  828. /package/{dist → types}/indexeddbV2.d.ts +0 -0
  829. /package/{dist → types}/iterator.d.ts +0 -0
  830. /package/{dist → types}/json.d.ts +0 -0
  831. /package/{dist → types}/list.d.ts +0 -0
  832. /package/{dist → types}/logging.common.d.ts +0 -0
  833. /package/{dist → types}/logging.d.ts +0 -0
  834. /package/{dist → types}/logging.node.d.ts +0 -0
  835. /package/{dist → types}/map.d.ts +0 -0
  836. /package/{dist → types}/math.d.ts +0 -0
  837. /package/{dist → types}/metric.d.ts +0 -0
  838. /package/{dist → types}/mutex.d.ts +0 -0
  839. /package/{dist → types}/object.d.ts +0 -0
  840. /package/{dist → types}/observable.d.ts +0 -0
  841. /package/{dist → types}/pair.d.ts +0 -0
  842. /package/{dist → types}/performance.d.ts +0 -0
  843. /package/{dist → types}/performance.node.d.ts +0 -0
  844. /package/{dist → types}/pledge.d.ts +0 -0
  845. /package/{dist → types}/prng.d.ts +0 -0
  846. /package/{dist → types}/promise.d.ts +0 -0
  847. /package/{dist → types}/queue.d.ts +0 -0
  848. /package/{dist → types}/random.d.ts +0 -0
  849. /package/{dist → types}/set.d.ts +0 -0
  850. /package/{dist → types}/sort.d.ts +0 -0
  851. /package/{dist → types}/statistics.d.ts +0 -0
  852. /package/{dist → types}/storage.d.ts +0 -0
  853. /package/{dist → types}/symbol.d.ts +0 -0
  854. /package/{dist → types}/time.d.ts +0 -0
  855. /package/{dist → types}/tree.d.ts +0 -0
  856. /package/{dist → types}/url.d.ts +0 -0
  857. /package/{dist → types}/webcrypto.d.ts +0 -0
  858. /package/{dist → types}/webcrypto.deno.d.ts +0 -0
  859. /package/{dist → types}/webcrypto.node.d.ts +0 -0
  860. /package/{dist → types}/webcrypto.react-native.d.ts +0 -0
  861. /package/{dist → types}/websocket.d.ts +0 -0
package/dist/schema.cjs DELETED
@@ -1,1223 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var object = require('./object-c0c9435b.cjs');
6
- var array = require('./array-78849c95.cjs');
7
- var error = require('./error-0c1f634f.cjs');
8
- var environment = require('./environment-1c97264d.cjs');
9
- var equality = require('./equality.cjs');
10
- var _function = require('./function-314580f7.cjs');
11
- var string = require('./string-fddc5f8b.cjs');
12
- var prng = require('./prng-37d48618.cjs');
13
- var number = require('./number-1fb57bba.cjs');
14
- require('./set-5b47859e.cjs');
15
- require('./map-24d263c0.cjs');
16
- require('./conditions-f5c0c102.cjs');
17
- require('./storage.cjs');
18
- require('./binary-ac8e39e2.cjs');
19
- require('./math-96d5e8c4.cjs');
20
- require('./buffer-3e750729.cjs');
21
- require('./encoding-1a745c43.cjs');
22
- require('./decoding-76e75827.cjs');
23
-
24
- /**
25
- * @experimental WIP
26
- *
27
- * Simple & efficient schemas for your data.
28
- */
29
-
30
- /**
31
- * @typedef {string|number|bigint|boolean|null|undefined|symbol} Primitive
32
- */
33
-
34
- /**
35
- * @typedef {{ [k:string|number|symbol]: any }} AnyObject
36
- */
37
-
38
- /**
39
- * @template T
40
- * @typedef {T extends Schema<infer X> ? X : T} Unwrap
41
- */
42
-
43
- /**
44
- * @template T
45
- * @typedef {T extends Schema<infer X> ? X : T} TypeOf
46
- */
47
-
48
- /**
49
- * @template {readonly unknown[]} T
50
- * @typedef {T extends readonly [Schema<infer First>, ...infer Rest] ? [First, ...UnwrapArray<Rest>] : [] } UnwrapArray
51
- */
52
-
53
- /**
54
- * @template T
55
- * @typedef {T extends Schema<infer S> ? Schema<S> : never} CastToSchema
56
- */
57
-
58
- /**
59
- * @template {unknown[]} Arr
60
- * @typedef {Arr extends [...unknown[], infer L] ? L : never} TupleLast
61
- */
62
-
63
- /**
64
- * @template {unknown[]} Arr
65
- * @typedef {Arr extends [...infer Fs, unknown] ? Fs : never} TuplePop
66
- */
67
-
68
- /**
69
- * @template {readonly unknown[]} T
70
- * @typedef {T extends []
71
- * ? {}
72
- * : T extends [infer First]
73
- * ? First
74
- * : T extends [infer First, ...infer Rest]
75
- * ? First & Intersect<Rest>
76
- * : never
77
- * } Intersect
78
- */
79
-
80
- const schemaSymbol = Symbol('0schema');
81
-
82
- class ValidationError {
83
- constructor () {
84
- /**
85
- * Reverse errors
86
- * @type {Array<{ path: string?, expected: string, has: string, message: string? }>}
87
- */
88
- this._rerrs = [];
89
- }
90
-
91
- /**
92
- * @param {string?} path
93
- * @param {string} expected
94
- * @param {string} has
95
- * @param {string?} message
96
- */
97
- extend (path, expected, has, message = null) {
98
- this._rerrs.push({ path, expected, has, message });
99
- }
100
-
101
- toString () {
102
- const s = [];
103
- for (let i = this._rerrs.length - 1; i > 0; i--) {
104
- const r = this._rerrs[i];
105
- /* c8 ignore next */
106
- s.push(string.repeat(' ', (this._rerrs.length - i) * 2) + `${r.path != null ? `[${r.path}] ` : ''}${r.has} doesn't match ${r.expected}. ${r.message}`);
107
- }
108
- return s.join('\n')
109
- }
110
- }
111
-
112
- /**
113
- * @param {any} a
114
- * @param {any} b
115
- * @return {boolean}
116
- */
117
- const shapeExtends = (a, b) => {
118
- if (a === b) return true
119
- if (a == null || b == null || a.constructor !== b.constructor) return false
120
- if (a[equality.EqualityTraitSymbol]) return equality.equals(a, b) // last resort: check equality (do this before array and obj check which don't implement the equality trait)
121
- if (array.isArray(a)) {
122
- return array.every(a, aitem =>
123
- array.some(b, bitem => shapeExtends(aitem, bitem))
124
- )
125
- } else if (object.isObject(a)) {
126
- return object.every(a, (aitem, akey) =>
127
- shapeExtends(aitem, b[akey])
128
- )
129
- }
130
- /* c8 ignore next */
131
- return false
132
- };
133
-
134
- /**
135
- * @template T
136
- * @implements {equalityTraits.EqualityTrait}
137
- */
138
- class Schema {
139
- // this.shape must not be defined on Schema. Otherwise typecheck on metatypes (e.g. $$object) won't work as expected anymore
140
- /**
141
- * If true, the more things are added to the shape the more objects this schema will accept (e.g.
142
- * union). By default, the more objects are added, the the fewer objects this schema will accept.
143
- * @protected
144
- */
145
- static _dilutes = false
146
-
147
- /**
148
- * @param {Schema<any>} other
149
- */
150
- extends (other) {
151
- let [a, b] = [/** @type {any} */(this).shape, /** @type {any} */ (other).shape];
152
- if (/** @type {typeof Schema<any>} */ (this.constructor)._dilutes) [b, a] = [a, b];
153
- return shapeExtends(a, b)
154
- }
155
-
156
- /**
157
- * Overwrite this when necessary. By default, we only check the `shape` property which every shape
158
- * should have.
159
- * @param {Schema<any>} other
160
- */
161
- equals (other) {
162
- // @ts-ignore
163
- return this.constructor === other.constructor && _function.equalityDeep(this.shape, other.shape)
164
- }
165
-
166
- [schemaSymbol] () { return true }
167
-
168
- /**
169
- * @param {object} other
170
- */
171
- [equality.EqualityTraitSymbol] (other) {
172
- return this.equals(/** @type {any} */ (other))
173
- }
174
-
175
- /**
176
- * Use `schema.validate(obj)` with a typed parameter that is already of typed to be an instance of
177
- * Schema. Validate will check the structure of the parameter and return true iff the instance
178
- * really is an instance of Schema.
179
- *
180
- * @param {T} o
181
- * @return {boolean}
182
- */
183
- validate (o) {
184
- return this.check(o)
185
- }
186
-
187
- /* c8 ignore start */
188
- /**
189
- * Similar to validate, but this method accepts untyped parameters.
190
- *
191
- * @param {any} _o
192
- * @param {ValidationError} [_err]
193
- * @return {_o is T}
194
- */
195
- check (_o, _err) {
196
- error.methodUnimplemented();
197
- }
198
- /* c8 ignore stop */
199
-
200
- /**
201
- * @type {Schema<T?>}
202
- */
203
- get nullable () {
204
- // @ts-ignore
205
- return $union(this, $null)
206
- }
207
-
208
- /**
209
- * @type {$Optional<Schema<T>>}
210
- */
211
- get optional () {
212
- return new $Optional(/** @type {Schema<T>} */ (this))
213
- }
214
-
215
- /**
216
- * Cast a variable to a specific type. Returns the casted value, or throws an exception otherwise.
217
- * Use this if you know that the type is of a specific type and you just want to convince the type
218
- * system.
219
- *
220
- * **Do not rely on these error messages!**
221
- * Performs an assertion check only if not in a production environment.
222
- *
223
- * @template OO
224
- * @param {OO} o
225
- * @return {Extract<OO, T> extends never ? T : (OO extends Array<never> ? T : Extract<OO,T>)}
226
- */
227
- cast (o) {
228
- assert(o, this);
229
- return /** @type {any} */ (o)
230
- }
231
-
232
- /**
233
- * EXPECTO PATRONUM!! 🪄
234
- * This function protects against type errors. Though it may not work in the real world.
235
- *
236
- * "After all this time?"
237
- * "Always." - Snape, talking about type safety
238
- *
239
- * Ensures that a variable is a a specific type. Returns the value, or throws an exception if the assertion check failed.
240
- * Use this if you know that the type is of a specific type and you just want to convince the type
241
- * system.
242
- *
243
- * Can be useful when defining lambdas: `s.lambda(s.$number, s.$void).expect((n) => n + 1)`
244
- *
245
- * **Do not rely on these error messages!**
246
- * Performs an assertion check if not in a production environment.
247
- *
248
- * @param {T} o
249
- * @return {o extends T ? T : never}
250
- */
251
- expect (o) {
252
- assert(o, this);
253
- return o
254
- }
255
- }
256
-
257
- /**
258
- * @template {(new (...args:any[]) => any) | ((...args:any[]) => any)} Constr
259
- * @typedef {Constr extends ((...args:any[]) => infer T) ? T : (Constr extends (new (...args:any[]) => any) ? InstanceType<Constr> : never)} Instance
260
- */
261
-
262
- /**
263
- * @template {(new (...args:any[]) => any) | ((...args:any[]) => any)} C
264
- * @extends {Schema<Instance<C>>}
265
- */
266
- class $ConstructedBy extends Schema {
267
- /**
268
- * @param {C} c
269
- * @param {((o:Instance<C>)=>boolean)|null} check
270
- */
271
- constructor (c, check) {
272
- super();
273
- this.shape = c;
274
- this._c = check;
275
- }
276
-
277
- /**
278
- * @param {any} o
279
- * @param {ValidationError} [err]
280
- * @return {o is C extends ((...args:any[]) => infer T) ? T : (C extends (new (...args:any[]) => any) ? InstanceType<C> : never)} o
281
- */
282
- check (o, err = undefined) {
283
- const c = o?.constructor === this.shape && (this._c == null || this._c(o));
284
- /* c8 ignore next */
285
- !c && err?.extend(null, this.shape.name, o?.constructor.name, o?.constructor !== this.shape ? 'Constructor match failed' : 'Check failed');
286
- return c
287
- }
288
- }
289
-
290
- /**
291
- * @template {(new (...args:any[]) => any) | ((...args:any[]) => any)} C
292
- * @param {C} c
293
- * @param {((o:Instance<C>) => boolean)|null} check
294
- * @return {CastToSchema<$ConstructedBy<C>>}
295
- */
296
- const $constructedBy = (c, check = null) => new $ConstructedBy(c, check);
297
- const $$constructedBy = $constructedBy($ConstructedBy);
298
-
299
- /**
300
- * Check custom properties on any object. You may want to overwrite the generated Schema<any>.
301
- *
302
- * @extends {Schema<any>}
303
- */
304
- class $Custom extends Schema {
305
- /**
306
- * @param {(o:any) => boolean} check
307
- */
308
- constructor (check) {
309
- super();
310
- /**
311
- * @type {(o:any) => boolean}
312
- */
313
- this.shape = check;
314
- }
315
-
316
- /**
317
- * @param {any} o
318
- * @param {ValidationError} err
319
- * @return {o is any}
320
- */
321
- check (o, err) {
322
- const c = this.shape(o);
323
- /* c8 ignore next */
324
- !c && err?.extend(null, 'custom prop', o?.constructor.name, 'failed to check custom prop');
325
- return c
326
- }
327
- }
328
-
329
- /**
330
- * @param {(o:any) => boolean} check
331
- * @return {Schema<any>}
332
- */
333
- const $custom = (check) => new $Custom(check);
334
- const $$custom = $constructedBy($Custom);
335
-
336
- /**
337
- * @template {Primitive} T
338
- * @extends {Schema<T>}
339
- */
340
- class $Literal extends Schema {
341
- /**
342
- * @param {Array<T>} literals
343
- */
344
- constructor (literals) {
345
- super();
346
- this.shape = literals;
347
- }
348
-
349
- /**
350
- *
351
- * @param {any} o
352
- * @param {ValidationError} [err]
353
- * @return {o is T}
354
- */
355
- check (o, err) {
356
- const c = this.shape.some(a => a === o);
357
- /* c8 ignore next */
358
- !c && err?.extend(null, this.shape.join(' | '), o.toString());
359
- return c
360
- }
361
- }
362
-
363
- /**
364
- * @template {Primitive[]} T
365
- * @param {T} literals
366
- * @return {CastToSchema<$Literal<T[number]>>}
367
- */
368
- const $literal = (...literals) => new $Literal(literals);
369
- const $$literal = $constructedBy($Literal);
370
-
371
- /**
372
- * @template {Array<string|Schema<string|number>>} Ts
373
- * @typedef {Ts extends [] ? `` : (Ts extends [infer T] ? (Unwrap<T> extends (string|number) ? Unwrap<T> : never) : (Ts extends [infer T1, ...infer Rest] ? `${Unwrap<T1> extends (string|number) ? Unwrap<T1> : never}${Rest extends Array<string|Schema<string|number>> ? CastStringTemplateArgsToTemplate<Rest> : never}` : never))} CastStringTemplateArgsToTemplate
374
- */
375
-
376
- /**
377
- * @param {string} str
378
- * @return {string}
379
- */
380
- const _regexEscape = /** @type {any} */ (RegExp).escape || /** @type {(str:string) => string} */ (str =>
381
- str.replace(/[().|&,$^[\]]/g, s => '\\' + s)
382
- );
383
-
384
- /**
385
- * @param {string|Schema<any>} s
386
- * @return {string[]}
387
- */
388
- const _schemaStringTemplateToRegex = s => {
389
- if ($string.check(s)) {
390
- return [_regexEscape(s)]
391
- }
392
- if ($$literal.check(s)) {
393
- return /** @type {Array<string|number>} */ (s.shape).map(v => v + '')
394
- }
395
- if ($$number.check(s)) {
396
- return ['[+-]?\\d+.?\\d*']
397
- }
398
- if ($$string.check(s)) {
399
- return ['.*']
400
- }
401
- if ($$union.check(s)) {
402
- return s.shape.map(_schemaStringTemplateToRegex).flat(1)
403
- }
404
- /* c8 ignore next 2 */
405
- // unexpected schema structure (only supports unions and string in literal types)
406
- error.unexpectedCase();
407
- };
408
-
409
- /**
410
- * @template {Array<string|Schema<string|number>>} T
411
- * @extends {Schema<CastStringTemplateArgsToTemplate<T>>}
412
- */
413
- class $StringTemplate extends Schema {
414
- /**
415
- * @param {T} shape
416
- */
417
- constructor (shape) {
418
- super();
419
- this.shape = shape;
420
- this._r = new RegExp('^' + shape.map(_schemaStringTemplateToRegex).map(opts => `(${opts.join('|')})`).join('') + '$');
421
- }
422
-
423
- /**
424
- * @param {any} o
425
- * @param {ValidationError} [err]
426
- * @return {o is CastStringTemplateArgsToTemplate<T>}
427
- */
428
- check (o, err) {
429
- const c = this._r.exec(o) != null;
430
- /* c8 ignore next */
431
- !c && err?.extend(null, this._r.toString(), o.toString(), 'String doesn\'t match string template.');
432
- return c
433
- }
434
- }
435
-
436
- /**
437
- * @template {Array<string|Schema<string|number>>} T
438
- * @param {T} literals
439
- * @return {CastToSchema<$StringTemplate<T>>}
440
- */
441
- const $stringTemplate = (...literals) => new $StringTemplate(literals);
442
- const $$stringTemplate = $constructedBy($StringTemplate);
443
-
444
- const isOptionalSymbol = Symbol('optional');
445
- /**
446
- * @template {Schema<any>} S
447
- * @extends Schema<Unwrap<S>|undefined>
448
- */
449
- class $Optional extends Schema {
450
- /**
451
- * @param {S} shape
452
- */
453
- constructor (shape) {
454
- super();
455
- this.shape = shape;
456
- }
457
-
458
- /**
459
- * @param {any} o
460
- * @param {ValidationError} [err]
461
- * @return {o is (Unwrap<S>|undefined)}
462
- */
463
- check (o, err) {
464
- const c = o === undefined || this.shape.check(o);
465
- /* c8 ignore next */
466
- !c && err?.extend(null, 'undefined (optional)', '()');
467
- return c
468
- }
469
-
470
- get [isOptionalSymbol] () { return true }
471
- }
472
- const $$optional = $constructedBy($Optional);
473
-
474
- /**
475
- * @extends Schema<never>
476
- */
477
- class $Never extends Schema {
478
- /**
479
- * @param {any} _o
480
- * @param {ValidationError} [err]
481
- * @return {_o is never}
482
- */
483
- check (_o, err) {
484
- /* c8 ignore next */
485
- err?.extend(null, 'never', typeof _o);
486
- return false
487
- }
488
- }
489
-
490
- /**
491
- * @type {Schema<never>}
492
- */
493
- const $never = new $Never();
494
- const $$never = $constructedBy($Never);
495
-
496
- /**
497
- * @template {{ [key: string|symbol|number]: Schema<any> }} S
498
- * @typedef {{ [Key in keyof S as S[Key] extends $Optional<Schema<any>> ? Key : never]?: S[Key] extends $Optional<Schema<infer Type>> ? Type : never } & { [Key in keyof S as S[Key] extends $Optional<Schema<any>> ? never : Key]: S[Key] extends Schema<infer Type> ? Type : never }} $ObjectToType
499
- */
500
-
501
- /**
502
- * @template {{[key:string|symbol|number]: Schema<any>}} S
503
- * @extends {Schema<$ObjectToType<S>>}
504
- */
505
- class $Object extends Schema {
506
- /**
507
- * @param {S} shape
508
- * @param {boolean} partial
509
- */
510
- constructor (shape, partial = false) {
511
- super();
512
- /**
513
- * @type {S}
514
- */
515
- this.shape = shape;
516
- this._isPartial = partial;
517
- }
518
-
519
- static _dilutes = true
520
-
521
- /**
522
- * @type {Schema<Partial<$ObjectToType<S>>>}
523
- */
524
- get partial () {
525
- return new $Object(this.shape, true)
526
- }
527
-
528
- /**
529
- * @param {any} o
530
- * @param {ValidationError} err
531
- * @return {o is $ObjectToType<S>}
532
- */
533
- check (o, err) {
534
- if (o == null) {
535
- /* c8 ignore next */
536
- err?.extend(null, 'object', 'null');
537
- return false
538
- }
539
- return object.every(this.shape, (vv, vk) => {
540
- const c = (this._isPartial && !object.hasProperty(o, vk)) || vv.check(o[vk], err);
541
- !c && err?.extend(vk.toString(), vv.toString(), typeof o[vk], 'Object property does not match');
542
- return c
543
- })
544
- }
545
- }
546
-
547
- /**
548
- * @template S
549
- * @typedef {Schema<{ [Key in keyof S as S[Key] extends $Optional<Schema<any>> ? Key : never]?: S[Key] extends $Optional<Schema<infer Type>> ? Type : never } & { [Key in keyof S as S[Key] extends $Optional<Schema<any>> ? never : Key]: S[Key] extends Schema<infer Type> ? Type : never }>} _ObjectDefToSchema
550
- */
551
-
552
- // I used an explicit type annotation instead of $ObjectToType, so that the user doesn't see the
553
- // weird type definitions when inspecting type definions.
554
- /**
555
- * @template {{ [key:string|symbol|number]: Schema<any> }} S
556
- * @param {S} def
557
- * @return {_ObjectDefToSchema<S> extends Schema<infer S> ? Schema<{ [K in keyof S]: S[K] }> : never}
558
- */
559
- const $object = def => /** @type {any} */ (new $Object(def));
560
- const $$object = $constructedBy($Object);
561
- /**
562
- * @type {Schema<{[key:string]: any}>}
563
- */
564
- const $objectAny = $custom(o => o != null && (o.constructor === Object || o.constructor == null));
565
-
566
- /**
567
- * @template {Schema<string|number|symbol>} Keys
568
- * @template {Schema<any>} Values
569
- * @extends {Schema<{ [key in Unwrap<Keys>]: Unwrap<Values> }>}
570
- */
571
- class $Record extends Schema {
572
- /**
573
- * @param {Keys} keys
574
- * @param {Values} values
575
- */
576
- constructor (keys, values) {
577
- super();
578
- this.shape = {
579
- keys, values
580
- };
581
- }
582
-
583
- /**
584
- * @param {any} o
585
- * @param {ValidationError} err
586
- * @return {o is { [key in Unwrap<Keys>]: Unwrap<Values> }}
587
- */
588
- check (o, err) {
589
- return o != null && object.every(o, (vv, vk) => {
590
- const ck = this.shape.keys.check(vk, err);
591
- /* c8 ignore next */
592
- !ck && err?.extend(vk + '', 'Record', typeof o, ck ? 'Key doesn\'t match schema' : 'Value doesn\'t match value');
593
- return ck && this.shape.values.check(vv, err)
594
- })
595
- }
596
- }
597
-
598
- /**
599
- * @template {Schema<string|number|symbol>} Keys
600
- * @template {Schema<any>} Values
601
- * @param {Keys} keys
602
- * @param {Values} values
603
- * @return {CastToSchema<$Record<Keys,Values>>}
604
- */
605
- const $record = (keys, values) => new $Record(keys, values);
606
- const $$record = $constructedBy($Record);
607
-
608
- /**
609
- * @template {Schema<any>[]} S
610
- * @extends {Schema<{ [Key in keyof S]: S[Key] extends Schema<infer Type> ? Type : never }>}
611
- */
612
- class $Tuple extends Schema {
613
- /**
614
- * @param {S} shape
615
- */
616
- constructor (shape) {
617
- super();
618
- this.shape = shape;
619
- }
620
-
621
- /**
622
- * @param {any} o
623
- * @param {ValidationError} err
624
- * @return {o is { [K in keyof S]: S[K] extends Schema<infer Type> ? Type : never }}
625
- */
626
- check (o, err) {
627
- return o != null && object.every(this.shape, (vv, vk) => {
628
- const c = /** @type {Schema<any>} */ (vv).check(o[vk], err);
629
- /* c8 ignore next */
630
- !c && err?.extend(vk.toString(), 'Tuple', typeof vv);
631
- return c
632
- })
633
- }
634
- }
635
-
636
- /**
637
- * @template {Array<Schema<any>>} T
638
- * @param {T} def
639
- * @return {CastToSchema<$Tuple<T>>}
640
- */
641
- const $tuple = (...def) => new $Tuple(def);
642
- const $$tuple = $constructedBy($Tuple);
643
-
644
- /**
645
- * @template {Schema<any>} S
646
- * @extends {Schema<Array<S extends Schema<infer T> ? T : never>>}
647
- */
648
- class $Array extends Schema {
649
- /**
650
- * @param {Array<S>} v
651
- */
652
- constructor (v) {
653
- super();
654
- /**
655
- * @type {Schema<S extends Schema<infer T> ? T : never>}
656
- */
657
- this.shape = v.length === 1 ? v[0] : new $Union(v);
658
- }
659
-
660
- /**
661
- * @param {any} o
662
- * @param {ValidationError} [err]
663
- * @return {o is Array<S extends Schema<infer T> ? T : never>} o
664
- */
665
- check (o, err) {
666
- const c = array.isArray(o) && array.every(o, oi => this.shape.check(oi));
667
- /* c8 ignore next */
668
- !c && err?.extend(null, 'Array', '');
669
- return c
670
- }
671
- }
672
-
673
- /**
674
- * @template {Array<Schema<any>>} T
675
- * @param {T} def
676
- * @return {Schema<Array<T extends Array<Schema<infer S>> ? S : never>>}
677
- */
678
- const $array = (...def) => new $Array(def);
679
- const $$array = $constructedBy($Array);
680
- /**
681
- * @type {Schema<Array<any>>}
682
- */
683
- const $arrayAny = $custom(o => array.isArray(o));
684
-
685
- /**
686
- * @template T
687
- * @extends {Schema<T>}
688
- */
689
- class $InstanceOf extends Schema {
690
- /**
691
- * @param {new (...args:any) => T} constructor
692
- * @param {((o:T) => boolean)|null} check
693
- */
694
- constructor (constructor, check) {
695
- super();
696
- this.shape = constructor;
697
- this._c = check;
698
- }
699
-
700
- /**
701
- * @param {any} o
702
- * @param {ValidationError} err
703
- * @return {o is T}
704
- */
705
- check (o, err) {
706
- const c = o instanceof this.shape && (this._c == null || this._c(o));
707
- /* c8 ignore next */
708
- !c && err?.extend(null, this.shape.name, o?.constructor.name);
709
- return c
710
- }
711
- }
712
-
713
- /**
714
- * @template T
715
- * @param {new (...args:any) => T} c
716
- * @param {((o:T) => boolean)|null} check
717
- * @return {Schema<T>}
718
- */
719
- const $instanceOf = (c, check = null) => new $InstanceOf(c, check);
720
- const $$instanceOf = $constructedBy($InstanceOf);
721
-
722
- const $$schema = $instanceOf(Schema);
723
-
724
- /**
725
- * @template {Schema<any>[]} Args
726
- * @typedef {(...args:UnwrapArray<TuplePop<Args>>)=>Unwrap<TupleLast<Args>>} _LArgsToLambdaDef
727
- */
728
-
729
- /**
730
- * @template {Array<Schema<any>>} Args
731
- * @extends {Schema<_LArgsToLambdaDef<Args>>}
732
- */
733
- class $Lambda extends Schema {
734
- /**
735
- * @param {Args} args
736
- */
737
- constructor (args) {
738
- super();
739
- this.len = args.length - 1;
740
- this.args = $tuple(...args.slice(-1));
741
- this.res = args[this.len];
742
- }
743
-
744
- /**
745
- * @param {any} f
746
- * @param {ValidationError} err
747
- * @return {f is _LArgsToLambdaDef<Args>}
748
- */
749
- check (f, err) {
750
- const c = f.constructor === Function && f.length <= this.len;
751
- /* c8 ignore next */
752
- !c && err?.extend(null, 'function', typeof f);
753
- return c
754
- }
755
- }
756
-
757
- /**
758
- * @template {Schema<any>[]} Args
759
- * @param {Args} args
760
- * @return {Schema<(...args:UnwrapArray<TuplePop<Args>>)=>Unwrap<TupleLast<Args>>>}
761
- */
762
- const $lambda = (...args) => new $Lambda(args.length > 0 ? args : [$void]);
763
- const $$lambda = $constructedBy($Lambda);
764
-
765
- /**
766
- * @type {Schema<Function>}
767
- */
768
- const $function = $custom(o => typeof o === 'function');
769
-
770
- /**
771
- * @template {Array<Schema<any>>} T
772
- * @extends {Schema<Intersect<UnwrapArray<T>>>}
773
- */
774
- class $Intersection extends Schema {
775
- /**
776
- * @param {T} v
777
- */
778
- constructor (v) {
779
- super();
780
- /**
781
- * @type {T}
782
- */
783
- this.shape = v;
784
- }
785
-
786
- /**
787
- * @param {any} o
788
- * @param {ValidationError} [err]
789
- * @return {o is Intersect<UnwrapArray<T>>}
790
- */
791
- check (o, err) {
792
- // @ts-ignore
793
- const c = array.every(this.shape, check => check.check(o, err));
794
- /* c8 ignore next */
795
- !c && err?.extend(null, 'Intersectinon', typeof o);
796
- return c
797
- }
798
- }
799
-
800
- /**
801
- * @template {Schema<any>[]} T
802
- * @param {T} def
803
- * @return {CastToSchema<$Intersection<T>>}
804
- */
805
- const $intersect = (...def) => new $Intersection(def);
806
- const $$intersect = $constructedBy($Intersection, o => o.shape.length > 0); // Intersection with length=0 is considered "any"
807
-
808
- /**
809
- * @template S
810
- * @extends {Schema<S>}
811
- */
812
- class $Union extends Schema {
813
- static _dilutes = true
814
-
815
- /**
816
- * @param {Array<Schema<S>>} v
817
- */
818
- constructor (v) {
819
- super();
820
- this.shape = v;
821
- }
822
-
823
- /**
824
- * @param {any} o
825
- * @param {ValidationError} [err]
826
- * @return {o is S}
827
- */
828
- check (o, err) {
829
- const c = array.some(this.shape, (vv) => vv.check(o, err));
830
- err?.extend(null, 'Union', typeof o);
831
- return c
832
- }
833
- }
834
-
835
- /**
836
- * @template {Array<any>} T
837
- * @param {T} schemas
838
- * @return {CastToSchema<$Union<Unwrap<ReadSchema<T>>>>}
839
- */
840
- const $union = (...schemas) => schemas.findIndex($s => $$union.check($s)) >= 0
841
- ? $union(...schemas.map($s => $($s)).map($s => $$union.check($s) ? $s.shape : [$s]).flat(1))
842
- : (schemas.length === 1
843
- ? schemas[0]
844
- : new $Union(schemas));
845
- const $$union = /** @type {Schema<$Union<any>>} */ ($constructedBy($Union));
846
-
847
- const _t = () => true;
848
- /**
849
- * @type {Schema<any>}
850
- */
851
- const $any = $custom(_t);
852
- const $$any = /** @type {Schema<Schema<any>>} */ ($constructedBy($Custom, o => o.shape === _t));
853
-
854
- /**
855
- * @type {Schema<bigint>}
856
- */
857
- const $bigint = $custom(o => typeof o === 'bigint');
858
- const $$bigint = /** @type {Schema<Schema<BigInt>>} */ ($custom(o => o === $bigint));
859
-
860
- /**
861
- * @type {Schema<symbol>}
862
- */
863
- const $symbol = $custom(o => typeof o === 'symbol');
864
- const $$symbol = /** @type {Schema<Schema<Symbol>>} */ ($custom(o => o === $symbol));
865
-
866
- /**
867
- * @type {Schema<number>}
868
- */
869
- const $number = $custom(o => typeof o === 'number');
870
- const $$number = /** @type {Schema<Schema<number>>} */ ($custom(o => o === $number));
871
-
872
- /**
873
- * @type {Schema<string>}
874
- */
875
- const $string = $custom(o => typeof o === 'string');
876
- const $$string = /** @type {Schema<Schema<string>>} */ ($custom(o => o === $string));
877
-
878
- /**
879
- * @type {Schema<boolean>}
880
- */
881
- const $boolean = $custom(o => typeof o === 'boolean');
882
- const $$boolean = /** @type {Schema<Schema<Boolean>>} */ ($custom(o => o === $boolean));
883
-
884
- /**
885
- * @type {Schema<undefined>}
886
- */
887
- const $undefined = $literal(undefined);
888
- const $$undefined = /** @type {Schema<Schema<undefined>>} */ ($constructedBy($Literal, o => o.shape.length === 1 && o.shape[0] === undefined));
889
-
890
- /**
891
- * @type {Schema<void>}
892
- */
893
- const $void = $literal(undefined);
894
- const $$void = /** @type {Schema<Schema<void>>} */ ($$undefined);
895
-
896
- const $null = $literal(null);
897
- const $$null = /** @type {Schema<Schema<null>>} */ ($constructedBy($Literal, o => o.shape.length === 1 && o.shape[0] === null));
898
-
899
- const $uint8Array = $constructedBy(Uint8Array);
900
- const $$uint8Array = /** @type {Schema<Schema<Uint8Array>>} */ ($constructedBy($ConstructedBy, o => o.shape === Uint8Array));
901
-
902
- /**
903
- * @type {Schema<Primitive>}
904
- */
905
- const $primitive = $union($number, $string, $null, $undefined, $bigint, $boolean, $symbol);
906
-
907
- /**
908
- * @typedef {JSON[]} JSONArray
909
- */
910
- /**
911
- * @typedef {Primitive|JSONArray|{ [key:string]:JSON }} JSON
912
- */
913
- /**
914
- * @type {Schema<null|number|string|boolean|JSON[]|{[key:string]:JSON}>}
915
- */
916
- const $json = (() => {
917
- const $jsonArr = /** @type {$Array<$any>} */ ($array($any));
918
- const $jsonRecord = /** @type {$Record<$string,$any>} */ ($record($string, $any));
919
- const $json = $union($number, $string, $null, $boolean, $jsonArr, $jsonRecord);
920
- $jsonArr.shape = $json;
921
- $jsonRecord.shape.values = $json;
922
- return $json
923
- })();
924
-
925
- /**
926
- * @template {any} IN
927
- * @typedef {IN extends Schema<any> ? IN
928
- * : (IN extends string|number|boolean|null ? Schema<IN>
929
- * : (IN extends new (...args:any[])=>any ? Schema<InstanceType<IN>>
930
- * : (IN extends any[] ? Schema<{ [K in keyof IN]: Unwrap<ReadSchema<IN[K]>> }[number]>
931
- * : (IN extends object ? (_ObjectDefToSchema<{[K in keyof IN]:ReadSchema<IN[K]>}> extends Schema<infer S> ? Schema<{ [K in keyof S]: S[K] }> : never)
932
- * : never)
933
- * )
934
- * )
935
- * )
936
- * } ReadSchemaOld
937
- */
938
-
939
- /**
940
- * @template {any} IN
941
- * @typedef {[Extract<IN,Schema<any>>,Extract<IN,string|number|boolean|null>,Extract<IN,new (...args:any[])=>any>,Extract<IN,any[]>,Extract<Exclude<IN,Schema<any>|string|number|boolean|null|(new (...args:any[])=>any)|any[]>,object>] extends [infer Schemas, infer Primitives, infer Constructors, infer Arrs, infer Obj]
942
- * ? Schema<
943
- * (Schemas extends Schema<infer S> ? S : never)
944
- * | Primitives
945
- * | (Constructors extends new (...args:any[])=>any ? InstanceType<Constructors> : never)
946
- * | (Arrs extends any[] ? { [K in keyof Arrs]: Unwrap<ReadSchema<Arrs[K]>> }[number] : never)
947
- * | (Obj extends object ? Unwrap<(_ObjectDefToSchema<{[K in keyof Obj]:ReadSchema<Obj[K]>}> extends Schema<infer S> ? Schema<{ [K in keyof S]: S[K] }> : never)> : never)>
948
- * : never
949
- * } ReadSchema
950
- */
951
-
952
- /**
953
- * @typedef {ReadSchema<{x:42}|{y:99}|Schema<string>|[1,2,{}]>} Q
954
- */
955
-
956
- /**
957
- * @template IN
958
- * @param {IN} o
959
- * @return {ReadSchema<IN>}
960
- */
961
- const $ = o => {
962
- if ($$schema.check(o)) {
963
- return /** @type {any} */ (o)
964
- } else if ($objectAny.check(o)) {
965
- /**
966
- * @type {any}
967
- */
968
- const o2 = {};
969
- for (const k in o) {
970
- o2[k] = $(o[k]);
971
- }
972
- return /** @type {any} */ ($object(o2))
973
- } else if ($arrayAny.check(o)) {
974
- return /** @type {any} */ ($union(...o.map($)))
975
- } else if ($primitive.check(o)) {
976
- return /** @type {any} */ ($literal(o))
977
- } else if ($function.check(o)) {
978
- return /** @type {any} */ ($constructedBy(/** @type {any} */ (o)))
979
- }
980
- /* c8 ignore next */
981
- error.unexpectedCase();
982
- };
983
-
984
- /* c8 ignore start */
985
- /**
986
- * Assert that a variable is of this specific type.
987
- * The assertion check is only performed in non-production environments.
988
- *
989
- * @type {<T>(o:any,schema:Schema<T>) => asserts o is T}
990
- */
991
- const assert = environment.production
992
- ? () => {}
993
- : (o, schema) => {
994
- const err = new ValidationError();
995
- if (!schema.check(o, err)) {
996
- throw error.create(`Expected value to be of type ${schema.constructor.name}.\n${err.toString()}`)
997
- }
998
- };
999
- /* c8 ignore end */
1000
-
1001
- /**
1002
- * @template In
1003
- * @template Out
1004
- * @typedef {{ if: Schema<In>, h: (o:In,state?:any)=>Out }} Pattern
1005
- */
1006
-
1007
- /**
1008
- * @template {Pattern<any,any>} P
1009
- * @template In
1010
- * @typedef {ReturnType<Extract<P,Pattern<In extends number ? number : (In extends string ? string : In),any>>['h']>} PatternMatchResult
1011
- */
1012
-
1013
- /**
1014
- * @todo move this to separate library
1015
- * @template {any} [State=undefined]
1016
- * @template {Pattern<any,any>} [Patterns=never]
1017
- */
1018
- class PatternMatcher {
1019
- /**
1020
- * @param {Schema<State>} [$state]
1021
- */
1022
- constructor ($state) {
1023
- /**
1024
- * @type {Array<Patterns>}
1025
- */
1026
- this.patterns = [];
1027
- this.$state = $state;
1028
- }
1029
-
1030
- /**
1031
- * @template P
1032
- * @template R
1033
- * @param {P} pattern
1034
- * @param {(o:NoInfer<Unwrap<ReadSchema<P>>>,s:State)=>R} handler
1035
- * @return {PatternMatcher<State,Patterns|Pattern<Unwrap<ReadSchema<P>>,R>>}
1036
- */
1037
- if (pattern, handler) {
1038
- // @ts-ignore
1039
- this.patterns.push({ if: $(pattern), h: handler });
1040
- // @ts-ignore
1041
- return this
1042
- }
1043
-
1044
- /**
1045
- * @template R
1046
- * @param {(o:any,s:State)=>R} h
1047
- */
1048
- else (h) {
1049
- return this.if($any, h)
1050
- }
1051
-
1052
- /**
1053
- * @return {State extends undefined
1054
- * ? <In extends Unwrap<Patterns['if']>>(o:In,state?:undefined)=>PatternMatchResult<Patterns,In>
1055
- * : <In extends Unwrap<Patterns['if']>>(o:In,state:State)=>PatternMatchResult<Patterns,In>}
1056
- */
1057
- done () {
1058
- // @ts-ignore
1059
- return /** @type {any} */ (o, s) => {
1060
- for (let i = 0; i < this.patterns.length; i++) {
1061
- const p = this.patterns[i];
1062
- if (p.if.check(o)) {
1063
- // @ts-ignore
1064
- return p.h(o, s)
1065
- }
1066
- }
1067
- throw error.create('Unhandled pattern')
1068
- }
1069
- }
1070
- }
1071
-
1072
- /**
1073
- * @template [State=undefined]
1074
- * @param {State} [state]
1075
- * @return {PatternMatcher<State extends undefined ? undefined : Unwrap<ReadSchema<State>>>}
1076
- */
1077
- const match = state => new PatternMatcher(/** @type {any} */ (state));
1078
-
1079
- /**
1080
- * Helper function to generate a (non-exhaustive) sample set from a gives schema.
1081
- *
1082
- * @type {<T>(o:T,gen:prng.PRNG)=>T}
1083
- */
1084
- const _random = /** @type {any} */ (match(/** @type {Schema<prng.PRNG>} */ ($any))
1085
- .if($$number, (_o, gen) => prng.int53(gen, number.MIN_SAFE_INTEGER, number.MAX_SAFE_INTEGER))
1086
- .if($$string, (_o, gen) => prng.word(gen))
1087
- .if($$boolean, (_o, gen) => prng.bool(gen))
1088
- .if($$bigint, (_o, gen) => BigInt(prng.int53(gen, number.MIN_SAFE_INTEGER, number.MAX_SAFE_INTEGER)))
1089
- .if($$union, (o, gen) => random(gen, prng.oneOf(gen, o.shape)))
1090
- .if($$object, (o, gen) => {
1091
- /**
1092
- * @type {any}
1093
- */
1094
- const res = {};
1095
- for (const k in o.shape) {
1096
- let prop = o.shape[k];
1097
- if ($$optional.check(prop)) {
1098
- if (prng.bool(gen)) { continue }
1099
- prop = prop.shape;
1100
- }
1101
- res[k] = _random(prop, gen);
1102
- }
1103
- return res
1104
- })
1105
- .if($$array, (o, gen) => {
1106
- const arr = [];
1107
- const n = prng.int32(gen, 0, 42);
1108
- for (let i = 0; i < n; i++) {
1109
- arr.push(random(gen, o.shape));
1110
- }
1111
- return arr
1112
- })
1113
- .if($$literal, (o, gen) => {
1114
- return prng.oneOf(gen, o.shape)
1115
- })
1116
- .if($$null, (o, gen) => {
1117
- return null
1118
- })
1119
- .if($$lambda, (o, gen) => {
1120
- const res = random(gen, o.res);
1121
- return () => res
1122
- })
1123
- .if($$any, (o, gen) => random(gen, prng.oneOf(gen, [
1124
- $number, $string, $null, $undefined, $bigint, $boolean,
1125
- $array($number),
1126
- $record($union('a', 'b', 'c'), $number)
1127
- ])))
1128
- .if($$record, (o, gen) => {
1129
- /**
1130
- * @type {any}
1131
- */
1132
- const res = {};
1133
- const keysN = prng.int53(gen, 0, 3);
1134
- for (let i = 0; i < keysN; i++) {
1135
- const key = random(gen, o.shape.keys);
1136
- const val = random(gen, o.shape.values);
1137
- res[key] = val;
1138
- }
1139
- return res
1140
- })
1141
- .done());
1142
-
1143
- /**
1144
- * @template S
1145
- * @param {prng.PRNG} gen
1146
- * @param {S} schema
1147
- * @return {Unwrap<ReadSchema<S>>}
1148
- */
1149
- const random = (gen, schema) => /** @type {any} */ (_random($(schema), gen));
1150
-
1151
- exports.$ = $;
1152
- exports.$$any = $$any;
1153
- exports.$$array = $$array;
1154
- exports.$$bigint = $$bigint;
1155
- exports.$$boolean = $$boolean;
1156
- exports.$$constructedBy = $$constructedBy;
1157
- exports.$$custom = $$custom;
1158
- exports.$$instanceOf = $$instanceOf;
1159
- exports.$$intersect = $$intersect;
1160
- exports.$$lambda = $$lambda;
1161
- exports.$$literal = $$literal;
1162
- exports.$$never = $$never;
1163
- exports.$$null = $$null;
1164
- exports.$$number = $$number;
1165
- exports.$$object = $$object;
1166
- exports.$$optional = $$optional;
1167
- exports.$$record = $$record;
1168
- exports.$$schema = $$schema;
1169
- exports.$$string = $$string;
1170
- exports.$$stringTemplate = $$stringTemplate;
1171
- exports.$$symbol = $$symbol;
1172
- exports.$$tuple = $$tuple;
1173
- exports.$$uint8Array = $$uint8Array;
1174
- exports.$$undefined = $$undefined;
1175
- exports.$$union = $$union;
1176
- exports.$$void = $$void;
1177
- exports.$Array = $Array;
1178
- exports.$ConstructedBy = $ConstructedBy;
1179
- exports.$Custom = $Custom;
1180
- exports.$InstanceOf = $InstanceOf;
1181
- exports.$Intersection = $Intersection;
1182
- exports.$Lambda = $Lambda;
1183
- exports.$Literal = $Literal;
1184
- exports.$Object = $Object;
1185
- exports.$Record = $Record;
1186
- exports.$StringTemplate = $StringTemplate;
1187
- exports.$Tuple = $Tuple;
1188
- exports.$Union = $Union;
1189
- exports.$any = $any;
1190
- exports.$array = $array;
1191
- exports.$arrayAny = $arrayAny;
1192
- exports.$bigint = $bigint;
1193
- exports.$boolean = $boolean;
1194
- exports.$constructedBy = $constructedBy;
1195
- exports.$custom = $custom;
1196
- exports.$function = $function;
1197
- exports.$instanceOf = $instanceOf;
1198
- exports.$intersect = $intersect;
1199
- exports.$json = $json;
1200
- exports.$lambda = $lambda;
1201
- exports.$literal = $literal;
1202
- exports.$never = $never;
1203
- exports.$null = $null;
1204
- exports.$number = $number;
1205
- exports.$object = $object;
1206
- exports.$objectAny = $objectAny;
1207
- exports.$primitive = $primitive;
1208
- exports.$record = $record;
1209
- exports.$string = $string;
1210
- exports.$stringTemplate = $stringTemplate;
1211
- exports.$symbol = $symbol;
1212
- exports.$tuple = $tuple;
1213
- exports.$uint8Array = $uint8Array;
1214
- exports.$undefined = $undefined;
1215
- exports.$union = $union;
1216
- exports.$void = $void;
1217
- exports.PatternMatcher = PatternMatcher;
1218
- exports.Schema = Schema;
1219
- exports.ValidationError = ValidationError;
1220
- exports.assert = assert;
1221
- exports.match = match;
1222
- exports.random = random;
1223
- //# sourceMappingURL=schema.cjs.map