@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.
- package/Errors/package.json +6 -0
- package/LambdaClientInstance/package.json +6 -0
- package/LambdaService/package.json +6 -0
- package/LambdaServiceConfig/package.json +6 -0
- package/{lib → dist/cjs}/Errors.d.ts +6 -11
- package/dist/cjs/Errors.d.ts.map +1 -0
- package/dist/cjs/Errors.js +46 -0
- package/dist/cjs/Errors.js.map +1 -0
- package/dist/cjs/LambdaClientInstance.d.ts +24 -0
- package/dist/cjs/LambdaClientInstance.d.ts.map +1 -0
- package/dist/cjs/LambdaClientInstance.js +50 -0
- package/dist/cjs/LambdaClientInstance.js.map +1 -0
- package/dist/cjs/LambdaService.d.ts +313 -0
- package/dist/cjs/LambdaService.d.ts.map +1 -0
- package/dist/cjs/LambdaService.js +127 -0
- package/dist/cjs/LambdaService.js.map +1 -0
- package/dist/cjs/LambdaServiceConfig.d.ts +25 -0
- package/dist/cjs/LambdaServiceConfig.d.ts.map +1 -0
- package/dist/cjs/LambdaServiceConfig.js +35 -0
- package/dist/cjs/LambdaServiceConfig.js.map +1 -0
- package/dist/cjs/index.d.ts +39 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +56 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/dts/Errors.d.ts +45 -0
- package/dist/dts/Errors.d.ts.map +1 -0
- package/dist/dts/LambdaClientInstance.d.ts +24 -0
- package/dist/dts/LambdaClientInstance.d.ts.map +1 -0
- package/dist/dts/LambdaService.d.ts +313 -0
- package/dist/dts/LambdaService.d.ts.map +1 -0
- package/dist/dts/LambdaServiceConfig.d.ts +25 -0
- package/dist/dts/LambdaServiceConfig.d.ts.map +1 -0
- package/dist/dts/index.d.ts +39 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/esm/Errors.js +43 -0
- package/dist/esm/Errors.js.map +1 -0
- package/dist/esm/LambdaClientInstance.js +23 -0
- package/dist/esm/LambdaClientInstance.js.map +1 -0
- package/dist/esm/LambdaService.js +100 -0
- package/dist/esm/LambdaService.js.map +1 -0
- package/dist/esm/LambdaServiceConfig.js +31 -0
- package/dist/esm/LambdaServiceConfig.js.map +1 -0
- package/dist/esm/index.js +27 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +60 -43
- package/src/Errors.ts +125 -0
- package/src/LambdaClientInstance.ts +33 -0
- package/src/LambdaService.ts +1380 -0
- package/src/LambdaServiceConfig.ts +52 -0
- package/src/index.ts +44 -0
- package/CHANGELOG.md +0 -109
- package/docgen.json +0 -8
- package/lib/Errors.js +0 -46
- package/lib/LambdaClientInstance.d.ts +0 -31
- package/lib/LambdaClientInstance.js +0 -57
- package/lib/LambdaClientInstanceConfig.d.ts +0 -23
- package/lib/LambdaClientInstanceConfig.js +0 -44
- package/lib/LambdaService.d.ts +0 -405
- package/lib/LambdaService.js +0 -156
- package/lib/esm/Errors.js +0 -43
- package/lib/esm/LambdaClientInstance.js +0 -30
- package/lib/esm/LambdaClientInstanceConfig.js +0 -40
- package/lib/esm/LambdaService.js +0 -152
- package/lib/esm/index.js +0 -5
- package/lib/index.d.ts +0 -4
- package/lib/index.js +0 -21
- package/project.json +0 -77
- 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"}
|
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
|
-
"
|
|
9
|
-
|
|
10
|
-
"@
|
|
11
|
-
"@
|
|
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.
|
|
22
|
+
"effect": ">=3.0.4 <4.0.0"
|
|
26
23
|
},
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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);
|