export function fromRpcBindings()

in src/converters/fromRpcBindings.ts [10:32]


export function fromRpcBindings(bindings: Record<string, RpcBindingInfo> | null | undefined): EffectiveFunctionOptions {
    let trigger: FunctionTrigger | undefined;
    let returnBinding: FunctionOutput | undefined;
    const extraInputs: FunctionInput[] = [];
    const extraOutputs: FunctionOutput[] = [];
    for (const [name, binding] of Object.entries(nonNullValue(bindings, 'bindings'))) {
        if (isTrigger(binding.type)) {
            trigger = fromRpcBinding(name, binding);
        } else if (name === returnBindingKey) {
            returnBinding = fromRpcBinding(name, binding);
        } else if (binding.direction === 'in') {
            extraInputs.push(fromRpcBinding(name, binding));
        } else if (binding.direction === 'out') {
            extraOutputs.push(fromRpcBinding(name, binding));
        }
    }
    return {
        trigger: nonNullValue(trigger, 'trigger'),
        return: returnBinding,
        extraInputs,
        extraOutputs,
    };
}