UNPKG

inngest

Version:

Official SDK for Inngest.com. Inngest is the reliability layer for modern applications. Inngest combines durable execution, events, and queues into a zero-infra platform with built-in observability.

86 lines (84 loc) 2.61 kB
const require_InngestCommHandler = require('./components/InngestCommHandler.cjs'); //#region src/digitalocean.ts /** * An adapter for DigitalOcean Functions to serve and register any declared * functions with Inngest, making them available to be triggered by events. * * @example * ```ts * import { serve } from "inngest/digitalocean"; * import { inngest } from "./src/inngest/client"; * import fnA from "./src/inngest/fnA"; // Your own function * * const main = serve({ * client: inngest, * functions: [fnA], * // Your digitalocean hostname. This is required otherwise your functions won't work. * serveOrigin: "https://faas-sfo3-your-url.doserverless.co", * // And your DO path, also required. * servePath: "/api/v1/web/fn-your-uuid/inngest", * }); * * // IMPORTANT: Makes the function available as a module in the project. * // This is required for any functions that require external dependencies. * module.exports.main = main; * ``` * * @module */ /** * The name of the framework, used to identify the framework in Inngest * dashboards and during testing. */ const frameworkName = "digitalocean"; /** * In DigitalOcean Functions, serve and register any declared functions with * Inngest, making them available to be triggered by events. * * @example * ```ts * import { serve } from "inngest/digitalocean"; * import { inngest } from "./src/inngest/client"; * import fnA from "./src/inngest/fnA"; // Your own function * * const main = serve({ * client: inngest, * functions: [fnA], * // Your digitalocean hostname. This is required otherwise your functions won't work. * serveOrigin: "https://faas-sfo3-your-url.doserverless.co", * // And your DO path, also required. * servePath: "/api/v1/web/fn-your-uuid/inngest", * }); * * // IMPORTANT: Makes the function available as a module in the project. * // This is required for any functions that require external dependencies. * module.exports.main = main; * ``` * * @public */ const serve = (options) => { return new require_InngestCommHandler.InngestCommHandler({ frameworkName, ...options, handler: (main = {}) => { const { http = { method: "GET", headers: {}, path: "" }, ...data } = main; return { body: () => data || {}, headers: (key) => http?.headers?.[key], method: () => http.method, url: () => new URL(`${options.serveOrigin}${options.servePath || "/"}`), queryString: (key) => main[key], transformResponse: (res) => res }; } }).createHandler(); }; //#endregion exports.frameworkName = frameworkName; exports.serve = serve; //# sourceMappingURL=digitalocean.cjs.map