@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,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import { AbortMultipartUploadCommand, CompleteMultipartUploadCommand, CopyObjectCommand, CreateBucketCommand, CreateBucketMetadataTableConfigurationCommand, CreateMultipartUploadCommand, CreateSessionCommand, DeleteBucketAnalyticsConfigurationCommand, DeleteBucketCommand, DeleteBucketCorsCommand, DeleteBucketEncryptionCommand, DeleteBucketIntelligentTieringConfigurationCommand, DeleteBucketInventoryConfigurationCommand, DeleteBucketLifecycleCommand, DeleteBucketMetadataTableConfigurationCommand, DeleteBucketMetricsConfigurationCommand, DeleteBucketOwnershipControlsCommand, DeleteBucketPolicyCommand, DeleteBucketReplicationCommand, DeleteBucketTaggingCommand, DeleteBucketWebsiteCommand, DeleteObjectCommand, DeleteObjectsCommand, DeleteObjectTaggingCommand, DeletePublicAccessBlockCommand, GetBucketAccelerateConfigurationCommand, GetBucketAclCommand, GetBucketAnalyticsConfigurationCommand, GetBucketCorsCommand, GetBucketEncryptionCommand, GetBucketIntelligentTieringConfigurationCommand, GetBucketInventoryConfigurationCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketLoggingCommand, GetBucketMetadataTableConfigurationCommand, GetBucketMetricsConfigurationCommand, GetBucketNotificationConfigurationCommand, GetBucketOwnershipControlsCommand, GetBucketPolicyCommand, GetBucketPolicyStatusCommand, GetBucketReplicationCommand, GetBucketRequestPaymentCommand, GetBucketTaggingCommand, GetBucketVersioningCommand, GetBucketWebsiteCommand, GetObjectAclCommand, GetObjectAttributesCommand, GetObjectCommand, GetObjectLegalHoldCommand, GetObjectLockConfigurationCommand, GetObjectRetentionCommand, GetObjectTaggingCommand, GetObjectTorrentCommand, GetPublicAccessBlockCommand, HeadBucketCommand, HeadObjectCommand, ListBucketAnalyticsConfigurationsCommand, ListBucketIntelligentTieringConfigurationsCommand, ListBucketInventoryConfigurationsCommand, ListBucketMetricsConfigurationsCommand, ListBucketsCommand, ListDirectoryBucketsCommand, ListMultipartUploadsCommand, ListObjectsCommand, ListObjectsV2Command, ListObjectVersionsCommand, ListPartsCommand, PutBucketAccelerateConfigurationCommand, PutBucketAclCommand, PutBucketAnalyticsConfigurationCommand, PutBucketCorsCommand, PutBucketEncryptionCommand, PutBucketIntelligentTieringConfigurationCommand, PutBucketInventoryConfigurationCommand, PutBucketLifecycleConfigurationCommand, PutBucketLoggingCommand, PutBucketMetricsConfigurationCommand, PutBucketNotificationConfigurationCommand, PutBucketOwnershipControlsCommand, PutBucketPolicyCommand, PutBucketReplicationCommand, PutBucketRequestPaymentCommand, PutBucketTaggingCommand, PutBucketVersioningCommand, PutBucketWebsiteCommand, PutObjectAclCommand, PutObjectCommand, PutObjectLegalHoldCommand, PutObjectLockConfigurationCommand, PutObjectRetentionCommand, PutObjectTaggingCommand, PutPublicAccessBlockCommand, RestoreObjectCommand, SelectObjectContentCommand, UploadPartCommand, UploadPartCopyCommand, WriteGetObjectResponseCommand, } from "@aws-sdk/client-s3";
|
|
5
|
+
import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
|
|
6
|
+
import { Service } from "@effect-aws/commons";
|
|
7
|
+
import { Effect, Layer } from "effect";
|
|
8
|
+
import * as Instance from "./S3ClientInstance.js";
|
|
9
|
+
import * as S3ServiceConfig from "./S3ServiceConfig.js";
|
|
10
|
+
const commands = {
|
|
11
|
+
AbortMultipartUploadCommand,
|
|
12
|
+
CompleteMultipartUploadCommand,
|
|
13
|
+
CopyObjectCommand,
|
|
14
|
+
CreateBucketCommand,
|
|
15
|
+
CreateBucketMetadataTableConfigurationCommand,
|
|
16
|
+
CreateMultipartUploadCommand,
|
|
17
|
+
CreateSessionCommand,
|
|
18
|
+
DeleteBucketCommand,
|
|
19
|
+
DeleteBucketAnalyticsConfigurationCommand,
|
|
20
|
+
DeleteBucketCorsCommand,
|
|
21
|
+
DeleteBucketEncryptionCommand,
|
|
22
|
+
DeleteBucketIntelligentTieringConfigurationCommand,
|
|
23
|
+
DeleteBucketInventoryConfigurationCommand,
|
|
24
|
+
DeleteBucketLifecycleCommand,
|
|
25
|
+
DeleteBucketMetadataTableConfigurationCommand,
|
|
26
|
+
DeleteBucketMetricsConfigurationCommand,
|
|
27
|
+
DeleteBucketOwnershipControlsCommand,
|
|
28
|
+
DeleteBucketPolicyCommand,
|
|
29
|
+
DeleteBucketReplicationCommand,
|
|
30
|
+
DeleteBucketTaggingCommand,
|
|
31
|
+
DeleteBucketWebsiteCommand,
|
|
32
|
+
DeleteObjectCommand,
|
|
33
|
+
DeleteObjectTaggingCommand,
|
|
34
|
+
DeleteObjectsCommand,
|
|
35
|
+
DeletePublicAccessBlockCommand,
|
|
36
|
+
GetBucketAccelerateConfigurationCommand,
|
|
37
|
+
GetBucketAclCommand,
|
|
38
|
+
GetBucketAnalyticsConfigurationCommand,
|
|
39
|
+
GetBucketCorsCommand,
|
|
40
|
+
GetBucketEncryptionCommand,
|
|
41
|
+
GetBucketIntelligentTieringConfigurationCommand,
|
|
42
|
+
GetBucketInventoryConfigurationCommand,
|
|
43
|
+
GetBucketLifecycleConfigurationCommand,
|
|
44
|
+
GetBucketLocationCommand,
|
|
45
|
+
GetBucketLoggingCommand,
|
|
46
|
+
GetBucketMetadataTableConfigurationCommand,
|
|
47
|
+
GetBucketMetricsConfigurationCommand,
|
|
48
|
+
GetBucketNotificationConfigurationCommand,
|
|
49
|
+
GetBucketOwnershipControlsCommand,
|
|
50
|
+
GetBucketPolicyCommand,
|
|
51
|
+
GetBucketPolicyStatusCommand,
|
|
52
|
+
GetBucketReplicationCommand,
|
|
53
|
+
GetBucketRequestPaymentCommand,
|
|
54
|
+
GetBucketTaggingCommand,
|
|
55
|
+
GetBucketVersioningCommand,
|
|
56
|
+
GetBucketWebsiteCommand,
|
|
57
|
+
GetObjectCommand,
|
|
58
|
+
GetObjectAclCommand,
|
|
59
|
+
GetObjectAttributesCommand,
|
|
60
|
+
GetObjectLegalHoldCommand,
|
|
61
|
+
GetObjectLockConfigurationCommand,
|
|
62
|
+
GetObjectRetentionCommand,
|
|
63
|
+
GetObjectTaggingCommand,
|
|
64
|
+
GetObjectTorrentCommand,
|
|
65
|
+
GetPublicAccessBlockCommand,
|
|
66
|
+
HeadBucketCommand,
|
|
67
|
+
HeadObjectCommand,
|
|
68
|
+
ListBucketAnalyticsConfigurationsCommand,
|
|
69
|
+
ListBucketIntelligentTieringConfigurationsCommand,
|
|
70
|
+
ListBucketInventoryConfigurationsCommand,
|
|
71
|
+
ListBucketMetricsConfigurationsCommand,
|
|
72
|
+
ListBucketsCommand,
|
|
73
|
+
ListDirectoryBucketsCommand,
|
|
74
|
+
ListMultipartUploadsCommand,
|
|
75
|
+
ListObjectVersionsCommand,
|
|
76
|
+
ListObjectsCommand,
|
|
77
|
+
ListObjectsV2Command,
|
|
78
|
+
ListPartsCommand,
|
|
79
|
+
PutBucketAccelerateConfigurationCommand,
|
|
80
|
+
PutBucketAclCommand,
|
|
81
|
+
PutBucketAnalyticsConfigurationCommand,
|
|
82
|
+
PutBucketCorsCommand,
|
|
83
|
+
PutBucketEncryptionCommand,
|
|
84
|
+
PutBucketIntelligentTieringConfigurationCommand,
|
|
85
|
+
PutBucketInventoryConfigurationCommand,
|
|
86
|
+
PutBucketLifecycleConfigurationCommand,
|
|
87
|
+
PutBucketLoggingCommand,
|
|
88
|
+
PutBucketMetricsConfigurationCommand,
|
|
89
|
+
PutBucketNotificationConfigurationCommand,
|
|
90
|
+
PutBucketOwnershipControlsCommand,
|
|
91
|
+
PutBucketPolicyCommand,
|
|
92
|
+
PutBucketReplicationCommand,
|
|
93
|
+
PutBucketRequestPaymentCommand,
|
|
94
|
+
PutBucketTaggingCommand,
|
|
95
|
+
PutBucketVersioningCommand,
|
|
96
|
+
PutBucketWebsiteCommand,
|
|
97
|
+
PutObjectCommand,
|
|
98
|
+
PutObjectAclCommand,
|
|
99
|
+
PutObjectLegalHoldCommand,
|
|
100
|
+
PutObjectLockConfigurationCommand,
|
|
101
|
+
PutObjectRetentionCommand,
|
|
102
|
+
PutObjectTaggingCommand,
|
|
103
|
+
PutPublicAccessBlockCommand,
|
|
104
|
+
RestoreObjectCommand,
|
|
105
|
+
SelectObjectContentCommand,
|
|
106
|
+
UploadPartCommand,
|
|
107
|
+
UploadPartCopyCommand,
|
|
108
|
+
WriteGetObjectResponseCommand,
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* @since 1.0.0
|
|
112
|
+
* @category constructors
|
|
113
|
+
*/
|
|
114
|
+
export const makeS3Service = Effect.gen(function* () {
|
|
115
|
+
const client = yield* Instance.S3ClientInstance;
|
|
116
|
+
return Service.fromCommandsAndServiceFn(commands, (CommandCtor) => (args, options) => options?.presigned
|
|
117
|
+
? Effect.gen(function* () {
|
|
118
|
+
const config = yield* S3ServiceConfig.toS3ClientConfig;
|
|
119
|
+
return yield* Effect.tryPromise({
|
|
120
|
+
try: () => getSignedUrl(client, new CommandCtor(args, config), options),
|
|
121
|
+
catch: Service.catchServiceExceptions(),
|
|
122
|
+
});
|
|
123
|
+
})
|
|
124
|
+
: Service.makeServiceFn(client, CommandCtor, {
|
|
125
|
+
resolveClientConfig: S3ServiceConfig.toS3ClientConfig,
|
|
126
|
+
})(args, options));
|
|
127
|
+
});
|
|
128
|
+
/**
|
|
129
|
+
* @since 1.0.0
|
|
130
|
+
* @category models
|
|
131
|
+
*/
|
|
132
|
+
export class S3Service extends Effect.Tag("@effect-aws/client-s3/S3Service")() {
|
|
133
|
+
static defaultLayer = Layer.effect(this, makeS3Service).pipe(Layer.provide(Instance.layer));
|
|
134
|
+
static layer = (config) => Layer.effect(this, makeS3Service).pipe(Layer.provide(Instance.layer), Layer.provide(S3ServiceConfig.setS3ServiceConfig(config)));
|
|
135
|
+
static baseLayer = (evaluate) => Layer.effect(this, makeS3Service).pipe(Layer.provide(Layer.effect(Instance.S3ClientInstance, Effect.map(S3ServiceConfig.toS3ClientConfig, evaluate))));
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=S3Service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3Service.js","sourceRoot":"","sources":["../../src/S3Service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ServiceLogger } from "@effect-aws/commons";
|
|
2
|
+
import { Effect, FiberRef, Layer } from "effect";
|
|
3
|
+
import { dual } from "effect/Function";
|
|
4
|
+
import { globalValue } from "effect/GlobalValue";
|
|
5
|
+
/**
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
* @category s3 service config
|
|
8
|
+
*/
|
|
9
|
+
const currentS3ServiceConfig = globalValue("@effect-aws/client-s3/currentS3ServiceConfig", () => FiberRef.unsafeMake({}));
|
|
10
|
+
/**
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
* @category s3 service config
|
|
13
|
+
*/
|
|
14
|
+
export const withS3ServiceConfig = dual(2, (effect, config) => Effect.locally(effect, currentS3ServiceConfig, config));
|
|
15
|
+
/**
|
|
16
|
+
* @since 1.0.0
|
|
17
|
+
* @category s3 service config
|
|
18
|
+
*/
|
|
19
|
+
export const setS3ServiceConfig = (config) => Layer.locallyScoped(currentS3ServiceConfig, config);
|
|
20
|
+
/**
|
|
21
|
+
* @since 1.0.0
|
|
22
|
+
* @category adapters
|
|
23
|
+
*/
|
|
24
|
+
export const toS3ClientConfig = Effect.gen(function* () {
|
|
25
|
+
const { logger: serviceLogger, ...config } = yield* FiberRef.get(currentS3ServiceConfig);
|
|
26
|
+
const logger = serviceLogger === true
|
|
27
|
+
? yield* ServiceLogger.toClientLogger(ServiceLogger.defaultServiceLogger)
|
|
28
|
+
: (serviceLogger ? yield* ServiceLogger.toClientLogger(ServiceLogger.make(serviceLogger)) : undefined);
|
|
29
|
+
return { logger, ...config };
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=S3ServiceConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3ServiceConfig.js","sourceRoot":"","sources":["../../src/S3ServiceConfig.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;GAGG;AACH,MAAM,sBAAsB,GAAG,WAAW,CACxC,8CAA8C,EAC9C,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAmB,EAAE,CAAC,CAChD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAG5B,IAAI,CACN,CAAC,EACD,CAAU,MAA8B,EAAE,MAAwB,EAA0B,EAAE,CAC5F,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,CAAC,CACzD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAwB,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AAEpH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACjF,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEzF,MAAM,MAAM,GAAG,aAAa,KAAK,IAAI;QACnC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,oBAAoB,CAAC;QACzE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import { S3Service } from "./S3Service.js";
|
|
5
|
+
/**
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
export * from "./Errors.js";
|
|
9
|
+
/**
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
export * as S3ClientInstance from "./S3ClientInstance.js";
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
*/
|
|
16
|
+
export * as S3ServiceConfig from "./S3ServiceConfig.js";
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
*/
|
|
20
|
+
export * from "./S3Service.js";
|
|
21
|
+
/**
|
|
22
|
+
* @since 1.0.0
|
|
23
|
+
* @category exports
|
|
24
|
+
* @alias S3Service
|
|
25
|
+
*/
|
|
26
|
+
export const S3 = S3Service;
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,cAAc,aAAa,CAAC;AAE5B;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAE1D;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AAExD;;GAEG;AACH,cAAc,gBAAgB,CAAC;AAe/B;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,56 +1,73 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-aws/client-s3",
|
|
3
|
+
"version": "1.9.3",
|
|
4
|
+
"description": "Effectful AWS S3 client",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "github:floydspace/effect-aws",
|
|
9
|
+
"directory": "packages/client-s3"
|
|
10
|
+
},
|
|
11
|
+
"sideEffects": [],
|
|
3
12
|
"author": {
|
|
4
13
|
"name": "Victor Korzunin",
|
|
5
|
-
"email": "ifloydrose@gmail.com"
|
|
6
|
-
"organization": false
|
|
7
|
-
},
|
|
8
|
-
"devDependencies": {
|
|
9
|
-
"@types/node": "^18",
|
|
10
|
-
"@typescript-eslint/eslint-plugin": "^7",
|
|
11
|
-
"@typescript-eslint/parser": "^7",
|
|
12
|
-
"aws-sdk-client-mock": "^4.0.2",
|
|
13
|
-
"aws-sdk-client-mock-vitest": "^4.0.0",
|
|
14
|
-
"effect": "3.0.0",
|
|
15
|
-
"eslint": "^8",
|
|
16
|
-
"eslint-config-prettier": "^9.1.0",
|
|
17
|
-
"eslint-import-resolver-typescript": "^3.6.1",
|
|
18
|
-
"eslint-plugin-import": "^2.29.1",
|
|
19
|
-
"eslint-plugin-prettier": "^5.2.1",
|
|
20
|
-
"prettier": "^3.2.5",
|
|
21
|
-
"typescript": "^5.4.2",
|
|
22
|
-
"vitest": "^2.0.5"
|
|
23
|
-
},
|
|
24
|
-
"peerDependencies": {
|
|
25
|
-
"effect": ">=3.0.0 <4.0.0"
|
|
14
|
+
"email": "ifloydrose@gmail.com"
|
|
26
15
|
},
|
|
16
|
+
"homepage": "https://floydspace.github.io/effect-aws/docs/client-s3",
|
|
27
17
|
"dependencies": {
|
|
28
18
|
"@aws-sdk/client-s3": "^3",
|
|
29
19
|
"@aws-sdk/s3-request-presigner": "^3",
|
|
30
|
-
"@aws-sdk/types": "^3"
|
|
20
|
+
"@aws-sdk/types": "^3",
|
|
21
|
+
"@effect-aws/commons": "^0.2.0"
|
|
31
22
|
},
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
"homepage": "https://floydspace.github.io/effect-aws",
|
|
35
|
-
"publishConfig": {
|
|
36
|
-
"access": "public"
|
|
23
|
+
"peerDependencies": {
|
|
24
|
+
"effect": ">=3.0.4 <4.0.0"
|
|
37
25
|
},
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"
|
|
54
|
-
|
|
26
|
+
"main": "./dist/cjs/index.js",
|
|
27
|
+
"module": "./dist/esm/index.js",
|
|
28
|
+
"types": "./dist/dts/index.d.ts",
|
|
29
|
+
"exports": {
|
|
30
|
+
"./package.json": "./package.json",
|
|
31
|
+
".": {
|
|
32
|
+
"types": "./dist/dts/index.d.ts",
|
|
33
|
+
"import": "./dist/esm/index.js",
|
|
34
|
+
"default": "./dist/cjs/index.js"
|
|
35
|
+
},
|
|
36
|
+
"./Errors": {
|
|
37
|
+
"types": "./dist/dts/Errors.d.ts",
|
|
38
|
+
"import": "./dist/esm/Errors.js",
|
|
39
|
+
"default": "./dist/cjs/Errors.js"
|
|
40
|
+
},
|
|
41
|
+
"./S3ClientInstance": {
|
|
42
|
+
"types": "./dist/dts/S3ClientInstance.d.ts",
|
|
43
|
+
"import": "./dist/esm/S3ClientInstance.js",
|
|
44
|
+
"default": "./dist/cjs/S3ClientInstance.js"
|
|
45
|
+
},
|
|
46
|
+
"./S3Service": {
|
|
47
|
+
"types": "./dist/dts/S3Service.d.ts",
|
|
48
|
+
"import": "./dist/esm/S3Service.js",
|
|
49
|
+
"default": "./dist/cjs/S3Service.js"
|
|
50
|
+
},
|
|
51
|
+
"./S3ServiceConfig": {
|
|
52
|
+
"types": "./dist/dts/S3ServiceConfig.d.ts",
|
|
53
|
+
"import": "./dist/esm/S3ServiceConfig.js",
|
|
54
|
+
"default": "./dist/cjs/S3ServiceConfig.js"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"typesVersions": {
|
|
58
|
+
"*": {
|
|
59
|
+
"Errors": [
|
|
60
|
+
"./dist/dts/Errors.d.ts"
|
|
61
|
+
],
|
|
62
|
+
"S3ClientInstance": [
|
|
63
|
+
"./dist/dts/S3ClientInstance.d.ts"
|
|
64
|
+
],
|
|
65
|
+
"S3Service": [
|
|
66
|
+
"./dist/dts/S3Service.d.ts"
|
|
67
|
+
],
|
|
68
|
+
"S3ServiceConfig": [
|
|
69
|
+
"./dist/dts/S3ServiceConfig.d.ts"
|
|
70
|
+
]
|
|
71
|
+
}
|
|
55
72
|
}
|
|
56
73
|
}
|
package/src/Errors.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
BucketAlreadyExists,
|
|
3
|
+
BucketAlreadyOwnedByYou,
|
|
4
|
+
EncryptionTypeMismatch,
|
|
5
|
+
InvalidObjectState,
|
|
6
|
+
InvalidRequest,
|
|
7
|
+
InvalidWriteOffset,
|
|
8
|
+
NoSuchBucket,
|
|
9
|
+
NoSuchKey,
|
|
10
|
+
NoSuchUpload,
|
|
11
|
+
NotFound,
|
|
12
|
+
ObjectAlreadyInActiveTierError as ObjectAlreadyInActiveTierException,
|
|
13
|
+
ObjectNotInActiveTierError as ObjectNotInActiveTierException,
|
|
14
|
+
S3ServiceException,
|
|
15
|
+
TooManyParts,
|
|
16
|
+
} from "@aws-sdk/client-s3";
|
|
17
|
+
import type { TaggedException } from "@effect-aws/commons";
|
|
18
|
+
import { SdkError as CommonSdkError } from "@effect-aws/commons";
|
|
19
|
+
import { Data } from "effect";
|
|
20
|
+
|
|
21
|
+
export const AllServiceErrors = [
|
|
22
|
+
"BucketAlreadyExists",
|
|
23
|
+
"BucketAlreadyOwnedByYou",
|
|
24
|
+
"EncryptionTypeMismatch",
|
|
25
|
+
"InvalidObjectState",
|
|
26
|
+
"InvalidRequest",
|
|
27
|
+
"InvalidWriteOffset",
|
|
28
|
+
"NoSuchBucket",
|
|
29
|
+
"NoSuchKey",
|
|
30
|
+
"NoSuchUpload",
|
|
31
|
+
"NotFound",
|
|
32
|
+
"ObjectAlreadyInActiveTierError",
|
|
33
|
+
"ObjectNotInActiveTierError",
|
|
34
|
+
"TooManyParts",
|
|
35
|
+
] as const;
|
|
36
|
+
|
|
37
|
+
export type BucketAlreadyExistsError = TaggedException<BucketAlreadyExists>;
|
|
38
|
+
export type BucketAlreadyOwnedByYouError = TaggedException<BucketAlreadyOwnedByYou>;
|
|
39
|
+
export type EncryptionTypeMismatchError = TaggedException<EncryptionTypeMismatch>;
|
|
40
|
+
export type InvalidObjectStateError = TaggedException<InvalidObjectState>;
|
|
41
|
+
export type InvalidRequestError = TaggedException<InvalidRequest>;
|
|
42
|
+
export type InvalidWriteOffsetError = TaggedException<InvalidWriteOffset>;
|
|
43
|
+
export type NoSuchBucketError = TaggedException<NoSuchBucket>;
|
|
44
|
+
export type NoSuchKeyError = TaggedException<NoSuchKey>;
|
|
45
|
+
export type NoSuchUploadError = TaggedException<NoSuchUpload>;
|
|
46
|
+
export type NotFoundError = TaggedException<NotFound>;
|
|
47
|
+
export type ObjectAlreadyInActiveTierError = TaggedException<ObjectAlreadyInActiveTierException>;
|
|
48
|
+
export type ObjectNotInActiveTierError = TaggedException<ObjectNotInActiveTierException>;
|
|
49
|
+
export type TooManyPartsError = TaggedException<TooManyParts>;
|
|
50
|
+
|
|
51
|
+
export type S3ServiceError = TaggedException<
|
|
52
|
+
S3ServiceException & { name: "S3ServiceError" }
|
|
53
|
+
>;
|
|
54
|
+
export const S3ServiceError = Data.tagged<S3ServiceError>("S3ServiceError");
|
|
55
|
+
export type SdkError = CommonSdkError;
|
|
56
|
+
export const SdkError = CommonSdkError;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import { S3Client } from "@aws-sdk/client-s3";
|
|
5
|
+
import { Context, Effect, Layer } from "effect";
|
|
6
|
+
import * as S3ServiceConfig from "./S3ServiceConfig.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
* @category tags
|
|
11
|
+
*/
|
|
12
|
+
export class S3ClientInstance extends Context.Tag(
|
|
13
|
+
"@effect-aws/client-s3/S3ClientInstance",
|
|
14
|
+
)<S3ClientInstance, S3Client>() {}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
* @category constructors
|
|
19
|
+
*/
|
|
20
|
+
export const make = Effect.flatMap(
|
|
21
|
+
S3ServiceConfig.toS3ClientConfig,
|
|
22
|
+
(config) =>
|
|
23
|
+
Effect.acquireRelease(
|
|
24
|
+
Effect.sync(() => new S3Client(config)),
|
|
25
|
+
(client) => Effect.sync(() => client.destroy()),
|
|
26
|
+
),
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @since 1.0.0
|
|
31
|
+
* @category layers
|
|
32
|
+
*/
|
|
33
|
+
export const layer = Layer.scoped(S3ClientInstance, make);
|