@fedify/vocab-runtime 2.2.0-dev.613 → 2.2.0-dev.622

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 (56) hide show
  1. package/deno.json +1 -1
  2. package/dist/{chunk-CUT6urMc.cjs → chunk-CKQMccvm.cjs} +7 -9
  3. package/dist/jsonld.cjs +4 -5
  4. package/dist/jsonld.d.cts +3 -4
  5. package/dist/jsonld.d.ts +2 -2
  6. package/dist/jsonld.js +1 -3
  7. package/dist/mod.cjs +80 -170
  8. package/dist/mod.d.cts +1 -2
  9. package/dist/mod.d.ts +1 -2
  10. package/dist/mod.js +56 -149
  11. package/dist/tests/{chunk-DWy1uDak.cjs → chunk-Do9eywBl.cjs} +13 -17
  12. package/dist/tests/decimal.test.cjs +12 -21
  13. package/dist/tests/{decimal.test.js → decimal.test.mjs} +10 -18
  14. package/dist/tests/{docloader-DEi540Xh.js → docloader-CLla_XnE.mjs} +35 -65
  15. package/dist/tests/{docloader-txRGFv1x.cjs → docloader-WtKuh5yf.cjs} +51 -81
  16. package/dist/tests/docloader.test.cjs +53 -90
  17. package/dist/tests/{docloader.test.js → docloader.test.mjs} +53 -96
  18. package/dist/tests/internal/multicodec.test.cjs +5 -7
  19. package/dist/tests/internal/{multicodec.test.js → multicodec.test.mjs} +3 -4
  20. package/dist/tests/{key-ByCmSI2y.js → key-BeTHFQJK.mjs} +14 -25
  21. package/dist/tests/{key-CCPn6TEY.cjs → key-DTTIntwb.cjs} +60 -71
  22. package/dist/tests/key.test.cjs +23 -45
  23. package/dist/tests/{key.test.js → key.test.mjs} +21 -42
  24. package/dist/tests/{langstr-EPh86hXK.cjs → langstr-CbAxaeEZ.cjs} +6 -8
  25. package/dist/tests/{langstr-BsVE3s9u.js → langstr-Di5AvKpB.mjs} +1 -2
  26. package/dist/tests/langstr.test.cjs +7 -8
  27. package/dist/tests/{langstr.test.js → langstr.test.mjs} +3 -4
  28. package/dist/tests/{link-DYNFAdNu.cjs → link-FguCydMA.cjs} +6 -8
  29. package/dist/tests/{link-C3q2TC2G.js → link-NUUWCdnK.mjs} +1 -2
  30. package/dist/tests/link.test.cjs +5 -7
  31. package/dist/tests/{link.test.js → link.test.mjs} +3 -4
  32. package/dist/tests/multibase/multibase.test.cjs +10 -17
  33. package/dist/tests/multibase/{multibase.test.js → multibase.test.mjs} +10 -18
  34. package/dist/tests/{multibase-B4g8pz6F.js → multibase-BgU9XRf7.mjs} +5 -12
  35. package/dist/tests/{multibase-o_ovPHYJ.cjs → multibase-F7LtMMsK.cjs} +43 -49
  36. package/dist/tests/{multicodec--6hQ74zI.cjs → multicodec-CxGVGa91.cjs} +16 -18
  37. package/dist/tests/{multicodec-Dq3IiOV4.js → multicodec-CyFp54fI.mjs} +1 -2
  38. package/dist/tests/{request-73FIhAHw.cjs → request-B7F8mcfm.cjs} +38 -72
  39. package/dist/tests/{request-BO6hGoBJ.js → request-DeDrepIV.mjs} +4 -45
  40. package/dist/tests/request.test.cjs +23 -24
  41. package/dist/tests/request.test.mjs +42 -0
  42. package/dist/tests/{url-CWEP9Zs9.js → url-BQ_kgmCk.mjs} +3 -7
  43. package/dist/tests/{url-DIjOdK8Q.cjs → url-pFuSds44.cjs} +31 -35
  44. package/dist/tests/url.test.cjs +5 -7
  45. package/dist/tests/{url.test.js → url.test.mjs} +3 -4
  46. package/package.json +3 -3
  47. package/dist/tests/request.test.js +0 -43
  48. /package/dist/tests/{decimal.test.d.ts → decimal.test.d.mts} +0 -0
  49. /package/dist/tests/{docloader.test.d.ts → docloader.test.d.mts} +0 -0
  50. /package/dist/tests/internal/{multicodec.test.d.ts → multicodec.test.d.mts} +0 -0
  51. /package/dist/tests/{key.test.d.ts → key.test.d.mts} +0 -0
  52. /package/dist/tests/{langstr.test.d.ts → langstr.test.d.mts} +0 -0
  53. /package/dist/tests/{link.test.d.ts → link.test.d.mts} +0 -0
  54. /package/dist/tests/multibase/{multibase.test.d.ts → multibase.test.d.mts} +0 -0
  55. /package/dist/tests/{request.test.d.ts → request.test.d.mts} +0 -0
  56. /package/dist/tests/{url.test.d.ts → url.test.d.mts} +0 -0
