@kensio/yulin 0.2.0 → 0.4.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.
Files changed (139) hide show
  1. package/README.md +89 -1
  2. package/dist/serve/controller/sim-aws-service-controller-container.d.ts +17 -0
  3. package/dist/serve/controller/sim-aws-service-controller-container.d.ts.map +1 -0
  4. package/dist/serve/controller/sim-aws-service-controller-container.js +29 -0
  5. package/dist/serve/controller/sim-aws-service-controller-container.js.map +1 -0
  6. package/dist/serve/controller/sim-service-controller.d.ts +22 -0
  7. package/dist/serve/controller/sim-service-controller.d.ts.map +1 -0
  8. package/dist/serve/controller/sim-service-controller.js +2 -0
  9. package/dist/serve/controller/sim-service-controller.js.map +1 -0
  10. package/dist/serve/http/sim-aws-http.d.ts +20 -0
  11. package/dist/serve/http/sim-aws-http.d.ts.map +1 -0
  12. package/dist/serve/http/sim-aws-http.js +57 -0
  13. package/dist/serve/http/sim-aws-http.js.map +1 -0
  14. package/dist/serve/http/sim-aws-local-server.d.ts +37 -0
  15. package/dist/serve/http/sim-aws-local-server.d.ts.map +1 -0
  16. package/dist/serve/http/sim-aws-local-server.js +132 -0
  17. package/dist/serve/http/sim-aws-local-server.js.map +1 -0
  18. package/dist/serve/http/sim-aws-local.conf.d.ts +8 -0
  19. package/dist/serve/http/sim-aws-local.conf.d.ts.map +1 -0
  20. package/dist/serve/http/sim-aws-local.conf.js +8 -0
  21. package/dist/serve/http/sim-aws-local.conf.js.map +1 -0
  22. package/dist/serve/index.d.ts +3 -0
  23. package/dist/serve/index.d.ts.map +1 -0
  24. package/dist/serve/index.js +3 -0
  25. package/dist/serve/index.js.map +1 -0
  26. package/dist/serve/resolve/sim-aws-local-service-resolver.d.ts +13 -0
  27. package/dist/serve/resolve/sim-aws-local-service-resolver.d.ts.map +1 -0
  28. package/dist/serve/resolve/sim-aws-local-service-resolver.js +38 -0
  29. package/dist/serve/resolve/sim-aws-local-service-resolver.js.map +1 -0
  30. package/dist/service/aws/arn.d.ts +17 -0
  31. package/dist/service/aws/arn.d.ts.map +1 -0
  32. package/dist/service/aws/arn.js +21 -0
  33. package/dist/service/aws/arn.js.map +1 -0
  34. package/dist/service/aws/sim-aws-account-region-scope.d.ts +38 -0
  35. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -0
  36. package/dist/service/aws/sim-aws-account-region-scope.js +52 -0
  37. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -0
  38. package/dist/service/aws/sim-aws-account.d.ts +33 -0
  39. package/dist/service/aws/sim-aws-account.d.ts.map +1 -0
  40. package/dist/service/aws/sim-aws-account.js +38 -0
  41. package/dist/service/aws/sim-aws-account.js.map +1 -0
  42. package/dist/service/aws/sim-aws-region.d.ts +33 -0
  43. package/dist/service/aws/sim-aws-region.d.ts.map +1 -0
  44. package/dist/service/aws/sim-aws-region.js +74 -0
  45. package/dist/service/aws/sim-aws-region.js.map +1 -0
  46. package/dist/service/aws/sim-aws-services.d.ts +21 -0
  47. package/dist/service/aws/sim-aws-services.d.ts.map +1 -0
  48. package/dist/service/aws/sim-aws-services.js +2 -0
  49. package/dist/service/aws/sim-aws-services.js.map +1 -0
  50. package/dist/service/aws/sim-aws.d.ts +50 -0
  51. package/dist/service/aws/sim-aws.d.ts.map +1 -0
  52. package/dist/service/aws/sim-aws.js +82 -0
  53. package/dist/service/aws/sim-aws.js.map +1 -0
  54. package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts +3 -1
  55. package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts.map +1 -1
  56. package/dist/service/dynamodb/command/create-table/create-table.handler.js +7 -3
  57. package/dist/service/dynamodb/command/create-table/create-table.handler.js.map +1 -1
  58. package/dist/service/dynamodb/index.d.ts +1 -1
  59. package/dist/service/dynamodb/index.d.ts.map +1 -1
  60. package/dist/service/dynamodb/index.js +1 -1
  61. package/dist/service/dynamodb/index.js.map +1 -1
  62. package/dist/service/dynamodb/sim-dynamodb.d.ts +29 -0
  63. package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -0
  64. package/dist/service/dynamodb/sim-dynamodb.js +47 -0
  65. package/dist/service/dynamodb/sim-dynamodb.js.map +1 -0
  66. package/dist/service/dynamodb/table/dynamodb-table.d.ts +7 -1
  67. package/dist/service/dynamodb/table/dynamodb-table.d.ts.map +1 -1
  68. package/dist/service/dynamodb/table/dynamodb-table.js +14 -1
  69. package/dist/service/dynamodb/table/dynamodb-table.js.map +1 -1
  70. package/dist/service/s3/bucket/s3-bucket.d.ts +18 -4
  71. package/dist/service/s3/bucket/s3-bucket.d.ts.map +1 -1
  72. package/dist/service/s3/bucket/s3-bucket.js +26 -11
  73. package/dist/service/s3/bucket/s3-bucket.js.map +1 -1
  74. package/dist/service/s3/bucket/website/s3-bucket-website.d.ts +39 -0
  75. package/dist/service/s3/bucket/website/s3-bucket-website.d.ts.map +1 -0
  76. package/dist/service/s3/bucket/website/s3-bucket-website.js +123 -0
  77. package/dist/service/s3/bucket/website/s3-bucket-website.js.map +1 -0
  78. package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +5 -1
  79. package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
  80. package/dist/service/s3/command/create-bucket/create-bucket.handler.js +26 -5
  81. package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
  82. package/dist/service/s3/command/get-object/get-object.handler.d.ts +2 -2
  83. package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
  84. package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
  85. package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts +2 -2
  86. package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts.map +1 -1
  87. package/dist/service/s3/command/list-buckets/list-buckets.handler.js.map +1 -1
  88. package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +2 -2
  89. package/dist/service/s3/command/list-objects/list-objects.handler.d.ts.map +1 -1
  90. package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
  91. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts +17 -0
  92. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -0
  93. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +37 -0
  94. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -0
  95. package/dist/service/s3/command/put-object/put-object.handler.d.ts +3 -2
  96. package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
  97. package/dist/service/s3/command/put-object/put-object.handler.js +9 -1
  98. package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
  99. package/dist/service/s3/index.d.ts +1 -1
  100. package/dist/service/s3/index.d.ts.map +1 -1
  101. package/dist/service/s3/index.js +1 -1
  102. package/dist/service/s3/index.js.map +1 -1
  103. package/dist/service/s3/serve/sim-s3-controller.d.ts +15 -0
  104. package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -0
  105. package/dist/service/s3/serve/sim-s3-controller.js +29 -0
  106. package/dist/service/s3/serve/sim-s3-controller.js.map +1 -0
  107. package/dist/service/s3/serve/sim-s3-get-obj-controller.d.ts +14 -0
  108. package/dist/service/s3/serve/sim-s3-get-obj-controller.d.ts.map +1 -0
  109. package/dist/service/s3/serve/sim-s3-get-obj-controller.js +66 -0
  110. package/dist/service/s3/serve/sim-s3-get-obj-controller.js.map +1 -0
  111. package/dist/service/s3/serve/sim-s3-req-router.d.ts +26 -0
  112. package/dist/service/s3/serve/sim-s3-req-router.d.ts.map +1 -0
  113. package/dist/service/s3/serve/sim-s3-req-router.js +72 -0
  114. package/dist/service/s3/serve/sim-s3-req-router.js.map +1 -0
  115. package/dist/service/s3/sim-s3-global-registry.d.ts +20 -0
  116. package/dist/service/s3/sim-s3-global-registry.d.ts.map +1 -0
  117. package/dist/service/s3/sim-s3-global-registry.js +22 -0
  118. package/dist/service/s3/sim-s3-global-registry.js.map +1 -0
  119. package/dist/service/s3/sim-s3.d.ts +42 -0
  120. package/dist/service/s3/sim-s3.d.ts.map +1 -0
  121. package/dist/service/s3/sim-s3.js +69 -0
  122. package/dist/service/s3/sim-s3.js.map +1 -0
  123. package/dist/service/s3/storage/s3-bucket-storage.d.ts +2 -16
  124. package/dist/service/s3/storage/s3-bucket-storage.d.ts.map +1 -1
  125. package/dist/service/s3/storage/s3-bucket-storage.js +1 -63
  126. package/dist/service/s3/storage/s3-bucket-storage.js.map +1 -1
  127. package/dist/service/s3/storage/s3-filesystem-storage.d.ts +59 -0
  128. package/dist/service/s3/storage/s3-filesystem-storage.d.ts.map +1 -0
  129. package/dist/service/s3/storage/s3-filesystem-storage.js +266 -0
  130. package/dist/service/s3/storage/s3-filesystem-storage.js.map +1 -0
  131. package/dist/service/s3/storage/s3-memory-storage.d.ts +27 -0
  132. package/dist/service/s3/storage/s3-memory-storage.d.ts.map +1 -0
  133. package/dist/service/s3/storage/s3-memory-storage.js +37 -0
  134. package/dist/service/s3/storage/s3-memory-storage.js.map +1 -0
  135. package/dist/util/filesystem/temp-dir.d.ts +5 -0
  136. package/dist/util/filesystem/temp-dir.d.ts.map +1 -0
  137. package/dist/util/filesystem/temp-dir.js +14 -0
  138. package/dist/util/filesystem/temp-dir.js.map +1 -0
  139. package/package.json +21 -9
