@fedify/fedify
Version:
An ActivityPub server framework
108 lines (104 loc) • 4.21 kB
JavaScript
import { Temporal } from "@js-temporal/polyfill";
import { URLPattern } from "urlpattern-polyfill";
globalThis.addEventListener = () => {};
import { RouterError } from "./router-D_aVZZUc.js";
import { lookupWebFinger } from "./lookup-Ozuw-rxN.js";
import { lookupObject, traverseCollection } from "./lookup-DNXR408t.js";
import { mockDocumentLoader } from "./docloader-09nVWLAZ.js";
import { trace } from "@opentelemetry/api";
//#region testing/context.ts
function createContext(values) {
const { federation, url = new URL("http://example.com/"), canonicalOrigin, data, documentLoader, contextLoader, tracerProvider, clone, getNodeInfoUri, getActorUri, getObjectUri, getOutboxUri, getInboxUri, getFollowingUri, getFollowersUri, getLikedUri, getFeaturedUri, getFeaturedTagsUri, parseUri, getActorKeyPairs, getDocumentLoader, lookupObject: lookupObject$1, traverseCollection: traverseCollection$1, lookupNodeInfo, lookupWebFinger: lookupWebFinger$1, sendActivity, routeActivity } = values;
function throwRouteError() {
throw new RouterError("Not implemented");
}
return {
federation,
data,
origin: url.origin,
canonicalOrigin: canonicalOrigin ?? url.origin,
host: url.host,
hostname: url.hostname,
documentLoader: documentLoader ?? mockDocumentLoader,
contextLoader: contextLoader ?? mockDocumentLoader,
tracerProvider: tracerProvider ?? trace.getTracerProvider(),
clone: clone ?? ((data$1) => createContext({
...values,
data: data$1
})),
getNodeInfoUri: getNodeInfoUri ?? throwRouteError,
getActorUri: getActorUri ?? throwRouteError,
getObjectUri: getObjectUri ?? throwRouteError,
getOutboxUri: getOutboxUri ?? throwRouteError,
getInboxUri: getInboxUri ?? throwRouteError,
getFollowingUri: getFollowingUri ?? throwRouteError,
getFollowersUri: getFollowersUri ?? throwRouteError,
getLikedUri: getLikedUri ?? throwRouteError,
getFeaturedUri: getFeaturedUri ?? throwRouteError,
getFeaturedTagsUri: getFeaturedTagsUri ?? throwRouteError,
parseUri: parseUri ?? ((_uri) => {
throw new Error("Not implemented");
}),
getDocumentLoader: getDocumentLoader ?? ((_params) => {
throw new Error("Not implemented");
}),
getActorKeyPairs: getActorKeyPairs ?? ((_handle) => Promise.resolve([])),
lookupObject: lookupObject$1 ?? ((uri, options = {}) => {
return lookupObject(uri, {
documentLoader: options.documentLoader ?? documentLoader ?? mockDocumentLoader,
contextLoader: options.contextLoader ?? contextLoader ?? mockDocumentLoader
});
}),
traverseCollection: traverseCollection$1 ?? ((collection, options = {}) => {
return traverseCollection(collection, {
documentLoader: options.documentLoader ?? documentLoader ?? mockDocumentLoader,
contextLoader: options.contextLoader ?? contextLoader ?? mockDocumentLoader
});
}),
lookupNodeInfo: lookupNodeInfo ?? ((_params) => {
throw new Error("Not implemented");
}),
lookupWebFinger: lookupWebFinger$1 ?? ((resource, options = {}) => {
return lookupWebFinger(resource, options);
}),
sendActivity: sendActivity ?? ((_params) => {
throw new Error("Not implemented");
}),
routeActivity: routeActivity ?? ((_params) => {
throw new Error("Not implemented");
})
};
}
function createRequestContext(args) {
return {
...createContext(args),
clone: args.clone ?? ((data) => createRequestContext({
...args,
data
})),
request: args.request ?? new Request(args.url),
url: args.url,
getActor: args.getActor ?? (() => Promise.resolve(null)),
getObject: args.getObject ?? (() => Promise.resolve(null)),
getSignedKey: args.getSignedKey ?? (() => Promise.resolve(null)),
getSignedKeyOwner: args.getSignedKeyOwner ?? (() => Promise.resolve(null)),
sendActivity: args.sendActivity ?? ((_params) => {
throw new Error("Not implemented");
})
};
}
function createInboxContext(args) {
return {
...createContext(args),
clone: args.clone ?? ((data) => createInboxContext({
...args,
data
})),
recipient: args.recipient ?? null,
forwardActivity: args.forwardActivity ?? ((_params) => {
throw new Error("Not implemented");
})
};
}
//#endregion
export { createInboxContext, createRequestContext };