@effect-aws/client-lambda 1.7.0 → 1.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/Errors/package.json +6 -0
  2. package/LambdaClientInstance/package.json +6 -0
  3. package/LambdaService/package.json +6 -0
  4. package/LambdaServiceConfig/package.json +6 -0
  5. package/{lib → dist/cjs}/Errors.d.ts +6 -11
  6. package/dist/cjs/Errors.d.ts.map +1 -0
  7. package/dist/cjs/Errors.js +46 -0
  8. package/dist/cjs/Errors.js.map +1 -0
  9. package/dist/cjs/LambdaClientInstance.d.ts +24 -0
  10. package/dist/cjs/LambdaClientInstance.d.ts.map +1 -0
  11. package/dist/cjs/LambdaClientInstance.js +50 -0
  12. package/dist/cjs/LambdaClientInstance.js.map +1 -0
  13. package/dist/cjs/LambdaService.d.ts +313 -0
  14. package/dist/cjs/LambdaService.d.ts.map +1 -0
  15. package/dist/cjs/LambdaService.js +127 -0
  16. package/dist/cjs/LambdaService.js.map +1 -0
  17. package/dist/cjs/LambdaServiceConfig.d.ts +25 -0
  18. package/dist/cjs/LambdaServiceConfig.d.ts.map +1 -0
  19. package/dist/cjs/LambdaServiceConfig.js +35 -0
  20. package/dist/cjs/LambdaServiceConfig.js.map +1 -0
  21. package/dist/cjs/index.d.ts +39 -0
  22. package/dist/cjs/index.d.ts.map +1 -0
  23. package/dist/cjs/index.js +56 -0
  24. package/dist/cjs/index.js.map +1 -0
  25. package/dist/dts/Errors.d.ts +45 -0
  26. package/dist/dts/Errors.d.ts.map +1 -0
  27. package/dist/dts/LambdaClientInstance.d.ts +24 -0
  28. package/dist/dts/LambdaClientInstance.d.ts.map +1 -0
  29. package/dist/dts/LambdaService.d.ts +313 -0
  30. package/dist/dts/LambdaService.d.ts.map +1 -0
  31. package/dist/dts/LambdaServiceConfig.d.ts +25 -0
  32. package/dist/dts/LambdaServiceConfig.d.ts.map +1 -0
  33. package/dist/dts/index.d.ts +39 -0
  34. package/dist/dts/index.d.ts.map +1 -0
  35. package/dist/esm/Errors.js +43 -0
  36. package/dist/esm/Errors.js.map +1 -0
  37. package/dist/esm/LambdaClientInstance.js +23 -0
  38. package/dist/esm/LambdaClientInstance.js.map +1 -0
  39. package/dist/esm/LambdaService.js +100 -0
  40. package/dist/esm/LambdaService.js.map +1 -0
  41. package/dist/esm/LambdaServiceConfig.js +31 -0
  42. package/dist/esm/LambdaServiceConfig.js.map +1 -0
  43. package/dist/esm/index.js +27 -0
  44. package/dist/esm/index.js.map +1 -0
  45. package/dist/esm/package.json +4 -0
  46. package/package.json +60 -43
  47. package/src/Errors.ts +125 -0
  48. package/src/LambdaClientInstance.ts +33 -0
  49. package/src/LambdaService.ts +1380 -0
  50. package/src/LambdaServiceConfig.ts +52 -0
  51. package/src/index.ts +44 -0
  52. package/CHANGELOG.md +0 -109
  53. package/docgen.json +0 -8
  54. package/lib/Errors.js +0 -46
  55. package/lib/LambdaClientInstance.d.ts +0 -31
  56. package/lib/LambdaClientInstance.js +0 -57
  57. package/lib/LambdaClientInstanceConfig.d.ts +0 -23
  58. package/lib/LambdaClientInstanceConfig.js +0 -44
  59. package/lib/LambdaService.d.ts +0 -405
  60. package/lib/LambdaService.js +0 -156
  61. package/lib/esm/Errors.js +0 -43
  62. package/lib/esm/LambdaClientInstance.js +0 -30
  63. package/lib/esm/LambdaClientInstanceConfig.js +0 -40
  64. package/lib/esm/LambdaService.js +0 -152
  65. package/lib/esm/index.js +0 -5
  66. package/lib/index.d.ts +0 -4
  67. package/lib/index.js +0 -21
  68. package/project.json +0 -77
  69. package/vitest.config.ts +0 -3
