@fedify/fedify 2.0.0-dev.1485 → 2.0.0-dev.149

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 (311) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +38 -18
  3. package/dist/actor-CCAL5-E_.cjs +42079 -0
  4. package/dist/{actor-7ivEf1H3.js → actor-DYdPViDz.js} +4 -1
  5. package/dist/{actor-C22bXuuC.d.ts → actor-DqFajh9s.d.ts} +2 -2
  6. package/dist/{actor-DXTdNCfp.js → actor-U_BZZ2ps.js} +7058 -2722
  7. package/dist/actor-f2NtjyCg.d.cts +128 -0
  8. package/dist/{assert-MZs1qjMx.js → assert-Dp5_aoAs.js} +1 -1
  9. package/dist/{assert_instance_of-DHz7EHNU.js → assert_instance_of-D1m8F7x0.js} +1 -1
  10. package/dist/{assert_not_equals-f3m3epl3.js → assert_not_equals-B2R_8p36.js} +1 -1
  11. package/dist/{assert_rejects-DiIiJbZn.js → assert_rejects-BoKYY0g1.js} +2 -2
  12. package/dist/{assert_is_error-BPGph1Jx.js → assert_throws-DjkXin1a.js} +32 -2
  13. package/dist/{builder-BPGqEvtB.js → builder-CYR2yKqn.js} +20 -8
  14. package/dist/chunk-DqRYRqnO.cjs +34 -0
  15. package/dist/chunk-HsBuZ-b2.js +41 -0
  16. package/dist/client-94iWEfQa.d.cts +222 -0
  17. package/dist/{client-DF8anIB5.d.ts → client-BsGzbnV-.d.ts} +3 -75
  18. package/dist/{client-g2FDBoeY.js → client-CD87uCL_.js} +4 -23
  19. package/dist/compat/mod.cjs +10 -0
  20. package/dist/compat/mod.d.cts +11 -0
  21. package/dist/compat/mod.d.ts +10 -12
  22. package/dist/compat/mod.js +5 -5
  23. package/dist/compat/transformers.test.js +29 -24
  24. package/dist/compat-DmDDELst.cjs +4 -0
  25. package/dist/compat-nxUqe4Z-.js +4 -0
  26. package/dist/context-DBQ7nMCw.d.cts +2449 -0
  27. package/dist/context-DH7LHJdw.js +109 -0
  28. package/dist/{context-DmlbRh9p.d.ts → context-mM0Nu5yo.d.ts} +335 -134
  29. package/dist/deno-BTeveqhY.js +131 -0
  30. package/dist/{testing-BG_8Fyas.js → dist-lStjlyET.js} +73 -114
  31. package/dist/{authdocloader-D_IvQE4z.js → docloader-BSGGKhrl.js} +17 -8
  32. package/dist/{esm-CPZhxxGc.js → esm-B52TuumP.js} +32 -17
  33. package/dist/federation/builder.test.js +16 -16
  34. package/dist/federation/collection.test.js +9 -12
  35. package/dist/federation/handler.test.js +123 -152
  36. package/dist/federation/idempotency.test.js +206 -0
  37. package/dist/federation/inbox.test.js +7 -7
  38. package/dist/federation/keycache.test.js +7 -8
  39. package/dist/federation/kv.test.js +64 -12
  40. package/dist/federation/middleware.test.js +281 -99
  41. package/dist/federation/mod.cjs +27 -0
  42. package/dist/federation/mod.d.cts +11 -0
  43. package/dist/federation/mod.d.ts +11 -13
  44. package/dist/federation/mod.js +13 -15
  45. package/dist/federation/mq.test.js +12 -13
  46. package/dist/federation/negotiation.test.js +25 -0
  47. package/dist/federation/retry.test.js +4 -6
  48. package/dist/federation/router.test.js +9 -11
  49. package/dist/federation/send.test.js +61 -18
  50. package/dist/federation-CoW-KDKv.cjs +266 -0
  51. package/dist/{federation-CMX7WzeL.js → federation-D0hkM4T7.js} +25 -3
  52. package/dist/{http-C7rxW7Kh.js → http-BIDOYI9f.js} +4 -3
  53. package/dist/{http-zsOxPKCt.js → http-BQRnmfXP.js} +260 -10
  54. package/dist/{http-DqSNLFNY.d.ts → http-BbO0ejuk.d.ts} +2 -2
  55. package/dist/http-DtYHWbwa.cjs +1106 -0
  56. package/dist/http-M8k5mKc0.d.cts +253 -0
  57. package/dist/{inbox-eK2W2MF3.js → inbox-DNjplQSR.js} +26 -7
  58. package/dist/{key-CYOcZ9G5.js → key-dws2_YsP.js} +4 -2
  59. package/dist/{keycache-BLq6GT4_.js → keycache-BbbXRjc-.js} +1 -1
  60. package/dist/{keys-BIwlbtMN.js → keys-C6QyjjIN.js} +2 -1
  61. package/dist/{kv-C7sopW2E.d.ts → kv-BpJND1Hr.d.ts} +30 -1
  62. package/dist/{kv-CRZrzyXm.js → kv-DaWUKuhD.js} +22 -0
  63. package/dist/kv-cD_d4hg-.d.cts +110 -0
  64. package/dist/kv-cache-1_lcnUMp.cjs +134 -0
  65. package/dist/kv-cache-BEP4OyiZ.js +122 -0
  66. package/dist/kv-cache-C6NrTtII.js +107 -0
  67. package/dist/{ld-DWwLYT4e.js → ld-C6UrncJk.js} +7 -4
  68. package/dist/lookup-BORWbouU.cjs +268 -0
  69. package/dist/lookup-BV72lfsA.js +256 -0
  70. package/dist/{lookup-DNQyH8UQ.js → lookup-BoiLMtAx.js} +33 -125
  71. package/dist/{lookup-BHYMosdS.js → lookup-yv_aH7K7.js} +3 -1
  72. package/dist/{middleware-BcVqlHyD.js → middleware--1K3DAB8.js} +143 -136
  73. package/dist/middleware-7Yg2p_nl.js +31 -0
  74. package/dist/{middleware-DakCaqXu.js → middleware-8Oymc6Na.js} +105 -188
  75. package/dist/middleware-C6YBw2qx.cjs +15 -0
  76. package/dist/middleware-D6XNERu3.js +15 -0
  77. package/dist/middleware-DBHDivdC.cjs +4237 -0
  78. package/dist/mod-B-hUPT2N.d.cts +1 -0
  79. package/dist/{mod-Cxt4Kpf6.d.ts → mod-BlVovdcy.d.ts} +20 -2
  80. package/dist/mod-BxRCHTz-.d.cts +307 -0
  81. package/dist/mod-C58MZ7Wx.d.cts +113 -0
  82. package/dist/mod-CAdoBu0x.d.ts +109 -0
  83. package/dist/mod-CcDPcLJW.d.cts +1 -0
  84. package/dist/{mod-Drmz72EK.d.ts → mod-D5Z2tISD.d.ts} +3 -3
  85. package/dist/mod-DgxG-byT.d.cts +266 -0
  86. package/dist/{lookup-3czM5mmU.d.ts → mod-Ds0mpFZU.d.ts} +9 -2
  87. package/dist/mod-Dy2fJtmN.d.cts +80 -0
  88. package/dist/{mod-0EysZ-dJ.d.ts → mod-GetHzY6F.d.ts} +2 -2
  89. package/dist/mod-fxr25Gv7.d.cts +107 -0
  90. package/dist/mod.cjs +137 -0
  91. package/dist/mod.d.cts +15 -0
  92. package/dist/mod.d.ts +15 -18
  93. package/dist/mod.js +19 -21
  94. package/dist/negotiation-B4NJHk1f.js +71 -0
  95. package/dist/nodeinfo/client.test.js +32 -114
  96. package/dist/nodeinfo/handler.test.js +35 -30
  97. package/dist/nodeinfo/mod.cjs +10 -0
  98. package/dist/nodeinfo/mod.d.cts +3 -0
  99. package/dist/nodeinfo/mod.d.ts +3 -5
  100. package/dist/nodeinfo/mod.js +6 -7
  101. package/dist/nodeinfo/types.test.js +10 -18
  102. package/dist/nodeinfo-BnthBobC.js +4 -0
  103. package/dist/nodeinfo-CdN0rEnZ.cjs +4 -0
  104. package/dist/otel/exporter.test.js +899 -0
  105. package/dist/otel/mod.cjs +262 -0
  106. package/dist/otel/mod.d.cts +230 -0
  107. package/dist/otel/mod.d.ts +232 -0
  108. package/dist/otel/mod.js +261 -0
  109. package/dist/owner-B4HbyP8s.d.cts +67 -0
  110. package/dist/{owner-smArESGi.js → owner-DQuVKHuY.js} +46 -8
  111. package/dist/{owner-CQPnQVtf.d.ts → owner-kQRGVXG1.d.ts} +3 -3
  112. package/dist/{proof-CT1SITRP.js → proof-BG2G4cDG.js} +53 -16
  113. package/dist/proof-C3K5Z8RT.cjs +710 -0
  114. package/dist/{proof-C6z-uqeO.js → proof-GrivUN5L.js} +5 -3
  115. package/dist/router-CVRQXlZi.js +118 -0
  116. package/dist/{send-1zdmNlUo.js → send-B_dTZyUD.js} +9 -4
  117. package/dist/sig/http.test.js +19 -17
  118. package/dist/sig/key.test.js +15 -14
  119. package/dist/sig/ld.test.js +13 -12
  120. package/dist/sig/mod.cjs +28 -0
  121. package/dist/sig/mod.d.cts +6 -0
  122. package/dist/sig/mod.d.ts +5 -7
  123. package/dist/sig/mod.js +8 -10
  124. package/dist/sig/owner.test.js +40 -15
  125. package/dist/sig/proof.test.js +19 -17
  126. package/dist/sig-C34-oHBl.js +4 -0
  127. package/dist/sig-YYj5tCnr.cjs +4 -0
  128. package/dist/{std__assert-X-_kMxKM.js → std__assert-Cm-MfI66.js} +1 -1
  129. package/dist/testing/mod.d.ts +410 -232
  130. package/dist/testing/mod.js +9 -4
  131. package/dist/{transformers-Dna8Fg7k.js → transformers-BFT6d7J5.js} +3 -3
  132. package/dist/transformers-CoBS-oFG.cjs +116 -0
  133. package/dist/type-BSNcIxTd.js +14 -0
  134. package/dist/{types-BzyGRkRt.js → types-BtUjyi5y.js} +9 -170
  135. package/dist/types-CWgzGaqk.cjs +315 -0
  136. package/dist/{types-BIgY6c-l.js → types-D2jhK2VG.js} +1 -3
  137. package/dist/{runtime/authdocloader.test.js → utils/docloader.test.js} +20 -18
  138. package/dist/utils/kv-cache.test.js +211 -0
  139. package/dist/utils/mod.cjs +12 -0
  140. package/dist/utils/mod.d.cts +5 -0
  141. package/dist/utils/mod.d.ts +7 -0
  142. package/dist/utils/mod.js +11 -0
  143. package/dist/utils-D-Va7aXC.js +4 -0
  144. package/dist/utils-DyRU1gdZ.cjs +4 -0
  145. package/dist/vocab/actor.test.js +15 -13
  146. package/dist/vocab/lookup.test.js +285 -12
  147. package/dist/vocab/mod.cjs +86 -0
  148. package/dist/vocab/mod.d.cts +4 -0
  149. package/dist/vocab/mod.d.ts +3 -5
  150. package/dist/vocab/mod.js +6 -7
  151. package/dist/vocab/type.test.js +4 -4
  152. package/dist/vocab/vocab.test.js +8058 -1987
  153. package/dist/{vocab-Bg1J3mu4.js → vocab-Aig1Fmi8.js} +32 -18
  154. package/dist/{vocab-SOE1ifCr.d.ts → vocab-BCWe1Ih5.d.ts} +292 -21
  155. package/dist/{type-I68qwqmo.js → vocab-C3nSleOZ.js} +6947 -7381
  156. package/dist/vocab-CeDBzu-f.d.cts +14903 -0
  157. package/dist/vocab-DFMYh9aV.cjs +296 -0
  158. package/dist/webfinger/handler.test.js +62 -29
  159. package/dist/webfinger/lookup.test.js +11 -12
  160. package/dist/webfinger/mod.cjs +8 -0
  161. package/dist/webfinger/mod.d.cts +2 -0
  162. package/dist/webfinger/mod.d.ts +1 -4
  163. package/dist/webfinger/mod.js +5 -6
  164. package/dist/webfinger-C72Y8lrh.js +4 -0
  165. package/dist/webfinger-vAtLmxOF.cjs +4 -0
  166. package/package.json +81 -45
  167. package/dist/assert_throws-BOO88avQ.js +0 -39
  168. package/dist/authdocloader-Bq0gEHRj.js +0 -52
  169. package/dist/compat-Bb5myD13.js +0 -4
  170. package/dist/denokv-Bv33Xxea.js +0 -57
  171. package/dist/docloader-BlVueewg.js +0 -4615
  172. package/dist/docloader-CxWcuWqQ.d.ts +0 -221
  173. package/dist/fixtures/activitypub.academy/users/brauca_darradiul.json +0 -83
  174. package/dist/fixtures/example.com/announce.json +0 -6
  175. package/dist/fixtures/example.com/collection.json +0 -19
  176. package/dist/fixtures/example.com/create.json +0 -6
  177. package/dist/fixtures/example.com/cross-origin-actor.json +0 -6
  178. package/dist/fixtures/example.com/hong-gildong.json +0 -11
  179. package/dist/fixtures/example.com/invite.json +0 -7
  180. package/dist/fixtures/example.com/key.json +0 -7
  181. package/dist/fixtures/example.com/key2.json +0 -6
  182. package/dist/fixtures/example.com/object.json +0 -6
  183. package/dist/fixtures/example.com/orderedcollectionpage.json +0 -24
  184. package/dist/fixtures/example.com/paged/a.json +0 -13
  185. package/dist/fixtures/example.com/paged/b.json +0 -16
  186. package/dist/fixtures/example.com/paged-collection.json +0 -6
  187. package/dist/fixtures/example.com/person.json +0 -22
  188. package/dist/fixtures/example.com/person2.json +0 -40
  189. package/dist/fixtures/example.com/test.json +0 -5
  190. package/dist/fixtures/example.com/users/handle.json +0 -16
  191. package/dist/fixtures/example.com/wrong-type.json +0 -3
  192. package/dist/fixtures/oeee.cafe/ap/users/3609fd4e-d51d-4db8-9f04-4189815864dd.json +0 -24
  193. package/dist/fixtures/remote.domain/users/bob.json +0 -20
  194. package/dist/fixtures/server.example/users/alice.json +0 -20
  195. package/dist/fixtures/w3id.org/identity/v1.json +0 -152
  196. package/dist/fixtures/w3id.org/security/data-integrity/v1.json +0 -74
  197. package/dist/fixtures/w3id.org/security/multikey/v1.json +0 -35
  198. package/dist/fixtures/w3id.org/security/v1.json +0 -50
  199. package/dist/fixtures/wizard.casa/users/hongminhee.json +0 -69
  200. package/dist/fixtures/www.w3.org/ns/activitystreams.json +0 -379
  201. package/dist/fixtures/www.w3.org/ns/did/v1.json +0 -58
  202. package/dist/key-Dn7Lram-.js +0 -260
  203. package/dist/key-S7WllAWz.js +0 -10
  204. package/dist/key-rRCUafNm.js +0 -10
  205. package/dist/middleware-CWbGhXnl.js +0 -26
  206. package/dist/middleware-D-OlNiyj.js +0 -17
  207. package/dist/mod-TFoH2Ql8.d.ts +0 -104
  208. package/dist/mod-g0xFzAP9.d.ts +0 -2
  209. package/dist/mq-CRGm1e_F.d.ts +0 -143
  210. package/dist/nodeinfo/semver.test.js +0 -143
  211. package/dist/nodeinfo-CyEbLjHs.js +0 -4
  212. package/dist/runtime/docloader.test.js +0 -522
  213. package/dist/runtime/key.test.js +0 -103
  214. package/dist/runtime/langstr.test.d.ts +0 -3
  215. package/dist/runtime/langstr.test.js +0 -39
  216. package/dist/runtime/mod.d.ts +0 -8
  217. package/dist/runtime/mod.js +0 -13
  218. package/dist/runtime/multibase/multibase.test.d.ts +0 -3
  219. package/dist/runtime/multibase/multibase.test.js +0 -358
  220. package/dist/runtime/url.test.d.ts +0 -3
  221. package/dist/runtime/url.test.js +0 -45
  222. package/dist/runtime-BSkOVUWM.js +0 -4
  223. package/dist/semver-dArNLkR9.js +0 -149
  224. package/dist/sig-BXJO--F9.js +0 -4
  225. package/dist/src/vocab/accept.yaml +0 -15
  226. package/dist/src/vocab/activity.yaml +0 -98
  227. package/dist/src/vocab/add.yaml +0 -16
  228. package/dist/src/vocab/announce.yaml +0 -30
  229. package/dist/src/vocab/application.yaml +0 -324
  230. package/dist/src/vocab/arrive.yaml +0 -15
  231. package/dist/src/vocab/article.yaml +0 -46
  232. package/dist/src/vocab/audio.yaml +0 -11
  233. package/dist/src/vocab/block.yaml +0 -16
  234. package/dist/src/vocab/chatmessage.yaml +0 -50
  235. package/dist/src/vocab/collection.yaml +0 -154
  236. package/dist/src/vocab/collectionpage.yaml +0 -55
  237. package/dist/src/vocab/create.yaml +0 -28
  238. package/dist/src/vocab/dataintegrityproof.yaml +0 -56
  239. package/dist/src/vocab/delete.yaml +0 -27
  240. package/dist/src/vocab/didservice.yaml +0 -22
  241. package/dist/src/vocab/dislike.yaml +0 -14
  242. package/dist/src/vocab/document.yaml +0 -31
  243. package/dist/src/vocab/emoji.yaml +0 -12
  244. package/dist/src/vocab/emojireact.yaml +0 -17
  245. package/dist/src/vocab/endpoints.yaml +0 -85
  246. package/dist/src/vocab/event.yaml +0 -11
  247. package/dist/src/vocab/export.yaml +0 -9
  248. package/dist/src/vocab/flag.yaml +0 -15
  249. package/dist/src/vocab/follow.yaml +0 -19
  250. package/dist/src/vocab/group.yaml +0 -324
  251. package/dist/src/vocab/hashtag.yaml +0 -14
  252. package/dist/src/vocab/ignore.yaml +0 -14
  253. package/dist/src/vocab/image.yaml +0 -9
  254. package/dist/src/vocab/intransitiveactivity.yaml +0 -15
  255. package/dist/src/vocab/invite.yaml +0 -14
  256. package/dist/src/vocab/join.yaml +0 -14
  257. package/dist/src/vocab/key.yaml +0 -28
  258. package/dist/src/vocab/leave.yaml +0 -14
  259. package/dist/src/vocab/like.yaml +0 -16
  260. package/dist/src/vocab/link.yaml +0 -101
  261. package/dist/src/vocab/listen.yaml +0 -12
  262. package/dist/src/vocab/mention.yaml +0 -9
  263. package/dist/src/vocab/move.yaml +0 -15
  264. package/dist/src/vocab/multikey.yaml +0 -36
  265. package/dist/src/vocab/note.yaml +0 -48
  266. package/dist/src/vocab/object.yaml +0 -404
  267. package/dist/src/vocab/offer.yaml +0 -15
  268. package/dist/src/vocab/orderedcollection.yaml +0 -39
  269. package/dist/src/vocab/orderedcollectionpage.yaml +0 -50
  270. package/dist/src/vocab/organization.yaml +0 -324
  271. package/dist/src/vocab/page.yaml +0 -11
  272. package/dist/src/vocab/person.yaml +0 -324
  273. package/dist/src/vocab/place.yaml +0 -75
  274. package/dist/src/vocab/profile.yaml +0 -26
  275. package/dist/src/vocab/propertyvalue.yaml +0 -32
  276. package/dist/src/vocab/question.yaml +0 -103
  277. package/dist/src/vocab/read.yaml +0 -13
  278. package/dist/src/vocab/reject.yaml +0 -14
  279. package/dist/src/vocab/relationship.yaml +0 -52
  280. package/dist/src/vocab/remove.yaml +0 -14
  281. package/dist/src/vocab/service.yaml +0 -324
  282. package/dist/src/vocab/source.yaml +0 -26
  283. package/dist/src/vocab/tentativeaccept.yaml +0 -14
  284. package/dist/src/vocab/tentativereject.yaml +0 -14
  285. package/dist/src/vocab/tombstone.yaml +0 -24
  286. package/dist/src/vocab/travel.yaml +0 -16
  287. package/dist/src/vocab/undo.yaml +0 -26
  288. package/dist/src/vocab/update.yaml +0 -58
  289. package/dist/src/vocab/video.yaml +0 -11
  290. package/dist/src/vocab/view.yaml +0 -13
  291. package/dist/testing/docloader.test.js +0 -24
  292. package/dist/vocab/schema.yaml +0 -247
  293. package/dist/webfinger-C3GIyXIg.js +0 -4
  294. package/dist/x/cfworkers.d.ts +0 -61
  295. package/dist/x/cfworkers.js +0 -98
  296. package/dist/x/cfworkers.test.d.ts +0 -3
  297. package/dist/x/cfworkers.test.js +0 -179
  298. package/dist/x/hono.d.ts +0 -56
  299. package/dist/x/hono.js +0 -60
  300. package/dist/x/sveltekit.d.ts +0 -48
  301. package/dist/x/sveltekit.js +0 -68
  302. /package/dist/{assert_equals-DSbWqCm3.js → assert_equals-Gbplq4lg.js} +0 -0
  303. /package/dist/{collection-CSzG2j1P.js → collection-CrkRM5Ep.js} +0 -0
  304. /package/dist/{nodeinfo/semver.test.d.ts → federation/idempotency.test.d.ts} +0 -0
  305. /package/dist/{runtime/authdocloader.test.d.ts → federation/negotiation.test.d.ts} +0 -0
  306. /package/dist/{mod-1pDWKvUL.d.ts → mod-CVgZgliM.d.ts} +0 -0
  307. /package/dist/{mod-GIh5OYxW.d.ts → mod-bjzj5QIb.d.ts} +0 -0
  308. /package/dist/{runtime/docloader.test.d.ts → otel/exporter.test.d.ts} +0 -0
  309. /package/dist/{retry-D4GJ670a.js → retry-Bz5pP75o.js} +0 -0
  310. /package/dist/{testing → utils}/docloader.test.d.ts +0 -0
  311. /package/dist/{runtime/key.test.d.ts → utils/kv-cache.test.d.ts} +0 -0
