UNPKG

@azure-utils/storybooks

Version:

Utils to upload and manage Storybooks via Azure Functions and storage.

52 lines (50 loc) 1.69 kB
const require_constants = require('./constants-94H7Co6A.cjs'); //#region src/utils/azure-data-tables.ts function generateProjectAzureTableName(projectId, tableSuffix) { return `${require_constants.DEFAULT_SERVICE_NAME}${projectId.replace(/\W+/g, "").toUpperCase()}${tableSuffix}`; } async function listAzureTableEntities(context, tableClient, queryOptions) { const { limit, filter, select, sort = "latest" } = queryOptions || {}; try { await tableClient.createTable(); const iterator = tableClient.listEntities({ queryOptions: { filter: typeof filter === "string" ? filter : void 0, select } }); let entities = []; if (limit) for await (const page of iterator.byPage({ maxPageSize: limit })) { entities = page; break; } else for await (const page of iterator.byPage()) entities.push(...page); if (typeof filter === "function") entities = entities.filter(filter); if (sort) if (typeof sort === "function") entities.sort(sort); else switch (sort) { case "latest": entities.sort((a, b) => { if (!a.timestamp || !b.timestamp) return 0; const aDate = new Date(a.timestamp); const bDate = new Date(b.timestamp); return bDate.getTime() - aDate.getTime(); }); break; } return entities; } catch (error) { context.error(`Error listing Azure Table '${tableClient.tableName}' entities:`, error); return []; } } //#endregion Object.defineProperty(exports, 'generateProjectAzureTableName', { enumerable: true, get: function () { return generateProjectAzureTableName; } }); Object.defineProperty(exports, 'listAzureTableEntities', { enumerable: true, get: function () { return listAzureTableEntities; } });