in statefun-sdk-js/src/core.ts [193:211]
static fromOpts({fn, specs, typename}: FunctionOpts): FunctionSpec {
validateTypeName(typename);
if (fn === undefined || fn === null) {
throw new Error(`missing function instance for ${typename}`);
}
const valueSpecs = (specs ?? []).map(spec => ValueSpec.fromOpts(spec));
const seen = new Set<String>();
for (const valueSpec of valueSpecs) {
if (seen.has(valueSpec.name)) {
throw new Error(`{valueSpec.name} is already defined.`);
}
seen.add(valueSpec.name);
}
return new FunctionSpec(typename, fn, valueSpecs);
}