@@ -1,522 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
- globalThis.addEventListener = () => {};
5
-
6
- import { FetchError, UrlError, contexts_default, deno_default, getDocumentLoader, getUserAgent, kvCache } from "../type-I68qwqmo.js";
7
- import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
- import "../assert-MZs1qjMx.js";
9
- import "../assert_instance_of-DHz7EHNU.js";
10
- import { MemoryKvStore } from "../kv-CRZrzyXm.js";
11
- import "../lookup-DNQyH8UQ.js";
12
- import { mockDocumentLoader, test } from "../testing-BG_8Fyas.js";
13
- import "../std__assert-X-_kMxKM.js";
14
- import { assertRejects } from "../assert_rejects-DiIiJbZn.js";
15
- import "../assert_is_error-BPGph1Jx.js";
16
- import "../assert_not_equals-f3m3epl3.js";
17
- import { assertThrows } from "../assert_throws-BOO88avQ.js";
18
- import { esm_default } from "../esm-CPZhxxGc.js";
19
- import process from "node:process";
20
-
21
- //#region src/runtime/docloader.test.ts
22
- test("new FetchError()", () => {
23
- const e = new FetchError("https://example.com/", "An error message.");
24
- assertEquals(e.name, "FetchError");
25
- assertEquals(e.url, new URL("https://example.com/"));
26
- assertEquals(e.message, "https://example.com/: An error message.");
27
- const e2 = new FetchError(new URL("https://example.org/"));
28
- assertEquals(e2.url, new URL("https://example.org/"));
29
- assertEquals(e2.message, "https://example.org/");
30
- });
31
- test("getDocumentLoader()", async (t) => {
32
- const fetchDocumentLoader = getDocumentLoader();
33
- esm_default.spyGlobal();
34
- esm_default.get("https://example.com/object", { body: {
35
- "@context": "https://www.w3.org/ns/activitystreams",
36
- id: "https://example.com/object",
37
- name: "Fetched object",
38
- type: "Object"
39
- } });
40
- await t.step("ok", async () => {
41
- assertEquals(await fetchDocumentLoader("https://example.com/object"), {
42
- contextUrl: null,
43
- documentUrl: "https://example.com/object",
44
- document: {
45
- "@context": "https://www.w3.org/ns/activitystreams",
46
- id: "https://example.com/object",
47
- name: "Fetched object",
48
- type: "Object"
49
- }
50
- });
51
- });
52
- esm_default.get("https://example.com/link-ctx", {
53
- body: {
54
- id: "https://example.com/link-ctx",
55
- name: "Fetched object",
56
- type: "Object"
57
- },
58
- headers: {
59
- "Content-Type": "application/activity+json",
60
- Link: "<https://www.w3.org/ns/activitystreams>; rel=\"http://www.w3.org/ns/json-ld#context\"; type=\"application/ld+json\""
61
- }
62
- });
63
- esm_default.get("https://example.com/link-obj", { headers: {
64
- "Content-Type": "text/html; charset=utf-8",
65
- Link: "<https://example.com/object>; rel=\"alternate\"; type=\"application/activity+json\""
66
- } });
67
- esm_default.get("https://example.com/link-obj-relative", { headers: {
68
- "Content-Type": "text/html; charset=utf-8",
69
- Link: "</object>; rel=\"alternate\"; type=\"application/activity+json\""
70
- } });
71
- esm_default.get("https://example.com/obj-w-wrong-link", {
72
- body: {
73
- "@context": "https://www.w3.org/ns/activitystreams",
74
- id: "https://example.com/obj-w-wrong-link",
75
- name: "Fetched object",
76
- type: "Object"
77
- },
78
- headers: {
79
- "Content-Type": "text/html; charset=utf-8",
80
- Link: "<https://example.com/object>; rel=\"alternate\"; type=\"application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"\""
81
- }
82
- });
83
- await t.step("Link header", async () => {
84
- assertEquals(await fetchDocumentLoader("https://example.com/link-ctx"), {
85
- contextUrl: "https://www.w3.org/ns/activitystreams",
86
- documentUrl: "https://example.com/link-ctx",
87
- document: {
88
- id: "https://example.com/link-ctx",
89
- name: "Fetched object",
90
- type: "Object"
91
- }
92
- });
93
- assertEquals(await fetchDocumentLoader("https://example.com/link-obj"), {
94
- contextUrl: null,
95
- documentUrl: "https://example.com/object",
96
- document: {
97
- "@context": "https://www.w3.org/ns/activitystreams",
98
- id: "https://example.com/object",
99
- name: "Fetched object",
100
- type: "Object"
101
- }
102
- });
103
- });
104
- await t.step("Link header relative url", async () => {
105
- assertEquals(await fetchDocumentLoader("https://example.com/link-ctx"), {
106
- contextUrl: "https://www.w3.org/ns/activitystreams",
107
- documentUrl: "https://example.com/link-ctx",
108
- document: {
109
- id: "https://example.com/link-ctx",
110
- name: "Fetched object",
111
- type: "Object"
112
- }
113
- });
114
- assertEquals(await fetchDocumentLoader("https://example.com/link-obj-relative"), {
115
- contextUrl: null,
116
- documentUrl: "https://example.com/object",
117
- document: {
118
- "@context": "https://www.w3.org/ns/activitystreams",
119
- id: "https://example.com/object",
120
- name: "Fetched object",
121
- type: "Object"
122
- }
123
- });
124
- });
125
- await t.step("wrong Link header syntax", async () => {
126
- assertEquals(await fetchDocumentLoader("https://example.com/obj-w-wrong-link"), {
127
- contextUrl: null,
128
- documentUrl: "https://example.com/obj-w-wrong-link",
129
- document: {
130
- "@context": "https://www.w3.org/ns/activitystreams",
131
- id: "https://example.com/obj-w-wrong-link",
132
- name: "Fetched object",
133
- type: "Object"
134
- }
135
- });
136
- });
137
- esm_default.get("https://example.com/html-link", {
138
- body: `<html>
139
- <head>
140
- <meta charset=utf-8>
141
- <link
142
- rel=alternate
143
- type='application/activity+json'
144
- href="https://example.com/object">
145
- </head>
146
- </html>`,
147
- headers: { "Content-Type": "text/html; charset=utf-8" }
148
- });
149
- await t.step("HTML <link>", async () => {
150
- assertEquals(await fetchDocumentLoader("https://example.com/html-link"), {
151
- contextUrl: null,
152
- documentUrl: "https://example.com/object",
153
- document: {
154
- "@context": "https://www.w3.org/ns/activitystreams",
155
- id: "https://example.com/object",
156
- name: "Fetched object",
157
- type: "Object"
158
- }
159
- });
160
- });
161
- esm_default.get("https://example.com/xhtml-link", {
162
- body: `<html>
163
- <head>
164
- <meta charset="utf-8" />
165
- <link
166
- rel=alternate
167
- type="application/activity+json"
168
- href="https://example.com/object" />
169
- </head>
170
- </html>`,
171
- headers: { "Content-Type": "application/xhtml+xml; charset=utf-8" }
172
- });
173
- await t.step("XHTML <link>", async () => {
174
- assertEquals(await fetchDocumentLoader("https://example.com/xhtml-link"), {
175
- contextUrl: null,
176
- documentUrl: "https://example.com/object",
177
- document: {
178
- "@context": "https://www.w3.org/ns/activitystreams",
179
- id: "https://example.com/object",
180
- name: "Fetched object",
181
- type: "Object"
182
- }
183
- });
184
- });
185
- esm_default.get("https://example.com/html-a", {
186
- body: `<html>
187
- <head>
188
- <meta charset=utf-8>
189
- </head>
190
- <body>
191
- <a
192
- rel=alternate
193
- type=application/activity+json
194
- href=https://example.com/object>test</a>
195
- </body>
196
- </html>`,
197
- headers: { "Content-Type": "text/html; charset=utf-8" }
198
- });
199
- await t.step("HTML <a>", async () => {
200
- assertEquals(await fetchDocumentLoader("https://example.com/html-a"), {
201
- contextUrl: null,
202
- documentUrl: "https://example.com/object",
203
- document: {
204
- "@context": "https://www.w3.org/ns/activitystreams",
205
- id: "https://example.com/object",
206
- name: "Fetched object",
207
- type: "Object"
208
- }
209
- });
210
- });
211
- esm_default.get("https://example.com/wrong-content-type", {
212
- body: {
213
- "@context": "https://www.w3.org/ns/activitystreams",
214
- id: "https://example.com/wrong-content-type",
215
- name: "Fetched object",
216
- type: "Object"
217
- },
218
- headers: { "Content-Type": "text/html; charset=utf-8" }
219
- });
220
- await t.step("Wrong Content-Type", async () => {
221
- assertEquals(await fetchDocumentLoader("https://example.com/wrong-content-type"), {
222
- contextUrl: null,
223
- documentUrl: "https://example.com/wrong-content-type",
224
- document: {
225
- "@context": "https://www.w3.org/ns/activitystreams",
226
- id: "https://example.com/wrong-content-type",
227
- name: "Fetched object",
228
- type: "Object"
229
- }
230
- });
231
- });
232
- esm_default.get("https://example.com/404", { status: 404 });
233
- await t.step("not ok", async () => {
234
- await assertRejects(() => fetchDocumentLoader("https://example.com/404"), FetchError, "HTTP 404: https://example.com/404");
235
- });
236
- await t.step("preloaded contexts", async () => {
237
- for (const [url, document] of Object.entries(contexts_default)) assertEquals(await fetchDocumentLoader(url), {
238
- contextUrl: null,
239
- documentUrl: url,
240
- document
241
- });
242
- });
243
- await t.step("deny non-HTTP/HTTPS", async () => {
244
- await assertRejects(() => fetchDocumentLoader("ftp://localhost"), UrlError);
245
- });
246
- esm_default.get("https://example.com/localhost-redirect", {
247
- status: 302,
248
- headers: { Location: "https://localhost/object" }
249
- });
250
- esm_default.get("https://example.com/localhost-link", {
251
- body: `<html>
252
- <head>
253
- <meta charset=utf-8>
254
- <link
255
- rel=alternate
256
- type='application/activity+json'
257
- href="https://localhost/object">
258
- </head>
259
- </html>`,
260
- headers: { "Content-Type": "text/html; charset=utf-8" }
261
- });
262
- esm_default.get("https://localhost/object", { body: {
263
- "@context": "https://www.w3.org/ns/activitystreams",
264
- id: "https://localhost/object",
265
- name: "Fetched object",
266
- type: "Object"
267
- } });
268
- await t.step("allowPrivateAddress: false", async () => {
269
- await assertRejects(() => fetchDocumentLoader("https://localhost/object"), UrlError);
270
- await assertRejects(() => fetchDocumentLoader("https://example.com/localhost-redirect"), UrlError);
271
- await assertRejects(() => fetchDocumentLoader("https://example.com/localhost-link"), UrlError);
272
- });
273
- const fetchDocumentLoader2 = getDocumentLoader({ allowPrivateAddress: true });
274
- await t.step("allowPrivateAddress: true", async () => {
275
- const expected = {
276
- contextUrl: null,
277
- documentUrl: "https://localhost/object",
278
- document: {
279
- "@context": "https://www.w3.org/ns/activitystreams",
280
- id: "https://localhost/object",
281
- name: "Fetched object",
282
- type: "Object"
283
- }
284
- };
285
- assertEquals(await fetchDocumentLoader2("https://localhost/object"), expected);
286
- assertEquals(await fetchDocumentLoader2("https://example.com/localhost-redirect"), expected);
287
- assertEquals(await fetchDocumentLoader2("https://example.com/localhost-link"), expected);
288
- });
289
- esm_default.hardReset();
290
- });
291
- test("kvCache()", async (t) => {
292
- const kv = new MemoryKvStore();
293
- await t.step("cached", async () => {
294
- const loader = kvCache({
295
- kv,
296
- loader: mockDocumentLoader,
297
- rules: [
298
- ["https://example.org/", Temporal.Duration.from({ days: 1 })],
299
- [new URL("https://example.net/"), Temporal.Duration.from({ days: 1 })],
300
- [new URLPattern("https://example.com/*"), Temporal.Duration.from({ days: 30 })]
301
- ],
302
- prefix: ["_test", "cached"]
303
- });
304
- const result = await loader("https://example.com/object");
305
- assertEquals(result, {
306
- contextUrl: null,
307
- documentUrl: "https://example.com/object",
308
- document: {
309
- "@context": "https://www.w3.org/ns/activitystreams",
310
- id: "https://example.com/object",
311
- name: "Fetched object",
312
- type: "Object"
313
- }
314
- });
315
- const cache = await kv.get([
316
- "_test",
317
- "cached",
318
- "https://example.com/object"
319
- ]);
320
- assertEquals(cache, result);
321
- await kv.set([
322
- "_test",
323
- "cached",
324
- "https://example.org/"
325
- ], {
326
- contextUrl: null,
327
- documentUrl: "https://example.org/",
328
- document: { "id": "https://example.org/" }
329
- });
330
- const result2 = await loader("https://example.org/");
331
- assertEquals(result2, {
332
- contextUrl: null,
333
- documentUrl: "https://example.org/",
334
- document: { "id": "https://example.org/" }
335
- });
336
- await kv.set([
337
- "_test",
338
- "cached",
339
- "https://example.net/"
340
- ], {
341
- contextUrl: null,
342
- documentUrl: "https://example.net/",
343
- document: { "id": "https://example.net/" }
344
- });
345
- const result3 = await loader("https://example.net/");
346
- assertEquals(result3, {
347
- contextUrl: null,
348
- documentUrl: "https://example.net/",
349
- document: { "id": "https://example.net/" }
350
- });
351
- });
352
- await t.step("not cached", async () => {
353
- const loader = kvCache({
354
- kv,
355
- loader: mockDocumentLoader,
356
- rules: [],
357
- prefix: ["_test", "not cached"]
358
- });
359
- const result = await loader("https://example.com/object");
360
- assertEquals(result, {
361
- contextUrl: null,
362
- documentUrl: "https://example.com/object",
363
- document: {
364
- "@context": "https://www.w3.org/ns/activitystreams",
365
- id: "https://example.com/object",
366
- name: "Fetched object",
367
- type: "Object"
368
- }
369
- });
370
- const cache = await kv.get([
371
- "test2",
372
- "not cached",
373
- "https://example.com/object"
374
- ]);
375
- assertEquals(cache, void 0);
376
- });
377
- await t.step("maximum cache duration", () => {
378
- assertThrows(() => kvCache({
379
- kv,
380
- loader: mockDocumentLoader,
381
- rules: [["https://example.com/", Temporal.Duration.from({
382
- days: 30,
383
- seconds: 1
384
- })]]
385
- }), TypeError, "The maximum cache duration is 30 days");
386
- assertThrows(() => kvCache({
387
- kv,
388
- loader: mockDocumentLoader,
389
- rules: [[new URLPattern("https://example.com/*"), Temporal.Duration.from({
390
- days: 30,
391
- seconds: 1
392
- })]]
393
- }), TypeError, "The maximum cache duration is 30 days");
394
- });
395
- await t.step("on kv store exception", async () => {
396
- class KvStoreThrowsException {
397
- get(_key) {
398
- throw new Error("Failed to get key");
399
- }
400
- set(_key, _value, _options) {
401
- throw new Error("Failed to set key");
402
- }
403
- delete(_key) {
404
- throw new Error("Failed to delete key");
405
- }
406
- }
407
- const loader = kvCache({
408
- kv: new KvStoreThrowsException(),
409
- loader: mockDocumentLoader,
410
- rules: [
411
- ["https://example.org/", Temporal.Duration.from({ days: 1 })],
412
- [new URL("https://example.net/"), Temporal.Duration.from({ days: 1 })],
413
- [new URLPattern("https://example.com/*"), Temporal.Duration.from({ days: 30 })]
414
- ],
415
- prefix: ["_test", "not cached"]
416
- });
417
- const result = await loader("https://example.com/object");
418
- assertEquals(result, {
419
- contextUrl: null,
420
- documentUrl: "https://example.com/object",
421
- document: {
422
- "@context": "https://www.w3.org/ns/activitystreams",
423
- id: "https://example.com/object",
424
- name: "Fetched object",
425
- type: "Object"
426
- }
427
- });
428
- });
429
- await t.step("preloaded contexts bypass cache", async () => {
430
- const kv$1 = new MemoryKvStore();
431
- let loaderCalled = false;
432
- const mockLoader = (url) => {
433
- loaderCalled = true;
434
- return Promise.resolve({
435
- contextUrl: null,
436
- documentUrl: url,
437
- document: { "mock": "document" }
438
- });
439
- };
440
- const loader = kvCache({
441
- kv: kv$1,
442
- loader: mockLoader,
443
- prefix: ["_test", "preloaded"]
444
- });
445
- const activityStreamsUrl = "https://www.w3.org/ns/activitystreams";
446
- loaderCalled = false;
447
- const result = await loader(activityStreamsUrl);
448
- assertEquals(result, {
449
- contextUrl: null,
450
- documentUrl: activityStreamsUrl,
451
- document: contexts_default[activityStreamsUrl]
452
- });
453
- assertEquals(loaderCalled, false, "Loader should not be called for preloaded contexts");
454
- const cachedValue = await kv$1.get([
455
- "_test",
456
- "preloaded",
457
- activityStreamsUrl
458
- ]);
459
- assertEquals(cachedValue, void 0, "Preloaded contexts should not be cached in KV store");
460
- const securityUrl = "https://w3id.org/security/v1";
461
- loaderCalled = false;
462
- const result2 = await loader(securityUrl);
463
- assertEquals(result2, {
464
- contextUrl: null,
465
- documentUrl: securityUrl,
466
- document: contexts_default[securityUrl]
467
- });
468
- assertEquals(loaderCalled, false, "Loader should not be called for preloaded contexts");
469
- const nonPreloadedUrl = "https://example.com/not-preloaded";
470
- loaderCalled = false;
471
- const result3 = await loader(nonPreloadedUrl);
472
- assertEquals(result3, {
473
- contextUrl: null,
474
- documentUrl: nonPreloadedUrl,
475
- document: { "mock": "document" }
476
- });
477
- assertEquals(loaderCalled, true, "Loader should be called for non-preloaded URLs");
478
- const cachedValue2 = await kv$1.get([
479
- "_test",
480
- "preloaded",
481
- nonPreloadedUrl
482
- ]);
483
- assertEquals(cachedValue2, result3, "Non-preloaded URLs should be cached");
484
- });
485
- });
486
- test("getUserAgent()", () => {
487
- if ("Deno" in globalThis) {
488
- assertEquals(getUserAgent(), `Fedify/${deno_default.version} (Deno/${Deno.version.deno})`);
489
- assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${deno_default.version}; Deno/${Deno.version.deno})`);
490
- assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${deno_default.version} (Deno/${Deno.version.deno}; +https://example.com/)`);
491
- assertEquals(getUserAgent({
492
- software: "MyApp/1.0.0",
493
- url: new URL("https://example.com/")
494
- }), `MyApp/1.0.0 (Fedify/${deno_default.version}; Deno/${Deno.version.deno}; +https://example.com/)`);
495
- } else if ("Bun" in globalThis) {
496
- assertEquals(getUserAgent(), `Fedify/${deno_default.version} (Bun/${Bun.version})`);
497
- assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${deno_default.version}; Bun/${Bun.version})`);
498
- assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${deno_default.version} (Bun/${Bun.version}; +https://example.com/)`);
499
- assertEquals(getUserAgent({
500
- software: "MyApp/1.0.0",
501
- url: new URL("https://example.com/")
502
- }), `MyApp/1.0.0 (Fedify/${deno_default.version}; Bun/${Bun.version}; +https://example.com/)`);
503
- } else if (navigator.userAgent === "Cloudflare-Workers") {
504
- assertEquals(getUserAgent(), `Fedify/${deno_default.version} (Cloudflare-Workers)`);
505
- assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${deno_default.version}; Cloudflare-Workers)`);
506
- assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${deno_default.version} (Cloudflare-Workers; +https://example.com/)`);
507
- assertEquals(getUserAgent({
508
- software: "MyApp/1.0.0",
509
- url: new URL("https://example.com/")
510
- }), `MyApp/1.0.0 (Fedify/${deno_default.version}; Cloudflare-Workers; +https://example.com/)`);
511
- } else {
512
- assertEquals(getUserAgent(), `Fedify/${deno_default.version} (Node.js/${process.versions.node})`);
513
- assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${deno_default.version}; Node.js/${process.versions.node})`);
514
- assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${deno_default.version} (Node.js/${process.versions.node}; +https://example.com/)`);
515
- assertEquals(getUserAgent({
516
- software: "MyApp/1.0.0",
517
- url: new URL("https://example.com/")
518
- }), `MyApp/1.0.0 (Fedify/${deno_default.version}; Node.js/${process.versions.node}; +https://example.com/)`);
519
- }
520
- });
521
-
522
- //#endregion
@@ -1,103 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
- globalThis.addEventListener = () => {};
5
-
6
- import { exportMultibaseKey, exportSpki, importMultibaseKey, importPem, importPkcs1, importSpki } from "../type-I68qwqmo.js";
7
- import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
- import "../assert-MZs1qjMx.js";
9
- import "../assert_instance_of-DHz7EHNU.js";
10
- import "../lookup-DNQyH8UQ.js";
11
- import "../actor-7ivEf1H3.js";
12
- import { exportJwk, importJwk } from "../key-CYOcZ9G5.js";
13
- import { test } from "../testing-BG_8Fyas.js";
14
- import "../std__assert-X-_kMxKM.js";
15
- import "../assert_rejects-DiIiJbZn.js";
16
- import "../assert_is_error-BPGph1Jx.js";
17
- import "../assert_not_equals-f3m3epl3.js";
18
- import "../assert_throws-BOO88avQ.js";
19
-
20
- //#region src/runtime/key.test.ts
21
- const rsaSpki = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxsRuvCkgJtflBTl4OVsm\nnt/J1mQfZasfJtN33dcZ3d1lJroxmgmMu69zjGEAwkNbMQaWNLqC4eogkJaeJ4RR\n5MHYXkL9nNilVoTkjX5BVit3puzs7XJ7WQnKQgQMI+ezn24GHsZ/v1JIo77lerX5\nk4HNwTNVt+yaZVQWaOMR3+6FwziQR6kd0VuG9/a9dgAnz2cEoORRC1i4W7IZaB1s\nZnh1WbHbevlGd72HSXll5rocPIHn8gq6xpBgpHwRphlRsgn4KHaJ6brXDIJjrnQh\nIe/YUBOGj/ImSEXhRwlFerKsoAVnZ0Hwbfa46qk44TAt8CyoPMWmpK6pt0ng4pQ2\nuwIDAQAB\n-----END PUBLIC KEY-----\n";
22
- const rsaPkcs1 = "-----BEGIN RSA PUBLIC KEY-----\nMIIBCgKCAQEAxsRuvCkgJtflBTl4OVsmnt/J1mQfZasfJtN33dcZ3d1lJroxmgmM\nu69zjGEAwkNbMQaWNLqC4eogkJaeJ4RR5MHYXkL9nNilVoTkjX5BVit3puzs7XJ7\nWQnKQgQMI+ezn24GHsZ/v1JIo77lerX5k4HNwTNVt+yaZVQWaOMR3+6FwziQR6kd\n0VuG9/a9dgAnz2cEoORRC1i4W7IZaB1sZnh1WbHbevlGd72HSXll5rocPIHn8gq6\nxpBgpHwRphlRsgn4KHaJ6brXDIJjrnQhIe/YUBOGj/ImSEXhRwlFerKsoAVnZ0Hw\nbfa46qk44TAt8CyoPMWmpK6pt0ng4pQ2uwIDAQAB\n-----END RSA PUBLIC KEY-----\n";
23
- const rsaJwk = {
24
- alg: "RS256",
25
- e: "AQAB",
26
- ext: true,
27
- key_ops: ["verify"],
28
- kty: "RSA",
29
- n: "xsRuvCkgJtflBTl4OVsmnt_J1mQfZasfJtN33dcZ3d1lJroxmgmMu69zjGEAwkNbMQaWNLqC4eogkJaeJ4RR5MHYXkL9nNilVoTkjX5BVit3puzs7XJ7WQnKQgQMI-ezn24GHsZ_v1JIo77lerX5k4HNwTNVt-yaZVQWaOMR3-6FwziQR6kd0VuG9_a9dgAnz2cEoORRC1i4W7IZaB1sZnh1WbHbevlGd72HSXll5rocPIHn8gq6xpBgpHwRphlRsgn4KHaJ6brXDIJjrnQhIe_YUBOGj_ImSEXhRwlFerKsoAVnZ0Hwbfa46qk44TAt8CyoPMWmpK6pt0ng4pQ2uw"
30
- };
31
- const rsaMultibase = "z4MXj1wBzi9jUstyPqYMn6Gum79JtbKFiHTibtPRoPeufjdimA24Kg8Q5N7E2eMpgVUtD61kUvmy4FaT5D5G8XU3ktxeduwEw5FHTtiLCzaruadf6rit1AUPL34UtcPuHh6GxBzTxgFKMMuzcHiUzG9wvbxn7toS4H2gbmUn1r91836ET2EVgmSdzju614Wu67ukyBGivcboncdfxPSR5JXwURBaL8K2P6yhKn3NyprFV8s6QpN4zgQMAD3Q6fjAsEvGNwXaQTZmEN2yd1NQ7uBE3RJ2XywZnehmfLQTEqD7Ad5XM3qfLLd9CtdzJGBkRfunHhkH1kz8dHL7hXwtk5EMXktY4QF5gZ1uisUV5mpPjEgqz7uDz";
32
- const ed25519Pem = "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAvrabdlLgVI5jWl7GpF+fLFJVF4ccI8D7h+v5ulBCYwo=\n-----END PUBLIC KEY-----\n";
33
- const ed25519Jwk = {
34
- alg: "Ed25519",
35
- kty: "OKP",
36
- crv: "Ed25519",
37
- x: "vrabdlLgVI5jWl7GpF-fLFJVF4ccI8D7h-v5ulBCYwo",
38
- key_ops: ["verify"],
39
- ext: true
40
- };
41
- const ed25519Multibase = "z6MksHj1MJnidCtDiyYW9ugNFftoX9fLK4bornTxmMZ6X7vq";
42
- test("importSpki()", async () => {
43
- const rsaKey = await importSpki(rsaSpki);
44
- assertEquals(await exportJwk(rsaKey), rsaJwk);
45
- const ed25519Key = await importSpki(ed25519Pem);
46
- assertEquals(await exportJwk(ed25519Key), ed25519Jwk);
47
- });
48
- test("exportSpki()", async () => {
49
- const rsaKey = await importJwk(rsaJwk, "public");
50
- const rsaSpki$1 = await exportSpki(rsaKey);
51
- assertEquals(rsaSpki$1, rsaSpki$1);
52
- const ed25519Key = await importJwk(ed25519Jwk, "public");
53
- const ed25519Spki = await exportSpki(ed25519Key);
54
- assertEquals(ed25519Spki, ed25519Pem);
55
- });
56
- test("importPkcs1()", async () => {
57
- const rsaKey = await importPkcs1(rsaPkcs1);
58
- assertEquals(await exportJwk(rsaKey), rsaJwk);
59
- });
60
- test("importPem()", async () => {
61
- const rsaPkcs1Key = await importPem(rsaPkcs1);
62
- assertEquals(await exportJwk(rsaPkcs1Key), rsaJwk);
63
- const rsaSpkiKey = await importPem(rsaSpki);
64
- assertEquals(await exportJwk(rsaSpkiKey), rsaJwk);
65
- const ed25519Key = await importPem(ed25519Pem);
66
- assertEquals(await exportJwk(ed25519Key), ed25519Jwk);
67
- });
68
- test("importMultibase()", async () => {
69
- const rsaKey = await importMultibaseKey(rsaMultibase);
70
- assertEquals(await exportJwk(rsaKey), rsaJwk);
71
- const ed25519Key = await importMultibaseKey(ed25519Multibase);
72
- assertEquals(await exportJwk(ed25519Key), ed25519Jwk);
73
- });
74
- test("exportMultibaseKey()", async () => {
75
- const rsaKey = await importJwk(rsaJwk, "public");
76
- const rsaMb = await exportMultibaseKey(rsaKey);
77
- assertEquals(rsaMb, rsaMultibase);
78
- const ed25519Key = await importJwk(ed25519Jwk, "public");
79
- const ed25519Mb = await exportMultibaseKey(ed25519Key);
80
- assertEquals(ed25519Mb, ed25519Multibase);
81
- const rsaKey2 = await importJwk({
82
- alg: "RS256",
83
- ext: true,
84
- key_ops: ["verify"],
85
- e: "AQAB",
86
- kty: "RSA",
87
- n: "sbX82NTV6IylxCh7MfV4hlyvaniCajuP97GyOqSvTmoEdBOflFvZ06kR_9D6ctt45Fk6hskfnag2GG69NALVH2o4RCR6tQiLRpKcMRtDYE_thEmfBvDzm_VVkOIYfxu-Ipuo9J_S5XDNDjczx2v-3oDh5-CIHkU46hvFeCvpUS-L8TJSbgX0kjVk_m4eIb9wh63rtmD6Uz_KBtCo5mmR4TEtcLZKYdqMp3wCjN-TlgHiz_4oVXWbHUefCEe8rFnX1iQnpDHU49_SaXQoud1jCaexFn25n-Aa8f8bc5Vm-5SeRwidHa6ErvEhTvf1dz6GoNPp2iRvm-wJ1gxwWJEYPQ"
88
- }, "public");
89
- const rsaMb2 = await exportMultibaseKey(rsaKey2);
90
- assertEquals(rsaMb2, "z4MXj1wBzi9jUstyPMS4jQqB6KdJaiatPkAtVtGc6bQEQEEsKTic4G7Rou3iBf9vPmT5dbkm9qsZsuVNjq8HCuW1w24nhBFGkRE4cd2Uf2tfrB3N7h4mnyPp1BF3ZttHTYv3DLUPi1zMdkULiow3M1GfXkoC6DoxDUm1jmN6GBj22SjVsr6dxezRVQc7aj9TxE7JLbMH1wh5X3kA58H3DFW8rnYMakFGbca5CB2Jf6CnGQZmL7o5uJAdTwXfy2iiiyPxXEGerMhHwhjTA1mKYobyk2CpeEcmvynADfNZ5MBvcCS7m3XkFCMNUYBS9NQ3fze6vMSUPsNa6GVYmKx2x6JrdEjCk3qRMMmyjnjCMfR4pXbRMZa3i");
91
- const ed25519Key2 = await importJwk({
92
- alg: "Ed25519",
93
- crv: "Ed25519",
94
- ext: true,
95
- key_ops: ["verify"],
96
- kty: "OKP",
97
- x: "Lm_M42cB3HkUiODQsXRcweM6TByfzEHGO9ND274JcOY"
98
- }, "public");
99
- const ed25519Mb2 = await exportMultibaseKey(ed25519Key2);
100
- assertEquals(ed25519Mb2, "z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK");
101
- });
102
-
103
- //#endregion
@@ -1,3 +0,0 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- import { URLPattern } from "urlpattern-polyfill";
3
- globalThis.addEventListener = () => {};
@@ -1,39 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
- globalThis.addEventListener = () => {};
5
-
6
- import { LanguageString } from "../type-I68qwqmo.js";
7
- import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
- import "../assert-MZs1qjMx.js";
9
- import "../assert_instance_of-DHz7EHNU.js";
10
- import "../lookup-DNQyH8UQ.js";
11
- import { test } from "../testing-BG_8Fyas.js";
12
- import "../std__assert-X-_kMxKM.js";
13
- import "../assert_rejects-DiIiJbZn.js";
14
- import "../assert_is_error-BPGph1Jx.js";
15
- import "../assert_not_equals-f3m3epl3.js";
16
- import "../assert_throws-BOO88avQ.js";
17
- import util from "node:util";
18
-
19
- //#region src/runtime/langstr.test.ts
20
- test("new LanguageString()", () => {
21
- const langStr = new LanguageString("Hello", "en");
22
- assertEquals(langStr.toString(), "Hello");
23
- assertEquals(langStr.locale, new Intl.Locale("en"));
24
- assertEquals(new LanguageString("Hello", new Intl.Locale("en")), langStr);
25
- });
26
- test({
27
- name: "Deno.inspect(LanguageString)",
28
- ignore: !("Deno" in globalThis),
29
- fn() {
30
- const langStr = new LanguageString("Hello, 'world'", "en");
31
- assertEquals(Deno.inspect(langStr, { colors: false }), "<en> \"Hello, 'world'\"");
32
- }
33
- });
34
- test("util.inspect(LanguageString)", () => {
35
- const langStr = new LanguageString("Hello, 'world'", "en");
36
- assertEquals(util.inspect(langStr, { colors: false }), "<en> \"Hello, 'world'\"");
37
- });
38
-
39
- //#endregion
@@ -1,8 +0,0 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- import { URLPattern } from "urlpattern-polyfill";
3
- import "../kv-C7sopW2E.js";
4
- import { AuthenticatedDocumentLoaderFactory, DocumentLoader, DocumentLoaderFactory, DocumentLoaderFactoryOptions, FetchError, GetDocumentLoaderOptions, GetUserAgentOptions, KvCacheParameters, RemoteDocument, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "../docloader-CxWcuWqQ.js";
5
- import { LanguageString } from "../vocab-SOE1ifCr.js";
6
- import "../http-DqSNLFNY.js";
7
- import { GetAuthenticatedDocumentLoaderOptions, exportMultibaseKey, exportSpki, getAuthenticatedDocumentLoader, importMultibaseKey, importPem, importPkcs1, importSpki } from "../mod-TFoH2Ql8.js";
8
- export { AuthenticatedDocumentLoaderFactory, DocumentLoader, DocumentLoaderFactory, DocumentLoaderFactoryOptions, FetchError, GetAuthenticatedDocumentLoaderOptions, GetDocumentLoaderOptions, GetUserAgentOptions, KvCacheParameters, LanguageString, RemoteDocument, exportMultibaseKey, exportSpki, fetchDocumentLoader, getAuthenticatedDocumentLoader, getDocumentLoader, getUserAgent, importMultibaseKey, importPem, importPkcs1, importSpki, kvCache };