in src/runtime/loader.ts [61:85]
export function extractStack(
module,
endpoints: Record<string, ManifestEndpoint>,
requiredAPIs: ManifestRequiredAPI[],
prefix = ''
) {
for (const [name, val] of Object.entries(module)) {
if (
typeof val === 'function' &&
val['__endpoint'] &&
typeof val['__endpoint'] === 'object'
) {
const funcName = prefix + name;
endpoints[funcName] = {
...val['__endpoint'],
entryPoint: funcName.replace(/-/g, '.'),
};
if (val['__requiredAPIs'] && Array.isArray(val['__requiredAPIs'])) {
requiredAPIs.push(...val['__requiredAPIs']);
}
} else if (typeof val === 'object' && val !== null) {
extractStack(val, endpoints, requiredAPIs, prefix + name + '-');
}
}
}