@kensio/yulin 1.10.3 → 1.10.4
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/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +7 -1
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +16 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +22 -1
- package/dist/service/s3/bucket/sim-s3-bucket-access.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +2 -1
- package/dist/service/s3/command/get-object/get-object-loader.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object-loader.js +5 -1
- package/dist/service/s3/command/get-object/get-object-loader.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object.command.d.ts +5 -0
- package/dist/service/s3/command/get-object/get-object.command.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +3 -3
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js +13 -17
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.command.d.ts +3 -8
- package/dist/service/s3/command/list-objects/list-objects.command.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +3 -0
- 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 +6 -2
- package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-continuation-token.d.ts +20 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-continuation-token.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-continuation-token.js +29 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-continuation-token.js.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +31 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +48 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +41 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.js +2 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.js.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.d.ts +41 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +64 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js.map +1 -0
- package/dist/service/s3/command/object/sim-s3-object-commands.d.ts +8 -0
- package/dist/service/s3/command/object/sim-s3-object-commands.d.ts.map +1 -1
- package/dist/service/s3/command/object/sim-s3-object-commands.js +13 -0
- package/dist/service/s3/command/object/sim-s3-object-commands.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +10 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +8 -0
- package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +4 -0
- package/dist/service/s3/command/put-object/put-object.command.d.ts.map +1 -1
- 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 +4 -1
- package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
- package/dist/service/s3/command/sim-s3-bucket-command-state.d.ts +4 -1
- package/dist/service/s3/command/sim-s3-bucket-command-state.d.ts.map +1 -1
- package/dist/service/s3/command/sim-s3-command.types.d.ts +2 -1
- package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -1
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts.map +1 -1
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +1 -2
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js.map +1 -1
- package/dist/service/s3/object/s3-object-etag.d.ts +20 -0
- package/dist/service/s3/object/s3-object-etag.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-etag.js +25 -0
- package/dist/service/s3/object/s3-object-etag.js.map +1 -0
- package/dist/service/s3/object/s3-object-listing-limits.d.ts +26 -0
- package/dist/service/s3/object/s3-object-listing-limits.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-listing-limits.js +46 -0
- package/dist/service/s3/object/s3-object-listing-limits.js.map +1 -0
- package/dist/service/s3/object/s3-object-listing.d.ts +51 -0
- package/dist/service/s3/object/s3-object-listing.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-listing.js +64 -0
- package/dist/service/s3/object/s3-object-listing.js.map +1 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +23 -6
- package/dist/service/s3/object/s3-object-response-headers.d.ts.map +1 -1
- package/dist/service/s3/object/s3-object-response-headers.js +18 -8
- package/dist/service/s3/object/s3-object-response-headers.js.map +1 -1
- package/dist/service/s3/object/s3-object-summary.d.ts +33 -0
- package/dist/service/s3/object/s3-object-summary.d.ts.map +1 -0
- package/dist/service/s3/object/s3-object-summary.js +40 -0
- package/dist/service/s3/object/s3-object-summary.js.map +1 -0
- package/dist/service/s3/object/s3-object.d.ts +25 -0
- package/dist/service/s3/object/s3-object.d.ts.map +1 -1
- package/dist/service/s3/object/s3-object.js +31 -1
- package/dist/service/s3/object/s3-object.js.map +1 -1
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +4 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +6 -1
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.d.ts.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +6 -1
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +13 -4
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -1
- package/dist/service/s3/serve/website/sim-s3-website-object.js +15 -6
- package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -1
- package/dist/service/s3/sim-s3-commands.d.ts +6 -0
- package/dist/service/s3/sim-s3-commands.d.ts.map +1 -1
- package/dist/service/s3/sim-s3-commands.js +2 -0
- package/dist/service/s3/sim-s3-commands.js.map +1 -1
- package/dist/service/s3/sim-s3.d.ts +24 -34
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js +32 -40
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/service/s3/storage/filesystem/filesystem-path-exists.d.ts +8 -0
- package/dist/service/s3/storage/filesystem/filesystem-path-exists.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/filesystem-path-exists.js +11 -1
- package/dist/service/s3/storage/filesystem/filesystem-path-exists.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-file.d.ts +19 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-file.d.ts.map +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-file.js +55 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-file.js.map +1 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-keys.d.ts +14 -4
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-keys.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-keys.js +27 -5
- package/dist/service/s3/storage/filesystem/s3-filesystem-object-keys.js.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +1 -2
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts.map +1 -1
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +10 -36
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js.map +1 -1
- package/package.json +1 -1
- package/dist/service/s3/notification/event/sim-s3-object-etag.d.ts +0 -8
- package/dist/service/s3/notification/event/sim-s3-object-etag.d.ts.map +0 -1
- package/dist/service/s3/notification/event/sim-s3-object-etag.js +0 -11
- package/dist/service/s3/notification/event/sim-s3-object-etag.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { SimS3Object } from "../../object/s3-object.js";
|
|
2
1
|
import path from "node:path";
|
|
3
|
-
import { mkdir,
|
|
2
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
4
3
|
import { FilesystemS3StorageSafety } from "./s3-filesystem-safety.js";
|
|
5
4
|
import { metadataForFilesystemS3ObjectKey } from "./s3-filesystem-object-metadata.js";
|
|
6
5
|
import { FilesystemS3ObjectKeys } from "./s3-filesystem-object-keys.js";
|
|
7
6
|
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
8
7
|
import { SimS3NotImplemented } from "../../error/sim-s3.error.js";
|
|
9
8
|
import { SimS3DeclaredSystemMetadata } from "../../object/s3-declared-system-metadata.js";
|
|
9
|
+
import { filesystemS3ObjectFile } from "./s3-filesystem-object-file.js";
|
|
10
10
|
/**
|
|
11
11
|
* Maps simulated S3 Objects to files under a directory.
|
|
12
12
|
* This is useful for local development, such as serving a static website
|
|
@@ -42,34 +42,18 @@ export class FilesystemS3BucketStorage {
|
|
|
42
42
|
this.safety.assertSafeObjectKeyPath(key);
|
|
43
43
|
return undefined;
|
|
44
44
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
key,
|
|
51
|
-
body,
|
|
52
|
-
metadata: metadataForFilesystemS3ObjectKey(key, this.systemMetadata.headersForObjectKey(key)),
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
if (error instanceof Error &&
|
|
57
|
-
"code" in error &&
|
|
58
|
-
error.code === "ENOENT") {
|
|
59
|
-
return undefined;
|
|
60
|
-
}
|
|
61
|
-
/* v8 ignore next */
|
|
62
|
-
throw error;
|
|
63
|
-
}
|
|
45
|
+
return await filesystemS3ObjectFile({
|
|
46
|
+
key,
|
|
47
|
+
filePath: this.objectKeys.filePathFor(key),
|
|
48
|
+
metadata: metadataForFilesystemS3ObjectKey(key, this.systemMetadata.headersForObjectKey(key)),
|
|
49
|
+
});
|
|
64
50
|
}
|
|
65
51
|
/**
|
|
66
52
|
* List simulated Objects based on files in the directory.
|
|
67
53
|
*/
|
|
68
54
|
async listObjects(prefix) {
|
|
69
|
-
const objectKeys = await this.objectKeys.list();
|
|
70
|
-
return await Promise.all(objectKeys
|
|
71
|
-
.filter((key) => prefix === undefined || key.startsWith(prefix))
|
|
72
|
-
.map(async (key) => {
|
|
55
|
+
const objectKeys = await this.objectKeys.list(prefix);
|
|
56
|
+
return await Promise.all(objectKeys.map(async (key) => {
|
|
73
57
|
const object = await this.getObject(key);
|
|
74
58
|
assertDefined(object, "Sim S3 filesystem storage listed object");
|
|
75
59
|
return object;
|
|
@@ -79,7 +63,7 @@ export class FilesystemS3BucketStorage {
|
|
|
79
63
|
* Store a simulated Object as a file in the directory.
|
|
80
64
|
*/
|
|
81
65
|
async putObject(object) {
|
|
82
|
-
const filePath = this.
|
|
66
|
+
const filePath = this.objectKeys.filePathFor(object.key);
|
|
83
67
|
// oxlint-disable-next-line security/detect-non-literal-fs-filename
|
|
84
68
|
await mkdir(path.dirname(filePath), { recursive: true });
|
|
85
69
|
// oxlint-disable-next-line security/detect-non-literal-fs-filename
|
|
@@ -99,15 +83,5 @@ export class FilesystemS3BucketStorage {
|
|
|
99
83
|
`at ${this.directoryPath}, because it would remove a real file. ` +
|
|
100
84
|
`Use the default in-memory Bucket storage to simulate deletion.`));
|
|
101
85
|
}
|
|
102
|
-
filePathForObjectKey(key) {
|
|
103
|
-
this.safety.assertSafeObjectKey(key);
|
|
104
|
-
const filePath = path.resolve(this.directoryPath, key);
|
|
105
|
-
/* v8 ignore if -- defensive guard after object key validation */
|
|
106
|
-
if (filePath !== this.directoryPath &&
|
|
107
|
-
!filePath.startsWith(`${this.directoryPath}${path.sep}`)) {
|
|
108
|
-
throw new Error(`Invalid S3 Object key outside storage directory: ${key}`);
|
|
109
|
-
}
|
|
110
|
-
return filePath;
|
|
111
|
-
}
|
|
112
86
|
}
|
|
113
87
|
//# sourceMappingURL=s3-filesystem-storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-filesystem-storage.js","sourceRoot":"","sources":["../../../../../src/service/s3/storage/filesystem/s3-filesystem-storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"s3-filesystem-storage.js","sourceRoot":"","sources":["../../../../../src/service/s3/storage/filesystem/s3-filesystem-storage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The ETag real S3 gives an Object uploaded in one part.
|
|
3
|
-
*
|
|
4
|
-
* It is the MD5 of the bytes, in hex. An Object uploaded in several parts gets
|
|
5
|
-
* a different form, which simulated S3 has no multipart upload to produce.
|
|
6
|
-
*/
|
|
7
|
-
export declare function simS3ObjectETag(body: Buffer): string;
|
|
8
|
-
//# sourceMappingURL=sim-s3-object-etag.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-object-etag.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/notification/event/sim-s3-object-etag.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
|
-
/**
|
|
3
|
-
* The ETag real S3 gives an Object uploaded in one part.
|
|
4
|
-
*
|
|
5
|
-
* It is the MD5 of the bytes, in hex. An Object uploaded in several parts gets
|
|
6
|
-
* a different form, which simulated S3 has no multipart upload to produce.
|
|
7
|
-
*/
|
|
8
|
-
export function simS3ObjectETag(body) {
|
|
9
|
-
return createHash("md5").update(body).digest("hex");
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=sim-s3-object-etag.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-object-etag.js","sourceRoot":"","sources":["../../../../../src/service/s3/notification/event/sim-s3-object-etag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC"}
|