@effect-aws/lambda
Advanced tools
@@ -12,7 +12,3 @@ /** | ||
| */ | ||
| export * from "./Compatibility.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| */ | ||
| export * from "./Types.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,cAAc,oBAAoB,CAAC;AAEnC;;GAEG;AACH,cAAc,YAAY,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,cAAc,YAAY,CAAC"} |
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| import type { HttpApi, HttpRouter } from "@effect/platform"; | ||
| import { HttpApiBuilder, HttpApp } from "@effect/platform"; | ||
| import type { Cause } from "effect"; | ||
| import { Context, Effect, Layer } from "effect"; | ||
| import { Effect, Layer, ServiceMap } from "effect"; | ||
| import type { HttpMiddleware } from "effect/unstable/http"; | ||
| import { HttpRouter } from "effect/unstable/http"; | ||
| import type { ALBEvent, ALBResult, APIGatewayProxyEvent, APIGatewayProxyEventV2, APIGatewayProxyResult, APIGatewayProxyResultV2, CloudFrontRequestEvent, DynamoDBStreamEvent, EffectHandler, EffectHandlerWithLayer, EventBridgeEvent, Handler, KinesisStreamEvent, LambdaContext, S3Event, SelfManagedKafkaEvent, SNSEvent, SQSEvent, StreamHandler, StreamHandlerWithLayer } from "./Types.js"; | ||
@@ -56,3 +56,3 @@ /** | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * const LambdaLayer = Logger.layer([Logger.consoleLogFmt]); | ||
| * | ||
@@ -70,13 +70,2 @@ * export const handler = LambdaHandler.make({ | ||
| <T, E, A>(handler: EffectHandler<T, never, E, A>): Handler<T, A>; | ||
| /** | ||
| * @deprecated Prefer using the `EffectHandlerWithLayer` type to provide a global layer. | ||
| * @example | ||
| * ```ts | ||
| * export const handler = makeLambda({ | ||
| * handler: effectHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * ``` | ||
| */ | ||
| <T, R, E1, E2, A>(handler: EffectHandler<T, R, E1, A>, globalLayer: Layer.Layer<R, E2>): Handler<T, A>; | ||
| }; | ||
@@ -105,3 +94,3 @@ /** | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * const LambdaLayer = Logger.layer([Logger.consoleLogFmt]); | ||
| * | ||
@@ -121,9 +110,9 @@ * export const handler = LambdaHandler.stream({ | ||
| interface HttpApiOptions { | ||
| readonly middleware?: (httpApp: HttpApp.Default) => HttpApp.Default<never, HttpApi.Api | HttpApiBuilder.Router | HttpRouter.HttpRouter.DefaultServices>; | ||
| readonly middleware?: HttpMiddleware.HttpMiddleware; | ||
| readonly memoMap?: Layer.MemoMap; | ||
| } | ||
| type WebHandler = ReturnType<typeof HttpApp.toWebHandler>; | ||
| declare const WebHandler: Context.Tag<(request: Request, context?: Context.Context<never> | undefined) => Promise<Response>, (request: Request, context?: Context.Context<never> | undefined) => Promise<Response>>; | ||
| type WebHandler = (request: globalThis.Request, services: ServiceMap.ServiceMap<LambdaHandler.Event | LambdaContext>) => Promise<globalThis.Response>; | ||
| declare const WebHandler: ServiceMap.Service<WebHandler, WebHandler>; | ||
| /** | ||
| * Construct an `WebHandler` from an `HttpApi` instance. | ||
| * Construct an `WebHandler` from an `HttpRouter` instance. | ||
| * | ||
@@ -133,3 +122,3 @@ * @since 1.4.0 | ||
| */ | ||
| export declare const makeWebHandler: (options?: Pick<HttpApiOptions, "middleware">) => Effect.Effect<WebHandler, never, HttpApiBuilder.Router | HttpApi.Api | HttpRouter.HttpRouter.DefaultServices | HttpApiBuilder.Middleware | LambdaHandler.Event | LambdaContext>; | ||
| export declare const makeWebHandler: <LA, LE>(httpRouter: Layer.Layer<LA, LE, HttpRouter.HttpRouter>, options?: HttpApiOptions) => Effect.Effect<(request: Request, context: ServiceMap.ServiceMap<any>) => Promise<Response>, never, import("effect/Scope").Scope>; | ||
| /** | ||
@@ -141,3 +130,3 @@ * Construct an `EffectHandler` from an `HttpApi` instance. | ||
| */ | ||
| export declare const httpApiHandler: (options?: Pick<HttpApiOptions, "middleware">) => EffectHandler<LambdaHandler.Event, HttpApi.Api | HttpApiBuilder.Router | HttpRouter.HttpRouter.DefaultServices | HttpApiBuilder.Middleware, Cause.UnknownException, LambdaHandler.Result>; | ||
| export declare const httpApiHandler: EffectHandler<LambdaHandler.Event, WebHandler, Cause.UnknownError, LambdaHandler.Result>; | ||
| /** | ||
@@ -149,3 +138,4 @@ * Construct a lambda handler from an `HttpApi` instance. | ||
| * import { LambdaHandler } from "@effect-aws/lambda" | ||
| * import { HttpApi, HttpApiBuilder, HttpServer } from "@effect/platform" | ||
| * import { HttpServer } from "effect/unstable/http"; | ||
| * import { HttpApi, HttpApiBuilder } from "effect/unstable/httpapi" | ||
| * import { Layer } from "effect" | ||
@@ -155,12 +145,7 @@ * | ||
| * | ||
| * const MyApiLive = HttpApiBuilder.api(MyApi) | ||
| * const MyApiLive = HttpApiBuilder.layer(MyApi).pipe( | ||
| * Layer.provide(HttpServer.layerServices), | ||
| * ); | ||
| * | ||
| * export const handler = LambdaHandler.fromHttpApi( | ||
| * Layer.mergeAll( | ||
| * MyApiLive, | ||
| * // you could also use NodeHttpServer.layerContext, depending on your | ||
| * // server's platform | ||
| * HttpServer.layerContext | ||
| * ) | ||
| * ) | ||
| * export const handler = LambdaHandler.fromHttpApi(MyApiLive) | ||
| * ``` | ||
@@ -171,4 +156,4 @@ * | ||
| */ | ||
| export declare const fromHttpApi: <LA, LE>(layer: Layer.Layer<LA | HttpApi.Api | HttpRouter.HttpRouter.DefaultServices, LE>, options?: HttpApiOptions) => Handler<LambdaHandler.Event, LambdaHandler.Result>; | ||
| export declare const fromHttpApi: <LA, LE>(layer: Layer.Layer<LA, LE, HttpRouter.HttpRouter>, options?: HttpApiOptions) => Handler<LambdaHandler.Event, LambdaHandler.Result>; | ||
| export {}; | ||
| //# sourceMappingURL=LambdaHandler.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"LambdaHandler.d.ts","sourceRoot":"","sources":["../../src/LambdaHandler.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"LambdaHandler.d.ts","sourceRoot":"","sources":["../../src/LambdaHandler.ts"],"names":[],"mappings":"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"} |
@@ -14,3 +14,3 @@ /** | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * const LambdaLayer = Logger.layer([Logger.consoleLogFmt]); | ||
| * | ||
@@ -17,0 +17,0 @@ * const lambdaRuntime = LambdaRuntime.fromLayer(LambdaLayer); |
@@ -12,7 +12,3 @@ /** | ||
| */ | ||
| export * from "./Compatibility.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| */ | ||
| export * from "./Types.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,cAAc,oBAAoB,CAAC;AAEnC;;GAEG;AACH,cAAc,YAAY,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,cAAc,YAAY,CAAC"} |
@@ -1,6 +0,6 @@ | ||
| import { Context } from "effect"; | ||
| import { ServiceMap } from "effect"; | ||
| /** @internal */ | ||
| export const lambdaEventTag = Context.GenericTag("@effect-aws/lambda/LambdaHandler/Event"); | ||
| export const lambdaEventTag = ServiceMap.Service("@effect-aws/lambda/LambdaHandler/Event"); | ||
| /** @internal */ | ||
| export const lambdaContextTag = Context.GenericTag("@effect-aws/lambda/LambdaHandler/Context"); | ||
| export const lambdaContextTag = ServiceMap.Service("@effect-aws/lambda/LambdaHandler/Context"); | ||
| //# sourceMappingURL=lambdaHandler.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"lambdaHandler.js","sourceRoot":"","sources":["../../../src/internal/lambdaHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIjC,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAC9C,wCAAwC,CACzC,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAChD,0CAA0C,CAC3C,CAAC"} | ||
| {"version":3,"file":"lambdaHandler.js","sourceRoot":"","sources":["../../../src/internal/lambdaHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAIpC,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAC9C,wCAAwC,CACzC,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAChD,0CAA0C,CAC3C,CAAC"} |
@@ -1,12 +0,10 @@ | ||
| import { Error } from "@effect/platform"; | ||
| import * as NodeStream from "@effect/platform-node-shared/NodeStream"; | ||
| import { Effect, Predicate, Stream } from "effect"; | ||
| import { Effect, Stream } from "effect"; | ||
| import { dual } from "effect/Function"; | ||
| import * as Error from "effect/PlatformError"; | ||
| import * as NS from "node:stream/promises"; | ||
| /** @internal */ | ||
| const isStream = (u) => Predicate.hasProperty(u, Stream.StreamTypeId); | ||
| const handleErrnoException = (module, method) => (err) => { | ||
| const reason = "Unknown"; | ||
| return new Error.SystemError({ | ||
| reason, | ||
| return new Error.PlatformError(new Error.SystemError({ | ||
| _tag: reason, | ||
| module, | ||
@@ -18,3 +16,3 @@ method, | ||
| cause: err, | ||
| }); | ||
| })); | ||
| }; | ||
@@ -27,3 +25,3 @@ /** @internal */ | ||
| /** @internal */ | ||
| export const pipeTo = dual((args) => isStream(args[0]), (stream, writable, options) => stream.pipe(NodeStream.toReadable, Effect.flatMap((readable) => pipeline(readable, writable, options)))); | ||
| export const pipeTo = dual((args) => Stream.isStream(args[0]), (stream, writable, options) => stream.pipe(NodeStream.toReadable, Effect.flatMap((readable) => pipeline(readable, writable, options)))); | ||
| //# sourceMappingURL=stream.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/internal/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3C,gBAAgB;AAChB,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAwC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;AAErH,MAAM,oBAAoB,GACxB,CAAC,MAAmC,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC,GAAY,EAAuB,EAAE;IAC7F,MAAM,MAAM,GAA4B,SAAS,CAAC;IAElD,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC;QAC3B,MAAM;QACN,MAAM;QACN,MAAM;QACN,gBAAgB,EAAE,EAAE;QACpB,OAAO,EAAG,GAA6B,CAAC,OAAO;QAC/C,WAAW,EAAG,GAA6B,CAAC,OAAO;QACnD,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AAEJ,gBAAgB;AAChB,MAAM,CAAC,MAAM,QAAQ,GAMjB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CACnC,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC;IACzE,KAAK,EAAE,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC;CAClD,CAAC,CAAC;AAEL,gBAAgB;AAChB,MAAM,CAAC,MAAM,MAAM,GAUf,IAAI,CACN,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAC3B,CACE,MAAgD,EAChD,QAA+B,EAC/B,OAA4C,EAC5C,EAAE,CACF,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,UAAU,EACrB,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CACpE,CACJ,CAAC"} | ||
| {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/internal/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3C,MAAM,oBAAoB,GACxB,CAAC,MAAmC,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC,GAAY,EAAuB,EAAE;IAC7F,MAAM,MAAM,GAAyB,SAAS,CAAC;IAE/C,OAAO,IAAI,KAAK,CAAC,aAAa,CAC5B,IAAI,KAAK,CAAC,WAAW,CAAC;QACpB,IAAI,EAAE,MAAM;QACZ,MAAM;QACN,MAAM;QACN,gBAAgB,EAAE,EAAE;QACpB,OAAO,EAAG,GAA6B,CAAC,OAAO;QAC/C,WAAW,EAAG,GAA6B,CAAC,OAAO;QACnD,KAAK,EAAE,GAAG;KACX,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEJ,gBAAgB;AAChB,MAAM,CAAC,MAAM,QAAQ,GAMjB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CACnC,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC;IACzE,KAAK,EAAE,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC;CAClD,CAAC,CAAC;AAEL,gBAAgB;AAChB,MAAM,CAAC,MAAM,MAAM,GAUf,IAAI,CACN,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAClC,CACE,MAAgD,EAChD,QAA+B,EAC/B,OAA4C,EAC5C,EAAE,CACF,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,UAAU,EACrB,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CACpE,CACJ,CAAC"} |
@@ -1,3 +0,3 @@ | ||
| import { HttpApiBuilder, HttpApp } from "@effect/platform"; | ||
| import { Context, Effect, Function, Layer } from "effect"; | ||
| import { Effect, Layer, Predicate, ServiceMap } from "effect"; | ||
| import { HttpRouter } from "effect/unstable/http"; | ||
| import { getEventSource } from "./internal/index.js"; | ||
@@ -12,3 +12,3 @@ import * as internal from "./internal/lambdaHandler.js"; | ||
| */ | ||
| export const event = () => Effect.map(Effect.context(), (context) => Context.unsafeGet(context, internal.lambdaEventTag)); | ||
| export const event = () => Effect.map(Effect.services(), (context) => ServiceMap.getUnsafe(context, internal.lambdaEventTag)); | ||
| /** | ||
@@ -18,3 +18,3 @@ * @since 1.4.0 | ||
| */ | ||
| export const context = () => Effect.map(Effect.context(), (context) => Context.unsafeGet(context, internal.lambdaContextTag)); | ||
| export const context = () => Effect.map(Effect.services(), (context) => ServiceMap.getUnsafe(context, internal.lambdaContextTag)); | ||
| /** | ||
@@ -42,3 +42,3 @@ * Makes a lambda handler from the given EffectHandler and optional global layer. | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * const LambdaLayer = Logger.layer([Logger.consoleLogFmt]); | ||
| * | ||
@@ -53,9 +53,4 @@ * export const handler = LambdaHandler.make({ | ||
| */ | ||
| export const make = (handlerOrOptions, globalLayer) => { | ||
| if (Function.isFunction(handlerOrOptions)) { | ||
| // Deprecated case | ||
| if (globalLayer) { | ||
| const runtime = LambdaRuntime.fromLayer(globalLayer); | ||
| return async (event, context) => handlerOrOptions(event, context).pipe(runtime.runPromise); | ||
| } | ||
| export const make = (handlerOrOptions) => { | ||
| if (Predicate.isFunction(handlerOrOptions)) { | ||
| return async (event, context) => handlerOrOptions(event, context).pipe(Effect.runPromise); | ||
@@ -91,3 +86,3 @@ } | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * const LambdaLayer = Logger.layer([Logger.consoleLogFmt]); | ||
| * | ||
@@ -103,3 +98,3 @@ * export const handler = LambdaHandler.stream({ | ||
| export const stream = (handlerOrOptions) => { | ||
| if (Function.isFunction(handlerOrOptions)) { | ||
| if (Predicate.isFunction(handlerOrOptions)) { | ||
| return global.awslambda?.streamifyResponse(async (event, responseStream, context) => handlerOrOptions(event, context).pipe(pipeTo(responseStream, { end: true }), Effect.runPromise)); | ||
@@ -113,5 +108,5 @@ } | ||
| }; | ||
| const WebHandler = Context.GenericTag("@effect-aws/lambda/WebHandler"); | ||
| const WebHandler = ServiceMap.Service("@effect-aws/lambda/WebHandler"); | ||
| /** | ||
| * Construct an `WebHandler` from an `HttpApi` instance. | ||
| * Construct an `WebHandler` from an `HttpRouter` instance. | ||
| * | ||
@@ -121,7 +116,6 @@ * @since 1.4.0 | ||
| */ | ||
| export const makeWebHandler = (options) => Effect.gen(function* () { | ||
| const app = yield* HttpApiBuilder.httpApp; | ||
| const rt = yield* Effect.runtime(); | ||
| return HttpApp.toWebHandlerRuntime(rt)(options?.middleware ? options.middleware(app) : app); | ||
| }); | ||
| export const makeWebHandler = (httpRouter, options) => { | ||
| const layer = Layer.provide(httpRouter, HttpRouter.layer); | ||
| return Effect.acquireRelease(Effect.sync(() => HttpRouter.toWebHandler(layer, options)), ({ dispose }) => Effect.promise(() => dispose())).pipe(Effect.map(({ handler }) => handler)); | ||
| }; | ||
| /** | ||
@@ -133,3 +127,3 @@ * Construct an `EffectHandler` from an `HttpApi` instance. | ||
| */ | ||
| export const httpApiHandler = (options) => (event, context) => Effect.gen(function* () { | ||
| export const httpApiHandler = (event, context) => Effect.gen(function* () { | ||
| const eventSource = getEventSource(event); | ||
@@ -142,3 +136,5 @@ const requestValues = eventSource.getRequest(event); | ||
| }); | ||
| const res = yield* makeWebHandler(options).pipe(Effect.provideService(internal.lambdaEventTag, event), Effect.provideService(internal.lambdaContextTag, context), Effect.andThen((handler) => handler(req))); | ||
| const handler = yield* Effect.service(WebHandler); | ||
| const ctx = ServiceMap.empty().pipe(ServiceMap.add(internal.lambdaEventTag, event), ServiceMap.add(internal.lambdaContextTag, context)); | ||
| const res = yield* Effect.tryPromise(() => handler(req, ctx)); | ||
| const contentType = res.headers.get("content-type"); | ||
@@ -182,3 +178,4 @@ let isBase64Encoded = contentType && isContentTypeBinary(contentType) ? true : false; | ||
| * import { LambdaHandler } from "@effect-aws/lambda" | ||
| * import { HttpApi, HttpApiBuilder, HttpServer } from "@effect/platform" | ||
| * import { HttpServer } from "effect/unstable/http"; | ||
| * import { HttpApi, HttpApiBuilder } from "effect/unstable/httpapi" | ||
| * import { Layer } from "effect" | ||
@@ -188,12 +185,7 @@ * | ||
| * | ||
| * const MyApiLive = HttpApiBuilder.api(MyApi) | ||
| * const MyApiLive = HttpApiBuilder.layer(MyApi).pipe( | ||
| * Layer.provide(HttpServer.layerServices), | ||
| * ); | ||
| * | ||
| * export const handler = LambdaHandler.fromHttpApi( | ||
| * Layer.mergeAll( | ||
| * MyApiLive, | ||
| * // you could also use NodeHttpServer.layerContext, depending on your | ||
| * // server's platform | ||
| * HttpServer.layerContext | ||
| * ) | ||
| * ) | ||
| * export const handler = LambdaHandler.fromHttpApi(MyApiLive) | ||
| * ``` | ||
@@ -205,5 +197,5 @@ * | ||
| export const fromHttpApi = (layer, options) => { | ||
| const httpApiLayer = Layer.mergeAll(layer, HttpApiBuilder.Router.Live, HttpApiBuilder.Middleware.layer); | ||
| return make({ handler: httpApiHandler(options), layer: httpApiLayer, memoMap: options?.memoMap }); | ||
| const WebHandlerLive = Layer.effect(WebHandler, makeWebHandler(layer, options)); | ||
| return make({ handler: httpApiHandler, layer: WebHandlerLive, memoMap: options?.memoMap }); | ||
| }; | ||
| //# sourceMappingURL=LambdaHandler.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"LambdaHandler.js","sourceRoot":"","sources":["../../src/LambdaHandler.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"LambdaHandler.js","sourceRoot":"","sources":["../../src/LambdaHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAwDpD;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,GAAoD,EAAE,CACzE,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,QAAQ,EAAS,EACxB,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAChD,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAiC,EAAE,CACxD,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,QAAQ,EAAS,EACxB,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CACtE,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,IAAI,GAGb,CACF,gBAAsF,EACvE,EAAE;IACjB,IAAI,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9B,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAA+D,CAAC,CAAC;IAClH,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;IACvG,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9B,OAAO,CAAC,8BAA8B,GAAG,KAAK,CAAC;QAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,MAAM,GAGf,CACF,gBAAgF,EAC9D,EAAE;IACpB,IAAI,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,CAClF,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CACnC,MAAM,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EACrC,MAAM,CAAC,UAAqE,CAC7E,CACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;IACvG,OAAO,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;QAClF,OAAO,CAAC,8BAA8B,GAAG,KAAK,CAAC;QAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAClD,MAAM,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EACrC,OAAO,CAAC,UAAU,CACnB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAWF,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAa,+BAA+B,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,UAAsD,EACtD,OAAwB,EACxB,EAAE;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,cAAc,CAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAC1D,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CACjD,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAKvB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACrB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAA2D,CAAC;IACpG,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,GAAG,GAAG,IAAI,OAAO,CACrB,WAAW,aAAa,CAAC,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE,EAC7D;QACE,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,IAAI,EAAE,aAAa,CAAC,IAAI;KACzB,CACF,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAElD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CACjC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,EAC9C,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CACnD,CAAC;IAEF,MAAM,GAAG,GAAwB,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAEnF,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpD,IAAI,eAAe,GAAG,WAAW,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAErF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC5D,eAAe,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,GAAG,eAAe;QAC1B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAmD,EAAE,CAAC;IAEnE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY;YACtC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE;YAC5B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAE,GAAG,CAAC,OAAe,CAAC,OAAO,EAAE,CAAC;iBACzC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC;iBACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC,WAAW,CAAC;QAC7B,KAAK;QACL,UAAU,EAAE,GAAG,CAAC,MAAM;QACtB,IAAI;QACJ,OAAO;QACP,eAAe;KAChB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAiD,EACjD,OAAwB,EAC4B,EAAE;IACtD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7F,CAAC,CAAC"} |
@@ -10,3 +10,3 @@ import { Console, Effect, ManagedRuntime } from "effect"; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * const LambdaLayer = Logger.layer([Logger.consoleLogFmt]); | ||
| * | ||
@@ -23,3 +23,3 @@ * const lambdaRuntime = LambdaRuntime.fromLayer(LambdaLayer); | ||
| export const fromLayer = (layer, options) => { | ||
| const rt = ManagedRuntime.make(layer, options?.memoMap); | ||
| const rt = ManagedRuntime.make(layer, options); | ||
| const signalHandler = (signal) => { | ||
@@ -26,0 +26,0 @@ Effect.runFork(Effect.gen(function* () { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"LambdaRuntime.js","sourceRoot":"","sources":["../../src/LambdaRuntime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,KAAwB,EACxB,OAA8C,EACT,EAAE;IACvC,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,aAAa,GAA2B,CAAC,MAAM,EAAE,EAAE;QACvD,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,WAAW,CAAC,CAAC;YACnD,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAC5C,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC;YACxB,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACxC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEpC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"} | ||
| {"version":3,"file":"LambdaRuntime.js","sourceRoot":"","sources":["../../src/LambdaRuntime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,KAAwB,EACxB,OAA8C,EACT,EAAE;IACvC,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE/C,MAAM,aAAa,GAA2B,CAAC,MAAM,EAAE,EAAE;QACvD,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,WAAW,CAAC,CAAC;YACnD,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAC5C,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC;YACxB,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACxC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEpC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"} |
+1
-1
@@ -1,2 +0,2 @@ | ||
| Copyright (c) 2025 Victor Korzunin | ||
| Copyright (c) 2026 Victor Korzunin | ||
@@ -3,0 +3,0 @@ Permission is hereby granted, free of charge, to any person obtaining a copy |
+7
-21
| { | ||
| "name": "@effect-aws/lambda", | ||
| "version": "1.5.2", | ||
| "version": "2.0.0-beta.0", | ||
| "description": "Effectful AWS Lambda handler", | ||
@@ -18,7 +18,5 @@ "license": "MIT", | ||
| "peerDependencies": { | ||
| "@effect/platform": ">=0.83.0", | ||
| "@effect/platform-node-shared": ">=0.36.0", | ||
| "effect": ">=3.15.5 <4.0.0" | ||
| "@effect/platform-node-shared": ">=4.0.0 <5.0.0", | ||
| "effect": ">=4.0.0 <5.0.0" | ||
| }, | ||
| "main": "./dist/cjs/index.js", | ||
| "module": "./dist/esm/index.js", | ||
@@ -30,24 +28,15 @@ "types": "./dist/dts/index.d.ts", | ||
| "types": "./dist/dts/index.d.ts", | ||
| "import": "./dist/esm/index.js", | ||
| "default": "./dist/cjs/index.js" | ||
| "import": "./dist/esm/index.js" | ||
| }, | ||
| "./Compatibility": { | ||
| "types": "./dist/dts/Compatibility.d.ts", | ||
| "import": "./dist/esm/Compatibility.js", | ||
| "default": "./dist/cjs/Compatibility.js" | ||
| }, | ||
| "./LambdaHandler": { | ||
| "types": "./dist/dts/LambdaHandler.d.ts", | ||
| "import": "./dist/esm/LambdaHandler.js", | ||
| "default": "./dist/cjs/LambdaHandler.js" | ||
| "import": "./dist/esm/LambdaHandler.js" | ||
| }, | ||
| "./LambdaRuntime": { | ||
| "types": "./dist/dts/LambdaRuntime.d.ts", | ||
| "import": "./dist/esm/LambdaRuntime.js", | ||
| "default": "./dist/cjs/LambdaRuntime.js" | ||
| "import": "./dist/esm/LambdaRuntime.js" | ||
| }, | ||
| "./Types": { | ||
| "types": "./dist/dts/Types.d.ts", | ||
| "import": "./dist/esm/Types.js", | ||
| "default": "./dist/cjs/Types.js" | ||
| "import": "./dist/esm/Types.js" | ||
| } | ||
@@ -57,5 +46,2 @@ }, | ||
| "*": { | ||
| "Compatibility": [ | ||
| "./dist/dts/Compatibility.d.ts" | ||
| ], | ||
| "LambdaHandler": [ | ||
@@ -62,0 +48,0 @@ "./dist/dts/LambdaHandler.d.ts" |
+8
-5
@@ -8,3 +8,3 @@ # @effect-aws/lambda | ||
| It provides a `makeLambda` function that takes an `EffectHandler` and returns a native promise Lambda handler function. | ||
| It provides a `LambdaHandler.make` function that takes an `EffectHandler` and returns a native promise Lambda handler function. | ||
@@ -25,3 +25,3 @@ The implementation supports defining global runtime layer with graceful shutdown. So all finalizers defined by `acquireRelease` will be called on lambda downscaling. | ||
| import { Effect } from "effect" | ||
| import { EffectHandler, makeLambda, SNSEvent } from "@effect-aws/lambda" | ||
| import { EffectHandler, LambdaHandler, SNSEvent } from "@effect-aws/lambda" | ||
@@ -35,3 +35,3 @@ // Define your effect handler | ||
| // Create the Lambda handler | ||
| export const handler = makeLambda(myEffectHandler) | ||
| export const handler = LambdaHandler.make(myEffectHandler) | ||
| ``` | ||
@@ -42,3 +42,3 @@ | ||
| ```typescript | ||
| import { EffectHandler, makeLambda, SNSEvent } from "@effect-aws/lambda" | ||
| import { EffectHandler, LambdaHandler, SNSEvent } from "@effect-aws/lambda" | ||
| import * as Logger from "@effect-aws/powertools-logger" | ||
@@ -71,3 +71,6 @@ import { Context, Effect, Layer } from "effect" | ||
| // Create the Lambda handler | ||
| export const handler = makeLambda(myEffectHandler, LambdaLive) | ||
| export const handler = LambdaHandler.make({ | ||
| handler: myEffectHandler, | ||
| layer: LambdaLive | ||
| }) | ||
| ``` | ||
@@ -74,0 +77,0 @@ |
+0
-5
@@ -14,7 +14,2 @@ /** | ||
| */ | ||
| export * from "./Compatibility.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| */ | ||
| export * from "./Types.js"; |
@@ -1,2 +0,2 @@ | ||
| import { Context } from "effect"; | ||
| import { ServiceMap } from "effect"; | ||
| import type { LambdaHandler } from "../LambdaHandler.js"; | ||
@@ -6,3 +6,3 @@ import type { LambdaContext } from "../Types.js"; | ||
| /** @internal */ | ||
| export const lambdaEventTag = Context.GenericTag<LambdaHandler.Event>( | ||
| export const lambdaEventTag = ServiceMap.Service<LambdaHandler.Event>( | ||
| "@effect-aws/lambda/LambdaHandler/Event", | ||
@@ -12,4 +12,4 @@ ); | ||
| /** @internal */ | ||
| export const lambdaContextTag = Context.GenericTag<LambdaContext>( | ||
| export const lambdaContextTag = ServiceMap.Service<LambdaContext>( | ||
| "@effect-aws/lambda/LambdaHandler/Context", | ||
| ); |
+15
-16
@@ -1,24 +0,23 @@ | ||
| import { Error } from "@effect/platform"; | ||
| import * as NodeStream from "@effect/platform-node-shared/NodeStream"; | ||
| import { Effect, Predicate, Stream } from "effect"; | ||
| import { Effect, Stream } from "effect"; | ||
| import { dual } from "effect/Function"; | ||
| import * as Error from "effect/PlatformError"; | ||
| import type { PipelineDestination, PipelineSource } from "node:stream"; | ||
| import * as NS from "node:stream/promises"; | ||
| /** @internal */ | ||
| const isStream = (u: unknown): u is Stream.Stream<unknown, unknown> => Predicate.hasProperty(u, Stream.StreamTypeId); | ||
| const handleErrnoException = | ||
| (module: Error.SystemError["module"], method: string) => (err: unknown): Error.PlatformError => { | ||
| const reason: Error.SystemErrorReason = "Unknown"; | ||
| const reason: Error.SystemErrorTag = "Unknown"; | ||
| return new Error.SystemError({ | ||
| reason, | ||
| module, | ||
| method, | ||
| pathOrDescriptor: "", | ||
| syscall: (err as NodeJS.ErrnoException).syscall, | ||
| description: (err as NodeJS.ErrnoException).message, | ||
| cause: err, | ||
| }); | ||
| return new Error.PlatformError( | ||
| new Error.SystemError({ | ||
| _tag: reason, | ||
| module, | ||
| method, | ||
| pathOrDescriptor: "", | ||
| syscall: (err as NodeJS.ErrnoException).syscall, | ||
| description: (err as NodeJS.ErrnoException).message, | ||
| cause: err, | ||
| }), | ||
| ); | ||
| }; | ||
@@ -51,3 +50,3 @@ | ||
| } = dual( | ||
| (args) => isStream(args[0]), | ||
| (args) => Stream.isStream(args[0]), | ||
| <E, R>( | ||
@@ -54,0 +53,0 @@ stream: Stream.Stream<string | Uint8Array, E, R>, |
+48
-77
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| import type { HttpApi, HttpRouter } from "@effect/platform"; | ||
| import { HttpApiBuilder, HttpApp } from "@effect/platform"; | ||
| import type { Cause } from "effect"; | ||
| import { Context, Effect, Function, Layer } from "effect"; | ||
| import { Effect, Layer, Predicate, ServiceMap } from "effect"; | ||
| import type { HttpMiddleware } from "effect/unstable/http"; | ||
| import { HttpRouter } from "effect/unstable/http"; | ||
| import { getEventSource } from "./internal/index.js"; | ||
@@ -75,4 +75,4 @@ import * as internal from "./internal/lambdaHandler.js"; | ||
| Effect.map( | ||
| Effect.context<never>(), | ||
| (context) => Context.unsafeGet(context, internal.lambdaEventTag), | ||
| Effect.services<never>(), | ||
| (context) => ServiceMap.getUnsafe(context, internal.lambdaEventTag), | ||
| ) as Effect.Effect<T>; | ||
@@ -86,4 +86,4 @@ | ||
| Effect.map( | ||
| Effect.context<never>(), | ||
| (context) => Context.unsafeGet(context, internal.lambdaContextTag), | ||
| Effect.services<never>(), | ||
| (context) => ServiceMap.getUnsafe(context, internal.lambdaContextTag), | ||
| ); | ||
@@ -113,3 +113,3 @@ | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * const LambdaLayer = Logger.layer([Logger.consoleLogFmt]); | ||
| * | ||
@@ -127,24 +127,6 @@ * export const handler = LambdaHandler.make({ | ||
| <T, E, A>(handler: EffectHandler<T, never, E, A>): Handler<T, A>; | ||
| /** | ||
| * @deprecated Prefer using the `EffectHandlerWithLayer` type to provide a global layer. | ||
| * @example | ||
| * ```ts | ||
| * export const handler = makeLambda({ | ||
| * handler: effectHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * ``` | ||
| */ | ||
| <T, R, E1, E2, A>(handler: EffectHandler<T, R, E1, A>, globalLayer: Layer.Layer<R, E2>): Handler<T, A>; | ||
| } = <T, R, E1, E2, A>( | ||
| handlerOrOptions: EffectHandler<T, R, E1, A> | EffectHandlerWithLayer<T, R, E1, E2, A>, | ||
| globalLayer?: Layer.Layer<R, E2>, | ||
| ): Handler<T, A> => { | ||
| if (Function.isFunction(handlerOrOptions)) { | ||
| // Deprecated case | ||
| if (globalLayer) { | ||
| const runtime = LambdaRuntime.fromLayer(globalLayer); | ||
| return async (event, context) => handlerOrOptions(event, context).pipe(runtime.runPromise); | ||
| } | ||
| if (Predicate.isFunction(handlerOrOptions)) { | ||
| return async (event, context) => | ||
@@ -183,3 +165,3 @@ handlerOrOptions(event, context).pipe(Effect.runPromise as <E>(effect: Effect.Effect<A, E, R>) => Promise<A>); | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * const LambdaLayer = Logger.layer([Logger.consoleLogFmt]); | ||
| * | ||
@@ -200,3 +182,3 @@ * export const handler = LambdaHandler.stream({ | ||
| ): Handler<T, void> => { | ||
| if (Function.isFunction(handlerOrOptions)) { | ||
| if (Predicate.isFunction(handlerOrOptions)) { | ||
| return global.awslambda?.streamifyResponse(async (event, responseStream, context) => | ||
@@ -221,14 +203,14 @@ handlerOrOptions(event, context).pipe( | ||
| interface HttpApiOptions { | ||
| readonly middleware?: (httpApp: HttpApp.Default) => HttpApp.Default< | ||
| never, | ||
| HttpApi.Api | HttpApiBuilder.Router | HttpRouter.HttpRouter.DefaultServices | ||
| >; | ||
| readonly middleware?: HttpMiddleware.HttpMiddleware; | ||
| readonly memoMap?: Layer.MemoMap; | ||
| } | ||
| type WebHandler = ReturnType<typeof HttpApp.toWebHandler>; | ||
| const WebHandler = Context.GenericTag<WebHandler>("@effect-aws/lambda/WebHandler"); | ||
| type WebHandler = ( | ||
| request: globalThis.Request, | ||
| services: ServiceMap.ServiceMap<LambdaHandler.Event | LambdaContext>, | ||
| ) => Promise<globalThis.Response>; | ||
| const WebHandler = ServiceMap.Service<WebHandler>("@effect-aws/lambda/WebHandler"); | ||
| /** | ||
| * Construct an `WebHandler` from an `HttpApi` instance. | ||
| * Construct an `WebHandler` from an `HttpRouter` instance. | ||
| * | ||
@@ -238,21 +220,12 @@ * @since 1.4.0 | ||
| */ | ||
| export const makeWebHandler = (options?: Pick<HttpApiOptions, "middleware">): Effect.Effect< | ||
| WebHandler, | ||
| never, | ||
| | HttpApiBuilder.Router | ||
| | HttpApi.Api | ||
| | HttpRouter.HttpRouter.DefaultServices | ||
| | HttpApiBuilder.Middleware | ||
| | LambdaHandler.Event | ||
| | LambdaContext | ||
| > => | ||
| Effect.gen(function*() { | ||
| const app = yield* HttpApiBuilder.httpApp; | ||
| const rt = yield* Effect.runtime< | ||
| HttpRouter.HttpRouter.DefaultServices | LambdaHandler.Event | LambdaContext | ||
| >(); | ||
| return HttpApp.toWebHandlerRuntime(rt)( | ||
| options?.middleware ? options.middleware(app as any) as any : app, | ||
| ); | ||
| }); | ||
| export const makeWebHandler = <LA, LE>( | ||
| httpRouter: Layer.Layer<LA, LE, HttpRouter.HttpRouter>, | ||
| options?: HttpApiOptions, | ||
| ) => { | ||
| const layer = Layer.provide(httpRouter, HttpRouter.layer); | ||
| return Effect.acquireRelease( | ||
| Effect.sync(() => HttpRouter.toWebHandler(layer, options)), | ||
| ({ dispose }) => Effect.promise(() => dispose()), | ||
| ).pipe(Effect.map(({ handler }) => handler)); | ||
| }; | ||
@@ -265,9 +238,8 @@ /** | ||
| */ | ||
| export const httpApiHandler = (options?: Pick<HttpApiOptions, "middleware">): EffectHandler< | ||
| export const httpApiHandler: EffectHandler< | ||
| LambdaHandler.Event, | ||
| HttpApi.Api | HttpApiBuilder.Router | HttpRouter.HttpRouter.DefaultServices | HttpApiBuilder.Middleware, | ||
| Cause.UnknownException, | ||
| WebHandler, | ||
| Cause.UnknownError, | ||
| LambdaHandler.Result | ||
| > => | ||
| (event, context) => | ||
| > = (event, context) => | ||
| Effect.gen(function*() { | ||
@@ -286,8 +258,11 @@ const eventSource = getEventSource(event) as EventSource<LambdaHandler.Event, LambdaHandler.Result>; | ||
| const res = yield* makeWebHandler(options).pipe( | ||
| Effect.provideService(internal.lambdaEventTag, event), | ||
| Effect.provideService(internal.lambdaContextTag, context), | ||
| Effect.andThen((handler) => handler(req)), | ||
| const handler = yield* Effect.service(WebHandler); | ||
| const ctx = ServiceMap.empty().pipe( | ||
| ServiceMap.add(internal.lambdaEventTag, event), | ||
| ServiceMap.add(internal.lambdaContextTag, context), | ||
| ); | ||
| const res: globalThis.Response = yield* Effect.tryPromise(() => handler(req, ctx)); | ||
| const contentType = res.headers.get("content-type"); | ||
@@ -339,3 +314,4 @@ let isBase64Encoded = contentType && isContentTypeBinary(contentType) ? true : false; | ||
| * import { LambdaHandler } from "@effect-aws/lambda" | ||
| * import { HttpApi, HttpApiBuilder, HttpServer } from "@effect/platform" | ||
| * import { HttpServer } from "effect/unstable/http"; | ||
| * import { HttpApi, HttpApiBuilder } from "effect/unstable/httpapi" | ||
| * import { Layer } from "effect" | ||
@@ -345,12 +321,7 @@ * | ||
| * | ||
| * const MyApiLive = HttpApiBuilder.api(MyApi) | ||
| * const MyApiLive = HttpApiBuilder.layer(MyApi).pipe( | ||
| * Layer.provide(HttpServer.layerServices), | ||
| * ); | ||
| * | ||
| * export const handler = LambdaHandler.fromHttpApi( | ||
| * Layer.mergeAll( | ||
| * MyApiLive, | ||
| * // you could also use NodeHttpServer.layerContext, depending on your | ||
| * // server's platform | ||
| * HttpServer.layerContext | ||
| * ) | ||
| * ) | ||
| * export const handler = LambdaHandler.fromHttpApi(MyApiLive) | ||
| * ``` | ||
@@ -362,7 +333,7 @@ * | ||
| export const fromHttpApi = <LA, LE>( | ||
| layer: Layer.Layer<LA | HttpApi.Api | HttpRouter.HttpRouter.DefaultServices, LE>, | ||
| layer: Layer.Layer<LA, LE, HttpRouter.HttpRouter>, | ||
| options?: HttpApiOptions, | ||
| ): Handler<LambdaHandler.Event, LambdaHandler.Result> => { | ||
| const httpApiLayer = Layer.mergeAll(layer, HttpApiBuilder.Router.Live, HttpApiBuilder.Middleware.layer); | ||
| return make({ handler: httpApiHandler(options), layer: httpApiLayer, memoMap: options?.memoMap }); | ||
| const WebHandlerLive = Layer.effect(WebHandler, makeWebHandler(layer, options)); | ||
| return make({ handler: httpApiHandler, layer: WebHandlerLive, memoMap: options?.memoMap }); | ||
| }; |
@@ -15,3 +15,3 @@ /** | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * const LambdaLayer = Logger.layer([Logger.consoleLogFmt]); | ||
| * | ||
@@ -31,3 +31,3 @@ * const lambdaRuntime = LambdaRuntime.fromLayer(LambdaLayer); | ||
| ): ManagedRuntime.ManagedRuntime<R, E> => { | ||
| const rt = ManagedRuntime.make(layer, options?.memoMap); | ||
| const rt = ManagedRuntime.make(layer, options); | ||
@@ -34,0 +34,0 @@ const signalHandler: NodeJS.SignalsListener = (signal) => { |
| { | ||
| "main": "../dist/cjs/Compatibility.js", | ||
| "module": "../dist/esm/Compatibility.js", | ||
| "types": "../dist/dts/Compatibility.d.ts", | ||
| "sideEffects": [] | ||
| } |
| /** | ||
| * Makes a lambda handler from the given EffectHandler and optional global layer. | ||
| * The global layer is used to provide a runtime which will gracefully handle lambda termination during down-scaling. | ||
| * | ||
| * @example | ||
| * import { makeLambda, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * export const handler = makeLambda(effectHandler); | ||
| * | ||
| * @example | ||
| * import { makeLambda, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * export const handler = makeLambda({ | ||
| * handler: effectHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| * @deprecated Use `LambdaHandler.make` instead. | ||
| */ | ||
| export declare const makeLambda: { | ||
| <T, R, E1, E2, A>(options: import("./Types.js").EffectHandlerWithLayer<T, R, E1, E2, A>): import("./Types.js").Handler<T, A>; | ||
| <T_1, E, A_1>(handler: import("./Types.js").EffectHandler<T_1, never, E, A_1>): import("./Types.js").Handler<T_1, A_1>; | ||
| <T_2, R_1, E1_1, E2_1, A_2>(handler: import("./Types.js").EffectHandler<T_2, R_1, E1_1, A_2>, globalLayer: import("effect/Layer").Layer<R_1, E2_1, never>): import("./Types.js").Handler<T_2, A_2>; | ||
| }; | ||
| /** | ||
| * Makes a managed runtime from a layer asynchronously, designed for AWS Lambda. | ||
| * All finalizers will be executed on process termination or interruption. | ||
| * | ||
| * @example | ||
| * import { fromLayer, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * const lambdaRuntime = fromLayer(LambdaLayer); | ||
| * | ||
| * export const handler = async (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!").pipe(lambdaRuntime.runPromise); | ||
| * }; | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| * @deprecated Use `LambdaRuntime.fromLayer` instead. | ||
| */ | ||
| export declare const fromLayer: <R, E>(layer: import("effect/Layer").Layer<R, E, never>, options?: { | ||
| readonly memoMap?: import("effect/Layer").MemoMap | undefined; | ||
| } | undefined) => import("effect/ManagedRuntime").ManagedRuntime<R, E>; | ||
| //# sourceMappingURL=Compatibility.d.ts.map |
| {"version":3,"file":"Compatibility.d.ts","sourceRoot":"","sources":["../../src/Compatibility.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,UAAU;;;;CAAqB,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,SAAS;;sEAA0B,CAAC"} |
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.fromLayer = exports.makeLambda = void 0; | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| const LambdaHandler = __importStar(require("./LambdaHandler.js")); | ||
| const LambdaRuntime = __importStar(require("./LambdaRuntime.js")); | ||
| /** | ||
| * Makes a lambda handler from the given EffectHandler and optional global layer. | ||
| * The global layer is used to provide a runtime which will gracefully handle lambda termination during down-scaling. | ||
| * | ||
| * @example | ||
| * import { makeLambda, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * export const handler = makeLambda(effectHandler); | ||
| * | ||
| * @example | ||
| * import { makeLambda, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * export const handler = makeLambda({ | ||
| * handler: effectHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| * @deprecated Use `LambdaHandler.make` instead. | ||
| */ | ||
| exports.makeLambda = LambdaHandler.make; | ||
| /** | ||
| * Makes a managed runtime from a layer asynchronously, designed for AWS Lambda. | ||
| * All finalizers will be executed on process termination or interruption. | ||
| * | ||
| * @example | ||
| * import { fromLayer, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * const lambdaRuntime = fromLayer(LambdaLayer); | ||
| * | ||
| * export const handler = async (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!").pipe(lambdaRuntime.runPromise); | ||
| * }; | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| * @deprecated Use `LambdaRuntime.fromLayer` instead. | ||
| */ | ||
| exports.fromLayer = LambdaRuntime.fromLayer; | ||
| //# sourceMappingURL=Compatibility.js.map |
| {"version":3,"file":"Compatibility.js","sourceRoot":"","sources":["../../src/Compatibility.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,kEAAoD;AACpD,kEAAoD;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACU,QAAA,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;GAmBG;AACU,QAAA,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC"} |
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| export * as LambdaHandler from "./LambdaHandler.js"; | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| export * as LambdaRuntime from "./LambdaRuntime.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| */ | ||
| export * from "./Compatibility.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| */ | ||
| export * from "./Types.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,cAAc,oBAAoB,CAAC;AAEnC;;GAEG;AACH,cAAc,YAAY,CAAC"} |
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
| for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.LambdaRuntime = exports.LambdaHandler = void 0; | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| exports.LambdaHandler = __importStar(require("./LambdaHandler.js")); | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| exports.LambdaRuntime = __importStar(require("./LambdaRuntime.js")); | ||
| /** | ||
| * @since 1.0.0 | ||
| */ | ||
| __exportStar(require("./Compatibility.js"), exports); | ||
| /** | ||
| * @since 1.0.0 | ||
| */ | ||
| __exportStar(require("./Types.js"), exports); | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,oEAAoD;AAEpD;;GAEG;AACH,oEAAoD;AAEpD;;GAEG;AACH,qDAAmC;AAEnC;;GAEG;AACH,6CAA2B"} |
| import type { ALBEvent, ALBResult } from "../../Types.js"; | ||
| import type { EventSource } from "../types.js"; | ||
| declare const _default: EventSource<ALBEvent, ALBResult>; | ||
| export default _default; | ||
| //# sourceMappingURL=alb.d.ts.map |
| {"version":3,"file":"alb.d.ts","sourceRoot":"","sources":["../../../../src/internal/aws/alb.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAmF/C,wBAGsC"} |
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const node_url_1 = __importDefault(require("node:url")); | ||
| const utils_js_1 = require("../utils.js"); | ||
| function getPathWithQueryStringUseUnescapeParams({ event, | ||
| // NOTE: Use `event.pathParameters.proxy` if available ({proxy+}); fall back to `event.path` | ||
| path = (event.pathParameters && | ||
| event.pathParameters.proxy && | ||
| `/${event.pathParameters.proxy}`) || | ||
| event.path, | ||
| // NOTE: Strip base path for custom domains | ||
| stripBasePath = "", replaceRegex = new RegExp(`^${stripBasePath}`), }) { | ||
| const query = {}; | ||
| // decode everything back into utf-8 text. | ||
| if (event.multiValueQueryStringParameters) { | ||
| for (const key in event.multiValueQueryStringParameters) { | ||
| const formattedKey = decodeUrlencoded(key); | ||
| query[formattedKey] = event.multiValueQueryStringParameters[key].map((value) => decodeUrlencoded(value)); | ||
| } | ||
| } | ||
| else { | ||
| for (const key in event.queryStringParameters) { | ||
| const formattedKey = decodeUrlencoded(key); | ||
| query[formattedKey] = decodeUrlencoded(event.queryStringParameters[key]); | ||
| } | ||
| } | ||
| return node_url_1.default.format({ | ||
| pathname: path.replace(replaceRegex, ""), | ||
| query, | ||
| }); | ||
| } | ||
| // Decode an "application/x-www-form-urlencoded" encoded string. | ||
| function decodeUrlencoded(val) { | ||
| return decodeURIComponent(val.replace(/\+/g, "%20")); | ||
| } | ||
| const getRequestValuesFromAlbEvent = (event) => { | ||
| const values = (0, utils_js_1.getRequestValuesFromEvent)({ | ||
| event, | ||
| path: getPathWithQueryStringUseUnescapeParams({ event }), | ||
| }); | ||
| return values; | ||
| }; | ||
| const getResponseToAlb = ({ body, event, headers: responseHeaders, isBase64Encoded, statusCode, }) => { | ||
| const multiValueHeaders = !event.headers | ||
| ? (0, utils_js_1.getMultiValueHeaders)(responseHeaders) | ||
| : undefined; | ||
| const headers = event.headers | ||
| ? Object.entries(responseHeaders).reduce((acc, [k, v]) => { | ||
| acc[k] = Array.isArray(v) ? v[0] : v; | ||
| return acc; | ||
| }, {}) | ||
| : undefined; | ||
| return { | ||
| statusCode, | ||
| body, | ||
| headers, | ||
| multiValueHeaders, | ||
| isBase64Encoded, | ||
| }; | ||
| }; | ||
| exports.default = { | ||
| getRequest: getRequestValuesFromAlbEvent, | ||
| getResponse: getResponseToAlb, | ||
| }; | ||
| //# sourceMappingURL=alb.js.map |
| {"version":3,"file":"alb.js","sourceRoot":"","sources":["../../../../src/internal/aws/alb.ts"],"names":[],"mappings":"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"} |
| import type { APIGatewayProxyEvent, APIGatewayProxyResult } from "../../Types.js"; | ||
| import type { EventSource } from "../types.js"; | ||
| declare const _default: EventSource<APIGatewayProxyEvent, APIGatewayProxyResult>; | ||
| export default _default; | ||
| //# sourceMappingURL=api-gateway-v1.d.ts.map |
| {"version":3,"file":"api-gateway-v1.d.ts","sourceRoot":"","sources":["../../../../src/internal/aws/api-gateway-v1.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AA4C/C,wBAG8D"} |
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const node_url_1 = __importDefault(require("node:url")); | ||
| const effect_1 = require("effect"); | ||
| const utils_js_1 = require("../utils.js"); | ||
| function getPathWithQueryStringParams(event) { | ||
| // NOTE: Use `event.pathParameters.proxy` if available ({proxy+}); fall back to `event.path` | ||
| const path = (event.pathParameters && | ||
| event.pathParameters.proxy && | ||
| `/${event.pathParameters.proxy}`) || | ||
| event.path; | ||
| return node_url_1.default.format({ | ||
| // NOTE: Strip base path for custom domains | ||
| pathname: path.replace(new RegExp(`^`), ""), | ||
| query: event.multiValueQueryStringParameters, | ||
| }); | ||
| } | ||
| const getRequestValuesFromApiGatewayEvent = (event) => (0, utils_js_1.getRequestValuesFromEvent)({ | ||
| event, | ||
| path: getPathWithQueryStringParams(event), | ||
| }); | ||
| const getResponseToApiGateway = ({ body, headers, isBase64Encoded, statusCode }) => { | ||
| const multiValueHeaders = (0, utils_js_1.getMultiValueHeaders)(headers); | ||
| const transferEncodingHeader = multiValueHeaders["transfer-encoding"]; | ||
| // chunked transfer not currently supported by API Gateway | ||
| if (transferEncodingHeader && transferEncodingHeader.includes("chunked")) { | ||
| multiValueHeaders["transfer-encoding"] = transferEncodingHeader.filter((headerValue) => headerValue !== "chunked"); | ||
| } | ||
| return { | ||
| statusCode, | ||
| body, | ||
| headers: effect_1.Record.map(headers, String), | ||
| multiValueHeaders, | ||
| isBase64Encoded, | ||
| }; | ||
| }; | ||
| exports.default = { | ||
| getRequest: getRequestValuesFromApiGatewayEvent, | ||
| getResponse: getResponseToApiGateway, | ||
| }; | ||
| //# sourceMappingURL=api-gateway-v1.js.map |
| {"version":3,"file":"api-gateway-v1.js","sourceRoot":"","sources":["../../../../src/internal/aws/api-gateway-v1.ts"],"names":[],"mappings":";;;;;AAAA,wDAA2B;AAE3B,mCAAgC;AAGhC,0CAA8E;AAE9E,SAAS,4BAA4B,CAAC,KAA2B;IAC/D,4FAA4F;IAC5F,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc;QAChC,KAAK,CAAC,cAAc,CAAC,KAAK;QAC1B,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC;IACb,OAAO,kBAAG,CAAC,MAAM,CAAC;QAChB,2CAA2C;QAC3C,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC3C,KAAK,EAAE,KAAK,CAAC,+BAA+B;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,mCAAmC,GAAG,CAAC,KAA2B,EAAE,EAAE,CAC1E,IAAA,oCAAyB,EAAC;IACxB,KAAK;IACL,IAAI,EAAE,4BAA4B,CAAC,KAAK,CAAC;CAC1C,CAAC,CAAC;AAEL,MAAM,uBAAuB,GAA4E,CACvG,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,EAC9C,EAAE;IACF,MAAM,iBAAiB,GAAG,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAC;IACxD,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IAEtE,0DAA0D;IAC1D,IAAI,sBAAsB,IAAI,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzE,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,CAAC,MAAM,CACpE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,SAAS,CAC3C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU;QACV,IAAI;QACJ,OAAO,EAAE,eAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC;QACpC,iBAAiB;QACjB,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe;IACb,UAAU,EAAE,mCAAmC;IAC/C,WAAW,EAAE,uBAAuB;CACuB,CAAC"} |
| import type { APIGatewayProxyEventV2, APIGatewayProxyResultV2 } from "../../Types.js"; | ||
| import type { EventSource } from "../types.js"; | ||
| declare const _default: EventSource<APIGatewayProxyEventV2, APIGatewayProxyResultV2>; | ||
| export default _default; | ||
| //# sourceMappingURL=api-gateway-v2.d.ts.map |
| {"version":3,"file":"api-gateway-v2.d.ts","sourceRoot":"","sources":["../../../../src/internal/aws/api-gateway-v2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAmF/C,wBAGkE"} |
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const node_url_1 = __importDefault(require("node:url")); | ||
| const utils_js_1 = require("../utils.js"); | ||
| function getRequestValuesFromApiGatewayEvent(event) { | ||
| const { cookies, rawPath, rawQueryString, requestContext, requestPath } = event; | ||
| const method = requestContext.http.method; | ||
| const requestPathOrRawPath = requestPath || rawPath; | ||
| const basePath = ""; // TODO: Test with custom domain | ||
| const stripBasePathRegex = new RegExp(`^${basePath}`); | ||
| const path = node_url_1.default.format({ | ||
| pathname: requestPathOrRawPath.replace(stripBasePathRegex, ""), | ||
| search: rawQueryString, | ||
| }); | ||
| const headers = {}; | ||
| if (cookies) { | ||
| headers.cookie = cookies.join("; "); | ||
| } | ||
| Object.entries(event.headers).forEach(([headerKey, headerValue]) => { | ||
| headers[headerKey.toLowerCase()] = headerValue; | ||
| }); | ||
| let body; | ||
| if (event.body) { | ||
| body = (0, utils_js_1.getEventBody)({ | ||
| body: event.body, | ||
| isBase64Encoded: event.isBase64Encoded, | ||
| }); | ||
| headers["content-length"] = Buffer.byteLength(body, event.isBase64Encoded ? "base64" : "utf8").toString(); | ||
| } | ||
| return { | ||
| method, | ||
| headers, | ||
| body, | ||
| remoteAddress: requestContext.http.sourceIp, | ||
| path, | ||
| }; | ||
| } | ||
| const getResponseToApiGateway = ({ body, headers = {}, isBase64Encoded = false, response = {}, statusCode, }) => { | ||
| if (headers["transfer-encoding"] === "chunked" || | ||
| response.chunkedEncoding) { | ||
| throw new Error("chunked encoding is not supported by API Gateway"); | ||
| } | ||
| const responseToApiGateway = { | ||
| statusCode, | ||
| body, | ||
| isBase64Encoded, | ||
| }; | ||
| const cookies = headers["set-cookie"]; | ||
| if (cookies) { | ||
| responseToApiGateway.cookies = Array.isArray(cookies) | ||
| ? cookies | ||
| : [cookies]; | ||
| delete headers["set-cookie"]; | ||
| } | ||
| responseToApiGateway.headers = (0, utils_js_1.getCommaDelimitedHeaders)({ | ||
| headersMap: headers, | ||
| }); | ||
| return responseToApiGateway; | ||
| }; | ||
| exports.default = { | ||
| getRequest: getRequestValuesFromApiGatewayEvent, | ||
| getResponse: getResponseToApiGateway, | ||
| }; | ||
| //# sourceMappingURL=api-gateway-v2.js.map |
| {"version":3,"file":"api-gateway-v2.js","sourceRoot":"","sources":["../../../../src/internal/aws/api-gateway-v2.ts"],"names":[],"mappings":";;;;;AAAA,wDAA2B;AAI3B,0CAAqE;AAErE,SAAS,mCAAmC,CAC1C,KAAwD;IAExD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAChF,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1C,MAAM,oBAAoB,GAAG,WAAW,IAAI,OAAO,CAAC;IACpD,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,gCAAgC;IACrD,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,kBAAG,CAAC,MAAM,CAAC;QACtB,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC9D,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,EAA4B,CAAC;IAE7C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE;QACjE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,WAAY,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAI,IAAwB,CAAC;IAE7B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,GAAG,IAAA,uBAAY,EAAC;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC,CAAC;QACH,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAC3C,IAAI,EACJ,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAC1C,CAAC,QAAQ,EAAE,CAAC;IACf,CAAC;IAED,OAAO;QACL,MAAM;QACN,OAAO;QACP,IAAI;QACJ,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ;QAC3C,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,uBAAuB,GAAgF,CAAC,EAC5G,IAAI,EACJ,OAAO,GAAG,EAAE,EACZ,eAAe,GAAG,KAAK,EACvB,QAAQ,GAAG,EAAE,EACb,UAAU,GACX,EAAE,EAAE;IACH,IACE,OAAO,CAAC,mBAAmB,CAAC,KAAK,SAAS;QAC1C,QAAQ,CAAC,eAAe,EACxB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,oBAAoB,GAA4B;QACpD,UAAU;QACV,IAAI;QACJ,eAAe;KAChB,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,OAAO,EAAE,CAAC;QACZ,oBAAoB,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACnD,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACd,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,oBAAoB,CAAC,OAAO,GAAG,IAAA,mCAAwB,EAAC;QACtD,UAAU,EAAE,OAAO;KACpB,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAEF,kBAAe;IACb,UAAU,EAAE,mCAAmC;IAC/C,WAAW,EAAE,uBAAuB;CAC2B,CAAC"} |
| import type { DynamoDBStreamEvent } from "../../Types.js"; | ||
| import type { EventSource } from "../types.js"; | ||
| declare const _default: EventSource<DynamoDBStreamEvent>; | ||
| export default _default; | ||
| //# sourceMappingURL=dynamodb.d.ts.map |
| {"version":3,"file":"dynamodb.d.ts","sourceRoot":"","sources":["../../../../src/internal/aws/dynamodb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAe/C,wBAGsC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const utils_js_1 = require("../utils.js"); | ||
| const getRequestValuesFromDynamoDB = (event) => { | ||
| const method = "POST"; | ||
| const headers = { host: "dynamodb.amazonaws.com" }; | ||
| const body = event; | ||
| return { | ||
| method, | ||
| headers, | ||
| body, | ||
| }; | ||
| }; | ||
| exports.default = { | ||
| getRequest: getRequestValuesFromDynamoDB, | ||
| getResponse: utils_js_1.emptyResponseMapper, | ||
| }; | ||
| //# sourceMappingURL=dynamodb.js.map |
| {"version":3,"file":"dynamodb.js","sourceRoot":"","sources":["../../../../src/internal/aws/dynamodb.ts"],"names":[],"mappings":";;AAEA,0CAAkD;AAElD,MAAM,4BAA4B,GAAG,CAAC,KAA0B,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC;IAEnB,OAAO;QACL,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe;IACb,UAAU,EAAE,4BAA4B;IACxC,WAAW,EAAE,8BAAmB;CACG,CAAC"} |
| import type { EventBridgeEvent } from "../../Types.js"; | ||
| import type { EventSource } from "../types.js"; | ||
| declare const _default: EventSource<EventBridgeEvent<string, unknown>>; | ||
| export default _default; | ||
| //# sourceMappingURL=eventbridge.d.ts.map |
| {"version":3,"file":"eventbridge.d.ts","sourceRoot":"","sources":["../../../../src/internal/aws/eventbridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAiB/C,wBAGoD"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const utils_js_1 = require("../utils.js"); | ||
| const getRequestValuesFromEventBridge = (event) => { | ||
| const method = "POST"; | ||
| const headers = { host: "events.amazonaws.com" }; | ||
| const body = event; | ||
| return { | ||
| method, | ||
| headers, | ||
| body, | ||
| }; | ||
| }; | ||
| exports.default = { | ||
| getRequest: getRequestValuesFromEventBridge, | ||
| getResponse: utils_js_1.emptyResponseMapper, | ||
| }; | ||
| //# sourceMappingURL=eventbridge.js.map |
| {"version":3,"file":"eventbridge.js","sourceRoot":"","sources":["../../../../src/internal/aws/eventbridge.ts"],"names":[],"mappings":";;AAEA,0CAAkD;AAElD,MAAM,+BAA+B,GAAG,CACtC,KAAwC,EACxC,EAAE;IACF,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC;IAEnB,OAAO;QACL,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe;IACb,UAAU,EAAE,+BAA+B;IAC3C,WAAW,EAAE,8BAAmB;CACiB,CAAC"} |
| import type { KinesisStreamEvent } from "../../Types.js"; | ||
| import type { EventSource } from "../types.js"; | ||
| declare const _default: EventSource<KinesisStreamEvent>; | ||
| export default _default; | ||
| //# sourceMappingURL=kinesis.d.ts.map |
| {"version":3,"file":"kinesis.d.ts","sourceRoot":"","sources":["../../../../src/internal/aws/kinesis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAe/C,wBAGqC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const utils_js_1 = require("../utils.js"); | ||
| const getRequestValuesFromKinesis = (event) => { | ||
| const method = "POST"; | ||
| const headers = { host: "kinesis.amazonaws.com" }; | ||
| const body = event; | ||
| return { | ||
| method, | ||
| headers, | ||
| body, | ||
| }; | ||
| }; | ||
| exports.default = { | ||
| getRequest: getRequestValuesFromKinesis, | ||
| getResponse: utils_js_1.emptyResponseMapper, | ||
| }; | ||
| //# sourceMappingURL=kinesis.js.map |
| {"version":3,"file":"kinesis.js","sourceRoot":"","sources":["../../../../src/internal/aws/kinesis.ts"],"names":[],"mappings":";;AAEA,0CAAkD;AAElD,MAAM,2BAA2B,GAAG,CAAC,KAAyB,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC;IAEnB,OAAO;QACL,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe;IACb,UAAU,EAAE,2BAA2B;IACvC,WAAW,EAAE,8BAAmB;CACE,CAAC"} |
| import type { CloudFrontRequestEvent } from "../../Types.js"; | ||
| import type { EventSource } from "../types.js"; | ||
| declare const _default: EventSource<CloudFrontRequestEvent>; | ||
| export default _default; | ||
| //# sourceMappingURL=lambda-edge.d.ts.map |
| {"version":3,"file":"lambda-edge.d.ts","sourceRoot":"","sources":["../../../../src/internal/aws/lambda-edge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AA4F/C,wBAGyC"} |
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const node_url_1 = __importDefault(require("node:url")); | ||
| const utils_js_1 = require("../utils.js"); | ||
| // Lambda@Edge fails if certain headers are returned | ||
| const RESPONSE_HEADERS_DENY_LIST = ["content-length"]; | ||
| function getRequestValuesFromLambdaEdgeEvent(event) { | ||
| const cloudFrontRequest = event.Records[0].cf.request; | ||
| const { body: requestBodyObject, clientIp, headers: headersMap, method, querystring, uri, } = cloudFrontRequest; | ||
| let body = null; | ||
| const headers = {}; | ||
| Object.entries(headersMap).forEach(([headerKey, headerValue]) => { | ||
| headers[headerKey] = headerValue.map((header) => header.value).join(","); | ||
| }); | ||
| if (requestBodyObject?.data) { | ||
| const isBase64Encoded = requestBodyObject.encoding === "base64"; | ||
| body = (0, utils_js_1.getEventBody)({ | ||
| body: requestBodyObject.data, | ||
| isBase64Encoded, | ||
| }); | ||
| headers["content-length"] = Buffer.byteLength(body, isBase64Encoded ? "base64" : "utf8").toString(); | ||
| } | ||
| const path = node_url_1.default.format({ | ||
| pathname: uri, | ||
| search: querystring, | ||
| }); | ||
| const { host } = headers; | ||
| return { | ||
| method, | ||
| path, | ||
| headers, | ||
| body, | ||
| remoteAddress: clientIp, | ||
| host, | ||
| hostname: host, // Alias for host | ||
| // protocol: `${headers['X-Forwarded-Proto']}:`, | ||
| // port: headers['X-Forwarded-Port'] | ||
| }; | ||
| } | ||
| const getResponseToLambdaEdge = ({ body, headers, isBase64Encoded, statusCode }) => { | ||
| const headersMap = {}; | ||
| Object.entries(headers).forEach(([headerKey, headerValue]) => { | ||
| const headerKeyLowerCase = headerKey.toLowerCase(); | ||
| if (RESPONSE_HEADERS_DENY_LIST.includes(headerKeyLowerCase)) | ||
| return; | ||
| if (!headersMap[headerKeyLowerCase]) | ||
| headersMap[headerKeyLowerCase] = []; | ||
| if (!Array.isArray(headerValue)) { | ||
| headersMap[headerKeyLowerCase].push({ | ||
| key: headerKeyLowerCase, | ||
| value: headerValue, | ||
| }); | ||
| return; | ||
| } | ||
| const headersArray = headerValue.map((v) => ({ | ||
| key: headerKeyLowerCase, | ||
| value: v, | ||
| })); | ||
| // eslint-disable-next-line no-restricted-syntax | ||
| headersMap[headerKeyLowerCase].push(...headersArray); | ||
| }); | ||
| const bodyEncoding = isBase64Encoded ? "base64" : "text"; | ||
| const responseToService = { | ||
| status: statusCode, | ||
| body, | ||
| headers: headersMap, | ||
| bodyEncoding, | ||
| }; | ||
| // TODO: Handle if responseToServiceBytes exceeds Lambda@Edge limits | ||
| // const responseToServiceBytes = (new TextEncoder().encode(JSON.stringify(responseToService))).length | ||
| return responseToService; | ||
| }; | ||
| exports.default = { | ||
| getRequest: getRequestValuesFromLambdaEdgeEvent, | ||
| getResponse: getResponseToLambdaEdge, | ||
| }; | ||
| //# sourceMappingURL=lambda-edge.js.map |
| {"version":3,"file":"lambda-edge.js","sourceRoot":"","sources":["../../../../src/internal/aws/lambda-edge.ts"],"names":[],"mappings":"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"} |
| import type { S3Event } from "../../Types.js"; | ||
| import type { EventSource } from "../types.js"; | ||
| declare const _default: EventSource<S3Event>; | ||
| export default _default; | ||
| //# sourceMappingURL=s3.d.ts.map |
| {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../../src/internal/aws/s3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AA0B/C,wBAG0B"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const getRequestValuesFromS3 = (event) => { | ||
| const method = "POST"; | ||
| const headers = { host: "s3.amazonaws.com" }; | ||
| const body = event; | ||
| return { | ||
| method, | ||
| headers, | ||
| body, | ||
| }; | ||
| }; | ||
| const getResponseToS3 = ({ body, headers, isBase64Encoded, statusCode, }) => ({ | ||
| statusCode, | ||
| headers, | ||
| body, | ||
| isBase64Encoded, | ||
| }); | ||
| exports.default = { | ||
| getRequest: getRequestValuesFromS3, | ||
| getResponse: getResponseToS3, | ||
| }; | ||
| //# sourceMappingURL=s3.js.map |
| {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../src/internal/aws/s3.ts"],"names":[],"mappings":";;AAGA,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC;IAEnB,OAAO;QACL,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAwC,CAAC,EAC5D,IAAI,EACJ,OAAO,EACP,eAAe,EACf,UAAU,GACX,EAAE,EAAE,CAAC,CAAC;IACL,UAAU;IACV,OAAO;IACP,IAAI;IACJ,eAAe;CAChB,CAAC,CAAC;AAEH,kBAAe;IACb,UAAU,EAAE,sBAAsB;IAClC,WAAW,EAAE,eAAe;CACL,CAAC"} |
| import type { SelfManagedKafkaEvent } from "../../Types.js"; | ||
| import type { EventSource } from "../types.js"; | ||
| declare const _default: EventSource<SelfManagedKafkaEvent>; | ||
| export default _default; | ||
| //# sourceMappingURL=self-managed-kafka.d.ts.map |
| {"version":3,"file":"self-managed-kafka.d.ts","sourceRoot":"","sources":["../../../../src/internal/aws/self-managed-kafka.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAc/C,wBAGwC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const utils_js_1 = require("../utils.js"); | ||
| const getRequestValuesFromSelfManagedKafka = (event) => { | ||
| const method = "POST"; | ||
| const headers = { host: "self-managed-kafka" }; | ||
| const body = event; | ||
| return { | ||
| method, | ||
| headers, | ||
| body, | ||
| }; | ||
| }; | ||
| exports.default = { | ||
| getRequest: getRequestValuesFromSelfManagedKafka, | ||
| getResponse: utils_js_1.emptyResponseMapper, | ||
| }; | ||
| //# sourceMappingURL=self-managed-kafka.js.map |
| {"version":3,"file":"self-managed-kafka.js","sourceRoot":"","sources":["../../../../src/internal/aws/self-managed-kafka.ts"],"names":[],"mappings":";;AAEA,0CAAkD;AAElD,MAAM,oCAAoC,GAAG,CAAC,KAA4B,EAAE,EAAE;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,KAAK,CAAC;IAEnB,OAAO;QACL,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AACF,kBAAe;IACb,UAAU,EAAE,oCAAoC;IAChD,WAAW,EAAE,8BAAmB;CACK,CAAC"} |
| import type { SNSEvent } from "../../Types.js"; | ||
| import type { EventSource } from "../types.js"; | ||
| declare const _default: EventSource<SNSEvent>; | ||
| export default _default; | ||
| //# sourceMappingURL=sns.d.ts.map |
| {"version":3,"file":"sns.d.ts","sourceRoot":"","sources":["../../../../src/internal/aws/sns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAe/C,wBAG2B"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const utils_js_1 = require("../utils.js"); | ||
| const getRequestValuesFromSns = (event) => { | ||
| const method = "POST"; | ||
| const headers = { host: "sns.amazonaws.com" }; | ||
| const body = event; | ||
| return { | ||
| method, | ||
| headers, | ||
| body, | ||
| }; | ||
| }; | ||
| exports.default = { | ||
| getRequest: getRequestValuesFromSns, | ||
| getResponse: utils_js_1.emptyResponseMapper, | ||
| }; | ||
| //# sourceMappingURL=sns.js.map |
| {"version":3,"file":"sns.js","sourceRoot":"","sources":["../../../../src/internal/aws/sns.ts"],"names":[],"mappings":";;AAEA,0CAAkD;AAElD,MAAM,uBAAuB,GAAG,CAAC,KAAe,EAAE,EAAE;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC;IAEnB,OAAO;QACL,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe;IACb,UAAU,EAAE,uBAAuB;IACnC,WAAW,EAAE,8BAAmB;CACR,CAAC"} |
| import type { SQSEvent } from "../../Types.js"; | ||
| import type { EventSource } from "../types.js"; | ||
| declare const _default: EventSource<SQSEvent>; | ||
| export default _default; | ||
| //# sourceMappingURL=sqs.d.ts.map |
| {"version":3,"file":"sqs.d.ts","sourceRoot":"","sources":["../../../../src/internal/aws/sqs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;;AAqB/C,wBAG2B"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const getRequestValuesFromSqs = (event) => { | ||
| const method = "POST"; | ||
| const headers = { host: "sqs.amazonaws.com" }; | ||
| const body = event; | ||
| return { | ||
| method, | ||
| headers, | ||
| body, | ||
| }; | ||
| }; | ||
| const getResponseToSqs = ({ body }) => { | ||
| try { | ||
| return JSON.parse(body); | ||
| // eslint-disable-next-line @typescript-eslint/no-unused-vars | ||
| } | ||
| catch (error) { /* empty */ } | ||
| }; | ||
| exports.default = { | ||
| getRequest: getRequestValuesFromSqs, | ||
| getResponse: getResponseToSqs, | ||
| }; | ||
| //# sourceMappingURL=sqs.js.map |
| {"version":3,"file":"sqs.js","sourceRoot":"","sources":["../../../../src/internal/aws/sqs.ts"],"names":[],"mappings":";;AAGA,MAAM,uBAAuB,GAAG,CAAC,KAAe,EAAE,EAAE;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC;IAEnB,OAAO;QACL,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAyC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC1E,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,6DAA6D;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,kBAAe;IACb,UAAU,EAAE,uBAAuB;IACnC,WAAW,EAAE,gBAAgB;CACL,CAAC"} |
| import type { ALBEvent, APIGatewayProxyEvent, APIGatewayProxyEventV2, DynamoDBStreamEvent, EventBridgeEvent, KinesisStreamEvent, S3Event, SelfManagedKafkaEvent, SNSEvent, SQSEvent } from "../Types.js"; | ||
| export declare function getEventSource(event: unknown): import("./types.js").EventSource<ALBEvent, import("aws-lambda/trigger/alb.js").ALBResult> | import("./types.js").EventSource<APIGatewayProxyEvent, import("aws-lambda/trigger/api-gateway-proxy.js").APIGatewayProxyResult> | import("./types.js").EventSource<APIGatewayProxyEventV2, import("aws-lambda/trigger/api-gateway-proxy.js").APIGatewayProxyResultV2> | import("./types.js").EventSource<DynamoDBStreamEvent> | import("./types.js").EventSource<EventBridgeEvent<string, unknown>> | import("./types.js").EventSource<KinesisStreamEvent> | import("./types.js").EventSource<import("aws-lambda/trigger/cloudfront-request.js").CloudFrontRequestEvent> | import("./types.js").EventSource<S3Event> | import("./types.js").EventSource<SelfManagedKafkaEvent> | import("./types.js").EventSource<SNSEvent> | import("./types.js").EventSource<SQSEvent>; | ||
| //# sourceMappingURL=index.d.ts.map |
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACT,MAAM,aAAa,CAAC;AA4DrB,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,w0BA2B5C"} |
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.getEventSource = void 0; | ||
| const alb_js_1 = __importDefault(require("./aws/alb.js")); | ||
| const api_gateway_v1_js_1 = __importDefault(require("./aws/api-gateway-v1.js")); | ||
| const api_gateway_v2_js_1 = __importDefault(require("./aws/api-gateway-v2.js")); | ||
| const dynamodb_js_1 = __importDefault(require("./aws/dynamodb.js")); | ||
| const eventbridge_js_1 = __importDefault(require("./aws/eventbridge.js")); | ||
| const kinesis_js_1 = __importDefault(require("./aws/kinesis.js")); | ||
| const lambda_edge_js_1 = __importDefault(require("./aws/lambda-edge.js")); | ||
| const s3_js_1 = __importDefault(require("./aws/s3.js")); | ||
| const self_managed_kafka_js_1 = __importDefault(require("./aws/self-managed-kafka.js")); | ||
| const sns_js_1 = __importDefault(require("./aws/sns.js")); | ||
| const sqs_js_1 = __importDefault(require("./aws/sqs.js")); | ||
| const isBatchLikeEvent = (event) => !!event.Records; | ||
| const isAlbEvent = (event) => !!event.requestContext?.elb; | ||
| const isApiGatewayV1Event = (event) => event.requestContext && | ||
| event.version !== "2.0"; | ||
| const isApiGatewayV2Event = (event) => event.requestContext && | ||
| event.version === "2.0"; | ||
| const isEventBridgeEvent = (event) => !!(event.version === "0" && | ||
| event.id && | ||
| event["detail-type"] && | ||
| event.source && | ||
| event.account && | ||
| event.time && | ||
| event.region && | ||
| Array.isArray(event.resources) && | ||
| typeof event.detail === "object" && | ||
| !Array.isArray(event.detail)); | ||
| const isSelfManagedKafkaEvent = (event) => event?.eventSource === "SelfManagedKafka"; | ||
| const isSnsEvent = (event) => event.Records[0].EventSource === "aws:sns"; | ||
| const isSqsEvent = (event) => event.Records[0].eventSource === "aws:sqs"; | ||
| const isDynamoDBEvent = (event) => event.Records[0].eventSource === "aws:dynamodb"; | ||
| const isKinesisEvent = (event) => event.Records[0].eventSource === "aws:kinesis"; | ||
| const isS3Event = (event) => event.Records[0].eventSource === "aws:s3"; | ||
| function getEventSource(event) { | ||
| if (isAlbEvent(event)) | ||
| return alb_js_1.default; | ||
| if (isSelfManagedKafkaEvent(event)) { | ||
| return self_managed_kafka_js_1.default; | ||
| } | ||
| if (isBatchLikeEvent(event)) { | ||
| if (isSnsEvent(event)) | ||
| return sns_js_1.default; | ||
| if (isDynamoDBEvent(event)) { | ||
| return dynamodb_js_1.default; | ||
| } | ||
| if (isSqsEvent(event)) | ||
| return sqs_js_1.default; | ||
| if (isKinesisEvent(event)) { | ||
| return kinesis_js_1.default; | ||
| } | ||
| if (isS3Event(event)) | ||
| return s3_js_1.default; | ||
| return lambda_edge_js_1.default; | ||
| } | ||
| if (isApiGatewayV2Event(event)) { | ||
| return api_gateway_v2_js_1.default; | ||
| } | ||
| if (isApiGatewayV1Event(event)) { | ||
| return api_gateway_v1_js_1.default; | ||
| } | ||
| if (isEventBridgeEvent(event)) { | ||
| return eventbridge_js_1.default; | ||
| } | ||
| throw new Error("Couldn't detect valid event source."); | ||
| } | ||
| exports.getEventSource = getEventSource; | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/index.ts"],"names":[],"mappings":"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"} |
| export {}; | ||
| //# sourceMappingURL=lambdaHandler.d.ts.map |
| {"version":3,"file":"lambdaHandler.d.ts","sourceRoot":"","sources":["../../../src/internal/lambdaHandler.ts"],"names":[],"mappings":""} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.lambdaContextTag = exports.lambdaEventTag = void 0; | ||
| const effect_1 = require("effect"); | ||
| /** @internal */ | ||
| exports.lambdaEventTag = effect_1.Context.GenericTag("@effect-aws/lambda/LambdaHandler/Event"); | ||
| /** @internal */ | ||
| exports.lambdaContextTag = effect_1.Context.GenericTag("@effect-aws/lambda/LambdaHandler/Context"); | ||
| //# sourceMappingURL=lambdaHandler.js.map |
| {"version":3,"file":"lambdaHandler.js","sourceRoot":"","sources":["../../../src/internal/lambdaHandler.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AAIjC,gBAAgB;AACH,QAAA,cAAc,GAAG,gBAAO,CAAC,UAAU,CAC9C,wCAAwC,CACzC,CAAC;AAEF,gBAAgB;AACH,QAAA,gBAAgB,GAAG,gBAAO,CAAC,UAAU,CAChD,0CAA0C,CAC3C,CAAC"} |
| export {}; | ||
| //# sourceMappingURL=stream.d.ts.map |
| {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/internal/stream.ts"],"names":[],"mappings":""} |
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.pipeTo = exports.pipeline = void 0; | ||
| const platform_1 = require("@effect/platform"); | ||
| const NodeStream = __importStar(require("@effect/platform-node-shared/NodeStream")); | ||
| const effect_1 = require("effect"); | ||
| const Function_1 = require("effect/Function"); | ||
| const NS = __importStar(require("node:stream/promises")); | ||
| /** @internal */ | ||
| const isStream = (u) => effect_1.Predicate.hasProperty(u, effect_1.Stream.StreamTypeId); | ||
| const handleErrnoException = (module, method) => (err) => { | ||
| const reason = "Unknown"; | ||
| return new platform_1.Error.SystemError({ | ||
| reason, | ||
| module, | ||
| method, | ||
| pathOrDescriptor: "", | ||
| syscall: err.syscall, | ||
| description: err.message, | ||
| cause: err, | ||
| }); | ||
| }; | ||
| /** @internal */ | ||
| const pipeline = (source, destination, options) => effect_1.Effect.tryPromise({ | ||
| try: (signal) => NS.pipeline(source, destination, { ...options, signal }), | ||
| catch: handleErrnoException("Stream", "pipeline"), | ||
| }); | ||
| exports.pipeline = pipeline; | ||
| /** @internal */ | ||
| exports.pipeTo = (0, Function_1.dual)((args) => isStream(args[0]), (stream, writable, options) => stream.pipe(NodeStream.toReadable, effect_1.Effect.flatMap((readable) => (0, exports.pipeline)(readable, writable, options)))); | ||
| //# sourceMappingURL=stream.js.map |
| {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/internal/stream.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyC;AACzC,oFAAsE;AACtE,mCAAmD;AACnD,8CAAuC;AAEvC,yDAA2C;AAE3C,gBAAgB;AAChB,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAwC,EAAE,CAAC,kBAAS,CAAC,WAAW,CAAC,CAAC,EAAE,eAAM,CAAC,YAAY,CAAC,CAAC;AAErH,MAAM,oBAAoB,GACxB,CAAC,MAAmC,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC,GAAY,EAAuB,EAAE;IAC7F,MAAM,MAAM,GAA4B,SAAS,CAAC;IAElD,OAAO,IAAI,gBAAK,CAAC,WAAW,CAAC;QAC3B,MAAM;QACN,MAAM;QACN,MAAM;QACN,gBAAgB,EAAE,EAAE;QACpB,OAAO,EAAG,GAA6B,CAAC,OAAO;QAC/C,WAAW,EAAG,GAA6B,CAAC,OAAO;QACnD,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AAEJ,gBAAgB;AACT,MAAM,QAAQ,GAMjB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CACnC,eAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC;IACzE,KAAK,EAAE,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC;CAClD,CAAC,CAAC;AAVQ,QAAA,QAAQ,YAUhB;AAEL,gBAAgB;AACH,QAAA,MAAM,GAUf,IAAA,eAAI,EACN,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAC3B,CACE,MAAgD,EAChD,QAA+B,EAC/B,OAA4C,EAC5C,EAAE,CACF,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,UAAU,EACrB,eAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CACpE,CACJ,CAAC"} |
| import type { LambdaHandler } from "../LambdaHandler.js"; | ||
| export type BatchLikeEvent<R = unknown> = { | ||
| Records: Array<R>; | ||
| }; | ||
| export type RequestValues = { | ||
| method: string; | ||
| headers: Record<string, string>; | ||
| body: any; | ||
| remoteAddress?: string; | ||
| path?: string; | ||
| }; | ||
| export type ResponseValues<TEvent> = { | ||
| event: TEvent; | ||
| statusCode: number; | ||
| body: string; | ||
| headers: { | ||
| [key: string]: string; | ||
| } & { | ||
| "set-cookie"?: string | Array<string>; | ||
| }; | ||
| isBase64Encoded: boolean; | ||
| response?: any; | ||
| }; | ||
| export type EventSource<TEvent extends LambdaHandler.Event, TResult extends LambdaHandler.Result = void> = { | ||
| getRequest: (event: TEvent) => RequestValues; | ||
| getResponse: (response: ResponseValues<TEvent>) => TResult; | ||
| }; | ||
| //# sourceMappingURL=types.d.ts.map |
| {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/internal/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAAI;IAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,GAAG,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,MAAM,IAAI;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAC/E,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,aAAa,CAAC,KAAK,EAAE,OAAO,SAAS,aAAa,CAAC,MAAM,GAAG,IAAI,IAAI;IACzG,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,aAAa,CAAC;IAC7C,WAAW,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;CAC5D,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=types.js.map |
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/internal/types.ts"],"names":[],"mappings":""} |
| /// <reference types="node" /> | ||
| /// <reference types="node" /> | ||
| import type { ALBEvent, APIGatewayProxyEvent } from "../Types.js"; | ||
| import type { ResponseValues } from "./types.js"; | ||
| export declare function getEventBody({ body, isBase64Encoded, }: { | ||
| body: string; | ||
| isBase64Encoded: boolean; | ||
| }): Buffer; | ||
| export declare function getRequestValuesFromEvent<TEvent extends ALBEvent | APIGatewayProxyEvent>({ event, path }: { | ||
| event: TEvent; | ||
| path: string; | ||
| }): { | ||
| method: string; | ||
| headers: Record<string, string | undefined>; | ||
| body: Buffer | undefined; | ||
| remoteAddress: string | undefined; | ||
| path: string; | ||
| }; | ||
| export declare function getMultiValueHeaders(headers: ResponseValues<unknown>["headers"]): Record<string, string[]>; | ||
| export declare function getCommaDelimitedHeaders({ headersMap, lowerCaseKey, separator, }: { | ||
| headersMap: Record<string, string | Array<string> | undefined>; | ||
| separator?: string; | ||
| lowerCaseKey?: boolean; | ||
| }): Record<string, string>; | ||
| export declare const emptyResponseMapper: () => void; | ||
| export declare const encodeBase64: (buf: ArrayBufferLike) => string; | ||
| export declare const isContentTypeBinary: (contentType: string) => boolean; | ||
| export declare const isContentEncodingBinary: (contentEncoding: string | null) => boolean; | ||
| //# sourceMappingURL=utils.d.ts.map |
| {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/internal/utils.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,eAAe,GAChB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,OAAO,CAAC;CAC1B,UAEA;AAED,wBAAgB,yBAAyB,CACvC,MAAM,SAAS,QAAQ,GAAG,oBAAoB,EAC9C,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;;EAwCjD;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,4BAY/E;AAED,wBAAgB,wBAAwB,CAAC,EACvC,UAAU,EACV,YAAoB,EACpB,SAAe,GAChB,EAAE;IACD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,0BAaA;AAED,eAAO,MAAM,mBAAmB,YAAW,CAAC;AAI5C,eAAO,MAAM,YAAY,QAAS,eAAe,KAAG,MAOnD,CAAC;AAEF,eAAO,MAAM,mBAAmB,gBAAiB,MAAM,YAItD,CAAC;AAEF,eAAO,MAAM,uBAAuB,oBAAqB,MAAM,GAAG,IAAI,YAKrE,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.isContentEncodingBinary = exports.isContentTypeBinary = exports.encodeBase64 = exports.emptyResponseMapper = exports.getCommaDelimitedHeaders = exports.getMultiValueHeaders = exports.getRequestValuesFromEvent = exports.getEventBody = void 0; | ||
| function getEventBody({ body, isBase64Encoded, }) { | ||
| return Buffer.from(body ?? "", isBase64Encoded ? "base64" : "utf8"); | ||
| } | ||
| exports.getEventBody = getEventBody; | ||
| function getRequestValuesFromEvent({ event, path }) { | ||
| let headers = {}; | ||
| if (event.multiValueHeaders) { | ||
| headers = getCommaDelimitedHeaders({ | ||
| headersMap: event.multiValueHeaders, | ||
| lowerCaseKey: true, | ||
| }); | ||
| } | ||
| else if (event.headers) { | ||
| headers = event.headers; | ||
| } | ||
| let body; | ||
| if (event.body) { | ||
| body = getEventBody({ | ||
| body: event.body, | ||
| isBase64Encoded: event.isBase64Encoded, | ||
| }); | ||
| const { isBase64Encoded } = event; | ||
| headers["content-length"] = Buffer.byteLength(body, isBase64Encoded ? "base64" : "utf8").toString(); | ||
| } | ||
| const remoteAddress = (event && | ||
| event.requestContext && "identity" in event.requestContext && | ||
| event.requestContext.identity?.sourceIp) || | ||
| (event && event.requestContext && "domainName" in event.requestContext | ||
| && event.requestContext.domainName) | ||
| || (event.headers?.["host"] ?? event.multiValueHeaders?.["host"]?.[0]); | ||
| return { | ||
| method: event.httpMethod, | ||
| headers, | ||
| body, | ||
| remoteAddress, | ||
| path, | ||
| }; | ||
| } | ||
| exports.getRequestValuesFromEvent = getRequestValuesFromEvent; | ||
| function getMultiValueHeaders(headers) { | ||
| const multiValueHeaders = {}; | ||
| Object.entries(headers).forEach(([headerKey, headerValue]) => { | ||
| const headerArray = Array.isArray(headerValue) | ||
| ? headerValue.map(String) | ||
| : [String(headerValue)]; | ||
| multiValueHeaders[headerKey.toLowerCase()] = headerArray; | ||
| }); | ||
| return multiValueHeaders; | ||
| } | ||
| exports.getMultiValueHeaders = getMultiValueHeaders; | ||
| function getCommaDelimitedHeaders({ headersMap, lowerCaseKey = false, separator = ",", }) { | ||
| const commaDelimitedHeaders = {}; | ||
| Object.entries(headersMap).forEach(([headerKey, headerValue]) => { | ||
| const newKey = lowerCaseKey ? headerKey.toLowerCase() : headerKey; | ||
| if (Array.isArray(headerValue)) { | ||
| commaDelimitedHeaders[newKey] = headerValue.join(separator); | ||
| } | ||
| else { | ||
| commaDelimitedHeaders[newKey] = headerValue ?? ""; | ||
| } | ||
| }); | ||
| return commaDelimitedHeaders; | ||
| } | ||
| exports.getCommaDelimitedHeaders = getCommaDelimitedHeaders; | ||
| const emptyResponseMapper = () => { }; | ||
| exports.emptyResponseMapper = emptyResponseMapper; | ||
| // This approach is written in MDN. | ||
| // btoa does not support utf-8 characters. So we need a little bit hack. | ||
| const encodeBase64 = (buf) => { | ||
| let binary = ""; | ||
| const bytes = new Uint8Array(buf); | ||
| for (let i = 0, len = bytes.length; i < len; i++) { | ||
| binary += String.fromCharCode(bytes[i]); | ||
| } | ||
| return btoa(binary); | ||
| }; | ||
| exports.encodeBase64 = encodeBase64; | ||
| const isContentTypeBinary = (contentType) => { | ||
| return !/^(text\/(plain|html|css|javascript|csv).*|application\/(.*json|.*xml).*|image\/svg\+xml.*)$/.test(contentType); | ||
| }; | ||
| exports.isContentTypeBinary = isContentTypeBinary; | ||
| const isContentEncodingBinary = (contentEncoding) => { | ||
| if (contentEncoding === null) { | ||
| return false; | ||
| } | ||
| return /^(gzip|deflate|compress|br)/.test(contentEncoding); | ||
| }; | ||
| exports.isContentEncodingBinary = isContentEncodingBinary; | ||
| //# sourceMappingURL=utils.js.map |
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/internal/utils.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| import type { HttpApi, HttpRouter } from "@effect/platform"; | ||
| import { HttpApiBuilder, HttpApp } from "@effect/platform"; | ||
| import type { Cause } from "effect"; | ||
| import { Context, Effect, Layer } from "effect"; | ||
| import type { ALBEvent, ALBResult, APIGatewayProxyEvent, APIGatewayProxyEventV2, APIGatewayProxyResult, APIGatewayProxyResultV2, CloudFrontRequestEvent, DynamoDBStreamEvent, EffectHandler, EffectHandlerWithLayer, EventBridgeEvent, Handler, KinesisStreamEvent, LambdaContext, S3Event, SelfManagedKafkaEvent, SNSEvent, SQSEvent, StreamHandler, StreamHandlerWithLayer } from "./Types.js"; | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| export declare namespace LambdaHandler { | ||
| /** | ||
| * @since 1.4.0 | ||
| * @category model | ||
| */ | ||
| type Event = ALBEvent | APIGatewayProxyEvent | APIGatewayProxyEventV2 | EventBridgeEvent<string, unknown> | DynamoDBStreamEvent | KinesisStreamEvent | S3Event | SelfManagedKafkaEvent | SNSEvent | SQSEvent | CloudFrontRequestEvent; | ||
| /** | ||
| * @since 1.4.0 | ||
| * @category model | ||
| */ | ||
| type Result = ALBResult | APIGatewayProxyResult | APIGatewayProxyResultV2 | void; | ||
| } | ||
| /** | ||
| * @since 1.4.0 | ||
| * @category context | ||
| */ | ||
| export declare const event: <T extends LambdaHandler.Event>() => Effect.Effect<T>; | ||
| /** | ||
| * @since 1.4.0 | ||
| * @category context | ||
| */ | ||
| export declare const context: () => Effect.Effect<LambdaContext>; | ||
| /** | ||
| * Makes a lambda handler from the given EffectHandler and optional global layer. | ||
| * The global layer is used to provide a runtime which will gracefully handle lambda termination during down-scaling. | ||
| * | ||
| * @example | ||
| * import { LambdaHandler, LambdaContext } from "@effect-aws/lambda" | ||
| * import { Effect } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * export const handler = LambdaHandler.make(effectHandler); | ||
| * | ||
| * @example | ||
| * import { LambdaHandler, LambdaContext } from "@effect-aws/lambda" | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * export const handler = LambdaHandler.make({ | ||
| * handler: effectHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| */ | ||
| export declare const make: { | ||
| <T, R, E1, E2, A>(options: EffectHandlerWithLayer<T, R, E1, E2, A>): Handler<T, A>; | ||
| <T, E, A>(handler: EffectHandler<T, never, E, A>): Handler<T, A>; | ||
| /** | ||
| * @deprecated Prefer using the `EffectHandlerWithLayer` type to provide a global layer. | ||
| * @example | ||
| * ```ts | ||
| * export const handler = makeLambda({ | ||
| * handler: effectHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * ``` | ||
| */ | ||
| <T, R, E1, E2, A>(handler: EffectHandler<T, R, E1, A>, globalLayer: Layer.Layer<R, E2>): Handler<T, A>; | ||
| }; | ||
| /** | ||
| * Makes a streamify lambda handler from the given StreamHandler and optional global layer. | ||
| * The global layer is used to provide a runtime which will gracefully handle lambda termination during down-scaling. | ||
| * | ||
| * @example | ||
| * import { LambdaHandler, LambdaContext } from "@effect-aws/lambda" | ||
| * import { Stream } from "effect"; | ||
| * | ||
| * const streamHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Stream.make("1", "2", "3"); | ||
| * }; | ||
| * | ||
| * export const handler = LambdaHandler.stream(streamHandler); | ||
| * | ||
| * @example | ||
| * import { LambdaHandler, LambdaContext } from "@effect-aws/lambda" | ||
| * import { Stream, Logger } from "effect"; | ||
| * | ||
| * const streamHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Stream.make("1", "2", "3"); | ||
| * }; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * export const handler = LambdaHandler.stream({ | ||
| * handler: streamHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * | ||
| * @since 1.5.0 | ||
| * @category constructors | ||
| */ | ||
| export declare const stream: { | ||
| <T, R, E1, E2>(options: StreamHandlerWithLayer<T, R, E1, E2>): Handler<T, void>; | ||
| <T, E>(handler: StreamHandler<T, never, E>): Handler<T, void>; | ||
| }; | ||
| interface HttpApiOptions { | ||
| readonly middleware?: (httpApp: HttpApp.Default) => HttpApp.Default<never, HttpApi.Api | HttpApiBuilder.Router | HttpRouter.HttpRouter.DefaultServices>; | ||
| readonly memoMap?: Layer.MemoMap; | ||
| } | ||
| type WebHandler = ReturnType<typeof HttpApp.toWebHandler>; | ||
| declare const WebHandler: Context.Tag<(request: Request, context?: Context.Context<never> | undefined) => Promise<Response>, (request: Request, context?: Context.Context<never> | undefined) => Promise<Response>>; | ||
| /** | ||
| * Construct an `WebHandler` from an `HttpApi` instance. | ||
| * | ||
| * @since 1.4.0 | ||
| * @category constructors | ||
| */ | ||
| export declare const makeWebHandler: (options?: Pick<HttpApiOptions, "middleware">) => Effect.Effect<WebHandler, never, HttpApiBuilder.Router | HttpApi.Api | HttpRouter.HttpRouter.DefaultServices | HttpApiBuilder.Middleware | LambdaHandler.Event | LambdaContext>; | ||
| /** | ||
| * Construct an `EffectHandler` from an `HttpApi` instance. | ||
| * | ||
| * @since 1.4.0 | ||
| * @category constructors | ||
| */ | ||
| export declare const httpApiHandler: (options?: Pick<HttpApiOptions, "middleware">) => EffectHandler<LambdaHandler.Event, HttpApi.Api | HttpApiBuilder.Router | HttpRouter.HttpRouter.DefaultServices | HttpApiBuilder.Middleware, Cause.UnknownException, LambdaHandler.Result>; | ||
| /** | ||
| * Construct a lambda handler from an `HttpApi` instance. | ||
| * | ||
| * @example | ||
| * ```ts | ||
| * import { LambdaHandler } from "@effect-aws/lambda" | ||
| * import { HttpApi, HttpApiBuilder, HttpServer } from "@effect/platform" | ||
| * import { Layer } from "effect" | ||
| * | ||
| * class MyApi extends HttpApi.make("api") {} | ||
| * | ||
| * const MyApiLive = HttpApiBuilder.api(MyApi) | ||
| * | ||
| * export const handler = LambdaHandler.fromHttpApi( | ||
| * Layer.mergeAll( | ||
| * MyApiLive, | ||
| * // you could also use NodeHttpServer.layerContext, depending on your | ||
| * // server's platform | ||
| * HttpServer.layerContext | ||
| * ) | ||
| * ) | ||
| * ``` | ||
| * | ||
| * @since 1.4.0 | ||
| * @category constructors | ||
| */ | ||
| export declare const fromHttpApi: <LA, LE>(layer: Layer.Layer<LA | HttpApi.Api | HttpRouter.HttpRouter.DefaultServices, LE>, options?: HttpApiOptions) => Handler<LambdaHandler.Event, LambdaHandler.Result>; | ||
| export {}; | ||
| //# sourceMappingURL=LambdaHandler.d.ts.map |
| {"version":3,"file":"LambdaHandler.d.ts","sourceRoot":"","sources":["../../src/LambdaHandler.ts"],"names":[],"mappings":"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"} |
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.fromHttpApi = exports.httpApiHandler = exports.makeWebHandler = exports.stream = exports.make = exports.context = exports.event = void 0; | ||
| const platform_1 = require("@effect/platform"); | ||
| const effect_1 = require("effect"); | ||
| const index_js_1 = require("./internal/index.js"); | ||
| const internal = __importStar(require("./internal/lambdaHandler.js")); | ||
| const stream_js_1 = require("./internal/stream.js"); | ||
| const utils_js_1 = require("./internal/utils.js"); | ||
| const LambdaRuntime = __importStar(require("./LambdaRuntime.js")); | ||
| /** | ||
| * @since 1.4.0 | ||
| * @category context | ||
| */ | ||
| const event = () => effect_1.Effect.map(effect_1.Effect.context(), (context) => effect_1.Context.unsafeGet(context, internal.lambdaEventTag)); | ||
| exports.event = event; | ||
| /** | ||
| * @since 1.4.0 | ||
| * @category context | ||
| */ | ||
| const context = () => effect_1.Effect.map(effect_1.Effect.context(), (context) => effect_1.Context.unsafeGet(context, internal.lambdaContextTag)); | ||
| exports.context = context; | ||
| /** | ||
| * Makes a lambda handler from the given EffectHandler and optional global layer. | ||
| * The global layer is used to provide a runtime which will gracefully handle lambda termination during down-scaling. | ||
| * | ||
| * @example | ||
| * import { LambdaHandler, LambdaContext } from "@effect-aws/lambda" | ||
| * import { Effect } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * export const handler = LambdaHandler.make(effectHandler); | ||
| * | ||
| * @example | ||
| * import { LambdaHandler, LambdaContext } from "@effect-aws/lambda" | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * export const handler = LambdaHandler.make({ | ||
| * handler: effectHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| */ | ||
| const make = (handlerOrOptions, globalLayer) => { | ||
| if (effect_1.Function.isFunction(handlerOrOptions)) { | ||
| // Deprecated case | ||
| if (globalLayer) { | ||
| const runtime = LambdaRuntime.fromLayer(globalLayer); | ||
| return async (event, context) => handlerOrOptions(event, context).pipe(runtime.runPromise); | ||
| } | ||
| return async (event, context) => handlerOrOptions(event, context).pipe(effect_1.Effect.runPromise); | ||
| } | ||
| const runtime = LambdaRuntime.fromLayer(handlerOrOptions.layer, { memoMap: handlerOrOptions.memoMap }); | ||
| return async (event, context) => { | ||
| context.callbackWaitsForEmptyEventLoop = false; | ||
| return handlerOrOptions.handler(event, context).pipe(runtime.runPromise); | ||
| }; | ||
| }; | ||
| exports.make = make; | ||
| /** | ||
| * Makes a streamify lambda handler from the given StreamHandler and optional global layer. | ||
| * The global layer is used to provide a runtime which will gracefully handle lambda termination during down-scaling. | ||
| * | ||
| * @example | ||
| * import { LambdaHandler, LambdaContext } from "@effect-aws/lambda" | ||
| * import { Stream } from "effect"; | ||
| * | ||
| * const streamHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Stream.make("1", "2", "3"); | ||
| * }; | ||
| * | ||
| * export const handler = LambdaHandler.stream(streamHandler); | ||
| * | ||
| * @example | ||
| * import { LambdaHandler, LambdaContext } from "@effect-aws/lambda" | ||
| * import { Stream, Logger } from "effect"; | ||
| * | ||
| * const streamHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Stream.make("1", "2", "3"); | ||
| * }; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * export const handler = LambdaHandler.stream({ | ||
| * handler: streamHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * | ||
| * @since 1.5.0 | ||
| * @category constructors | ||
| */ | ||
| const stream = (handlerOrOptions) => { | ||
| if (effect_1.Function.isFunction(handlerOrOptions)) { | ||
| return global.awslambda?.streamifyResponse(async (event, responseStream, context) => handlerOrOptions(event, context).pipe((0, stream_js_1.pipeTo)(responseStream, { end: true }), effect_1.Effect.runPromise)); | ||
| } | ||
| const runtime = LambdaRuntime.fromLayer(handlerOrOptions.layer, { memoMap: handlerOrOptions.memoMap }); | ||
| return global.awslambda?.streamifyResponse(async (event, responseStream, context) => { | ||
| context.callbackWaitsForEmptyEventLoop = false; | ||
| return handlerOrOptions.handler(event, context).pipe((0, stream_js_1.pipeTo)(responseStream, { end: true }), runtime.runPromise); | ||
| }); | ||
| }; | ||
| exports.stream = stream; | ||
| const WebHandler = effect_1.Context.GenericTag("@effect-aws/lambda/WebHandler"); | ||
| /** | ||
| * Construct an `WebHandler` from an `HttpApi` instance. | ||
| * | ||
| * @since 1.4.0 | ||
| * @category constructors | ||
| */ | ||
| const makeWebHandler = (options) => effect_1.Effect.gen(function* () { | ||
| const app = yield* platform_1.HttpApiBuilder.httpApp; | ||
| const rt = yield* effect_1.Effect.runtime(); | ||
| return platform_1.HttpApp.toWebHandlerRuntime(rt)(options?.middleware ? options.middleware(app) : app); | ||
| }); | ||
| exports.makeWebHandler = makeWebHandler; | ||
| /** | ||
| * Construct an `EffectHandler` from an `HttpApi` instance. | ||
| * | ||
| * @since 1.4.0 | ||
| * @category constructors | ||
| */ | ||
| const httpApiHandler = (options) => (event, context) => effect_1.Effect.gen(function* () { | ||
| const eventSource = (0, index_js_1.getEventSource)(event); | ||
| const requestValues = eventSource.getRequest(event); | ||
| const req = new Request(`https://${requestValues.remoteAddress}${requestValues.path}`, { | ||
| method: requestValues.method, | ||
| headers: requestValues.headers, | ||
| body: requestValues.body, | ||
| }); | ||
| const res = yield* (0, exports.makeWebHandler)(options).pipe(effect_1.Effect.provideService(internal.lambdaEventTag, event), effect_1.Effect.provideService(internal.lambdaContextTag, context), effect_1.Effect.andThen((handler) => handler(req))); | ||
| const contentType = res.headers.get("content-type"); | ||
| let isBase64Encoded = contentType && (0, utils_js_1.isContentTypeBinary)(contentType) ? true : false; | ||
| if (!isBase64Encoded) { | ||
| const contentEncoding = res.headers.get("content-encoding"); | ||
| isBase64Encoded = (0, utils_js_1.isContentEncodingBinary)(contentEncoding); | ||
| } | ||
| const body = isBase64Encoded | ||
| ? (0, utils_js_1.encodeBase64)(yield* effect_1.Effect.promise(() => res.arrayBuffer())) | ||
| : yield* effect_1.Effect.promise(() => res.text()); | ||
| const headers = {}; | ||
| if (res.headers.has("set-cookie")) { | ||
| const cookies = res.headers.getSetCookie | ||
| ? res.headers.getSetCookie() | ||
| : Array.from(res.headers.entries()) | ||
| .filter(([k]) => k === "set-cookie") | ||
| .map(([, v]) => v); | ||
| if (Array.isArray(cookies)) { | ||
| headers["set-cookie"] = cookies; | ||
| res.headers.delete("set-cookie"); | ||
| } | ||
| } | ||
| res.headers.forEach((value, key) => { | ||
| headers[key] = value; | ||
| }); | ||
| return eventSource.getResponse({ | ||
| event, | ||
| statusCode: res.status, | ||
| body, | ||
| headers, | ||
| isBase64Encoded, | ||
| }); | ||
| }); | ||
| exports.httpApiHandler = httpApiHandler; | ||
| /** | ||
| * Construct a lambda handler from an `HttpApi` instance. | ||
| * | ||
| * @example | ||
| * ```ts | ||
| * import { LambdaHandler } from "@effect-aws/lambda" | ||
| * import { HttpApi, HttpApiBuilder, HttpServer } from "@effect/platform" | ||
| * import { Layer } from "effect" | ||
| * | ||
| * class MyApi extends HttpApi.make("api") {} | ||
| * | ||
| * const MyApiLive = HttpApiBuilder.api(MyApi) | ||
| * | ||
| * export const handler = LambdaHandler.fromHttpApi( | ||
| * Layer.mergeAll( | ||
| * MyApiLive, | ||
| * // you could also use NodeHttpServer.layerContext, depending on your | ||
| * // server's platform | ||
| * HttpServer.layerContext | ||
| * ) | ||
| * ) | ||
| * ``` | ||
| * | ||
| * @since 1.4.0 | ||
| * @category constructors | ||
| */ | ||
| const fromHttpApi = (layer, options) => { | ||
| const httpApiLayer = effect_1.Layer.mergeAll(layer, platform_1.HttpApiBuilder.Router.Live, platform_1.HttpApiBuilder.Middleware.layer); | ||
| return (0, exports.make)({ handler: (0, exports.httpApiHandler)(options), layer: httpApiLayer, memoMap: options?.memoMap }); | ||
| }; | ||
| exports.fromHttpApi = fromHttpApi; | ||
| //# sourceMappingURL=LambdaHandler.js.map |
| {"version":3,"file":"LambdaHandler.js","sourceRoot":"","sources":["../../src/LambdaHandler.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * @since 1.0.0 | ||
| */ | ||
| import type { Layer } from "effect"; | ||
| import { ManagedRuntime } from "effect"; | ||
| /** | ||
| * Makes a managed runtime from a layer asynchronously, designed for AWS Lambda. | ||
| * All finalizers will be executed on process termination or interruption. | ||
| * | ||
| * @example | ||
| * import { LambdaRuntime, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * const lambdaRuntime = LambdaRuntime.fromLayer(LambdaLayer); | ||
| * | ||
| * export const handler = async (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!").pipe(lambdaRuntime.runPromise); | ||
| * }; | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| */ | ||
| export declare const fromLayer: <R, E>(layer: Layer.Layer<R, E>, options?: { | ||
| readonly memoMap?: Layer.MemoMap; | ||
| }) => ManagedRuntime.ManagedRuntime<R, E>; | ||
| //# sourceMappingURL=LambdaRuntime.d.ts.map |
| {"version":3,"file":"LambdaRuntime.d.ts","sourceRoot":"","sources":["../../src/LambdaRuntime.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAmB,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,SAAS,gBACb,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,YACd;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,KAC7C,eAAe,cAAc,CAAC,CAAC,EAAE,CAAC,CAmBpC,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.fromLayer = void 0; | ||
| const effect_1 = require("effect"); | ||
| /** | ||
| * Makes a managed runtime from a layer asynchronously, designed for AWS Lambda. | ||
| * All finalizers will be executed on process termination or interruption. | ||
| * | ||
| * @example | ||
| * import { LambdaRuntime, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * const lambdaRuntime = LambdaRuntime.fromLayer(LambdaLayer); | ||
| * | ||
| * export const handler = async (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!").pipe(lambdaRuntime.runPromise); | ||
| * }; | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| */ | ||
| const fromLayer = (layer, options) => { | ||
| const rt = effect_1.ManagedRuntime.make(layer, options?.memoMap); | ||
| const signalHandler = (signal) => { | ||
| effect_1.Effect.runFork(effect_1.Effect.gen(function* () { | ||
| yield* effect_1.Console.log(`[runtime] ${signal} received`); | ||
| yield* effect_1.Console.log("[runtime] cleaning up"); | ||
| yield* rt.disposeEffect; | ||
| yield* effect_1.Console.log("[runtime] exiting"); | ||
| yield* effect_1.Effect.sync(() => process.exit(0)); | ||
| })); | ||
| }; | ||
| process.on("SIGTERM", signalHandler); | ||
| process.on("SIGINT", signalHandler); | ||
| return rt; | ||
| }; | ||
| exports.fromLayer = fromLayer; | ||
| //# sourceMappingURL=LambdaRuntime.js.map |
| {"version":3,"file":"LambdaRuntime.js","sourceRoot":"","sources":["../../src/LambdaRuntime.ts"],"names":[],"mappings":";;;AAIA,mCAAyD;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AACI,MAAM,SAAS,GAAG,CACvB,KAAwB,EACxB,OAA8C,EACT,EAAE;IACvC,MAAM,EAAE,GAAG,uBAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,aAAa,GAA2B,CAAC,MAAM,EAAE,EAAE;QACvD,eAAM,CAAC,OAAO,CACZ,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,KAAK,CAAC,CAAC,gBAAO,CAAC,GAAG,CAAC,aAAa,MAAM,WAAW,CAAC,CAAC;YACnD,KAAK,CAAC,CAAC,gBAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAC5C,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC;YACxB,KAAK,CAAC,CAAC,gBAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACxC,KAAK,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEpC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAtBW,QAAA,SAAS,aAsBpB"} |
| /** | ||
| * @since 1.0.0 | ||
| */ | ||
| import type { ALBEvent, ALBResult, APIGatewayProxyEvent, APIGatewayProxyEventV2, APIGatewayProxyResult, APIGatewayProxyResultV2, CloudFrontRequestEvent, Context, DynamoDBStreamEvent, EventBridgeEvent, KinesisStreamEvent, S3Event, SelfManagedKafkaEvent, SNSEvent, SQSEvent } from "aws-lambda"; | ||
| import type { Layer, Stream } from "effect"; | ||
| import type * as Effect from "effect/Effect"; | ||
| declare global { | ||
| namespace awslambda { | ||
| function streamifyResponse<T, A>(f: StreamifyHandler<T>): Handler<T, A>; | ||
| } | ||
| } | ||
| /** | ||
| * AWS Lambda native handler type. | ||
| * | ||
| * @since 1.0.0 | ||
| * @category model | ||
| */ | ||
| export type Handler<TEvent = unknown, TResult = any> = (event: TEvent, context: Context) => Promise<TResult>; | ||
| /** | ||
| * AWS Lambda native streamify handler type. | ||
| * | ||
| * @since 1.5.0 | ||
| * @category model | ||
| */ | ||
| export type StreamifyHandler<TEvent = unknown> = (event: TEvent, responseStream: awslambda.HttpResponseStream, context: Context) => Promise<void>; | ||
| /** | ||
| * Effectful AWS Lambda handler type. | ||
| * | ||
| * @since 1.0.0 | ||
| * @category model | ||
| */ | ||
| export type EffectHandler<T, R, E = never, A = void> = (event: T, context: Context) => Effect.Effect<A, E, R>; | ||
| /** | ||
| * Combined object of an EffectHandler and a global layer. | ||
| * | ||
| * @param {EffectHandler<T, R, E1, A>} handler - The effectful handler function. | ||
| * @param {Layer.Layer<R, E2>} layer - The global layer to provide to the handler. | ||
| * | ||
| * @since 1.0.0 | ||
| * @category model | ||
| */ | ||
| export type EffectHandlerWithLayer<T, R, E1 = never, E2 = never, A = void> = { | ||
| readonly handler: EffectHandler<T, R, E1, A>; | ||
| readonly layer: Layer.Layer<R, E2>; | ||
| readonly memoMap?: Layer.MemoMap; | ||
| }; | ||
| /** | ||
| * Effectful streamed AWS Lambda handler type. | ||
| * | ||
| * @since 1.5.0 | ||
| * @category model | ||
| */ | ||
| export type StreamHandler<T, R, E = never, A = string | Uint8Array> = (event: T, context: Context) => Stream.Stream<A, E, R>; | ||
| /** | ||
| * Combined object of an StreamHandler and a global layer. | ||
| * | ||
| * @param {StreamHandler<T, R, E1, A>} handler - The effectful streamed handler function. | ||
| * @param {Layer.Layer<R, E2>} layer - The global layer to provide to the handler. | ||
| * | ||
| * @since 1.5.0 | ||
| * @category model | ||
| */ | ||
| export type StreamHandlerWithLayer<T, R, E1 = never, E2 = never, A = string | Uint8Array> = { | ||
| readonly handler: StreamHandler<T, R, E1, A>; | ||
| readonly layer: Layer.Layer<R, E2>; | ||
| readonly memoMap?: Layer.MemoMap; | ||
| }; | ||
| export { | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| ALBEvent, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| ALBResult, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| APIGatewayProxyEvent, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| APIGatewayProxyEventV2, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| APIGatewayProxyResult, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| APIGatewayProxyResultV2, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| CloudFrontRequestEvent, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| Context as LambdaContext, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| DynamoDBStreamEvent, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| EventBridgeEvent, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| KinesisStreamEvent, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| S3Event, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| SelfManagedKafkaEvent, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| SNSEvent, | ||
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| SQSEvent, }; | ||
| //# sourceMappingURL=Types.d.ts.map |
| {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../src/Types.ts"],"names":[],"mappings":"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"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=Types.js.map |
| {"version":3,"file":"Types.js","sourceRoot":"","sources":["../../src/Types.ts"],"names":[],"mappings":""} |
| /** | ||
| * Makes a lambda handler from the given EffectHandler and optional global layer. | ||
| * The global layer is used to provide a runtime which will gracefully handle lambda termination during down-scaling. | ||
| * | ||
| * @example | ||
| * import { makeLambda, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * export const handler = makeLambda(effectHandler); | ||
| * | ||
| * @example | ||
| * import { makeLambda, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * export const handler = makeLambda({ | ||
| * handler: effectHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| * @deprecated Use `LambdaHandler.make` instead. | ||
| */ | ||
| export declare const makeLambda: { | ||
| <T, R, E1, E2, A>(options: import("./Types.js").EffectHandlerWithLayer<T, R, E1, E2, A>): import("./Types.js").Handler<T, A>; | ||
| <T_1, E, A_1>(handler: import("./Types.js").EffectHandler<T_1, never, E, A_1>): import("./Types.js").Handler<T_1, A_1>; | ||
| <T_2, R_1, E1_1, E2_1, A_2>(handler: import("./Types.js").EffectHandler<T_2, R_1, E1_1, A_2>, globalLayer: import("effect/Layer").Layer<R_1, E2_1, never>): import("./Types.js").Handler<T_2, A_2>; | ||
| }; | ||
| /** | ||
| * Makes a managed runtime from a layer asynchronously, designed for AWS Lambda. | ||
| * All finalizers will be executed on process termination or interruption. | ||
| * | ||
| * @example | ||
| * import { fromLayer, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * const lambdaRuntime = fromLayer(LambdaLayer); | ||
| * | ||
| * export const handler = async (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!").pipe(lambdaRuntime.runPromise); | ||
| * }; | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| * @deprecated Use `LambdaRuntime.fromLayer` instead. | ||
| */ | ||
| export declare const fromLayer: <R, E>(layer: import("effect/Layer").Layer<R, E, never>, options?: { | ||
| readonly memoMap?: import("effect/Layer").MemoMap | undefined; | ||
| } | undefined) => import("effect/ManagedRuntime").ManagedRuntime<R, E>; | ||
| //# sourceMappingURL=Compatibility.d.ts.map |
| {"version":3,"file":"Compatibility.d.ts","sourceRoot":"","sources":["../../src/Compatibility.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,UAAU;;;;CAAqB,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,SAAS;;sEAA0B,CAAC"} |
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| import * as LambdaHandler from "./LambdaHandler.js"; | ||
| import * as LambdaRuntime from "./LambdaRuntime.js"; | ||
| /** | ||
| * Makes a lambda handler from the given EffectHandler and optional global layer. | ||
| * The global layer is used to provide a runtime which will gracefully handle lambda termination during down-scaling. | ||
| * | ||
| * @example | ||
| * import { makeLambda, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * export const handler = makeLambda(effectHandler); | ||
| * | ||
| * @example | ||
| * import { makeLambda, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * export const handler = makeLambda({ | ||
| * handler: effectHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| * @deprecated Use `LambdaHandler.make` instead. | ||
| */ | ||
| export const makeLambda = LambdaHandler.make; | ||
| /** | ||
| * Makes a managed runtime from a layer asynchronously, designed for AWS Lambda. | ||
| * All finalizers will be executed on process termination or interruption. | ||
| * | ||
| * @example | ||
| * import { fromLayer, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * const lambdaRuntime = fromLayer(LambdaLayer); | ||
| * | ||
| * export const handler = async (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!").pipe(lambdaRuntime.runPromise); | ||
| * }; | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| * @deprecated Use `LambdaRuntime.fromLayer` instead. | ||
| */ | ||
| export const fromLayer = LambdaRuntime.fromLayer; | ||
| //# sourceMappingURL=Compatibility.js.map |
| {"version":3,"file":"Compatibility.js","sourceRoot":"","sources":["../../src/Compatibility.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC"} |
| /** | ||
| * @since 1.4.0 | ||
| */ | ||
| import * as LambdaHandler from "./LambdaHandler.js"; | ||
| import * as LambdaRuntime from "./LambdaRuntime.js"; | ||
| /** | ||
| * Makes a lambda handler from the given EffectHandler and optional global layer. | ||
| * The global layer is used to provide a runtime which will gracefully handle lambda termination during down-scaling. | ||
| * | ||
| * @example | ||
| * import { makeLambda, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * export const handler = makeLambda(effectHandler); | ||
| * | ||
| * @example | ||
| * import { makeLambda, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const effectHandler = (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!"); | ||
| * }; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * export const handler = makeLambda({ | ||
| * handler: effectHandler, | ||
| * layer: LambdaLayer, | ||
| * }); | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| * @deprecated Use `LambdaHandler.make` instead. | ||
| */ | ||
| export const makeLambda = LambdaHandler.make; | ||
| /** | ||
| * Makes a managed runtime from a layer asynchronously, designed for AWS Lambda. | ||
| * All finalizers will be executed on process termination or interruption. | ||
| * | ||
| * @example | ||
| * import { fromLayer, LambdaContext } from "@effect-aws/lambda"; | ||
| * import { Effect, Logger } from "effect"; | ||
| * | ||
| * const LambdaLayer = Logger.replace(Logger.defaultLogger, Logger.logfmtLogger); | ||
| * | ||
| * const lambdaRuntime = fromLayer(LambdaLayer); | ||
| * | ||
| * export const handler = async (event: unknown, context: LambdaContext) => { | ||
| * return Effect.logInfo("Hello, world!").pipe(lambdaRuntime.runPromise); | ||
| * }; | ||
| * | ||
| * @since 1.0.0 | ||
| * @category constructors | ||
| * @deprecated Use `LambdaRuntime.fromLayer` instead. | ||
| */ | ||
| export const fromLayer = LambdaRuntime.fromLayer; |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
2
-33.33%116
2.65%124635
-45.97%107
-45.69%2401
-42.34%1
Infinity%