UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

1 lines 1.04 kB
import{expectFunction,expectObjectRecord}from"#internal/authored-module.js";import{stripLogicalPathExtension}from"#discover/filesystem.js";import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";async function compileHookEntry(e,t){let n=expectObjectRecord(await loadModuleBackedDefinition({binding:t.binding,kind:`hook`,loadNamespace:t.loadNamespace,source:e}),`Expected the hook export "${e.exportName??`default`}" from "${e.logicalPath}" to return an object.`),r=n.events===void 0?{}:expectObjectRecord(n.events,`Expected the hook export "${e.exportName??`default`}" from "${e.logicalPath}" to expose events as an object.`);return{eventNames:Object.entries(r).flatMap(([t,n])=>n===void 0?[]:(expectFunction(n,`Expected the hook export "${e.exportName??`default`}" from "${e.logicalPath}" to provide a function for events.${t}.`),[t])),exportName:e.exportName,logicalPath:e.logicalPath,slug:stripLogicalPathExtension(e.logicalPath).replace(/^hooks\//,``),sourceId:e.sourceId,sourceKind:`module`}}export{compileHookEntry};