@fedify/fedify 2.0.0-dev.1561 → 2.0.0-dev.158

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 (297) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +40 -18
  3. package/dist/{assert_rejects-DiIiJbZn.js → assert_rejects-Ce45JcFg.js} +1 -1
  4. package/dist/{assert_is_error-BPGph1Jx.js → assert_throws-BNXdRGWP.js} +31 -1
  5. package/dist/{builder-C8mpxJD3.js → builder-BnWso6VP.js} +15 -8
  6. package/dist/chunk-DqRYRqnO.cjs +34 -0
  7. package/dist/client-94iWEfQa.d.cts +222 -0
  8. package/dist/{client-DF8anIB5.d.ts → client-BivSNrEg.d.ts} +3 -75
  9. package/dist/{client-DI0GS_3p.js → client-CgMTXmAD.js} +3 -22
  10. package/dist/compat/mod.cjs +10 -0
  11. package/dist/compat/mod.d.cts +7 -0
  12. package/dist/compat/mod.d.ts +6 -12
  13. package/dist/compat/mod.js +5 -5
  14. package/dist/compat/transformers.test.js +21 -20
  15. package/dist/compat-DmDDELst.cjs +4 -0
  16. package/dist/compat-nxUqe4Z-.js +4 -0
  17. package/dist/context-Bns6uTJq.js +109 -0
  18. package/dist/{context-9gCpIkiz.d.ts → context-CYZ2i00R.d.ts} +321 -129
  19. package/dist/context-D2MrtLch.d.cts +2447 -0
  20. package/dist/deno-CQV858ip.js +117 -0
  21. package/dist/{testing-DsuOHyiF.js → dist-B5f6a8Tt.js} +90 -111
  22. package/dist/{authdocloader-CN-tWO4K.js → docloader-Csc8gQux.js} +17 -8
  23. package/dist/{esm-CtgLSZwm.js → esm-DGl7uK1r.js} +32 -17
  24. package/dist/federation/builder.test.js +12 -13
  25. package/dist/federation/collection.test.js +6 -9
  26. package/dist/federation/handler.test.js +115 -148
  27. package/dist/federation/idempotency.test.js +202 -0
  28. package/dist/federation/inbox.test.js +5 -6
  29. package/dist/federation/keycache.test.js +4 -5
  30. package/dist/federation/kv.test.js +61 -9
  31. package/dist/federation/middleware.test.js +311 -131
  32. package/dist/federation/mod.cjs +25 -0
  33. package/dist/federation/mod.d.cts +7 -0
  34. package/dist/federation/mod.d.ts +7 -13
  35. package/dist/federation/mod.js +11 -16
  36. package/dist/federation/mq.test.js +9 -10
  37. package/dist/federation/negotiation.test.js +25 -0
  38. package/dist/federation/retry.test.js +2 -4
  39. package/dist/federation/router.test.js +6 -8
  40. package/dist/federation/send.test.js +55 -15
  41. package/dist/{webfinger/handler.test.js → federation/webfinger.test.js} +27 -26
  42. package/dist/federation-B431K2gm.cjs +266 -0
  43. package/dist/{federation-CMX7WzeL.js → federation-BbZwNNWj.js} +31 -9
  44. package/dist/{http-B_tXwHIe.js → http-BizGfAHd.js} +375 -15
  45. package/dist/{http-DTJgsmYR.js → http-CXG5ZFqn.js} +4 -3
  46. package/dist/http-ClB3pLcL.d.cts +253 -0
  47. package/dist/{http-DqSNLFNY.d.ts → http-DLBDPal9.d.ts} +2 -2
  48. package/dist/http-DbACqYyq.cjs +1222 -0
  49. package/dist/{inbox-Dx8EjUbq.js → inbox-B7ybw6fk.js} +25 -7
  50. package/dist/{key-olV6hEgm.js → key-C27c_yHR.js} +3 -2
  51. package/dist/{keycache-CExtp4Yl.js → keycache-DRxpZ5r9.js} +1 -1
  52. package/dist/{keys-O0-r0NpJ.js → keys-ZbcByPg9.js} +2 -1
  53. package/dist/{kv-C7sopW2E.d.ts → kv-CtOmTRNc.d.ts} +30 -1
  54. package/dist/kv-D8q9fLkA.d.cts +110 -0
  55. package/dist/{kv-CRZrzyXm.js → kv-QzKcOQgP.js} +22 -0
  56. package/dist/kv-cache-B7dwGQFA.js +122 -0
  57. package/dist/kv-cache-BEeqyGER.js +107 -0
  58. package/dist/kv-cache-rPOPQdj9.cjs +134 -0
  59. package/dist/{ld-DR6b11xZ.js → ld-D_Jn1aGa.js} +6 -4
  60. package/dist/middleware-BVqYHBWm.cjs +12 -0
  61. package/dist/{middleware-GT7W03qw.js → middleware-BjS6_zkf.js} +272 -271
  62. package/dist/middleware-CAJR7KGo.cjs +4242 -0
  63. package/dist/{middleware-CUw3Ys9y.js → middleware-ClkhKNXU.js} +230 -327
  64. package/dist/middleware-DSz6sI16.js +26 -0
  65. package/dist/middleware-OcaFHSk8.js +12 -0
  66. package/dist/mod-BrS8tiad.d.cts +266 -0
  67. package/dist/mod-C81L6_lQ.d.cts +1 -0
  68. package/dist/mod-CJgbdSqb.d.ts +109 -0
  69. package/dist/mod-CNNTHyBC.d.cts +80 -0
  70. package/dist/mod-CS-MS7gZ.d.cts +62 -0
  71. package/dist/{mod-Bqxcp7eN.d.ts → mod-D_cmv2il.d.ts} +4 -4
  72. package/dist/mod-DcPRcifg.d.cts +107 -0
  73. package/dist/mod-DqFSzJA0.d.ts +64 -0
  74. package/dist/{mod-Drmz72EK.d.ts → mod-jOa7W503.d.ts} +3 -3
  75. package/dist/mod.cjs +55 -0
  76. package/dist/mod.d.cts +11 -0
  77. package/dist/mod.d.ts +11 -17
  78. package/dist/mod.js +15 -21
  79. package/dist/negotiation-5NPJL6zp.js +71 -0
  80. package/dist/nodeinfo/client.test.js +29 -111
  81. package/dist/nodeinfo/handler.test.js +26 -26
  82. package/dist/nodeinfo/mod.cjs +10 -0
  83. package/dist/nodeinfo/mod.d.cts +3 -0
  84. package/dist/nodeinfo/mod.d.ts +3 -5
  85. package/dist/nodeinfo/mod.js +6 -7
  86. package/dist/nodeinfo/types.test.js +7 -15
  87. package/dist/nodeinfo-BlLsRSiT.js +4 -0
  88. package/dist/nodeinfo-DuMYTpbZ.cjs +4 -0
  89. package/dist/otel/exporter.test.js +899 -0
  90. package/dist/otel/mod.cjs +262 -0
  91. package/dist/otel/mod.d.cts +230 -0
  92. package/dist/otel/mod.d.ts +232 -0
  93. package/dist/otel/mod.js +261 -0
  94. package/dist/{owner-CQPnQVtf.d.ts → owner-BgI8C-VY.d.ts} +2 -3
  95. package/dist/owner-C-zfmVAD.d.cts +66 -0
  96. package/dist/{owner-BtFz-dZ-.js → owner-Dc8rUE-H.js} +45 -8
  97. package/dist/{proof-DsZjVJ0G.js → proof-BdNM3iSl.js} +4 -3
  98. package/dist/proof-Bx2JqJ-D.cjs +709 -0
  99. package/dist/{proof-DKDM7T5F.js → proof-CTYnbjx5.js} +53 -17
  100. package/dist/router-D9eI0s4b.js +118 -0
  101. package/dist/{send-s0_EjVhZ.js → send-DBRRqVMa.js} +9 -4
  102. package/dist/sig/http.test.js +12 -14
  103. package/dist/sig/key.test.js +9 -11
  104. package/dist/sig/ld.test.js +8 -10
  105. package/dist/sig/mod.cjs +26 -0
  106. package/dist/sig/mod.d.cts +4 -0
  107. package/dist/sig/mod.d.ts +3 -7
  108. package/dist/sig/mod.js +6 -10
  109. package/dist/sig/owner.test.js +33 -12
  110. package/dist/sig/proof.test.js +13 -14
  111. package/dist/sig-CwuONEzF.js +4 -0
  112. package/dist/sig-DeXX2xnj.cjs +4 -0
  113. package/dist/testing/mod.d.ts +180 -6946
  114. package/dist/testing/mod.js +4 -4
  115. package/dist/transformers-BjBg6Lag.cjs +116 -0
  116. package/dist/{transformers-Dna8Fg7k.js → transformers-N_ip_y4P.js} +5 -5
  117. package/dist/{types-BIgY6c-l.js → types-BEdCLHqP.js} +1 -3
  118. package/dist/types-Q-qkJXBV.cjs +315 -0
  119. package/dist/{types-CGB4mJU6.js → types-hKTi53FO.js} +8 -169
  120. package/dist/{runtime/authdocloader.test.js → utils/docloader.test.js} +13 -15
  121. package/dist/utils/kv-cache.test.js +211 -0
  122. package/dist/utils/mod.cjs +10 -0
  123. package/dist/utils/mod.d.cts +4 -0
  124. package/dist/utils/mod.d.ts +6 -0
  125. package/dist/utils/mod.js +9 -0
  126. package/dist/utils-Db0ZmjcD.cjs +4 -0
  127. package/dist/utils-Wranxuoe.js +4 -0
  128. package/package.json +69 -55
  129. package/dist/actor-C22bXuuC.d.ts +0 -130
  130. package/dist/actor-Qc3Ee6k1.js +0 -37311
  131. package/dist/actor-mhluotIb.js +0 -146
  132. package/dist/assert_throws-BOO88avQ.js +0 -39
  133. package/dist/authdocloader-Dp9WS-1G.js +0 -52
  134. package/dist/compat-Bb5myD13.js +0 -4
  135. package/dist/denokv-Bv33Xxea.js +0 -57
  136. package/dist/docloader-CxWcuWqQ.d.ts +0 -221
  137. package/dist/docloader-DIjo5mkd.js +0 -4615
  138. package/dist/fixtures/activitypub.academy/users/brauca_darradiul.json +0 -83
  139. package/dist/fixtures/example.com/announce.json +0 -6
  140. package/dist/fixtures/example.com/collection.json +0 -19
  141. package/dist/fixtures/example.com/create.json +0 -6
  142. package/dist/fixtures/example.com/cross-origin-actor.json +0 -6
  143. package/dist/fixtures/example.com/hong-gildong.json +0 -11
  144. package/dist/fixtures/example.com/invite.json +0 -7
  145. package/dist/fixtures/example.com/key.json +0 -7
  146. package/dist/fixtures/example.com/key2.json +0 -6
  147. package/dist/fixtures/example.com/object.json +0 -6
  148. package/dist/fixtures/example.com/orderedcollectionpage.json +0 -24
  149. package/dist/fixtures/example.com/paged/a.json +0 -13
  150. package/dist/fixtures/example.com/paged/b.json +0 -16
  151. package/dist/fixtures/example.com/paged-collection.json +0 -6
  152. package/dist/fixtures/example.com/person.json +0 -22
  153. package/dist/fixtures/example.com/person2.json +0 -40
  154. package/dist/fixtures/example.com/test.json +0 -5
  155. package/dist/fixtures/example.com/users/handle.json +0 -16
  156. package/dist/fixtures/example.com/wrong-type.json +0 -3
  157. package/dist/fixtures/oeee.cafe/ap/users/3609fd4e-d51d-4db8-9f04-4189815864dd.json +0 -24
  158. package/dist/fixtures/remote.domain/users/bob.json +0 -20
  159. package/dist/fixtures/server.example/users/alice.json +0 -20
  160. package/dist/fixtures/w3id.org/identity/v1.json +0 -152
  161. package/dist/fixtures/w3id.org/security/data-integrity/v1.json +0 -74
  162. package/dist/fixtures/w3id.org/security/multikey/v1.json +0 -35
  163. package/dist/fixtures/w3id.org/security/v1.json +0 -50
  164. package/dist/fixtures/wizard.casa/users/hongminhee.json +0 -69
  165. package/dist/fixtures/www.w3.org/ns/activitystreams.json +0 -379
  166. package/dist/fixtures/www.w3.org/ns/did/v1.json +0 -58
  167. package/dist/key-CGjkGPkw.js +0 -260
  168. package/dist/key-CaFAQSic.js +0 -10
  169. package/dist/key-DcnCet42.js +0 -10
  170. package/dist/lookup-B8Ld9P9G.js +0 -131
  171. package/dist/lookup-IyAhz9I6.js +0 -322
  172. package/dist/middleware-Bx6Sgkth.js +0 -26
  173. package/dist/middleware-DdRB1d4s.js +0 -17
  174. package/dist/mod-Cxt4Kpf6.d.ts +0 -291
  175. package/dist/mod-DBzN0aCM.d.ts +0 -115
  176. package/dist/mod-TFoH2Ql8.d.ts +0 -104
  177. package/dist/mod-g0xFzAP9.d.ts +0 -2
  178. package/dist/mq-CRGm1e_F.d.ts +0 -143
  179. package/dist/nodeinfo/semver.test.js +0 -143
  180. package/dist/nodeinfo-CyEbLjHs.js +0 -4
  181. package/dist/runtime/docloader.test.js +0 -522
  182. package/dist/runtime/key.test.js +0 -103
  183. package/dist/runtime/langstr.test.js +0 -39
  184. package/dist/runtime/mod.d.ts +0 -8
  185. package/dist/runtime/mod.js +0 -13
  186. package/dist/runtime/multibase/multibase.test.d.ts +0 -3
  187. package/dist/runtime/multibase/multibase.test.js +0 -358
  188. package/dist/runtime/url.test.d.ts +0 -3
  189. package/dist/runtime/url.test.js +0 -45
  190. package/dist/runtime-BSkOVUWM.js +0 -4
  191. package/dist/semver-dArNLkR9.js +0 -149
  192. package/dist/sig-BXJO--F9.js +0 -4
  193. package/dist/src/vocab/accept.yaml +0 -15
  194. package/dist/src/vocab/activity.yaml +0 -98
  195. package/dist/src/vocab/add.yaml +0 -16
  196. package/dist/src/vocab/announce.yaml +0 -30
  197. package/dist/src/vocab/application.yaml +0 -324
  198. package/dist/src/vocab/arrive.yaml +0 -15
  199. package/dist/src/vocab/article.yaml +0 -46
  200. package/dist/src/vocab/audio.yaml +0 -11
  201. package/dist/src/vocab/block.yaml +0 -16
  202. package/dist/src/vocab/chatmessage.yaml +0 -50
  203. package/dist/src/vocab/collection.yaml +0 -154
  204. package/dist/src/vocab/collectionpage.yaml +0 -55
  205. package/dist/src/vocab/create.yaml +0 -28
  206. package/dist/src/vocab/dataintegrityproof.yaml +0 -56
  207. package/dist/src/vocab/delete.yaml +0 -27
  208. package/dist/src/vocab/didservice.yaml +0 -22
  209. package/dist/src/vocab/dislike.yaml +0 -14
  210. package/dist/src/vocab/document.yaml +0 -31
  211. package/dist/src/vocab/emoji.yaml +0 -12
  212. package/dist/src/vocab/emojireact.yaml +0 -17
  213. package/dist/src/vocab/endpoints.yaml +0 -85
  214. package/dist/src/vocab/event.yaml +0 -11
  215. package/dist/src/vocab/export.yaml +0 -9
  216. package/dist/src/vocab/flag.yaml +0 -15
  217. package/dist/src/vocab/follow.yaml +0 -19
  218. package/dist/src/vocab/group.yaml +0 -324
  219. package/dist/src/vocab/hashtag.yaml +0 -14
  220. package/dist/src/vocab/ignore.yaml +0 -14
  221. package/dist/src/vocab/image.yaml +0 -9
  222. package/dist/src/vocab/intransitiveactivity.yaml +0 -15
  223. package/dist/src/vocab/invite.yaml +0 -14
  224. package/dist/src/vocab/join.yaml +0 -14
  225. package/dist/src/vocab/key.yaml +0 -28
  226. package/dist/src/vocab/leave.yaml +0 -14
  227. package/dist/src/vocab/like.yaml +0 -16
  228. package/dist/src/vocab/link.yaml +0 -101
  229. package/dist/src/vocab/listen.yaml +0 -12
  230. package/dist/src/vocab/mention.yaml +0 -9
  231. package/dist/src/vocab/move.yaml +0 -15
  232. package/dist/src/vocab/multikey.yaml +0 -36
  233. package/dist/src/vocab/note.yaml +0 -48
  234. package/dist/src/vocab/object.yaml +0 -404
  235. package/dist/src/vocab/offer.yaml +0 -15
  236. package/dist/src/vocab/orderedcollection.yaml +0 -39
  237. package/dist/src/vocab/orderedcollectionpage.yaml +0 -50
  238. package/dist/src/vocab/organization.yaml +0 -324
  239. package/dist/src/vocab/page.yaml +0 -11
  240. package/dist/src/vocab/person.yaml +0 -324
  241. package/dist/src/vocab/place.yaml +0 -75
  242. package/dist/src/vocab/profile.yaml +0 -26
  243. package/dist/src/vocab/propertyvalue.yaml +0 -32
  244. package/dist/src/vocab/question.yaml +0 -103
  245. package/dist/src/vocab/read.yaml +0 -13
  246. package/dist/src/vocab/reject.yaml +0 -14
  247. package/dist/src/vocab/relationship.yaml +0 -52
  248. package/dist/src/vocab/remove.yaml +0 -14
  249. package/dist/src/vocab/service.yaml +0 -324
  250. package/dist/src/vocab/source.yaml +0 -26
  251. package/dist/src/vocab/tentativeaccept.yaml +0 -14
  252. package/dist/src/vocab/tentativereject.yaml +0 -14
  253. package/dist/src/vocab/tombstone.yaml +0 -24
  254. package/dist/src/vocab/travel.yaml +0 -16
  255. package/dist/src/vocab/undo.yaml +0 -26
  256. package/dist/src/vocab/update.yaml +0 -58
  257. package/dist/src/vocab/video.yaml +0 -11
  258. package/dist/src/vocab/view.yaml +0 -13
  259. package/dist/testing/docloader.test.js +0 -24
  260. package/dist/type-BMGxK0zE.js +0 -42006
  261. package/dist/vocab/actor.test.d.ts +0 -3
  262. package/dist/vocab/actor.test.js +0 -5965
  263. package/dist/vocab/lookup.test.d.ts +0 -3
  264. package/dist/vocab/lookup.test.js +0 -206
  265. package/dist/vocab/mod.d.ts +0 -8
  266. package/dist/vocab/mod.js +0 -10
  267. package/dist/vocab/schema.yaml +0 -247
  268. package/dist/vocab/type.test.d.ts +0 -3
  269. package/dist/vocab/type.test.js +0 -25
  270. package/dist/vocab/vocab.test.d.ts +0 -3
  271. package/dist/vocab/vocab.test.js +0 -3363
  272. package/dist/vocab-CXuKLJjd.js +0 -246
  273. package/dist/vocab-SOE1ifCr.d.ts +0 -14634
  274. package/dist/webfinger/handler.test.d.ts +0 -3
  275. package/dist/webfinger/lookup.test.d.ts +0 -3
  276. package/dist/webfinger/lookup.test.js +0 -195
  277. package/dist/webfinger/mod.d.ts +0 -6
  278. package/dist/webfinger/mod.js +0 -9
  279. package/dist/webfinger-C3GIyXIg.js +0 -4
  280. package/dist/x/cfworkers.d.ts +0 -61
  281. package/dist/x/cfworkers.js +0 -98
  282. package/dist/x/cfworkers.test.d.ts +0 -3
  283. package/dist/x/cfworkers.test.js +0 -179
  284. package/dist/x/hono.d.ts +0 -56
  285. package/dist/x/hono.js +0 -60
  286. package/dist/x/sveltekit.d.ts +0 -48
  287. package/dist/x/sveltekit.js +0 -68
  288. /package/dist/{assert_not_equals-f3m3epl3.js → assert_not_equals-C80BG-_5.js} +0 -0
  289. /package/dist/{collection-CSzG2j1P.js → collection-CcnIw1qY.js} +0 -0
  290. /package/dist/{nodeinfo/semver.test.d.ts → federation/idempotency.test.d.ts} +0 -0
  291. /package/dist/{runtime/authdocloader.test.d.ts → federation/negotiation.test.d.ts} +0 -0
  292. /package/dist/{runtime/docloader.test.d.ts → federation/webfinger.test.d.ts} +0 -0
  293. /package/dist/{mod-1pDWKvUL.d.ts → mod-1E3W847c.d.ts} +0 -0
  294. /package/dist/{runtime/key.test.d.ts → otel/exporter.test.d.ts} +0 -0
  295. /package/dist/{std__assert-X-_kMxKM.js → std__assert-DWivtrGR.js} +0 -0
  296. /package/dist/{testing → utils}/docloader.test.d.ts +0 -0
  297. /package/dist/{runtime/langstr.test.d.ts → utils/kv-cache.test.d.ts} +0 -0