@@ -0,0 +1,47 @@
1
+ import { CreateTableCommandHandler } from "./command/create-table/create-table.handler.js";
2
+ import { BackgroundTasks, } from "../../util/background/background.js";
3
+ import { ListTablesCommandHandler } from "./command/list-tables/list-tables.handler.js";
4
+ import { DescribeTableCommandHandler } from "./command/describe-table/describe-table.handler.js";
5
+ import { PutItemCommandHandler } from "./command/put-item/put-item.handler.js";
6
+ import { simAwsAccountRegionScopeFactory, } from "../aws/sim-aws-account-region-scope.js";
7
+ /**
8
+ * Simulated DynamoDB. Handles SDK commands. Emulates AWS behaviour and state.
9
+ */
10
+ export class SimDynamoDb {
11
+ accountRegionScope;
12
+ background;
13
+ tables = new Map();
14
+ constructor(accountRegionScope = simAwsAccountRegionScopeFactory.make(), background = new BackgroundTasks()) {
15
+ this.accountRegionScope = accountRegionScope;
16
+ this.background = background;
17
+ }
18
+ /**
19
+ * Handle a Create Table Command from the SDK.
20
+ */
21
+ async createTable(cmd) {
22
+ const handler = new CreateTableCommandHandler(this.accountRegionScope, this.tables, this.background);
23
+ return await handler.handle(cmd);
24
+ }
25
+ /**
26
+ * Handle a List Tables Command from the SDK.
27
+ */
28
+ async listTables(cmd) {
29
+ const handler = new ListTablesCommandHandler(this.tables);
30
+ return await handler.handle(cmd);
31
+ }
32
+ /**
33
+ * Handle a Describe Table Command from the SDK.
34
+ */
35
+ async describeTable(cmd) {
36
+ const handler = new DescribeTableCommandHandler(this.tables);
37
+ return await handler.handle(cmd);
38
+ }
39
+ /**
40
+ * Handle a Put Item Command from the SDK.
41
+ */
42
+ async putItem(cmd) {
43
+ const handler = new PutItemCommandHandler(this.tables);
44
+ return await handler.handle(cmd);
45
+ }
46
+ }
47
+ //# sourceMappingURL=sim-dynamodb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-dynamodb.js","sourceRoot":"","sources":["../../../src/service/dynamodb/sim-dynamodb.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAEL,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAEL,+BAA+B,GAChC,MAAM,wCAAwC,CAAC;AAEhD;;GAEG;AACH,MAAM,OAAO,WAAW;IAIH;IACA;IAJF,MAAM,GAAG,IAAI,GAAG,EAAuC,CAAC;IAEzE,YACmB,qBAA+C,+BAA+B,CAAC,IAAI,EAAE,EACrF,aAAkC,IAAI,eAAe,EAAE;QADvD,uBAAkB,GAAlB,kBAAkB,CAAmE;QACrF,eAAU,GAAV,UAAU,CAA6C;IACvE,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,GAAuB;QACvC,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAC3C,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,GAAsB;QACrC,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,GAAyB;QAC3C,MAAM,OAAO,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,GAAmB;QAC/B,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;CACF"}
@@ -2,18 +2,20 @@ import type { Brand } from "../../../util/brand.type.js";
2
2
  import type { CreateTableCommand, TableStatus } from "@aws-sdk/client-dynamodb";