package/dist/mod.cjs CHANGED
@@ -1,18 +1,20 @@
1
- const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
3
- const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
4
- const node_process = require_chunk.__toESM(require("node:process"));
5
- const node_dns_promises = require_chunk.__toESM(require("node:dns/promises"));
6
- const node_net = require_chunk.__toESM(require("node:net"));
7
- const asn1js = require_chunk.__toESM(require("asn1js"));
8
- const byte_encodings_base64 = require_chunk.__toESM(require("byte-encodings/base64"));
9
- const byte_encodings_base64url = require_chunk.__toESM(require("byte-encodings/base64url"));
10
- const node_crypto = require_chunk.__toESM(require("node:crypto"));
11
- const pkijs = require_chunk.__toESM(require("pkijs"));
12
- const __multiformats_base_x = require_chunk.__toESM(require("@multiformats/base-x"));
13
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("./chunk-CKQMccvm.cjs");
3
+ let _logtape_logtape = require("@logtape/logtape");
4
+ let _opentelemetry_api = require("@opentelemetry/api");
5
+ let node_process = require("node:process");
6
+ node_process = require_chunk.__toESM(node_process);
7
+ let node_dns_promises = require("node:dns/promises");
8
+ let node_net = require("node:net");
9
+ let asn1js = require("asn1js");
10
+ let byte_encodings_base64 = require("byte-encodings/base64");
11
+ let byte_encodings_base64url = require("byte-encodings/base64url");
12
+ let node_crypto = require("node:crypto");
13
+ let pkijs = require("pkijs");
14
+ let _multiformats_base_x = require("@multiformats/base-x");
15
+ _multiformats_base_x = require_chunk.__toESM(_multiformats_base_x);
14
16
  //#region src/contexts/activitystreams.json
15
- var __context$11 = {
17
+ var activitystreams_default = { "@context": {
16
18
  "@vocab": "_:",
17
19
  "xsd": "http://www.w3.org/2001/XMLSchema#",
18
20
  "as": "https://www.w3.org/ns/activitystreams#",
@@ -388,12 +390,10 @@ var __context$11 = {
388
390
  "@id": "as:alsoKnownAs",
389
391
  "@type": "@id"
390
392
  }
391
- };
392
- var activitystreams_default = { "@context": __context$11 };
393
-
393
+ } };
394
394
  //#endregion
395
395
  //#region src/contexts/did-v1.json
396
- var __context$10 = {
396
+ var did_v1_default = { "@context": {
397
397
  "@protected": true,
398
398
  "id": "@id",
399
399
  "type": "@type",
@@ -447,12 +447,10 @@ var __context$10 = {
447
447
  "@id": "https://w3id.org/security#verificationMethod",
448
448
  "@type": "@id"
449
449
  }
450
- };
451
- var did_v1_default = { "@context": __context$10 };
452
-
450
+ } };
453
451
  //#endregion
454
452
  //#region src/contexts/fep-5711.json
455
- var __context$9 = {
453
+ var fep_5711_default = { "@context": {
456
454
  "likesOf": {
457
455
  "@id": "https://w3id.org/fep/5711#likesOf",
458
456
  "@type": "@id"
@@ -485,12 +483,10 @@ var __context$9 = {
485
483
  "@id": "https://w3id.org/fep/5711#likedOf",
486
484
  "@type": "@id"
487
485
  }
488
- };
489
- var fep_5711_default = { "@context": __context$9 };
490
-
486
+ } };
491
487
  //#endregion
492
488
  //#region src/contexts/gotosocial.json
493
- var __context$8 = {
489
+ var gotosocial_default = { "@context": {
494
490
  "xsd": "http://www.w3.org/2001/XMLSchema#",
495
491
  "gts": "https://gotosocial.org/ns#",
496
492
  "LikeRequest": "gts:LikeRequest",
@@ -573,12 +569,10 @@ var __context$8 = {
573
569
  "@id": "gts:approvedBy",
574
570
  "@type": "@id"
575
571
  }
576
- };
577
- var gotosocial_default = { "@context": __context$8 };
578
-
572
+ } };
579
573
  //#endregion
580
574
  //#region src/contexts/identity-v1.json
581
- var __context$7 = {
575
+ var identity_v1_default = { "@context": {
582
576
  "id": "@id",
583
577
  "type": "@type",
584
578
  "cred": "https://w3id.org/credentials#",
@@ -727,12 +721,10 @@ var __context$7 = {
727
721
  "@id": "perm:writePermission",
728
722
  "@type": "@id"
729
723
  }
730
- };
731
- var identity_v1_default = { "@context": __context$7 };
732
-
724
+ } };
733
725
  //#endregion
734
726
  //#region src/contexts/joinmastodon.json
735
- var __context$6 = {
727
+ var joinmastodon_default = { "@context": {
736
728
  "toot": "http://joinmastodon.org/ns#",
737
729
  "Emoji": "toot:Emoji",
738
730
  "featured": {
@@ -757,12 +749,10 @@ var __context$6 = {
757
749
  "@id": "toot:attributionDomains",
758
750
  "@type": "@id"
759
751
  }
760
- };
761
- var joinmastodon_default = { "@context": __context$6 };
762
-
752
+ } };
763
753
  //#endregion
764
754
  //#region src/contexts/schemaorg.json
765
- var __context$5 = {
755
+ var schemaorg_default = { "@context": {
766
756
  "type": "@type",
767
757
  "id": "@id",
768
758
  "HTML": { "@id": "rdf:HTML" },
@@ -4064,12 +4054,10 @@ var __context$5 = {
4064
4054
  "yearlyRevenue": { "@id": "schema:yearlyRevenue" },
4065
4055
  "yearsInOperation": { "@id": "schema:yearsInOperation" },
4066
4056
  "yield": { "@id": "schema:yield" }
4067
- };
4068
- var schemaorg_default = { "@context": __context$5 };
4069
-
4057
+ } };
4070
4058
  //#endregion
4071
4059
  //#region src/contexts/security-data-integrity-v1.json
4072
- var __context$4 = {
4060
+ var security_data_integrity_v1_default = { "@context": {
4073
4061
  "id": "@id",
4074
4062
  "type": "@type",
4075
4063
  "@protected": true,
@@ -4144,12 +4132,10 @@ var __context$4 = {
4144
4132
  }
4145
4133
  }
4146
4134
  }
4147
- };
4148
- var security_data_integrity_v1_default = { "@context": __context$4 };
4149
-
4135
+ } };
4150
4136
  //#endregion
4151
4137
  //#region src/contexts/security-data-integrity-v2.json
4152
- var __context$3 = {
4138
+ var security_data_integrity_v2_default = { "@context": {
4153
4139
  "id": "@id",
4154
4140
  "type": "@type",
4155
4141
  "@protected": true,
@@ -4227,12 +4213,10 @@ var __context$3 = {
4227
4213
  }
4228
4214
  }
4229
4215
  }
4230
- };
4231
- var security_data_integrity_v2_default = { "@context": __context$3 };
4232
-
4216
+ } };
4233
4217
  //#endregion
