1import * as Lambda from "@distilled.cloud/aws/lambda";
2import * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Function } from "./Function.ts";
5
6export interface InvokeFunctionRequest extends Omit<
7 Lambda.InvocationRequest,
8 "FunctionName"
9> {}
10
11/** @binding */
12export interface InvokeFunction extends Binding.Service<
13 InvokeFunction,
14 "AWS.Lambda.InvokeFunction",
15 (
16 func: Function,
17 ) => Effect.Effect<
18 (
19 request: InvokeFunctionRequest,
20 ) => Effect.Effect<Lambda.InvocationResponse, Lambda.InvokeError>
21 >
22> {}
23export const InvokeFunction = Binding.Service<InvokeFunction>(
24 "AWS.Lambda.InvokeFunction",
25);