@hoover-institution/hubspot-lib
Version:
A toolkit for deep integration with HubSpot's Marketing Events API with a plugin-based architecture.
31 lines (27 loc) • 782 B
JavaScript
import { getHandlers, getPluginName } from "./pluginRegistry.js";
export async function run(hookFlags, hookPoint, payload) {
const handlers = getHandlers(hookPoint);
const results = [];
for (const [bit, fn] of Object.entries(handlers)) {
const pluginId = parseInt(bit, 10);
if ((hookFlags & pluginId) === pluginId) {
try {
const result = await fn(payload);
results.push({
pluginId,
pluginName: getPluginName(pluginId), // from registry
success: true,
result,
});
} catch (error) {
results.push({
pluginId,
pluginName: getPluginName(pluginId),
success: false,
error: error?.message ?? error,
});
}
}
}
return results;
}