@@ -1,13 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
-
5
- import { FetchError, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "../docloader-DIjo5mkd.js";
6
- import { LanguageString, exportMultibaseKey, exportSpki, importMultibaseKey, importPem, importPkcs1, importSpki } from "../actor-Qc3Ee6k1.js";
7
- import "../lookup-B8Ld9P9G.js";
8
- import "../key-CGjkGPkw.js";
9
- import "../http-B_tXwHIe.js";
10
- import { getAuthenticatedDocumentLoader } from "../authdocloader-Dp9WS-1G.js";
11
- import "../runtime-BSkOVUWM.js";
12
-
13
- export { FetchError, LanguageString, exportMultibaseKey, exportSpki, fetchDocumentLoader, getAuthenticatedDocumentLoader, getDocumentLoader, getUserAgent, importMultibaseKey, importPem, importPkcs1, importSpki, kvCache };
@@ -1,3 +0,0 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- import { URLPattern } from "urlpattern-polyfill";
3
- globalThis.addEventListener = () => {};
@@ -1,358 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
- globalThis.addEventListener = () => {};
5
-
6
- import { codes, decode, decodeText, encode, encodeText, names } from "../../type-BMGxK0zE.js";
7
- import { assertEquals } from "../../assert_equals-DSbWqCm3.js";
8
- import "../../assert-MZs1qjMx.js";
9
- import "../../assert_instance_of-DHz7EHNU.js";
10
- import "../../lookup-IyAhz9I6.js";
11
- import { test } from "../../testing-DsuOHyiF.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
-
18
- //#region src/runtime/multibase/multibase.test.ts
19
- test("multibase.encode and decode", async (t) => {
20
- const testCases = [
21
- [
22
- "base16",
23
- decodeText(Uint8Array.from([1])),
24
- "f01"
25
- ],
26
- [
27
- "base16",
28
- decodeText(Uint8Array.from([15])),
29
- "f0f"
30
- ],
31
- [
32
- "base16",
33
- "f",
34
- "f66"
35
- ],
36
- [
37
- "base16",
38
- "fo",
39
- "f666f"
40
- ],
41
- [
42
- "base16",
43
- "foo",
44
- "f666f6f"
45
- ],
46
- [
47
- "base16",
48
- "foob",
49
- "f666f6f62"
50
- ],
51
- [
52
- "base16",
53
- "fooba",
54
- "f666f6f6261"
55
- ],
56
- [
57
- "base16",
58
- "foobar",
59
- "f666f6f626172"
60
- ],
61
- [
62
- "base32",
63
- "yes mani !",
64
- "bpfsxgidnmfxgsibb"
65
- ],
66
- [
67
- "base32",
68
- "f",
69
- "bmy"
70
- ],
71
- [
72
- "base32",
73
- "fo",
74
- "bmzxq"
75
- ],
76
- [
77
- "base32",
78
- "foo",
79
- "bmzxw6"
80
- ],
81
- [
82
- "base32",
83
- "foob",
84
- "bmzxw6yq"
85
- ],
86
- [
87
- "base32",
88
- "fooba",
89
- "bmzxw6ytb"
90
- ],
91
- [
92
- "base32",
93
- "foobar",
94
- "bmzxw6ytboi"
95
- ],
96
- [
97
- "base32pad",
98
- "yes mani !",
99
- "cpfsxgidnmfxgsibb"
100
- ],
101
- [
102
- "base32pad",
103
- "f",
104
- "cmy======"
105
- ],
106
- [
107
- "base32pad",
108
- "fo",
109
- "cmzxq===="
110
- ],
111
- [
112
- "base32pad",
113
- "foo",
114
- "cmzxw6==="
115
- ],
116
- [
117
- "base32pad",
118
- "foob",
119
- "cmzxw6yq="
120
- ],
121
- [
122
- "base32pad",
123
- "fooba",
124
- "cmzxw6ytb"
125
- ],
126
- [
127
- "base32pad",
128
- "foobar",
129
- "cmzxw6ytboi======"
130
- ],
131
- [
132
- "base32hex",
133
- "yes mani !",
134
- "vf5in683dc5n6i811"
135
- ],
136
- [
137
- "base32hex",
138
- "f",
139
- "vco"
140
- ],
141
- [
142
- "base32hex",
143
- "fo",
144
- "vcpng"
145
- ],
146
- [
147
- "base32hex",
148
- "foo",
149
- "vcpnmu"
150
- ],
151
- [
152
- "base32hex",
153
- "foob",
154
- "vcpnmuog"
155
- ],
156
- [
157
- "base32hex",
158
- "fooba",
159
- "vcpnmuoj1"
160
- ],
161
- [
162
- "base32hex",
163
- "foobar",
164
- "vcpnmuoj1e8"
165
- ],
166
- [
167
- "base32hexpad",
168
- "yes mani !",
169
- "tf5in683dc5n6i811"
170
- ],
171
- [
172
- "base32hexpad",
173
- "f",
174
- "tco======"
175
- ],
176
- [
177
- "base32hexpad",
178
- "fo",
179
- "tcpng===="
180
- ],
181
- [
182
- "base32hexpad",
183
- "foo",
184
- "tcpnmu==="
185
- ],
186
- [
187
- "base32hexpad",
188
- "foob",
189
- "tcpnmuog="
190
- ],
191
- [
192
- "base32hexpad",
193
- "fooba",
194
- "tcpnmuoj1"
195
- ],
196
- [
197
- "base32hexpad",
198
- "foobar",
199
- "tcpnmuoj1e8======"
200
- ],
201
- [
202
- "base32z",
203
- "yes mani !",
204
- "hxf1zgedpcfzg1ebb"
205
- ],
206
- [
207
- "base58flickr",
208
- "yes mani !",
209
- "Z7Pznk19XTTzBtx"
210
- ],
211
- [
212
- "base58btc",
213
- "yes mani !",
214
- "z7paNL19xttacUY"
215
- ],
216
- [
217
- "base64",
218
- "÷ïÿ",
219
- "mw7fDr8O/"
220
- ],
221
- [
222
- "base64",
223
- "f",
224
- "mZg"
225
- ],
226
- [
227
- "base64",
228
- "fo",
229
- "mZm8"
230
- ],
231
- [
232
- "base64",
233
- "foo",
234
- "mZm9v"
235
- ],
236
- [
237
- "base64",
238
- "foob",
239
- "mZm9vYg"
240
- ],
241
- [
242
- "base64",
243
- "fooba",
244
- "mZm9vYmE"
245
- ],
246
- [
247
- "base64",
248
- "foobar",
249
- "mZm9vYmFy"
250
- ],
251
- [
252
- "base64",
253
- "÷ïÿ🥰÷ïÿ😎🥶🤯",
254
- "mw7fDr8O/8J+lsMO3w6/Dv/CfmI7wn6W28J+krw"
255
- ],
256
- [
257
- "base64pad",
258
- "f",
259
- "MZg=="
260
- ],
261
- [
262
- "base64pad",
263
- "fo",
264
- "MZm8="
265
- ],
266
- [
267
- "base64pad",
268
- "foo",
269
- "MZm9v"
270
- ],
271
- [
272
- "base64pad",
273
- "foob",
274
- "MZm9vYg=="
275
- ],
276
- [
277
- "base64pad",
278
- "fooba",
279
- "MZm9vYmE="
280
- ],
281
- [
282
- "base64pad",
283
- "foobar",
284
- "MZm9vYmFy"
285
- ],
286
- [
287
- "base64url",
288
- "÷ïÿ",
289
- "uw7fDr8O_"
290
- ],
291
- [
292
- "base64url",
293
- "÷ïÿ🥰÷ïÿ😎🥶🤯",
294
- "uw7fDr8O_8J-lsMO3w6_Dv_CfmI7wn6W28J-krw"
295
- ],
296
- [
297
- "base64urlpad",
298
- "f",
299
- "UZg=="
300
- ],
301
- [
302
- "base64urlpad",
303
- "fo",
304
- "UZm8="
305
- ],
306
- [
307
- "base64urlpad",
308
- "foo",
309
- "UZm9v"
310
- ],
311
- [
312
- "base64urlpad",
313
- "foob",
314
- "UZm9vYg=="
315
- ],
316
- [
317
- "base64urlpad",
318
- "fooba",
319
- "UZm9vYmE="
320
- ],
321
- [
322
- "base64urlpad",
323
- "foobar",
324
- "UZm9vYmFy"
325
- ],
326
- [
327
- "base64urlpad",
328
- "÷ïÿ🥰÷ïÿ😎🥶🤯",
329
- "Uw7fDr8O_8J-lsMO3w6_Dv_CfmI7wn6W28J-krw=="
330
- ]
331
- ];
332
- for (const [name, input, expectedOutput] of testCases) await t.step(`Encoding/Decoding ${name} with ${input}`, () => {
333
- const encoded = encode(name, encodeText(input));
334
- assertEquals(decodeText(encoded), expectedOutput, `Encoding ${name} failed`);
335
- const decoded = decode(expectedOutput);
336
- assertEquals(decoded, encodeText(input), `Decoding ${name} failed`);
337
- const decodedFromBuffer = decode(encodeText(expectedOutput));
338
- assertEquals(decodedFromBuffer, encodeText(input), `Decoding buffer of ${name} failed`);
339
- });
340
- await t.step("should allow base32pad full alphabet", () => {
341
- const encodedStr = "ctimaq4ygg2iegci7";
342
- const decoded = decode(encodedStr);
343
- const encoded = encode("c", decoded);
344
- assertEquals(decode(encoded), decoded);
345
- });
346
- });
347
- test("constants", async (t) => {
348
- await t.step("constants indexed by name", () => {
349
- const names$1 = names;
350
- assertEquals(Object.keys(names$1).length, 23);
351
- });
352
- await t.step("constants indexed by code", () => {
353
- const codes$1 = codes;
354
- assertEquals(Object.keys(codes$1).length, 23);
355
- });
356
- });
357
-
358
- //#endregion
@@ -1,3 +0,0 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- import { URLPattern } from "urlpattern-polyfill";
3
- globalThis.addEventListener = () => {};
@@ -1,45 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
- globalThis.addEventListener = () => {};
5
-
6
- import { UrlError, expandIPv6Address, isValidPublicIPv4Address, isValidPublicIPv6Address, validatePublicUrl } from "../type-BMGxK0zE.js";
7
- import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
- import { assert } from "../assert-MZs1qjMx.js";
9
- import "../lookup-IyAhz9I6.js";
10
- import { test } from "../testing-DsuOHyiF.js";
11
- import { assertFalse, assertRejects } from "../assert_rejects-DiIiJbZn.js";
12
- import "../assert_is_error-BPGph1Jx.js";
13
-
14
- //#region src/runtime/url.test.ts
15
- test("validatePublicUrl()", async () => {
16
- await assertRejects(() => validatePublicUrl("ftp://localhost"), UrlError);
17
- await assertRejects(() => validatePublicUrl("data:text/plain;base64,SGVsbG8sIFdvcmxkIQ=="), UrlError);
18
- await assertRejects(() => validatePublicUrl("https://localhost"), UrlError);
19
- await assertRejects(() => validatePublicUrl("https://127.0.0.1"), UrlError);
20
- await assertRejects(() => validatePublicUrl("https://[::1]"), UrlError);
21
- });
22
- test("isValidPublicIPv4Address()", () => {
23
- assert(isValidPublicIPv4Address("8.8.8.8"));
24
- assertFalse(isValidPublicIPv4Address("192.168.1.1"));
25
- assertFalse(isValidPublicIPv4Address("127.0.0.1"));
26
- assertFalse(isValidPublicIPv4Address("10.0.0.1"));
27
- assertFalse(isValidPublicIPv4Address("127.16.0.1"));
28
- assertFalse(isValidPublicIPv4Address("169.254.0.1"));
29
- });
30
- test("isValidPublicIPv6Address()", () => {
31
- assert(isValidPublicIPv6Address("2001:db8::1"));
32
- assertFalse(isValidPublicIPv6Address("::1"));
33
- assertFalse(isValidPublicIPv6Address("fc00::1"));
34
- assertFalse(isValidPublicIPv6Address("fe80::1"));
35
- assertFalse(isValidPublicIPv6Address("ff00::1"));
36
- assertFalse(isValidPublicIPv6Address("::"));
37
- });
38
- test("expandIPv6Address()", () => {
39
- assertEquals(expandIPv6Address("::"), "0000:0000:0000:0000:0000:0000:0000:0000");
40
- assertEquals(expandIPv6Address("::1"), "0000:0000:0000:0000:0000:0000:0000:0001");
41
- assertEquals(expandIPv6Address("2001:db8::"), "2001:0db8:0000:0000:0000:0000:0000:0000");
42
- assertEquals(expandIPv6Address("2001:db8::1"), "2001:0db8:0000:0000:0000:0000:0000:0001");
43
- });
44
-
45
- //#endregion
@@ -1,4 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
-
@@ -1,149 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
- globalThis.addEventListener = () => {};
5
-
6
- //#region src/nodeinfo/semver.ts
7
- const MAX_LENGTH = 256;
8
- /**
9
- * A single `0`, or a non-zero digit followed by zero or more digits.
10
- */
11
- const NUMERIC_IDENTIFIER = "0|[1-9]\\d*";
12
- /**
13
- * Zero or more digits, followed by a letter or hyphen, and then zero or more letters, digits, or hyphens.
14
- */
15
- const NON_NUMERIC_IDENTIFIER = "\\d*[a-zA-Z-][a-zA-Z0-9-]*";
16
- /**
17
- * Three dot-separated numeric identifiers.
18
- */
19
- const VERSION_CORE = `(?<major>${NUMERIC_IDENTIFIER})\\.(?<minor>${NUMERIC_IDENTIFIER})\\.(?<patch>${NUMERIC_IDENTIFIER})`;
20
- /**
21
- * A numeric identifier, or a non-numeric identifier.
22
- */
23
- const PRERELEASE_IDENTIFIER = `(?:${NUMERIC_IDENTIFIER}|${NON_NUMERIC_IDENTIFIER})`;
24
- /**
25
- * A hyphen, followed by one or more dot-separated pre-release version identifiers.
26
- * @example "-pre.release"
27
- */
28
- const PRERELEASE = `(?:-(?<prerelease>${PRERELEASE_IDENTIFIER}(?:\\.${PRERELEASE_IDENTIFIER})*))`;
29
- /**
30
- * Any combination of digits, letters, or hyphens.
31
- */
32
- const BUILD_IDENTIFIER = "[0-9A-Za-z-]+";
33
- /**
34
- * A plus sign, followed by one or more period-separated build metadata identifiers.
35
- * @example "+build.meta"
36
- */
37
- const BUILD = `(?:\\+(?<buildmetadata>${BUILD_IDENTIFIER}(?:\\.${BUILD_IDENTIFIER})*))`;
38
- /**
39
- * A version, followed optionally by a pre-release version and build metadata.
40
- */
41
- const FULL_VERSION = `v?${VERSION_CORE}${PRERELEASE}?${BUILD}?`;
42
- const FULL_REGEXP = /* @__PURE__ */ new RegExp(`^${FULL_VERSION}$`);
43
- /**
44
- * Attempt to parse a string as a semantic version, returning a SemVer object.
45
- *
46
- * @example Usage
47
- * ```ts
48
- * import { parseSemVer } from "@fedify/fedify/nodeinfo";
49
- * import { assertEquals } from "@std/assert";
50
- *
51
- * const version = parseSemVer("1.2.3");
52
- * assertEquals(version, {
53
- * major: 1,
54
- * minor: 2,
55
- * patch: 3,
56
- * prerelease: [],
57
- * build: [],
58
- * });
59
- * ```
60
- *
61
- * @throws {TypeError} If the input string is invalid.
62
- * @param value The version string to parse
63
- * @returns A valid SemVer
64
- * @since 1.2.0
65
- */
66
- function parseSemVer(value) {
67
- if (typeof value !== "string") throw new TypeError(`Cannot parse version as version must be a string: received ${typeof value}`);
68
- if (value.length > MAX_LENGTH) throw new TypeError(`Cannot parse version as version length is too long: length is ${value.length}, max length is ${MAX_LENGTH}`);
69
- value = value.trim();
70
- const groups = value.match(FULL_REGEXP)?.groups;
71
- if (!groups) throw new TypeError(`Cannot parse version: ${value}`);
72
- const major = parseNumber(groups.major, `Cannot parse version ${value}: invalid major version`);
73
- const minor = parseNumber(groups.minor, `Cannot parse version ${value}: invalid minor version`);
74
- const patch = parseNumber(groups.patch, `Cannot parse version ${value}: invalid patch version`);
75
- const prerelease = groups.prerelease ? parsePrerelease(groups.prerelease) : [];
76
- const build = groups.buildmetadata ? parseBuild(groups.buildmetadata) : [];
77
- return {
78
- major,
79
- minor,
80
- patch,
81
- prerelease,
82
- build
83
- };
84
- }
85
- /**
86
- * Returns true if the value is a valid SemVer number.
87
- *
88
- * Must be a number. Must not be NaN. Can be positive or negative infinity.
89
- * Can be between 0 and MAX_SAFE_INTEGER.
90
- * @param value The value to check
91
- * @returns True if its a valid semver number
92
- */
93
- function isValidNumber(value) {
94
- return typeof value === "number" && !Number.isNaN(value) && (!Number.isFinite(value) || 0 <= value && value <= Number.MAX_SAFE_INTEGER);
95
- }
96
- const NUMERIC_IDENTIFIER_REGEXP = /* @__PURE__ */ new RegExp(`^${NUMERIC_IDENTIFIER}$`);
97
- function parsePrerelease(prerelease) {
98
- return prerelease.split(".").filter(Boolean).map((id) => {
99
- if (NUMERIC_IDENTIFIER_REGEXP.test(id)) {
100
- const number = Number(id);
101
- if (isValidNumber(number)) return number;
102
- }
103
- return id;
104
- });
105
- }
106
- function parseBuild(buildmetadata) {
107
- return buildmetadata.split(".").filter(Boolean);
108
- }
109
- function parseNumber(input, errorMessage) {
110
- const number = Number(input);
111
- if (!isValidNumber(number)) throw new TypeError(errorMessage);
112
- return number;
113
- }
114
- function formatNumber(value) {
115
- return value.toFixed(0);
116
- }
117
- /**
118
- * Format a SemVer object into a string.
119
- *
120
- * @example Usage
121
- * ```ts
122
- * import { formatSemVer } from "@fedify/fedify/nodeinfo";
123
- * import { assertEquals } from "@std/assert";
124
- *
125
- * const semver = {
126
- * major: 1,
127
- * minor: 2,
128
- * patch: 3,
129
- * };
130
- * assertEquals(formatSemVer(semver), "1.2.3");
131
- * ```
132
- *
133
- * @param version The SemVer to format
134
- * @returns The string representation of a semantic version.
135
- * @since 1.2.0
136
- */
137
- function formatSemVer(version) {
138
- const major = formatNumber(version.major);
139
- const minor = formatNumber(version.minor);
140
- const patch = formatNumber(version.patch);
141
- const pre = version.prerelease?.join(".") ?? "";
142
- const build = version.build?.join(".") ?? "";
143
- const primary = `${major}.${minor}.${patch}`;
144
- const release = [primary, pre].filter((v) => v).join("-");
145
- return [release, build].filter((v) => v).join("+");
146
- }
147
-
148
- //#endregion
149
- export { formatSemVer, parseSemVer };
@@ -1,4 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
-
@@ -1,15 +0,0 @@
1
- $schema: ../codegen/schema.yaml
2
- name: Accept
3
- compactName: Accept
4
- uri: "https://www.w3.org/ns/activitystreams#Accept"
5
- extends: "https://www.w3.org/ns/activitystreams#Activity"
6
- entity: true
7
- description: |
8
- Indicates that the `actor` accepts the `object`. The `target` property can be
9
- used in certain circumstances to indicate the context into which the `object`
10
- has been accepted.
11
- defaultContext:
12
- - "https://w3id.org/identity/v1"
13
- - "https://www.w3.org/ns/activitystreams"
14
- - "https://w3id.org/security/data-integrity/v1"
15
- properties: []
@@ -1,98 +0,0 @@
1
- $schema: ../codegen/schema.yaml
2
- name: Activity
3
- compactName: Activity
4
- uri: "https://www.w3.org/ns/activitystreams#Activity"
5
- extends: "https://www.w3.org/ns/activitystreams#Object"
6
- entity: true
7
- description: |
8
- An Activity is a subtype of {@link Object} that describes some form of action
9
- that may happen, is currently happening, or has already happened.
10
- The {@link Activity} type itself serves as an abstract base type for all types
11
- of activities. It is important to note that the {@link Activity} type itself
12
- does not carry any specific semantics about the kind of action being taken.
13
- defaultContext:
14
- - "https://w3id.org/identity/v1"
15
- - "https://www.w3.org/ns/activitystreams"
16
- - "https://w3id.org/security/v1"
17
- - "https://w3id.org/security/data-integrity/v1"
18
-
19
- properties:
20
- - pluralName: actors
21
- singularName: actor
22
- singularAccessor: true
23
- compactName: actor
24
- uri: "https://www.w3.org/ns/activitystreams#actor"
25
- subpropertyOf: "https://www.w3.org/ns/activitystreams#attributedTo"
26
- description: |
27
- Describes one or more entities that either performed or are expected to
28
- perform the activity. Any single activity can have multiple actors.
29
- The actor MAY be specified using an indirect {@link Link}.
30
- range:
31
- - "https://www.w3.org/ns/activitystreams#Application"
32
- - "https://www.w3.org/ns/activitystreams#Group"
33
- - "https://www.w3.org/ns/activitystreams#Organization"
34
- - "https://www.w3.org/ns/activitystreams#Person"
35
- - "https://www.w3.org/ns/activitystreams#Service"
36
-
37
- - pluralName: objects
38
- singularName: object
39
- singularAccessor: true
40
- compactName: object
41
- uri: "https://www.w3.org/ns/activitystreams#object"
42
- description: |
43
- When used within an {@link Activity}, describes the direct object of
44
- the activity. For instance, in the activity "John added a movie to his
45
- wishlist", the object of the activity is the movie added.
46
- range:
47
- - "https://www.w3.org/ns/activitystreams#Object"
48
-
49
- - pluralName: targets
50
- singularName: target
51
- singularAccessor: true
52
- compactName: target
53
- uri: "https://www.w3.org/ns/activitystreams#target"
54
- description: |
55
- Describes the indirect object, or target, of the activity. The precise
56
- meaning of the target is largely dependent on the type of action being
57
- described but will often be the object of the English preposition "to".
58
- For instance, in the activity "John added a movie to his wishlist",
59
- the target of the activity is John's wishlist. An activity can have more
60
- than one target.
61
- range:
62
- - "https://www.w3.org/ns/activitystreams#Object"
63
-
64
- - pluralName: results
65
- singularName: result
66
- singularAccessor: true
67
- compactName: result
68
- uri: "https://www.w3.org/ns/activitystreams#result"
69
- description: |
70
- Describes the result of the activity. For instance, if a particular action
71
- results in the creation of a new resource, the result property can be used
72
- to describe that new resource.
73
- range:
74
- - "https://www.w3.org/ns/activitystreams#Object"
75
-
76
- - pluralName: origins
77
- singularName: origin
78
- singularAccessor: true
79
- compactName: origin
80
- uri: "https://www.w3.org/ns/activitystreams#origin"
81
- description: |
82
- Describes an indirect object of the activity from which the activity is
83
- directed. The precise meaning of the origin is the object of the English
84
- preposition "from". For instance, in the activity "John moved an item to
85
- List B from List A", the origin of the activity is "List A".
86
- range:
87
- - "https://www.w3.org/ns/activitystreams#Object"
88
-
89
- - pluralName: instruments
90
- singularName: instrument
91
- singularAccessor: true
92
- compactName: instrument
93
- uri: "https://www.w3.org/ns/activitystreams#instrument"
94
- description: |
95
- Identifies one or more objects used (or to be used) in the completion of
96
- an {@link Activity}.
97
- range:
98
- - "https://www.w3.org/ns/activitystreams#Object"