@fedify/fedify 2.0.0-dev.1604 → 2.0.0-dev.161

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 (292) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +66 -30
  3. package/dist/{assert_rejects-7UF4R_Qs.js → assert_rejects-Ce45JcFg.js} +1 -1
  4. package/dist/{assert_is_error-B035L3om.js → assert_throws-BNXdRGWP.js} +31 -1
  5. package/dist/{builder-D9zidAqR.js → builder-CulJ6Oa9.js} +15 -8
  6. package/dist/chunk-DqRYRqnO.cjs +34 -0
  7. package/dist/client-94iWEfQa.d.cts +222 -0
  8. package/dist/{client-bgSdkFa2.d.ts → client-BivSNrEg.d.ts} +1 -1
  9. package/dist/{client-Bsj0vQPr.js → client-CgMTXmAD.js} +1 -1
  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 -19
  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-CDSZdQHD.d.ts → context-CYZ2i00R.d.ts} +321 -129
  19. package/dist/context-D2MrtLch.d.cts +2447 -0
  20. package/dist/deno-DIwNGswC.js +117 -0
  21. package/dist/{testing-CdBSI4xF.js → dist-B5f6a8Tt.js} +90 -111
  22. package/dist/{authdocloader-CzpPQC01.js → docloader-D2992pGD.js} +17 -8
  23. package/dist/{esm-CXF1VoeR.js → esm-DGl7uK1r.js} +32 -17
  24. package/dist/federation/builder.test.js +9 -9
  25. package/dist/federation/collection.test.js +3 -6
  26. package/dist/federation/handler.test.js +113 -145
  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 +59 -7
  31. package/dist/federation/middleware.test.js +306 -111
  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 +7 -8
  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 +4 -6
  40. package/dist/federation/send.test.js +53 -13
  41. package/dist/{webfinger/handler.test.js → federation/webfinger.test.js} +25 -23
  42. package/dist/federation-B431K2gm.cjs +266 -0
  43. package/dist/{federation-CMX7WzeL.js → federation-BbZwNNWj.js} +31 -9
  44. package/dist/{http-B_pxY5of.js → http-3fEbsHa0.js} +374 -14
  45. package/dist/{http-CSYNybkH.js → http-BV9SKFK0.js} +3 -2
  46. package/dist/http-C06iL_Qv.cjs +1222 -0
  47. package/dist/http-ClB3pLcL.d.cts +253 -0
  48. package/dist/{http-DqSNLFNY.d.ts → http-DLBDPal9.d.ts} +2 -2
  49. package/dist/{inbox-DoJlwIE4.js → inbox-DCV2fS3F.js} +25 -7
  50. package/dist/{key-BOzqiGbl.js → key-Bdc11xlQ.js} +3 -2
  51. package/dist/{keycache--NYDYifd.js → keycache-DRxpZ5r9.js} +1 -1
  52. package/dist/{keys-MacD9GP6.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-B4-ASVht.js +122 -0
  57. package/dist/kv-cache-BEeqyGER.js +107 -0
  58. package/dist/kv-cache-CQjPwWHu.cjs +134 -0
  59. package/dist/{ld-D9oTBLrs.js → ld-C7be04RF.js} +4 -2
  60. package/dist/middleware-9RlUwILK.js +12 -0
  61. package/dist/middleware-B_mOdzoC.cjs +4242 -0
  62. package/dist/{middleware-CgNm3XOJ.js → middleware-C3xnTI2Z.js} +230 -327
  63. package/dist/{middleware-C0w2M0tb.js → middleware-C4_a2DNI.js} +272 -271
  64. package/dist/middleware-C9iGBAP1.cjs +12 -0
  65. package/dist/middleware-CYlahvpt.js +26 -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-RI3-KvUI.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 +5 -8
  81. package/dist/nodeinfo/handler.test.js +23 -22
  82. package/dist/nodeinfo/mod.cjs +10 -0
  83. package/dist/nodeinfo/mod.d.cts +3 -0
  84. package/dist/nodeinfo/mod.d.ts +2 -4
  85. package/dist/nodeinfo/mod.js +5 -6
  86. package/dist/nodeinfo/types.test.js +4 -7
  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-gB-pDKA-.js → owner-Bs5Y5twE.js} +45 -8
  96. package/dist/owner-C-zfmVAD.d.cts +66 -0
  97. package/dist/{proof-VPikK_0V.js → proof-C-751PeN.js} +50 -14
  98. package/dist/{proof-CScVkkIT.js → proof-CFwktc0B.js} +3 -2
  99. package/dist/proof-CaA7ysDp.cjs +709 -0
  100. package/dist/router-D9eI0s4b.js +118 -0
  101. package/dist/{send-flZ7H10-.js → send-C288Vw8b.js} +9 -4
  102. package/dist/sig/http.test.js +9 -11
  103. package/dist/sig/key.test.js +7 -9
  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 +31 -10
  110. package/dist/sig/proof.test.js +11 -12
  111. package/dist/sig-CwuONEzF.js +4 -0
  112. package/dist/sig-DeXX2xnj.cjs +4 -0
  113. package/dist/testing/mod.d.ts +179 -6918
  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-Q-qkJXBV.cjs +315 -0
  118. package/dist/{types-Vo0qKhN7.js → types-hKTi53FO.js} +4 -4
  119. package/dist/{runtime/authdocloader.test.js → utils/docloader.test.js} +11 -13
  120. package/dist/utils/kv-cache.test.js +211 -0
  121. package/dist/utils/mod.cjs +10 -0
  122. package/dist/utils/mod.d.cts +4 -0
  123. package/dist/utils/mod.d.ts +6 -0
  124. package/dist/utils/mod.js +9 -0
  125. package/dist/utils-Db0ZmjcD.cjs +4 -0
  126. package/dist/utils-Wranxuoe.js +4 -0
  127. package/package.json +69 -55
  128. package/dist/actor-BC3XtGTj.js +0 -37312
  129. package/dist/actor-C22bXuuC.d.ts +0 -130
  130. package/dist/actor-CmRlosMl.js +0 -146
  131. package/dist/assert_throws-53_pKeP3.js +0 -39
  132. package/dist/authdocloader-D-DICGXT.js +0 -52
  133. package/dist/compat-Bb5myD13.js +0 -4
  134. package/dist/denokv-jZ0Z2h0M.js +0 -57
  135. package/dist/docloader-CkASOfZ5.js +0 -4615
  136. package/dist/docloader-CxWcuWqQ.d.ts +0 -221
  137. package/dist/fixtures/activitypub.academy/users/brauca_darradiul.json +0 -83
  138. package/dist/fixtures/example.com/announce.json +0 -6
  139. package/dist/fixtures/example.com/collection.json +0 -19
  140. package/dist/fixtures/example.com/create.json +0 -6
  141. package/dist/fixtures/example.com/cross-origin-actor.json +0 -6
  142. package/dist/fixtures/example.com/hong-gildong.json +0 -11
  143. package/dist/fixtures/example.com/invite.json +0 -7
  144. package/dist/fixtures/example.com/key.json +0 -7
  145. package/dist/fixtures/example.com/key2.json +0 -6
  146. package/dist/fixtures/example.com/object.json +0 -6
  147. package/dist/fixtures/example.com/orderedcollectionpage.json +0 -24
  148. package/dist/fixtures/example.com/paged/a.json +0 -13
  149. package/dist/fixtures/example.com/paged/b.json +0 -16
  150. package/dist/fixtures/example.com/paged-collection.json +0 -6
  151. package/dist/fixtures/example.com/person.json +0 -22
  152. package/dist/fixtures/example.com/person2.json +0 -40
  153. package/dist/fixtures/example.com/test.json +0 -5
  154. package/dist/fixtures/example.com/users/handle.json +0 -16
  155. package/dist/fixtures/example.com/wrong-type.json +0 -3
  156. package/dist/fixtures/oeee.cafe/ap/users/3609fd4e-d51d-4db8-9f04-4189815864dd.json +0 -24
  157. package/dist/fixtures/remote.domain/users/bob.json +0 -20
  158. package/dist/fixtures/server.example/users/alice.json +0 -20
  159. package/dist/fixtures/w3id.org/identity/v1.json +0 -152
  160. package/dist/fixtures/w3id.org/security/data-integrity/v1.json +0 -74
  161. package/dist/fixtures/w3id.org/security/multikey/v1.json +0 -35
  162. package/dist/fixtures/w3id.org/security/v1.json +0 -50
  163. package/dist/fixtures/wizard.casa/users/hongminhee.json +0 -69
  164. package/dist/fixtures/www.w3.org/ns/activitystreams.json +0 -379
  165. package/dist/fixtures/www.w3.org/ns/did/v1.json +0 -58
  166. package/dist/key-Bif4eMj7.js +0 -260
  167. package/dist/key-BteSu1lX.js +0 -10
  168. package/dist/key-DWWqeyaq.js +0 -10
  169. package/dist/lookup-Cz9VSYxw.js +0 -131
  170. package/dist/lookup-DuzrBbTj.js +0 -322
  171. package/dist/middleware-CNfiKLIZ.js +0 -25
  172. package/dist/middleware-CnvU63kV.js +0 -17
  173. package/dist/mod-Cxt4Kpf6.d.ts +0 -291
  174. package/dist/mod-DBzN0aCM.d.ts +0 -115
  175. package/dist/mod-TFoH2Ql8.d.ts +0 -104
  176. package/dist/mod-g0xFzAP9.d.ts +0 -2
  177. package/dist/mq-CRGm1e_F.d.ts +0 -143
  178. package/dist/nodeinfo-CyEbLjHs.js +0 -4
  179. package/dist/runtime/docloader.test.js +0 -522
  180. package/dist/runtime/key.test.js +0 -103
  181. package/dist/runtime/langstr.test.js +0 -39
  182. package/dist/runtime/mod.d.ts +0 -8
  183. package/dist/runtime/mod.js +0 -13
  184. package/dist/runtime/multibase/multibase.test.js +0 -358
  185. package/dist/runtime/url.test.d.ts +0 -3
  186. package/dist/runtime/url.test.js +0 -45
  187. package/dist/runtime-BSkOVUWM.js +0 -4
  188. package/dist/sig-BXJO--F9.js +0 -4
  189. package/dist/src/vocab/accept.yaml +0 -15
  190. package/dist/src/vocab/activity.yaml +0 -98
  191. package/dist/src/vocab/add.yaml +0 -16
  192. package/dist/src/vocab/announce.yaml +0 -30
  193. package/dist/src/vocab/application.yaml +0 -324
  194. package/dist/src/vocab/arrive.yaml +0 -15
  195. package/dist/src/vocab/article.yaml +0 -46
  196. package/dist/src/vocab/audio.yaml +0 -11
  197. package/dist/src/vocab/block.yaml +0 -16
  198. package/dist/src/vocab/chatmessage.yaml +0 -50
  199. package/dist/src/vocab/collection.yaml +0 -154
  200. package/dist/src/vocab/collectionpage.yaml +0 -55
  201. package/dist/src/vocab/create.yaml +0 -28
  202. package/dist/src/vocab/dataintegrityproof.yaml +0 -56
  203. package/dist/src/vocab/delete.yaml +0 -27
  204. package/dist/src/vocab/didservice.yaml +0 -22
  205. package/dist/src/vocab/dislike.yaml +0 -14
  206. package/dist/src/vocab/document.yaml +0 -31
  207. package/dist/src/vocab/emoji.yaml +0 -12
  208. package/dist/src/vocab/emojireact.yaml +0 -17
  209. package/dist/src/vocab/endpoints.yaml +0 -85
  210. package/dist/src/vocab/event.yaml +0 -11
  211. package/dist/src/vocab/export.yaml +0 -9
  212. package/dist/src/vocab/flag.yaml +0 -15
  213. package/dist/src/vocab/follow.yaml +0 -19
  214. package/dist/src/vocab/group.yaml +0 -324
  215. package/dist/src/vocab/hashtag.yaml +0 -14
  216. package/dist/src/vocab/ignore.yaml +0 -14
  217. package/dist/src/vocab/image.yaml +0 -9
  218. package/dist/src/vocab/intransitiveactivity.yaml +0 -15
  219. package/dist/src/vocab/invite.yaml +0 -14
  220. package/dist/src/vocab/join.yaml +0 -14
  221. package/dist/src/vocab/key.yaml +0 -28
  222. package/dist/src/vocab/leave.yaml +0 -14
  223. package/dist/src/vocab/like.yaml +0 -16
  224. package/dist/src/vocab/link.yaml +0 -101
  225. package/dist/src/vocab/listen.yaml +0 -12
  226. package/dist/src/vocab/mention.yaml +0 -9
  227. package/dist/src/vocab/move.yaml +0 -15
  228. package/dist/src/vocab/multikey.yaml +0 -36
  229. package/dist/src/vocab/note.yaml +0 -48
  230. package/dist/src/vocab/object.yaml +0 -404
  231. package/dist/src/vocab/offer.yaml +0 -15
  232. package/dist/src/vocab/orderedcollection.yaml +0 -39
  233. package/dist/src/vocab/orderedcollectionpage.yaml +0 -50
  234. package/dist/src/vocab/organization.yaml +0 -324
  235. package/dist/src/vocab/page.yaml +0 -11
  236. package/dist/src/vocab/person.yaml +0 -324
  237. package/dist/src/vocab/place.yaml +0 -75
  238. package/dist/src/vocab/profile.yaml +0 -26
  239. package/dist/src/vocab/propertyvalue.yaml +0 -32
  240. package/dist/src/vocab/question.yaml +0 -103
  241. package/dist/src/vocab/read.yaml +0 -13
  242. package/dist/src/vocab/reject.yaml +0 -14
  243. package/dist/src/vocab/relationship.yaml +0 -52
  244. package/dist/src/vocab/remove.yaml +0 -14
  245. package/dist/src/vocab/service.yaml +0 -324
  246. package/dist/src/vocab/source.yaml +0 -26
  247. package/dist/src/vocab/tentativeaccept.yaml +0 -14
  248. package/dist/src/vocab/tentativereject.yaml +0 -14
  249. package/dist/src/vocab/tombstone.yaml +0 -24
  250. package/dist/src/vocab/travel.yaml +0 -16
  251. package/dist/src/vocab/undo.yaml +0 -26
  252. package/dist/src/vocab/update.yaml +0 -58
  253. package/dist/src/vocab/video.yaml +0 -11
  254. package/dist/src/vocab/view.yaml +0 -13
  255. package/dist/testing/docloader.test.js +0 -24
  256. package/dist/type-CAteiET0.js +0 -42007
  257. package/dist/vocab/actor.test.d.ts +0 -3
  258. package/dist/vocab/actor.test.js +0 -5965
  259. package/dist/vocab/lookup.test.d.ts +0 -3
  260. package/dist/vocab/lookup.test.js +0 -206
  261. package/dist/vocab/mod.d.ts +0 -8
  262. package/dist/vocab/mod.js +0 -10
  263. package/dist/vocab/schema.yaml +0 -247
  264. package/dist/vocab/type.test.d.ts +0 -3
  265. package/dist/vocab/type.test.js +0 -25
  266. package/dist/vocab/vocab.test.d.ts +0 -3
  267. package/dist/vocab/vocab.test.js +0 -3363
  268. package/dist/vocab-89qErSc9.js +0 -246
  269. package/dist/vocab-SOE1ifCr.d.ts +0 -14634
  270. package/dist/webfinger/handler.test.d.ts +0 -3
  271. package/dist/webfinger/lookup.test.d.ts +0 -3
  272. package/dist/webfinger/lookup.test.js +0 -195
  273. package/dist/webfinger/mod.d.ts +0 -6
  274. package/dist/webfinger/mod.js +0 -9
  275. package/dist/webfinger-C3GIyXIg.js +0 -4
  276. package/dist/x/cfworkers.d.ts +0 -61
  277. package/dist/x/cfworkers.js +0 -98
  278. package/dist/x/cfworkers.test.d.ts +0 -3
  279. package/dist/x/cfworkers.test.js +0 -179
  280. package/dist/x/hono.d.ts +0 -56
  281. package/dist/x/hono.js +0 -60
  282. package/dist/x/sveltekit.d.ts +0 -48
  283. package/dist/x/sveltekit.js +0 -68
  284. /package/dist/{runtime/authdocloader.test.d.ts → federation/idempotency.test.d.ts} +0 -0
  285. /package/dist/{runtime/docloader.test.d.ts → federation/negotiation.test.d.ts} +0 -0
  286. /package/dist/{runtime/key.test.d.ts → federation/webfinger.test.d.ts} +0 -0
  287. /package/dist/{mod-1pDWKvUL.d.ts → mod-1E3W847c.d.ts} +0 -0
  288. /package/dist/{runtime/langstr.test.d.ts → otel/exporter.test.d.ts} +0 -0
  289. /package/dist/{retry-CfF8Gn4d.js → retry-D4GJ670a.js} +0 -0
  290. /package/dist/{types-BSuWJsOm.js → types-BEdCLHqP.js} +0 -0
  291. /package/dist/{testing → utils}/docloader.test.d.ts +0 -0
  292. /package/dist/{runtime/multibase/multibase.test.d.ts → utils/kv-cache.test.d.ts} +0 -0
