@effect-aws/client-ses 1.1.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/SESClientInstance/package.json +6 -0
  3. package/SESService/package.json +6 -0
  4. package/SESServiceConfig/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 +42 -0
  8. package/dist/cjs/Errors.js.map +1 -0
  9. package/dist/cjs/SESClientInstance.d.ts +24 -0
  10. package/dist/cjs/SESClientInstance.d.ts.map +1 -0
  11. package/dist/cjs/SESClientInstance.js +50 -0
  12. package/dist/cjs/SESClientInstance.js.map +1 -0
  13. package/dist/cjs/SESService.d.ts +325 -0
  14. package/dist/cjs/SESService.d.ts.map +1 -0
  15. package/dist/cjs/SESService.js +130 -0
  16. package/dist/cjs/SESService.js.map +1 -0
  17. package/dist/cjs/SESServiceConfig.d.ts +25 -0
  18. package/dist/cjs/SESServiceConfig.d.ts.map +1 -0
  19. package/dist/cjs/SESServiceConfig.js +35 -0
  20. package/dist/cjs/SESServiceConfig.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 +41 -0
  26. package/dist/dts/Errors.d.ts.map +1 -0
  27. package/dist/dts/SESClientInstance.d.ts +24 -0
  28. package/dist/dts/SESClientInstance.d.ts.map +1 -0
  29. package/dist/dts/SESService.d.ts +325 -0
  30. package/dist/dts/SESService.d.ts.map +1 -0
  31. package/dist/dts/SESServiceConfig.d.ts +25 -0
  32. package/dist/dts/SESServiceConfig.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 +39 -0
  36. package/dist/esm/Errors.js.map +1 -0
  37. package/dist/esm/SESClientInstance.js +23 -0
  38. package/dist/esm/SESClientInstance.js.map +1 -0
  39. package/dist/esm/SESService.js +103 -0
  40. package/dist/esm/SESService.js.map +1 -0
  41. package/dist/esm/SESServiceConfig.js +31 -0
  42. package/dist/esm/SESServiceConfig.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 +119 -0
  48. package/src/SESClientInstance.ts +33 -0
  49. package/src/SESService.ts +1235 -0
  50. package/src/SESServiceConfig.ts +51 -0
  51. package/src/index.ts +44 -0
  52. package/CHANGELOG.md +0 -13
  53. package/docgen.json +0 -8
  54. package/lib/Errors.js +0 -42
  55. package/lib/SESClientInstance.d.ts +0 -31
  56. package/lib/SESClientInstance.js +0 -57
  57. package/lib/SESClientInstanceConfig.d.ts +0 -23
  58. package/lib/SESClientInstanceConfig.js +0 -44
  59. package/lib/SESService.d.ts +0 -420
  60. package/lib/SESService.js +0 -159
  61. package/lib/esm/Errors.js +0 -39
  62. package/lib/esm/SESClientInstance.js +0 -30
  63. package/lib/esm/SESClientInstanceConfig.js +0 -40
  64. package/lib/esm/SESService.js +0 -155
  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,51 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { SESClientConfig } from "@aws-sdk/client-ses";
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 { SESService } from "./SESService.js";
10
+
11
+ /**
12
+ * @since 1.0.0
13
+ * @category ses service config
14
+ */
15
+ const currentSESServiceConfig = globalValue(
16
+ "@effect-aws/client-ses/currentSESServiceConfig",
17
+ () => FiberRef.unsafeMake<SESService.Config>({}),
18
+ );
19
+
20
+ /**
21
+ * @since 1.0.0
22
+ * @category ses service config
23
+ */
24
+ export const withSESServiceConfig: {
25
+ (config: SESService.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: SESService.Config): Effect.Effect<A, E, R>;
27
+ } = dual(
28
+ 2,
29
+ <A, E, R>(effect: Effect.Effect<A, E, R>, config: SESService.Config): Effect.Effect<A, E, R> =>
30
+ Effect.locally(effect, currentSESServiceConfig, config),
31
+ );
32
+
33
+ /**
34
+ * @since 1.0.0
35
+ * @category ses service config
36
+ */
37
+ export const setSESServiceConfig = (config: SESService.Config) => Layer.locallyScoped(currentSESServiceConfig, config);
38
+
39
+ /**
40
+ * @since 1.0.0
41
+ * @category adapters
42
+ */
43
+ export const toSESClientConfig: Effect.Effect<SESClientConfig> = Effect.gen(function*() {
44
+ const { logger: serviceLogger, ...config } = yield* FiberRef.get(currentSESServiceConfig);
45
+
46
+ const logger = serviceLogger === true
47
+ ? yield* ServiceLogger.toClientLogger(ServiceLogger.defaultServiceLogger)
48
+ : (serviceLogger ? yield* ServiceLogger.toClientLogger(ServiceLogger.make(serviceLogger)) : undefined);
49
+
50
+ return { logger, ...config };
51
+ });
package/src/index.ts ADDED
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { SESService } from "./SESService.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 SESClientInstance from "./SESClientInstance.js";
15
+
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export * as SESServiceConfig from "./SESServiceConfig.js";
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ */
24
+ export * from "./SESService.js";
25
+
26
+ /**
27
+ * @since 1.0.0
28
+ * @category exports
29
+ * @alias SESService
30
+ */
31
+ export declare namespace SES {
32
+ /**
33
+ * @since 1.0.0
34
+ * @alias SESService.Config
35
+ */
36
+ export type Config = SESService.Config;
37
+ }
38
+
39
+ /**
40
+ * @since 1.0.0
41
+ * @category exports
42
+ * @alias SESService
43
+ */
44
+ export const SES = SESService;
package/CHANGELOG.md DELETED
@@ -1,13 +0,0 @@
1
- # @effect-aws/client-ses
2
-
3
- ## 1.1.0
4
-
5
- ### Minor Changes
6
-
7
- - [`eba7346`](https://github.com/floydspace/effect-aws/commit/eba7346d497ef011e90726f56b6a8cb919879042) Thanks [@floydspace](https://github.com/floydspace)! - Destroy client after layer lifecycle to release idle connections.
8
-
9
- ## 1.0.0
10
-
11
- ### Major Changes
12
-
13
- - [#95](https://github.com/floydspace/effect-aws/pull/95) [`89abbc8`](https://github.com/floydspace/effect-aws/commit/89abbc88feac19299345d67bcdf6098c9ee75979) Thanks [@successkrisz](https://github.com/successkrisz)! - implement ses 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
- }
package/lib/Errors.js DELETED
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdkError = exports.AllServiceErrors = void 0;
4
- const effect_1 = require("effect");
5
- exports.AllServiceErrors = [
6
- "AccountSendingPausedException",
7
- "AlreadyExistsException",
8
- "CannotDeleteException",
9
- "ConfigurationSetAlreadyExistsException",
10
- "ConfigurationSetDoesNotExistException",
11
- "ConfigurationSetSendingPausedException",
12
- "CustomVerificationEmailInvalidContentException",
13
- "CustomVerificationEmailTemplateAlreadyExistsException",
14
- "CustomVerificationEmailTemplateDoesNotExistException",
15
- "EventDestinationAlreadyExistsException",
16
- "EventDestinationDoesNotExistException",
17
- "FromEmailAddressNotVerifiedException",
18
- "InvalidCloudWatchDestinationException",
19
- "InvalidConfigurationSetException",
20
- "InvalidDeliveryOptionsException",
21
- "InvalidFirehoseDestinationException",
22
- "InvalidLambdaFunctionException",
23
- "InvalidPolicyException",
24
- "InvalidRenderingParameterException",
25
- "InvalidS3ConfigurationException",
26
- "InvalidSNSDestinationException",
27
- "InvalidSnsTopicException",
28
- "InvalidTemplateException",
29
- "InvalidTrackingOptionsException",
30
- "LimitExceededException",
31
- "MailFromDomainNotVerifiedException",
32
- "MessageRejected",
33
- "MissingRenderingAttributeException",
34
- "ProductionAccessNotGrantedException",
35
- "RuleDoesNotExistException",
36
- "RuleSetDoesNotExistException",
37
- "TemplateDoesNotExistException",
38
- "TrackingOptionsAlreadyExistsException",
39
- "TrackingOptionsDoesNotExistException",
40
- ];
41
- exports.SdkError = effect_1.Data.tagged("SdkError");
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvQ0EsbUNBQThCO0FBRWpCLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsK0JBQStCO0lBQy9CLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsd0NBQXdDO0lBQ3hDLHVDQUF1QztJQUN2Qyx3Q0FBd0M7SUFDeEMsZ0RBQWdEO0lBQ2hELHVEQUF1RDtJQUN2RCxzREFBc0Q7SUFDdEQsd0NBQXdDO0lBQ3hDLHVDQUF1QztJQUN2QyxzQ0FBc0M7SUFDdEMsdUNBQXVDO0lBQ3ZDLGtDQUFrQztJQUNsQyxpQ0FBaUM7SUFDakMscUNBQXFDO0lBQ3JDLGdDQUFnQztJQUNoQyx3QkFBd0I7SUFDeEIsb0NBQW9DO0lBQ3BDLGlDQUFpQztJQUNqQyxnQ0FBZ0M7SUFDaEMsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQixpQ0FBaUM7SUFDakMsd0JBQXdCO0lBQ3hCLG9DQUFvQztJQUNwQyxpQkFBaUI7SUFDakIsb0NBQW9DO0lBQ3BDLHFDQUFxQztJQUNyQywyQkFBMkI7SUFDM0IsOEJBQThCO0lBQzlCLCtCQUErQjtJQUMvQix1Q0FBdUM7SUFDdkMsc0NBQXNDO0NBQ3ZDLENBQUM7QUFvRVcsUUFBQSxRQUFRLEdBQUcsYUFBSSxDQUFDLE1BQU0sQ0FBVyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQWNjb3VudFNlbmRpbmdQYXVzZWRFeGNlcHRpb24sXG4gIEFscmVhZHlFeGlzdHNFeGNlcHRpb24sXG4gIENhbm5vdERlbGV0ZUV4Y2VwdGlvbixcbiAgQ29uZmlndXJhdGlvblNldEFscmVhZHlFeGlzdHNFeGNlcHRpb24sXG4gIENvbmZpZ3VyYXRpb25TZXREb2VzTm90RXhpc3RFeGNlcHRpb24sXG4gIENvbmZpZ3VyYXRpb25TZXRTZW5kaW5nUGF1c2VkRXhjZXB0aW9uLFxuICBDdXN0b21WZXJpZmljYXRpb25FbWFpbEludmFsaWRDb250ZW50RXhjZXB0aW9uLFxuICBDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbixcbiAgQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZURvZXNOb3RFeGlzdEV4Y2VwdGlvbixcbiAgRXZlbnREZXN0aW5hdGlvbkFscmVhZHlFeGlzdHNFeGNlcHRpb24sXG4gIEV2ZW50RGVzdGluYXRpb25Eb2VzTm90RXhpc3RFeGNlcHRpb24sXG4gIEZyb21FbWFpbEFkZHJlc3NOb3RWZXJpZmllZEV4Y2VwdGlvbixcbiAgSW52YWxpZENsb3VkV2F0Y2hEZXN0aW5hdGlvbkV4Y2VwdGlvbixcbiAgSW52YWxpZENvbmZpZ3VyYXRpb25TZXRFeGNlcHRpb24sXG4gIEludmFsaWREZWxpdmVyeU9wdGlvbnNFeGNlcHRpb24sXG4gIEludmFsaWRGaXJlaG9zZURlc3RpbmF0aW9uRXhjZXB0aW9uLFxuICBJbnZhbGlkTGFtYmRhRnVuY3Rpb25FeGNlcHRpb24sXG4gIEludmFsaWRQb2xpY3lFeGNlcHRpb24sXG4gIEludmFsaWRSZW5kZXJpbmdQYXJhbWV0ZXJFeGNlcHRpb24sXG4gIEludmFsaWRTM0NvbmZpZ3VyYXRpb25FeGNlcHRpb24sXG4gIEludmFsaWRTTlNEZXN0aW5hdGlvbkV4Y2VwdGlvbixcbiAgSW52YWxpZFNuc1RvcGljRXhjZXB0aW9uLFxuICBJbnZhbGlkVGVtcGxhdGVFeGNlcHRpb24sXG4gIEludmFsaWRUcmFja2luZ09wdGlvbnNFeGNlcHRpb24sXG4gIExpbWl0RXhjZWVkZWRFeGNlcHRpb24sXG4gIE1haWxGcm9tRG9tYWluTm90VmVyaWZpZWRFeGNlcHRpb24sXG4gIE1lc3NhZ2VSZWplY3RlZCxcbiAgTWlzc2luZ1JlbmRlcmluZ0F0dHJpYnV0ZUV4Y2VwdGlvbixcbiAgUHJvZHVjdGlvbkFjY2Vzc05vdEdyYW50ZWRFeGNlcHRpb24sXG4gIFJ1bGVEb2VzTm90RXhpc3RFeGNlcHRpb24sXG4gIFJ1bGVTZXREb2VzTm90RXhpc3RFeGNlcHRpb24sXG4gIFRlbXBsYXRlRG9lc05vdEV4aXN0RXhjZXB0aW9uLFxuICBUcmFja2luZ09wdGlvbnNBbHJlYWR5RXhpc3RzRXhjZXB0aW9uLFxuICBUcmFja2luZ09wdGlvbnNEb2VzTm90RXhpc3RFeGNlcHRpb24sXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2VzXCI7XG5pbXBvcnQgeyBEYXRhIH0gZnJvbSBcImVmZmVjdFwiO1xuXG5leHBvcnQgY29uc3QgQWxsU2VydmljZUVycm9ycyA9IFtcbiAgXCJBY2NvdW50U2VuZGluZ1BhdXNlZEV4Y2VwdGlvblwiLFxuICBcIkFscmVhZHlFeGlzdHNFeGNlcHRpb25cIixcbiAgXCJDYW5ub3REZWxldGVFeGNlcHRpb25cIixcbiAgXCJDb25maWd1cmF0aW9uU2V0QWxyZWFkeUV4aXN0c0V4Y2VwdGlvblwiLFxuICBcIkNvbmZpZ3VyYXRpb25TZXREb2VzTm90RXhpc3RFeGNlcHRpb25cIixcbiAgXCJDb25maWd1cmF0aW9uU2V0U2VuZGluZ1BhdXNlZEV4Y2VwdGlvblwiLFxuICBcIkN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsSW52YWxpZENvbnRlbnRFeGNlcHRpb25cIixcbiAgXCJDdXN0b21WZXJpZmljYXRpb25FbWFpbFRlbXBsYXRlQWxyZWFkeUV4aXN0c0V4Y2VwdGlvblwiLFxuICBcIkN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVEb2VzTm90RXhpc3RFeGNlcHRpb25cIixcbiAgXCJFdmVudERlc3RpbmF0aW9uQWxyZWFkeUV4aXN0c0V4Y2VwdGlvblwiLFxuICBcIkV2ZW50RGVzdGluYXRpb25Eb2VzTm90RXhpc3RFeGNlcHRpb25cIixcbiAgXCJGcm9tRW1haWxBZGRyZXNzTm90VmVyaWZpZWRFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkQ2xvdWRXYXRjaERlc3RpbmF0aW9uRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZENvbmZpZ3VyYXRpb25TZXRFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkRGVsaXZlcnlPcHRpb25zRXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZEZpcmVob3NlRGVzdGluYXRpb25FeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkTGFtYmRhRnVuY3Rpb25FeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkUG9saWN5RXhjZXB0aW9uXCIsXG4gIFwiSW52YWxpZFJlbmRlcmluZ1BhcmFtZXRlckV4Y2VwdGlvblwiLFxuICBcIkludmFsaWRTM0NvbmZpZ3VyYXRpb25FeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkU05TRGVzdGluYXRpb25FeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkU25zVG9waWNFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkVGVtcGxhdGVFeGNlcHRpb25cIixcbiAgXCJJbnZhbGlkVHJhY2tpbmdPcHRpb25zRXhjZXB0aW9uXCIsXG4gIFwiTGltaXRFeGNlZWRlZEV4Y2VwdGlvblwiLFxuICBcIk1haWxGcm9tRG9tYWluTm90VmVyaWZpZWRFeGNlcHRpb25cIixcbiAgXCJNZXNzYWdlUmVqZWN0ZWRcIixcbiAgXCJNaXNzaW5nUmVuZGVyaW5nQXR0cmlidXRlRXhjZXB0aW9uXCIsXG4gIFwiUHJvZHVjdGlvbkFjY2Vzc05vdEdyYW50ZWRFeGNlcHRpb25cIixcbiAgXCJSdWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uXCIsXG4gIFwiUnVsZVNldERvZXNOb3RFeGlzdEV4Y2VwdGlvblwiLFxuICBcIlRlbXBsYXRlRG9lc05vdEV4aXN0RXhjZXB0aW9uXCIsXG4gIFwiVHJhY2tpbmdPcHRpb25zQWxyZWFkeUV4aXN0c0V4Y2VwdGlvblwiLFxuICBcIlRyYWNraW5nT3B0aW9uc0RvZXNOb3RFeGlzdEV4Y2VwdGlvblwiLFxuXTtcblxuZXhwb3J0IHR5cGUgVGFnZ2VkRXhjZXB0aW9uPFQgZXh0ZW5kcyB7IG5hbWU6IHN0cmluZyB9PiA9IFQgJiB7XG4gIHJlYWRvbmx5IF90YWc6IFRbXCJuYW1lXCJdO1xufTtcblxuZXhwb3J0IHR5cGUgQWNjb3VudFNlbmRpbmdQYXVzZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxBY2NvdW50U2VuZGluZ1BhdXNlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBBbHJlYWR5RXhpc3RzRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDYW5ub3REZWxldGVFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxDYW5ub3REZWxldGVFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQ29uZmlndXJhdGlvblNldEFscmVhZHlFeGlzdHNFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDb25maWd1cmF0aW9uU2V0QWxyZWFkeUV4aXN0c0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDb25maWd1cmF0aW9uU2V0RG9lc05vdEV4aXN0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q29uZmlndXJhdGlvblNldERvZXNOb3RFeGlzdEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBDb25maWd1cmF0aW9uU2V0U2VuZGluZ1BhdXNlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENvbmZpZ3VyYXRpb25TZXRTZW5kaW5nUGF1c2VkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsSW52YWxpZENvbnRlbnRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDdXN0b21WZXJpZmljYXRpb25FbWFpbEludmFsaWRDb250ZW50RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVBbHJlYWR5RXhpc3RzRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZUFscmVhZHlFeGlzdHNFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgQ3VzdG9tVmVyaWZpY2F0aW9uRW1haWxUZW1wbGF0ZURvZXNOb3RFeGlzdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEN1c3RvbVZlcmlmaWNhdGlvbkVtYWlsVGVtcGxhdGVEb2VzTm90RXhpc3RFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgRXZlbnREZXN0aW5hdGlvbkFscmVhZHlFeGlzdHNFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxFdmVudERlc3RpbmF0aW9uQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBFdmVudERlc3RpbmF0aW9uRG9lc05vdEV4aXN0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RXZlbnREZXN0aW5hdGlvbkRvZXNOb3RFeGlzdEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBGcm9tRW1haWxBZGRyZXNzTm90VmVyaWZpZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxGcm9tRW1haWxBZGRyZXNzTm90VmVyaWZpZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZENsb3VkV2F0Y2hEZXN0aW5hdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRDbG91ZFdhdGNoRGVzdGluYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZENvbmZpZ3VyYXRpb25TZXRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkQ29uZmlndXJhdGlvblNldEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkRGVsaXZlcnlPcHRpb25zRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZERlbGl2ZXJ5T3B0aW9uc0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkRmlyZWhvc2VEZXN0aW5hdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRGaXJlaG9zZURlc3RpbmF0aW9uRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRMYW1iZGFGdW5jdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRMYW1iZGFGdW5jdGlvbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkUG9saWN5RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFBvbGljeUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkUmVuZGVyaW5nUGFyYW1ldGVyRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZFJlbmRlcmluZ1BhcmFtZXRlckV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkUzNDb25maWd1cmF0aW9uRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZFMzQ29uZmlndXJhdGlvbkV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkU05TRGVzdGluYXRpb25FcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkU05TRGVzdGluYXRpb25FeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFNuc1RvcGljRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFNuc1RvcGljRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRUZW1wbGF0ZUVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRUZW1wbGF0ZUV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkVHJhY2tpbmdPcHRpb25zRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZFRyYWNraW5nT3B0aW9uc0V4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBMaW1pdEV4Y2VlZGVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248TGltaXRFeGNlZWRlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBNYWlsRnJvbURvbWFpbk5vdFZlcmlmaWVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248TWFpbEZyb21Eb21haW5Ob3RWZXJpZmllZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBNZXNzYWdlUmVqZWN0ZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxNZXNzYWdlUmVqZWN0ZWQ+O1xuZXhwb3J0IHR5cGUgTWlzc2luZ1JlbmRlcmluZ0F0dHJpYnV0ZUVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE1pc3NpbmdSZW5kZXJpbmdBdHRyaWJ1dGVFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUHJvZHVjdGlvbkFjY2Vzc05vdEdyYW50ZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxQcm9kdWN0aW9uQWNjZXNzTm90R3JhbnRlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBSdWxlRG9lc05vdEV4aXN0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UnVsZURvZXNOb3RFeGlzdEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBSdWxlU2V0RG9lc05vdEV4aXN0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UnVsZVNldERvZXNOb3RFeGlzdEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBUZW1wbGF0ZURvZXNOb3RFeGlzdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFRlbXBsYXRlRG9lc05vdEV4aXN0RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFRyYWNraW5nT3B0aW9uc0FscmVhZHlFeGlzdHNFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxUcmFja2luZ09wdGlvbnNBbHJlYWR5RXhpc3RzRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFRyYWNraW5nT3B0aW9uc0RvZXNOb3RFeGlzdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFRyYWNraW5nT3B0aW9uc0RvZXNOb3RFeGlzdEV4Y2VwdGlvbj47XG5cbmV4cG9ydCB0eXBlIFNka0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEVycm9yICYgeyBuYW1lOiBcIlNka0Vycm9yXCIgfT47XG5leHBvcnQgY29uc3QgU2RrRXJyb3IgPSBEYXRhLnRhZ2dlZDxTZGtFcnJvcj4oXCJTZGtFcnJvclwiKTtcbiJdfQ==
@@ -1,31 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { SESClient } from "@aws-sdk/client-ses";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { SESClientInstanceConfig } from "./SESClientInstanceConfig";
9
- declare const SESClientInstance_base: Context.TagClass<SESClientInstance, "@effect-aws/client-ses/SESClientInstance", SESClient>;
10
- /**
11
- * @since 1.0.0
12
- * @category tags
13
- */
14
- export declare class SESClientInstance extends SESClientInstance_base {
15
- }
16
- /**
17
- * @since 1.0.0
18
- * @category constructors
19
- */
20
- export declare const makeSESClientInstance: Effect.Effect<SESClient, never, import("effect/Scope").Scope | SESClientInstanceConfig>;
21
- /**
22
- * @since 1.0.0
23
- * @category layers
24
- */
25
- export declare const SESClientInstanceLayer: Layer.Layer<SESClientInstance, never, SESClientInstanceConfig>;
26
- /**
27
- * @since 1.0.0
28
- * @category layers
29
- */
30
- export declare const DefaultSESClientInstanceLayer: Layer.Layer<SESClientInstance, 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.DefaultSESClientInstanceLayer = exports.SESClientInstanceLayer = exports.makeSESClientInstance = exports.SESClientInstance = void 0;
27
- /**
28
- * @since 1.0.0
29
- */
30
- const client_ses_1 = require("@aws-sdk/client-ses");
31
- const Context = __importStar(require("effect/Context"));
32
- const Effect = __importStar(require("effect/Effect"));
33
- const Layer = __importStar(require("effect/Layer"));
34
- const SESClientInstanceConfig_1 = require("./SESClientInstanceConfig");
35
- /**
36
- * @since 1.0.0
37
- * @category tags
38
- */
39
- class SESClientInstance extends Context.Tag("@effect-aws/client-ses/SESClientInstance")() {
40
- }
41
- exports.SESClientInstance = SESClientInstance;
42
- /**
43
- * @since 1.0.0
44
- * @category constructors
45
- */
46
- exports.makeSESClientInstance = Effect.flatMap(SESClientInstanceConfig_1.SESClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new client_ses_1.SESClient(config)), (client) => Effect.sync(() => client.destroy())));
47
- /**
48
- * @since 1.0.0
49
- * @category layers
50
- */
51
- exports.SESClientInstanceLayer = Layer.scoped(SESClientInstance, exports.makeSESClientInstance);
52
- /**
53
- * @since 1.0.0
54
- * @category layers
55
- */
56
- exports.DefaultSESClientInstanceLayer = exports.SESClientInstanceLayer.pipe(Layer.provide(SESClientInstanceConfig_1.DefaultSESClientConfigLayer));
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0VTQ2xpZW50SW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU0VTQ2xpZW50SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILG9EQUFnRDtBQUNoRCx3REFBMEM7QUFDMUMsc0RBQXdDO0FBQ3hDLG9EQUFzQztBQUN0Qyx1RUFHbUM7QUFFbkM7OztHQUdHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUNoRCwwQ0FBMEMsQ0FDM0MsRUFBZ0M7Q0FBRztBQUZwQyw4Q0FFb0M7QUFFcEM7OztHQUdHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUNqRCxpREFBdUIsRUFDdkIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNULE1BQU0sQ0FBQyxjQUFjLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQ3hDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUNoRCxDQUNKLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2hELGlCQUFpQixFQUNqQiw2QkFBcUIsQ0FDdEIsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsNkJBQTZCLEdBQUcsOEJBQXNCLENBQUMsSUFBSSxDQUN0RSxLQUFLLENBQUMsT0FBTyxDQUFDLHFEQUEyQixDQUFDLENBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgeyBTRVNDbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlc1wiO1xuaW1wb3J0ICogYXMgQ29udGV4dCBmcm9tIFwiZWZmZWN0L0NvbnRleHRcIjtcbmltcG9ydCAqIGFzIEVmZmVjdCBmcm9tIFwiZWZmZWN0L0VmZmVjdFwiO1xuaW1wb3J0ICogYXMgTGF5ZXIgZnJvbSBcImVmZmVjdC9MYXllclwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFNFU0NsaWVudENvbmZpZ0xheWVyLFxuICBTRVNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vU0VTQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSB0YWdzXG4gKi9cbmV4cG9ydCBjbGFzcyBTRVNDbGllbnRJbnN0YW5jZSBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1zZXMvU0VTQ2xpZW50SW5zdGFuY2VcIixcbik8U0VTQ2xpZW50SW5zdGFuY2UsIFNFU0NsaWVudD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVNFU0NsaWVudEluc3RhbmNlID0gRWZmZWN0LmZsYXRNYXAoXG4gIFNFU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICAoY29uZmlnKSA9PlxuICAgIEVmZmVjdC5hY3F1aXJlUmVsZWFzZShcbiAgICAgIEVmZmVjdC5zeW5jKCgpID0+IG5ldyBTRVNDbGllbnQoY29uZmlnKSksXG4gICAgICAoY2xpZW50KSA9PiBFZmZlY3Quc3luYygoKSA9PiBjbGllbnQuZGVzdHJveSgpKSxcbiAgICApLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNFU0NsaWVudEluc3RhbmNlTGF5ZXIgPSBMYXllci5zY29wZWQoXG4gIFNFU0NsaWVudEluc3RhbmNlLFxuICBtYWtlU0VTQ2xpZW50SW5zdGFuY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFNFU0NsaWVudEluc3RhbmNlTGF5ZXIgPSBTRVNDbGllbnRJbnN0YW5jZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRGVmYXVsdFNFU0NsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
@@ -1,23 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import type { SESClientConfig } from "@aws-sdk/client-ses";
5
- import { Context, Effect, Layer } from "effect";
6
- declare const SESClientInstanceConfig_base: Context.TagClass<SESClientInstanceConfig, "@effect-aws/client-ses/SESClientInstanceConfig", SESClientConfig>;
7
- /**
8
- * @since 1.0.0
9
- * @category tags
10
- */
11
- export declare class SESClientInstanceConfig extends SESClientInstanceConfig_base {
12
- }
13
- /**
14
- * @since 1.0.0
15
- * @category constructors
16
- */
17
- export declare const makeDefaultSESClientInstanceConfig: Effect.Effect<SESClientConfig>;
18
- /**
19
- * @since 1.0.0
20
- * @category layers
21
- */
22
- export declare const DefaultSESClientConfigLayer: Layer.Layer<SESClientInstanceConfig, never, never>;
23
- export {};
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultSESClientConfigLayer = exports.makeDefaultSESClientInstanceConfig = exports.SESClientInstanceConfig = void 0;
4
- const effect_1 = require("effect");
5
- /**
6
- * @since 1.0.0
7
- * @category tags
8
- */
9
- class SESClientInstanceConfig extends effect_1.Context.Tag("@effect-aws/client-ses/SESClientInstanceConfig")() {
10
- }
11
- exports.SESClientInstanceConfig = SESClientInstanceConfig;
12
- /**
13
- * @since 1.0.0
14
- * @category constructors
15
- */
16
- exports.makeDefaultSESClientInstanceConfig = 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.DefaultSESClientConfigLayer = effect_1.Layer.effect(SESClientInstanceConfig, exports.makeDefaultSESClientInstanceConfig);
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0VTQ2xpZW50SW5zdGFuY2VDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU0VTQ2xpZW50SW5zdGFuY2VDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsbUNBQXlEO0FBRXpEOzs7R0FHRztBQUNILE1BQWEsdUJBQXdCLFNBQVEsZ0JBQU8sQ0FBQyxHQUFHLENBQ3RELGdEQUFnRCxDQUNqRCxFQUE0QztDQUFHO0FBRmhELDBEQUVnRDtBQUVoRDs7O0dBR0c7QUFDVSxRQUFBLGtDQUFrQyxHQUM3QyxlQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDckIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQU0sQ0FBQyxPQUFPLEVBQVMsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sT0FBTyxHQUFHLGdCQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxNQUFNLEVBQUU7WUFDTixJQUFJLENBQUMsQ0FBQztnQkFDSixlQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUM7Z0JBQ0osZUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLGVBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxlQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsZUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUw7OztHQUdHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxjQUFLLENBQUMsTUFBTSxDQUNyRCx1QkFBdUIsRUFDdkIsMENBQWtDLENBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgdHlwZSB7IFNFU0NsaWVudENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2VzXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QsIExheWVyLCBSdW50aW1lIH0gZnJvbSBcImVmZmVjdFwiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIFNFU0NsaWVudEluc3RhbmNlQ29uZmlnIGV4dGVuZHMgQ29udGV4dC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LXNlcy9TRVNDbGllbnRJbnN0YW5jZUNvbmZpZ1wiLFxuKTxTRVNDbGllbnRJbnN0YW5jZUNvbmZpZywgU0VTQ2xpZW50Q29uZmlnPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRGVmYXVsdFNFU0NsaWVudEluc3RhbmNlQ29uZmlnOiBFZmZlY3QuRWZmZWN0PFNFU0NsaWVudENvbmZpZz4gPVxuICBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICAgIGNvbnN0IHJ1bnRpbWUgPSB5aWVsZCogXyhFZmZlY3QucnVudGltZTxuZXZlcj4oKSk7XG4gICAgY29uc3QgcnVuU3luYyA9IFJ1bnRpbWUucnVuU3luYyhydW50aW1lKTtcblxuICAgIHJldHVybiB7XG4gICAgICBsb2dnZXI6IHtcbiAgICAgICAgaW5mbyhtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0luZm8obSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgd2FybihtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1dhcm5pbmcobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dFcnJvcihtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICBkZWJ1ZyhtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0RlYnVnKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHRyYWNlKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nVHJhY2UobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U0VTQ2xpZW50Q29uZmlnTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIFNFU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBtYWtlRGVmYXVsdFNFU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuKTtcbiJdfQ==