@kensio/yulin 0.14.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/eslint/cffjs2.eslint.config.d.ts +3 -0
- package/dist/config/eslint/cffjs2.eslint.config.d.ts.map +1 -0
- package/dist/config/eslint/cffjs2.eslint.config.js +119 -0
- package/dist/config/eslint/cffjs2.eslint.config.js.map +1 -0
- package/dist/config/eslint/index.d.ts +2 -0
- package/dist/config/eslint/index.d.ts.map +1 -0
- package/dist/config/eslint/index.js +2 -0
- package/dist/config/eslint/index.js.map +1 -0
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +1 -0
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +2 -2
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function.handler.js +2 -2
- package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts +3 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js +7 -3
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js +1 -0
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/create-table/create-table.handler.js +2 -2
- package/dist/service/dynamodb/command/create-table/create-table.handler.js.map +1 -1
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts +3 -0
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.js +7 -3
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.js.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts +3 -0
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js +7 -3
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.js +8 -2
- package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +3 -0
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +9 -5
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.js +7 -3
- package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts +4 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js +7 -3
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +4 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +7 -3
- package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts +3 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +7 -3
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.d.ts +3 -0
- package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +7 -3
- package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
- package/dist/service/s3/sim-s3.d.ts +3 -0
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js +22 -5
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/util/background/background.d.ts +47 -2
- package/dist/util/background/background.d.ts.map +1 -1
- package/dist/util/background/background.js +71 -4
- package/dist/util/background/background.js.map +1 -1
- package/package.json +18 -2
|
@@ -3,10 +3,12 @@ import type { SimCreateBucketCommand, SimCreateBucketCommandOutput } from "./cre
|
|
|
3
3
|
import { SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
|
|
4
4
|
import type { SimS3GlobalRegistry } from "../../sim-s3-global-registry.js";
|
|
5
5
|
import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
|
|
6
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
6
7
|
interface CreateBucketCommandHandlerProps {
|
|
7
8
|
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
8
9
|
readonly buckets: Map<string, SimS3Bucket>;
|
|
9
10
|
readonly s3GlobalRegistry: SimS3GlobalRegistry;
|
|
11
|
+
readonly background?: BackgroundScheduler;
|
|
10
12
|
}
|
|
11
13
|
/**
|
|
12
14
|
* S3 CreateBucketCommand handler.
|
|
@@ -17,6 +19,7 @@ export declare class CreateBucketCommandHandler implements CommandHandler<SimCre
|
|
|
17
19
|
private readonly accountRegionScope;
|
|
18
20
|
private readonly buckets;
|
|
19
21
|
private readonly s3GlobalRegistry;
|
|
22
|
+
private readonly background;
|
|
20
23
|
constructor(props: CreateBucketCommandHandlerProps);
|
|
21
24
|
/**
|
|
22
25
|
* Handle creation of a new S3 Bucket.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-bucket.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/create-bucket/create-bucket.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,WAAW,EAEZ,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-bucket.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/create-bucket/create-bucket.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,WAAW,EAEZ,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAK7F,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,UAAU,+BAA+B;IACvC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,YAAW,cAAc,CAC/D,sBAAsB,EACtB,4BAA4B,CAC7B;IACC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAErC,KAAK,EAAE,+BAA+B;IAalD;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,4BAA4B,CAAC;CA2CzC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SimS3Bucket, } from "../../bucket/sim-s3-bucket.js";
|
|
2
2
|
import { assertDefined } from "../../../../util/defined/defined.js";
|
|
3
|
-
import { jitter } from "../../../../util/sleep.js";
|
|
4
3
|
import { SimS3BucketAlreadyExists, SimS3BucketAlreadyOwnedByYou, } from "../../error/s3.error.js";
|
|
4
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
5
5
|
/**
|
|
6
6
|
* S3 CreateBucketCommand handler.
|
|
7
7
|
*
|
|
@@ -11,17 +11,21 @@ export class CreateBucketCommandHandler {
|
|
|
11
11
|
accountRegionScope;
|
|
12
12
|
buckets;
|
|
13
13
|
s3GlobalRegistry;
|
|
14
|
+
background;
|
|
14
15
|
constructor(props) {
|
|
15
|
-
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
16
|
+
const { accountRegionScope, buckets, s3GlobalRegistry, background = new BackgroundTasks(), } = props;
|
|
17
|
+
this.accountRegionScope = accountRegionScope;
|
|
18
|
+
this.buckets = buckets;
|
|
19
|
+
this.s3GlobalRegistry = s3GlobalRegistry;
|
|
20
|
+
this.background = background;
|
|
18
21
|
}
|
|
19
22
|
/**
|
|
20
23
|
* Handle creation of a new S3 Bucket.
|
|
21
24
|
*/
|
|
22
25
|
async handle(cmd) {
|
|
23
26
|
assertDefined(cmd.input.Bucket, "CreateBucketCommand.input.Bucket");
|
|
24
|
-
|
|
27
|
+
// Allow for potential non-deterministic sequencing of async events.
|
|
28
|
+
await this.background.sequence();
|
|
25
29
|
const bucketName = cmd.input.Bucket;
|
|
26
30
|
const existingBucketScope = this.s3GlobalRegistry.findBucketScope(bucketName);
|
|
27
31
|
if (existingBucketScope !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-bucket.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/create-bucket/create-bucket.handler.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,GAEZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-bucket.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/create-bucket/create-bucket.handler.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,GAEZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGpE,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AASnD;;;;GAIG;AACH,MAAM,OAAO,0BAA0B;IAIpB,kBAAkB,CAA2B;IAC7C,OAAO,CAA2B;IAClC,gBAAgB,CAAsB;IACtC,UAAU,CAAsB;IAEjD,YAAY,KAAsC;QAChD,MAAM,EACJ,kBAAkB,EAClB,OAAO,EACP,gBAAgB,EAChB,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,KAAK,CAAC;QACV,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,GAA2B;QAE3B,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QAEpE,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAyB,CAAC;QAEvD,MAAM,mBAAmB,GACvB,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,mBAAmB,CAAC,SAAS,KAAK,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;gBACxE,MAAM,IAAI,4BAA4B,CACpC,aAAa,UAAU,sBAAsB,mBAAmB,CAAC,UAAU,oBAAoB,mBAAmB,CAAC,SAAS,EAAE,CAC/H,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,wBAAwB,CAChC,aAAa,UAAU,sBAAsB,mBAAmB,CAAC,UAAU,IAAI,mBAAmB,CAAC,SAAS,EAAE,CAC/G,CAAC;QACJ,CAAC;QAED,mFAAmF;QACnF,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,0DAA0D;YAC1D,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC1E,MAAM,IAAI,4BAA4B,CACpC,aAAa,UAAU,sBAAsB,IAAI,CAAC,kBAAkB,CAAC,UAAU,oBAAoB,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CACvI,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;YAC7B,UAAU;YACV,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE1E,OAAO;YACL,SAAS,EAAE,gBAAgB,UAAU,EAAE;YACvC,QAAQ,EAAE,IAAI,UAAU,EAAE;YAC1B,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
2
|
import type { SimGetObjectCommand, SimGetObjectCommandOutput } from "./get-object.cmd.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
|
|
4
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
4
5
|
interface GetObjectCommandHandlerProps {
|
|
5
6
|
readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
|
|
7
|
+
readonly background?: BackgroundScheduler;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Simulated S3 GetObjectCommand handler.
|
|
@@ -11,6 +13,7 @@ interface GetObjectCommandHandlerProps {
|
|
|
11
13
|
*/
|
|
12
14
|
export declare class GetObjectCommandHandler implements CommandHandler<SimGetObjectCommand, SimGetObjectCommandOutput> {
|
|
13
15
|
private readonly buckets;
|
|
16
|
+
private readonly background;
|
|
14
17
|
constructor(props: GetObjectCommandHandlerProps);
|
|
15
18
|
/**
|
|
16
19
|
* Simulate getting an Object from an S3 Bucket.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-object.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"get-object.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,UAAU,4BAA4B;IACpC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,cAAc,CAC5D,mBAAmB,EACnB,yBAAyB,CAC1B;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAErC,KAAK,EAAE,4BAA4B;IAM/C;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAwB3E"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Readable } from "node:stream";
|
|
2
2
|
import { assertDefined } from "../../../../util/defined/defined.js";
|
|
3
|
-
import { jitter } from "../../../../util/sleep.js";
|
|
4
3
|
import { SimS3NoSuchBucket, SimS3NoSuchKey } from "../../error/s3.error.js";
|
|
4
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
5
5
|
/**
|
|
6
6
|
* Simulated S3 GetObjectCommand handler.
|
|
7
7
|
*
|
|
@@ -9,8 +9,11 @@ import { SimS3NoSuchBucket, SimS3NoSuchKey } from "../../error/s3.error.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export class GetObjectCommandHandler {
|
|
11
11
|
buckets;
|
|
12
|
+
background;
|
|
12
13
|
constructor(props) {
|
|
13
|
-
|
|
14
|
+
const { buckets, background = new BackgroundTasks() } = props;
|
|
15
|
+
this.buckets = buckets;
|
|
16
|
+
this.background = background;
|
|
14
17
|
}
|
|
15
18
|
/**
|
|
16
19
|
* Simulate getting an Object from an S3 Bucket.
|
|
@@ -23,7 +26,8 @@ export class GetObjectCommandHandler {
|
|
|
23
26
|
if (bucket === undefined) {
|
|
24
27
|
throw new SimS3NoSuchBucket(`No S3 Bucket named ${bucketName}`);
|
|
25
28
|
}
|
|
26
|
-
|
|
29
|
+
// Allow for potential non-deterministic sequencing of async events.
|
|
30
|
+
await this.background.sequence();
|
|
27
31
|
const object = await bucket.getObject(cmd.input.Key);
|
|
28
32
|
if (object === undefined) {
|
|
29
33
|
throw new SimS3NoSuchKey(`No S3 Object named ${cmd.input.Key}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-object.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get-object.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AAOnD;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAIjB,OAAO,CAAoC;IAC3C,UAAU,CAAsB;IAEjD,YAAY,KAAmC;QAC7C,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAwB;QACnC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;QACjE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;QAE3D,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAyB,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,iBAAiB,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,cAAc,CAAC,sBAAsB,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YAChC,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
2
|
import type { SimListBucketsCommand, SimListBucketsCommandOutput } from "./list-buckets.cmd.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
|
|
4
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
4
5
|
interface ListBucketsCommandHandlerProps {
|
|
5
6
|
readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
|
|
7
|
+
readonly background?: BackgroundScheduler;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Simulated S3 ListBucketsCommand handler.
|
|
@@ -11,6 +13,7 @@ interface ListBucketsCommandHandlerProps {
|
|
|
11
13
|
*/
|
|
12
14
|
export declare class ListBucketsCommandHandler implements CommandHandler<SimListBucketsCommand, SimListBucketsCommandOutput> {
|
|
13
15
|
private readonly buckets;
|
|
16
|
+
private readonly background;
|
|
14
17
|
constructor(props: ListBucketsCommandHandlerProps);
|
|
15
18
|
/**
|
|
16
19
|
* Simulate listing S3 Buckets.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-buckets.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/list-buckets/list-buckets.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"list-buckets.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/list-buckets/list-buckets.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,UAAU,8BAA8B;IACtC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,yBAA0B,YAAW,cAAc,CAC9D,qBAAqB,EACrB,2BAA2B,CAC5B;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAErC,KAAK,EAAE,8BAA8B;IAMjD;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,qBAAqB,GACzB,OAAO,CAAC,2BAA2B,CAAC;IAkDvC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAIpC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAGtC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
2
2
|
/**
|
|
3
3
|
* Simulated S3 ListBucketsCommand handler.
|
|
4
4
|
*
|
|
@@ -6,14 +6,18 @@ import { jitter } from "../../../../util/sleep.js";
|
|
|
6
6
|
*/
|
|
7
7
|
export class ListBucketsCommandHandler {
|
|
8
8
|
buckets;
|
|
9
|
+
background;
|
|
9
10
|
constructor(props) {
|
|
10
|
-
|
|
11
|
+
const { buckets, background = new BackgroundTasks() } = props;
|
|
12
|
+
this.buckets = buckets;
|
|
13
|
+
this.background = background;
|
|
11
14
|
}
|
|
12
15
|
/**
|
|
13
16
|
* Simulate listing S3 Buckets.
|
|
14
17
|
*/
|
|
15
18
|
async handle(cmd) {
|
|
16
|
-
|
|
19
|
+
// Allow for potential non-deterministic sequencing of async events.
|
|
20
|
+
await this.background.sequence();
|
|
17
21
|
const buckets = [...this.buckets.values()];
|
|
18
22
|
buckets.sort((a, b) => a.bucketName.localeCompare(b.bucketName));
|
|
19
23
|
const prefix = cmd.input.Prefix;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-buckets.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/list-buckets/list-buckets.handler.ts"],"names":[],"mappings":"AASA,OAAO,
|
|
1
|
+
{"version":3,"file":"list-buckets.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/list-buckets/list-buckets.handler.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AAOnD;;;;GAIG;AACH,MAAM,OAAO,yBAAyB;IAInB,OAAO,CAAoC;IAC3C,UAAU,CAAsB;IAEjD,YAAY,KAAqC;QAC/C,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,GAA0B;QAE1B,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACtD,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC;QAElD,MAAM,eAAe,GACnB,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAEvE,MAAM,eAAe,GACnB,iBAAiB,KAAK,SAAS;YAC7B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;QAE1E,MAAM,UAAU,GACd,eAAe,KAAK,SAAS;YAC3B,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,CAAC,EACD,eAAe,CAAC,SAAS,CACvB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,eAAe,CAClD,GAAG,CAAC,CACN,CAAC;QAER,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,cAAc,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QAEzE,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC7B,IAAI,EAAE,MAAM,CAAC,UAAU;aACxB,CAAC,CAAC;YACH,iBAAiB,EACf,cAAc,IAAI,UAAU,KAAK,SAAS;gBACxC,CAAC,CAAC,yBAAyB,CAAC,qBAAqB,CAC7C,UAAU,CAAC,UAAU,CACtB;gBACH,CAAC,CAAC,SAAS;YACf,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,UAAkB;QACrD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,KAAa;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
2
|
import type { SimListObjectsCommand, SimListObjectsCommandOutput } from "./list-objects.cmd.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
|
|
4
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
4
5
|
interface ListObjectsCommandHandlerProps {
|
|
5
6
|
readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
|
|
7
|
+
readonly background?: BackgroundScheduler;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Simulated S3 ListObjectsCommand handler.
|
|
@@ -11,6 +13,7 @@ interface ListObjectsCommandHandlerProps {
|
|
|
11
13
|
*/
|
|
12
14
|
export declare class ListObjectsCommandHandler implements CommandHandler<SimListObjectsCommand, SimListObjectsCommandOutput> {
|
|
13
15
|
private readonly buckets;
|
|
16
|
+
private readonly background;
|
|
14
17
|
constructor(props: ListObjectsCommandHandlerProps);
|
|
15
18
|
/**
|
|
16
19
|
* Simulate listing Objects in an S3 Bucket.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-objects.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/list-objects/list-objects.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"list-objects.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/list-objects/list-objects.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,UAAU,8BAA8B;IACtC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,yBAA0B,YAAW,cAAc,CAC9D,qBAAqB,EACrB,2BAA2B,CAC5B;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAErC,KAAK,EAAE,8BAA8B;IAMjD;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,qBAAqB,GACzB,OAAO,CAAC,2BAA2B,CAAC;CA2CxC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertDefined } from "../../../../util/defined/defined.js";
|
|
2
|
-
import { jitter } from "../../../../util/sleep.js";
|
|
3
2
|
import { SimS3NoSuchBucket } from "../../error/s3.error.js";
|
|
3
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
4
4
|
/**
|
|
5
5
|
* Simulated S3 ListObjectsCommand handler.
|
|
6
6
|
*
|
|
@@ -8,8 +8,11 @@ import { SimS3NoSuchBucket } from "../../error/s3.error.js";
|
|
|
8
8
|
*/
|
|
9
9
|
export class ListObjectsCommandHandler {
|
|
10
10
|
buckets;
|
|
11
|
+
background;
|
|
11
12
|
constructor(props) {
|
|
12
|
-
|
|
13
|
+
const { buckets, background = new BackgroundTasks() } = props;
|
|
14
|
+
this.buckets = buckets;
|
|
15
|
+
this.background = background;
|
|
13
16
|
}
|
|
14
17
|
/**
|
|
15
18
|
* Simulate listing Objects in an S3 Bucket.
|
|
@@ -21,7 +24,8 @@ export class ListObjectsCommandHandler {
|
|
|
21
24
|
if (bucket === undefined) {
|
|
22
25
|
throw new SimS3NoSuchBucket(`No S3 Bucket named ${bucketName}`);
|
|
23
26
|
}
|
|
24
|
-
|
|
27
|
+
// Allow for potential non-deterministic sequencing of async events.
|
|
28
|
+
await this.background.sequence();
|
|
25
29
|
const prefix = cmd.input.Prefix;
|
|
26
30
|
const marker = cmd.input.Marker;
|
|
27
31
|
const maxKeys = cmd.input.MaxKeys ?? 1000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-objects.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/list-objects/list-objects.handler.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list-objects.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/list-objects/list-objects.handler.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AAOnD;;;;GAIG;AACH,MAAM,OAAO,yBAAyB;IAInB,OAAO,CAAoC;IAC3C,UAAU,CAAsB;IAEjD,YAAY,KAAqC;QAC/C,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,GAA0B;QAE1B,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;QAEnE,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAyB,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,iBAAiB,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEnD,MAAM,UAAU,GACd,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9D,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC9B,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,IAAI,EAAE,MAAM,CAAC,UAAU;YACvB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,WAAW;YACxB,UAAU,EACR,WAAW,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YACtE,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
2
|
import type { SimPutBucketWebsiteCommand, SimPutBucketWebsiteCommandOutput } from "./put-bucket-website.cmd.js";
|
|
3
3
|
import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
|
|
4
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
4
5
|
interface PutBucketWebsiteCommandHandlerProps {
|
|
5
6
|
readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
|
|
7
|
+
readonly background?: BackgroundScheduler;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Simulated S3 PutBucketWebsiteCommand handler.
|
|
@@ -11,6 +13,7 @@ interface PutBucketWebsiteCommandHandlerProps {
|
|
|
11
13
|
*/
|
|
12
14
|
export declare class PutBucketWebsiteCommandHandler implements CommandHandler<SimPutBucketWebsiteCommand, SimPutBucketWebsiteCommandOutput> {
|
|
13
15
|
private readonly buckets;
|
|
16
|
+
private readonly background;
|
|
14
17
|
constructor(props: PutBucketWebsiteCommandHandlerProps);
|
|
15
18
|
/**
|
|
16
19
|
* Configure static website hosting for an S3 Bucket.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put-bucket-website.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-bucket-website/put-bucket-website.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"put-bucket-website.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-bucket-website/put-bucket-website.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,8BAA+B,YAAW,cAAc,CACnE,0BAA0B,EAC1B,gCAAgC,CACjC;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAErC,KAAK,EAAE,mCAAmC;IAMtD;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,0BAA0B,GAC9B,OAAO,CAAC,gCAAgC,CAAC;CAyB7C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { S3BucketWebsite } from "../../bucket/website/s3-bucket-website.js";
|
|
2
2
|
import { assertDefined } from "../../../../util/defined/defined.js";
|
|
3
|
-
import { jitter } from "../../../../util/sleep.js";
|
|
4
3
|
import { SimS3NoSuchBucket } from "../../error/s3.error.js";
|
|
4
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
5
5
|
/**
|
|
6
6
|
* Simulated S3 PutBucketWebsiteCommand handler.
|
|
7
7
|
*
|
|
@@ -9,8 +9,11 @@ import { SimS3NoSuchBucket } from "../../error/s3.error.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export class PutBucketWebsiteCommandHandler {
|
|
11
11
|
buckets;
|
|
12
|
+
background;
|
|
12
13
|
constructor(props) {
|
|
13
|
-
|
|
14
|
+
const { buckets, background = new BackgroundTasks() } = props;
|
|
15
|
+
this.buckets = buckets;
|
|
16
|
+
this.background = background;
|
|
14
17
|
}
|
|
15
18
|
/**
|
|
16
19
|
* Configure static website hosting for an S3 Bucket.
|
|
@@ -23,7 +26,8 @@ export class PutBucketWebsiteCommandHandler {
|
|
|
23
26
|
if (bucket === undefined) {
|
|
24
27
|
throw new SimS3NoSuchBucket(`No S3 Bucket named ${bucketName}`);
|
|
25
28
|
}
|
|
26
|
-
|
|
29
|
+
// Allow for potential non-deterministic sequencing of async events.
|
|
30
|
+
await this.background.sequence();
|
|
27
31
|
bucket.configureWebsite(new S3BucketWebsite(cmd.input.WebsiteConfiguration));
|
|
28
32
|
return {
|
|
29
33
|
$metadata: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put-bucket-website.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-bucket-website/put-bucket-website.handler.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"put-bucket-website.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-bucket-website/put-bucket-website.handler.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AAOnD;;;;GAIG;AACH,MAAM,OAAO,8BAA8B;IAIxB,OAAO,CAAoC;IAC3C,UAAU,CAAsB;IAEjD,YAAY,KAA0C;QACpD,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,GAA+B;QAE/B,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;QACxE,aAAa,CACX,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAC9B,oDAAoD,CACrD,CAAC;QAEF,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAyB,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,iBAAiB,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,CAAC,gBAAgB,CACrB,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CACpD,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
2
|
import type { SimPutObjectCommand, SimPutObjectCommandOutput } from "./put-object.cmd.js";
|
|
3
3
|
import type { SimS3BucketName, SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
|
|
4
|
+
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
4
5
|
interface PutObjectCommandHandlerProps {
|
|
5
6
|
readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
|
|
7
|
+
readonly background?: BackgroundScheduler;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Simulated S3 PutObjectCommand handler.
|
|
@@ -11,6 +13,7 @@ interface PutObjectCommandHandlerProps {
|
|
|
11
13
|
*/
|
|
12
14
|
export declare class PutObjectCommandHandler implements CommandHandler<SimPutObjectCommand, SimPutObjectCommandOutput> {
|
|
13
15
|
private readonly buckets;
|
|
16
|
+
private readonly background;
|
|
14
17
|
constructor(props: PutObjectCommandHandlerProps);
|
|
15
18
|
/**
|
|
16
19
|
* Simulate putting an Object into an S3 Bucket.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put-object.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-object/put-object.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACZ,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"put-object.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-object/put-object.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACZ,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAGnD,UAAU,4BAA4B;IACpC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,cAAc,CAC5D,mBAAmB,EACnB,yBAAyB,CAC1B;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAErC,KAAK,EAAE,4BAA4B;IAM/C;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA2B1E,OAAO,CAAC,MAAM,CAAC,UAAU;IASzB,OAAO,CAAC,MAAM,CAAC,QAAQ;CAiBxB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SimS3Object, SimS3ObjectMetadata } from "../../object/s3-object.js";
|
|
2
2
|
import { assertDefined } from "../../../../util/defined/defined.js";
|
|
3
|
-
import {
|
|
3
|
+
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
4
4
|
import { SimS3NoSuchBucket } from "../../error/s3.error.js";
|
|
5
5
|
/**
|
|
6
6
|
* Simulated S3 PutObjectCommand handler.
|
|
@@ -9,8 +9,11 @@ import { SimS3NoSuchBucket } from "../../error/s3.error.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export class PutObjectCommandHandler {
|
|
11
11
|
buckets;
|
|
12
|
+
background;
|
|
12
13
|
constructor(props) {
|
|
13
|
-
|
|
14
|
+
const { buckets, background = new BackgroundTasks() } = props;
|
|
15
|
+
this.buckets = buckets;
|
|
16
|
+
this.background = background;
|
|
14
17
|
}
|
|
15
18
|
/**
|
|
16
19
|
* Simulate putting an Object into an S3 Bucket.
|
|
@@ -23,7 +26,8 @@ export class PutObjectCommandHandler {
|
|
|
23
26
|
if (bucket === undefined) {
|
|
24
27
|
throw new SimS3NoSuchBucket(`No S3 Bucket named ${bucketName}`);
|
|
25
28
|
}
|
|
26
|
-
|
|
29
|
+
// Allow for potential non-deterministic sequencing of async events.
|
|
30
|
+
await this.background.sequence();
|
|
27
31
|
const object = new SimS3Object({
|
|
28
32
|
key: cmd.input.Key,
|
|
29
33
|
body: PutObjectCommandHandler.toBuffer(cmd.input.Body),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put-object.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-object/put-object.handler.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"put-object.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-object/put-object.handler.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAO5D;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAIjB,OAAO,CAAoC;IAC3C,UAAU,CAAsB;IAEjD,YAAY,KAAmC;QAC7C,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,KAAK,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAwB;QACnC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;QACjE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;QAE3D,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAyB,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,iBAAiB,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;YAC7B,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG;YAClB,IAAI,EAAE,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACtD,QAAQ,EAAE,IAAI,mBAAmB,CAC/B,uBAAuB,CAAC,UAAU,CAAC,GAAG,CAAC,CACxC;SACF,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE/B,OAAO;YACL,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,GAAwB;QAChD,OAAO;YACL,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ;YACrB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SAC/C,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,IAA0C;QAChE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -7,9 +7,11 @@ import type { SimListObjectsCommand, SimListObjectsCommandOutput } from "./comma
|
|
|
7
7
|
import type { SimListBucketsCommand, SimListBucketsCommandOutput } from "./command/list-buckets/list-buckets.cmd.js";
|
|
8
8
|
import type { SimGetObjectCommand, SimGetObjectCommandOutput } from "./command/get-object/get-object.cmd.js";
|
|
9
9
|
import type { SimCreateBucketCommand, SimCreateBucketCommandOutput } from "./command/create-bucket/create-bucket.cmd.js";
|
|
10
|
+
import { type BackgroundScheduler } from "../../util/background/background.js";
|
|
10
11
|
interface SimS3Props {
|
|
11
12
|
readonly accountRegionScope?: SimAwsAccountRegionScope;
|
|
12
13
|
readonly s3GlobalRegistry?: SimS3GlobalRegistry;
|
|
14
|
+
readonly background?: BackgroundScheduler;
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* Simulated S3. Handles SDK commands. Emulates AWS behaviour and state.
|
|
@@ -20,6 +22,7 @@ export declare class SimS3 {
|
|
|
20
22
|
private readonly buckets;
|
|
21
23
|
private readonly accountRegionScope;
|
|
22
24
|
private readonly s3GlobalRegistry;
|
|
25
|
+
private readonly background;
|
|
23
26
|
constructor(props?: SimS3Props);
|
|
24
27
|
/**
|
|
25
28
|
* Handle a Create Bucket Command from the SDK.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3.d.ts","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAM9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,wCAAwC,CAAC;AAIhD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3.d.ts","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAM9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,wCAAwC,CAAC;AAIhD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAE7C,UAAU,UAAU;IAClB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IACvD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;GAIG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2C;IAEnE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAErC,KAAK,GAAE,UAAe;IAYlC;;OAEG;IACG,YAAY,CAChB,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,4BAA4B,CAAC;IAUxC;;OAEG;IACG,gBAAgB,CACpB,GAAG,EAAE,0BAA0B,GAC9B,OAAO,CAAC,gCAAgC,CAAC;IAQ5C;;OAEG;IACG,WAAW,CACf,GAAG,EAAE,qBAAqB,GACzB,OAAO,CAAC,2BAA2B,CAAC;IAQvC;;OAEG;IACG,SAAS,CACb,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,yBAAyB,CAAC;IAQrC;;OAEG;IACG,SAAS,CACb,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,yBAAyB,CAAC;IAQrC;;OAEG;IACG,WAAW,CACf,GAAG,EAAE,qBAAqB,GACzB,OAAO,CAAC,2BAA2B,CAAC;IAQvC;;OAEG;IACH,kBAAkB,CAChB,UAAU,EAAE,eAAe,GAAG,MAAM,GACnC,WAAW,GAAG,SAAS;IAI1B;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,GAAG,GAAG;IAO9D;;OAEG;IACH,eAAe,CACb,UAAU,EAAE,eAAe,GAAG,MAAM,GACnC,wBAAwB,GAAG,SAAS;IAIvC;;OAEG;IACH,qBAAqB,CACnB,UAAU,EAAE,eAAe,GAAG,MAAM,EACpC,aAAa,EAAE,MAAM,GACpB,IAAI;CAOR"}
|
|
@@ -8,6 +8,7 @@ import { simAwsAccountRegionScopeFactory, } from "../aws/sim-aws-account-region-
|
|
|
8
8
|
import { PutBucketWebsiteCommandHandler } from "./command/put-bucket-website/put-bucket-website.handler.js";
|
|
9
9
|
import { assertDefined } from "../../util/defined/defined.js";
|
|
10
10
|
import { FilesystemS3BucketStorage } from "./storage/s3-filesystem-storage.js";
|
|
11
|
+
import { BackgroundTasks, } from "../../util/background/background.js";
|
|
11
12
|
/**
|
|
12
13
|
* Simulated S3. Handles SDK commands. Emulates AWS behaviour and state.
|
|
13
14
|
* Scoped to an Account and Region, but has access to a global (as in
|
|
@@ -17,10 +18,12 @@ export class SimS3 {
|
|
|
17
18
|
buckets = new Map();
|
|
18
19
|
accountRegionScope;
|
|
19
20
|
s3GlobalRegistry;
|
|
21
|
+
background;
|
|
20
22
|
constructor(props = {}) {
|
|
21
|
-
const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), s3GlobalRegistry = new SimS3GlobalRegistry(), } = props;
|
|
23
|
+
const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), s3GlobalRegistry = new SimS3GlobalRegistry(), background = new BackgroundTasks(), } = props;
|
|
22
24
|
this.accountRegionScope = accountRegionScope;
|
|
23
25
|
this.s3GlobalRegistry = s3GlobalRegistry;
|
|
26
|
+
this.background = background;
|
|
24
27
|
}
|
|
25
28
|
/**
|
|
26
29
|
* Handle a Create Bucket Command from the SDK.
|
|
@@ -30,6 +33,7 @@ export class SimS3 {
|
|
|
30
33
|
accountRegionScope: this.accountRegionScope,
|
|
31
34
|
buckets: this.buckets,
|
|
32
35
|
s3GlobalRegistry: this.s3GlobalRegistry,
|
|
36
|
+
background: this.background,
|
|
33
37
|
});
|
|
34
38
|
return await handler.handle(cmd);
|
|
35
39
|
}
|
|
@@ -39,6 +43,7 @@ export class SimS3 {
|
|
|
39
43
|
async putBucketWebsite(cmd) {
|
|
40
44
|
const handler = new PutBucketWebsiteCommandHandler({
|
|
41
45
|
buckets: this.buckets,
|
|
46
|
+
background: this.background,
|
|
42
47
|
});
|
|
43
48
|
return await handler.handle(cmd);
|
|
44
49
|
}
|
|
@@ -46,28 +51,40 @@ export class SimS3 {
|
|
|
46
51
|
* Handle a List Buckets Command from the SDK.
|
|
47
52
|
*/
|
|
48
53
|
async listBuckets(cmd) {
|
|
49
|
-
const handler = new ListBucketsCommandHandler({
|
|
54
|
+
const handler = new ListBucketsCommandHandler({
|
|
55
|
+
buckets: this.buckets,
|
|
56
|
+
background: this.background,
|
|
57
|
+
});
|
|
50
58
|
return await handler.handle(cmd);
|
|
51
59
|
}
|
|
52
60
|
/**
|
|
53
61
|
* Handle a Put Object Command from the SDK.
|
|
54
62
|
*/
|
|
55
63
|
async putObject(cmd) {
|
|
56
|
-
const handler = new PutObjectCommandHandler({
|
|
64
|
+
const handler = new PutObjectCommandHandler({
|
|
65
|
+
buckets: this.buckets,
|
|
66
|
+
background: this.background,
|
|
67
|
+
});
|
|
57
68
|
return await handler.handle(cmd);
|
|
58
69
|
}
|
|
59
70
|
/**
|
|
60
71
|
* Handle a Get Object Command from the SDK.
|
|
61
72
|
*/
|
|
62
73
|
async getObject(cmd) {
|
|
63
|
-
const handler = new GetObjectCommandHandler({
|
|
74
|
+
const handler = new GetObjectCommandHandler({
|
|
75
|
+
buckets: this.buckets,
|
|
76
|
+
background: this.background,
|
|
77
|
+
});
|
|
64
78
|
return await handler.handle(cmd);
|
|
65
79
|
}
|
|
66
80
|
/**
|
|
67
81
|
* Handle a List Objects Command from the SDK.
|
|
68
82
|
*/
|
|
69
83
|
async listObjects(cmd) {
|
|
70
|
-
const handler = new ListObjectsCommandHandler({
|
|
84
|
+
const handler = new ListObjectsCommandHandler({
|
|
85
|
+
buckets: this.buckets,
|
|
86
|
+
background: this.background,
|
|
87
|
+
});
|
|
71
88
|
return await handler.handle(cmd);
|
|
72
89
|
}
|
|
73
90
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAEL,+BAA+B,GAChC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"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"}
|