@@ -1,3 +0,0 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- import { URLPattern } from "urlpattern-polyfill";
3
- globalThis.addEventListener = () => {};
@@ -1,206 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
- globalThis.addEventListener = () => {};
5
-
6
- import { Collection, Note, Object as Object$1, Person } from "../type-CAteiET0.js";
7
- import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
- import "../assert-MZs1qjMx.js";
9
- import { assertInstanceOf } from "../assert_instance_of-DHz7EHNU.js";
10
- import { lookupObject, traverseCollection } from "../lookup-DuzrBbTj.js";
11
- import { mockDocumentLoader, test } from "../testing-CdBSI4xF.js";
12
- import "../std__assert-DWivtrGR.js";
13
- import "../assert_rejects-7UF4R_Qs.js";
14
- import "../assert_is_error-B035L3om.js";
15
- import "../assert_not_equals-C80BG-_5.js";
16
- import "../assert_throws-53_pKeP3.js";
17
- import { esm_default } from "../esm-CXF1VoeR.js";
18
-
19
- //#region src/vocab/lookup.test.ts
20
- test("lookupObject()", {
21
- sanitizeResources: false,
22
- sanitizeOps: false
23
- }, async (t) => {
24
- esm_default.spyGlobal();
25
- esm_default.get("begin:https://example.com/.well-known/webfinger", {
26
- subject: "acct:johndoe@example.com",
27
- links: [
28
- {
29
- rel: "alternate",
30
- href: "https://example.com/object",
31
- type: "application/activity+json"
32
- },
33
- {
34
- rel: "self",
35
- href: "https://example.com/html/person",
36
- type: "text/html"
37
- },
38
- {
39
- rel: "self",
40
- href: "https://example.com/person",
41
- type: "application/activity+json"
42
- }
43
- ]
44
- });
45
- const options = {
46
- documentLoader: mockDocumentLoader,
47
- contextLoader: mockDocumentLoader
48
- };
49
- await t.step("actor", async () => {
50
- const person = await lookupObject("@johndoe@example.com", options);
51
- assertInstanceOf(person, Person);
52
- assertEquals(person.id, new URL("https://example.com/person"));
53
- assertEquals(person.name, "John Doe");
54
- const person2 = await lookupObject("johndoe@example.com", options);
55
- assertEquals(person2, person);
56
- const person3 = await lookupObject("acct:johndoe@example.com", options);
57
- assertEquals(person3, person);
58
- });
59
- await t.step("object", async () => {
60
- const object = await lookupObject("https://example.com/object", options);
61
- assertInstanceOf(object, Object$1);
62
- assertEquals(object, new Object$1({
63
- id: new URL("https://example.com/object"),
64
- name: "Fetched object"
65
- }));
66
- const person = await lookupObject("https://example.com/hong-gildong", options);
67
- assertInstanceOf(person, Person);
68
- assertEquals(person, new Person({
69
- id: new URL("https://example.com/hong-gildong"),
70
- name: "Hong Gildong"
71
- }));
72
- });
73
- esm_default.removeRoutes();
74
- esm_default.get("begin:https://example.com/.well-known/webfinger", {
75
- subject: "acct:janedoe@example.com",
76
- links: [{
77
- rel: "self",
78
- href: "https://example.com/404",
79
- type: "application/activity+json"
80
- }]
81
- });
82
- await t.step("not found", async () => {
83
- assertEquals(await lookupObject("janedoe@example.com", options), null);
84
- assertEquals(await lookupObject("https://example.com/404", options), null);
85
- });
86
- esm_default.removeRoutes();
87
- esm_default.get("begin:https://example.com/.well-known/webfinger", () => new Promise((resolve) => {
88
- setTimeout(() => {
89
- resolve({
90
- subject: "acct:johndoe@example.com",
91
- links: [{
92
- rel: "self",
93
- href: "https://example.com/person",
94
- type: "application/activity+json"
95
- }]
96
- });
97
- }, 1e3);
98
- }));
99
- await t.step("request cancellation", async () => {
100
- const controller = new AbortController();
101
- const promise = lookupObject("johndoe@example.com", {
102
- ...options,
103
- signal: controller.signal
104
- });
105
- controller.abort();
106
- assertEquals(await promise, null);
107
- });
108
- esm_default.removeRoutes();
109
- esm_default.get("begin:https://example.com/.well-known/webfinger", {
110
- subject: "acct:johndoe@example.com",
111
- links: [{
112
- rel: "self",
113
- href: "https://example.com/person",
114
- type: "application/activity+json"
115
- }]
116
- });
117
- await t.step("successful request with signal", async () => {
118
- const controller = new AbortController();
119
- const person = await lookupObject("johndoe@example.com", {
120
- ...options,
121
- signal: controller.signal
122
- });
123
- assertInstanceOf(person, Person);
124
- assertEquals(person.id, new URL("https://example.com/person"));
125
- });
126
- esm_default.removeRoutes();
127
- esm_default.get("begin:https://example.com/.well-known/webfinger", () => new Promise((resolve) => {
128
- setTimeout(() => {
129
- resolve({
130
- subject: "acct:johndoe@example.com",
131
- links: [{
132
- rel: "self",
133
- href: "https://example.com/person",
134
- type: "application/activity+json"
135
- }]
136
- });
137
- }, 500);
138
- }));
139
- await t.step("cancellation with immediate abort", async () => {
140
- const controller = new AbortController();
141
- controller.abort();
142
- const result = await lookupObject("johndoe@example.com", {
143
- ...options,
144
- signal: controller.signal
145
- });
146
- assertEquals(result, null);
147
- });
148
- esm_default.removeRoutes();
149
- esm_default.get("https://example.com/slow-object", () => new Promise((resolve) => {
150
- setTimeout(() => {
151
- resolve({
152
- status: 200,
153
- headers: { "Content-Type": "application/activity+json" },
154
- body: {
155
- "@context": "https://www.w3.org/ns/activitystreams",
156
- type: "Note",
157
- content: "Slow response"
158
- }
159
- });
160
- }, 1e3);
161
- }));
162
- await t.step("direct object fetch cancellation", async () => {
163
- const controller = new AbortController();
164
- const promise = lookupObject("https://example.com/slow-object", {
165
- contextLoader: mockDocumentLoader,
166
- signal: controller.signal
167
- });
168
- controller.abort();
169
- assertEquals(await promise, null);
170
- });
171
- esm_default.hardReset();
172
- esm_default.removeRoutes();
173
- });
174
- test("traverseCollection()", {
175
- sanitizeResources: false,
176
- sanitizeOps: false
177
- }, async () => {
178
- const options = {
179
- documentLoader: mockDocumentLoader,
180
- contextLoader: mockDocumentLoader
181
- };
182
- const collection = await lookupObject("https://example.com/collection", options);
183
- assertInstanceOf(collection, Collection);
184
- assertEquals(await Array.fromAsync(traverseCollection(collection, options)), [
185
- new Note({ content: "This is a simple note" }),
186
- new Note({ content: "This is another simple note" }),
187
- new Note({ content: "This is a third simple note" })
188
- ]);
189
- const pagedCollection = await lookupObject("https://example.com/paged-collection", options);
190
- assertInstanceOf(pagedCollection, Collection);
191
- assertEquals(await Array.fromAsync(traverseCollection(pagedCollection, options)), [
192
- new Note({ content: "This is a simple note" }),
193
- new Note({ content: "This is another simple note" }),
194
- new Note({ content: "This is a third simple note" })
195
- ]);
196
- assertEquals(await Array.fromAsync(traverseCollection(pagedCollection, {
197
- ...options,
198
- interval: { milliseconds: 250 }
199
- })), [
200
- new Note({ content: "This is a simple note" }),
201
- new Note({ content: "This is another simple note" }),
202
- new Note({ content: "This is a third simple note" })
203
- ]);
204
- });
205
-
206
- //#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 "../docloader-CxWcuWqQ.js";
5
- import { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, Flag, Follow, Group, Hashtag, Ignore, Image, IntransitiveActivity, Invite, Join, Leave, Like, Link, Listen, Mention, Move, Multikey, Note, Object as Object$1, Offer, OrderedCollection, OrderedCollectionPage, Organization, Page, Person, Place, Profile, PropertyValue, Question, Read, Reject, Relationship, Remove, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, Undo, Update, Video, View } from "../vocab-SOE1ifCr.js";
6
- import { Actor, ActorTypeName, GetActorHandleOptions, NormalizeActorHandleOptions, Recipient, getActorClassByTypeName, getActorHandle, getActorTypeName, isActor, normalizeActorHandle } from "../actor-C22bXuuC.js";
7
- import { FediverseHandle, LookupObjectOptions, PUBLIC_COLLECTION, TraverseCollectionOptions, getTypeId, isFediverseHandle, lookupObject, parseFediverseHandle, toAcctUrl, traverseCollection } from "../mod-Cxt4Kpf6.js";
8
- export { Accept, Activity, Actor, ActorTypeName, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, FediverseHandle, Flag, Follow, GetActorHandleOptions, Group, Hashtag, Ignore, Image, IntransitiveActivity, Invite, Join, Leave, Like, Link, Listen, LookupObjectOptions, Mention, Move, Multikey, NormalizeActorHandleOptions, Note, Object$1 as Object, Offer, OrderedCollection, OrderedCollectionPage, Organization, PUBLIC_COLLECTION, Page, Person, Place, Profile, PropertyValue, Question, Read, Recipient, Reject, Relationship, Remove, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, TraverseCollectionOptions, Undo, Update, Video, View, getActorClassByTypeName, getActorHandle, getActorTypeName, getTypeId, isActor, isFediverseHandle, lookupObject, normalizeActorHandle, parseFediverseHandle, toAcctUrl, traverseCollection };
package/dist/vocab/mod.js DELETED
@@ -1,10 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
-
5
- import "../docloader-CkASOfZ5.js";
6
- import { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, Flag, Follow, Group, Hashtag, Ignore, Image, IntransitiveActivity, Invite, Join, Leave, Like, Link, Listen, Mention, Move, Multikey, Note, Object as Object$1, Offer, OrderedCollection, OrderedCollectionPage, Organization, Page, Person, Place, Profile, PropertyValue, Question, Read, Reject, Relationship, Remove, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, Undo, Update, Video, View, getActorClassByTypeName, getActorHandle, getActorTypeName, getTypeId, isActor, normalizeActorHandle } from "../actor-BC3XtGTj.js";
7
- import "../lookup-Cz9VSYxw.js";
8
- import { PUBLIC_COLLECTION, isFediverseHandle, lookupObject, parseFediverseHandle, toAcctUrl, traverseCollection } from "../vocab-89qErSc9.js";
9
-
10
- export { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, Flag, Follow, Group, Hashtag, Ignore, Image, IntransitiveActivity, Invite, Join, Leave, Like, Link, Listen, Mention, Move, Multikey, Note, Object$1 as Object, Offer, OrderedCollection, OrderedCollectionPage, Organization, PUBLIC_COLLECTION, Page, Person, Place, Profile, PropertyValue, Question, Read, Reject, Relationship, Remove, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, Undo, Update, Video, View, getActorClassByTypeName, getActorHandle, getActorTypeName, getTypeId, isActor, isFediverseHandle, lookupObject, normalizeActorHandle, parseFediverseHandle, toAcctUrl, traverseCollection };
@@ -1,247 +0,0 @@
1
- $schema: "https://json-schema.org/draft/2020-12/schema"
2
- title: Fedify model schema
3
-
4
- $defs:
5
- property:
6
- description: >-
7
- The schema of a property. It is used to generate property accessors of
8
- a class.
9
- anyOf:
10
- - allOf:
11
- - $ref: "#/$defs/property-base"
12
- - $ref: "#/$defs/property-typing"
13
- - type: object
14
- properties:
15
- functional:
16
- description: &functional-description >-
17
- Marks the property that it can have only one value. Turning on
18
- this flag will generate only singular property accessors,
19
- so pluralName and singularAccessor should not be specified.
20
- const: false
21
- pluralName:
22
- description: >-
23
- The plural form of the property name. It is used as the name of
24
- the generated property accessors.
25
- type: string
26
- singularAccessor:
27
- description: >-
28
- Whether to generate singular property accessors. Regardless of
29
- this flag, plural property accessors are generated
30
- (unless functional is turned on).
31
- type: boolean
32
- container:
33
- description: >-
34
- The container type of the property values. It can be unspecified.
35
- enum:
36
- - graph
37
- - list
38
- required:
39
- - pluralName
40
- - allOf:
41
- - $ref: "#/$defs/property-base"
42
- - $ref: "#/$defs/property-typing"
43
- - type: object
44
- properties:
45
- functional:
46
- description: *functional-description
47
- const: true
48
- redundantProperties::
49
- description: >-
50
- If it's present, those redundant properties are also filled with
51
- the same value altogether when the object is serialized into
52
- JSON-LD. When it's deserialized from JSON-LD, it tries to
53
- parse the values of the specified properties in order.
54
- type: array
55
- items:
56
- type: object
57
- properties:
58
- uri:
59
- description: The qualified URI of the property.
60
- type: string
61
- format: uri
62
- compactName:
63
- description: >-
64
- The property name used in the compacted JSON-LD document.
65
- It is used as the key of the property.
66
- type: string
67
- required:
68
- - uri
69
- required:
70
- - functional
71
-
72
- property-base:
73
- type: object
74
- properties:
75
- singularName:
76
- description: >-
77
- The singular form of the property name. It is used as the name of the
78
- generated property accessors.
79
- type: string
80
- uri:
81
- description: The qualified URI of the property.
82
- type: string
83
- format: uri
84
- compactName:
85
- description: >-
86
- The property name used in the compacted JSON-LD document. It is used
87
- as the key of the property.
88
- type: string
89
- subpropertyOf:
90
- description: >-
91
- The qualified URI of the superproperty of the property (if any).
92
- It means that the property is a specialization of the referenced
93
- property.
94
- type: string
95
- format: uri
96
- description:
97
- description: >-
98
- The description of the property. It is used as the doc comment of
99
- the generated property accessors.
100
- type: string
101
- embedContext:
102
- description: >-
103
- Whether the enclosed object should have its own context when
104
- the document is compacted.
105
- type: object
106
- properties:
107
- compactName:
108
- description: >-
109
- The compact name of the property that contains the context.
110
- type: string
111
- inherit:
112
- description: >-
113
- Whether the embedded context should be the same as the context of
114
- the enclosing document.
115
- const: true
116
- required:
117
- - singularName
118
- - uri
119
- - description
120
-
121
- property-typing:
122
- anyOf:
123
- - type: object
124
- properties:
125
- untyped:
126
- description: >-
127
- Whether the property value has @type field. If true, the range must
128
- have only one element.
129
- const: false
130
- range:
131
- description: >-
132
- The qualified URIs of all possible types of the property values.
133
- type: array
134
- items:
135
- $ref: "#/$defs/typeUri"
136
- minItems: 1
137
- uniqueItems: true
138
- required:
139
- - range
140
- - type: object
141
- properties:
142
- untyped:
143
- description: >-
144
- Whether the property value has @type field. If true, the range must
145
- have only one element.
146
- const: true
147
- range:
148
- description: >-
149
- The qualified URIs of all possible types of the property values.
150
- type: array
151
- items:
152
- $ref: "#/$defs/typeUri"
153
- minItems: 1
154
- maxItems: 1
155
- required:
156
- - untyped
157
- - range
158
-
159
- typeUri:
160
- description: >-
161
- The qualified URI of a type. It is used as the range of a property.
162
- anyOf:
163
- - type: string
164
- format: uri
165
- - enum:
166
- - fedify:langTag
167
-
168
- ldContext:
169
- anyOf:
170
- - type: string
171
- format: uri
172
- - $ref: "#/$defs/ldEmbeddedContext"
173
- - type: array
174
- items:
175
- anyOf:
176
- - type: string
177
- format: uri
178
- - $ref: "#/$defs/ldEmbeddedContext"
179
- uniqueItems: true
180
-
181
- ldEmbeddedContext:
182
- type: object
183
- patternProperties:
184
- "^.+$":
185
- $ref: "#/$defs/ldTermDefinition"
186
-
187
- ldTermDefinition:
188
- anyOf:
189
- - type: string
190
- format: uri
191
- - type: object
192
- patternProperties:
193
- "^.+$":
194
- anyOf:
195
- - type: string
196
- format: uri
197
- - const: "@id"
198
-
199
- description: The schema of a type. It is used to generate a class.
200
- type: object
201
- properties:
202
- name:
203
- description: The type name. It is used as the name of the generated class.
204
- type: string
205
- uri:
206
- description: The qualified URI of the type.
207
- type: string
208
- format: uri
209
- compactName:
210
- description: >-
211
- The type name used in the compacted JSON-LD document. It is used as the
212
- value of the `type` field.
213
- type: string
214
- extends:
215
- description: The qualified URIs of the base type of the type (if any).
216
- type: string
217
- format: uri
218
- entity:
219
- description: >-
220
- Marks the type an entity type rather than a value type. Turning on this
221
- flag will make property accessors for the type asynchronous, so that they
222
- can load the values of the properties from the remote server.
223
-
224
- The extended subtypes must have the consistent value of this flag.
225
- type: boolean
226
- description:
227
- description: >-
228
- The description of the type. It is used as the doc comment of
229
- the generated class.
230
- type: string
231
- properties:
232
- description: The possible properties of the type.
233
- type: array
234
- items:
235
- $ref: "#/$defs/property"
236
- uniqueItems: true
237
- defaultContext:
238
- description: >-
239
- The default JSON-LD context of the type. It is used as the default
240
- context of the generated toJsonLd() method.
241
- $ref: "#/$defs/ldContext"
242
- required:
243
- - name
244
- - uri
245
- - entity
246
- - description
247
- - properties
@@ -1,3 +0,0 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- import { URLPattern } from "urlpattern-polyfill";
3
- globalThis.addEventListener = () => {};
@@ -1,25 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
- globalThis.addEventListener = () => {};
5
-
6
- import { Person, getTypeId } from "../type-CAteiET0.js";
7
- import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
- import "../lookup-DuzrBbTj.js";
9
- import { test } from "../testing-CdBSI4xF.js";
10
-
11
- //#region src/vocab/type.test.ts
12
- test("getTypeId()", () => {
13
- const obj = new Person({});
14
- assertEquals(getTypeId(obj), new URL("https://www.w3.org/ns/activitystreams#Person"));
15
- const obj2 = null;
16
- assertEquals(getTypeId(obj2), null);
17
- const obj3 = void 0;
18
- assertEquals(getTypeId(obj3), void 0);
19
- const obj4 = null;
20
- assertEquals(getTypeId(obj4), null);
21
- const obj5 = void 0;
22
- assertEquals(getTypeId(obj5), void 0);
23
- });
24
-
25
- //#endregion
@@ -1,3 +0,0 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- import { URLPattern } from "urlpattern-polyfill";
3
- globalThis.addEventListener = () => {};