@effect-aws/client-s3 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.
- package/Errors/package.json +6 -0
- package/S3ClientInstance/package.json +6 -0
- package/S3Service/package.json +6 -0
- package/S3ServiceConfig/package.json +6 -0
- package/{lib → dist/cjs}/Errors.d.ts +6 -10
- package/dist/cjs/Errors.d.ts.map +1 -0
- package/dist/cjs/Errors.js +23 -0
- package/dist/cjs/Errors.js.map +1 -0
- package/dist/cjs/S3ClientInstance.d.ts +24 -0
- package/dist/cjs/S3ClientInstance.d.ts.map +1 -0
- package/dist/cjs/S3ClientInstance.js +50 -0
- package/dist/cjs/S3ClientInstance.js.map +1 -0
- package/{lib → dist/cjs}/S3Service.d.ts +17 -137
- package/dist/cjs/S3Service.d.ts.map +1 -0
- package/dist/cjs/S3Service.js +164 -0
- package/dist/cjs/S3Service.js.map +1 -0
- package/dist/cjs/S3ServiceConfig.d.ts +25 -0
- package/dist/cjs/S3ServiceConfig.d.ts.map +1 -0
- package/dist/cjs/S3ServiceConfig.js +35 -0
- package/dist/cjs/S3ServiceConfig.js.map +1 -0
- package/dist/cjs/index.d.ts +39 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +56 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/dts/Errors.d.ts +25 -0
- package/dist/dts/Errors.d.ts.map +1 -0
- package/dist/dts/S3ClientInstance.d.ts +24 -0
- package/dist/dts/S3ClientInstance.d.ts.map +1 -0
- package/dist/dts/S3Service.d.ts +446 -0
- package/dist/dts/S3Service.d.ts.map +1 -0
- package/dist/dts/S3ServiceConfig.d.ts +25 -0
- package/dist/dts/S3ServiceConfig.d.ts.map +1 -0
- package/dist/dts/index.d.ts +39 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/esm/Errors.js +20 -0
- package/dist/esm/Errors.js.map +1 -0
- package/dist/esm/S3ClientInstance.js +23 -0
- package/dist/esm/S3ClientInstance.js.map +1 -0
- package/dist/esm/S3Service.js +137 -0
- package/dist/esm/S3Service.js.map +1 -0
- package/dist/esm/S3ServiceConfig.js +31 -0
- package/dist/esm/S3ServiceConfig.js.map +1 -0
- package/dist/esm/index.js +27 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +61 -44
- package/src/Errors.ts +56 -0
- package/src/S3ClientInstance.ts +33 -0
- package/src/S3Service.ts +1584 -0
- package/src/S3ServiceConfig.ts +51 -0
- package/src/index.ts +44 -0
- package/CHANGELOG.md +0 -137
- package/docgen.json +0 -8
- package/lib/Errors.js +0 -22
- package/lib/S3ClientInstance.d.ts +0 -31
- package/lib/S3ClientInstance.js +0 -57
- package/lib/S3ClientInstanceConfig.d.ts +0 -23
- package/lib/S3ClientInstanceConfig.js +0 -44
- package/lib/S3Service.js +0 -192
- package/lib/esm/Errors.js +0 -19
- package/lib/esm/S3ClientInstance.js +0 -30
- package/lib/esm/S3ClientInstanceConfig.js +0 -40
- package/lib/esm/S3Service.js +0 -188
- package/lib/esm/index.js +0 -5
- package/lib/index.d.ts +0 -4
- package/lib/index.js +0 -21
- package/project.json +0 -77
- package/vitest.config.ts +0 -3
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type { S3ClientConfig } from "@aws-sdk/client-s3";
|
|
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 { S3Service } from "./S3Service.js";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
* @category s3 service config
|
|
14
|
+
*/
|
|
15
|
+
const currentS3ServiceConfig = globalValue(
|
|
16
|
+
"@effect-aws/client-s3/currentS3ServiceConfig",
|
|
17
|
+
() => FiberRef.unsafeMake<S3Service.Config>({}),
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @since 1.0.0
|
|
22
|
+
* @category s3 service config
|
|
23
|
+
*/
|
|
24
|
+
export const withS3ServiceConfig: {
|
|
25
|
+
(config: S3Service.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: S3Service.Config): Effect.Effect<A, E, R>;
|
|
27
|
+
} = dual(
|
|
28
|
+
2,
|
|
29
|
+
<A, E, R>(effect: Effect.Effect<A, E, R>, config: S3Service.Config): Effect.Effect<A, E, R> =>
|
|
30
|
+
Effect.locally(effect, currentS3ServiceConfig, config),
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @since 1.0.0
|
|
35
|
+
* @category s3 service config
|
|
36
|
+
*/
|
|
37
|
+
export const setS3ServiceConfig = (config: S3Service.Config) => Layer.locallyScoped(currentS3ServiceConfig, config);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* @since 1.0.0
|
|
41
|
+
* @category adapters
|
|
42
|
+
*/
|
|
43
|
+
export const toS3ClientConfig: Effect.Effect<S3ClientConfig> = Effect.gen(function*() {
|
|
44
|
+
const { logger: serviceLogger, ...config } = yield* FiberRef.get(currentS3ServiceConfig);
|
|
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 { S3Service } from "./S3Service.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 S3ClientInstance from "./S3ClientInstance.js";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
*/
|
|
19
|
+
export * as S3ServiceConfig from "./S3ServiceConfig.js";
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @since 1.0.0
|
|
23
|
+
*/
|
|
24
|
+
export * from "./S3Service.js";
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @since 1.0.0
|
|
28
|
+
* @category exports
|
|
29
|
+
* @alias S3Service
|
|
30
|
+
*/
|
|
31
|
+
export declare namespace S3 {
|
|
32
|
+
/**
|
|
33
|
+
* @since 1.0.0
|
|
34
|
+
* @alias S3Service.Config
|
|
35
|
+
*/
|
|
36
|
+
export type Config = S3Service.Config;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* @since 1.0.0
|
|
41
|
+
* @category exports
|
|
42
|
+
* @alias S3Service
|
|
43
|
+
*/
|
|
44
|
+
export const S3 = S3Service;
|
package/CHANGELOG.md
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
# @effect-aws/client-s3
|
|
2
|
-
|
|
3
|
-
## 1.6.0
|
|
4
|
-
|
|
5
|
-
### Minor Changes
|
|
6
|
-
|
|
7
|
-
- [`ca9ea34`](https://github.com/floydspace/effect-aws/commit/ca9ea3451567a2ab25a5919ea79b9169605890d6) Thanks [@floydspace](https://github.com/floydspace)! - updates is sdk client functions
|
|
8
|
-
|
|
9
|
-
- [#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.
|
|
10
|
-
|
|
11
|
-
## 1.5.1
|
|
12
|
-
|
|
13
|
-
### Patch Changes
|
|
14
|
-
|
|
15
|
-
- [`a17e239`](https://github.com/floydspace/effect-aws/commit/a17e239530a7050459b78b4781a4c8ce8dcbc32b) Thanks [@floydspace](https://github.com/floydspace)! - Fix service level function types exporting when using overloading
|
|
16
|
-
|
|
17
|
-
## 1.5.0
|
|
18
|
-
|
|
19
|
-
### Minor Changes
|
|
20
|
-
|
|
21
|
-
- [#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)
|
|
22
|
-
|
|
23
|
-
## 1.4.1
|
|
24
|
-
|
|
25
|
-
### Patch Changes
|
|
26
|
-
|
|
27
|
-
- [#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
|
|
28
|
-
|
|
29
|
-
## 1.4.0
|
|
30
|
-
|
|
31
|
-
### Minor Changes
|
|
32
|
-
|
|
33
|
-
- [`dfddb5a`](https://github.com/floydspace/effect-aws/commit/dfddb5a5f1f3c2bacb27ddbfbe9b65e1a5cea6e7) Thanks [@floydspace](https://github.com/floydspace)! - replace generic tag with effect tag for ec2 and s3 services
|
|
34
|
-
|
|
35
|
-
- [`e540420`](https://github.com/floydspace/effect-aws/commit/e5404208c2438e1e1546637a8edbbdc1c9468850) Thanks [@floydspace](https://github.com/floydspace)! - integrate aws-sdk abort signal with effect interruption
|
|
36
|
-
|
|
37
|
-
## 1.3.0
|
|
38
|
-
|
|
39
|
-
### Minor Changes
|
|
40
|
-
|
|
41
|
-
- [`0cfcda0`](https://github.com/floydspace/effect-aws/commit/0cfcda0d5617916d966807f5d5120df9ba461c12) Thanks [@floydspace](https://github.com/floydspace)! - upgrade effect to v3
|
|
42
|
-
|
|
43
|
-
## 1.2.0
|
|
44
|
-
|
|
45
|
-
### Minor Changes
|
|
46
|
-
|
|
47
|
-
- [#42](https://github.com/floydspace/effect-aws/pull/42) [`2fd893a`](https://github.com/floydspace/effect-aws/commit/2fd893abe4bcc2b4d7c3bc346cc618ca704171f3) Thanks [@godu](https://github.com/godu)! - extended errors in s3 service
|
|
48
|
-
|
|
49
|
-
## 1.1.1
|
|
50
|
-
|
|
51
|
-
### Patch Changes
|
|
52
|
-
|
|
53
|
-
- [`b2f00db`](https://github.com/floydspace/effect-aws/commit/b2f00db5fdffaa74bcb124324db7313bd4f218df) Thanks [@floydspace](https://github.com/floydspace)! - update effect peer version
|
|
54
|
-
|
|
55
|
-
## 1.1.0
|
|
56
|
-
|
|
57
|
-
### Minor Changes
|
|
58
|
-
|
|
59
|
-
- [`82eaea7`](https://github.com/floydspace/effect-aws/commit/82eaea778048c9ebba98682196448b0aa1586d2e) Thanks [@floydspace](https://github.com/floydspace)! - upgrade effect to v2.3 and fix breaking changes
|
|
60
|
-
|
|
61
|
-
## 1.0.2
|
|
62
|
-
|
|
63
|
-
### Patch Changes
|
|
64
|
-
|
|
65
|
-
- [`88676ae`](https://github.com/floydspace/effect-aws/commit/88676ae3a5f7fa514cab58ba83a50a0774be1aa1) Thanks [@floydspace](https://github.com/floydspace)! - use effect@~2.2 as maximum allowed peer version
|
|
66
|
-
|
|
67
|
-
## 1.0.1
|
|
68
|
-
|
|
69
|
-
### Patch Changes
|
|
70
|
-
|
|
71
|
-
- [#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
|
|
72
|
-
|
|
73
|
-
## 1.0.0
|
|
74
|
-
|
|
75
|
-
### Major Changes
|
|
76
|
-
|
|
77
|
-
- [`3e5d0b3`](https://github.com/floydspace/effect-aws/commit/3e5d0b3b3882e0aa6d07bc06432990551316ac30) Thanks [@floydspace](https://github.com/floydspace)! - Upgrade to effect v2 and release stable version
|
|
78
|
-
|
|
79
|
-
## 0.7.0
|
|
80
|
-
|
|
81
|
-
### Minor Changes
|
|
82
|
-
|
|
83
|
-
- [`744df3c`](https://github.com/floydspace/effect-aws/commit/744df3ca6406b3a35e3066d5fe11ca7082c4c454) Thanks [@floydspace](https://github.com/floydspace)! - upgrade effect dependency
|
|
84
|
-
|
|
85
|
-
## 0.6.0
|
|
86
|
-
|
|
87
|
-
### Minor Changes
|
|
88
|
-
|
|
89
|
-
- [`0a969d8`](https://github.com/floydspace/effect-aws/commit/0a969d8a74c3bf1b87ff6a1c8bf689af849797e1) Thanks [@floydspace](https://github.com/floydspace)! - upgrade effect peer version
|
|
90
|
-
|
|
91
|
-
## 0.5.0
|
|
92
|
-
|
|
93
|
-
### Minor Changes
|
|
94
|
-
|
|
95
|
-
- [`280d8bd`](https://github.com/floydspace/effect-aws/commit/280d8bd6686d6e7a2b73322a047e8eb22263b1e1) Thanks [@floydspace](https://github.com/floydspace)! - add an ability return presined url for getObject and putObject
|
|
96
|
-
|
|
97
|
-
- [`c3b6768`](https://github.com/floydspace/effect-aws/commit/c3b6768ec54b62e05f8fbb771cb890ba6aee27c2) Thanks [@floydspace](https://github.com/floydspace)! - return tagged errors in the failure channel
|
|
98
|
-
|
|
99
|
-
### Patch Changes
|
|
100
|
-
|
|
101
|
-
- [`280d8bd`](https://github.com/floydspace/effect-aws/commit/280d8bd6686d6e7a2b73322a047e8eb22263b1e1) Thanks [@floydspace](https://github.com/floydspace)! - upgrade dependencies
|
|
102
|
-
|
|
103
|
-
## 0.4.1
|
|
104
|
-
|
|
105
|
-
### Patch Changes
|
|
106
|
-
|
|
107
|
-
- [`6b99904`](https://github.com/floydspace/effect-aws/commit/6b9990497bdb20f240d8261b6382db421e9a3ec2) Thanks [@floydspace](https://github.com/floydspace)! - as @mikearnaldi said: "we should really never do tacit passing"
|
|
108
|
-
|
|
109
|
-
## 0.4.0
|
|
110
|
-
|
|
111
|
-
### Minor Changes
|
|
112
|
-
|
|
113
|
-
- [#14](https://github.com/floydspace/effect-aws/pull/14) [`cddfb74`](https://github.com/floydspace/effect-aws/commit/cddfb74a00b10a13ccfe3749e90961119c4f0906) Thanks [@floydspace](https://github.com/floydspace)! - upgrade effect version to the next one
|
|
114
|
-
|
|
115
|
-
## 0.3.0
|
|
116
|
-
|
|
117
|
-
### Minor Changes
|
|
118
|
-
|
|
119
|
-
- [`d7d6c50`](https://github.com/floydspace/effect-aws/commit/d7d6c500de9aa538f76a5b8cfc9ffac741210d33) Thanks [@floydspace](https://github.com/floydspace)! - introduce tagged clients options for better narrowing
|
|
120
|
-
|
|
121
|
-
## 0.2.1
|
|
122
|
-
|
|
123
|
-
### Patch Changes
|
|
124
|
-
|
|
125
|
-
- [`f7e9e3e`](https://github.com/floydspace/effect-aws/commit/f7e9e3ed4c2cb5dc0e0b9e0895278307a182a0d2) Thanks [@floydspace](https://github.com/floydspace)! - correct way of propagating default logger instance inside S3Client, thanks to @mikearnaldi
|
|
126
|
-
|
|
127
|
-
## 0.2.0
|
|
128
|
-
|
|
129
|
-
### Minor Changes
|
|
130
|
-
|
|
131
|
-
- [`73d43f9`](https://github.com/floydspace/effect-aws/commit/73d43f94752109bdad9682b8260e8f84ac8c6d5b) Thanks [@floydspace](https://github.com/floydspace)! - add an ability to provide S3Client configuration through layer, and provide default logger as part of default configuration
|
|
132
|
-
|
|
133
|
-
## 0.1.0
|
|
134
|
-
|
|
135
|
-
### Minor Changes
|
|
136
|
-
|
|
137
|
-
- [`fa8be3e`](https://github.com/floydspace/effect-aws/commit/fa8be3ed0dcd2109b831f233f3edf6bece65b914) Thanks [@floydspace](https://github.com/floydspace)! - Implemented basic Effectful S3 client
|
package/docgen.json
DELETED
package/lib/Errors.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SdkError = exports.S3ServiceError = exports.AllServiceErrors = void 0;
|
|
4
|
-
const effect_1 = require("effect");
|
|
5
|
-
exports.AllServiceErrors = [
|
|
6
|
-
"BucketAlreadyExists",
|
|
7
|
-
"BucketAlreadyOwnedByYou",
|
|
8
|
-
"EncryptionTypeMismatch",
|
|
9
|
-
"InvalidObjectState",
|
|
10
|
-
"InvalidRequest",
|
|
11
|
-
"InvalidWriteOffset",
|
|
12
|
-
"NoSuchBucket",
|
|
13
|
-
"NoSuchKey",
|
|
14
|
-
"NoSuchUpload",
|
|
15
|
-
"NotFound",
|
|
16
|
-
"ObjectAlreadyInActiveTierError",
|
|
17
|
-
"ObjectNotInActiveTierError",
|
|
18
|
-
"TooManyParts",
|
|
19
|
-
];
|
|
20
|
-
exports.S3ServiceError = effect_1.Data.tagged("S3ServiceError");
|
|
21
|
-
exports.SdkError = effect_1.Data.tagged("SdkError");
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnQkEsbUNBQThCO0FBRWpCLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIscUJBQXFCO0lBQ3JCLHlCQUF5QjtJQUN6Qix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsY0FBYztJQUNkLFdBQVc7SUFDWCxjQUFjO0lBQ2QsVUFBVTtJQUNWLGdDQUFnQztJQUNoQyw0QkFBNEI7SUFDNUIsY0FBYztDQUNmLENBQUM7QUEyQlcsUUFBQSxjQUFjLEdBQUcsYUFBSSxDQUFDLE1BQU0sQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQztBQUUvRCxRQUFBLFFBQVEsR0FBRyxhQUFJLENBQUMsTUFBTSxDQUFXLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBCdWNrZXRBbHJlYWR5RXhpc3RzLFxuICBCdWNrZXRBbHJlYWR5T3duZWRCeVlvdSxcbiAgRW5jcnlwdGlvblR5cGVNaXNtYXRjaCxcbiAgSW52YWxpZE9iamVjdFN0YXRlLFxuICBJbnZhbGlkUmVxdWVzdCxcbiAgSW52YWxpZFdyaXRlT2Zmc2V0LFxuICBOb1N1Y2hCdWNrZXQsXG4gIE5vU3VjaEtleSxcbiAgTm9TdWNoVXBsb2FkLFxuICBOb3RGb3VuZCxcbiAgT2JqZWN0QWxyZWFkeUluQWN0aXZlVGllckVycm9yIGFzIE9iamVjdEFscmVhZHlJbkFjdGl2ZVRpZXJFeGNlcHRpb24sXG4gIE9iamVjdE5vdEluQWN0aXZlVGllckVycm9yIGFzIE9iamVjdE5vdEluQWN0aXZlVGllckV4Y2VwdGlvbixcbiAgUzNTZXJ2aWNlRXhjZXB0aW9uLFxuICBUb29NYW55UGFydHMsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIjtcbmltcG9ydCB7IERhdGEgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbmV4cG9ydCBjb25zdCBBbGxTZXJ2aWNlRXJyb3JzID0gW1xuICBcIkJ1Y2tldEFscmVhZHlFeGlzdHNcIixcbiAgXCJCdWNrZXRBbHJlYWR5T3duZWRCeVlvdVwiLFxuICBcIkVuY3J5cHRpb25UeXBlTWlzbWF0Y2hcIixcbiAgXCJJbnZhbGlkT2JqZWN0U3RhdGVcIixcbiAgXCJJbnZhbGlkUmVxdWVzdFwiLFxuICBcIkludmFsaWRXcml0ZU9mZnNldFwiLFxuICBcIk5vU3VjaEJ1Y2tldFwiLFxuICBcIk5vU3VjaEtleVwiLFxuICBcIk5vU3VjaFVwbG9hZFwiLFxuICBcIk5vdEZvdW5kXCIsXG4gIFwiT2JqZWN0QWxyZWFkeUluQWN0aXZlVGllckVycm9yXCIsXG4gIFwiT2JqZWN0Tm90SW5BY3RpdmVUaWVyRXJyb3JcIixcbiAgXCJUb29NYW55UGFydHNcIixcbl07XG5cbmV4cG9ydCB0eXBlIFRhZ2dlZEV4Y2VwdGlvbjxUIGV4dGVuZHMgeyBuYW1lOiBzdHJpbmcgfT4gPSBUICYge1xuICByZWFkb25seSBfdGFnOiBUW1wibmFtZVwiXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJ1Y2tldEFscmVhZHlFeGlzdHNFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxCdWNrZXRBbHJlYWR5RXhpc3RzPjtcbmV4cG9ydCB0eXBlIEJ1Y2tldEFscmVhZHlPd25lZEJ5WW91RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248QnVja2V0QWxyZWFkeU93bmVkQnlZb3U+O1xuZXhwb3J0IHR5cGUgRW5jcnlwdGlvblR5cGVNaXNtYXRjaEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEVuY3J5cHRpb25UeXBlTWlzbWF0Y2g+O1xuZXhwb3J0IHR5cGUgSW52YWxpZE9iamVjdFN0YXRlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZE9iamVjdFN0YXRlPjtcbmV4cG9ydCB0eXBlIEludmFsaWRSZXF1ZXN0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFJlcXVlc3Q+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFdyaXRlT2Zmc2V0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFdyaXRlT2Zmc2V0PjtcbmV4cG9ydCB0eXBlIE5vU3VjaEJ1Y2tldEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPE5vU3VjaEJ1Y2tldD47XG5leHBvcnQgdHlwZSBOb1N1Y2hLZXlFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxOb1N1Y2hLZXk+O1xuZXhwb3J0IHR5cGUgTm9TdWNoVXBsb2FkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248Tm9TdWNoVXBsb2FkPjtcbmV4cG9ydCB0eXBlIE5vdEZvdW5kRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248Tm90Rm91bmQ+O1xuZXhwb3J0IHR5cGUgT2JqZWN0QWxyZWFkeUluQWN0aXZlVGllckVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE9iamVjdEFscmVhZHlJbkFjdGl2ZVRpZXJFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgT2JqZWN0Tm90SW5BY3RpdmVUaWVyRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248T2JqZWN0Tm90SW5BY3RpdmVUaWVyRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFRvb01hbnlQYXJ0c0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFRvb01hbnlQYXJ0cz47XG5cbmV4cG9ydCB0eXBlIFMzU2VydmljZUVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFxuICBTM1NlcnZpY2VFeGNlcHRpb24gJiB7IG5hbWU6IFwiUzNTZXJ2aWNlRXJyb3JcIiB9XG4+O1xuZXhwb3J0IGNvbnN0IFMzU2VydmljZUVycm9yID0gRGF0YS50YWdnZWQ8UzNTZXJ2aWNlRXJyb3I+KFwiUzNTZXJ2aWNlRXJyb3JcIik7XG5leHBvcnQgdHlwZSBTZGtFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxFcnJvciAmIHsgbmFtZTogXCJTZGtFcnJvclwiIH0+O1xuZXhwb3J0IGNvbnN0IFNka0Vycm9yID0gRGF0YS50YWdnZWQ8U2RrRXJyb3I+KFwiU2RrRXJyb3JcIik7XG4iXX0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 1.0.0
|
|
3
|
-
*/
|
|
4
|
-
import { S3Client } from "@aws-sdk/client-s3";
|
|
5
|
-
import * as Context from "effect/Context";
|
|
6
|
-
import * as Effect from "effect/Effect";
|
|
7
|
-
import * as Layer from "effect/Layer";
|
|
8
|
-
import { S3ClientInstanceConfig } from "./S3ClientInstanceConfig";
|
|
9
|
-
declare const S3ClientInstance_base: Context.TagClass<S3ClientInstance, "@effect-aws/client-s3/S3ClientInstance", S3Client>;
|
|
10
|
-
/**
|
|
11
|
-
* @since 1.0.0
|
|
12
|
-
* @category tags
|
|
13
|
-
*/
|
|
14
|
-
export declare class S3ClientInstance extends S3ClientInstance_base {
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* @since 1.0.0
|
|
18
|
-
* @category constructors
|
|
19
|
-
*/
|
|
20
|
-
export declare const makeS3ClientInstance: Effect.Effect<S3Client, never, import("effect/Scope").Scope | S3ClientInstanceConfig>;
|
|
21
|
-
/**
|
|
22
|
-
* @since 1.0.0
|
|
23
|
-
* @category layers
|
|
24
|
-
*/
|
|
25
|
-
export declare const S3ClientInstanceLayer: Layer.Layer<S3ClientInstance, never, S3ClientInstanceConfig>;
|
|
26
|
-
/**
|
|
27
|
-
* @since 1.0.0
|
|
28
|
-
* @category layers
|
|
29
|
-
*/
|
|
30
|
-
export declare const DefaultS3ClientInstanceLayer: Layer.Layer<S3ClientInstance, never, never>;
|
|
31
|
-
export {};
|
package/lib/S3ClientInstance.js
DELETED
|
@@ -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.DefaultS3ClientInstanceLayer = exports.S3ClientInstanceLayer = exports.makeS3ClientInstance = exports.S3ClientInstance = void 0;
|
|
27
|
-
/**
|
|
28
|
-
* @since 1.0.0
|
|
29
|
-
*/
|
|
30
|
-
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
31
|
-
const Context = __importStar(require("effect/Context"));
|
|
32
|
-
const Effect = __importStar(require("effect/Effect"));
|
|
33
|
-
const Layer = __importStar(require("effect/Layer"));
|
|
34
|
-
const S3ClientInstanceConfig_1 = require("./S3ClientInstanceConfig");
|
|
35
|
-
/**
|
|
36
|
-
* @since 1.0.0
|
|
37
|
-
* @category tags
|
|
38
|
-
*/
|
|
39
|
-
class S3ClientInstance extends Context.Tag("@effect-aws/client-s3/S3ClientInstance")() {
|
|
40
|
-
}
|
|
41
|
-
exports.S3ClientInstance = S3ClientInstance;
|
|
42
|
-
/**
|
|
43
|
-
* @since 1.0.0
|
|
44
|
-
* @category constructors
|
|
45
|
-
*/
|
|
46
|
-
exports.makeS3ClientInstance = Effect.flatMap(S3ClientInstanceConfig_1.S3ClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new client_s3_1.S3Client(config)), (client) => Effect.sync(() => client.destroy())));
|
|
47
|
-
/**
|
|
48
|
-
* @since 1.0.0
|
|
49
|
-
* @category layers
|
|
50
|
-
*/
|
|
51
|
-
exports.S3ClientInstanceLayer = Layer.scoped(S3ClientInstance, exports.makeS3ClientInstance);
|
|
52
|
-
/**
|
|
53
|
-
* @since 1.0.0
|
|
54
|
-
* @category layers
|
|
55
|
-
*/
|
|
56
|
-
exports.DefaultS3ClientInstanceLayer = exports.S3ClientInstanceLayer.pipe(Layer.provide(S3ClientInstanceConfig_1.DefaultS3ClientConfigLayer));
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNDbGllbnRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TM0NsaWVudEluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxrREFBOEM7QUFDOUMsd0RBQTBDO0FBQzFDLHNEQUF3QztBQUN4QyxvREFBc0M7QUFDdEMscUVBR2tDO0FBRWxDOzs7R0FHRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsT0FBTyxDQUFDLEdBQUcsQ0FDL0Msd0NBQXdDLENBQ3pDLEVBQThCO0NBQUc7QUFGbEMsNENBRWtDO0FBRWxDOzs7R0FHRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FDaEQsK0NBQXNCLEVBQ3RCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDVCxNQUFNLENBQUMsY0FBYyxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksb0JBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUN2QyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDaEQsQ0FDSixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUMvQyxnQkFBZ0IsRUFDaEIsNEJBQW9CLENBQ3JCLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLDRCQUE0QixHQUFHLDZCQUFxQixDQUFDLElBQUksQ0FDcEUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxtREFBMEIsQ0FBQyxDQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHsgUzNDbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgKiBhcyBDb250ZXh0IGZyb20gXCJlZmZlY3QvQ29udGV4dFwiO1xuaW1wb3J0ICogYXMgRWZmZWN0IGZyb20gXCJlZmZlY3QvRWZmZWN0XCI7XG5pbXBvcnQgKiBhcyBMYXllciBmcm9tIFwiZWZmZWN0L0xheWVyXCI7XG5pbXBvcnQge1xuICBEZWZhdWx0UzNDbGllbnRDb25maWdMYXllcixcbiAgUzNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vUzNDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIFMzQ2xpZW50SW5zdGFuY2UgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtczMvUzNDbGllbnRJbnN0YW5jZVwiLFxuKTxTM0NsaWVudEluc3RhbmNlLCBTM0NsaWVudD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZVMzQ2xpZW50SW5zdGFuY2UgPSBFZmZlY3QuZmxhdE1hcChcbiAgUzNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgKGNvbmZpZykgPT5cbiAgICBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoXG4gICAgICBFZmZlY3Quc3luYygoKSA9PiBuZXcgUzNDbGllbnQoY29uZmlnKSksXG4gICAgICAoY2xpZW50KSA9PiBFZmZlY3Quc3luYygoKSA9PiBjbGllbnQuZGVzdHJveSgpKSxcbiAgICApLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFMzQ2xpZW50SW5zdGFuY2VMYXllciA9IExheWVyLnNjb3BlZChcbiAgUzNDbGllbnRJbnN0YW5jZSxcbiAgbWFrZVMzQ2xpZW50SW5zdGFuY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFMzQ2xpZW50SW5zdGFuY2VMYXllciA9IFMzQ2xpZW50SW5zdGFuY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRTM0NsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 1.0.0
|
|
3
|
-
*/
|
|
4
|
-
import type { S3ClientConfig } from "@aws-sdk/client-s3";
|
|
5
|
-
import { Context, Effect, Layer } from "effect";
|
|
6
|
-
declare const S3ClientInstanceConfig_base: Context.TagClass<S3ClientInstanceConfig, "@effect-aws/client-s3/S3ClientInstanceConfig", S3ClientConfig>;
|
|
7
|
-
/**
|
|
8
|
-
* @since 1.0.0
|
|
9
|
-
* @category tags
|
|
10
|
-
*/
|
|
11
|
-
export declare class S3ClientInstanceConfig extends S3ClientInstanceConfig_base {
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* @since 1.0.0
|
|
15
|
-
* @category constructors
|
|
16
|
-
*/
|
|
17
|
-
export declare const makeDefaultS3ClientInstanceConfig: Effect.Effect<S3ClientConfig>;
|
|
18
|
-
/**
|
|
19
|
-
* @since 1.0.0
|
|
20
|
-
* @category layers
|
|
21
|
-
*/
|
|
22
|
-
export declare const DefaultS3ClientConfigLayer: Layer.Layer<S3ClientInstanceConfig, never, never>;
|
|
23
|
-
export {};
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DefaultS3ClientConfigLayer = exports.makeDefaultS3ClientInstanceConfig = exports.S3ClientInstanceConfig = void 0;
|
|
4
|
-
const effect_1 = require("effect");
|
|
5
|
-
/**
|
|
6
|
-
* @since 1.0.0
|
|
7
|
-
* @category tags
|
|
8
|
-
*/
|
|
9
|
-
class S3ClientInstanceConfig extends effect_1.Context.Tag("@effect-aws/client-s3/S3ClientInstanceConfig")() {
|
|
10
|
-
}
|
|
11
|
-
exports.S3ClientInstanceConfig = S3ClientInstanceConfig;
|
|
12
|
-
/**
|
|
13
|
-
* @since 1.0.0
|
|
14
|
-
* @category constructors
|
|
15
|
-
*/
|
|
16
|
-
exports.makeDefaultS3ClientInstanceConfig = 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.DefaultS3ClientConfigLayer = effect_1.Layer.effect(S3ClientInstanceConfig, exports.makeDefaultS3ClientInstanceConfig);
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNDbGllbnRJbnN0YW5jZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TM0NsaWVudEluc3RhbmNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLG1DQUF5RDtBQUV6RDs7O0dBR0c7QUFDSCxNQUFhLHNCQUF1QixTQUFRLGdCQUFPLENBQUMsR0FBRyxDQUNyRCw4Q0FBOEMsQ0FDL0MsRUFBMEM7Q0FBRztBQUY5Qyx3REFFOEM7QUFFOUM7OztHQUdHO0FBQ1UsUUFBQSxpQ0FBaUMsR0FDNUMsZUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3JCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFNLENBQUMsT0FBTyxFQUFTLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxnQkFBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxPQUFPO1FBQ0wsTUFBTSxFQUFFO1lBQ04sSUFBSSxDQUFDLENBQUM7Z0JBQ0osZUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDO2dCQUNKLGVBQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxlQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsZUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLGVBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVMOzs7R0FHRztBQUNVLFFBQUEsMEJBQTBCLEdBQUcsY0FBSyxDQUFDLE1BQU0sQ0FDcEQsc0JBQXNCLEVBQ3RCLHlDQUFpQyxDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHR5cGUgeyBTM0NsaWVudENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIjtcbmltcG9ydCB7IENvbnRleHQsIEVmZmVjdCwgTGF5ZXIsIFJ1bnRpbWUgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgUzNDbGllbnRJbnN0YW5jZUNvbmZpZyBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1zMy9TM0NsaWVudEluc3RhbmNlQ29uZmlnXCIsXG4pPFMzQ2xpZW50SW5zdGFuY2VDb25maWcsIFMzQ2xpZW50Q29uZmlnPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRGVmYXVsdFMzQ2xpZW50SW5zdGFuY2VDb25maWc6IEVmZmVjdC5FZmZlY3Q8UzNDbGllbnRDb25maWc+ID1cbiAgRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgICBjb25zdCBydW50aW1lID0geWllbGQqIF8oRWZmZWN0LnJ1bnRpbWU8bmV2ZXI+KCkpO1xuICAgIGNvbnN0IHJ1blN5bmMgPSBSdW50aW1lLnJ1blN5bmMocnVudGltZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9nZ2VyOiB7XG4gICAgICAgIGluZm8obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dJbmZvKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHdhcm4obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dXYXJuaW5nKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRXJyb3IobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWcobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dEZWJ1ZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB0cmFjZShtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1RyYWNlKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFMzQ2xpZW50Q29uZmlnTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIFMzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIG1ha2VEZWZhdWx0UzNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbik7XG4iXX0=
|