3
3
  import type { DynamoDbItem } from "../item/dynamodb-item.js";
4
4
  import type { BackgroundScheduler } from "../../../util/background/background.js";
5
+ import { type SimArn, type SimArnComponents } from "../../aws/arn.js";
5
6
  export type DynamoDbTableName = Brand<string, "DynamoDbTableName">;
6
7
  /**
7
8
  * Simulated DynamoDB Table.
8
9
  */
9
10
  export declare class SimDynamoDbTable {
11
+ readonly simArn: SimArn;
10
12
  private readonly background;
11
13
  readonly creationDateTime: Date;
12
14
  readonly tableName: DynamoDbTableName;
13
15
  private readonly _keySchema;
14
16
  private _status;
15
17
  private readonly items;
16
- constructor(createCommand: CreateTableCommand, background: BackgroundScheduler);
18
+ constructor(createCommand: CreateTableCommand, simArn: SimArn, background: BackgroundScheduler);
17
19
  /**
18
20
  * Simulate the table entering ACTIVE status.
19
21
  */
@@ -27,4 +29,8 @@ export declare class SimDynamoDbTable {
27
29
  */
28
30
  putItem(item: DynamoDbItem): Promise<void>;
29
31
  }
32
+ /**
33
+ * Generate a fake ARN for a DynamoDB Table.
34
+ */
35
+ export declare function makeSimDynamoDbTableArn(overrides?: Exclude<Partial<SimArnComponents>, "service" | "resourceType">): SimArn;
30
36
  //# sourceMappingURL=dynamodb-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamodb-table.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/dynamodb-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAElF,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEnE;;GAEG;AACH,qBAAa,gBAAgB;IAYzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAX7B,SAAgB,gBAAgB,EAAE,IAAI,CAAC;IAEvC,SAAgB,SAAS,EAAE,iBAAiB,CAAC;IAE7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,OAAO,CAA2B;IAE1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;gBAGvD,aAAa,EAAE,kBAAkB,EAChB,UAAU,EAAE,mBAAmB;IAkBlD;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB;;OAEG;IACH,IAAW,MAAM,IAAI,WAAW,CAE/B;IAED;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAQlD"}
1
+ {"version":3,"file":"dynamodb-table.d.ts","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/dynamodb-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEnE;;GAEG;AACH,qBAAa,gBAAgB;aAYT,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAZ7B,SAAgB,gBAAgB,EAAE,IAAI,CAAC;IAEvC,SAAgB,SAAS,EAAE,iBAAiB,CAAC;IAE7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,OAAO,CAA2B;IAE1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;gBAGvD,aAAa,EAAE,kBAAkB,EACjB,MAAM,EAAE,MAAM,EACb,UAAU,EAAE,mBAAmB;IAkBlD;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB;;OAEG;IACH,IAAW,MAAM,IAAI,WAAW,CAE/B;IAED;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAQlD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC,GACzE,MAAM,CAMR"}
@@ -1,16 +1,19 @@
1
1
  import { DynamoDbKeySchema } from "./dynamodb-key-schema.js";
2
2
  import { assertDefined } from "../../../util/defined.js";
3
+ import { makeSimArn, } from "../../aws/arn.js";
3
4
  /**
4
5
  * Simulated DynamoDB Table.
5
6
  */
6
7
  export class SimDynamoDbTable {
8
+ simArn;
7
9
  background;
8
10
  creationDateTime;
9
11
  tableName;
10
12
  _keySchema;
11
13
  _status = "CREATING";
12
14
  items = new Map();
13
- constructor(createCommand, background) {
15
+ constructor(createCommand, simArn, background) {
16
+ this.simArn = simArn;
14
17
  this.background = background;
15
18
  assertDefined(createCommand.input.TableName, "createCommand.input.TableName");
16
19
  this.tableName = createCommand.input.TableName;
@@ -46,4 +49,14 @@ export class SimDynamoDbTable {
46
49
  return Promise.resolve();
47
50
  }
48
51
  }
52
+ /**
53
+ * Generate a fake ARN for a DynamoDB Table.
54
+ */
55
+ export function makeSimDynamoDbTableArn(overrides) {
56
+ return makeSimArn({
57
+ service: "dynamodb",
58
+ resourceType: "table",
59
+ ...overrides,
60
+ });
61
+ }
49
62
  //# sourceMappingURL=dynamodb-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamodb-table.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/dynamodb-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAYR;IAXH,gBAAgB,CAAO;IAEvB,SAAS,CAAoB;IAE5B,UAAU,CAAoB;IACvC,OAAO,GAAgB,UAAU,CAAC;IAEzB,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEzD,YACE,aAAiC,EAChB,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;QAEhD,aAAa,CACX,aAAa,CAAC,KAAK,CAAC,SAAS,EAC7B,+BAA+B,CAChC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,SAA8B,CAAC;QACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC;QAEnC,IACE,aAAa,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;YAC3C,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAC1C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QACxB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,IAAkB;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"dynamodb-table.js","sourceRoot":"","sources":["../../../../src/service/dynamodb/table/dynamodb-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EACL,UAAU,GAGX,MAAM,kBAAkB,CAAC;AAI1B;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAYT;IACC;IAZH,gBAAgB,CAAO;IAEvB,SAAS,CAAoB;IAE5B,UAAU,CAAoB;IACvC,OAAO,GAAgB,UAAU,CAAC;IAEzB,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEzD,YACE,aAAiC,EACjB,MAAc,EACb,UAA+B;QADhC,WAAM,GAAN,MAAM,CAAQ;QACb,eAAU,GAAV,UAAU,CAAqB;QAEhD,aAAa,CACX,aAAa,CAAC,KAAK,CAAC,SAAS,EAC7B,+BAA+B,CAChC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,SAA8B,CAAC;QACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC;QAEnC,IACE,aAAa,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;YAC3C,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAC1C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QACxB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,IAAkB;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAA0E;IAE1E,OAAO,UAAU,CAAC;QAChB,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,OAAO;QACrB,GAAG,SAAS;KACb,CAAC,CAAC;AACL,CAAC"}
@@ -1,15 +1,17 @@
1
1
  import type { CreateBucketCommand } from "@aws-sdk/client-s3";
2
2
  import type { Brand } from "../../../util/brand.type.js";
3
- import { type SimS3BucketStorage } from "../storage/s3-bucket-storage.js";
3
+ import type { SimS3BucketStorage } from "../storage/s3-bucket-storage.js";
4
4
  import type { SimS3Object } from "../object/s3-object.js";
5
- export type S3BucketName = Brand<string, "S3BucketName">;
5
+ import { S3BucketWebsite } from "./website/s3-bucket-website.js";
6
+ export type SimS3BucketName = Brand<string, "SimS3BucketName">;
6
7
  /**
7
8
  * Simulated S3 Bucket.
8
9
  */
9
10
  export declare class SimS3Bucket {
10
- private readonly storage;
11
+ private storage;
12
+ private website;
11
13
  readonly bucketName: string;
12
- constructor(createCommand: CreateBucketCommand, storage?: SimS3BucketStorage);
14
+ constructor(createCommand: CreateBucketCommand, storage?: SimS3BucketStorage, website?: S3BucketWebsite);
13
15
  /**
14
16
  * Put a simulated S3 Object into storage.
15
17
  */
@@ -22,5 +24,17 @@ export declare class SimS3Bucket {
22
24
  * List simulated S3 Objects from storage.
23
25
  */
24
26
  listObjects(prefix?: string): Promise<SimS3Object[]>;
27
+ /**
28
+ * Change the storage implementation for this simulated S3 Bucket.
29
+ */
30
+ configureSimStorage(storage: SimS3BucketStorage): void;
31
+ /**
32
+ * Configure static website hosting for this simulated S3 Bucket.
33
+ */
34
+ configureWebsite(website: S3BucketWebsite): void;
35
+ /**
36
+ * Get static website configuration for this simulated S3 Bucket.
37
+ */
38
+ getWebsite(): S3BucketWebsite;
25
39
  }
26
40
  //# sourceMappingURL=s3-bucket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3-bucket.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/bucket/s3-bucket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEzD;;GAEG;AACH,qBAAa,WAAW;IAKpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAGjC,aAAa,EAAE,mBAAmB,EACjB,OAAO,GAAE,kBAAgD;IAgB5E;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAI9D;;OAEG;IACG,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAG3D"}
1
+ {"version":3,"file":"s3-bucket.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/bucket/s3-bucket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE/D;;GAEG;AACH,qBAAa,WAAW;IAKpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IALjB,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAGjC,aAAa,EAAE,mBAAmB,EAC1B,OAAO,GAAE,kBAAgD,EACzD,OAAO,GAAE,eAAuC;IAM1D;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAI9D;;OAEG;IACG,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI1D;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAOtD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAIhD;;OAEG;IACH,UAAU,IAAI,eAAe;CAG9B"}
@@ -1,25 +1,19 @@
1
1
  import { assertDefined } from "../../../util/defined.js";
2
- import { MemoryS3BucketStorage, } from "../storage/s3-bucket-storage.js";
2
+ import { MemoryS3BucketStorage } from "../storage/s3-memory-storage.js";
3
+ import { S3BucketWebsite } from "./website/s3-bucket-website.js";
3
4
  /**
4
5
  * Simulated S3 Bucket.
5
6
  */
6
7
  export class SimS3Bucket {
7
8
  storage;
9
+ website;
8
10
  bucketName;
9
- constructor(createCommand, storage = new MemoryS3BucketStorage()) {
11
+ constructor(createCommand, storage = new MemoryS3BucketStorage(), website = new S3BucketWebsite()) {
10
12
  this.storage = storage;
13
+ this.website = website;
11
14
  assertDefined(createCommand.input.Bucket, "createCommand.input.Bucket");
12
15
  this.bucketName = createCommand.input.Bucket;
13
16
  }
14
- // /**
15
- // * Change the storage implementation for this simulated S3 Bucket.
16
- // */
17
- // configureSimStorage(storage: SimS3BucketStorage): void {
18
- // if (!this.storage.allowChangeStorage()) {
19
- // throw new Error("Cannot change simulated S3 storage implementation");
20
- // }
21
- // this.storage = storage;
22
- // }
23
17
  /**
24
18
  * Put a simulated S3 Object into storage.
25
19
  */
@@ -38,5 +32,26 @@ export class SimS3Bucket {
38
32
  async listObjects(prefix) {
39
33
  return await this.storage.listObjects(prefix);
40
34
  }
35
+ /**
36
+ * Change the storage implementation for this simulated S3 Bucket.
37
+ */
38
+ configureSimStorage(storage) {
39
+ if (!this.storage.allowChangeStorage()) {
40
+ throw new Error("Cannot change simulated S3 storage implementation");
41
+ }
42
+ this.storage = storage;
43
+ }
44
+ /**
45
+ * Configure static website hosting for this simulated S3 Bucket.
46
+ */
47
+ configureWebsite(website) {
48
+ this.website = website;
49
+ }
50
+ /**
51
+ * Get static website configuration for this simulated S3 Bucket.
52
+ */
53
+ getWebsite() {
54
+ return this.website;
55
+ }
41
56
  }
42
57
  //# sourceMappingURL=s3-bucket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3-bucket.js","sourceRoot":"","sources":["../../../../src/service/s3/bucket/s3-bucket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EACL,qBAAqB,GAEtB,MAAM,iCAAiC,CAAC;AAKzC;;GAEG;AACH,MAAM,OAAO,WAAW;IAKH;IAJH,UAAU,CAAS;IAEnC,YACE,aAAkC,EACjB,UAA8B,IAAI,qBAAqB,EAAE;QAAzD,YAAO,GAAP,OAAO,CAAkD;QAE1E,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;IAC/C,CAAC;IAED,MAAM;IACN,qEAAqE;IACrE,MAAM;IACN,2DAA2D;IAC3D,8CAA8C;IAC9C,4EAA4E;IAC5E,MAAM;IACN,4BAA4B;IAC5B,IAAI;IAEJ;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAAmB;QACjC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAe;QAC/B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;CACF"}
1
+ {"version":3,"file":"s3-bucket.js","sourceRoot":"","sources":["../../../../src/service/s3/bucket/s3-bucket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAIjE;;GAEG;AACH,MAAM,OAAO,WAAW;IAKZ;IACA;IALM,UAAU,CAAS;IAEnC,YACE,aAAkC,EAC1B,UAA8B,IAAI,qBAAqB,EAAE,EACzD,UAA2B,IAAI,eAAe,EAAE;QADhD,YAAO,GAAP,OAAO,CAAkD;QACzD,YAAO,GAAP,OAAO,CAAyC;QAExD,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAAmB;QACjC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAe;QAC/B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,OAA2B;QAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAwB;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ import type { WebsiteConfiguration } from "@aws-sdk/client-s3";
2
+ /**
3
+ * Static website configuration for simulated S3 bucket.
4
+ *
5
+ * https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html
6
+ */
7
+ export declare class S3BucketWebsite {
8
+ private readonly websiteConfiguration;
9
+ constructor(websiteConfiguration?: WebsiteConfiguration);
10
+ /**
11
+ * Is static website hosting enabled for this simulated S3 bucket?
12
+ */
13
+ websiteEnabled(): boolean;
14
+ /**
15
+ * Does this website configuration redirect all requests?
16
+ */
17
+ redirectsAllRequests(): boolean;
18
+ /**
19
+ * Choose the S3 object key that should be served for a website request.
20
+ */
21
+ objectKeyForRequest(objectKey: string): string;
22
+ /**
23
+ * Get the S3 object key for this website's error document, if configured.
24
+ */
25
+ errorDocumentKey(): string | undefined;
26
+ /**
27
+ * Choose an appropriate response for a request response pair based on static
28
+ * website configuration for this simulated S3 bucket.
29
+ */
30
+ redirectForRequestResponse(req: Request, res: Response): Response;
31
+ private routingRuleMatches;
32
+ private redirectResponse;
33
+ private requestKey;
34
+ private matchingKeyPrefix;
35
+ private indexDocumentSpecified;
36
+ private errorDocumentSpecified;
37
+ private routingRulesSpecified;
38
+ }
39
+ //# sourceMappingURL=s3-bucket-website.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-bucket-website.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/bucket/website/s3-bucket-website.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAQ/D;;;;GAIG;AACH,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAApB,oBAAoB,GAAE,oBAAyB;IAGlE;;OAEG;IACH,cAAc,IAAI,OAAO;IASzB;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAM/B;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAkB9C;;OAEG;IACH,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAItC;;;OAGG;IACH,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,QAAQ;IA0BjE,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,qBAAqB;CAO9B"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Static website configuration for simulated S3 bucket.
3
+ *
4
+ * https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html
5
+ */
6
+ export class S3BucketWebsite {
7
+ websiteConfiguration;
8
+ constructor(websiteConfiguration = {}) {
9
+ this.websiteConfiguration = websiteConfiguration;
10
+ }
11
+ /**
12
+ * Is static website hosting enabled for this simulated S3 bucket?
13
+ */
14
+ websiteEnabled() {
15
+ return (this.indexDocumentSpecified() ||
16
+ this.errorDocumentSpecified() ||
17
+ this.redirectsAllRequests() ||
18
+ this.routingRulesSpecified());
19
+ }
20
+ /**
21
+ * Does this website configuration redirect all requests?
22
+ */
23
+ redirectsAllRequests() {
24
+ return (this.websiteConfiguration.RedirectAllRequestsTo?.HostName !== undefined);
25
+ }
26
+ /**
27
+ * Choose the S3 object key that should be served for a website request.
28
+ */
29
+ objectKeyForRequest(objectKey) {
30
+ const indexSuffix = this.websiteConfiguration.IndexDocument?.Suffix;
31
+ if (indexSuffix === undefined) {
32
+ return objectKey;
33
+ }
34
+ if (objectKey === "") {
35
+ return indexSuffix;
36
+ }
37
+ if (objectKey.endsWith("/")) {
38
+ return `${objectKey}${indexSuffix}`;
39
+ }
40
+ return objectKey;
41
+ }
42
+ /**
43
+ * Get the S3 object key for this website's error document, if configured.
44
+ */
45
+ errorDocumentKey() {
46
+ return this.websiteConfiguration.ErrorDocument?.Key;
47
+ }
48
+ /**
49
+ * Choose an appropriate response for a request response pair based on static
50
+ * website configuration for this simulated S3 bucket.
51
+ */
52
+ redirectForRequestResponse(req, res) {
53
+ if (!this.websiteEnabled()) {
54
+ return res;
55
+ }
56
+ const redirectAllRequestsTo = this.websiteConfiguration.RedirectAllRequestsTo;
57
+ if (redirectAllRequestsTo !== undefined) {
58
+ return this.redirectResponse(req, {
59
+ HostName: redirectAllRequestsTo.HostName,
60
+ Protocol: redirectAllRequestsTo.Protocol,
61
+ });
62
+ }
63
+ const routingRule = this.websiteConfiguration.RoutingRules?.find((rule) => this.routingRuleMatches(rule, req, res));
64
+ if (routingRule?.Redirect !== undefined) {
65
+ return this.redirectResponse(req, routingRule.Redirect);
66
+ }
67
+ return res;
68
+ }
69
+ routingRuleMatches(rule, req, res) {
70
+ const condition = rule.Condition;
71
+ if (condition === undefined) {
72
+ return true;
73
+ }
74
+ if (condition.HttpErrorCodeReturnedEquals !== undefined &&
75
+ condition.HttpErrorCodeReturnedEquals !== String(res.status)) {
76
+ return false;
77
+ }
78
+ return !(condition.KeyPrefixEquals !== undefined &&
79
+ !this.requestKey(req).startsWith(condition.KeyPrefixEquals));
80
+ }
81
+ redirectResponse(req, redirect) {
82
+ const url = new URL(req.url);
83
+ if (redirect.Protocol !== undefined) {
84
+ url.protocol = `${redirect.Protocol}:`;
85
+ }
86
+ if (redirect.HostName !== undefined) {
87
+ url.hostname = redirect.HostName;
88
+ url.port = "";
89
+ }
90
+ if (redirect.ReplaceKeyWith !== undefined) {
91
+ url.pathname = `/${redirect.ReplaceKeyWith}`;
92
+ }
93
+ else if (redirect.ReplaceKeyPrefixWith !== undefined) {
94
+ url.pathname = `/${this.requestKey(req).replace(this.matchingKeyPrefix(req), redirect.ReplaceKeyPrefixWith)}`;
95
+ }
96
+ return new Response(undefined, {
97
+ status: Number(redirect.HttpRedirectCode ?? "301"),
98
+ headers: {
99
+ location: url.toString(),
100
+ },
101
+ });
102
+ }
103
+ requestKey(req) {
104
+ return new URL(req.url).pathname.replace(/^\/+/, "");
105
+ }
106
+ matchingKeyPrefix(req) {
107
+ const requestKey = this.requestKey(req);
108
+ return (this.websiteConfiguration.RoutingRules?.find((rule) => {
109
+ const keyPrefix = rule.Condition?.KeyPrefixEquals;
110
+ return keyPrefix !== undefined && requestKey.startsWith(keyPrefix);
111
+ })?.Condition?.KeyPrefixEquals ?? "");
112
+ }
113
+ indexDocumentSpecified() {
114
+ return this.websiteConfiguration.IndexDocument?.Suffix !== undefined;
115
+ }
116
+ errorDocumentSpecified() {
117
+ return this.errorDocumentKey() !== undefined;
118
+ }
119
+ routingRulesSpecified() {
120
+ return Boolean(this.websiteConfiguration.RoutingRules?.some((rule) => rule.Redirect !== undefined));
121
+ }
122
+ }
123
+ //# sourceMappingURL=s3-bucket-website.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-bucket-website.js","sourceRoot":"","sources":["../../../../../src/service/s3/bucket/website/s3-bucket-website.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,18 @@
1
1
  import type { CommandHandler } from "../../../../command/command-handler.js";
2
2
  import { type CreateBucketCommand, type CreateBucketCommandOutput } from "@aws-sdk/client-s3";
3
3
  import { SimS3Bucket } from "../../bucket/s3-bucket.js";
4
+ import type { SimS3GlobalRegistry } from "../../sim-s3-global-registry.js";
5
+ import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
4
6
  /**
5
7
  * S3 CreateBucketCommand handler.
6
8
  *
7
9
  * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/CreateBucketCommand/
8
10
  */
9
11
  export declare class CreateBucketCommandHandler implements CommandHandler<CreateBucketCommand, CreateBucketCommandOutput> {
12
+ private readonly accountRegionScope;
10
13
  private readonly buckets;
11
- constructor(buckets: Map<string, SimS3Bucket>);
14
+ private readonly s3GlobalRegistry;
15
+ constructor(accountRegionScope: SimAwsAccountRegionScope, buckets: Map<string, SimS3Bucket>, s3GlobalRegistry: SimS3GlobalRegistry);
12
16
  /**
13
17
  * Handle creation of a new S3 Bucket.
14
18
  */
@@ -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,EACL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAE/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAqB,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI3E;;;;GAIG;AACH,qBAAa,0BAA2B,YAAW,cAAc,CAC/D,mBAAmB,EACnB,yBAAyB,CAC1B;IACa,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAE9D;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAsB3E"}
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,EACL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAG/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAwB,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAE7F;;;;GAIG;AACH,qBAAa,0BAA2B,YAAW,cAAc,CAC/D,mBAAmB,EACnB,yBAAyB,CAC1B;IAEG,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAFhB,kBAAkB,EAAE,wBAAwB,EAC5C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACjC,gBAAgB,EAAE,mBAAmB;IAGxD;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA0C3E"}
@@ -1,4 +1,4 @@
1
- import { BucketAlreadyExists, } from "@aws-sdk/client-s3";
1
+ import { BucketAlreadyExists, BucketAlreadyOwnedByYou, } from "@aws-sdk/client-s3";
2
2
  import { SimS3Bucket } from "../../bucket/s3-bucket.js";
3
3
  import { assertDefined } from "../../../../util/defined.js";
4
4
  import { jitter } from "../../../../util/sleep.js";
@@ -8,25 +8,46 @@ import { jitter } from "../../../../util/sleep.js";
8
8
  * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/CreateBucketCommand/
9
9
  */
10
10
  export class CreateBucketCommandHandler {
11
+ accountRegionScope;
11
12
  buckets;
12
- constructor(buckets) {
13
+ s3GlobalRegistry;
14
+ constructor(accountRegionScope, buckets, s3GlobalRegistry) {
15
+ this.accountRegionScope = accountRegionScope;
13
16
  this.buckets = buckets;
17
+ this.s3GlobalRegistry = s3GlobalRegistry;
14
18
  }
15
19
  /**
16
20
  * Handle creation of a new S3 Bucket.
17
21
  */
18
22
  async handle(cmd) {
19
23
  assertDefined(cmd.input.Bucket, "CreateBucketCommand.input.Bucket");
24
+ await jitter();
20
25
  const bucketName = cmd.input.Bucket;
21
- if (this.buckets.has(bucketName)) {
26
+ const existingBucketScope = this.s3GlobalRegistry.findBucketScope(bucketName);
27
+ if (existingBucketScope !== undefined) {
28
+ if (existingBucketScope.accountId === this.accountRegionScope.accountId) {
29
+ throw new BucketAlreadyOwnedByYou({
30
+ message: `S3 Bucket ${bucketName} already exists in ${existingBucketScope.regionName} and is owned by ${existingBucketScope.accountId}`,
31
+ $metadata: {},
32
+ });
33
+ }
22
34
  throw new BucketAlreadyExists({
23
- message: `S3 Bucket ${bucketName} already exists`,
35
+ message: `S3 Bucket ${bucketName} already exists in ${existingBucketScope.regionName} ${existingBucketScope.accountId}`,
36
+ $metadata: {},
37
+ });
38
+ }
39
+ /* v8 ignore if -- safety catch for situation that cannot happen in normal usage */
40
+ if (this.buckets.has(bucketName)) {
41
+ // Somehow the Bucket was absent from the global registry.
42
+ this.s3GlobalRegistry.registerBucket(bucketName, this.accountRegionScope);
43
+ throw new BucketAlreadyOwnedByYou({
44
+ message: `S3 Bucket ${bucketName} already exists in ${this.accountRegionScope.regionName} and is owned by ${this.accountRegionScope.accountId}`,
24
45
  $metadata: {},
25
46
  });
26
47
  }
27
- await jitter();
28
48
  const bucket = new SimS3Bucket(cmd);
29
49
  this.buckets.set(bucketName, bucket);
50
+ this.s3GlobalRegistry.registerBucket(bucketName, this.accountRegionScope);
30
51
  return {
31
52
  BucketArn: `arn:aws:s3:::${bucketName}`,
32
53
  Location: `/${bucketName}`,
@@ -1 +1 @@
1
- {"version":3,"file":"create-bucket.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/create-bucket/create-bucket.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAqB,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD;;;;GAIG;AACH,MAAM,OAAO,0BAA0B;IAIR;IAA7B,YAA6B,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;IAAG,CAAC;IAElE;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAwB;QACnC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QAEpE,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAsB,CAAC;QACpD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,mBAAmB,CAAC;gBAC5B,OAAO,EAAE,aAAa,UAAU,iBAAiB;gBACjD,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,EAAE,CAAC;QAEf,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAErC,OAAO;YACL,SAAS,EAAE,gBAAgB,UAAU,EAAE;YACvC,QAAQ,EAAE,IAAI,UAAU,EAAE;YAC1B,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"create-bucket.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/create-bucket/create-bucket.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAwB,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAInD;;;;GAIG;AACH,MAAM,OAAO,0BAA0B;IAKlB;IACA;IACA;IAHnB,YACmB,kBAA4C,EAC5C,OAAiC,EACjC,gBAAqC;QAFrC,uBAAkB,GAAlB,kBAAkB,CAA0B;QAC5C,YAAO,GAAP,OAAO,CAA0B;QACjC,qBAAgB,GAAhB,gBAAgB,CAAqB;IACrD,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAwB;QACnC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QAEpE,MAAM,MAAM,EAAE,CAAC;QAEf,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,uBAAuB,CAAC;oBAChC,OAAO,EAAE,aAAa,UAAU,sBAAsB,mBAAmB,CAAC,UAAU,oBAAoB,mBAAmB,CAAC,SAAS,EAAE;oBACvI,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,mBAAmB,CAAC;gBAC5B,OAAO,EAAE,aAAa,UAAU,sBAAsB,mBAAmB,CAAC,UAAU,IAAI,mBAAmB,CAAC,SAAS,EAAE;gBACvH,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,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,uBAAuB,CAAC;gBAChC,OAAO,EAAE,aAAa,UAAU,sBAAsB,IAAI,CAAC,kBAAkB,CAAC,UAAU,oBAAoB,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;gBAC/I,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,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,6 +1,6 @@
1
1
  import type { CommandHandler } from "../../../../command/command-handler.js";
2
2
  import { type GetObjectCommand, type GetObjectCommandOutput } from "@aws-sdk/client-s3";
3
- import type { S3BucketName, SimS3Bucket } from "../../bucket/s3-bucket.js";
3
+ import type { SimS3BucketName, SimS3Bucket } from "../../bucket/s3-bucket.js";
4
4
  /**
5
5
  * Simulated S3 GetObjectCommand handler.
6
6
  *
@@ -8,7 +8,7 @@ import type { S3BucketName, SimS3Bucket } from "../../bucket/s3-bucket.js";
8
8
  */
9
9
  export declare class GetObjectCommandHandler implements CommandHandler<GetObjectCommand, GetObjectCommandOutput> {
10
10
  private readonly buckets;
11
- constructor(buckets: Map<S3BucketName, SimS3Bucket>);
11
+ constructor(buckets: Map<SimS3BucketName, SimS3Bucket>);
12
12
  /**
13
13
  * Simulate getting an Object from an S3 Bucket.
14
14
  */
@@ -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,EAGL,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI3E;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,cAAc,CAC5D,gBAAgB,EAChB,sBAAsB,CACvB;IACa,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC;IAEpE;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CA+BrE"}
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,EAGL,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI9E;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,cAAc,CAC5D,gBAAgB,EAChB,sBAAsB,CACvB;IACa,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC;IAEvE;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CA+BrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-object.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.handler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,SAAS,GAGV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAIL;IAA7B,YAA6B,OAAuC;QAAvC,YAAO,GAAP,OAAO,CAAgC;IAAG,CAAC;IAExE;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAqB;QAChC,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,MAAsB,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CAAC;gBACrB,OAAO,EAAE,sBAAsB,UAAU,EAAE;gBAC3C,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,EAAE,CAAC;QAEf,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,SAAS,CAAC;gBAClB,OAAO,EAAE,sBAAsB,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC9C,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAEhC;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YAChC,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"get-object.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-object/get-object.handler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,SAAS,GAGV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAIL;IAA7B,YAA6B,OAA0C;QAA1C,YAAO,GAAP,OAAO,CAAmC;IAAG,CAAC;IAE3E;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAqB;QAChC,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,YAAY,CAAC;gBACrB,OAAO,EAAE,sBAAsB,UAAU,EAAE;gBAC3C,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,EAAE,CAAC;QAEf,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,SAAS,CAAC;gBAClB,OAAO,EAAE,sBAAsB,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC9C,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAEhC;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YAChC,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import type { CommandHandler } from "../../../../command/command-handler.js";
2
2
  import type { ListBucketsCommand, ListBucketsCommandOutput } from "@aws-sdk/client-s3";
3
- import type { S3BucketName, SimS3Bucket } from "../../bucket/s3-bucket.js";
3
+ import type { SimS3BucketName, SimS3Bucket } from "../../bucket/s3-bucket.js";
4
4
  /**
5
5
  * Simulated S3 ListBucketsCommand handler.
6
6
  *
@@ -8,7 +8,7 @@ import type { S3BucketName, SimS3Bucket } from "../../bucket/s3-bucket.js";
8
8
  */
9
9
  export declare class ListBucketsCommandHandler implements CommandHandler<ListBucketsCommand, ListBucketsCommandOutput> {
10
10
  private readonly buckets;
11
- constructor(buckets: Map<S3BucketName, SimS3Bucket>);
11
+ constructor(buckets: Map<SimS3BucketName, SimS3Bucket>);
12
12
  /**
13
13
  * Simulate listing S3 Buckets.
14
14
  */
@@ -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,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG3E;;;;GAIG;AACH,qBAAa,yBAA0B,YAAW,cAAc,CAC9D,kBAAkB,EAClB,wBAAwB,CACzB;IACa,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC;IAEpE;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiDxE,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAIpC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAGtC"}
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,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG9E;;;;GAIG;AACH,qBAAa,yBAA0B,YAAW,cAAc,CAC9D,kBAAkB,EAClB,wBAAwB,CACzB;IACa,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC;IAEvE;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiDxE,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAIpC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAGtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-buckets.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/list-buckets/list-buckets.handler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD;;;;GAIG;AACH,MAAM,OAAO,yBAAyB;IAIP;IAA7B,YAA6B,OAAuC;QAAvC,YAAO,GAAP,OAAO,CAAgC;IAAG,CAAC;IAExE;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAuB;QAClC,MAAM,MAAM,EAAE,CAAC;QAEf,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
+ {"version":3,"file":"list-buckets.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/list-buckets/list-buckets.handler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD;;;;GAIG;AACH,MAAM,OAAO,yBAAyB;IAIP;IAA7B,YAA6B,OAA0C;QAA1C,YAAO,GAAP,OAAO,CAAmC;IAAG,CAAC;IAE3E;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAuB;QAClC,MAAM,MAAM,EAAE,CAAC;QAEf,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,6 +1,6 @@
1
1
  import type { CommandHandler } from "../../../../command/command-handler.js";
2
2
  import { type ListObjectsCommand, type ListObjectsCommandOutput } from "@aws-sdk/client-s3";
3
- import type { S3BucketName, SimS3Bucket } from "../../bucket/s3-bucket.js";
3
+ import type { SimS3BucketName, SimS3Bucket } from "../../bucket/s3-bucket.js";
4
4
  /**
5
5
  * Simulated S3 ListObjectsCommand handler.
6
6
  *
@@ -8,7 +8,7 @@ import type { S3BucketName, SimS3Bucket } from "../../bucket/s3-bucket.js";
8
8
  */
9
9
  export declare class ListObjectsCommandHandler implements CommandHandler<ListObjectsCommand, ListObjectsCommandOutput> {
10
10
  private readonly buckets;
11
- constructor(buckets: Map<S3BucketName, SimS3Bucket>);
11
+ constructor(buckets: Map<SimS3BucketName, SimS3Bucket>);
12
12
  /**
13
13
  * Simulate listing Objects in an S3 Bucket.
14
14
  */
@@ -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,EAEL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI3E;;;;GAIG;AACH,qBAAa,yBAA0B,YAAW,cAAc,CAC9D,kBAAkB,EAClB,wBAAwB,CACzB;IACa,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC;IAEpE;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA6CzE"}
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,EAEL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI9E;;;;GAIG;AACH,qBAAa,yBAA0B,YAAW,cAAc,CAC9D,kBAAkB,EAClB,wBAAwB,CACzB;IACa,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC;IAEvE;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA6CzE"}