UNPKG

@fedify/fedify

Version:

An ActivityPub server framework

48 lines (46 loc) 2.04 kB
import { Temporal } from "@js-temporal/polyfill"; import { URLPattern } from "urlpattern-polyfill"; import { KvKey, KvStore, KvStoreSetOptions } from "../kv-DRaeSXco.js"; import { MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions } from "../mq-DYKDDJmp.js"; import { KVNamespace, Queue } from "@cloudflare/workers-types/experimental"; //#region x/cfworkers.d.ts /** * Implementation of the {@link KvStore} interface for Cloudflare Workers KV * binding. This class provides a wrapper around Cloudflare's KV namespace to * store and retrieve JSON-serializable values using structured keys. * @since 1.6.0 */ declare class WorkersKvStore implements KvStore { #private; constructor(namespace: KVNamespace<string>); get<T = unknown>(key: KvKey): Promise<T | undefined>; set(key: KvKey, value: unknown, options?: KvStoreSetOptions): Promise<void>; delete(key: KvKey): Promise<void>; } /** * Implementation of the {@link MessageQueue} interface for Cloudflare * Workers Queues binding. This class provides a wrapper around Cloudflare's * Queues to send messages to a queue. * * Note that this implementation does not support the `listen()` method, * as Cloudflare Workers Queues do not support message consumption in the same * way as other message queue systems. Instead, you should use * the {@link Federation.processQueuedTask} method to process messages * passed to the queue. * @since 1.6.0 */ declare class WorkersMessageQueue implements MessageQueue { #private; /** * Cloudflare Queues provide automatic retry with exponential backoff * and Dead Letter Queues. * @since 1.7.0 */ readonly nativeRetrial = true; constructor(queue: Queue); enqueue(message: any, options?: MessageQueueEnqueueOptions): Promise<void>; enqueueMany(messages: any[], options?: MessageQueueEnqueueOptions): Promise<void>; listen(_handler: (message: any) => Promise<void> | void, _options?: MessageQueueListenOptions): Promise<void>; } //#endregion export { WorkersKvStore, WorkersMessageQueue };