@karmaniverous/smoz
    Preparing search index...

    Function handlerFactory

    • Type Parameters

      • GlobalParamsSchema extends ZodObj
      • StageParamsSchema extends ZodObj
      • EventTypeMapResolved extends {
            alb: ALBEvent;
            cloudfront: CloudFrontRequestEvent;
            "cloudwatch-logs": CloudWatchLogsEvent;
            "cognito-userpool": CognitoUserPoolTriggerEvent;
            dynamodb: DynamoDBStreamEvent;
            eventbridge: EventBridgeEvent<string, unknown>;
            firehose: FirehoseTransformationEvent;
            http: APIGatewayProxyEventV2;
            kinesis: KinesisStreamEvent;
            rest: APIGatewayProxyEvent;
            s3: S3Event;
            ses: SESEvent;
            sns: SNSEvent;
            sqs: SQSEvent;
            step: { Payload?: unknown; [key: string]: unknown };
        }
      • EventType extends string | number | symbol
      • EventSchema extends undefined | ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>
      • ResponseSchema extends undefined | ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>

      Parameters

      Returns (
          functionConfig: {
              events?: (
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
                  | {}
              )[];
              eventSchema?: EventSchema;
              eventType: EventType;
              fnEnvKeys?: readonly (
                  keyof output<GlobalParamsSchema>
                  | keyof output<StageParamsSchema>
              )[];
              functionName: string;
              logger?: ConsoleLogger;
              responseSchema?: ResponseSchema;
          } & (
              EventType extends "rest"
              | "http"
                  ? {
                      basePath?: string;
                      contentType?: string;
                      httpContexts?: readonly HttpContext[];
                      method?:
                          | "options"
                          | "head"
                          | "trace"
                          | "get"
                          | "put"
                          | "post"
                          | "delete"
                          | "patch"
                          | `x-${string}`
                          | "$ref"
                          | "summary"
                          | "description"
                          | "servers"
                          | "parameters";
                  }
                  : {
                      basePath?: undefined;
                      contentType?: undefined;
                      httpContexts?: undefined;
                      method?: undefined;
                  }
          ) & EnvAttached<GlobalParamsSchema, StageParamsSchema>,
          business: Handler<
              EventSchema,
              ResponseSchema,
              EventTypeMapResolved[EventType],
          >,
      ) => (
          event: unknown,
          context: Context,
      ) => Promise<
          ResponseSchema extends ZodType<
              unknown,
              unknown,
              $ZodTypeInternals<unknown, unknown>,
          >
              ? output<ResponseSchema<ResponseSchema>>
              : unknown,
      >