@fedify/fedify
Version:
An ActivityPub server framework
121 lines (120 loc) • 4.7 kB
JavaScript
import "@js-temporal/polyfill";
import "urlpattern-polyfill";
globalThis.addEventListener = () => {};
import { n as RouterError } from "./router-CrMLXoOr.mjs";
import { mockDocumentLoader } from "@fedify/fixture";
import { lookupObject, traverseCollection } from "@fedify/vocab";
import { lookupWebFinger } from "@fedify/webfinger";
import { trace } from "@opentelemetry/api";
//#region src/testing/context.ts
function createContext(values) {
const { federation, url = new URL("http://example.com/"), canonicalOrigin, data, documentLoader, contextLoader, tracerProvider, clone, getNodeInfoUri, getActorUri, getObjectUri, getCollectionUri, getOutboxUri, getInboxUri, getFollowingUri, getFollowersUri, getLikedUri, getFeaturedUri, getFeaturedTagsUri, parseUri, getActorKeyPairs, getDocumentLoader, lookupObject: lookupObject$1, traverseCollection: traverseCollection$1, lookupNodeInfo, lookupWebFinger: lookupWebFinger$1, sendActivity, routeActivity } = values;
function throwRouterError() {
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) => createContext({
...values,
data
})),
getNodeInfoUri: getNodeInfoUri ?? throwRouterError,
getActorUri: getActorUri ?? throwRouterError,
getObjectUri: getObjectUri ?? throwRouterError,
getCollectionUri: getCollectionUri ?? throwRouterError,
getOutboxUri: getOutboxUri ?? throwRouterError,
getInboxUri: getInboxUri ?? throwRouterError,
getFollowingUri: getFollowingUri ?? throwRouterError,
getFollowersUri: getFollowersUri ?? throwRouterError,
getLikedUri: getLikedUri ?? throwRouterError,
getFeaturedUri: getFeaturedUri ?? throwRouterError,
getFeaturedTagsUri: getFeaturedTagsUri ?? throwRouterError,
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 ?? ((_forwarder, _recipients, _options) => {
throw new Error("Not implemented");
})
};
}
function createOutboxContext(args) {
const forwardActivity = args.forwardActivity ?? ((_forwarder, _recipients, _options) => {
throw new Error("Not implemented");
});
return {
...createContext(args),
clone: args.clone ?? ((data) => createOutboxContext({
...args,
data
})),
identifier: args.identifier,
hasDeliveredActivity: args.hasDeliveredActivity ?? (() => false),
forwardActivity
};
}
//#endregion
export { createOutboxContext as n, createRequestContext as r, createInboxContext as t };