@@ -0,0 +1,31 @@
1
+ import { ServiceLogger } from "@effect-aws/commons";
2
+ import { Effect, FiberRef, Layer } from "effect";
3
+ import { dual } from "effect/Function";
4
+ import { globalValue } from "effect/GlobalValue";
5
+ /**
6
+ * @since 1.0.0
7
+ * @category lambda service config
8
+ */
9
+ const currentLambdaServiceConfig = globalValue("@effect-aws/client-lambda/currentLambdaServiceConfig", () => FiberRef.unsafeMake({}));
10
+ /**
11
+ * @since 1.0.0
12
+ * @category lambda service config
13
+ */
14
+ export const withLambdaServiceConfig = dual(2, (effect, config) => Effect.locally(effect, currentLambdaServiceConfig, config));
15
+ /**
16
+ * @since 1.0.0
17
+ * @category lambda service config
18
+ */
19
+ export const setLambdaServiceConfig = (config) => Layer.locallyScoped(currentLambdaServiceConfig, config);
20
+ /**
21
+ * @since 1.0.0
22
+ * @category adapters
23
+ */
24
+ export const toLambdaClientConfig = Effect.gen(function* () {
25
+ const { logger: serviceLogger, ...config } = yield* FiberRef.get(currentLambdaServiceConfig);
26
+ const logger = serviceLogger === true
27
+ ? yield* ServiceLogger.toClientLogger(ServiceLogger.defaultServiceLogger)
28
+ : (serviceLogger ? yield* ServiceLogger.toClientLogger(ServiceLogger.make(serviceLogger)) : undefined);
29
+ return { logger, ...config };
30
+ });
31
+ //# sourceMappingURL=LambdaServiceConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LambdaServiceConfig.js","sourceRoot":"","sources":["../../src/LambdaServiceConfig.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;GAGG;AACH,MAAM,0BAA0B,GAAG,WAAW,CAC5C,sDAAsD,EACtD,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAuB,EAAE,CAAC,CACpD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAGhC,IAAI,CACN,CAAC,EACD,CAAU,MAA8B,EAAE,MAA4B,EAA0B,EAAE,CAChG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAC7D,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAA4B,EAAE,EAAE,CACrE,KAAK,CAAC,aAAa,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACzF,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAE7F,MAAM,MAAM,GAAG,aAAa,KAAK,IAAI;QACnC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,oBAAoB,CAAC;QACzE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { LambdaService } from "./LambdaService.js";
5
+ /**
6
+ * @since 1.0.0
7
+ */
8
+ export * from "./Errors.js";
9
+ /**
10
+ * @since 1.0.0
11
+ */
12
+ export * as LambdaClientInstance from "./LambdaClientInstance.js";
13
+ /**
14
+ * @since 1.0.0
15
+ */
16
+ export * as LambdaServiceConfig from "./LambdaServiceConfig.js";
17
+ /**
18
+ * @since 1.0.0
19
+ */
20
+ export * from "./LambdaService.js";
21
+ /**
22
+ * @since 1.0.0
23
+ * @category exports
24
+ * @alias LambdaService
25
+ */
26
+ export const Lambda = LambdaService;
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,cAAc,aAAa,CAAC;AAE5B;;GAEG;AACH,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AAElE;;GAEG;AACH,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAEhE;;GAEG;AACH,cAAc,oBAAoB,CAAC;AAenC;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": []
4
+ }
package/package.json CHANGED
@@ -1,54 +1,71 @@
1
1
  {
2
2
  "name": "@effect-aws/client-lambda",
3
+ "version": "1.9.3",
4
+ "description": "Effectful AWS Lambda client",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "github:floydspace/effect-aws",
9
+ "directory": "packages/client-lambda"
10
+ },
11
+ "sideEffects": [],
3
12
  "author": {
4
13
  "name": "Victor Korzunin",
5
- "email": "ifloydrose@gmail.com",
6
- "organization": false
14
+ "email": "ifloydrose@gmail.com"
7
15
  },
