@fedify/fedify 1.7.15 → 1.7.16

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 (129) hide show
  1. package/dist/actor-BzWaWDTY.js +146 -0
  2. package/dist/actor.js +34648 -5
  3. package/dist/{assert.js → assert-C-mZuSQl.js} +1 -1
  4. package/dist/{assert_instance_of.js → assert_instance_of-lS0Jr2iu.js} +1 -1
  5. package/dist/{assert_is_error.js → assert_is_error-CIYFACrT.js} +1 -1
  6. package/dist/{assert_not_equals.js → assert_not_equals-C1azCAB0.js} +1 -1
  7. package/dist/{assert_rejects.js → assert_rejects-Bkh5lA1a.js} +2 -2
  8. package/dist/{assert_throws.js → assert_throws-CmpfkWEM.js} +2 -2
  9. package/dist/authdocloader-1vrHbYJF.js +51 -0
  10. package/dist/authdocloader.js +2 -4
  11. package/dist/{builder.js → builder-8YjpOSrf.js} +5 -5
  12. package/dist/{client.js → client-CJ3nfMyp.js} +2 -2
  13. package/dist/compat/transformers.test.js +30 -30
  14. package/dist/{context.js → context-OXYKUfFL.js} +4 -4
  15. package/dist/docloader-I3SkMpZK.js +4421 -0
  16. package/dist/docloader.js +61 -4
  17. package/dist/{esm.js → esm-BRXvTSrx.js} +1 -1
  18. package/dist/federation/builder.test.js +17 -17
  19. package/dist/federation/collection.test.js +8 -8
  20. package/dist/federation/handler.test.js +36 -36
  21. package/dist/federation/inbox.test.js +11 -11
  22. package/dist/federation/keycache.test.js +12 -12
  23. package/dist/federation/kv.test.js +8 -8
  24. package/dist/federation/middleware.test.js +39 -39
  25. package/dist/federation/mq.test.js +10 -10
  26. package/dist/federation/retry.test.js +5 -5
  27. package/dist/federation/router.test.js +9 -9
  28. package/dist/federation/send.test.js +23 -23
  29. package/dist/http-CiQH4CF3.js +789 -0
  30. package/dist/http.js +4 -5
  31. package/dist/{inbox.js → inbox-BqBPO0vG.js} +3 -3
  32. package/dist/key-Ba-IjS2c.js +259 -0
  33. package/dist/key-CdNa4Um6.js +16 -0
  34. package/dist/key.js +1 -7
  35. package/dist/key2.js +2 -4
  36. package/dist/{keycache.js → keycache-BdgRTisV.js} +1 -1
  37. package/dist/{keys.js → keys-CLFIvF3E.js} +1 -1
  38. package/dist/{ld.js → ld-Dm1tdWDX.js} +4 -4
  39. package/dist/{lookup2.js → lookup-BumKjgCt.js} +4 -4
  40. package/dist/lookup-CoCshjhM.js +129 -0
  41. package/dist/lookup.js +1 -3
  42. package/dist/middleware-Dvd4BUlF.js +2661 -0
  43. package/dist/middleware-pC0Ld2I6.js +32 -0
  44. package/dist/middleware.js +1222 -364
  45. package/dist/middleware2.js +6 -21
  46. package/dist/nodeinfo/client.test.js +12 -12
  47. package/dist/nodeinfo/handler.test.js +34 -34
  48. package/dist/nodeinfo/semver.test.js +8 -8
  49. package/dist/nodeinfo/types.test.js +9 -9
  50. package/dist/{owner.js → owner-BO3ZhyYg.js} +3 -3
  51. package/dist/proof-Btlfk6hr.js +255 -0
  52. package/dist/proof.js +330 -8
  53. package/dist/runtime/authdocloader.test.js +20 -20
  54. package/dist/runtime/docloader.test.js +13 -13
  55. package/dist/runtime/key.test.js +15 -15
  56. package/dist/runtime/langstr.test.js +8 -8
  57. package/dist/runtime/multibase/multibase.test.js +8 -8
  58. package/dist/runtime/url.test.js +7 -7
  59. package/dist/{send.js → send-Dj-482tr.js} +2 -2
  60. package/dist/sig/http.test.js +20 -20
  61. package/dist/sig/key.test.js +17 -17
  62. package/dist/sig/ld.test.js +18 -18
  63. package/dist/sig/owner.test.js +20 -20
  64. package/dist/sig/proof.test.js +19 -19
  65. package/dist/{std__assert.js → std__assert-BdP_WkD-.js} +1 -1
  66. package/dist/testing/docloader.test.js +8 -8
  67. package/dist/testing/mod.js +2 -2
  68. package/dist/{testing.js → testing-qaAD4B0t.js} +1 -1
  69. package/dist/types-CB_2uuCA.js +51 -0
  70. package/dist/types.js +397 -3
  71. package/dist/vocab/actor.test.js +16 -16
  72. package/dist/vocab/lookup.test.js +17 -17
  73. package/dist/vocab/type.test.js +9 -9
  74. package/dist/vocab/vocab.test.js +17 -17
  75. package/dist/vocab-B8zleLsO.js +34386 -0
  76. package/dist/vocab.js +133 -34351
  77. package/dist/webfinger/handler.test.js +34 -34
  78. package/dist/webfinger/lookup.test.js +11 -11
  79. package/dist/x/cfworkers.test.js +7 -7
  80. package/package.json +1 -1
  81. /package/dist/{assert_equals.js → assert_equals-Dy0MG_Zw.js} +0 -0
  82. /package/dist/{chunk.js → chunk-DvTpRkcT.js} +0 -0
  83. /package/dist/{collection.js → collection-XNLQhehO.js} +0 -0
  84. /package/dist/compat/{transformers.test.d.ts → transformers.test-DnJbd34u.d.ts} +0 -0
  85. /package/dist/{denokv.js → denokv-NcJeZ6rP.js} +0 -0
  86. /package/dist/{docloader2.js → docloader-BDSHZfTJ.js} +0 -0
  87. /package/dist/federation/{builder.test.d.ts → builder.test-Bpt6NOZ6.d.ts} +0 -0
  88. /package/dist/federation/{collection.test.d.ts → collection.test-DKJ6JOZz.d.ts} +0 -0
  89. /package/dist/federation/{handler.test.d.ts → handler.test-BMT7uLC0.d.ts} +0 -0
  90. /package/dist/federation/{inbox.test.d.ts → inbox.test-Do6i02Qp.d.ts} +0 -0
  91. /package/dist/federation/{keycache.test.d.ts → keycache.test-BT83IPZY.d.ts} +0 -0
  92. /package/dist/federation/{kv.test.d.ts → kv.test-kFzzF2VN.d.ts} +0 -0
  93. /package/dist/federation/{middleware.test.d.ts → middleware.test-B1R4_e3-.d.ts} +0 -0
  94. /package/dist/federation/{mq.test.d.ts → mq.test-l79EQQOe.d.ts} +0 -0
  95. /package/dist/federation/{retry.test.d.ts → retry.test-BqS50VCX.d.ts} +0 -0
  96. /package/dist/federation/{router.test.d.ts → router.test-CYQl4po-.d.ts} +0 -0
  97. /package/dist/federation/{send.test.d.ts → send.test-COUnNUzv.d.ts} +0 -0
  98. /package/dist/{kv.js → kv-QeuZ51go.js} +0 -0
  99. /package/dist/{langstr.js → langstr-pFHBDU4y.js} +0 -0
  100. /package/dist/{multibase.js → multibase-DBcKTV2a.js} +0 -0
  101. /package/dist/nodeinfo/{client.test.d.ts → client.test-CZLe79hL.d.ts} +0 -0
  102. /package/dist/nodeinfo/{handler.test.d.ts → handler.test-B-EDZ_hK.d.ts} +0 -0
  103. /package/dist/nodeinfo/{semver.test.d.ts → semver.test-BEuuQSEM.d.ts} +0 -0
  104. /package/dist/nodeinfo/{types.test.d.ts → types.test-B5AT89WV.d.ts} +0 -0
  105. /package/dist/{retry.js → retry-BQet39_l.js} +0 -0
  106. /package/dist/{router.js → router-BuDkN4RQ.js} +0 -0
  107. /package/dist/runtime/{authdocloader.test.d.ts → authdocloader.test-hCRKzn9v.d.ts} +0 -0
  108. /package/dist/runtime/{docloader.test.d.ts → docloader.test-CVd7i_5h.d.ts} +0 -0
  109. /package/dist/runtime/{key.test.d.ts → key.test-DBsILYSD.d.ts} +0 -0
  110. /package/dist/runtime/{langstr.test.d.ts → langstr.test-CiKxuuRY.d.ts} +0 -0
  111. /package/dist/runtime/multibase/{multibase.test.d.ts → multibase.test-Brh6gPBP.d.ts} +0 -0
  112. /package/dist/runtime/{url.test.d.ts → url.test-DlRqkU2j.d.ts} +0 -0
  113. /package/dist/{semver.js → semver-D9d-VO-_.js} +0 -0
  114. /package/dist/sig/{http.test.d.ts → http.test-BpXNAWNI.d.ts} +0 -0
  115. /package/dist/sig/{key.test.d.ts → key.test-B2iLIugy.d.ts} +0 -0
  116. /package/dist/sig/{ld.test.d.ts → ld.test-D-cI70Gw.d.ts} +0 -0
  117. /package/dist/sig/{owner.test.d.ts → owner.test-B_YRjMPj.d.ts} +0 -0
  118. /package/dist/sig/{proof.test.d.ts → proof.test-BagEM_-4.d.ts} +0 -0
  119. /package/dist/testing/{docloader.test.d.ts → docloader.test-lrzf6sDZ.d.ts} +0 -0
  120. /package/dist/testing/{mod.d.ts → mod-3uM8ZvS7.d.ts} +0 -0
  121. /package/dist/{type.js → type-DFsmi-p1.js} +0 -0
  122. /package/dist/{url.js → url-BdNvnK9P.js} +0 -0
  123. /package/dist/vocab/{actor.test.d.ts → actor.test-ClC-iVWk.d.ts} +0 -0
  124. /package/dist/vocab/{lookup.test.d.ts → lookup.test-Cq1I-27w.d.ts} +0 -0
  125. /package/dist/vocab/{type.test.d.ts → type.test-bfFiYGcs.d.ts} +0 -0
  126. /package/dist/vocab/{vocab.test.d.ts → vocab.test-h-ZTisfu.d.ts} +0 -0
  127. /package/dist/webfinger/{handler.test.d.ts → handler.test-DiUeEDDD.d.ts} +0 -0
  128. /package/dist/webfinger/{lookup.test.d.ts → lookup.test-D9onm3U3.d.ts} +0 -0
  129. /package/dist/x/{cfworkers.test.d.ts → cfworkers.test-KXHlJ29z.d.ts} +0 -0
