@fedify/fedify 0.14.0-dev.334 → 0.14.0-dev.335
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGES.md +11 -0
- package/esm/federation/middleware.js +2 -2
- package/esm/vocab/object.yaml +13 -0
- package/esm/vocab/source.yaml +26 -0
- package/esm/vocab/vocab.js +453 -0
- package/package.json +1 -1
- package/types/federation/collection.d.ts +0 -1
- package/types/federation/collection.d.ts.map +1 -1
- package/types/federation/context.d.ts +0 -2
- package/types/federation/context.d.ts.map +1 -1
- package/types/federation/handler.d.ts +0 -2
- package/types/federation/handler.d.ts.map +1 -1
- package/types/federation/middleware.d.ts +0 -2
- package/types/federation/middleware.d.ts.map +1 -1
- package/types/federation/send.d.ts +0 -2
- package/types/federation/send.d.ts.map +1 -1
- package/types/nodeinfo/handler.d.ts +0 -1
- package/types/nodeinfo/handler.d.ts.map +1 -1
- package/types/nodeinfo/types.d.ts +0 -1
- package/types/nodeinfo/types.d.ts.map +1 -1
- package/types/runtime/docloader.d.ts +0 -1
- package/types/runtime/docloader.d.ts.map +1 -1
- package/types/sig/http.d.ts +0 -2
- package/types/sig/http.d.ts.map +1 -1
- package/types/sig/key.d.ts +0 -1
- package/types/sig/key.d.ts.map +1 -1
- package/types/sig/owner.d.ts +0 -1
- package/types/sig/owner.d.ts.map +1 -1
- package/types/sig/proof.d.ts +0 -1
- package/types/sig/proof.d.ts.map +1 -1
- package/types/vocab/actor.d.ts +0 -1
- package/types/vocab/actor.d.ts.map +1 -1
- package/types/vocab/constants.d.ts +0 -1
- package/types/vocab/constants.d.ts.map +1 -1
- package/types/vocab/lookup.d.ts +0 -1
- package/types/vocab/lookup.d.ts.map +1 -1
- package/types/vocab/vocab.d.ts +191 -1
- package/types/vocab/vocab.d.ts.map +1 -1
- package/types/webfinger/handler.d.ts +0 -1
- package/types/webfinger/handler.d.ts.map +1 -1
- package/types/webfinger/lookup.d.ts +0 -1
- package/types/webfinger/lookup.d.ts.map +1 -1
- package/types/x/hono.d.ts +0 -1
- package/types/x/hono.d.ts.map +1 -1
package/CHANGES.md
CHANGED
@@ -8,6 +8,15 @@ Version 0.14.0
|
|
8
8
|
|
9
9
|
To be released.
|
10
10
|
|
11
|
+
- Added `source` property to `Object` class in Activity Vocabulary API.
|
12
|
+
[[#114]]
|
13
|
+
|
14
|
+
- Added `Object.source` property.
|
15
|
+
- `new Object()` constructor now accepts `source` option.
|
16
|
+
- `Object.clone()` method now accepts `source` option.
|
17
|
+
|
18
|
+
- Added `Source` class to Activity Vocabulary API. [[#114]]
|
19
|
+
|
11
20
|
- Improved the performance of `Object.toJsonLd()` method.
|
12
21
|
|
13
22
|
- `Object.toJsonLd()` method no longer guarantees that the returned
|
@@ -24,6 +33,8 @@ To be released.
|
|
24
33
|
Bun, and fills the *deno.json* file with the default `compilerOptions` on
|
25
34
|
Deno.
|
26
35
|
|
36
|
+
[#114]: https://github.com/dahlia/fedify/issues/114
|
37
|
+
|
27
38
|
|
28
39
|
Version 0.13.0
|
29
40
|
--------------
|
@@ -56,11 +56,11 @@ class FederationImpl {
|
|
56
56
|
constructor(options) {
|
57
57
|
this.kv = options.kv;
|
58
58
|
this.kvPrefixes = {
|
59
|
-
...
|
59
|
+
...{
|
60
60
|
activityIdempotence: ["_fedify", "activityIdempotence"],
|
61
61
|
remoteDocument: ["_fedify", "remoteDocument"],
|
62
62
|
publicKey: ["_fedify", "publicKey"],
|
63
|
-
}
|
63
|
+
},
|
64
64
|
...(options.kvPrefixes ?? {}),
|
65
65
|
};
|
66
66
|
this.queue = options.queue;
|
package/esm/vocab/object.yaml
CHANGED
@@ -330,6 +330,19 @@ properties:
|
|
330
330
|
range:
|
331
331
|
- "http://www.w3.org/2001/XMLSchema#boolean"
|
332
332
|
|
333
|
+
- singularName: source
|
334
|
+
functional: true
|
335
|
+
compactName: source
|
336
|
+
uri: "https://www.w3.org/ns/activitystreams#source"
|
337
|
+
description: |
|
338
|
+
The `source` property is intended to convey some sort of source from which
|
339
|
+
the `content` markup was derived, as a form of provenance, or to support
|
340
|
+
future editing by clients. In general, clients do the conversion from
|
341
|
+
`source` to `content`, not the other way around.
|
342
|
+
untyped: true
|
343
|
+
range:
|
344
|
+
- "https://www.w3.org/ns/activitystreams#Source"
|
345
|
+
|
333
346
|
- singularName: proof
|
334
347
|
pluralName: proofs
|
335
348
|
singularAccessor: true
|
@@ -0,0 +1,26 @@
|
|
1
|
+
$schema: ../codegen/schema.yaml
|
2
|
+
name: Source
|
3
|
+
compactName: as:Source
|
4
|
+
uri: "https://www.w3.org/ns/activitystreams#Source"
|
5
|
+
entity: false
|
6
|
+
description: Contents of {@link Object}'s `source`.
|
7
|
+
defaultContext: "https://www.w3.org/ns/activitystreams"
|
8
|
+
|
9
|
+
properties:
|
10
|
+
- pluralName: contents
|
11
|
+
singularName: content
|
12
|
+
singularAccessor: true
|
13
|
+
compactName: content
|
14
|
+
uri: "https://www.w3.org/ns/activitystreams#content"
|
15
|
+
description: The source content.
|
16
|
+
range:
|
17
|
+
- "http://www.w3.org/2001/XMLSchema#string"
|
18
|
+
- "http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
19
|
+
|
20
|
+
- singularName: mediaType
|
21
|
+
functional: true
|
22
|
+
compactName: mediaType
|
23
|
+
uri: "https://www.w3.org/ns/activitystreams#mediaType"
|
24
|
+
description: The MIME media type of the source content.
|
25
|
+
range:
|
26
|
+
- "http://www.w3.org/2001/XMLSchema#string"
|
package/esm/vocab/vocab.js
CHANGED
@@ -59,6 +59,7 @@ export class Object {
|
|
59
59
|
#_3BLrzmscsjHCw8TF5BHRW9WkPnX8 = [];
|
60
60
|
#_3bNvLMBN1bCJETiTihM3wvi1B2JX = [];
|
61
61
|
#_u8gdcDTtChQ4tbSQMXc4cYWyum7 = [];
|
62
|
+
#_2ZwCFoS787v8y8bXKjMoE6MAbrEB = [];
|
62
63
|
#_42rPnotok1ivQ2RNCKNbeFJgx8b8 = [];
|
63
64
|
/**
|
64
65
|
* Constructs a new instance of Object with the given values.
|
@@ -601,6 +602,16 @@ export class Object {
|
|
601
602
|
"boolean" + ".");
|
602
603
|
}
|
603
604
|
}
|
605
|
+
if ("source" in values && values.source != null) {
|
606
|
+
if (values.source instanceof Source) {
|
607
|
+
// @ts-ignore: type is checked above.
|
608
|
+
this.#_2ZwCFoS787v8y8bXKjMoE6MAbrEB = [values.source];
|
609
|
+
}
|
610
|
+
else {
|
611
|
+
throw new TypeError("The source must be of type " +
|
612
|
+
"Source" + ".");
|
613
|
+
}
|
614
|
+
}
|
604
615
|
if ("proof" in values && values.proof != null) {
|
605
616
|
if (values.proof instanceof DataIntegrityProof ||
|
606
617
|
values.proof instanceof URL) {
|
@@ -1192,6 +1203,17 @@ export class Object {
|
|
1192
1203
|
"boolean" + ".");
|
1193
1204
|
}
|
1194
1205
|
}
|
1206
|
+
clone.#_2ZwCFoS787v8y8bXKjMoE6MAbrEB = this.#_2ZwCFoS787v8y8bXKjMoE6MAbrEB;
|
1207
|
+
if ("source" in values && values.source != null) {
|
1208
|
+
if (values.source instanceof Source) {
|
1209
|
+
// @ts-ignore: type is checked above.
|
1210
|
+
clone.#_2ZwCFoS787v8y8bXKjMoE6MAbrEB = [values.source];
|
1211
|
+
}
|
1212
|
+
else {
|
1213
|
+
throw new TypeError("The source must be of type " +
|
1214
|
+
"Source" + ".");
|
1215
|
+
}
|
1216
|
+
}
|
1195
1217
|
clone.#_42rPnotok1ivQ2RNCKNbeFJgx8b8 = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8;
|
1196
1218
|
if ("proof" in values && values.proof != null) {
|
1197
1219
|
if (values.proof instanceof DataIntegrityProof ||
|
@@ -2638,6 +2660,16 @@ export class Object {
|
|
2638
2660
|
return null;
|
2639
2661
|
return this.#_u8gdcDTtChQ4tbSQMXc4cYWyum7[0];
|
2640
2662
|
}
|
2663
|
+
/** The `source` property is intended to convey some sort of source from which
|
2664
|
+
* the `content` markup was derived, as a form of provenance, or to support
|
2665
|
+
* future editing by clients. In general, clients do the conversion from
|
2666
|
+
* `source` to `content`, not the other way around.
|
2667
|
+
*/
|
2668
|
+
get source() {
|
2669
|
+
if (this.#_2ZwCFoS787v8y8bXKjMoE6MAbrEB.length < 1)
|
2670
|
+
return null;
|
2671
|
+
return this.#_2ZwCFoS787v8y8bXKjMoE6MAbrEB[0];
|
2672
|
+
}
|
2641
2673
|
async #fetchProof(url, options = {}) {
|
2642
2674
|
const documentLoader = options.documentLoader ?? this._documentLoader ??
|
2643
2675
|
fetchDocumentLoader;
|
@@ -3223,6 +3255,21 @@ export class Object {
|
|
3223
3255
|
result["sensitive"] = compactItems[0];
|
3224
3256
|
}
|
3225
3257
|
compactItems = [];
|
3258
|
+
for (const v of this.#_2ZwCFoS787v8y8bXKjMoE6MAbrEB) {
|
3259
|
+
const item = await v.toJsonLd({
|
3260
|
+
...options,
|
3261
|
+
format: undefined,
|
3262
|
+
context: undefined,
|
3263
|
+
});
|
3264
|
+
compactItems.push(item);
|
3265
|
+
}
|
3266
|
+
if (compactItems.length > 1) {
|
3267
|
+
result["source"] = compactItems;
|
3268
|
+
}
|
3269
|
+
else if (compactItems.length === 1) {
|
3270
|
+
result["source"] = compactItems[0];
|
3271
|
+
}
|
3272
|
+
compactItems = [];
|
3226
3273
|
for (const v of this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8) {
|
3227
3274
|
const item = v instanceof URL ? v.href : await v.toJsonLd({
|
3228
3275
|
...options,
|
@@ -3549,6 +3596,14 @@ export class Object {
|
|
3549
3596
|
values["https://www.w3.org/ns/activitystreams#sensitive"] = array;
|
3550
3597
|
}
|
3551
3598
|
array = [];
|
3599
|
+
for (const v of this.#_2ZwCFoS787v8y8bXKjMoE6MAbrEB) {
|
3600
|
+
const element = await v.toJsonLd(options);
|
3601
|
+
array.push(element);
|
3602
|
+
}
|
3603
|
+
if (array.length > 0) {
|
3604
|
+
values["https://www.w3.org/ns/activitystreams#source"] = array;
|
3605
|
+
}
|
3606
|
+
array = [];
|
3552
3607
|
for (const v of this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8) {
|
3553
3608
|
const element = v instanceof URL
|
3554
3609
|
? { "@id": v.href }
|
@@ -4775,6 +4830,19 @@ export class Object {
|
|
4775
4830
|
_u8gdcDTtChQ4tbSQMXc4cYWyum7.push(v["@value"]);
|
4776
4831
|
}
|
4777
4832
|
instance.#_u8gdcDTtChQ4tbSQMXc4cYWyum7 = _u8gdcDTtChQ4tbSQMXc4cYWyum7;
|
4833
|
+
const _2ZwCFoS787v8y8bXKjMoE6MAbrEB = [];
|
4834
|
+
const _2ZwCFoS787v8y8bXKjMoE6MAbrEB__array = values["https://www.w3.org/ns/activitystreams#source"];
|
4835
|
+
for (const v of _2ZwCFoS787v8y8bXKjMoE6MAbrEB__array == null
|
4836
|
+
? []
|
4837
|
+
: _2ZwCFoS787v8y8bXKjMoE6MAbrEB__array.length === 1 &&
|
4838
|
+
"@list" in _2ZwCFoS787v8y8bXKjMoE6MAbrEB__array[0]
|
4839
|
+
? _2ZwCFoS787v8y8bXKjMoE6MAbrEB__array[0]["@list"]
|
4840
|
+
: _2ZwCFoS787v8y8bXKjMoE6MAbrEB__array) {
|
4841
|
+
if (v == null)
|
4842
|
+
continue;
|
4843
|
+
_2ZwCFoS787v8y8bXKjMoE6MAbrEB.push(await Source.fromJsonLd(v, options));
|
4844
|
+
}
|
4845
|
+
instance.#_2ZwCFoS787v8y8bXKjMoE6MAbrEB = _2ZwCFoS787v8y8bXKjMoE6MAbrEB;
|
4778
4846
|
const _42rPnotok1ivQ2RNCKNbeFJgx8b8 = [];
|
4779
4847
|
const _42rPnotok1ivQ2RNCKNbeFJgx8b8__array = values["https://w3id.org/security#proof"];
|
4780
4848
|
for (const v of _42rPnotok1ivQ2RNCKNbeFJgx8b8__array == null
|
@@ -5191,6 +5259,17 @@ export class Object {
|
|
5191
5259
|
if (_u8gdcDTtChQ4tbSQMXc4cYWyum7.length == 1) {
|
5192
5260
|
proxy.sensitive = _u8gdcDTtChQ4tbSQMXc4cYWyum7[0];
|
5193
5261
|
}
|
5262
|
+
const _2ZwCFoS787v8y8bXKjMoE6MAbrEB = this.#_2ZwCFoS787v8y8bXKjMoE6MAbrEB
|
5263
|
+
// deno-lint-ignore no-explicit-any
|
5264
|
+
.map((v) => v instanceof URL
|
5265
|
+
? {
|
5266
|
+
[Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
|
5267
|
+
[Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options),
|
5268
|
+
}
|
5269
|
+
: v);
|
5270
|
+
if (_2ZwCFoS787v8y8bXKjMoE6MAbrEB.length == 1) {
|
5271
|
+
proxy.source = _2ZwCFoS787v8y8bXKjMoE6MAbrEB[0];
|
5272
|
+
}
|
5194
5273
|
const _42rPnotok1ivQ2RNCKNbeFJgx8b8 = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8
|
5195
5274
|
// deno-lint-ignore no-explicit-any
|
5196
5275
|
.map((v) => v instanceof URL
|
@@ -32678,6 +32757,380 @@ export class Service extends Object {
|
|
32678
32757
|
return "Service " + inspect(proxy, options);
|
32679
32758
|
}
|
32680
32759
|
}
|
32760
|
+
/** Contents of {@link Object}'s `source`.
|
32761
|
+
*/
|
32762
|
+
export class Source {
|
32763
|
+
#documentLoader;
|
32764
|
+
#contextLoader;
|
32765
|
+
id;
|
32766
|
+
get _documentLoader() {
|
32767
|
+
return this.#documentLoader;
|
32768
|
+
}
|
32769
|
+
get _contextLoader() {
|
32770
|
+
return this.#contextLoader;
|
32771
|
+
}
|
32772
|
+
#cachedJsonLd;
|
32773
|
+
/**
|
32774
|
+
* The type URI of {@link Source}: `https://www.w3.org/ns/activitystreams#Source`.
|
32775
|
+
*/
|
32776
|
+
static get typeId() {
|
32777
|
+
return new URL("https://www.w3.org/ns/activitystreams#Source");
|
32778
|
+
}
|
32779
|
+
#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz = [];
|
32780
|
+
#_3BLrzmscsjHCw8TF5BHRW9WkPnX8 = [];
|
32781
|
+
/**
|
32782
|
+
* Constructs a new instance of Source with the given values.
|
32783
|
+
* @param values The values to initialize the instance with.
|
32784
|
+
* @param options The options to use for initialization.
|
32785
|
+
*/
|
32786
|
+
constructor(values, { documentLoader, contextLoader, } = {}) {
|
32787
|
+
this.#documentLoader = documentLoader;
|
32788
|
+
this.#contextLoader = contextLoader;
|
32789
|
+
if (values.id == null || values.id instanceof URL) {
|
32790
|
+
this.id = values.id ?? null;
|
32791
|
+
}
|
32792
|
+
else {
|
32793
|
+
throw new TypeError("The id must be a URL.");
|
32794
|
+
}
|
32795
|
+
if ("content" in values && values.content != null) {
|
32796
|
+
if (typeof values.content === "string" ||
|
32797
|
+
values.content instanceof LanguageString) {
|
32798
|
+
// @ts-ignore: type is checked above.
|
32799
|
+
this.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz = [values.content];
|
32800
|
+
}
|
32801
|
+
else {
|
32802
|
+
throw new TypeError("The content must be of type " +
|
32803
|
+
"string | LanguageString" + ".");
|
32804
|
+
}
|
32805
|
+
}
|
32806
|
+
if ("contents" in values && values.contents != null) {
|
32807
|
+
if ("content" in values &&
|
32808
|
+
values.content != null) {
|
32809
|
+
throw new TypeError("Cannot initialize both content and " +
|
32810
|
+
"contents at the same time.");
|
32811
|
+
}
|
32812
|
+
if (Array.isArray(values.contents) &&
|
32813
|
+
values.contents.every((v) => typeof v === "string" || v instanceof LanguageString)) {
|
32814
|
+
// @ts-ignore: type is checked above.
|
32815
|
+
this.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz = values.contents;
|
32816
|
+
}
|
32817
|
+
else {
|
32818
|
+
throw new TypeError("The contents must be an array of type " +
|
32819
|
+
"string | LanguageString" + ".");
|
32820
|
+
}
|
32821
|
+
}
|
32822
|
+
if ("mediaType" in values && values.mediaType != null) {
|
32823
|
+
if (typeof values.mediaType === "string") {
|
32824
|
+
// @ts-ignore: type is checked above.
|
32825
|
+
this.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8 = [values.mediaType];
|
32826
|
+
}
|
32827
|
+
else {
|
32828
|
+
throw new TypeError("The mediaType must be of type " +
|
32829
|
+
"string" + ".");
|
32830
|
+
}
|
32831
|
+
}
|
32832
|
+
}
|
32833
|
+
/**
|
32834
|
+
* Clones this instance, optionally updating it with the given values.
|
32835
|
+
* @param values The values to update the clone with.
|
32836
|
+
* @options The options to use for cloning.
|
32837
|
+
* @returns The cloned instance.
|
32838
|
+
*/
|
32839
|
+
clone(values = {}, options = {}) {
|
32840
|
+
// @ts-ignore: this.constructor is not recognized as a constructor, but it is.
|
32841
|
+
const clone = new this.constructor({ id: values.id ?? this.id }, options);
|
32842
|
+
clone.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz = this.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz;
|
32843
|
+
if ("content" in values && values.content != null) {
|
32844
|
+
if (typeof values.content === "string" ||
|
32845
|
+
values.content instanceof LanguageString) {
|
32846
|
+
// @ts-ignore: type is checked above.
|
32847
|
+
clone.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz = [values.content];
|
32848
|
+
}
|
32849
|
+
else {
|
32850
|
+
throw new TypeError("The content must be of type " +
|
32851
|
+
"string | LanguageString" + ".");
|
32852
|
+
}
|
32853
|
+
}
|
32854
|
+
if ("contents" in values && values.contents != null) {
|
32855
|
+
if ("content" in values &&
|
32856
|
+
values.content != null) {
|
32857
|
+
throw new TypeError("Cannot update both content and " +
|
32858
|
+
"contents at the same time.");
|
32859
|
+
}
|
32860
|
+
if (Array.isArray(values.contents) &&
|
32861
|
+
values.contents.every((v) => typeof v === "string" || v instanceof LanguageString)) {
|
32862
|
+
// @ts-ignore: type is checked above.
|
32863
|
+
clone.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz = values.contents;
|
32864
|
+
}
|
32865
|
+
else {
|
32866
|
+
throw new TypeError("The contents must be an array of type " +
|
32867
|
+
"string | LanguageString" + ".");
|
32868
|
+
}
|
32869
|
+
}
|
32870
|
+
clone.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8 = this.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8;
|
32871
|
+
if ("mediaType" in values && values.mediaType != null) {
|
32872
|
+
if (typeof values.mediaType === "string") {
|
32873
|
+
// @ts-ignore: type is checked above.
|
32874
|
+
clone.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8 = [values.mediaType];
|
32875
|
+
}
|
32876
|
+
else {
|
32877
|
+
throw new TypeError("The mediaType must be of type " +
|
32878
|
+
"string" + ".");
|
32879
|
+
}
|
32880
|
+
}
|
32881
|
+
return clone;
|
32882
|
+
}
|
32883
|
+
/** The source content.
|
32884
|
+
*/
|
32885
|
+
get content() {
|
32886
|
+
if (this.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz.length < 1)
|
32887
|
+
return null;
|
32888
|
+
return this.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz[0];
|
32889
|
+
}
|
32890
|
+
/** The source content.
|
32891
|
+
*/
|
32892
|
+
get contents() {
|
32893
|
+
return this.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz;
|
32894
|
+
}
|
32895
|
+
/** The MIME media type of the source content.
|
32896
|
+
*/
|
32897
|
+
get mediaType() {
|
32898
|
+
if (this.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8.length < 1)
|
32899
|
+
return null;
|
32900
|
+
return this.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8[0];
|
32901
|
+
}
|
32902
|
+
/**
|
32903
|
+
* Converts this object to a JSON-LD structure.
|
32904
|
+
* @param options The options to use.
|
32905
|
+
* - `format`: The format of the output: `compact` or
|
32906
|
+
`expand`.
|
32907
|
+
* - `contextLoader`: The loader for remote JSON-LD contexts.
|
32908
|
+
* - `context`: The JSON-LD context to use. Not applicable
|
32909
|
+
when `format` is set to `'expand'`.
|
32910
|
+
* @returns The JSON-LD representation of this object.
|
32911
|
+
*/
|
32912
|
+
async toJsonLd(options = {}) {
|
32913
|
+
if (options.expand != null) {
|
32914
|
+
if (options.format != null) {
|
32915
|
+
throw new TypeError("The expand option, which is deprecated, cannot be used together " +
|
32916
|
+
"with the format option.");
|
32917
|
+
}
|
32918
|
+
getLogger(["fedify", "vocab"]).warn("The expand option is deprecated; use format: 'expand' instead.");
|
32919
|
+
options = { ...options, format: "expand", expand: undefined };
|
32920
|
+
}
|
32921
|
+
if (options.format == null && this.#cachedJsonLd != null) {
|
32922
|
+
return this.#cachedJsonLd;
|
32923
|
+
}
|
32924
|
+
if (options.format !== "compact" && options.context != null) {
|
32925
|
+
throw new TypeError("The context option can only be used when the format option is set " +
|
32926
|
+
"to 'compact'.");
|
32927
|
+
}
|
32928
|
+
options = {
|
32929
|
+
...options,
|
32930
|
+
contextLoader: options.contextLoader ?? fetchDocumentLoader,
|
32931
|
+
};
|
32932
|
+
if (options.format == null &&
|
32933
|
+
(this.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz == null ||
|
32934
|
+
this.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz.length < 1)) {
|
32935
|
+
const result = {};
|
32936
|
+
// deno-lint-ignore no-unused-vars
|
32937
|
+
let compactItems;
|
32938
|
+
compactItems = [];
|
32939
|
+
for (const v of this.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz) {
|
32940
|
+
const item = typeof v === "string" ? v : {
|
32941
|
+
"@value": v.toString(),
|
32942
|
+
"@language": v.language.compact(),
|
32943
|
+
};
|
32944
|
+
compactItems.push(item);
|
32945
|
+
}
|
32946
|
+
if (compactItems.length > 1) {
|
32947
|
+
result["content"] = compactItems;
|
32948
|
+
}
|
32949
|
+
else if (compactItems.length === 1) {
|
32950
|
+
result["content"] = compactItems[0];
|
32951
|
+
}
|
32952
|
+
compactItems = [];
|
32953
|
+
for (const v of this.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8) {
|
32954
|
+
const item = v;
|
32955
|
+
compactItems.push(item);
|
32956
|
+
}
|
32957
|
+
if (compactItems.length > 1) {
|
32958
|
+
result["mediaType"] = compactItems;
|
32959
|
+
}
|
32960
|
+
else if (compactItems.length === 1) {
|
32961
|
+
result["mediaType"] = compactItems[0];
|
32962
|
+
}
|
32963
|
+
result["type"] = "as:Source";
|
32964
|
+
if (this.id != null)
|
32965
|
+
result["id"] = this.id.href;
|
32966
|
+
result["@context"] = "https://www.w3.org/ns/activitystreams";
|
32967
|
+
return result;
|
32968
|
+
}
|
32969
|
+
// deno-lint-ignore no-unused-vars prefer-const
|
32970
|
+
let array;
|
32971
|
+
const values = {};
|
32972
|
+
array = [];
|
32973
|
+
for (const v of this.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz) {
|
32974
|
+
const element = typeof v === "string" ? { "@value": v } : {
|
32975
|
+
"@value": v.toString(),
|
32976
|
+
"@language": v.language.compact(),
|
32977
|
+
};
|
32978
|
+
array.push(element);
|
32979
|
+
}
|
32980
|
+
if (array.length > 0) {
|
32981
|
+
values["https://www.w3.org/ns/activitystreams#content"] = array;
|
32982
|
+
}
|
32983
|
+
array = [];
|
32984
|
+
for (const v of this.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8) {
|
32985
|
+
const element = { "@value": v };
|
32986
|
+
array.push(element);
|
32987
|
+
}
|
32988
|
+
if (array.length > 0) {
|
32989
|
+
values["https://www.w3.org/ns/activitystreams#mediaType"] = array;
|
32990
|
+
}
|
32991
|
+
values["@type"] = ["https://www.w3.org/ns/activitystreams#Source"];
|
32992
|
+
if (this.id != null)
|
32993
|
+
values["@id"] = this.id.href;
|
32994
|
+
if (options.format === "expand") {
|
32995
|
+
return await jsonld.expand(values, { documentLoader: options.contextLoader });
|
32996
|
+
}
|
32997
|
+
const docContext = options.context ??
|
32998
|
+
"https://www.w3.org/ns/activitystreams";
|
32999
|
+
const compacted = await jsonld.compact(values, docContext, { documentLoader: options.contextLoader });
|
33000
|
+
if (docContext != null) {
|
33001
|
+
// Embed context
|
33002
|
+
}
|
33003
|
+
return compacted;
|
33004
|
+
}
|
33005
|
+
/**
|
33006
|
+
* Converts a JSON-LD structure to an object of this type.
|
33007
|
+
* @param json The JSON-LD structure to convert.
|
33008
|
+
* @returns The object of this type.
|
33009
|
+
* @throws {TypeError} If the given `json` is invalid.
|
33010
|
+
*/
|
33011
|
+
static async fromJsonLd(json, options = {}) {
|
33012
|
+
if (typeof json === "undefined") {
|
33013
|
+
throw new TypeError("Invalid JSON-LD: undefined.");
|
33014
|
+
}
|
33015
|
+
else if (json === null)
|
33016
|
+
throw new TypeError("Invalid JSON-LD: null.");
|
33017
|
+
options = {
|
33018
|
+
...options,
|
33019
|
+
documentLoader: options.documentLoader ?? fetchDocumentLoader,
|
33020
|
+
contextLoader: options.contextLoader ?? fetchDocumentLoader,
|
33021
|
+
};
|
33022
|
+
// deno-lint-ignore no-explicit-any
|
33023
|
+
let values;
|
33024
|
+
if (globalThis.Object.keys(json).length == 0) {
|
33025
|
+
values = {};
|
33026
|
+
}
|
33027
|
+
else {
|
33028
|
+
const expanded = await jsonld.expand(json, {
|
33029
|
+
documentLoader: options.contextLoader,
|
33030
|
+
keepFreeFloatingNodes: true,
|
33031
|
+
});
|
33032
|
+
values =
|
33033
|
+
// deno-lint-ignore no-explicit-any
|
33034
|
+
(expanded[0] ?? {});
|
33035
|
+
}
|
33036
|
+
if ("@type" in values) {
|
33037
|
+
if (!values["@type"].includes("https://www.w3.org/ns/activitystreams#Source")) {
|
33038
|
+
throw new TypeError("Invalid type: " + values["@type"]);
|
33039
|
+
}
|
33040
|
+
}
|
33041
|
+
const instance = new this({ id: "@id" in values ? new URL(values["@id"]) : undefined }, options);
|
33042
|
+
const _4HuuRSdSrXq8Jj2J9gcdYfoCzeuz = [];
|
33043
|
+
const _4HuuRSdSrXq8Jj2J9gcdYfoCzeuz__array = values["https://www.w3.org/ns/activitystreams#content"];
|
33044
|
+
for (const v of _4HuuRSdSrXq8Jj2J9gcdYfoCzeuz__array == null
|
33045
|
+
? []
|
33046
|
+
: _4HuuRSdSrXq8Jj2J9gcdYfoCzeuz__array.length === 1 &&
|
33047
|
+
"@list" in _4HuuRSdSrXq8Jj2J9gcdYfoCzeuz__array[0]
|
33048
|
+
? _4HuuRSdSrXq8Jj2J9gcdYfoCzeuz__array[0]["@list"]
|
33049
|
+
: _4HuuRSdSrXq8Jj2J9gcdYfoCzeuz__array) {
|
33050
|
+
if (v == null)
|
33051
|
+
continue;
|
33052
|
+
const decoded = typeof v === "object" && "@value" in v &&
|
33053
|
+
typeof v["@value"] === "string" && !("@language" in v)
|
33054
|
+
? v["@value"]
|
33055
|
+
: typeof v === "object" && "@language" in v && "@value" in v &&
|
33056
|
+
typeof v["@language"] === "string" &&
|
33057
|
+
typeof v["@value"] === "string"
|
33058
|
+
? new LanguageString(v["@value"], v["@language"])
|
33059
|
+
: undefined;
|
33060
|
+
if (typeof decoded === "undefined")
|
33061
|
+
continue;
|
33062
|
+
_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz.push(decoded);
|
33063
|
+
}
|
33064
|
+
instance.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz = _4HuuRSdSrXq8Jj2J9gcdYfoCzeuz;
|
33065
|
+
const _3BLrzmscsjHCw8TF5BHRW9WkPnX8 = [];
|
33066
|
+
const _3BLrzmscsjHCw8TF5BHRW9WkPnX8__array = values["https://www.w3.org/ns/activitystreams#mediaType"];
|
33067
|
+
for (const v of _3BLrzmscsjHCw8TF5BHRW9WkPnX8__array == null
|
33068
|
+
? []
|
33069
|
+
: _3BLrzmscsjHCw8TF5BHRW9WkPnX8__array.length === 1 &&
|
33070
|
+
"@list" in _3BLrzmscsjHCw8TF5BHRW9WkPnX8__array[0]
|
33071
|
+
? _3BLrzmscsjHCw8TF5BHRW9WkPnX8__array[0]["@list"]
|
33072
|
+
: _3BLrzmscsjHCw8TF5BHRW9WkPnX8__array) {
|
33073
|
+
if (v == null)
|
33074
|
+
continue;
|
33075
|
+
_3BLrzmscsjHCw8TF5BHRW9WkPnX8.push(v["@value"]);
|
33076
|
+
}
|
33077
|
+
instance.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8 = _3BLrzmscsjHCw8TF5BHRW9WkPnX8;
|
33078
|
+
if (!("_fromSubclass" in options) || !options._fromSubclass) {
|
33079
|
+
try {
|
33080
|
+
instance.#cachedJsonLd = structuredClone(json);
|
33081
|
+
}
|
33082
|
+
catch {
|
33083
|
+
getLogger(["fedify", "vocab"]).warn("Failed to cache JSON-LD: {json}", { json });
|
33084
|
+
}
|
33085
|
+
}
|
33086
|
+
return instance;
|
33087
|
+
}
|
33088
|
+
_getCustomInspectProxy() {
|
33089
|
+
const proxy = {};
|
33090
|
+
if (this.id != null) {
|
33091
|
+
proxy.id = {
|
33092
|
+
[Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(this.id.href, options),
|
33093
|
+
[Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(this.id.href, options),
|
33094
|
+
};
|
33095
|
+
}
|
33096
|
+
const _4HuuRSdSrXq8Jj2J9gcdYfoCzeuz = this.#_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz
|
33097
|
+
// deno-lint-ignore no-explicit-any
|
33098
|
+
.map((v) => v instanceof URL
|
33099
|
+
? {
|
33100
|
+
[Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
|
33101
|
+
[Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options),
|
33102
|
+
}
|
33103
|
+
: v);
|
33104
|
+
if (_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz.length == 1) {
|
33105
|
+
proxy.content = _4HuuRSdSrXq8Jj2J9gcdYfoCzeuz[0];
|
33106
|
+
}
|
33107
|
+
if (_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz.length > 1 ||
|
33108
|
+
!("content" in proxy) &&
|
33109
|
+
_4HuuRSdSrXq8Jj2J9gcdYfoCzeuz.length > 0) {
|
33110
|
+
proxy.contents = _4HuuRSdSrXq8Jj2J9gcdYfoCzeuz;
|
33111
|
+
}
|
33112
|
+
const _3BLrzmscsjHCw8TF5BHRW9WkPnX8 = this.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8
|
33113
|
+
// deno-lint-ignore no-explicit-any
|
33114
|
+
.map((v) => v instanceof URL
|
33115
|
+
? {
|
33116
|
+
[Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
|
33117
|
+
[Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options),
|
33118
|
+
}
|
33119
|
+
: v);
|
33120
|
+
if (_3BLrzmscsjHCw8TF5BHRW9WkPnX8.length == 1) {
|
33121
|
+
proxy.mediaType = _3BLrzmscsjHCw8TF5BHRW9WkPnX8[0];
|
33122
|
+
}
|
33123
|
+
return proxy;
|
33124
|
+
}
|
33125
|
+
[Symbol.for("Deno.customInspect")](inspect, options) {
|
33126
|
+
const proxy = this._getCustomInspectProxy();
|
33127
|
+
return "Source " + inspect(proxy, options);
|
33128
|
+
}
|
33129
|
+
[Symbol.for("nodejs.util.inspect.custom")](_depth, options, inspect) {
|
33130
|
+
const proxy = this._getCustomInspectProxy();
|
33131
|
+
return "Source " + inspect(proxy, options);
|
33132
|
+
}
|
33133
|
+
}
|
32681
33134
|
/** A specialization of {@link Accept} indicating that
|
32682
33135
|
* the acceptance is tentative.
|
32683
33136
|
*/
|
package/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../src/federation/collection.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../src/federation/collection.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,KAAK;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,GAC3B,OAAO,CAAC,UAAU,CAAC,CAiBrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oCAAoC,CACxD,YAAY,EAAE,MAAM,GAAG,GAAG,EAC1B,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/federation/context.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/federation/context.ts"],"names":[],"mappings":"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"}
|