@effect-aws/client-elasticache 1.5.0 → 1.9.0

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 (68) hide show
  1. package/ElastiCacheClientInstance/package.json +6 -0
  2. package/ElastiCacheService/package.json +6 -0
  3. package/ElastiCacheServiceConfig/package.json +6 -0
  4. package/Errors/package.json +6 -0
  5. package/dist/cjs/ElastiCacheClientInstance.d.ts +24 -0
  6. package/dist/cjs/ElastiCacheClientInstance.d.ts.map +1 -0
  7. package/dist/cjs/ElastiCacheClientInstance.js +50 -0
  8. package/dist/cjs/ElastiCacheClientInstance.js.map +1 -0
  9. package/{lib → dist/cjs}/ElastiCacheService.d.ts +16 -38
  10. package/dist/cjs/ElastiCacheService.d.ts.map +1 -0
  11. package/dist/cjs/ElastiCacheService.js +131 -0
  12. package/dist/cjs/ElastiCacheService.js.map +1 -0
  13. package/dist/cjs/ElastiCacheServiceConfig.d.ts +25 -0
  14. package/dist/cjs/ElastiCacheServiceConfig.d.ts.map +1 -0
  15. package/dist/cjs/ElastiCacheServiceConfig.js +35 -0
  16. package/dist/cjs/ElastiCacheServiceConfig.js.map +1 -0
  17. package/{lib → dist/cjs}/Errors.d.ts +7 -12
  18. package/dist/cjs/Errors.d.ts.map +1 -0
  19. package/dist/cjs/Errors.js +84 -0
  20. package/dist/cjs/Errors.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/ElastiCacheClientInstance.d.ts +24 -0
  26. package/dist/dts/ElastiCacheClientInstance.d.ts.map +1 -0
  27. package/dist/dts/ElastiCacheService.d.ts +418 -0
  28. package/dist/dts/ElastiCacheService.d.ts.map +1 -0
  29. package/dist/dts/ElastiCacheServiceConfig.d.ts +25 -0
  30. package/dist/dts/ElastiCacheServiceConfig.d.ts.map +1 -0
  31. package/dist/dts/Errors.d.ts +83 -0
  32. package/dist/dts/Errors.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/ElastiCacheClientInstance.js +23 -0
  36. package/dist/esm/ElastiCacheClientInstance.js.map +1 -0
  37. package/dist/esm/ElastiCacheService.js +104 -0
  38. package/dist/esm/ElastiCacheService.js.map +1 -0
  39. package/dist/esm/ElastiCacheServiceConfig.js +31 -0
  40. package/dist/esm/ElastiCacheServiceConfig.js.map +1 -0
  41. package/dist/esm/Errors.js +81 -0
  42. package/dist/esm/Errors.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/ElastiCacheClientInstance.ts +33 -0
  48. package/src/ElastiCacheService.ts +1655 -0
  49. package/src/ElastiCacheServiceConfig.ts +52 -0
  50. package/src/Errors.ts +245 -0
  51. package/src/index.ts +44 -0
  52. package/CHANGELOG.md +0 -43
  53. package/docgen.json +0 -8
  54. package/lib/ElastiCacheClientInstance.d.ts +0 -31
  55. package/lib/ElastiCacheClientInstance.js +0 -57
  56. package/lib/ElastiCacheClientInstanceConfig.d.ts +0 -23
  57. package/lib/ElastiCacheClientInstanceConfig.js +0 -44
  58. package/lib/ElastiCacheService.js +0 -163
  59. package/lib/Errors.js +0 -84
  60. package/lib/esm/ElastiCacheClientInstance.js +0 -30
  61. package/lib/esm/ElastiCacheClientInstanceConfig.js +0 -40
  62. package/lib/esm/ElastiCacheService.js +0 -159
  63. package/lib/esm/Errors.js +0 -81
  64. package/lib/esm/index.js +0 -5
  65. package/lib/index.d.ts +0 -4
  66. package/lib/index.js +0 -21
  67. package/project.json +0 -77
  68. package/vitest.config.ts +0 -3
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { ElastiCacheClientConfig } from "@aws-sdk/client-elasticache";
5
+ import { ServiceLogger } from "@effect-aws/commons";
6
+ import { Effect, FiberRef, Layer } from "effect";
7
+ import { dual } from "effect/Function";
8
+ import { globalValue } from "effect/GlobalValue";
9
+ import type { ElastiCacheService } from "./ElastiCacheService.js";
10
+
11
+ /**
12
+ * @since 1.0.0
13
+ * @category elasticache service config
14
+ */
15
+ const currentElastiCacheServiceConfig = globalValue(
16
+ "@effect-aws/client-elasticache/currentElastiCacheServiceConfig",
17
+ () => FiberRef.unsafeMake<ElastiCacheService.Config>({}),
18
+ );
19
+
20
+ /**
21
+ * @since 1.0.0
22
+ * @category elasticache service config
23
+ */
24
+ export const withElastiCacheServiceConfig: {
25
+ (config: ElastiCacheService.Config): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
26
+ <A, E, R>(effect: Effect.Effect<A, E, R>, config: ElastiCacheService.Config): Effect.Effect<A, E, R>;
27
+ } = dual(
28
+ 2,
29
+ <A, E, R>(effect: Effect.Effect<A, E, R>, config: ElastiCacheService.Config): Effect.Effect<A, E, R> =>
30
+ Effect.locally(effect, currentElastiCacheServiceConfig, config),
31
+ );
32
+
33
+ /**
34
+ * @since 1.0.0
35
+ * @category elasticache service config
36
+ */
37
+ export const setElastiCacheServiceConfig = (config: ElastiCacheService.Config) =>
38
+ Layer.locallyScoped(currentElastiCacheServiceConfig, config);
39
+
40
+ /**
41
+ * @since 1.0.0
42
+ * @category adapters
43
+ */
44
+ export const toElastiCacheClientConfig: Effect.Effect<ElastiCacheClientConfig> = Effect.gen(function*() {
45
+ const { logger: serviceLogger, ...config } = yield* FiberRef.get(currentElastiCacheServiceConfig);
46
+
47
+ const logger = serviceLogger === true
48
+ ? yield* ServiceLogger.toClientLogger(ServiceLogger.defaultServiceLogger)
49
+ : (serviceLogger ? yield* ServiceLogger.toClientLogger(ServiceLogger.make(serviceLogger)) : undefined);
50
+
51
+ return { logger, ...config };
52
+ });
package/src/Errors.ts ADDED
@@ -0,0 +1,245 @@
1
+ import type {
2
+ APICallRateForCustomerExceededFault,
3
+ AuthorizationAlreadyExistsFault,
4
+ AuthorizationNotFoundFault,
5
+ CacheClusterAlreadyExistsFault,
6
+ CacheClusterNotFoundFault,
7
+ CacheParameterGroupAlreadyExistsFault,
8
+ CacheParameterGroupNotFoundFault,
9
+ CacheParameterGroupQuotaExceededFault,
10
+ CacheSecurityGroupAlreadyExistsFault,
11
+ CacheSecurityGroupNotFoundFault,
12
+ CacheSecurityGroupQuotaExceededFault,
13
+ CacheSubnetGroupAlreadyExistsFault,
14
+ CacheSubnetGroupInUse,
15
+ CacheSubnetGroupNotFoundFault,
16
+ CacheSubnetGroupQuotaExceededFault,
17
+ CacheSubnetQuotaExceededFault,
18
+ ClusterQuotaForCustomerExceededFault,
19
+ DefaultUserAssociatedToUserGroupFault,
20
+ DefaultUserRequired,
21
+ DuplicateUserNameFault,
22
+ GlobalReplicationGroupAlreadyExistsFault,
23
+ GlobalReplicationGroupNotFoundFault,
24
+ InsufficientCacheClusterCapacityFault,
25
+ InvalidARNFault,
26
+ InvalidCacheClusterStateFault,
27
+ InvalidCacheParameterGroupStateFault,
28
+ InvalidCacheSecurityGroupStateFault,
29
+ InvalidCredentialsException,
30
+ InvalidGlobalReplicationGroupStateFault,
31
+ InvalidKMSKeyFault,
32
+ InvalidParameterCombinationException,
33
+ InvalidParameterValueException,
34
+ InvalidReplicationGroupStateFault,
35
+ InvalidServerlessCacheSnapshotStateFault,
36
+ InvalidServerlessCacheStateFault,
37
+ InvalidSnapshotStateFault,
38
+ InvalidSubnet,
39
+ InvalidUserGroupStateFault,
40
+ InvalidUserStateFault,
41
+ InvalidVPCNetworkStateFault,
42
+ NodeGroupNotFoundFault,
43
+ NodeGroupsPerReplicationGroupQuotaExceededFault,
44
+ NodeQuotaForClusterExceededFault,
45
+ NodeQuotaForCustomerExceededFault,
46
+ NoOperationFault,
47
+ ReplicationGroupAlreadyExistsFault,
48
+ ReplicationGroupAlreadyUnderMigrationFault,
49
+ ReplicationGroupNotFoundFault,
50
+ ReplicationGroupNotUnderMigrationFault,
51
+ ReservedCacheNodeAlreadyExistsFault,
52
+ ReservedCacheNodeNotFoundFault,
53
+ ReservedCacheNodeQuotaExceededFault,
54
+ ReservedCacheNodesOfferingNotFoundFault,
55
+ ServerlessCacheAlreadyExistsFault,
56
+ ServerlessCacheNotFoundFault,
57
+ ServerlessCacheQuotaForCustomerExceededFault,
58
+ ServerlessCacheSnapshotAlreadyExistsFault,
59
+ ServerlessCacheSnapshotNotFoundFault,
60
+ ServerlessCacheSnapshotQuotaExceededFault,
61
+ ServiceLinkedRoleNotFoundFault,
62
+ ServiceUpdateNotFoundFault,
63
+ SnapshotAlreadyExistsFault,
64
+ SnapshotFeatureNotSupportedFault,
65
+ SnapshotNotFoundFault,
66
+ SnapshotQuotaExceededFault,
67
+ SubnetInUse,
68
+ SubnetNotAllowedFault,
69
+ TagNotFoundFault,
70
+ TagQuotaPerResourceExceeded,
71
+ TestFailoverNotAvailableFault,
72
+ UserAlreadyExistsFault,
73
+ UserGroupAlreadyExistsFault,
74
+ UserGroupNotFoundFault,
75
+ UserGroupQuotaExceededFault,
76
+ UserNotFoundFault,
77
+ UserQuotaExceededFault,
78
+ } from "@aws-sdk/client-elasticache";
79
+ import type { TaggedException } from "@effect-aws/commons";
80
+ import { SdkError as CommonSdkError } from "@effect-aws/commons";
81
+
82
+ export const AllServiceErrors = [
83
+ "APICallRateForCustomerExceededFault",
84
+ "AuthorizationAlreadyExistsFault",
85
+ "AuthorizationNotFoundFault",
86
+ "CacheClusterAlreadyExistsFault",
87
+ "CacheClusterNotFoundFault",
88
+ "CacheParameterGroupAlreadyExistsFault",
89
+ "CacheParameterGroupNotFoundFault",
90
+ "CacheParameterGroupQuotaExceededFault",
91
+ "CacheSecurityGroupAlreadyExistsFault",
92
+ "CacheSecurityGroupNotFoundFault",
93
+ "CacheSecurityGroupQuotaExceededFault",
94
+ "CacheSubnetGroupAlreadyExistsFault",
95
+ "CacheSubnetGroupInUse",
96
+ "CacheSubnetGroupNotFoundFault",
97
+ "CacheSubnetGroupQuotaExceededFault",
98
+ "CacheSubnetQuotaExceededFault",
99
+ "ClusterQuotaForCustomerExceededFault",
100
+ "DefaultUserAssociatedToUserGroupFault",
101
+ "DefaultUserRequired",
102
+ "DuplicateUserNameFault",
103
+ "GlobalReplicationGroupAlreadyExistsFault",
104
+ "GlobalReplicationGroupNotFoundFault",
105
+ "InsufficientCacheClusterCapacityFault",
106
+ "InvalidARNFault",
107
+ "InvalidCacheClusterStateFault",
108
+ "InvalidCacheParameterGroupStateFault",
109
+ "InvalidCacheSecurityGroupStateFault",
110
+ "InvalidCredentialsException",
111
+ "InvalidGlobalReplicationGroupStateFault",
112
+ "InvalidKMSKeyFault",
113
+ "InvalidParameterCombinationException",
114
+ "InvalidParameterValueException",
115
+ "InvalidReplicationGroupStateFault",
116
+ "InvalidServerlessCacheSnapshotStateFault",
117
+ "InvalidServerlessCacheStateFault",
118
+ "InvalidSnapshotStateFault",
119
+ "InvalidSubnet",
120
+ "InvalidUserGroupStateFault",
121
+ "InvalidUserStateFault",
122
+ "InvalidVPCNetworkStateFault",
123
+ "NoOperationFault",
124
+ "NodeGroupNotFoundFault",
125
+ "NodeGroupsPerReplicationGroupQuotaExceededFault",
126
+ "NodeQuotaForClusterExceededFault",
127
+ "NodeQuotaForCustomerExceededFault",
128
+ "ReplicationGroupAlreadyExistsFault",
129
+ "ReplicationGroupAlreadyUnderMigrationFault",
130
+ "ReplicationGroupNotFoundFault",
131
+ "ReplicationGroupNotUnderMigrationFault",
132
+ "ReservedCacheNodeAlreadyExistsFault",
133
+ "ReservedCacheNodeNotFoundFault",
134
+ "ReservedCacheNodeQuotaExceededFault",
135
+ "ReservedCacheNodesOfferingNotFoundFault",
136
+ "ServerlessCacheAlreadyExistsFault",
137
+ "ServerlessCacheNotFoundFault",
138
+ "ServerlessCacheQuotaForCustomerExceededFault",
139
+ "ServerlessCacheSnapshotAlreadyExistsFault",
140
+ "ServerlessCacheSnapshotNotFoundFault",
141
+ "ServerlessCacheSnapshotQuotaExceededFault",
142
+ "ServiceLinkedRoleNotFoundFault",
143
+ "ServiceUpdateNotFoundFault",
144
+ "SnapshotAlreadyExistsFault",
145
+ "SnapshotFeatureNotSupportedFault",
146
+ "SnapshotNotFoundFault",
147
+ "SnapshotQuotaExceededFault",
148
+ "SubnetInUse",
149
+ "SubnetNotAllowedFault",
150
+ "TagNotFoundFault",
151
+ "TagQuotaPerResourceExceeded",
152
+ "TestFailoverNotAvailableFault",
153
+ "UserAlreadyExistsFault",
154
+ "UserGroupAlreadyExistsFault",
155
+ "UserGroupNotFoundFault",
156
+ "UserGroupQuotaExceededFault",
157
+ "UserNotFoundFault",
158
+ "UserQuotaExceededFault",
159
+ ] as const;
160
+
161
+ export type APICallRateForCustomerExceededFaultError = TaggedException<APICallRateForCustomerExceededFault>;
162
+ export type AuthorizationAlreadyExistsFaultError = TaggedException<AuthorizationAlreadyExistsFault>;
163
+ export type AuthorizationNotFoundFaultError = TaggedException<AuthorizationNotFoundFault>;
164
+ export type CacheClusterAlreadyExistsFaultError = TaggedException<CacheClusterAlreadyExistsFault>;
165
+ export type CacheClusterNotFoundFaultError = TaggedException<CacheClusterNotFoundFault>;
166
+ export type CacheParameterGroupAlreadyExistsFaultError = TaggedException<CacheParameterGroupAlreadyExistsFault>;
167
+ export type CacheParameterGroupNotFoundFaultError = TaggedException<CacheParameterGroupNotFoundFault>;
168
+ export type CacheParameterGroupQuotaExceededFaultError = TaggedException<CacheParameterGroupQuotaExceededFault>;
169
+ export type CacheSecurityGroupAlreadyExistsFaultError = TaggedException<CacheSecurityGroupAlreadyExistsFault>;
170
+ export type CacheSecurityGroupNotFoundFaultError = TaggedException<CacheSecurityGroupNotFoundFault>;
171
+ export type CacheSecurityGroupQuotaExceededFaultError = TaggedException<CacheSecurityGroupQuotaExceededFault>;
172
+ export type CacheSubnetGroupAlreadyExistsFaultError = TaggedException<CacheSubnetGroupAlreadyExistsFault>;
173
+ export type CacheSubnetGroupInUseError = TaggedException<CacheSubnetGroupInUse>;
174
+ export type CacheSubnetGroupNotFoundFaultError = TaggedException<CacheSubnetGroupNotFoundFault>;
175
+ export type CacheSubnetGroupQuotaExceededFaultError = TaggedException<CacheSubnetGroupQuotaExceededFault>;
176
+ export type CacheSubnetQuotaExceededFaultError = TaggedException<CacheSubnetQuotaExceededFault>;
177
+ export type ClusterQuotaForCustomerExceededFaultError = TaggedException<ClusterQuotaForCustomerExceededFault>;
178
+ export type DefaultUserAssociatedToUserGroupFaultError = TaggedException<DefaultUserAssociatedToUserGroupFault>;
179
+ export type DefaultUserRequiredError = TaggedException<DefaultUserRequired>;
180
+ export type DuplicateUserNameFaultError = TaggedException<DuplicateUserNameFault>;
181
+ export type GlobalReplicationGroupAlreadyExistsFaultError = TaggedException<GlobalReplicationGroupAlreadyExistsFault>;
182
+ export type GlobalReplicationGroupNotFoundFaultError = TaggedException<GlobalReplicationGroupNotFoundFault>;
183
+ export type InsufficientCacheClusterCapacityFaultError = TaggedException<InsufficientCacheClusterCapacityFault>;
184
+ export type InvalidARNFaultError = TaggedException<InvalidARNFault>;
185
+ export type InvalidCacheClusterStateFaultError = TaggedException<InvalidCacheClusterStateFault>;
186
+ export type InvalidCacheParameterGroupStateFaultError = TaggedException<InvalidCacheParameterGroupStateFault>;
187
+ export type InvalidCacheSecurityGroupStateFaultError = TaggedException<InvalidCacheSecurityGroupStateFault>;
188
+ export type InvalidCredentialsError = TaggedException<InvalidCredentialsException>;
189
+ export type InvalidGlobalReplicationGroupStateFaultError = TaggedException<InvalidGlobalReplicationGroupStateFault>;
190
+ export type InvalidKMSKeyFaultError = TaggedException<InvalidKMSKeyFault>;
191
+ export type InvalidParameterCombinationError = TaggedException<InvalidParameterCombinationException>;
192
+ export type InvalidParameterValueError = TaggedException<InvalidParameterValueException>;
193
+ export type InvalidReplicationGroupStateFaultError = TaggedException<InvalidReplicationGroupStateFault>;
194
+ export type InvalidServerlessCacheSnapshotStateFaultError = TaggedException<InvalidServerlessCacheSnapshotStateFault>;
195
+ export type InvalidServerlessCacheStateFaultError = TaggedException<InvalidServerlessCacheStateFault>;
196
+ export type InvalidSnapshotStateFaultError = TaggedException<InvalidSnapshotStateFault>;
197
+ export type InvalidSubnetError = TaggedException<InvalidSubnet>;
198
+ export type InvalidUserGroupStateFaultError = TaggedException<InvalidUserGroupStateFault>;
199
+ export type InvalidUserStateFaultError = TaggedException<InvalidUserStateFault>;
200
+ export type InvalidVPCNetworkStateFaultError = TaggedException<InvalidVPCNetworkStateFault>;
201
+ export type NoOperationFaultError = TaggedException<NoOperationFault>;
202
+ export type NodeGroupNotFoundFaultError = TaggedException<NodeGroupNotFoundFault>;
203
+ export type NodeGroupsPerReplicationGroupQuotaExceededFaultError = TaggedException<
204
+ NodeGroupsPerReplicationGroupQuotaExceededFault
205
+ >;
206
+ export type NodeQuotaForClusterExceededFaultError = TaggedException<NodeQuotaForClusterExceededFault>;
207
+ export type NodeQuotaForCustomerExceededFaultError = TaggedException<NodeQuotaForCustomerExceededFault>;
208
+ export type ReplicationGroupAlreadyExistsFaultError = TaggedException<ReplicationGroupAlreadyExistsFault>;
209
+ export type ReplicationGroupAlreadyUnderMigrationFaultError = TaggedException<
210
+ ReplicationGroupAlreadyUnderMigrationFault
211
+ >;
212
+ export type ReplicationGroupNotFoundFaultError = TaggedException<ReplicationGroupNotFoundFault>;
213
+ export type ReplicationGroupNotUnderMigrationFaultError = TaggedException<ReplicationGroupNotUnderMigrationFault>;
214
+ export type ReservedCacheNodeAlreadyExistsFaultError = TaggedException<ReservedCacheNodeAlreadyExistsFault>;
215
+ export type ReservedCacheNodeNotFoundFaultError = TaggedException<ReservedCacheNodeNotFoundFault>;
216
+ export type ReservedCacheNodeQuotaExceededFaultError = TaggedException<ReservedCacheNodeQuotaExceededFault>;
217
+ export type ReservedCacheNodesOfferingNotFoundFaultError = TaggedException<ReservedCacheNodesOfferingNotFoundFault>;
218
+ export type ServerlessCacheAlreadyExistsFaultError = TaggedException<ServerlessCacheAlreadyExistsFault>;
219
+ export type ServerlessCacheNotFoundFaultError = TaggedException<ServerlessCacheNotFoundFault>;
220
+ export type ServerlessCacheQuotaForCustomerExceededFaultError = TaggedException<
221
+ ServerlessCacheQuotaForCustomerExceededFault
222
+ >;
223
+ export type ServerlessCacheSnapshotAlreadyExistsFaultError = TaggedException<ServerlessCacheSnapshotAlreadyExistsFault>;
224
+ export type ServerlessCacheSnapshotNotFoundFaultError = TaggedException<ServerlessCacheSnapshotNotFoundFault>;
225
+ export type ServerlessCacheSnapshotQuotaExceededFaultError = TaggedException<ServerlessCacheSnapshotQuotaExceededFault>;
226
+ export type ServiceLinkedRoleNotFoundFaultError = TaggedException<ServiceLinkedRoleNotFoundFault>;
227
+ export type ServiceUpdateNotFoundFaultError = TaggedException<ServiceUpdateNotFoundFault>;
228
+ export type SnapshotAlreadyExistsFaultError = TaggedException<SnapshotAlreadyExistsFault>;
229
+ export type SnapshotFeatureNotSupportedFaultError = TaggedException<SnapshotFeatureNotSupportedFault>;
230
+ export type SnapshotNotFoundFaultError = TaggedException<SnapshotNotFoundFault>;
231
+ export type SnapshotQuotaExceededFaultError = TaggedException<SnapshotQuotaExceededFault>;
232
+ export type SubnetInUseError = TaggedException<SubnetInUse>;
233
+ export type SubnetNotAllowedFaultError = TaggedException<SubnetNotAllowedFault>;
234
+ export type TagNotFoundFaultError = TaggedException<TagNotFoundFault>;
235
+ export type TagQuotaPerResourceExceededError = TaggedException<TagQuotaPerResourceExceeded>;
236
+ export type TestFailoverNotAvailableFaultError = TaggedException<TestFailoverNotAvailableFault>;
237
+ export type UserAlreadyExistsFaultError = TaggedException<UserAlreadyExistsFault>;
238
+ export type UserGroupAlreadyExistsFaultError = TaggedException<UserGroupAlreadyExistsFault>;
239
+ export type UserGroupNotFoundFaultError = TaggedException<UserGroupNotFoundFault>;
240
+ export type UserGroupQuotaExceededFaultError = TaggedException<UserGroupQuotaExceededFault>;
241
+ export type UserNotFoundFaultError = TaggedException<UserNotFoundFault>;
242
+ export type UserQuotaExceededFaultError = TaggedException<UserQuotaExceededFault>;
243
+
244
+ export type SdkError = CommonSdkError;
245
+ export const SdkError = CommonSdkError;
package/src/index.ts ADDED
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { ElastiCacheService } from "./ElastiCacheService.js";
5
+
6
+ /**
7
+ * @since 1.0.0
8
+ */
9
+ export * from "./Errors.js";
10
+
11
+ /**
12
+ * @since 1.0.0
13
+ */
14
+ export * as ElastiCacheClientInstance from "./ElastiCacheClientInstance.js";
15
+
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export * as ElastiCacheServiceConfig from "./ElastiCacheServiceConfig.js";
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ */
24
+ export * from "./ElastiCacheService.js";
25
+
26
+ /**
27
+ * @since 1.0.0
28
+ * @category exports
29
+ * @alias ElastiCacheService
30
+ */
31
+ export declare namespace ElastiCache {
32
+ /**
33
+ * @since 1.0.0
34
+ * @alias ElastiCacheService.Config
35
+ */
36
+ export type Config = ElastiCacheService.Config;
37
+ }
38
+
39
+ /**
40
+ * @since 1.0.0
41
+ * @category exports
42
+ * @alias ElastiCacheService
43
+ */
44
+ export const ElastiCache = ElastiCacheService;
package/CHANGELOG.md DELETED
@@ -1,43 +0,0 @@
1
- # @effect-aws/client-elasticache
2
-
3
- ## 1.5.0
4
-
5
- ### Minor Changes
6
-
7
- - [#93](https://github.com/floydspace/effect-aws/pull/93) [`a96fbd8`](https://github.com/floydspace/effect-aws/commit/a96fbd8840a7a6cfb795a2a6ab96aa32d32a3525) Thanks [@godu](https://github.com/godu)! - Destroy client after layer lifecycle to release idle connections.
8
-
9
- ## 1.4.0
10
-
11
- ### Minor Changes
12
-
13
- - [#80](https://github.com/floydspace/effect-aws/pull/80) [`4b16fbe`](https://github.com/floydspace/effect-aws/commit/4b16fbebce8131df7798ee92f43cf6b7df3e907c) Thanks [@floydspace](https://github.com/floydspace)! - simplify layers configuration (closes #78)
14
-
15
- ## 1.3.1
16
-
17
- ### Patch Changes
18
-
19
- - [#75](https://github.com/floydspace/effect-aws/pull/75) [`9dc170d`](https://github.com/floydspace/effect-aws/commit/9dc170d975c04888bbc7ca7b241b4b5265668fb5) Thanks [@godu](https://github.com/godu)! - export the HttpHandlerOptions type
20
-
21
- ## 1.3.0
22
-
23
- ### Minor Changes
24
-
25
- - [`e540420`](https://github.com/floydspace/effect-aws/commit/e5404208c2438e1e1546637a8edbbdc1c9468850) Thanks [@floydspace](https://github.com/floydspace)! - integrate aws-sdk abort signal with effect interruption
26
-
27
- ## 1.2.0
28
-
29
- ### Minor Changes
30
-
31
- - [#58](https://github.com/floydspace/effect-aws/pull/58) [`888dc8c`](https://github.com/floydspace/effect-aws/commit/888dc8ca0d7104e33a24426a1aacedb48e8fc3ac) Thanks [@floydspace](https://github.com/floydspace)! - use Effect.Tag instead of Context.GenericTag for service, upgrade sdk, handle only known errors
32
-
33
- ## 1.1.0
34
-
35
- ### Minor Changes
36
-
37
- - [`0cfcda0`](https://github.com/floydspace/effect-aws/commit/0cfcda0d5617916d966807f5d5120df9ba461c12) Thanks [@floydspace](https://github.com/floydspace)! - upgrade effect to v3
38
-
39
- ## 1.0.0
40
-
41
- ### Major Changes
42
-
43
- - [#35](https://github.com/floydspace/effect-aws/pull/35) [`4633dac`](https://github.com/floydspace/effect-aws/commit/4633dac202b0c644c566f47ba221a22c1ea7a9dd) Thanks [@godu](https://github.com/godu)! - implement effectful elasticache client
package/docgen.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/@effect/docgen/schema.json",
3
- "exclude": [
4
- "src/index.ts",
5
- "src/Errors.ts"
6
- ],
7
- "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
8
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { ElastiCacheClient } from "@aws-sdk/client-elasticache";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { ElastiCacheClientInstanceConfig } from "./ElastiCacheClientInstanceConfig";
9
- declare const ElastiCacheClientInstance_base: Context.TagClass<ElastiCacheClientInstance, "@effect-aws/client-elasticache/ElastiCacheClientInstance", ElastiCacheClient>;
10
- /**
11
- * @since 1.0.0
12
- * @category tags
13
- */
14
- export declare class ElastiCacheClientInstance extends ElastiCacheClientInstance_base {
15
- }
16
- /**
17
- * @since 1.0.0
18
- * @category constructors
19
- */
20
- export declare const makeElastiCacheClientInstance: Effect.Effect<ElastiCacheClient, never, import("effect/Scope").Scope | ElastiCacheClientInstanceConfig>;
21
- /**
22
- * @since 1.0.0
23
- * @category layers
24
- */
25
- export declare const ElastiCacheClientInstanceLayer: Layer.Layer<ElastiCacheClientInstance, never, ElastiCacheClientInstanceConfig>;
26
- /**
27
- * @since 1.0.0
28
- * @category layers
29
- */
30
- export declare const DefaultElastiCacheClientInstanceLayer: Layer.Layer<ElastiCacheClientInstance, never, never>;
31
- export {};
@@ -1,57 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.DefaultElastiCacheClientInstanceLayer = exports.ElastiCacheClientInstanceLayer = exports.makeElastiCacheClientInstance = exports.ElastiCacheClientInstance = void 0;
27
- /**
28
- * @since 1.0.0
29
- */
30
- const client_elasticache_1 = require("@aws-sdk/client-elasticache");
31
- const Context = __importStar(require("effect/Context"));
32
- const Effect = __importStar(require("effect/Effect"));
33
- const Layer = __importStar(require("effect/Layer"));
34
- const ElastiCacheClientInstanceConfig_1 = require("./ElastiCacheClientInstanceConfig");
35
- /**
36
- * @since 1.0.0
37
- * @category tags
38
- */
39
- class ElastiCacheClientInstance extends Context.Tag("@effect-aws/client-elasticache/ElastiCacheClientInstance")() {
40
- }
41
- exports.ElastiCacheClientInstance = ElastiCacheClientInstance;
42
- /**
43
- * @since 1.0.0
44
- * @category constructors
45
- */
46
- exports.makeElastiCacheClientInstance = Effect.flatMap(ElastiCacheClientInstanceConfig_1.ElastiCacheClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new client_elasticache_1.ElastiCacheClient(config)), (client) => Effect.sync(() => client.destroy())));
47
- /**
48
- * @since 1.0.0
49
- * @category layers
50
- */
51
- exports.ElastiCacheClientInstanceLayer = Layer.scoped(ElastiCacheClientInstance, exports.makeElastiCacheClientInstance);
52
- /**
53
- * @since 1.0.0
54
- * @category layers
55
- */
56
- exports.DefaultElastiCacheClientInstanceLayer = exports.ElastiCacheClientInstanceLayer.pipe(Layer.provide(ElastiCacheClientInstanceConfig_1.DefaultElastiCacheClientConfigLayer));
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxvRUFBZ0U7QUFDaEUsd0RBQTBDO0FBQzFDLHNEQUF3QztBQUN4QyxvREFBc0M7QUFDdEMsdUZBRzJDO0FBRTNDOzs7R0FHRztBQUNILE1BQWEseUJBQTBCLFNBQVEsT0FBTyxDQUFDLEdBQUcsQ0FDeEQsMERBQTBELENBQzNELEVBQWdEO0NBQUc7QUFGcEQsOERBRW9EO0FBRXBEOzs7R0FHRztBQUNVLFFBQUEsNkJBQTZCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FDekQsaUVBQStCLEVBQy9CLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDVCxNQUFNLENBQUMsY0FBYyxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksc0NBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDaEQsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQ2hELENBQ0osQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsOEJBQThCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDeEQseUJBQXlCLEVBQ3pCLHFDQUE2QixDQUM5QixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxxQ0FBcUMsR0FDaEQsc0NBQThCLENBQUMsSUFBSSxDQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDLHFFQUFtQyxDQUFDLENBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgeyBFbGFzdGlDYWNoZUNsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZWxhc3RpY2FjaGVcIjtcbmltcG9ydCAqIGFzIENvbnRleHQgZnJvbSBcImVmZmVjdC9Db250ZXh0XCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRFbGFzdGlDYWNoZUNsaWVudENvbmZpZ0xheWVyLFxuICBFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnLFxufSBmcm9tIFwiLi9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1lbGFzdGljYWNoZS9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlXCIsXG4pPEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2UsIEVsYXN0aUNhY2hlQ2xpZW50PigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSA9IEVmZmVjdC5mbGF0TWFwKFxuICBFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnLFxuICAoY29uZmlnKSA9PlxuICAgIEVmZmVjdC5hY3F1aXJlUmVsZWFzZShcbiAgICAgIEVmZmVjdC5zeW5jKCgpID0+IG5ldyBFbGFzdGlDYWNoZUNsaWVudChjb25maWcpKSxcbiAgICAgIChjbGllbnQpID0+IEVmZmVjdC5zeW5jKCgpID0+IGNsaWVudC5kZXN0cm95KCkpLFxuICAgICksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUxheWVyID0gTGF5ZXIuc2NvcGVkKFxuICBFbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlLFxuICBtYWtlRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUxheWVyID1cbiAgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUxheWVyLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRDb25maWdMYXllciksXG4gICk7XG4iXX0=
@@ -1,23 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import type { ElastiCacheClientConfig } from "@aws-sdk/client-elasticache";
5
- import { Context, Effect, Layer } from "effect";
6
- declare const ElastiCacheClientInstanceConfig_base: Context.TagClass<ElastiCacheClientInstanceConfig, "@effect-aws/client-elasticache/ElastiCacheClientInstanceConfig", ElastiCacheClientConfig>;
7
- /**
8
- * @since 1.0.0
9
- * @category tags
10
- */
11
- export declare class ElastiCacheClientInstanceConfig extends ElastiCacheClientInstanceConfig_base {
12
- }
13
- /**
14
- * @since 1.0.0
15
- * @category constructors
16
- */
17
- export declare const makeDefaultElastiCacheClientInstanceConfig: Effect.Effect<ElastiCacheClientConfig>;
18
- /**
19
- * @since 1.0.0
20
- * @category layers
21
- */
22
- export declare const DefaultElastiCacheClientConfigLayer: Layer.Layer<ElastiCacheClientInstanceConfig, never, never>;
23
- export {};
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultElastiCacheClientConfigLayer = exports.makeDefaultElastiCacheClientInstanceConfig = exports.ElastiCacheClientInstanceConfig = void 0;
4
- const effect_1 = require("effect");
5
- /**
6
- * @since 1.0.0
7
- * @category tags
8
- */
9
- class ElastiCacheClientInstanceConfig extends effect_1.Context.Tag("@effect-aws/client-elasticache/ElastiCacheClientInstanceConfig")() {
10
- }
11
- exports.ElastiCacheClientInstanceConfig = ElastiCacheClientInstanceConfig;
12
- /**
13
- * @since 1.0.0
14
- * @category constructors
15
- */
16
- exports.makeDefaultElastiCacheClientInstanceConfig = effect_1.Effect.gen(function* (_) {
17
- const runtime = yield* _(effect_1.Effect.runtime());
18
- const runSync = effect_1.Runtime.runSync(runtime);
19
- return {
20
- logger: {
21
- info(m) {
22
- effect_1.Effect.logInfo(m).pipe(runSync);
23
- },
24
- warn(m) {
25
- effect_1.Effect.logWarning(m).pipe(runSync);
26
- },
27
- error(m) {
28
- effect_1.Effect.logError(m).pipe(runSync);
29
- },
30
- debug(m) {
31
- effect_1.Effect.logDebug(m).pipe(runSync);
32
- },
33
- trace(m) {
34
- effect_1.Effect.logTrace(m).pipe(runSync);
35
- },
36
- },
37
- };
38
- });
39
- /**
40
- * @since 1.0.0
41
- * @category layers
42
- */
43
- exports.DefaultElastiCacheClientConfigLayer = effect_1.Layer.effect(ElastiCacheClientInstanceConfig, exports.makeDefaultElastiCacheClientInstanceConfig);
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLG1DQUF5RDtBQUV6RDs7O0dBR0c7QUFDSCxNQUFhLCtCQUFnQyxTQUFRLGdCQUFPLENBQUMsR0FBRyxDQUM5RCxnRUFBZ0UsQ0FDakUsRUFBNEQ7Q0FBRztBQUZoRSwwRUFFZ0U7QUFFaEU7OztHQUdHO0FBQ1UsUUFBQSwwQ0FBMEMsR0FDckQsZUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3JCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFNLENBQUMsT0FBTyxFQUFTLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxnQkFBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxPQUFPO1FBQ0wsTUFBTSxFQUFFO1lBQ04sSUFBSSxDQUFDLENBQUM7Z0JBQ0osZUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDO2dCQUNKLGVBQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxlQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsZUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLGVBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVMOzs7R0FHRztBQUNVLFFBQUEsbUNBQW1DLEdBQUcsY0FBSyxDQUFDLE1BQU0sQ0FDN0QsK0JBQStCLEVBQy9CLGtEQUEwQyxDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHR5cGUgeyBFbGFzdGlDYWNoZUNsaWVudENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZWxhc3RpY2FjaGVcIjtcbmltcG9ydCB7IENvbnRleHQsIEVmZmVjdCwgTGF5ZXIsIFJ1bnRpbWUgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZyBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1lbGFzdGljYWNoZS9FbGFzdGlDYWNoZUNsaWVudEluc3RhbmNlQ29uZmlnXCIsXG4pPEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWcsIEVsYXN0aUNhY2hlQ2xpZW50Q29uZmlnPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRGVmYXVsdEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWc6IEVmZmVjdC5FZmZlY3Q8RWxhc3RpQ2FjaGVDbGllbnRDb25maWc+ID1cbiAgRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgICBjb25zdCBydW50aW1lID0geWllbGQqIF8oRWZmZWN0LnJ1bnRpbWU8bmV2ZXI+KCkpO1xuICAgIGNvbnN0IHJ1blN5bmMgPSBSdW50aW1lLnJ1blN5bmMocnVudGltZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9nZ2VyOiB7XG4gICAgICAgIGluZm8obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dJbmZvKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHdhcm4obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dXYXJuaW5nKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRXJyb3IobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWcobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dEZWJ1ZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB0cmFjZShtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1RyYWNlKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEVsYXN0aUNhY2hlQ2xpZW50Q29uZmlnTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIEVsYXN0aUNhY2hlQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIG1ha2VEZWZhdWx0RWxhc3RpQ2FjaGVDbGllbnRJbnN0YW5jZUNvbmZpZyxcbik7XG4iXX0=