8
- "devDependencies": {
9
- "@types/node": "^18",
10
- "@typescript-eslint/eslint-plugin": "^7",
11
- "@typescript-eslint/parser": "^7",
12
- "aws-sdk-client-mock": "^4.0.2",
13
- "aws-sdk-client-mock-vitest": "^4.0.0",
14
- "effect": "3.0.0",
15
- "eslint": "^8",
16
- "eslint-config-prettier": "^9.1.0",
17
- "eslint-import-resolver-typescript": "^3.6.1",
18
- "eslint-plugin-import": "^2.29.1",
19
- "eslint-plugin-prettier": "^5.2.1",
20
- "prettier": "^3.2.5",
21
- "typescript": "^5.4.2",
22
- "vitest": "^2.0.5"
16
+ "homepage": "https://floydspace.github.io/effect-aws/docs/client-lambda",
17
+ "dependencies": {
18
+ "@aws-sdk/client-lambda": "^3",
19
+ "@effect-aws/commons": "^0.2.0"
23
20
  },
24
21
  "peerDependencies": {
25
- "effect": ">=3.0.0 <4.0.0"
22
+ "effect": ">=3.0.4 <4.0.0"
26
23
  },
27
- "dependencies": {
28
- "@aws-sdk/client-lambda": "^3"
29
- },
30
- "main": "lib/index.js",
31
- "license": "MIT",
32
- "homepage": "https://floydspace.github.io/effect-aws",
33
- "publishConfig": {
34
- "access": "public"
24
+ "main": "./dist/cjs/index.js",
25
+ "module": "./dist/esm/index.js",
26
+ "types": "./dist/dts/index.d.ts",
27
+ "exports": {
28
+ "./package.json": "./package.json",
29
+ ".": {
30
+ "types": "./dist/dts/index.d.ts",
31
+ "import": "./dist/esm/index.js",
32
+ "default": "./dist/cjs/index.js"
33
+ },
34
+ "./Errors": {
35
+ "types": "./dist/dts/Errors.d.ts",
36
+ "import": "./dist/esm/Errors.js",
37
+ "default": "./dist/cjs/Errors.js"
38
+ },
39
+ "./LambdaClientInstance": {
40
+ "types": "./dist/dts/LambdaClientInstance.d.ts",
41
+ "import": "./dist/esm/LambdaClientInstance.js",
42
+ "default": "./dist/cjs/LambdaClientInstance.js"
43
+ },
44
+ "./LambdaService": {
45
+ "types": "./dist/dts/LambdaService.d.ts",
46
+ "import": "./dist/esm/LambdaService.js",
47
+ "default": "./dist/cjs/LambdaService.js"
48
+ },
49
+ "./LambdaServiceConfig": {
50
+ "types": "./dist/dts/LambdaServiceConfig.d.ts",
51
+ "import": "./dist/esm/LambdaServiceConfig.js",
52
+ "default": "./dist/cjs/LambdaServiceConfig.js"
53
+ }
35
54
  },
36
- "version": "1.7.0",
37
- "types": "lib/index.d.ts",
38
- "module": "lib/esm/index.js",
39
- "sideEffects": [],
40
- "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",
41
- "scripts": {
42
- "build": "npx projen build",
43
- "compile": "npx projen compile",
44
- "default": "npx projen default",
45
- "eslint": "npx projen eslint",
46
- "package": "npx projen package",
47
- "post-compile": "npx projen post-compile",
48
- "pre-compile": "npx projen pre-compile",
49
- "test": "npx projen test",
50
- "test:watch": "npx projen test:watch",
51
- "watch": "npx projen watch",
52
- "docgen": "docgen"
55
+ "typesVersions": {
56
+ "*": {
57
+ "Errors": [
58
+ "./dist/dts/Errors.d.ts"
59
+ ],
60
+ "LambdaClientInstance": [
61
+ "./dist/dts/LambdaClientInstance.d.ts"
62
+ ],
63
+ "LambdaService": [
64
+ "./dist/dts/LambdaService.d.ts"
65
+ ],
66
+ "LambdaServiceConfig": [
67
+ "./dist/dts/LambdaServiceConfig.d.ts"
68
+ ]
69
+ }
53
70
  }
54
71
  }
package/src/Errors.ts ADDED
@@ -0,0 +1,125 @@
1
+ import type {
2
+ CodeSigningConfigNotFoundException,
3
+ CodeStorageExceededException,
4
+ CodeVerificationFailedException,
5
+ EC2AccessDeniedException,
6
+ EC2ThrottledException,
7
+ EC2UnexpectedException,
8
+ EFSIOException,
9
+ EFSMountConnectivityException,
10
+ EFSMountFailureException,
11
+ EFSMountTimeoutException,
12
+ ENILimitReachedException,
13
+ InvalidCodeSignatureException,
14
+ InvalidParameterValueException,
15
+ InvalidRequestContentException,
16
+ InvalidRuntimeException,
17
+ InvalidSecurityGroupIDException,
18
+ InvalidSubnetIDException,
19
+ InvalidZipFileException,
20
+ KMSAccessDeniedException,
21
+ KMSDisabledException,
22
+ KMSInvalidStateException,
23
+ KMSNotFoundException,
24
+ PolicyLengthExceededException,
25
+ PreconditionFailedException,
26
+ ProvisionedConcurrencyConfigNotFoundException,
27
+ RecursiveInvocationException,
28
+ RequestTooLargeException,
29
+ ResourceConflictException,
30
+ ResourceInUseException,
31
+ ResourceNotFoundException,
32
+ ResourceNotReadyException,
33
+ ServiceException,
34
+ SnapStartException,
35
+ SnapStartNotReadyException,
36
+ SnapStartTimeoutException,
37
+ SubnetIPAddressLimitReachedException,
38
+ TooManyRequestsException,
39
+ UnsupportedMediaTypeException,
40
+ } from "@aws-sdk/client-lambda";
41
+ import type { TaggedException } from "@effect-aws/commons";
42
+ import { SdkError as CommonSdkError } from "@effect-aws/commons";
43
+
44
+ export const AllServiceErrors = [
45
+ "CodeSigningConfigNotFoundException",
46
+ "CodeStorageExceededException",
47
+ "CodeVerificationFailedException",
48
+ "EC2AccessDeniedException",
49
+ "EC2ThrottledException",
50
+ "EC2UnexpectedException",
51
+ "EFSIOException",
52
+ "EFSMountConnectivityException",
53
+ "EFSMountFailureException",
54
+ "EFSMountTimeoutException",
55
+ "ENILimitReachedException",
56
+ "InvalidCodeSignatureException",
57
+ "InvalidParameterValueException",
58
+ "InvalidRequestContentException",
59
+ "InvalidRuntimeException",
60
+ "InvalidSecurityGroupIDException",
61
+ "InvalidSubnetIDException",
62
+ "InvalidZipFileException",
63
+ "KMSAccessDeniedException",
64
+ "KMSDisabledException",
65
+ "KMSInvalidStateException",
66
+ "KMSNotFoundException",
67
+ "PolicyLengthExceededException",
68
+ "PreconditionFailedException",
69
+ "ProvisionedConcurrencyConfigNotFoundException",
70
+ "RecursiveInvocationException",
71
+ "RequestTooLargeException",
72
+ "ResourceConflictException",
73
+ "ResourceInUseException",
74
+ "ResourceNotFoundException",
75
+ "ResourceNotReadyException",
76
+ "ServiceException",
77
+ "SnapStartException",
78
+ "SnapStartNotReadyException",
79
+ "SnapStartTimeoutException",
80
+ "SubnetIPAddressLimitReachedException",
81
+ "TooManyRequestsException",
82
+ "UnsupportedMediaTypeException",
83
+ ] as const;
84
+
85
+ export type CodeSigningConfigNotFoundError = TaggedException<CodeSigningConfigNotFoundException>;
86
+ export type CodeStorageExceededError = TaggedException<CodeStorageExceededException>;
87
+ export type CodeVerificationFailedError = TaggedException<CodeVerificationFailedException>;
88
+ export type EC2AccessDeniedError = TaggedException<EC2AccessDeniedException>;
89
+ export type EC2ThrottledError = TaggedException<EC2ThrottledException>;
90
+ export type EC2UnexpectedError = TaggedException<EC2UnexpectedException>;
91
+ export type EFSIOError = TaggedException<EFSIOException>;
92
+ export type EFSMountConnectivityError = TaggedException<EFSMountConnectivityException>;
93
+ export type EFSMountFailureError = TaggedException<EFSMountFailureException>;
94
+ export type EFSMountTimeoutError = TaggedException<EFSMountTimeoutException>;
95
+ export type ENILimitReachedError = TaggedException<ENILimitReachedException>;
96
+ export type InvalidCodeSignatureError = TaggedException<InvalidCodeSignatureException>;
97
+ export type InvalidParameterValueError = TaggedException<InvalidParameterValueException>;
98
+ export type InvalidRequestContentError = TaggedException<InvalidRequestContentException>;
99
+ export type InvalidRuntimeError = TaggedException<InvalidRuntimeException>;
100
+ export type InvalidSecurityGroupIDError = TaggedException<InvalidSecurityGroupIDException>;
101
+ export type InvalidSubnetIDError = TaggedException<InvalidSubnetIDException>;
102
+ export type InvalidZipFileError = TaggedException<InvalidZipFileException>;
103
+ export type KMSAccessDeniedError = TaggedException<KMSAccessDeniedException>;
104
+ export type KMSDisabledError = TaggedException<KMSDisabledException>;
105
+ export type KMSInvalidStateError = TaggedException<KMSInvalidStateException>;
106
+ export type KMSNotFoundError = TaggedException<KMSNotFoundException>;
107
+ export type PolicyLengthExceededError = TaggedException<PolicyLengthExceededException>;
108
+ export type PreconditionFailedError = TaggedException<PreconditionFailedException>;
109
+ export type ProvisionedConcurrencyConfigNotFoundError = TaggedException<ProvisionedConcurrencyConfigNotFoundException>;
110
+ export type RecursiveInvocationError = TaggedException<RecursiveInvocationException>;
111
+ export type RequestTooLargeError = TaggedException<RequestTooLargeException>;
112
+ export type ResourceConflictError = TaggedException<ResourceConflictException>;
113
+ export type ResourceInUseError = TaggedException<ResourceInUseException>;
114
+ export type ResourceNotFoundError = TaggedException<ResourceNotFoundException>;
115
+ export type ResourceNotReadyError = TaggedException<ResourceNotReadyException>;
116
+ export type ServiceError = TaggedException<ServiceException>;
117
+ export type SnapStartError = TaggedException<SnapStartException>;
118
+ export type SnapStartNotReadyError = TaggedException<SnapStartNotReadyException>;
119
+ export type SnapStartTimeoutError = TaggedException<SnapStartTimeoutException>;
120
+ export type SubnetIPAddressLimitReachedError = TaggedException<SubnetIPAddressLimitReachedException>;
121
+ export type TooManyRequestsError = TaggedException<TooManyRequestsException>;
122
+ export type UnsupportedMediaTypeError = TaggedException<UnsupportedMediaTypeException>;
123
+
124
+ export type SdkError = CommonSdkError;
125
+ export const SdkError = CommonSdkError;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { LambdaClient } from "@aws-sdk/client-lambda";
5
+ import { Context, Effect, Layer } from "effect";
6
+ import * as LambdaServiceConfig from "./LambdaServiceConfig.js";
7
+
8
+ /**
9
+ * @since 1.0.0
10
+ * @category tags
11
+ */
12
+ export class LambdaClientInstance extends Context.Tag(
13
+ "@effect-aws/client-lambda/LambdaClientInstance",
14
+ )<LambdaClientInstance, LambdaClient>() {}
15
+
16
+ /**
17
+ * @since 1.0.0
18
+ * @category constructors
19
+ */
20
+ export const make = Effect.flatMap(
21
+ LambdaServiceConfig.toLambdaClientConfig,
22
+ (config) =>
23
+ Effect.acquireRelease(
24
+ Effect.sync(() => new LambdaClient(config)),
25
+ (client) => Effect.sync(() => client.destroy()),
26
+ ),
27
+ );
28
+
29
+ /**
30
+ * @since 1.0.0
31
+ * @category layers
32
+ */
33
+ export const layer = Layer.scoped(LambdaClientInstance, make);