@fedify/vocab-runtime 2.1.0 → 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.
- package/deno.json +1 -1
- package/dist/{chunk-CUT6urMc.cjs → chunk-CKQMccvm.cjs} +7 -9
- package/dist/jsonld.cjs +4 -5
- package/dist/jsonld.d.cts +3 -4
- package/dist/jsonld.d.ts +2 -2
- package/dist/jsonld.js +1 -3
- package/dist/mod.cjs +107 -180
- package/dist/mod.d.cts +1 -2
- package/dist/mod.d.ts +1 -2
- package/dist/mod.js +83 -159
- package/dist/tests/{chunk-DWy1uDak.cjs → chunk-Do9eywBl.cjs} +13 -17
- package/dist/tests/decimal.test.cjs +12 -21
- package/dist/tests/{decimal.test.js → decimal.test.mjs} +10 -18
- package/dist/tests/{docloader-D3nu2LmR.cjs → docloader-0Yz9aPvU.cjs} +78 -91
- package/dist/tests/{docloader-U31begIa.js → docloader-DiLx08rm.mjs} +62 -75
- package/dist/tests/docloader.test.cjs +98 -88
- package/dist/tests/{docloader.test.js → docloader.test.mjs} +98 -94
- package/dist/tests/internal/multicodec.test.cjs +5 -7
- package/dist/tests/internal/{multicodec.test.js → multicodec.test.mjs} +3 -4
- package/dist/tests/{key-ByCmSI2y.js → key-BeTHFQJK.mjs} +14 -25
- package/dist/tests/{key-CCPn6TEY.cjs → key-DTTIntwb.cjs} +60 -71
- package/dist/tests/key.test.cjs +23 -45
- package/dist/tests/{key.test.js → key.test.mjs} +21 -42
- package/dist/tests/{langstr-EPh86hXK.cjs → langstr-CbAxaeEZ.cjs} +6 -8
- package/dist/tests/{langstr-BsVE3s9u.js → langstr-Di5AvKpB.mjs} +1 -2
- package/dist/tests/langstr.test.cjs +7 -8
- package/dist/tests/{langstr.test.js → langstr.test.mjs} +3 -4
- package/dist/tests/{link-DYNFAdNu.cjs → link-FguCydMA.cjs} +6 -8
- package/dist/tests/{link-C3q2TC2G.js → link-NUUWCdnK.mjs} +1 -2
- package/dist/tests/link.test.cjs +5 -7
- package/dist/tests/{link.test.js → link.test.mjs} +3 -4
- package/dist/tests/multibase/multibase.test.cjs +10 -17
- package/dist/tests/multibase/{multibase.test.js → multibase.test.mjs} +10 -18
- package/dist/tests/{multibase-B4g8pz6F.js → multibase-BgU9XRf7.mjs} +5 -12
- package/dist/tests/{multibase-o_ovPHYJ.cjs → multibase-F7LtMMsK.cjs} +43 -49
- package/dist/tests/{multicodec--6hQ74zI.cjs → multicodec-CxGVGa91.cjs} +16 -18
- package/dist/tests/{multicodec-Dq3IiOV4.js → multicodec-CyFp54fI.mjs} +1 -2
- package/dist/tests/{request-DyrEDYQ-.cjs → request-B4BOehn0.cjs} +38 -72
- package/dist/tests/{request-BH_NlxCL.js → request-Nob25QBF.mjs} +4 -45
- package/dist/tests/request.test.cjs +23 -24
- package/dist/tests/request.test.mjs +42 -0
- package/dist/tests/{url-CWEP9Zs9.js → url-BQ_kgmCk.mjs} +3 -7
- package/dist/tests/{url-DIjOdK8Q.cjs → url-pFuSds44.cjs} +31 -35
- package/dist/tests/url.test.cjs +5 -7
- package/dist/tests/{url.test.js → url.test.mjs} +3 -4
- package/package.json +3 -3
- package/src/docloader.test.ts +67 -0
- package/src/docloader.ts +43 -11
- package/dist/tests/request.test.js +0 -43
- /package/dist/tests/{decimal.test.d.ts → decimal.test.d.mts} +0 -0
- /package/dist/tests/{docloader.test.d.ts → docloader.test.d.mts} +0 -0
- /package/dist/tests/internal/{multicodec.test.d.ts → multicodec.test.d.mts} +0 -0
- /package/dist/tests/{key.test.d.ts → key.test.d.mts} +0 -0
- /package/dist/tests/{langstr.test.d.ts → langstr.test.d.mts} +0 -0
- /package/dist/tests/{link.test.d.ts → link.test.d.mts} +0 -0
- /package/dist/tests/multibase/{multibase.test.d.ts → multibase.test.d.mts} +0 -0
- /package/dist/tests/{request.test.d.ts → request.test.d.mts} +0 -0
- /package/dist/tests/{url.test.d.ts → url.test.d.mts} +0 -0
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
//#region
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var
|
|
9
|
-
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
10
|
-
};
|
|
8
|
+
var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
11
9
|
var __copyProps = (to, from, except, desc) => {
|
|
12
10
|
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
13
11
|
key = keys[i];
|
|
@@ -22,18 +20,16 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
20
|
value: mod,
|
|
23
21
|
enumerable: true
|
|
24
22
|
}) : target, mod));
|
|
25
|
-
|
|
26
23
|
//#endregion
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
Object.defineProperty(exports, "__commonJSMin", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function() {
|
|
27
|
+
return __commonJSMin;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "__toESM", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function() {
|
|
33
|
+
return __toESM;
|
|
34
|
+
}
|
|
33
35
|
});
|
|
34
|
-
Object.defineProperty(exports, '__toESM', {
|
|
35
|
-
enumerable: true,
|
|
36
|
-
get: function () {
|
|
37
|
-
return __toESM;
|
|
38
|
-
}
|
|
39
|
-
});
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
require(
|
|
3
|
-
require(
|
|
4
|
-
require(
|
|
5
|
-
require(
|
|
6
|
-
require(
|
|
7
|
-
require(
|
|
8
|
-
require('./multibase-o_ovPHYJ.cjs');
|
|
9
|
-
require('./langstr-EPh86hXK.cjs');
|
|
10
|
-
const node_assert = require_chunk.__toESM(require("node:assert"));
|
|
11
|
-
const node_test = require_chunk.__toESM(require("node:test"));
|
|
12
|
-
|
|
1
|
+
require("./chunk-Do9eywBl.cjs");
|
|
2
|
+
require("./docloader-0Yz9aPvU.cjs");
|
|
3
|
+
require("./key-DTTIntwb.cjs");
|
|
4
|
+
require("./multibase-F7LtMMsK.cjs");
|
|
5
|
+
require("./langstr-CbAxaeEZ.cjs");
|
|
6
|
+
let node_assert = require("node:assert");
|
|
7
|
+
let node_test = require("node:test");
|
|
13
8
|
//#region src/decimal.ts
|
|
14
9
|
const DECIMAL_PATTERN = /^(\+|-)?([0-9]+(\.[0-9]*)?|\.[0-9]+)$/;
|
|
15
10
|
const XML_SCHEMA_WHITESPACE_PATTERN = /[\t\n\r ]+/g;
|
|
@@ -84,11 +79,10 @@ function parseDecimal(value) {
|
|
|
84
79
|
if (!isDecimal(normalized)) throw new TypeError(`${JSON.stringify(value)} is not a valid xsd:decimal lexical form.`);
|
|
85
80
|
return normalized;
|
|
86
81
|
}
|
|
87
|
-
|
|
88
82
|
//#endregion
|
|
89
83
|
//#region src/decimal.test.ts
|
|
90
84
|
(0, node_test.test)("parseDecimal() accepts valid xsd:decimal lexical forms", () => {
|
|
91
|
-
const
|
|
85
|
+
for (const value of [
|
|
92
86
|
"-1.23",
|
|
93
87
|
"12678967.543233",
|
|
94
88
|
"+100000.00",
|
|
@@ -97,8 +91,7 @@ function parseDecimal(value) {
|
|
|
97
91
|
"5.",
|
|
98
92
|
"0",
|
|
99
93
|
"-0.0"
|
|
100
|
-
];
|
|
101
|
-
for (const value of values) (0, node_assert.deepStrictEqual)(parseDecimal(value), value);
|
|
94
|
+
]) (0, node_assert.deepStrictEqual)(parseDecimal(value), value);
|
|
102
95
|
});
|
|
103
96
|
(0, node_test.test)("isDecimal() reports valid xsd:decimal lexical forms", () => {
|
|
104
97
|
(0, node_assert.deepStrictEqual)(isDecimal("12.50"), true);
|
|
@@ -123,7 +116,7 @@ function parseDecimal(value) {
|
|
|
123
116
|
(0, node_assert.deepStrictEqual)(parseDecimal(" .5 "), ".5");
|
|
124
117
|
});
|
|
125
118
|
(0, node_test.test)("parseDecimal() rejects invalid xsd:decimal lexical forms", () => {
|
|
126
|
-
const
|
|
119
|
+
for (const value of [
|
|
127
120
|
"",
|
|
128
121
|
".",
|
|
129
122
|
"+",
|
|
@@ -135,8 +128,7 @@ function parseDecimal(value) {
|
|
|
135
128
|
"1..2",
|
|
136
129
|
"1 2.3",
|
|
137
130
|
"1 2.3"
|
|
138
|
-
]
|
|
139
|
-
for (const value of values) (0, node_assert.throws)(() => parseDecimal(value), {
|
|
131
|
+
]) (0, node_assert.throws)(() => parseDecimal(value), {
|
|
140
132
|
name: "TypeError",
|
|
141
133
|
message: `${JSON.stringify(value)} is not a valid xsd:decimal lexical form.`
|
|
142
134
|
});
|
|
@@ -150,5 +142,4 @@ function parseDecimal(value) {
|
|
|
150
142
|
(0, node_test.test)("isDecimal() is exported from the package root", () => {
|
|
151
143
|
(0, node_assert.deepStrictEqual)(isDecimal("12.50"), true);
|
|
152
144
|
});
|
|
153
|
-
|
|
154
|
-
//#endregion
|
|
145
|
+
//#endregion
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
import "./docloader-
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import "./multicodec-Dq3IiOV4.js";
|
|
6
|
-
import "./key-ByCmSI2y.js";
|
|
7
|
-
import "./multibase-B4g8pz6F.js";
|
|
8
|
-
import "./langstr-BsVE3s9u.js";
|
|
1
|
+
import "./docloader-DiLx08rm.mjs";
|
|
2
|
+
import "./key-BeTHFQJK.mjs";
|
|
3
|
+
import "./multibase-BgU9XRf7.mjs";
|
|
4
|
+
import "./langstr-Di5AvKpB.mjs";
|
|
9
5
|
import { deepStrictEqual, throws } from "node:assert";
|
|
10
6
|
import { test } from "node:test";
|
|
11
|
-
|
|
12
7
|
//#region src/decimal.ts
|
|
13
8
|
const DECIMAL_PATTERN = /^(\+|-)?([0-9]+(\.[0-9]*)?|\.[0-9]+)$/;
|
|
14
9
|
const XML_SCHEMA_WHITESPACE_PATTERN = /[\t\n\r ]+/g;
|
|
@@ -83,11 +78,10 @@ function parseDecimal(value) {
|
|
|
83
78
|
if (!isDecimal(normalized)) throw new TypeError(`${JSON.stringify(value)} is not a valid xsd:decimal lexical form.`);
|
|
84
79
|
return normalized;
|
|
85
80
|
}
|
|
86
|
-
|
|
87
81
|
//#endregion
|
|
88
82
|
//#region src/decimal.test.ts
|
|
89
83
|
test("parseDecimal() accepts valid xsd:decimal lexical forms", () => {
|
|
90
|
-
const
|
|
84
|
+
for (const value of [
|
|
91
85
|
"-1.23",
|
|
92
86
|
"12678967.543233",
|
|
93
87
|
"+100000.00",
|
|
@@ -96,8 +90,7 @@ test("parseDecimal() accepts valid xsd:decimal lexical forms", () => {
|
|
|
96
90
|
"5.",
|
|
97
91
|
"0",
|
|
98
92
|
"-0.0"
|
|
99
|
-
];
|
|
100
|
-
for (const value of values) deepStrictEqual(parseDecimal(value), value);
|
|
93
|
+
]) deepStrictEqual(parseDecimal(value), value);
|
|
101
94
|
});
|
|
102
95
|
test("isDecimal() reports valid xsd:decimal lexical forms", () => {
|
|
103
96
|
deepStrictEqual(isDecimal("12.50"), true);
|
|
@@ -122,7 +115,7 @@ test("parseDecimal() normalizes XML Schema whitespace", () => {
|
|
|
122
115
|
deepStrictEqual(parseDecimal(" .5 "), ".5");
|
|
123
116
|
});
|
|
124
117
|
test("parseDecimal() rejects invalid xsd:decimal lexical forms", () => {
|
|
125
|
-
const
|
|
118
|
+
for (const value of [
|
|
126
119
|
"",
|
|
127
120
|
".",
|
|
128
121
|
"+",
|
|
@@ -134,8 +127,7 @@ test("parseDecimal() rejects invalid xsd:decimal lexical forms", () => {
|
|
|
134
127
|
"1..2",
|
|
135
128
|
"1 2.3",
|
|
136
129
|
"1 2.3"
|
|
137
|
-
]
|
|
138
|
-
for (const value of values) throws(() => parseDecimal(value), {
|
|
130
|
+
]) throws(() => parseDecimal(value), {
|
|
139
131
|
name: "TypeError",
|
|
140
132
|
message: `${JSON.stringify(value)} is not a valid xsd:decimal lexical form.`
|
|
141
133
|
});
|
|
@@ -149,5 +141,5 @@ test("canParseDecimal() is exported from the package root", () => {
|
|
|
149
141
|
test("isDecimal() is exported from the package root", () => {
|
|
150
142
|
deepStrictEqual(isDecimal("12.50"), true);
|
|
151
143
|
});
|
|
152
|
-
|
|
153
|
-
|
|
144
|
+
//#endregion
|
|
145
|
+
export {};
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
const require_request = require(
|
|
3
|
-
const require_link = require(
|
|
4
|
-
const require_url = require(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
require("./chunk-Do9eywBl.cjs");
|
|
2
|
+
const require_request = require("./request-B4BOehn0.cjs");
|
|
3
|
+
const require_link = require("./link-FguCydMA.cjs");
|
|
4
|
+
const require_url = require("./url-pFuSds44.cjs");
|
|
5
|
+
let _logtape_logtape = require("@logtape/logtape");
|
|
6
|
+
let _opentelemetry_api = require("@opentelemetry/api");
|
|
8
7
|
//#region src/contexts/activitystreams.json
|
|
9
|
-
var
|
|
8
|
+
var activitystreams_default = { "@context": {
|
|
10
9
|
"@vocab": "_:",
|
|
11
10
|
"xsd": "http://www.w3.org/2001/XMLSchema#",
|
|
12
11
|
"as": "https://www.w3.org/ns/activitystreams#",
|
|
@@ -382,12 +381,10 @@ var __context$11 = {
|
|
|
382
381
|
"@id": "as:alsoKnownAs",
|
|
383
382
|
"@type": "@id"
|
|
384
383
|
}
|
|
385
|
-
};
|
|
386
|
-
var activitystreams_default = { "@context": __context$11 };
|
|
387
|
-
|
|
384
|
+
} };
|
|
388
385
|
//#endregion
|
|
389
386
|
//#region src/contexts/did-v1.json
|
|
390
|
-
var
|
|
387
|
+
var did_v1_default = { "@context": {
|
|
391
388
|
"@protected": true,
|
|
392
389
|
"id": "@id",
|
|
393
390
|
"type": "@type",
|
|
@@ -441,12 +438,10 @@ var __context$10 = {
|
|
|
441
438
|
"@id": "https://w3id.org/security#verificationMethod",
|
|
442
439
|
"@type": "@id"
|
|
443
440
|
}
|
|
444
|
-
};
|
|
445
|
-
var did_v1_default = { "@context": __context$10 };
|
|
446
|
-
|
|
441
|
+
} };
|
|
447
442
|
//#endregion
|
|
448
443
|
//#region src/contexts/fep-5711.json
|
|
449
|
-
var
|
|
444
|
+
var fep_5711_default = { "@context": {
|
|
450
445
|
"likesOf": {
|
|
451
446
|
"@id": "https://w3id.org/fep/5711#likesOf",
|
|
452
447
|
"@type": "@id"
|
|
@@ -479,12 +474,10 @@ var __context$9 = {
|
|
|
479
474
|
"@id": "https://w3id.org/fep/5711#likedOf",
|
|
480
475
|
"@type": "@id"
|
|
481
476
|
}
|
|
482
|
-
};
|
|
483
|
-
var fep_5711_default = { "@context": __context$9 };
|
|
484
|
-
|
|
477
|
+
} };
|
|
485
478
|
//#endregion
|
|
486
479
|
//#region src/contexts/gotosocial.json
|
|
487
|
-
var
|
|
480
|
+
var gotosocial_default = { "@context": {
|
|
488
481
|
"xsd": "http://www.w3.org/2001/XMLSchema#",
|
|
489
482
|
"gts": "https://gotosocial.org/ns#",
|
|
490
483
|
"LikeRequest": "gts:LikeRequest",
|
|
@@ -567,12 +560,10 @@ var __context$8 = {
|
|
|
567
560
|
"@id": "gts:approvedBy",
|
|
568
561
|
"@type": "@id"
|
|
569
562
|
}
|
|
570
|
-
};
|
|
571
|
-
var gotosocial_default = { "@context": __context$8 };
|
|
572
|
-
|
|
563
|
+
} };
|
|
573
564
|
//#endregion
|
|
574
565
|
//#region src/contexts/identity-v1.json
|
|
575
|
-
var
|
|
566
|
+
var identity_v1_default = { "@context": {
|
|
576
567
|
"id": "@id",
|
|
577
568
|
"type": "@type",
|
|
578
569
|
"cred": "https://w3id.org/credentials#",
|
|
@@ -721,12 +712,10 @@ var __context$7 = {
|
|
|
721
712
|
"@id": "perm:writePermission",
|
|
722
713
|
"@type": "@id"
|
|
723
714
|
}
|
|
724
|
-
};
|
|
725
|
-
var identity_v1_default = { "@context": __context$7 };
|
|
726
|
-
|
|
715
|
+
} };
|
|
727
716
|
//#endregion
|
|
728
717
|
//#region src/contexts/joinmastodon.json
|
|
729
|
-
var
|
|
718
|
+
var joinmastodon_default = { "@context": {
|
|
730
719
|
"toot": "http://joinmastodon.org/ns#",
|
|
731
720
|
"Emoji": "toot:Emoji",
|
|
732
721
|
"featured": {
|
|
@@ -751,12 +740,10 @@ var __context$6 = {
|
|
|
751
740
|
"@id": "toot:attributionDomains",
|
|
752
741
|
"@type": "@id"
|
|
753
742
|
}
|
|
754
|
-
};
|
|
755
|
-
var joinmastodon_default = { "@context": __context$6 };
|
|
756
|
-
|
|
743
|
+
} };
|
|
757
744
|
//#endregion
|
|
758
745
|
//#region src/contexts/schemaorg.json
|
|
759
|
-
var
|
|
746
|
+
var schemaorg_default = { "@context": {
|
|
760
747
|
"type": "@type",
|
|
761
748
|
"id": "@id",
|
|
762
749
|
"HTML": { "@id": "rdf:HTML" },
|
|
@@ -4058,12 +4045,10 @@ var __context$5 = {
|
|
|
4058
4045
|
"yearlyRevenue": { "@id": "schema:yearlyRevenue" },
|
|
4059
4046
|
"yearsInOperation": { "@id": "schema:yearsInOperation" },
|
|
4060
4047
|
"yield": { "@id": "schema:yield" }
|
|
4061
|
-
};
|
|
4062
|
-
var schemaorg_default = { "@context": __context$5 };
|
|
4063
|
-
|
|
4048
|
+
} };
|
|
4064
4049
|
//#endregion
|
|
4065
4050
|
//#region src/contexts/security-data-integrity-v1.json
|
|
4066
|
-
var
|
|
4051
|
+
var security_data_integrity_v1_default = { "@context": {
|
|
4067
4052
|
"id": "@id",
|
|
4068
4053
|
"type": "@type",
|
|
4069
4054
|
"@protected": true,
|
|
@@ -4138,12 +4123,10 @@ var __context$4 = {
|
|
|
4138
4123
|
}
|
|
4139
4124
|
}
|
|
4140
4125
|
}
|
|
4141
|
-
};
|
|
4142
|
-
var security_data_integrity_v1_default = { "@context": __context$4 };
|
|
4143
|
-
|
|
4126
|
+
} };
|
|
4144
4127
|
//#endregion
|
|
4145
4128
|
//#region src/contexts/security-data-integrity-v2.json
|
|
4146
|
-
var
|
|
4129
|
+
var security_data_integrity_v2_default = { "@context": {
|
|
4147
4130
|
"id": "@id",
|
|
4148
4131
|
"type": "@type",
|
|
4149
4132
|
"@protected": true,
|
|
@@ -4221,12 +4204,10 @@ var __context$3 = {
|
|
|
4221
4204
|
}
|
|
4222
4205
|
}
|
|
4223
4206
|
}
|
|
4224
|
-
};
|
|
4225
|
-
var security_data_integrity_v2_default = { "@context": __context$3 };
|
|
4226
|
-
|
|
4207
|
+
} };
|
|
4227
4208
|
//#endregion
|
|
4228
4209
|
//#region src/contexts/security-multikey-v1.json
|
|
4229
|
-
var
|
|
4210
|
+
var security_multikey_v1_default = { "@context": {
|
|
4230
4211
|
"id": "@id",
|
|
4231
4212
|
"type": "@type",
|
|
4232
4213
|
"@protected": true,
|
|
@@ -4258,12 +4239,10 @@ var __context$2 = {
|
|
|
4258
4239
|
}
|
|
4259
4240
|
}
|
|
4260
4241
|
}
|
|
4261
|
-
};
|
|
4262
|
-
var security_multikey_v1_default = { "@context": __context$2 };
|
|
4263
|
-
|
|
4242
|
+
} };
|
|
4264
4243
|
//#endregion
|
|
4265
4244
|
//#region src/contexts/security-v1.json
|
|
4266
|
-
var
|
|
4245
|
+
var security_v1_default = { "@context": {
|
|
4267
4246
|
"id": "@id",
|
|
4268
4247
|
"type": "@type",
|
|
4269
4248
|
"dc": "http://purl.org/dc/terms/",
|
|
@@ -4334,21 +4313,17 @@ var __context$1 = {
|
|
|
4334
4313
|
"signature": "sec:signature",
|
|
4335
4314
|
"signatureAlgorithm": "sec:signingAlgorithm",
|
|
4336
4315
|
"signatureValue": "sec:signatureValue"
|
|
4337
|
-
};
|
|
4338
|
-
var security_v1_default = { "@context": __context$1 };
|
|
4339
|
-
|
|
4316
|
+
} };
|
|
4340
4317
|
//#endregion
|
|
4341
4318
|
//#region src/contexts/webfinger.json
|
|
4342
|
-
var
|
|
4319
|
+
var webfinger_default = { "@context": {
|
|
4343
4320
|
"wf": "https://purl.archive.org/socialweb/webfinger#",
|
|
4344
4321
|
"xsd": "http://www.w3.org/2001/XMLSchema#",
|
|
4345
4322
|
"webfinger": {
|
|
4346
4323
|
"@id": "wf:webfinger",
|
|
4347
4324
|
"@type": "xsd:string"
|
|
4348
4325
|
}
|
|
4349
|
-
};
|
|
4350
|
-
var webfinger_default = { "@context": __context };
|
|
4351
|
-
|
|
4326
|
+
} };
|
|
4352
4327
|
//#endregion
|
|
4353
4328
|
//#region src/contexts.ts
|
|
4354
4329
|
const preloadedContexts = {
|
|
@@ -4365,15 +4340,14 @@ const preloadedContexts = {
|
|
|
4365
4340
|
"https://w3id.org/fep/5711": fep_5711_default,
|
|
4366
4341
|
"http://joinmastodon.org/ns": joinmastodon_default
|
|
4367
4342
|
};
|
|
4368
|
-
var contexts_default = preloadedContexts;
|
|
4369
|
-
|
|
4370
4343
|
//#endregion
|
|
4371
4344
|
//#region src/docloader.ts
|
|
4372
|
-
const logger = (0,
|
|
4345
|
+
const logger = (0, _logtape_logtape.getLogger)([
|
|
4373
4346
|
"fedify",
|
|
4374
4347
|
"runtime",
|
|
4375
4348
|
"docloader"
|
|
4376
4349
|
]);
|
|
4350
|
+
const DEFAULT_MAX_REDIRECTION = 20;
|
|
4377
4351
|
/**
|
|
4378
4352
|
* Gets a {@link RemoteDocument} from the given response.
|
|
4379
4353
|
* @param url The URL of the document to load.
|
|
@@ -4383,7 +4357,7 @@ const logger = (0, __logtape_logtape.getLogger)([
|
|
|
4383
4357
|
* @throws {FetchError} If the response is not OK.
|
|
4384
4358
|
* @internal
|
|
4385
4359
|
*/
|
|
4386
|
-
async function getRemoteDocument(url, response, fetch
|
|
4360
|
+
async function getRemoteDocument(url, response, fetch) {
|
|
4387
4361
|
const documentUrl = response.url === "" ? url : response.url;
|
|
4388
4362
|
const docUrl = new URL(documentUrl);
|
|
4389
4363
|
if (!response.ok) {
|
|
@@ -4421,7 +4395,7 @@ async function getRemoteDocument(url, response, fetch$1) {
|
|
|
4421
4395
|
alternateUrl: altUri.href,
|
|
4422
4396
|
url: documentUrl
|
|
4423
4397
|
});
|
|
4424
|
-
return await fetch
|
|
4398
|
+
return await fetch(altUri.href);
|
|
4425
4399
|
}
|
|
4426
4400
|
}
|
|
4427
4401
|
}
|
|
@@ -4447,15 +4421,14 @@ async function getRemoteDocument(url, response, fetch$1) {
|
|
|
4447
4421
|
attrPattern.lastIndex = 0;
|
|
4448
4422
|
while ((attrMatch = attrPattern.exec(tagContent)) !== null) {
|
|
4449
4423
|
const key = attrMatch[1].toLowerCase();
|
|
4450
|
-
|
|
4451
|
-
attribs[key] = value;
|
|
4424
|
+
attribs[key] = attrMatch[2] ?? attrMatch[3] ?? attrMatch[4] ?? "";
|
|
4452
4425
|
}
|
|
4453
4426
|
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) {
|
|
4454
4427
|
logger.debug("Found alternate document: {alternateUrl} from {url}", {
|
|
4455
4428
|
alternateUrl: attribs.href,
|
|
4456
4429
|
url: documentUrl
|
|
4457
4430
|
});
|
|
4458
|
-
return await fetch
|
|
4431
|
+
return await fetch(new URL(attribs.href, docUrl).href);
|
|
4459
4432
|
}
|
|
4460
4433
|
}
|
|
4461
4434
|
document = JSON.parse(html);
|
|
@@ -4490,33 +4463,34 @@ async function getRemoteDocument(url, response, fetch$1) {
|
|
|
4490
4463
|
* @since 1.3.0
|
|
4491
4464
|
*/
|
|
4492
4465
|
function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAgent } = {}) {
|
|
4493
|
-
const
|
|
4494
|
-
|
|
4495
|
-
async function load(url, options) {
|
|
4466
|
+
const tracer = _opentelemetry_api.trace.getTracerProvider().getTracer(require_request.name, require_request.version);
|
|
4467
|
+
async function load(url, options, redirected = 0, visited = /* @__PURE__ */ new Set()) {
|
|
4496
4468
|
options?.signal?.throwIfAborted();
|
|
4497
|
-
|
|
4498
|
-
|
|
4469
|
+
const currentUrl = new URL(url).href;
|
|
4470
|
+
if (!skipPreloadedContexts && currentUrl in preloadedContexts) {
|
|
4471
|
+
logger.debug("Using preloaded context: {url}.", { url: currentUrl });
|
|
4499
4472
|
return {
|
|
4500
4473
|
contextUrl: null,
|
|
4501
|
-
document:
|
|
4502
|
-
documentUrl:
|
|
4474
|
+
document: preloadedContexts[currentUrl],
|
|
4475
|
+
documentUrl: currentUrl
|
|
4503
4476
|
};
|
|
4504
4477
|
}
|
|
4505
4478
|
if (!allowPrivateAddress) try {
|
|
4506
|
-
await require_url.validatePublicUrl(
|
|
4479
|
+
await require_url.validatePublicUrl(currentUrl);
|
|
4507
4480
|
} catch (error) {
|
|
4508
4481
|
if (error instanceof require_url.UrlError) logger.error("Disallowed private URL: {url}", {
|
|
4509
|
-
url,
|
|
4482
|
+
url: currentUrl,
|
|
4510
4483
|
error
|
|
4511
4484
|
});
|
|
4512
4485
|
throw error;
|
|
4513
4486
|
}
|
|
4487
|
+
visited.add(currentUrl);
|
|
4514
4488
|
return await tracer.startActiveSpan("activitypub.fetch_document", {
|
|
4515
|
-
kind:
|
|
4516
|
-
attributes: { "url.full":
|
|
4489
|
+
kind: _opentelemetry_api.SpanKind.CLIENT,
|
|
4490
|
+
attributes: { "url.full": currentUrl }
|
|
4517
4491
|
}, async (span) => {
|
|
4518
4492
|
try {
|
|
4519
|
-
const request = require_request.createActivityPubRequest(
|
|
4493
|
+
const request = require_request.createActivityPubRequest(currentUrl, { userAgent });
|
|
4520
4494
|
require_request.logRequest(logger, request);
|
|
4521
4495
|
const response = await fetch(request, {
|
|
4522
4496
|
redirect: "manual",
|
|
@@ -4524,18 +4498,32 @@ function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAge
|
|
|
4524
4498
|
});
|
|
4525
4499
|
span.setAttribute("http.response.status_code", response.status);
|
|
4526
4500
|
if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
|
|
4527
|
-
|
|
4501
|
+
if (redirected >= DEFAULT_MAX_REDIRECTION) {
|
|
4502
|
+
logger.error("Too many redirections ({redirections}) while fetching document.", {
|
|
4503
|
+
redirections: redirected + 1,
|
|
4504
|
+
url: currentUrl
|
|
4505
|
+
});
|
|
4506
|
+
throw new require_request.FetchError(currentUrl, `Too many redirections (${redirected + 1})`);
|
|
4507
|
+
}
|
|
4508
|
+
const redirectUrl = new URL(response.headers.get("Location"), response.url === "" ? currentUrl : response.url).href;
|
|
4528
4509
|
span.setAttribute("http.redirect.url", redirectUrl);
|
|
4529
|
-
|
|
4510
|
+
if (visited.has(redirectUrl)) {
|
|
4511
|
+
logger.error("Detected a redirect loop while fetching document: {url} -> {redirectUrl}", {
|
|
4512
|
+
url: currentUrl,
|
|
4513
|
+
redirectUrl
|
|
4514
|
+
});
|
|
4515
|
+
throw new require_request.FetchError(currentUrl, `Redirect loop detected: ${redirectUrl}`);
|
|
4516
|
+
}
|
|
4517
|
+
return await load(redirectUrl, options, redirected + 1, visited);
|
|
4530
4518
|
}
|
|
4531
|
-
const result = await getRemoteDocument(
|
|
4519
|
+
const result = await getRemoteDocument(currentUrl, response, load);
|
|
4532
4520
|
span.setAttribute("docloader.document_url", result.documentUrl);
|
|
4533
4521
|
if (result.contextUrl != null) span.setAttribute("docloader.context_url", result.contextUrl);
|
|
4534
4522
|
return result;
|
|
4535
4523
|
} catch (error) {
|
|
4536
4524
|
span.recordException(error);
|
|
4537
4525
|
span.setStatus({
|
|
4538
|
-
code:
|
|
4526
|
+
code: _opentelemetry_api.SpanStatusCode.ERROR,
|
|
4539
4527
|
message: String(error)
|
|
4540
4528
|
});
|
|
4541
4529
|
throw error;
|
|
@@ -4546,17 +4534,16 @@ function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAge
|
|
|
4546
4534
|
}
|
|
4547
4535
|
return load;
|
|
4548
4536
|
}
|
|
4549
|
-
|
|
4550
4537
|
//#endregion
|
|
4551
|
-
Object.defineProperty(exports,
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4538
|
+
Object.defineProperty(exports, "getDocumentLoader", {
|
|
4539
|
+
enumerable: true,
|
|
4540
|
+
get: function() {
|
|
4541
|
+
return getDocumentLoader;
|
|
4542
|
+
}
|
|
4543
|
+
});
|
|
4544
|
+
Object.defineProperty(exports, "preloadedContexts", {
|
|
4545
|
+
enumerable: true,
|
|
4546
|
+
get: function() {
|
|
4547
|
+
return preloadedContexts;
|
|
4548
|
+
}
|
|
4556
4549
|
});
|
|
4557
|
-
Object.defineProperty(exports, 'getDocumentLoader', {
|
|
4558
|
-
enumerable: true,
|
|
4559
|
-
get: function () {
|
|
4560
|
-
return getDocumentLoader;
|
|
4561
|
-
}
|
|
4562
|
-
});
|