4234
4218
  //#region src/contexts/security-multikey-v1.json
4235
- var __context$2 = {
4219
+ var security_multikey_v1_default = { "@context": {
4236
4220
  "id": "@id",
4237
4221
  "type": "@type",
4238
4222
  "@protected": true,
@@ -4264,12 +4248,10 @@ var __context$2 = {
4264
4248
  }
4265
4249
  }
4266
4250
  }
4267
- };
4268
- var security_multikey_v1_default = { "@context": __context$2 };
4269
-
4251
+ } };
4270
4252
  //#endregion
4271
4253
  //#region src/contexts/security-v1.json
4272
- var __context$1 = {
4254
+ var security_v1_default = { "@context": {
4273
4255
  "id": "@id",
4274
4256
  "type": "@type",
4275
4257
  "dc": "http://purl.org/dc/terms/",
@@ -4340,21 +4322,17 @@ var __context$1 = {
4340
4322
  "signature": "sec:signature",
4341
4323
  "signatureAlgorithm": "sec:signingAlgorithm",
4342
4324
  "signatureValue": "sec:signatureValue"
4343
- };
4344
- var security_v1_default = { "@context": __context$1 };
4345
-
4325
+ } };
4346
4326
  //#endregion
4347
4327
  //#region src/contexts/webfinger.json
4348
- var __context = {
4328
+ var webfinger_default = { "@context": {
4349
4329
  "wf": "https://purl.archive.org/socialweb/webfinger#",
4350
4330
  "xsd": "http://www.w3.org/2001/XMLSchema#",
4351
4331
  "webfinger": {
4352
4332
  "@id": "wf:webfinger",
4353
4333
  "@type": "xsd:string"
4354
4334
  }
4355
- };
4356
- var webfinger_default = { "@context": __context };
4357
-
4335
+ } };
4358
4336
  //#endregion
4359
4337
  //#region src/contexts.ts
4360
4338
  const preloadedContexts = {
@@ -4371,50 +4349,10 @@ const preloadedContexts = {
4371
4349
  "https://w3id.org/fep/5711": fep_5711_default,
4372
4350
  "http://joinmastodon.org/ns": joinmastodon_default
4373
4351
  };
4374
- var contexts_default = preloadedContexts;
4375
-
4376
4352
  //#endregion
4377
4353
  //#region deno.json
4378
4354
  var name = "@fedify/vocab-runtime";
4379
- var version = "2.2.0-dev.613+cf8cd122";
4380
- var license = "MIT";
4381
- var exports$1 = {
4382
- ".": "./src/mod.ts",
4383
- "./jsonld": "./src/jsonld.ts"
4384
- };
4385
- var description = "Runtime library for @fedify/vocab";
4386
- var author = {
4387
- "name": "Hong Minhee",
4388
- "email": "hong@minhee.org",
4389
- "url": "https://hongminhee.org/"
4390
- };
4391
- var imports = {
4392
- "@multiformats/base-x": "npm:@multiformats/base-x@^4.0.1",
4393
- "asn1js": "npm:asn1js@^3.0.6",
4394
- "byte-encodings": "npm:byte-encodings@^1.0.11",
4395
- "fetch-mock": "npm:fetch-mock@^12.5.4",
4396
- "jsonld": "npm:jsonld@^9.0.0",
4397
- "pkijs": "npm:pkijs@^3.2.5"
4398
- };
4399
- var exclude = ["dist", "node_modules"];
4400
- var publish = { "exclude": ["**/*.test.ts", "tsdown.config.ts"] };
4401
- var tasks = {
4402
- "check": "deno fmt --check && deno lint && deno check src/*.ts",
4403
- "test": "deno test"
4404
- };
4405
- var deno_default = {
4406
- name,
4407
- version,
4408
- license,
4409
- exports: exports$1,
4410
- description,
4411
- author,
4412
- imports,
4413
- exclude,
4414
- publish,
4415
- tasks
4416
- };
4417
-
4355
+ var version = "2.2.0-dev.622+e54cb037";
4418
4356
  //#endregion
4419
4357
  //#region src/link.ts
4420
4358
  const parametersNeedLowerCase = ["rel", "type"];
@@ -4596,7 +4534,6 @@ var HttpHeaderLink = class HttpHeaderLink {
4596
4534
  return new this(...inputs).toString();
4597
4535
  }
4598
4536
  };
4599
-
4600
4537
  //#endregion
4601
4538
  //#region src/request.ts
4602
4539
  /**
@@ -4648,27 +4585,25 @@ function createActivityPubRequest(url, options = {}) {
4648
4585
  * @since 1.3.0
4649
4586
  */
4650
4587
  function getUserAgent({ software, url } = {}) {
4651
- const fedify = `Fedify/${deno_default.version}`;
4588
+ const fedify = `Fedify/${version}`;
4652
4589
  const runtime = globalThis.Deno?.version?.deno != null ? `Deno/${Deno.version.deno}` : globalThis.process?.versions?.bun != null ? `Bun/${node_process.default.versions.bun}` : "navigator" in globalThis && navigator.userAgent === "Cloudflare-Workers" ? navigator.userAgent : globalThis.process?.versions?.node != null ? `Node.js/${node_process.default.versions.node}` : null;
4653
4590
  const userAgent = software == null ? [fedify] : [software, fedify];
4654
4591
  if (runtime != null) userAgent.push(runtime);
4655
4592
  if (url != null) userAgent.push(`+${url.toString()}`);
4656
- const first = userAgent.shift();
4657
- return `${first} (${userAgent.join("; ")})`;
4593
+ return `${userAgent.shift()} (${userAgent.join("; ")})`;
4658
4594
  }
4659
4595
  /**
4660
4596
  * Logs the request.
4661
4597
  * @param request The request to log.
4662
4598
  * @internal
4663
4599
  */
4664
- function logRequest(logger$1, request) {
4665
- logger$1.debug("Fetching document: {method} {url} {headers}", {
4600
+ function logRequest(logger, request) {
4601
+ logger.debug("Fetching document: {method} {url} {headers}", {
4666
4602
  method: request.method,
4667
4603
  url: request.url,
4668
4604
  headers: Object.fromEntries(request.headers.entries())
4669
4605
  });
4670
4606
  }
4671
-
4672
4607
  //#endregion
4673
4608
  //#region src/url.ts
4674
4609
  var UrlError = class extends Error {
@@ -4687,8 +4622,7 @@ async function validatePublicUrl(url) {
4687
4622
  if (hostname.startsWith("[") && hostname.endsWith("]")) hostname = hostname.substring(1, hostname.length - 2);
4688
4623
  if (hostname === "localhost") throw new UrlError("Localhost is not allowed");
4689
4624
  if ("Deno" in globalThis && !(0, node_net.isIP)(hostname)) {
4690
- const netPermission = await Deno.permissions.query({ name: "net" });
4691
- if (netPermission.state !== "granted") return;
4625
+ if ((await Deno.permissions.query({ name: "net" })).state !== "granted") return;
4692
4626
  }
4693
4627
  if ("Bun" in globalThis) {
4694
4628
  if (hostname === "example.com" || hostname.endsWith(".example.com")) return;
@@ -4724,13 +4658,11 @@ function expandIPv6Address(address) {
4724
4658
  if (address.startsWith("::")) address = "0000" + address;
4725
4659
  if (address.endsWith("::")) address = address + "0000";
4726
4660
  address = address.replace("::", ":0000".repeat(8 - (address.match(/:/g) || []).length) + ":");
4727
- const parts = address.split(":");
4728
- return parts.map((part) => part.padStart(4, "0")).join(":");
4661
+ return address.split(":").map((part) => part.padStart(4, "0")).join(":");
4729
4662
  }
4730
-
4731
4663
  //#endregion
4732
4664
  //#region src/docloader.ts
4733
- const logger = (0, __logtape_logtape.getLogger)([
4665
+ const logger = (0, _logtape_logtape.getLogger)([
4734
4666
  "fedify",
4735
4667
  "runtime",
4736
4668
  "docloader"
@@ -4745,7 +4677,7 @@ const DEFAULT_MAX_REDIRECTION = 20;
4745
4677
  * @throws {FetchError} If the response is not OK.
4746
4678
  * @internal
4747
4679
  */
4748
- async function getRemoteDocument(url, response, fetch$1) {
4680
+ async function getRemoteDocument(url, response, fetch) {
4749
4681
  const documentUrl = response.url === "" ? url : response.url;
4750
4682
  const docUrl = new URL(documentUrl);
4751
4683
  if (!response.ok) {
@@ -4783,7 +4715,7 @@ async function getRemoteDocument(url, response, fetch$1) {
4783
4715
  alternateUrl: altUri.href,
4784
4716
  url: documentUrl
4785
4717
  });
4786
- return await fetch$1(altUri.href);
4718
+ return await fetch(altUri.href);
4787
4719
  }
4788
4720
  }
4789
4721
  }
@@ -4809,15 +4741,14 @@ async function getRemoteDocument(url, response, fetch$1) {
4809
4741
  attrPattern.lastIndex = 0;
4810
4742
  while ((attrMatch = attrPattern.exec(tagContent)) !== null) {
4811
4743
  const key = attrMatch[1].toLowerCase();
4812
- const value = attrMatch[2] ?? attrMatch[3] ?? attrMatch[4] ?? "";
4813
- attribs[key] = value;
4744
+ attribs[key] = attrMatch[2] ?? attrMatch[3] ?? attrMatch[4] ?? "";
4814
4745
  }
4815
4746
  if (attribs.rel === "alternate" && "type" in attribs && (attribs.type === "application/activity+json" || attribs.type === "application/ld+json" || attribs.type.startsWith("application/ld+json;")) && "href" in attribs && new URL(attribs.href, docUrl).href !== docUrl.href) {
4816
4747
  logger.debug("Found alternate document: {alternateUrl} from {url}", {
4817
4748
  alternateUrl: attribs.href,
4818
4749
  url: documentUrl
4819
4750
  });
4820
- return await fetch$1(new URL(attribs.href, docUrl).href);
4751
+ return await fetch(new URL(attribs.href, docUrl).href);
4821
4752
  }
4822
4753
  }
4823
4754
  document = JSON.parse(html);
@@ -4852,17 +4783,16 @@ async function getRemoteDocument(url, response, fetch$1) {
4852
4783
  * @since 1.3.0
4853
4784
  */
4854
4785
  function getDocumentLoader({ allowPrivateAddress, maxRedirection, skipPreloadedContexts, userAgent } = {}) {
4855
- const tracerProvider = __opentelemetry_api.trace.getTracerProvider();
4856
- const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
4786
+ const tracer = _opentelemetry_api.trace.getTracerProvider().getTracer(name, version);
4857
4787
  const maximumRedirection = maxRedirection ?? DEFAULT_MAX_REDIRECTION;
4858
4788
  async function load(url, options, redirected = 0, visited = /* @__PURE__ */ new Set()) {
4859
4789
  options?.signal?.throwIfAborted();
4860
4790
  const currentUrl = new URL(url).href;
4861
- if (!skipPreloadedContexts && currentUrl in contexts_default) {
4791
+ if (!skipPreloadedContexts && currentUrl in preloadedContexts) {
4862
4792
  logger.debug("Using preloaded context: {url}.", { url: currentUrl });
4863
4793
  return {
4864
4794
  contextUrl: null,
4865
- document: contexts_default[currentUrl],
4795
+ document: preloadedContexts[currentUrl],
4866
4796
  documentUrl: currentUrl
4867
4797
  };
4868
4798
  }
@@ -4877,7 +4807,7 @@ function getDocumentLoader({ allowPrivateAddress, maxRedirection, skipPreloadedC
4877
4807
  }
4878
4808
  visited.add(currentUrl);
4879
4809
  return await tracer.startActiveSpan("activitypub.fetch_document", {
4880
- kind: __opentelemetry_api.SpanKind.CLIENT,
4810
+ kind: _opentelemetry_api.SpanKind.CLIENT,
4881
4811
  attributes: { "url.full": currentUrl }
4882
4812
  }, async (span) => {
4883
4813
  try {
@@ -4914,7 +4844,7 @@ function getDocumentLoader({ allowPrivateAddress, maxRedirection, skipPreloadedC
4914
4844
  } catch (error) {
4915
4845
  span.recordException(error);
4916
4846
  span.setStatus({
4917
- code: __opentelemetry_api.SpanStatusCode.ERROR,
4847
+ code: _opentelemetry_api.SpanStatusCode.ERROR,
4918
4848
  message: String(error)
4919
4849
  });
4920
4850
  throw error;
@@ -4925,7 +4855,6 @@ function getDocumentLoader({ allowPrivateAddress, maxRedirection, skipPreloadedC
4925
4855
  }
4926
4856
  return load;
4927
4857
  }
4928
-
4929
4858
  //#endregion
4930
4859
  //#region src/internal/multicodec.ts
4931
4860
  const INVALID_MULTICODEC_PREFIX = "Invalid multicodec prefix.";
@@ -4965,7 +4894,6 @@ function addMulticodecPrefix(code, payload) {
4965
4894
  prefixed.set(payload, prefix.length);
4966
4895
  return prefixed;
4967
4896
  }
4968
-
4969
4897
  //#endregion
4970
4898
  //#region src/jwk.ts
4971
4899
  function validateCryptoKey(key, type) {
@@ -4973,11 +4901,9 @@ function validateCryptoKey(key, type) {
4973
4901
  if (!key.extractable) throw new TypeError("The key is not extractable.");
4974
4902
  if (key.algorithm.name !== "RSASSA-PKCS1-v1_5" && key.algorithm.name !== "Ed25519") throw new TypeError("Currently only RSASSA-PKCS1-v1_5 and Ed25519 keys are supported. More algorithms will be added in the future!");
4975
4903
  if (key.algorithm.name === "RSASSA-PKCS1-v1_5") {
4976
- const algorithm = key.algorithm;
4977
- if (algorithm.hash.name !== "SHA-256") throw new TypeError("For compatibility with the existing Fediverse software (e.g., Mastodon), hash algorithm for RSASSA-PKCS1-v1_5 keys must be SHA-256.");
4904
+ if (key.algorithm.hash.name !== "SHA-256") throw new TypeError("For compatibility with the existing Fediverse software (e.g., Mastodon), hash algorithm for RSASSA-PKCS1-v1_5 keys must be SHA-256.");
4978
4905
  }
4979
4906
  }
4980
-
4981
4907
  //#endregion
4982
4908
  //#region src/multibase/util.ts
4983
4909
  const textDecoder = new TextDecoder();
@@ -4993,7 +4919,6 @@ function concat(arrs, length) {
4993
4919
  }
4994
4920
  return output;
4995
4921
  }
4996
-
4997
4922
  //#endregion
4998
4923
  //#region src/multibase/base.ts
4999
4924
  /**
@@ -5002,8 +4927,8 @@ function concat(arrs, length) {
5002
4927
  var Base = class {
5003
4928
  codeBuf;
5004
4929
  codec;
5005
- constructor(name$1, code, factory, alphabet) {
5006
- this.name = name$1;
4930
+ constructor(name, code, factory, alphabet) {
4931
+ this.name = name;
5007
4932
  this.code = code;
5008
4933
  this.alphabet = alphabet;
5009
4934
  this.codeBuf = encodeText(this.code);
@@ -5018,12 +4943,11 @@ var Base = class {
5018
4943
  return this.codec.decode(string);
5019
4944
  }
5020
4945
  };
5021
-
5022
4946
  //#endregion
5023
4947
  //#region src/multibase/rfc4648.ts
5024
4948
  const decode = (string, alphabet, bitsPerChar) => {
5025
- const codes$1 = {};
5026
- for (let i = 0; i < alphabet.length; ++i) codes$1[alphabet[i]] = i;
4949
+ const codes = {};
4950
+ for (let i = 0; i < alphabet.length; ++i) codes[alphabet[i]] = i;
5027
4951
  let end = string.length;
5028
4952
  while (string[end - 1] === "=") --end;
5029
4953
  const out = new Uint8Array(end * bitsPerChar / 8 | 0);
@@ -5031,7 +4955,7 @@ const decode = (string, alphabet, bitsPerChar) => {
5031
4955
  let buffer = 0;
5032
4956
  let written = 0;
5033
4957
  for (let i = 0; i < end; ++i) {
5034
- const value = codes$1[string[i]];
4958
+ const value = codes[string[i]];
5035
4959
  if (value === void 0) throw new SyntaxError("Invalid character " + string[i]);
5036
4960
  buffer = buffer << bitsPerChar | value;
5037
4961
  bits += bitsPerChar;
@@ -5074,7 +4998,6 @@ const rfc4648 = (bitsPerChar) => (alphabet) => {
5074
4998
  }
5075
4999
  };
5076
5000
  };
5077
-
5078
5001
  //#endregion
5079
5002
  //#region src/multibase/constants.ts
5080
5003
  const identity = () => {
@@ -5110,7 +5033,7 @@ const constants = [
5110
5033
  [
5111
5034
  "base10",
5112
5035
  "9",
5113
- __multiformats_base_x.default,
5036
+ _multiformats_base_x.default,
5114
5037
  "0123456789"
5115
5038
  ],
5116
5039
  [
@@ -5182,25 +5105,25 @@ const constants = [
5182
5105
  [
5183
5106
  "base36",
5184
5107
  "k",
5185
- __multiformats_base_x.default,
5108
+ _multiformats_base_x.default,
5186
5109
  "0123456789abcdefghijklmnopqrstuvwxyz"
5187
5110
  ],
5188
5111
  [
5189
5112
  "base36upper",
5190
5113
  "K",
5191
- __multiformats_base_x.default,
5114
+ _multiformats_base_x.default,
5192
5115
  "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
5193
5116
  ],
5194
5117
  [
5195
5118
  "base58btc",
5196
5119
  "z",
5197
- __multiformats_base_x.default,
5120
+ _multiformats_base_x.default,
5198
5121
  "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
5199
5122
  ],
5200
5123
  [
5201
5124
  "base58flickr",
5202
5125
  "Z",
5203
- __multiformats_base_x.default,
5126
+ _multiformats_base_x.default,
5204
5127
  "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"
5205
5128
  ],
5206
5129
  [
@@ -5236,7 +5159,6 @@ const codes = constants.reduce((prev, tupple) => {
5236
5159
  prev[tupple[1]] = names[tupple[0]];
5237
5160
  return prev;
5238
5161
  }, {});
5239
-
5240
5162
  //#endregion
5241
5163
  //#region src/multibase/mod.ts
5242
5164
  /**
@@ -5273,8 +5195,7 @@ function decodeMultibase(data) {
5273
5195
  "k",
5274
5196
  "K"
5275
5197
  ].includes(prefix)) data = data.toLowerCase();
5276
- const enc = encoding(data[0]);
5277
- return enc.decode(data.substring(1));
5198
+ return encoding(data[0]).decode(data.substring(1));
5278
5199
  }
5279
5200
  /**
5280
5201
  * Get the encoding by name or code
@@ -5296,7 +5217,6 @@ function encodingFromBaseData(data) {
5296
5217
  if (data instanceof Uint8Array) data = decodeText(data);
5297
5218
  return encoding(data[0]);
5298
5219
  }
5299
-
5300
5220
  //#endregion
5301
5221
  //#region src/key.ts
5302
5222
  const algorithms = {
@@ -5321,8 +5241,7 @@ async function importSpki(pem) {
5321
5241
  } catch (_) {
5322
5242
  throw new TypeError("Invalid PEM-SPKI format.");
5323
5243
  }
5324
- const pki = pkijs.PublicKeyInfo.fromBER(spki);
5325
- const oid = pki.algorithm.algorithmId;
5244
+ const oid = pkijs.PublicKeyInfo.fromBER(spki).algorithm.algorithmId;
5326
5245
  const algorithm = algorithms[oid];
5327
5246
  if (algorithm == null) throw new TypeError("Unsupported algorithm: " + oid);
5328
5247
  return await crypto.subtle.importKey("spki", spki, algorithm, true, ["verify"]);
@@ -5336,8 +5255,7 @@ async function importSpki(pem) {
5336
5255
  */
5337
5256
  async function exportSpki(key) {
5338
5257
  validateCryptoKey(key);
5339
- const spki = await crypto.subtle.exportKey("spki", key);
5340
- let pem = (0, byte_encodings_base64.encodeBase64)(spki);
5258
+ let pem = (0, byte_encodings_base64.encodeBase64)(await crypto.subtle.exportKey("spki", key));
5341
5259
  pem = (pem.match(/.{1,64}/g) || []).join("\n");
5342
5260
  return `-----BEGIN PUBLIC KEY-----\n${pem}\n-----END PUBLIC KEY-----\n`;
5343
5261
  }
@@ -5349,16 +5267,14 @@ async function exportSpki(key) {
5349
5267
  * @since 1.5.0
5350
5268
  */
5351
5269
  function importPkcs1(pem) {
5352
- const key = (0, node_crypto.createPublicKey)({
5270
+ return importSpki((0, node_crypto.createPublicKey)({
5353
5271
  key: pem,
5354
5272
  format: "pem",
5355
5273
  type: "pkcs1"
5356
- });
5357
- const spki = key.export({
5274
+ }).export({
5358
5275
  type: "spki",
5359
5276
  format: "pem"
5360
- });
5361
- return importSpki(spki);
5277
+ }));
5362
5278
  }
5363
5279
  const PKCS1_HEADER = /^\s*-----BEGIN\s+RSA\s+PUBLIC\s+KEY-----\s*\n/;
5364
5280
  /**
@@ -5385,12 +5301,11 @@ async function importMultibaseKey(key) {
5385
5301
  const { code } = getMulticodecPrefix(decoded);
5386
5302
  const content = removeMulticodecPrefix(decoded);
5387
5303
  if (code === 4613) {
5388
- const keyObject = (0, node_crypto.createPublicKey)({
5304
+ const exported = (0, node_crypto.createPublicKey)({
5389
5305
  key: content,
5390
5306
  format: "der",
5391
5307
  type: "pkcs1"
5392
- });
5393
- const exported = keyObject.export({
5308
+ }).export({
5394
5309
  type: "spki",
5395
5310
  format: "der"
5396
5311
  });
@@ -5422,21 +5337,18 @@ async function exportMultibaseKey(key) {
5422
5337
  const decodedN = (0, byte_encodings_base64url.decodeBase64Url)(jwk.n);
5423
5338
  const n = new Uint8Array(decodedN.length + 1);
5424
5339
  n.set(decodedN, 1);
5425
- const sequence = new asn1js.Sequence({ value: [new asn1js.Integer({
5340
+ content = new asn1js.Sequence({ value: [new asn1js.Integer({
5426
5341
  isHexOnly: true,
5427
5342
  valueHex: n
5428
5343
  }), new asn1js.Integer({
5429
5344
  isHexOnly: true,
5430
5345
  valueHex: (0, byte_encodings_base64url.decodeBase64Url)(jwk.e)
5431
- })] });
5432
- content = sequence.toBER(false);
5346
+ })] }).toBER(false);
5433
5347
  code = 4613;
5434
5348
  } else throw new TypeError("Unsupported key type: " + JSON.stringify(key.algorithm));
5435
- const prefixed = addMulticodecPrefix(code, new Uint8Array(content));
5436
- const encoded = encodeMultibase("base58btc", prefixed);
5349
+ const encoded = encodeMultibase("base58btc", addMulticodecPrefix(code, new Uint8Array(content)));
5437
5350
  return new TextDecoder().decode(encoded);
5438
5351
  }
5439
-
5440
5352
  //#endregion
5441
5353
  //#region src/decimal.ts
5442
5354
  const DECIMAL_PATTERN = /^(\+|-)?([0-9]+(\.[0-9]*)?|\.[0-9]+)$/;
@@ -5512,7 +5424,6 @@ function parseDecimal(value) {
5512
5424
  if (!isDecimal(normalized)) throw new TypeError(`${JSON.stringify(value)} is not a valid xsd:decimal lexical form.`);
5513
5425
  return normalized;
5514
5426
  }
5515
-
5516
5427
  //#endregion
5517
5428
  //#region src/langstr.ts
5518
5429
  /**
@@ -5541,7 +5452,6 @@ LanguageString.prototype[Symbol.for("Deno.customInspect")] = function(inspect, o
5541
5452
  LanguageString.prototype[Symbol.for("nodejs.util.inspect.custom")] = function(_depth, options, inspect) {
5542
5453
  return `<${this.locale.baseName}> ${inspect(this.toString(), options)}`;
5543
5454
  };
5544
-
5545
5455
  //#endregion
5546
5456
  exports.FetchError = FetchError;
5547
5457
  exports.LanguageString = LanguageString;
@@ -5566,5 +5476,5 @@ exports.isValidPublicIPv4Address = isValidPublicIPv4Address;
5566
5476
  exports.isValidPublicIPv6Address = isValidPublicIPv6Address;
5567
5477
  exports.logRequest = logRequest;
5568
5478
  exports.parseDecimal = parseDecimal;
5569
- exports.preloadedContexts = contexts_default;
5570
- exports.validatePublicUrl = validatePublicUrl;
5479
+ exports.preloadedContexts = preloadedContexts;
5480
+ exports.validatePublicUrl = validatePublicUrl;
package/dist/mod.d.cts CHANGED
@@ -370,7 +370,6 @@ declare class LanguageString extends String {
370
370
  //#endregion
371
371
  //#region src/multibase/types.d.ts
372
372
  type BaseCode = "\x00" | "0" | "7" | "9" | "f" | "F" | "v" | "V" | "t" | "T" | "b" | "B" | "c" | "C" | "h" | "k" | "K" | "z" | "Z" | "m" | "M" | "u" | "U";
373
-
374
373
  /**
375
374
  * - Names of the supported encodings
376
375
  */
@@ -434,4 +433,4 @@ declare function isValidPublicIPv4Address(address: string): boolean;
434
433
  declare function isValidPublicIPv6Address(address: string): boolean;
435
434
  declare function expandIPv6Address(address: string): string;
436
435
  //#endregion
437
- export { AuthenticatedDocumentLoaderFactory, CreateRequestOptions, Decimal, DocumentLoader, DocumentLoaderFactory, DocumentLoaderFactoryOptions, DocumentLoaderOptions, FetchError, GetDocumentLoaderOptions, GetUserAgentOptions, LanguageString, RemoteDocument, UrlError, canParseDecimal, createActivityPubRequest, decodeMultibase, encodeMultibase, encodingFromBaseData, expandIPv6Address, exportMultibaseKey, exportSpki, getDocumentLoader, getRemoteDocument, getUserAgent, importMultibaseKey, importPem, importPkcs1, importSpki, isDecimal, isValidPublicIPv4Address, isValidPublicIPv6Address, logRequest, parseDecimal, preloadedContexts, validatePublicUrl };
436
+ export { type AuthenticatedDocumentLoaderFactory, type CreateRequestOptions, type Decimal, type DocumentLoader, type DocumentLoaderFactory, type DocumentLoaderFactoryOptions, type DocumentLoaderOptions, FetchError, type GetDocumentLoaderOptions, type GetUserAgentOptions, LanguageString, type RemoteDocument, UrlError, canParseDecimal, createActivityPubRequest, decodeMultibase, encodeMultibase, encodingFromBaseData, expandIPv6Address, exportMultibaseKey, exportSpki, getDocumentLoader, getRemoteDocument, getUserAgent, importMultibaseKey, importPem, importPkcs1, importSpki, isDecimal, isValidPublicIPv4Address, isValidPublicIPv6Address, logRequest, parseDecimal, preloadedContexts, validatePublicUrl };
package/dist/mod.d.ts CHANGED
@@ -370,7 +370,6 @@ declare class LanguageString extends String {
370
370
  //#endregion
371
371
  //#region src/multibase/types.d.ts
372
372
  type BaseCode = "\x00" | "0" | "7" | "9" | "f" | "F" | "v" | "V" | "t" | "T" | "b" | "B" | "c" | "C" | "h" | "k" | "K" | "z" | "Z" | "m" | "M" | "u" | "U";
373
-
374
373
  /**
375
374
  * - Names of the supported encodings
376
375
  */
@@ -434,4 +433,4 @@ declare function isValidPublicIPv4Address(address: string): boolean;
434
433
  declare function isValidPublicIPv6Address(address: string): boolean;
435
434
  declare function expandIPv6Address(address: string): string;
436
435
  //#endregion
437
- export { AuthenticatedDocumentLoaderFactory, CreateRequestOptions, Decimal, DocumentLoader, DocumentLoaderFactory, DocumentLoaderFactoryOptions, DocumentLoaderOptions, FetchError, GetDocumentLoaderOptions, GetUserAgentOptions, LanguageString, RemoteDocument, UrlError, canParseDecimal, createActivityPubRequest, decodeMultibase, encodeMultibase, encodingFromBaseData, expandIPv6Address, exportMultibaseKey, exportSpki, getDocumentLoader, getRemoteDocument, getUserAgent, importMultibaseKey, importPem, importPkcs1, importSpki, isDecimal, isValidPublicIPv4Address, isValidPublicIPv6Address, logRequest, parseDecimal, preloadedContexts, validatePublicUrl };
436
+ export { type AuthenticatedDocumentLoaderFactory, type CreateRequestOptions, type Decimal, type DocumentLoader, type DocumentLoaderFactory, type DocumentLoaderFactoryOptions, type DocumentLoaderOptions, FetchError, type GetDocumentLoaderOptions, type GetUserAgentOptions, LanguageString, type RemoteDocument, UrlError, canParseDecimal, createActivityPubRequest, decodeMultibase, encodeMultibase, encodingFromBaseData, expandIPv6Address, exportMultibaseKey, exportSpki, getDocumentLoader, getRemoteDocument, getUserAgent, importMultibaseKey, importPem, importPkcs1, importSpki, isDecimal, isValidPublicIPv4Address, isValidPublicIPv6Address, logRequest, parseDecimal, preloadedContexts, validatePublicUrl };