UNPKG

@azure-utils/durable-functions

Version:
88 lines (86 loc) 3.23 kB
const require_durable_webhook = require('./durable-webhook-D21t0KtE.cjs'); //#region src/durable-entities-api.ts /** * An object that contains all the functions for interacting with Azure Functions Durable Entity. * * @throws Each method can throw an error if the operation fails. */ const durableEntities = { list: listAzureFunctionsEntitiesOrThrow, getState: getAzureFunctionsEntityStateOrThrow, signal: signalAzureFunctionsEntityOrThrow }; /** * Sends a one-way operation message to a Durable Entity. If the entity doesn't exist, it will be created automatically. */ async function signalAzureFunctionsEntityOrThrow(options, requestOptions) { const { entityKey, entityName, operationInput, operationName } = options; const searchParams = new URLSearchParams(); if (operationName) searchParams.set("op", operationName); await require_durable_webhook.requestAzureFunctionsDurableTaskWebhookOrThrow(`entities/${entityName}/${entityKey}`, { ...requestOptions, searchParams, body: JSON.stringify(operationInput), method: "POST" }); return; } /** * Gets the state of the specified entity. */ async function getAzureFunctionsEntityStateOrThrow(options, requestOptions) { const { entityKey, entityName } = options; const response = await require_durable_webhook.requestAzureFunctionsDurableTaskWebhookOrThrow(`entities/${entityName}/${entityKey}`, requestOptions); return response.json(); } /** * Query and list Azure Functions Entity Instances. */ async function listAzureFunctionsEntitiesOrThrow(options, requestOptions) { const { entityName = "", fetchState, lastOperationTimeFrom, lastOperationTimeTo, top, continuationToken } = options; const searchParams = new URLSearchParams(); if (fetchState) searchParams.set("fetchState", "true"); if (lastOperationTimeFrom) searchParams.set("lastOperationTimeFrom", lastOperationTimeFrom.toISOString()); if (lastOperationTimeTo) searchParams.set("lastOperationTimeTo", lastOperationTimeTo.toISOString()); if (top) searchParams.set("top", top.toString()); const continuationTokenHeader = "x-ms-continuation-token"; const headers = new Headers(); if (continuationToken) headers.set(continuationTokenHeader, continuationToken); const response = await require_durable_webhook.requestAzureFunctionsDurableTaskWebhookOrThrow(`entities/${entityName}`, { ...requestOptions, searchParams, headers }); const instances = await response.json(); return { instances, top: top ?? null, continuationToken: response.headers.get(continuationTokenHeader) }; } //#endregion Object.defineProperty(exports, 'durableEntities', { enumerable: true, get: function () { return durableEntities; } }); Object.defineProperty(exports, 'getAzureFunctionsEntityStateOrThrow', { enumerable: true, get: function () { return getAzureFunctionsEntityStateOrThrow; } }); Object.defineProperty(exports, 'listAzureFunctionsEntitiesOrThrow', { enumerable: true, get: function () { return listAzureFunctionsEntitiesOrThrow; } }); Object.defineProperty(exports, 'signalAzureFunctionsEntityOrThrow', { enumerable: true, get: function () { return signalAzureFunctionsEntityOrThrow; } }); //# sourceMappingURL=durable-entities-api-dPDbDq65.cjs.map