@@ -3,23 +3,23 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../chunk.js";
7
- import { t as assertEquals } from "../assert_equals.js";
8
- import "../docloader.js";
9
- import "../url.js";
10
- import "../multibase.js";
11
- import { h as Multikey, o as CryptographicKey } from "../vocab.js";
12
- import "../langstr.js";
13
- import "../lookup.js";
14
- import "../actor.js";
15
- import { a as validateCryptoKey, i as importJwk, n as fetchKey, r as generateCryptoKeyPair, t as exportJwk } from "../key2.js";
16
- import { t as test } from "../testing.js";
17
- import "../std__assert.js";
18
- import { t as assertRejects } from "../assert_rejects.js";
19
- import "../assert_is_error.js";
20
- import { t as assertThrows } from "../assert_throws.js";
21
- import { t as mockDocumentLoader } from "../docloader2.js";
22
- import { c as rsaPublicKey3, i as rsaPrivateKey2, o as rsaPublicKey1, s as rsaPublicKey2, t as ed25519Multikey } from "../keys.js";
6
+ import "../chunk-DvTpRkcT.js";
7
+ import { t as assertEquals } from "../assert_equals-Dy0MG_Zw.js";
8
+ import "../docloader-I3SkMpZK.js";
9
+ import "../url-BdNvnK9P.js";
10
+ import "../multibase-DBcKTV2a.js";
11
+ import { h as Multikey, o as CryptographicKey } from "../vocab-B8zleLsO.js";
12
+ import "../langstr-pFHBDU4y.js";
13
+ import "../lookup-CoCshjhM.js";
14
+ import "../actor-BzWaWDTY.js";
15
+ import { a as validateCryptoKey, i as importJwk, n as fetchKey, r as generateCryptoKeyPair, t as exportJwk } from "../key-Ba-IjS2c.js";
16
+ import { t as test } from "../testing-qaAD4B0t.js";
17
+ import "../std__assert-BdP_WkD-.js";
18
+ import { t as assertRejects } from "../assert_rejects-Bkh5lA1a.js";
19
+ import "../assert_is_error-CIYFACrT.js";
20
+ import { t as assertThrows } from "../assert_throws-CmpfkWEM.js";
21
+ import { t as mockDocumentLoader } from "../docloader-BDSHZfTJ.js";
22
+ import { c as rsaPublicKey3, i as rsaPrivateKey2, o as rsaPublicKey1, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-CLFIvF3E.js";
23
23
 
24
24
  //#region sig/key.test.ts
25
25
  test("validateCryptoKey()", async () => {
@@ -3,24 +3,24 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../chunk.js";
7
- import { t as assertEquals } from "../assert_equals.js";
8
- import { t as assert } from "../assert.js";
9
- import "../docloader.js";
10
- import "../url.js";
11
- import "../multibase.js";
12
- import { o as CryptographicKey } from "../vocab.js";
13
- import "../langstr.js";
14
- import "../lookup.js";
15
- import "../actor.js";
16
- import { r as generateCryptoKeyPair } from "../key2.js";
17
- import { a as signJsonLd, n as createSignature, o as verifyJsonLd, r as detachSignature, s as verifySignature, t as attachSignature } from "../ld.js";
18
- import { t as test } from "../testing.js";
19
- import { n as assertFalse, t as assertRejects } from "../assert_rejects.js";
20
- import "../assert_is_error.js";
21
- import { t as assertThrows } from "../assert_throws.js";
22
- import { t as mockDocumentLoader } from "../docloader2.js";
23
- import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys.js";
6
+ import "../chunk-DvTpRkcT.js";
7
+ import { t as assertEquals } from "../assert_equals-Dy0MG_Zw.js";
8
+ import { t as assert } from "../assert-C-mZuSQl.js";
9
+ import "../docloader-I3SkMpZK.js";
10
+ import "../url-BdNvnK9P.js";
11
+ import "../multibase-DBcKTV2a.js";
12
+ import { o as CryptographicKey } from "../vocab-B8zleLsO.js";
13
+ import "../langstr-pFHBDU4y.js";
14
+ import "../lookup-CoCshjhM.js";
15
+ import "../actor-BzWaWDTY.js";
16
+ import { r as generateCryptoKeyPair } from "../key-Ba-IjS2c.js";
17
+ import { a as signJsonLd, n as createSignature, o as verifyJsonLd, r as detachSignature, s as verifySignature, t as attachSignature } from "../ld-Dm1tdWDX.js";
18
+ import { t as test } from "../testing-qaAD4B0t.js";
19
+ import { n as assertFalse, t as assertRejects } from "../assert_rejects-Bkh5lA1a.js";
20
+ import "../assert_is_error-CIYFACrT.js";
21
+ import { t as assertThrows } from "../assert_throws-CmpfkWEM.js";
22
+ import { t as mockDocumentLoader } from "../docloader-BDSHZfTJ.js";
23
+ import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-CLFIvF3E.js";
24
24
  import { encodeBase64 } from "byte-encodings/base64";
25
25
 
26
26
  //#region sig/ld.test.ts
@@ -3,26 +3,26 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../chunk.js";
7
- import { t as assertEquals } from "../assert_equals.js";
8
- import { t as assert } from "../assert.js";
9
- import "../docloader.js";
10
- import "../url.js";
11
- import "../multibase.js";
12
- import { a as Create } from "../vocab.js";
13
- import "../langstr.js";
14
- import "../lookup.js";
15
- import "../actor.js";
16
- import "../key2.js";
17
- import { n as getKeyOwner, t as doesActorOwnKey } from "../owner.js";
18
- import { t as lookupObject } from "../lookup2.js";
19
- import { t as test } from "../testing.js";
20
- import "../std__assert.js";
21
- import { n as assertFalse } from "../assert_rejects.js";
22
- import "../assert_is_error.js";
23
- import "../assert_throws.js";
24
- import { t as mockDocumentLoader } from "../docloader2.js";
25
- import { o as rsaPublicKey1, s as rsaPublicKey2 } from "../keys.js";
6
+ import "../chunk-DvTpRkcT.js";
7
+ import { t as assertEquals } from "../assert_equals-Dy0MG_Zw.js";
8
+ import { t as assert } from "../assert-C-mZuSQl.js";
9
+ import "../docloader-I3SkMpZK.js";
10
+ import "../url-BdNvnK9P.js";
11
+ import "../multibase-DBcKTV2a.js";
12
+ import { a as Create } from "../vocab-B8zleLsO.js";
13
+ import "../langstr-pFHBDU4y.js";
14
+ import "../lookup-CoCshjhM.js";
15
+ import "../actor-BzWaWDTY.js";
16
+ import "../key-Ba-IjS2c.js";
17
+ import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-BO3ZhyYg.js";
18
+ import { t as lookupObject } from "../lookup-BumKjgCt.js";
19
+ import { t as test } from "../testing-qaAD4B0t.js";
20
+ import "../std__assert-BdP_WkD-.js";
21
+ import { n as assertFalse } from "../assert_rejects-Bkh5lA1a.js";
22
+ import "../assert_is_error-CIYFACrT.js";
23
+ import "../assert_throws-CmpfkWEM.js";
24
+ import { t as mockDocumentLoader } from "../docloader-BDSHZfTJ.js";
25
+ import { o as rsaPublicKey1, s as rsaPublicKey2 } from "../keys-CLFIvF3E.js";
26
26
 
27
27
  //#region sig/owner.test.ts
28
28
  test("doesActorOwnKey()", async () => {
@@ -3,25 +3,25 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../chunk.js";
7
- import { t as assertEquals } from "../assert_equals.js";
8
- import { t as assertInstanceOf } from "../assert_instance_of.js";
9
- import "../docloader.js";
10
- import "../url.js";
11
- import { t as decode } from "../multibase.js";
12
- import { C as Place, a as Create, g as Note, h as Multikey, j as importMultibaseKey, s as DataIntegrityProof } from "../vocab.js";
13
- import "../langstr.js";
14
- import "../lookup.js";
15
- import "../actor.js";
16
- import "../key2.js";
17
- import { i as verifyProof, n as signObject, r as verifyObject, t as createProof } from "../proof.js";
18
- import { t as test } from "../testing.js";
19
- import "../std__assert.js";
20
- import { t as assertRejects } from "../assert_rejects.js";
21
- import "../assert_is_error.js";
22
- import "../assert_throws.js";
23
- import { t as mockDocumentLoader } from "../docloader2.js";
24
- import { i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys.js";
6
+ import "../chunk-DvTpRkcT.js";
7
+ import { t as assertEquals } from "../assert_equals-Dy0MG_Zw.js";
8
+ import { t as assertInstanceOf } from "../assert_instance_of-lS0Jr2iu.js";
9
+ import "../docloader-I3SkMpZK.js";
10
+ import "../url-BdNvnK9P.js";
11
+ import { t as decode } from "../multibase-DBcKTV2a.js";
12
+ import { C as Place, a as Create, g as Note, h as Multikey, j as importMultibaseKey, s as DataIntegrityProof } from "../vocab-B8zleLsO.js";
13
+ import "../langstr-pFHBDU4y.js";
14
+ import "../lookup-CoCshjhM.js";
15
+ import "../actor-BzWaWDTY.js";
16
+ import "../key-Ba-IjS2c.js";
17
+ import { i as verifyProof, n as signObject, r as verifyObject, t as createProof } from "../proof-Btlfk6hr.js";
18
+ import { t as test } from "../testing-qaAD4B0t.js";
19
+ import "../std__assert-BdP_WkD-.js";
20
+ import { t as assertRejects } from "../assert_rejects-Bkh5lA1a.js";
21
+ import "../assert_is_error-CIYFACrT.js";
22
+ import "../assert_throws-CmpfkWEM.js";
23
+ import { t as mockDocumentLoader } from "../docloader-BDSHZfTJ.js";
24
+ import { i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-CLFIvF3E.js";
25
25
  import { decodeHex, encodeHex } from "byte-encodings/hex";
26
26
 
27
27
  //#region sig/proof.test.ts
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { a as diff, i as diffStr, o as buildMessage, r as format, s as red, u as AssertionError } from "./assert_equals.js";
6
+ import { a as diff, i as diffStr, o as buildMessage, r as format, s as red, u as AssertionError } from "./assert_equals-Dy0MG_Zw.js";
7
7
 
8
8
  //#region node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_exists.js
9
9
  /**
@@ -3,14 +3,14 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../chunk.js";
7
- import { t as assertEquals } from "../assert_equals.js";
8
- import { t as test } from "../testing.js";
9
- import "../std__assert.js";
10
- import "../assert_rejects.js";
11
- import "../assert_is_error.js";
12
- import "../assert_throws.js";
13
- import { t as mockDocumentLoader } from "../docloader2.js";
6
+ import "../chunk-DvTpRkcT.js";
7
+ import { t as assertEquals } from "../assert_equals-Dy0MG_Zw.js";
8
+ import { t as test } from "../testing-qaAD4B0t.js";
9
+ import "../std__assert-BdP_WkD-.js";
10
+ import "../assert_rejects-Bkh5lA1a.js";
11
+ import "../assert_is_error-CIYFACrT.js";
12
+ import "../assert_throws-CmpfkWEM.js";
13
+ import { t as mockDocumentLoader } from "../docloader-BDSHZfTJ.js";
14
14
 
15
15
  //#region testing/docloader.test.ts
16
16
  test("mockDocumentLoader()", async () => {
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../chunk.js";
7
- import { n as testDefinitions, t as test } from "../testing.js";
6
+ import "../chunk-DvTpRkcT.js";
7
+ import { n as testDefinitions, t as test } from "../testing-qaAD4B0t.js";
8
8
 
9
9
  export { test, testDefinitions };
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { r as __require } from "./chunk.js";
6
+ import { r as __require } from "./chunk-DvTpRkcT.js";
7
7
  import { configure, getConsoleSink, reset } from "@logtape/logtape";
8
8
 
9
9
  //#region testing/mod.ts
@@ -0,0 +1,51 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+ globalThis.addEventListener = () => {};
5
+
6
+ import { t as formatSemVer } from "./semver-D9d-VO-_.js";
7
+
8
+ //#region nodeinfo/types.ts
9
+ /**
10
+ * Converts a {@link NodeInfo} object to a JSON value.
11
+ * @param nodeInfo The {@link NodeInfo} object to convert.
12
+ * @returns The JSON value that complies with the NodeInfo schema.
13
+ * @throws {TypeError} If the {@link NodeInfo} object is invalid.
14
+ */
15
+ function nodeInfoToJson(nodeInfo) {
16
+ if (!nodeInfo.software.name.match(/^[a-z0-9-]+$/)) throw new TypeError("Invalid software name.");
17
+ if (nodeInfo.protocols.length < 1) throw new TypeError("At least one protocol must be supported.");
18
+ if (nodeInfo.usage.users.total != null && (nodeInfo.usage.users.total < 0 || !Number.isInteger(nodeInfo.usage.users.total))) throw new TypeError("Invalid total users.");
19
+ if (nodeInfo.usage.users.activeHalfyear != null && (nodeInfo.usage.users.activeHalfyear < 0 || !Number.isInteger(nodeInfo.usage.users.activeHalfyear))) throw new TypeError("Invalid active halfyear users.");
20
+ if (nodeInfo.usage.users.activeMonth != null && (nodeInfo.usage.users.activeMonth < 0 || !Number.isInteger(nodeInfo.usage.users.activeMonth))) throw new TypeError("Invalid active month users.");
21
+ if (nodeInfo.usage.localPosts < 0 || !Number.isInteger(nodeInfo.usage.localPosts)) throw new TypeError("Invalid local posts.");
22
+ if (nodeInfo.usage.localComments < 0 || !Number.isInteger(nodeInfo.usage.localComments)) throw new TypeError("Invalid local comments.");
23
+ return {
24
+ "$schema": "http://nodeinfo.diaspora.software/ns/schema/2.1#",
25
+ version: "2.1",
26
+ software: {
27
+ name: nodeInfo.software.name,
28
+ version: formatSemVer(nodeInfo.software.version),
29
+ repository: nodeInfo.software.repository?.href,
30
+ homepage: nodeInfo.software.homepage?.href
31
+ },
32
+ protocols: nodeInfo.protocols,
33
+ services: nodeInfo.services == null ? {
34
+ inbound: [],
35
+ outbound: []
36
+ } : {
37
+ inbound: nodeInfo.services.inbound ?? [],
38
+ outbound: nodeInfo.services.outbound ?? []
39
+ },
40
+ openRegistrations: nodeInfo.openRegistrations ?? false,
41
+ usage: {
42
+ users: nodeInfo.usage.users,
43
+ localPosts: nodeInfo.usage.localPosts,
44
+ localComments: nodeInfo.usage.localComments
45
+ },
46
+ metadata: nodeInfo.metadata ?? {}
47
+ };
48
+ }
49
+
50
+ //#endregion
51
+ export { nodeInfoToJson as t };