UNPKG

@fedify/fedify

Version:

An ActivityPub server framework

96 lines (95 loc) 2.87 kB
import { Temporal } from "@js-temporal/polyfill"; import { URLPattern } from "urlpattern-polyfill"; import { GetUserAgentOptions } from "./docloader-Q42SMRIB.js"; import { TracerProvider } from "@opentelemetry/api"; //#region webfinger/jrd.d.ts /** * Describes a resource. See also * [RFC 7033 section 4.4](https://datatracker.ietf.org/doc/html/rfc7033#section-4.4). */ interface ResourceDescriptor { /** * A URI that identifies the entity that this descriptor describes. */ subject?: string; /** * URIs that identify the same entity as the `subject`. */ aliases?: string[]; /** * Conveys additional information about the `subject` of this descriptor. */ properties?: Record<string, string>; /** * Links to other resources. */ links?: Link[]; } /** * Represents a link. See also * [RFC 7033 section 4.4.4](https://datatracker.ietf.org/doc/html/rfc7033#section-4.4.4). */ interface Link { /** * The link's relation type, which is either a URI or a registered relation * type (see [RFC 5988](https://datatracker.ietf.org/doc/html/rfc5988)). */ rel: string; /** * The media type of the target resource (see * [RFC 6838](https://datatracker.ietf.org/doc/html/rfc6838)). */ type?: string; /** * A URI pointing to the target resource. */ href: string; /** * Human-readable titles describing the link relation. If the language is * unknown or unspecified, the key is `"und"`. */ titles?: Record<string, string>; /** * Conveys additional information about the link relation. */ properties?: Record<string, string>; } //#endregion //#region webfinger/lookup.d.ts /** * Options for {@link lookupWebFinger}. * @since 1.3.0 */ interface LookupWebFingerOptions { /** * The options for making `User-Agent` header. * If a string is given, it is used as the `User-Agent` header value. * If an object is given, it is passed to {@link getUserAgent} to generate * the `User-Agent` header value. */ userAgent?: GetUserAgentOptions | string; /** * Whether to allow private IP addresses in the URL. * * Mostly useful for testing purposes. *Do not use this in production.* * * Turned off by default. * @since 1.4.0 */ allowPrivateAddress?: boolean; /** * The OpenTelemetry tracer provider. If omitted, the global tracer provider * is used. */ tracerProvider?: TracerProvider; } /** * Looks up a WebFinger resource. * @param resource The resource URL to look up. * @param options Extra options for looking up the resource. * @returns The resource descriptor, or `null` if not found. * @since 0.2.0 */ declare function lookupWebFinger(resource: URL | string, options?: LookupWebFingerOptions): Promise<ResourceDescriptor | null>; //#endregion export { Link, LookupWebFingerOptions, ResourceDescriptor, lookupWebFinger };