@fedify/vocab-runtime 2.1.1 → 2.1.2

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-RQoMNF99.cjs → docloader-0Yz9aPvU.cjs} +51 -81
  15. package/dist/tests/{docloader-DIUeF-5W.js → docloader-DiLx08rm.mjs} +35 -65
  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-kJU0S4zp.cjs → request-B4BOehn0.cjs} +38 -72
  39. package/dist/tests/{request-D6fgLaP4.js → request-Nob25QBF.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.1.1";
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.1.2";
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,16 +4783,15 @@ async function getRemoteDocument(url, response, fetch$1) {
4852
4783
  * @since 1.3.0
4853
4784
  */
4854
4785
  function getDocumentLoader({ allowPrivateAddress, 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
  async function load(url, options, redirected = 0, visited = /* @__PURE__ */ new Set()) {
4858
4788
  options?.signal?.throwIfAborted();
4859
4789
  const currentUrl = new URL(url).href;
4860
- if (!skipPreloadedContexts && currentUrl in contexts_default) {
4790
+ if (!skipPreloadedContexts && currentUrl in preloadedContexts) {
4861
4791
  logger.debug("Using preloaded context: {url}.", { url: currentUrl });
4862
4792
  return {
4863
4793
  contextUrl: null,
4864
- document: contexts_default[currentUrl],
4794
+ document: preloadedContexts[currentUrl],
4865
4795
  documentUrl: currentUrl
4866
4796
  };
4867
4797
  }
@@ -4876,7 +4806,7 @@ function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAge
4876
4806
  }
4877
4807
  visited.add(currentUrl);
4878
4808
  return await tracer.startActiveSpan("activitypub.fetch_document", {
4879
- kind: __opentelemetry_api.SpanKind.CLIENT,
4809
+ kind: _opentelemetry_api.SpanKind.CLIENT,
4880
4810
  attributes: { "url.full": currentUrl }
4881
4811
  }, async (span) => {
4882
4812
  try {
@@ -4913,7 +4843,7 @@ function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAge
4913
4843
  } catch (error) {
4914
4844
  span.recordException(error);
4915
4845
  span.setStatus({
4916
- code: __opentelemetry_api.SpanStatusCode.ERROR,
4846
+ code: _opentelemetry_api.SpanStatusCode.ERROR,
4917
4847
  message: String(error)
4918
4848
  });
4919
4849
  throw error;
@@ -4924,7 +4854,6 @@ function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAge
4924
4854
  }
4925
4855
  return load;
4926
4856
  }
4927
-
4928
4857
  //#endregion
4929
4858
  //#region src/internal/multicodec.ts
4930
4859
  const INVALID_MULTICODEC_PREFIX = "Invalid multicodec prefix.";
@@ -4964,7 +4893,6 @@ function addMulticodecPrefix(code, payload) {
4964
4893
  prefixed.set(payload, prefix.length);
4965
4894
  return prefixed;
4966
4895
  }
4967
-
4968
4896
  //#endregion
4969
4897
  //#region src/jwk.ts
4970
4898
  function validateCryptoKey(key, type) {
@@ -4972,11 +4900,9 @@ function validateCryptoKey(key, type) {
4972
4900
  if (!key.extractable) throw new TypeError("The key is not extractable.");
4973
4901
  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!");
4974
4902
  if (key.algorithm.name === "RSASSA-PKCS1-v1_5") {
4975
- const algorithm = key.algorithm;
4976
- 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.");
4903
+ 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.");
4977
4904
  }
4978
4905
  }
4979
-
4980
4906
  //#endregion
4981
4907
  //#region src/multibase/util.ts
4982
4908
  const textDecoder = new TextDecoder();
@@ -4992,7 +4918,6 @@ function concat(arrs, length) {
4992
4918
  }
4993
4919
  return output;
4994
4920
  }
4995
-
4996
4921
  //#endregion
4997
4922
  //#region src/multibase/base.ts
4998
4923
  /**
@@ -5001,8 +4926,8 @@ function concat(arrs, length) {
5001
4926
  var Base = class {
5002
4927
  codeBuf;
5003
4928
  codec;
5004
- constructor(name$1, code, factory, alphabet) {
5005
- this.name = name$1;
4929
+ constructor(name, code, factory, alphabet) {
4930
+ this.name = name;
5006
4931
  this.code = code;
5007
4932
  this.alphabet = alphabet;
5008
4933
  this.codeBuf = encodeText(this.code);
@@ -5017,12 +4942,11 @@ var Base = class {
5017
4942
  return this.codec.decode(string);
5018
4943
  }
5019
4944
  };
5020
-
5021
4945
  //#endregion
5022
4946
  //#region src/multibase/rfc4648.ts
5023
4947
  const decode = (string, alphabet, bitsPerChar) => {
5024
- const codes$1 = {};
5025
- for (let i = 0; i < alphabet.length; ++i) codes$1[alphabet[i]] = i;
4948
+ const codes = {};
4949
+ for (let i = 0; i < alphabet.length; ++i) codes[alphabet[i]] = i;
5026
4950
  let end = string.length;
5027
4951
  while (string[end - 1] === "=") --end;
5028
4952
  const out = new Uint8Array(end * bitsPerChar / 8 | 0);
@@ -5030,7 +4954,7 @@ const decode = (string, alphabet, bitsPerChar) => {
5030
4954
  let buffer = 0;
5031
4955
  let written = 0;
5032
4956
  for (let i = 0; i < end; ++i) {
5033
- const value = codes$1[string[i]];
4957
+ const value = codes[string[i]];
5034
4958
  if (value === void 0) throw new SyntaxError("Invalid character " + string[i]);
5035
4959
  buffer = buffer << bitsPerChar | value;
5036
4960
  bits += bitsPerChar;
@@ -5073,7 +4997,6 @@ const rfc4648 = (bitsPerChar) => (alphabet) => {
5073
4997
  }
5074
4998
  };
5075
4999
  };
5076
-
5077
5000
  //#endregion
5078
5001
  //#region src/multibase/constants.ts
5079
5002
  const identity = () => {
@@ -5109,7 +5032,7 @@ const constants = [
5109
5032
  [
5110
5033
  "base10",
5111
5034
  "9",
5112
- __multiformats_base_x.default,
5035
+ _multiformats_base_x.default,
5113
5036
  "0123456789"
5114
5037
  ],
5115
5038
  [
@@ -5181,25 +5104,25 @@ const constants = [
5181
5104
  [
5182
5105
  "base36",
5183
5106
  "k",
5184
- __multiformats_base_x.default,
5107
+ _multiformats_base_x.default,
5185
5108
  "0123456789abcdefghijklmnopqrstuvwxyz"
5186
5109
  ],
5187
5110
  [
5188
5111
  "base36upper",
5189
5112
  "K",
5190
- __multiformats_base_x.default,
5113
+ _multiformats_base_x.default,
5191
5114
  "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
5192
5115
  ],
5193
5116
  [
5194
5117
  "base58btc",
5195
5118
  "z",
5196
- __multiformats_base_x.default,
5119
+ _multiformats_base_x.default,
5197
5120
  "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
5198
5121
  ],
5199
5122
  [
5200
5123
  "base58flickr",
5201
5124
  "Z",
5202
- __multiformats_base_x.default,
5125
+ _multiformats_base_x.default,
5203
5126
  "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"
5204
5127
  ],
5205
5128
  [
@@ -5235,7 +5158,6 @@ const codes = constants.reduce((prev, tupple) => {
5235
5158
  prev[tupple[1]] = names[tupple[0]];
5236
5159
  return prev;
5237
5160
  }, {});
5238
-
5239
5161
  //#endregion
5240
5162
  //#region src/multibase/mod.ts
5241
5163
  /**
@@ -5272,8 +5194,7 @@ function decodeMultibase(data) {
5272
5194
  "k",
5273
5195
  "K"
5274
5196
  ].includes(prefix)) data = data.toLowerCase();
5275
- const enc = encoding(data[0]);
5276
- return enc.decode(data.substring(1));
5197
+ return encoding(data[0]).decode(data.substring(1));
5277
5198
  }
5278
5199
  /**
5279
5200
  * Get the encoding by name or code
@@ -5295,7 +5216,6 @@ function encodingFromBaseData(data) {
5295
5216
  if (data instanceof Uint8Array) data = decodeText(data);
5296
5217
  return encoding(data[0]);
5297
5218
  }
5298
-
5299
5219
  //#endregion
5300
5220
  //#region src/key.ts
5301
5221
  const algorithms = {
@@ -5320,8 +5240,7 @@ async function importSpki(pem) {
5320
5240
  } catch (_) {
5321
5241
  throw new TypeError("Invalid PEM-SPKI format.");
5322
5242
  }
5323
- const pki = pkijs.PublicKeyInfo.fromBER(spki);
5324
- const oid = pki.algorithm.algorithmId;
5243
+ const oid = pkijs.PublicKeyInfo.fromBER(spki).algorithm.algorithmId;
5325
5244
  const algorithm = algorithms[oid];
5326
5245
  if (algorithm == null) throw new TypeError("Unsupported algorithm: " + oid);
5327
5246
  return await crypto.subtle.importKey("spki", spki, algorithm, true, ["verify"]);
@@ -5335,8 +5254,7 @@ async function importSpki(pem) {
5335
5254
  */
5336
5255
  async function exportSpki(key) {
5337
5256
  validateCryptoKey(key);
5338
- const spki = await crypto.subtle.exportKey("spki", key);
5339
- let pem = (0, byte_encodings_base64.encodeBase64)(spki);
5257
+ let pem = (0, byte_encodings_base64.encodeBase64)(await crypto.subtle.exportKey("spki", key));
5340
5258
  pem = (pem.match(/.{1,64}/g) || []).join("\n");
5341
5259
  return `-----BEGIN PUBLIC KEY-----\n${pem}\n-----END PUBLIC KEY-----\n`;
5342
5260
  }
@@ -5348,16 +5266,14 @@ async function exportSpki(key) {
5348
5266
  * @since 1.5.0
5349
5267
  */
5350
5268
  function importPkcs1(pem) {
5351
- const key = (0, node_crypto.createPublicKey)({
5269
+ return importSpki((0, node_crypto.createPublicKey)({
5352
5270
  key: pem,
5353
5271
  format: "pem",
5354
5272
  type: "pkcs1"
5355
- });
5356
- const spki = key.export({
5273
+ }).export({
5357
5274
  type: "spki",
5358
5275
  format: "pem"
5359
- });
5360
- return importSpki(spki);
5276
+ }));
5361
5277
  }
5362
5278
  const PKCS1_HEADER = /^\s*-----BEGIN\s+RSA\s+PUBLIC\s+KEY-----\s*\n/;
5363
5279
  /**
@@ -5384,12 +5300,11 @@ async function importMultibaseKey(key) {
5384
5300
  const { code } = getMulticodecPrefix(decoded);
5385
5301
  const content = removeMulticodecPrefix(decoded);
5386
5302
  if (code === 4613) {
5387
- const keyObject = (0, node_crypto.createPublicKey)({
5303
+ const exported = (0, node_crypto.createPublicKey)({
5388
5304
  key: content,
5389
5305
  format: "der",
5390
5306
  type: "pkcs1"
5391
- });
5392
- const exported = keyObject.export({
5307
+ }).export({
5393
5308
  type: "spki",
5394
5309
  format: "der"
5395
5310
  });
@@ -5421,21 +5336,18 @@ async function exportMultibaseKey(key) {
5421
5336
  const decodedN = (0, byte_encodings_base64url.decodeBase64Url)(jwk.n);
5422
5337
  const n = new Uint8Array(decodedN.length + 1);
5423
5338
  n.set(decodedN, 1);
5424
- const sequence = new asn1js.Sequence({ value: [new asn1js.Integer({
5339
+ content = new asn1js.Sequence({ value: [new asn1js.Integer({
5425
5340
  isHexOnly: true,
5426
5341
  valueHex: n
5427
5342
  }), new asn1js.Integer({
5428
5343
  isHexOnly: true,
5429
5344
  valueHex: (0, byte_encodings_base64url.decodeBase64Url)(jwk.e)
5430
- })] });
5431
- content = sequence.toBER(false);
5345
+ })] }).toBER(false);
5432
5346
  code = 4613;
5433
5347
  } else throw new TypeError("Unsupported key type: " + JSON.stringify(key.algorithm));
5434
- const prefixed = addMulticodecPrefix(code, new Uint8Array(content));
5435
- const encoded = encodeMultibase("base58btc", prefixed);
5348
+ const encoded = encodeMultibase("base58btc", addMulticodecPrefix(code, new Uint8Array(content)));
5436
5349
  return new TextDecoder().decode(encoded);
5437
5350
  }
5438
-
5439
5351
  //#endregion
5440
5352
  //#region src/decimal.ts
5441
5353
  const DECIMAL_PATTERN = /^(\+|-)?([0-9]+(\.[0-9]*)?|\.[0-9]+)$/;
@@ -5511,7 +5423,6 @@ function parseDecimal(value) {
5511
5423
  if (!isDecimal(normalized)) throw new TypeError(`${JSON.stringify(value)} is not a valid xsd:decimal lexical form.`);
5512
5424
  return normalized;
5513
5425
  }
5514
-
5515
5426
  //#endregion
5516
5427
  //#region src/langstr.ts
5517
5428
  /**
@@ -5540,7 +5451,6 @@ LanguageString.prototype[Symbol.for("Deno.customInspect")] = function(inspect, o
5540
5451
  LanguageString.prototype[Symbol.for("nodejs.util.inspect.custom")] = function(_depth, options, inspect) {
5541
5452
  return `<${this.locale.baseName}> ${inspect(this.toString(), options)}`;
5542
5453
  };
5543
-
5544
5454
  //#endregion
5545
5455
  exports.FetchError = FetchError;
5546
5456
  exports.LanguageString = LanguageString;
@@ -5565,5 +5475,5 @@ exports.isValidPublicIPv4Address = isValidPublicIPv4Address;
5565
5475
  exports.isValidPublicIPv6Address = isValidPublicIPv6Address;
5566
5476
  exports.logRequest = logRequest;
5567
5477
  exports.parseDecimal = parseDecimal;
5568
- exports.preloadedContexts = contexts_default;
5569
- exports.validatePublicUrl = validatePublicUrl;
5478
+ exports.preloadedContexts = preloadedContexts;
5479
+ exports.validatePublicUrl = validatePublicUrl;
package/dist/mod.d.cts CHANGED
@@ -363,7 +363,6 @@ declare class LanguageString extends String {
363
363
  //#endregion
364
364
  //#region src/multibase/types.d.ts
365
365
  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";
366
-
367
366
  /**
368
367
  * - Names of the supported encodings
369
368
  */
@@ -427,4 +426,4 @@ declare function isValidPublicIPv4Address(address: string): boolean;
427
426
  declare function isValidPublicIPv6Address(address: string): boolean;
428
427
  declare function expandIPv6Address(address: string): string;
429
428
  //#endregion
430
- 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 };
429
+ 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
@@ -363,7 +363,6 @@ declare class LanguageString extends String {
363
363
  //#endregion
364
364
  //#region src/multibase/types.d.ts
365
365
  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";
366
-
367
366
  /**
368
367
  * - Names of the supported encodings
369
368
  */
@@ -427,4 +426,4 @@ declare function isValidPublicIPv4Address(address: string): boolean;
427
426
  declare function isValidPublicIPv6Address(address: string): boolean;
428
427
  declare function expandIPv6Address(address: string): string;
429
428
  //#endregion
430
- 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 };
429
+ 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 };