static fromOpts()

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);
    }