@effect-aws/client-sfn 1.6.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/SFNClientInstance/package.json +6 -0
  3. package/SFNService/package.json +6 -0
  4. package/SFNServiceConfig/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 +41 -0
  8. package/dist/cjs/Errors.js.map +1 -0
  9. package/dist/cjs/SFNClientInstance.d.ts +24 -0
  10. package/dist/cjs/SFNClientInstance.d.ts.map +1 -0
  11. package/dist/cjs/SFNClientInstance.js +50 -0
  12. package/dist/cjs/SFNClientInstance.js.map +1 -0
  13. package/dist/cjs/SFNService.d.ts +189 -0
  14. package/dist/cjs/SFNService.d.ts.map +1 -0
  15. package/dist/cjs/SFNService.js +96 -0
  16. package/dist/cjs/SFNService.js.map +1 -0
  17. package/dist/cjs/SFNServiceConfig.d.ts +25 -0
  18. package/dist/cjs/SFNServiceConfig.d.ts.map +1 -0
  19. package/dist/cjs/SFNServiceConfig.js +35 -0
  20. package/dist/cjs/SFNServiceConfig.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 +40 -0
  26. package/dist/dts/Errors.d.ts.map +1 -0
  27. package/dist/dts/SFNClientInstance.d.ts +24 -0
  28. package/dist/dts/SFNClientInstance.d.ts.map +1 -0
  29. package/dist/dts/SFNService.d.ts +189 -0
  30. package/dist/dts/SFNService.d.ts.map +1 -0
  31. package/dist/dts/SFNServiceConfig.d.ts +25 -0
  32. package/dist/dts/SFNServiceConfig.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 +38 -0
  36. package/dist/esm/Errors.js.map +1 -0
  37. package/dist/esm/SFNClientInstance.js +23 -0
  38. package/dist/esm/SFNClientInstance.js.map +1 -0
  39. package/dist/esm/SFNService.js +69 -0
  40. package/dist/esm/SFNService.js.map +1 -0
  41. package/dist/esm/SFNServiceConfig.js +31 -0
  42. package/dist/esm/SFNServiceConfig.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 +110 -0
  48. package/src/SFNClientInstance.ts +33 -0
  49. package/src/SFNService.ts +796 -0
  50. package/src/SFNServiceConfig.ts +51 -0
  51. package/src/index.ts +44 -0
  52. package/CHANGELOG.md +0 -79
  53. package/docgen.json +0 -8
  54. package/lib/Errors.js +0 -41
  55. package/lib/SFNClientInstance.d.ts +0 -31
  56. package/lib/SFNClientInstance.js +0 -57
  57. package/lib/SFNClientInstanceConfig.d.ts +0 -23
  58. package/lib/SFNClientInstanceConfig.js +0 -44
  59. package/lib/SFNService.d.ts +0 -250
  60. package/lib/SFNService.js +0 -125
  61. package/lib/esm/Errors.js +0 -38
  62. package/lib/esm/SFNClientInstance.js +0 -30
  63. package/lib/esm/SFNClientInstanceConfig.js +0 -40
  64. package/lib/esm/SFNService.js +0 -121
  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 { SFNClientConfig } from "@aws-sdk/client-sfn";
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 { SFNService } from "./SFNService.js";
10
+
11
+ /**
12
+ * @since 1.0.0
13
+ * @category sfn service config
14
+ */
15
+ const currentSFNServiceConfig = globalValue(
16
+ "@effect-aws/client-sfn/currentSFNServiceConfig",
17
+ () => FiberRef.unsafeMake<SFNService.Config>({}),
18
+ );
19
+
20
+ /**
21
+ * @since 1.0.0
22
+ * @category sfn service config
23
+ */
24
+ export const withSFNServiceConfig: {
25
+ (config: SFNService.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: SFNService.Config): Effect.Effect<A, E, R>;
27
+ } = dual(
28
+ 2,
29
+ <A, E, R>(effect: Effect.Effect<A, E, R>, config: SFNService.Config): Effect.Effect<A, E, R> =>
30
+ Effect.locally(effect, currentSFNServiceConfig, config),
31
+ );
32
+
33
+ /**
34
+ * @since 1.0.0
35
+ * @category sfn service config
36
+ */
37
+ export const setSFNServiceConfig = (config: SFNService.Config) => Layer.locallyScoped(currentSFNServiceConfig, config);
38
+
39
+ /**
40
+ * @since 1.0.0
41
+ * @category adapters
42
+ */
43
+ export const toSFNClientConfig: Effect.Effect<SFNClientConfig> = Effect.gen(function*() {
44
+ const { logger: serviceLogger, ...config } = yield* FiberRef.get(currentSFNServiceConfig);
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 { SFNService } from "./SFNService.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 SFNClientInstance from "./SFNClientInstance.js";
15
+
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export * as SFNServiceConfig from "./SFNServiceConfig.js";
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ */
24
+ export * from "./SFNService.js";
25
+
26
+ /**
27
+ * @since 1.0.0
28
+ * @category exports
29
+ * @alias SFNService
30
+ */
31
+ export declare namespace SFN {
32
+ /**
33
+ * @since 1.0.0
34
+ * @alias SFNService.Config
35
+ */
36
+ export type Config = SFNService.Config;
37
+ }
38
+
39
+ /**
40
+ * @since 1.0.0
41
+ * @category exports
42
+ * @alias SFNService
43
+ */
44
+ export const SFN = SFNService;
package/CHANGELOG.md DELETED
@@ -1,79 +0,0 @@
1
- # @effect-aws/client-sfn
2
-
3
- ## 1.6.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.5.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.4.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.4.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.3.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.2.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.1.1
40
-
41
- ### Patch Changes
42
-
43
- - [`b2f00db`](https://github.com/floydspace/effect-aws/commit/b2f00db5fdffaa74bcb124324db7313bd4f218df) Thanks [@floydspace](https://github.com/floydspace)! - update effect peer version
44
-
45
- ## 1.1.0
46
-
47
- ### Minor Changes
48
-
49
- - [`82eaea7`](https://github.com/floydspace/effect-aws/commit/82eaea778048c9ebba98682196448b0aa1586d2e) Thanks [@floydspace](https://github.com/floydspace)! - upgrade effect to v2.3 and fix breaking changes
50
-
51
- ## 1.0.2
52
-
53
- ### Patch Changes
54
-
55
- - [`88676ae`](https://github.com/floydspace/effect-aws/commit/88676ae3a5f7fa514cab58ba83a50a0774be1aa1) Thanks [@floydspace](https://github.com/floydspace)! - use effect@~2.2 as maximum allowed peer version
56
-
57
- ## 1.0.1
58
-
59
- ### Patch Changes
60
-
61
- - [#29](https://github.com/floydspace/effect-aws/pull/29) [`4b6c521`](https://github.com/floydspace/effect-aws/commit/4b6c521206c8ff76ff878938f6b90ee474cc8da2) Thanks [@godu](https://github.com/godu)! - improve tree shaking by using sideEffects flag
62
-
63
- ## 1.0.0
64
-
65
- ### Major Changes
66
-
67
- - [`3e5d0b3`](https://github.com/floydspace/effect-aws/commit/3e5d0b3b3882e0aa6d07bc06432990551316ac30) Thanks [@floydspace](https://github.com/floydspace)! - Upgrade to effect v2 and release stable version
68
-
69
- ## 0.2.0
70
-
71
- ### Minor Changes
72
-
73
- - [`9058353`](https://github.com/floydspace/effect-aws/commit/9058353c86eef256221e4b6bd137aa55b312ecd9) Thanks [@floydspace](https://github.com/floydspace)! - return tagged errors in the failure channel
74
-
75
- ## 0.1.0
76
-
77
- ### Minor Changes
78
-
79
- - [`651bc38`](https://github.com/floydspace/effect-aws/commit/651bc380e3f927835483f74fdde43640eff03055) Thanks [@floydspace](https://github.com/floydspace)! - implement effectful step functions 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,41 +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
- "ActivityAlreadyExists",
7
- "ActivityDoesNotExist",
8
- "ActivityLimitExceeded",
9
- "ActivityWorkerLimitExceeded",
10
- "ConflictException",
11
- "ExecutionAlreadyExists",
12
- "ExecutionDoesNotExist",
13
- "ExecutionLimitExceeded",
14
- "ExecutionNotRedrivable",
15
- "InvalidArn",
16
- "InvalidDefinition",
17
- "InvalidEncryptionConfiguration",
18
- "InvalidExecutionInput",
19
- "InvalidLoggingConfiguration",
20
- "InvalidName",
21
- "InvalidOutput",
22
- "InvalidToken",
23
- "InvalidTracingConfiguration",
24
- "KmsAccessDeniedException",
25
- "KmsInvalidStateException",
26
- "KmsThrottlingException",
27
- "MissingRequiredParameter",
28
- "ResourceNotFound",
29
- "ServiceQuotaExceededException",
30
- "StateMachineAlreadyExists",
31
- "StateMachineDeleting",
32
- "StateMachineDoesNotExist",
33
- "StateMachineLimitExceeded",
34
- "StateMachineTypeNotSupported",
35
- "TaskDoesNotExist",
36
- "TaskTimedOut",
37
- "TooManyTags",
38
- "ValidationException",
39
- ];
40
- exports.SdkError = effect_1.Data.tagged("SdkError");
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtQ0EsbUNBQThCO0FBRWpCLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsdUJBQXVCO0lBQ3ZCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixnQ0FBZ0M7SUFDaEMsdUJBQXVCO0lBQ3ZCLDZCQUE2QjtJQUM3QixhQUFhO0lBQ2IsZUFBZTtJQUNmLGNBQWM7SUFDZCw2QkFBNkI7SUFDN0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQiwrQkFBK0I7SUFDL0IsMkJBQTJCO0lBQzNCLHNCQUFzQjtJQUN0QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDhCQUE4QjtJQUM5QixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGFBQWE7SUFDYixxQkFBcUI7Q0FDdEIsQ0FBQztBQXNEVyxRQUFBLFFBQVEsR0FBRyxhQUFJLENBQUMsTUFBTSxDQUFXLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBY3Rpdml0eUFscmVhZHlFeGlzdHMsXG4gIEFjdGl2aXR5RG9lc05vdEV4aXN0LFxuICBBY3Rpdml0eUxpbWl0RXhjZWVkZWQsXG4gIEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZCxcbiAgQ29uZmxpY3RFeGNlcHRpb24sXG4gIEV4ZWN1dGlvbkFscmVhZHlFeGlzdHMsXG4gIEV4ZWN1dGlvbkRvZXNOb3RFeGlzdCxcbiAgRXhlY3V0aW9uTGltaXRFeGNlZWRlZCxcbiAgRXhlY3V0aW9uTm90UmVkcml2YWJsZSxcbiAgSW52YWxpZEFybixcbiAgSW52YWxpZERlZmluaXRpb24sXG4gIEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbixcbiAgSW52YWxpZEV4ZWN1dGlvbklucHV0LFxuICBJbnZhbGlkTG9nZ2luZ0NvbmZpZ3VyYXRpb24sXG4gIEludmFsaWROYW1lLFxuICBJbnZhbGlkT3V0cHV0LFxuICBJbnZhbGlkVG9rZW4sXG4gIEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbixcbiAgS21zQWNjZXNzRGVuaWVkRXhjZXB0aW9uLFxuICBLbXNJbnZhbGlkU3RhdGVFeGNlcHRpb24sXG4gIEttc1Rocm90dGxpbmdFeGNlcHRpb24sXG4gIE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlcixcbiAgUmVzb3VyY2VOb3RGb3VuZCxcbiAgU2VydmljZVF1b3RhRXhjZWVkZWRFeGNlcHRpb24sXG4gIFN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHMsXG4gIFN0YXRlTWFjaGluZURlbGV0aW5nLFxuICBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3QsXG4gIFN0YXRlTWFjaGluZUxpbWl0RXhjZWVkZWQsXG4gIFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWQsXG4gIFRhc2tEb2VzTm90RXhpc3QsXG4gIFRhc2tUaW1lZE91dCxcbiAgVG9vTWFueVRhZ3MsXG4gIFZhbGlkYXRpb25FeGNlcHRpb24sXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2ZuXCI7XG5pbXBvcnQgeyBEYXRhIH0gZnJvbSBcImVmZmVjdFwiO1xuXG5leHBvcnQgY29uc3QgQWxsU2VydmljZUVycm9ycyA9IFtcbiAgXCJBY3Rpdml0eUFscmVhZHlFeGlzdHNcIixcbiAgXCJBY3Rpdml0eURvZXNOb3RFeGlzdFwiLFxuICBcIkFjdGl2aXR5TGltaXRFeGNlZWRlZFwiLFxuICBcIkFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZFwiLFxuICBcIkNvbmZsaWN0RXhjZXB0aW9uXCIsXG4gIFwiRXhlY3V0aW9uQWxyZWFkeUV4aXN0c1wiLFxuICBcIkV4ZWN1dGlvbkRvZXNOb3RFeGlzdFwiLFxuICBcIkV4ZWN1dGlvbkxpbWl0RXhjZWVkZWRcIixcbiAgXCJFeGVjdXRpb25Ob3RSZWRyaXZhYmxlXCIsXG4gIFwiSW52YWxpZEFyblwiLFxuICBcIkludmFsaWREZWZpbml0aW9uXCIsXG4gIFwiSW52YWxpZEVuY3J5cHRpb25Db25maWd1cmF0aW9uXCIsXG4gIFwiSW52YWxpZEV4ZWN1dGlvbklucHV0XCIsXG4gIFwiSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uXCIsXG4gIFwiSW52YWxpZE5hbWVcIixcbiAgXCJJbnZhbGlkT3V0cHV0XCIsXG4gIFwiSW52YWxpZFRva2VuXCIsXG4gIFwiSW52YWxpZFRyYWNpbmdDb25maWd1cmF0aW9uXCIsXG4gIFwiS21zQWNjZXNzRGVuaWVkRXhjZXB0aW9uXCIsXG4gIFwiS21zSW52YWxpZFN0YXRlRXhjZXB0aW9uXCIsXG4gIFwiS21zVGhyb3R0bGluZ0V4Y2VwdGlvblwiLFxuICBcIk1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlclwiLFxuICBcIlJlc291cmNlTm90Rm91bmRcIixcbiAgXCJTZXJ2aWNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvblwiLFxuICBcIlN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHNcIixcbiAgXCJTdGF0ZU1hY2hpbmVEZWxldGluZ1wiLFxuICBcIlN0YXRlTWFjaGluZURvZXNOb3RFeGlzdFwiLFxuICBcIlN0YXRlTWFjaGluZUxpbWl0RXhjZWVkZWRcIixcbiAgXCJTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkXCIsXG4gIFwiVGFza0RvZXNOb3RFeGlzdFwiLFxuICBcIlRhc2tUaW1lZE91dFwiLFxuICBcIlRvb01hbnlUYWdzXCIsXG4gIFwiVmFsaWRhdGlvbkV4Y2VwdGlvblwiLFxuXTtcblxuZXhwb3J0IHR5cGUgVGFnZ2VkRXhjZXB0aW9uPFQgZXh0ZW5kcyB7IG5hbWU6IHN0cmluZyB9PiA9IFQgJiB7XG4gIHJlYWRvbmx5IF90YWc6IFRbXCJuYW1lXCJdO1xufTtcblxuZXhwb3J0IHR5cGUgQWN0aXZpdHlBbHJlYWR5RXhpc3RzRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248QWN0aXZpdHlBbHJlYWR5RXhpc3RzPjtcbmV4cG9ydCB0eXBlIEFjdGl2aXR5RG9lc05vdEV4aXN0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248QWN0aXZpdHlEb2VzTm90RXhpc3Q+O1xuZXhwb3J0IHR5cGUgQWN0aXZpdHlMaW1pdEV4Y2VlZGVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248QWN0aXZpdHlMaW1pdEV4Y2VlZGVkPjtcbmV4cG9ydCB0eXBlIEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZD47XG5leHBvcnQgdHlwZSBDb25mbGljdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPENvbmZsaWN0RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEV4ZWN1dGlvbkFscmVhZHlFeGlzdHNFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxFeGVjdXRpb25BbHJlYWR5RXhpc3RzPjtcbmV4cG9ydCB0eXBlIEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEV4ZWN1dGlvbkRvZXNOb3RFeGlzdD47XG5leHBvcnQgdHlwZSBFeGVjdXRpb25MaW1pdEV4Y2VlZGVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RXhlY3V0aW9uTGltaXRFeGNlZWRlZD47XG5leHBvcnQgdHlwZSBFeGVjdXRpb25Ob3RSZWRyaXZhYmxlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RXhlY3V0aW9uTm90UmVkcml2YWJsZT47XG5leHBvcnQgdHlwZSBJbnZhbGlkQXJuRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZEFybj47XG5leHBvcnQgdHlwZSBJbnZhbGlkRGVmaW5pdGlvbkVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWREZWZpbml0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkRXhlY3V0aW9uSW5wdXQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWROYW1lRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZE5hbWU+O1xuZXhwb3J0IHR5cGUgSW52YWxpZE91dHB1dEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRPdXRwdXQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFRva2VuRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFRva2VuPjtcbmV4cG9ydCB0eXBlIEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbj47XG5leHBvcnQgdHlwZSBLbXNBY2Nlc3NEZW5pZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxLbXNBY2Nlc3NEZW5pZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgS21zSW52YWxpZFN0YXRlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248S21zSW52YWxpZFN0YXRlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEttc1Rocm90dGxpbmdFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxLbXNUaHJvdHRsaW5nRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlckVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlcj47XG5leHBvcnQgdHlwZSBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VOb3RGb3VuZD47XG5leHBvcnQgdHlwZSBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNlcnZpY2VRdW90YUV4Y2VlZGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHNFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTdGF0ZU1hY2hpbmVBbHJlYWR5RXhpc3RzPjtcbmV4cG9ydCB0eXBlIFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U3RhdGVNYWNoaW5lRGVsZXRpbmc+O1xuZXhwb3J0IHR5cGUgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0PjtcbmV4cG9ydCB0eXBlIFN0YXRlTWFjaGluZUxpbWl0RXhjZWVkZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTdGF0ZU1hY2hpbmVMaW1pdEV4Y2VlZGVkPjtcbmV4cG9ydCB0eXBlIFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkPjtcbmV4cG9ydCB0eXBlIFRhc2tEb2VzTm90RXhpc3RFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxUYXNrRG9lc05vdEV4aXN0PjtcbmV4cG9ydCB0eXBlIFRhc2tUaW1lZE91dEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFRhc2tUaW1lZE91dD47XG5leHBvcnQgdHlwZSBUb29NYW55VGFnc0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFRvb01hbnlUYWdzPjtcbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25FcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxWYWxpZGF0aW9uRXhjZXB0aW9uPjtcblxuZXhwb3J0IHR5cGUgU2RrRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RXJyb3IgJiB7IG5hbWU6IFwiU2RrRXJyb3JcIiB9PjtcbmV4cG9ydCBjb25zdCBTZGtFcnJvciA9IERhdGEudGFnZ2VkPFNka0Vycm9yPihcIlNka0Vycm9yXCIpO1xuIl19
@@ -1,31 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { SFNClient } from "@aws-sdk/client-sfn";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { SFNClientInstanceConfig } from "./SFNClientInstanceConfig";
9
- declare const SFNClientInstance_base: Context.TagClass<SFNClientInstance, "@effect-aws/client-sfn/SFNClientInstance", SFNClient>;
10
- /**
11
- * @since 1.0.0
12
- * @category tags
13
- */
14
- export declare class SFNClientInstance extends SFNClientInstance_base {
15
- }
16
- /**
17
- * @since 1.0.0
18
- * @category constructors
19
- */
20
- export declare const makeSFNClientInstance: Effect.Effect<SFNClient, never, import("effect/Scope").Scope | SFNClientInstanceConfig>;
21
- /**
22
- * @since 1.0.0
23
- * @category layers
24
- */
25
- export declare const SFNClientInstanceLayer: Layer.Layer<SFNClientInstance, never, SFNClientInstanceConfig>;
26
- /**
27
- * @since 1.0.0
28
- * @category layers
29
- */
30
- export declare const DefaultSFNClientInstanceLayer: Layer.Layer<SFNClientInstance, 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.DefaultSFNClientInstanceLayer = exports.SFNClientInstanceLayer = exports.makeSFNClientInstance = exports.SFNClientInstance = void 0;
27
- /**
28
- * @since 1.0.0
29
- */
30
- const client_sfn_1 = require("@aws-sdk/client-sfn");
31
- const Context = __importStar(require("effect/Context"));
32
- const Effect = __importStar(require("effect/Effect"));
33
- const Layer = __importStar(require("effect/Layer"));
34
- const SFNClientInstanceConfig_1 = require("./SFNClientInstanceConfig");
35
- /**
36
- * @since 1.0.0
37
- * @category tags
38
- */
39
- class SFNClientInstance extends Context.Tag("@effect-aws/client-sfn/SFNClientInstance")() {
40
- }
41
- exports.SFNClientInstance = SFNClientInstance;
42
- /**
43
- * @since 1.0.0
44
- * @category constructors
45
- */
46
- exports.makeSFNClientInstance = Effect.flatMap(SFNClientInstanceConfig_1.SFNClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new client_sfn_1.SFNClient(config)), (client) => Effect.sync(() => client.destroy())));
47
- /**
48
- * @since 1.0.0
49
- * @category layers
50
- */
51
- exports.SFNClientInstanceLayer = Layer.scoped(SFNClientInstance, exports.makeSFNClientInstance);
52
- /**
53
- * @since 1.0.0
54
- * @category layers
55
- */
56
- exports.DefaultSFNClientInstanceLayer = exports.SFNClientInstanceLayer.pipe(Layer.provide(SFNClientInstanceConfig_1.DefaultSFNClientConfigLayer));
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOQ2xpZW50SW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU0ZOQ2xpZW50SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILG9EQUFnRDtBQUNoRCx3REFBMEM7QUFDMUMsc0RBQXdDO0FBQ3hDLG9EQUFzQztBQUN0Qyx1RUFHbUM7QUFFbkM7OztHQUdHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUNoRCwwQ0FBMEMsQ0FDM0MsRUFBZ0M7Q0FBRztBQUZwQyw4Q0FFb0M7QUFFcEM7OztHQUdHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUNqRCxpREFBdUIsRUFDdkIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNULE1BQU0sQ0FBQyxjQUFjLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQ3hDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUNoRCxDQUNKLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ2hELGlCQUFpQixFQUNqQiw2QkFBcUIsQ0FDdEIsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsNkJBQTZCLEdBQUcsOEJBQXNCLENBQUMsSUFBSSxDQUN0RSxLQUFLLENBQUMsT0FBTyxDQUFDLHFEQUEyQixDQUFDLENBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgeyBTRk5DbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNmblwiO1xuaW1wb3J0ICogYXMgQ29udGV4dCBmcm9tIFwiZWZmZWN0L0NvbnRleHRcIjtcbmltcG9ydCAqIGFzIEVmZmVjdCBmcm9tIFwiZWZmZWN0L0VmZmVjdFwiO1xuaW1wb3J0ICogYXMgTGF5ZXIgZnJvbSBcImVmZmVjdC9MYXllclwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFNGTkNsaWVudENvbmZpZ0xheWVyLFxuICBTRk5DbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vU0ZOQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSB0YWdzXG4gKi9cbmV4cG9ydCBjbGFzcyBTRk5DbGllbnRJbnN0YW5jZSBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1zZm4vU0ZOQ2xpZW50SW5zdGFuY2VcIixcbik8U0ZOQ2xpZW50SW5zdGFuY2UsIFNGTkNsaWVudD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVNGTkNsaWVudEluc3RhbmNlID0gRWZmZWN0LmZsYXRNYXAoXG4gIFNGTkNsaWVudEluc3RhbmNlQ29uZmlnLFxuICAoY29uZmlnKSA9PlxuICAgIEVmZmVjdC5hY3F1aXJlUmVsZWFzZShcbiAgICAgIEVmZmVjdC5zeW5jKCgpID0+IG5ldyBTRk5DbGllbnQoY29uZmlnKSksXG4gICAgICAoY2xpZW50KSA9PiBFZmZlY3Quc3luYygoKSA9PiBjbGllbnQuZGVzdHJveSgpKSxcbiAgICApLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNGTkNsaWVudEluc3RhbmNlTGF5ZXIgPSBMYXllci5zY29wZWQoXG4gIFNGTkNsaWVudEluc3RhbmNlLFxuICBtYWtlU0ZOQ2xpZW50SW5zdGFuY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFNGTkNsaWVudEluc3RhbmNlTGF5ZXIgPSBTRk5DbGllbnRJbnN0YW5jZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRGVmYXVsdFNGTkNsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
@@ -1,23 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import type { SFNClientConfig } from "@aws-sdk/client-sfn";
5
- import { Context, Effect, Layer } from "effect";
6
- declare const SFNClientInstanceConfig_base: Context.TagClass<SFNClientInstanceConfig, "@effect-aws/client-sfn/SFNClientInstanceConfig", SFNClientConfig>;
7
- /**
8
- * @since 1.0.0
9
- * @category tags
10
- */
11
- export declare class SFNClientInstanceConfig extends SFNClientInstanceConfig_base {
12
- }
13
- /**
14
- * @since 1.0.0
15
- * @category constructors
16
- */
17
- export declare const makeDefaultSFNClientInstanceConfig: Effect.Effect<SFNClientConfig>;
18
- /**
19
- * @since 1.0.0
20
- * @category layers
21
- */
22
- export declare const DefaultSFNClientConfigLayer: Layer.Layer<SFNClientInstanceConfig, never, never>;
23
- export {};
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultSFNClientConfigLayer = exports.makeDefaultSFNClientInstanceConfig = exports.SFNClientInstanceConfig = void 0;
4
- const effect_1 = require("effect");
5
- /**
6
- * @since 1.0.0
7
- * @category tags
8
- */
9
- class SFNClientInstanceConfig extends effect_1.Context.Tag("@effect-aws/client-sfn/SFNClientInstanceConfig")() {
10
- }
11
- exports.SFNClientInstanceConfig = SFNClientInstanceConfig;
12
- /**
13
- * @since 1.0.0
14
- * @category constructors
15
- */
16
- exports.makeDefaultSFNClientInstanceConfig = 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.DefaultSFNClientConfigLayer = effect_1.Layer.effect(SFNClientInstanceConfig, exports.makeDefaultSFNClientInstanceConfig);
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOQ2xpZW50SW5zdGFuY2VDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU0ZOQ2xpZW50SW5zdGFuY2VDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsbUNBQXlEO0FBRXpEOzs7R0FHRztBQUNILE1BQWEsdUJBQXdCLFNBQVEsZ0JBQU8sQ0FBQyxHQUFHLENBQ3RELGdEQUFnRCxDQUNqRCxFQUE0QztDQUFHO0FBRmhELDBEQUVnRDtBQUVoRDs7O0dBR0c7QUFDVSxRQUFBLGtDQUFrQyxHQUM3QyxlQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDckIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQU0sQ0FBQyxPQUFPLEVBQVMsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sT0FBTyxHQUFHLGdCQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxNQUFNLEVBQUU7WUFDTixJQUFJLENBQUMsQ0FBQztnQkFDSixlQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUM7Z0JBQ0osZUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLGVBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxlQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsZUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUw7OztHQUdHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxjQUFLLENBQUMsTUFBTSxDQUNyRCx1QkFBdUIsRUFDdkIsMENBQWtDLENBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgdHlwZSB7IFNGTkNsaWVudENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2ZuXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QsIExheWVyLCBSdW50aW1lIH0gZnJvbSBcImVmZmVjdFwiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIFNGTkNsaWVudEluc3RhbmNlQ29uZmlnIGV4dGVuZHMgQ29udGV4dC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LXNmbi9TRk5DbGllbnRJbnN0YW5jZUNvbmZpZ1wiLFxuKTxTRk5DbGllbnRJbnN0YW5jZUNvbmZpZywgU0ZOQ2xpZW50Q29uZmlnPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRGVmYXVsdFNGTkNsaWVudEluc3RhbmNlQ29uZmlnOiBFZmZlY3QuRWZmZWN0PFNGTkNsaWVudENvbmZpZz4gPVxuICBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICAgIGNvbnN0IHJ1bnRpbWUgPSB5aWVsZCogXyhFZmZlY3QucnVudGltZTxuZXZlcj4oKSk7XG4gICAgY29uc3QgcnVuU3luYyA9IFJ1bnRpbWUucnVuU3luYyhydW50aW1lKTtcblxuICAgIHJldHVybiB7XG4gICAgICBsb2dnZXI6IHtcbiAgICAgICAgaW5mbyhtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0luZm8obSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgd2FybihtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1dhcm5pbmcobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dFcnJvcihtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICBkZWJ1ZyhtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0RlYnVnKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHRyYWNlKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nVHJhY2UobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U0ZOQ2xpZW50Q29uZmlnTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIFNGTkNsaWVudEluc3RhbmNlQ29uZmlnLFxuICBtYWtlRGVmYXVsdFNGTkNsaWVudEluc3RhbmNlQ29uZmlnLFxuKTtcbiJdfQ==