@bgord/bun 0.22.1 → 0.23.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/file-hash-noop.adapter.d.ts +10 -0
- package/dist/file-hash-noop.adapter.d.ts.map +1 -0
- package/dist/file-hash-noop.adapter.js +7 -0
- package/dist/file-hash-noop.adapter.js.map +1 -0
- package/dist/file-hash-sha256-bun.adapter.d.ts +10 -0
- package/dist/file-hash-sha256-bun.adapter.d.ts.map +1 -0
- package/dist/file-hash-sha256-bun.adapter.js +15 -0
- package/dist/file-hash-sha256-bun.adapter.js.map +1 -0
- package/dist/file-hash.port.d.ts +10 -0
- package/dist/file-hash.port.d.ts.map +1 -0
- package/dist/file-hash.port.js +2 -0
- package/dist/file-hash.port.js.map +1 -0
- package/dist/image-alpha-noop.adapter.d.ts +1 -1
- package/dist/image-alpha-sharp.adapter.d.ts +1 -1
- package/dist/image-blur-noop.adapter.d.ts +1 -1
- package/dist/image-blur-sharp.adapter.d.ts +1 -1
- package/dist/image-compressor-noop.adapter.d.ts +1 -1
- package/dist/image-compressor-sharp.adapter.d.ts +1 -1
- package/dist/image-exif-clear-noop.adapter.d.ts +1 -1
- package/dist/image-exif-clear-sharp.adapter.d.ts +1 -1
- package/dist/image-formatter-sharp.adapter.d.ts +1 -1
- package/dist/image-info.port.d.ts +1 -2
- package/dist/image-info.port.d.ts.map +1 -1
- package/dist/image-resizer-noop.adapter.d.ts +1 -1
- package/dist/image-resizer-sharp.adapter.d.ts +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/remote-file-storage-disk.adapter.d.ts +20 -0
- package/dist/remote-file-storage-disk.adapter.d.ts.map +1 -0
- package/dist/remote-file-storage-disk.adapter.js +54 -0
- package/dist/remote-file-storage-disk.adapter.js.map +1 -0
- package/dist/remote-file-storage-noop.adapter.d.ts +19 -0
- package/dist/remote-file-storage-noop.adapter.d.ts.map +1 -0
- package/dist/remote-file-storage-noop.adapter.js +52 -0
- package/dist/remote-file-storage-noop.adapter.js.map +1 -0
- package/dist/remote-file-storage.port.d.ts +20 -0
- package/dist/remote-file-storage.port.d.ts.map +1 -0
- package/dist/remote-file-storage.port.js +2 -0
- package/dist/remote-file-storage.port.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/readme.md +6 -0
- package/src/file-hash-noop.adapter.ts +8 -0
- package/src/file-hash-sha256-bun.adapter.ts +18 -0
- package/src/file-hash.port.ts +7 -0
- package/src/image-info.port.ts +6 -1
- package/src/index.ts +6 -0
- package/src/remote-file-storage-disk.adapter.ts +74 -0
- package/src/remote-file-storage-noop.adapter.ts +69 -0
- package/src/remote-file-storage.port.ts +19 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import type { FileHashPort } from "./file-hash.port";
|
|
3
|
+
export declare class FileHashNoopAdapter implements FileHashPort {
|
|
4
|
+
hash(_path: tools.FilePathAbsolute | tools.FilePathRelative): Promise<{
|
|
5
|
+
etag: string;
|
|
6
|
+
size: tools.Size;
|
|
7
|
+
lastModified: number & import("zod/v4").$brand<"Timestamp">;
|
|
8
|
+
}>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=file-hash-noop.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hash-noop.adapter.d.ts","sourceRoot":"","sources":["../src/file-hash-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,qBAAa,mBAAoB,YAAW,YAAY;IAChD,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB;;;;;CAGlE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hash-noop.adapter.js","sourceRoot":"","sources":["../src/file-hash-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,OAAO,mBAAmB;IAC9B,KAAK,CAAC,IAAI,CAAC,KAAsD;QAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IACpG,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import type { FileHashPort } from "./file-hash.port";
|
|
3
|
+
export declare class FileHashSha256BunAdapter implements FileHashPort {
|
|
4
|
+
hash(path: tools.FilePathAbsolute | tools.FilePathRelative): Promise<{
|
|
5
|
+
etag: string;
|
|
6
|
+
size: tools.Size;
|
|
7
|
+
lastModified: number & import("zod/v4").$brand<"Timestamp">;
|
|
8
|
+
}>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=file-hash-sha256-bun.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hash-sha256-bun.adapter.d.ts","sourceRoot":"","sources":["../src/file-hash-sha256-bun.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,qBAAa,wBAAyB,YAAW,YAAY;IACrD,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB;;;;;CAajE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
export class FileHashSha256BunAdapter {
|
|
3
|
+
async hash(path) {
|
|
4
|
+
const file = Bun.file(path.get());
|
|
5
|
+
const arrayBuffer = await file.arrayBuffer();
|
|
6
|
+
const digest = await crypto.subtle.digest("SHA-256", arrayBuffer);
|
|
7
|
+
const etag = Buffer.from(digest).toString("hex");
|
|
8
|
+
return {
|
|
9
|
+
etag,
|
|
10
|
+
size: tools.Size.fromBytes(arrayBuffer.byteLength),
|
|
11
|
+
lastModified: tools.Timestamp.parse(file.lastModified),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=file-hash-sha256-bun.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hash-sha256-bun.adapter.js","sourceRoot":"","sources":["../src/file-hash-sha256-bun.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,OAAO,wBAAwB;IACnC,KAAK,CAAC,IAAI,CAAC,IAAqD;QAC9D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEjD,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC;YAClD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;SACvD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type * as tools from "@bgord/tools";
|
|
2
|
+
export type FileHashResult = {
|
|
3
|
+
etag: string;
|
|
4
|
+
size: tools.Size;
|
|
5
|
+
lastModified: tools.TimestampType;
|
|
6
|
+
};
|
|
7
|
+
export interface FileHashPort {
|
|
8
|
+
hash(path: tools.FilePathAbsolute | tools.FilePathRelative): Promise<FileHashResult>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=file-hash.port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hash.port.d.ts","sourceRoot":"","sources":["../src/file-hash.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAA;CAAE,CAAC;AAEnG,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hash.port.js","sourceRoot":"","sources":["../src/file-hash.port.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageAlphaPort, ImageAlphaStrategy } from "./image-alpha.port";
|
|
2
2
|
export declare class ImageAlphaNoopAdapter implements ImageAlphaPort {
|
|
3
|
-
flatten(recipe: ImageAlphaStrategy): Promise<import("@bgord/tools").
|
|
3
|
+
flatten(recipe: ImageAlphaStrategy): Promise<import("@bgord/tools").FilePathAbsolute | import("@bgord/tools").FilePathRelative>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=image-alpha-noop.adapter.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageAlphaPort, ImageAlphaStrategy } from "./image-alpha.port";
|
|
2
2
|
export declare class ImageAlphaSharpAdapter implements ImageAlphaPort {
|
|
3
|
-
flatten(recipe: ImageAlphaStrategy): Promise<import("@bgord/tools").
|
|
3
|
+
flatten(recipe: ImageAlphaStrategy): Promise<import("@bgord/tools").FilePathAbsolute | import("@bgord/tools").FilePathRelative>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=image-alpha-sharp.adapter.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageBlurPort, ImageBlurStrategy } from "./image-blur.port";
|
|
2
2
|
export declare class ImageBlurNoopAdapter implements ImageBlurPort {
|
|
3
|
-
blur(recipe: ImageBlurStrategy): Promise<import("@bgord/tools").
|
|
3
|
+
blur(recipe: ImageBlurStrategy): Promise<import("@bgord/tools").FilePathAbsolute | import("@bgord/tools").FilePathRelative>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=image-blur-noop.adapter.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageBlurPort, ImageBlurStrategy } from "./image-blur.port";
|
|
2
2
|
export declare class ImageBlurSharpAdapter implements ImageBlurPort {
|
|
3
|
-
blur(recipe: ImageBlurStrategy): Promise<import("@bgord/tools").
|
|
3
|
+
blur(recipe: ImageBlurStrategy): Promise<import("@bgord/tools").FilePathAbsolute | import("@bgord/tools").FilePathRelative>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=image-blur-sharp.adapter.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageCompressorPort, ImageCompressorStrategy } from "./image-compressor.port";
|
|
2
2
|
export declare class ImageCompressorNoopAdapter implements ImageCompressorPort {
|
|
3
|
-
compress(recipe: ImageCompressorStrategy): Promise<import("@bgord/tools").
|
|
3
|
+
compress(recipe: ImageCompressorStrategy): Promise<import("@bgord/tools").FilePathAbsolute | import("@bgord/tools").FilePathRelative>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=image-compressor-noop.adapter.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ImageCompressorPort, ImageCompressorStrategy } from "./image-compressor.port";
|
|
2
2
|
export declare class ImageCompressorSharpAdapter implements ImageCompressorPort {
|
|
3
3
|
private static readonly DEFAULT_QUALITY;
|
|
4
|
-
compress(recipe: ImageCompressorStrategy): Promise<import("@bgord/tools").
|
|
4
|
+
compress(recipe: ImageCompressorStrategy): Promise<import("@bgord/tools").FilePathAbsolute | import("@bgord/tools").FilePathRelative>;
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=image-compressor-sharp.adapter.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageExifClearPort, ImageExifClearStrategy } from "./image-exif-clear.port";
|
|
2
2
|
export declare class ImageExifClearNoopAdapter implements ImageExifClearPort {
|
|
3
|
-
clear(recipe: ImageExifClearStrategy): Promise<import("@bgord/tools").
|
|
3
|
+
clear(recipe: ImageExifClearStrategy): Promise<import("@bgord/tools").FilePathAbsolute | import("@bgord/tools").FilePathRelative>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=image-exif-clear-noop.adapter.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageExifClearPort, ImageExifClearStrategy } from "./image-exif-clear.port";
|
|
2
2
|
export declare class ImageExifClearSharpAdapter implements ImageExifClearPort {
|
|
3
|
-
clear(recipe: ImageExifClearStrategy): Promise<import("@bgord/tools").
|
|
3
|
+
clear(recipe: ImageExifClearStrategy): Promise<import("@bgord/tools").FilePathAbsolute | import("@bgord/tools").FilePathRelative>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=image-exif-clear-sharp.adapter.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageFormatterPort, ImageFormatterStrategy } from "./image-formatter.port";
|
|
2
2
|
export declare class ImageFormatterSharpAdapter implements ImageFormatterPort {
|
|
3
|
-
format(recipe: ImageFormatterStrategy): Promise<import("@bgord/tools").
|
|
3
|
+
format(recipe: ImageFormatterStrategy): Promise<import("@bgord/tools").FilePathAbsolute | import("@bgord/tools").FilePathRelative>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=image-formatter-sharp.adapter.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as tools from "@bgord/tools";
|
|
2
|
-
type ImageInfoType = {
|
|
2
|
+
export type ImageInfoType = {
|
|
3
3
|
height: tools.HeightType;
|
|
4
4
|
width: tools.WidthType;
|
|
5
5
|
mime: tools.Mime;
|
|
@@ -8,5 +8,4 @@ type ImageInfoType = {
|
|
|
8
8
|
export interface ImageInfoPort {
|
|
9
9
|
inspect(filePath: tools.FilePathRelative | tools.FilePathAbsolute): Promise<ImageInfoType>;
|
|
10
10
|
}
|
|
11
|
-
export {};
|
|
12
11
|
//# sourceMappingURL=image-info.port.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-info.port.d.ts","sourceRoot":"","sources":["../src/image-info.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,
|
|
1
|
+
{"version":3,"file":"image-info.port.d.ts","sourceRoot":"","sources":["../src/image-info.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5F"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageResizerPort, ImageResizerStrategy } from "./image-resizer.port";
|
|
2
2
|
export declare class ImageResizerNoopAdapter implements ImageResizerPort {
|
|
3
|
-
resize(recipe: ImageResizerStrategy): Promise<import("@bgord/tools").
|
|
3
|
+
resize(recipe: ImageResizerStrategy): Promise<import("@bgord/tools").FilePathAbsolute | import("@bgord/tools").FilePathRelative>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=image-resizer-noop.adapter.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageResizerPort, ImageResizerStrategy } from "./image-resizer.port";
|
|
2
2
|
export declare class ImageResizerSharpAdapter implements ImageResizerPort {
|
|
3
|
-
resize(recipe: ImageResizerStrategy): Promise<import("@bgord/tools").
|
|
3
|
+
resize(recipe: ImageResizerStrategy): Promise<import("@bgord/tools").FilePathAbsolute | import("@bgord/tools").FilePathRelative>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=image-resizer-sharp.adapter.d.ts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,9 @@ export * from "./event-store-like.types";
|
|
|
29
29
|
export * from "./event-stream.vo";
|
|
30
30
|
export * from "./file-draft.service";
|
|
31
31
|
export * from "./file-draft-zip.service";
|
|
32
|
+
export * from "./file-hash.port";
|
|
33
|
+
export * from "./file-hash-noop.adapter";
|
|
34
|
+
export * from "./file-hash-sha256-bun.adapter";
|
|
32
35
|
export * from "./file-uploader.middleware";
|
|
33
36
|
export * from "./graceful-shutdown.service";
|
|
34
37
|
export * from "./gzip.service";
|
|
@@ -83,6 +86,9 @@ export * from "./prerequisites/index";
|
|
|
83
86
|
export * from "./prerequisites.service";
|
|
84
87
|
export * from "./rate-limit-store.port";
|
|
85
88
|
export * from "./rate-limit-store-node-cache.adapter";
|
|
89
|
+
export * from "./remote-file-storage.port";
|
|
90
|
+
export * from "./remote-file-storage-disk.adapter";
|
|
91
|
+
export * from "./remote-file-storage-noop.adapter";
|
|
86
92
|
export * from "./safe-parse-body.service";
|
|
87
93
|
export * from "./setup.service";
|
|
88
94
|
export * from "./shield-api-key.middleware";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -29,6 +29,9 @@ export * from "./event-store-like.types";
|
|
|
29
29
|
export * from "./event-stream.vo";
|
|
30
30
|
export * from "./file-draft.service";
|
|
31
31
|
export * from "./file-draft-zip.service";
|
|
32
|
+
export * from "./file-hash.port";
|
|
33
|
+
export * from "./file-hash-noop.adapter";
|
|
34
|
+
export * from "./file-hash-sha256-bun.adapter";
|
|
32
35
|
export * from "./file-uploader.middleware";
|
|
33
36
|
export * from "./graceful-shutdown.service";
|
|
34
37
|
export * from "./gzip.service";
|
|
@@ -83,6 +86,9 @@ export * from "./prerequisites/index";
|
|
|
83
86
|
export * from "./prerequisites.service";
|
|
84
87
|
export * from "./rate-limit-store.port";
|
|
85
88
|
export * from "./rate-limit-store-node-cache.adapter";
|
|
89
|
+
export * from "./remote-file-storage.port";
|
|
90
|
+
export * from "./remote-file-storage-disk.adapter";
|
|
91
|
+
export * from "./remote-file-storage-noop.adapter";
|
|
86
92
|
export * from "./safe-parse-body.service";
|
|
87
93
|
export * from "./setup.service";
|
|
88
94
|
export * from "./shield-api-key.middleware";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAC;AACrD,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uCAAuC,CAAC;AACtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import type { FileHashPort } from "./file-hash.port";
|
|
3
|
+
import type { RemoteFileStoragePort, RemoteHeadResult, RemotePutFromPathInput, RemotePutFromPathResult } from "./remote-file-storage.port";
|
|
4
|
+
type RemoteFileStorageDiskConfig = {
|
|
5
|
+
root: tools.DirectoryPathAbsoluteType;
|
|
6
|
+
hasher: FileHashPort;
|
|
7
|
+
publicBaseUrl?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare class RemoteFileStorageDiskAdapter implements RemoteFileStoragePort {
|
|
10
|
+
private readonly config;
|
|
11
|
+
constructor(config: RemoteFileStorageDiskConfig);
|
|
12
|
+
private resolveKeyToAbsoluteFilePath;
|
|
13
|
+
publicUrl(key: tools.ObjectKeyType): string;
|
|
14
|
+
putFromPath(input: RemotePutFromPathInput): Promise<RemotePutFromPathResult>;
|
|
15
|
+
head(key: tools.ObjectKeyType): Promise<RemoteHeadResult>;
|
|
16
|
+
getStream(key: tools.ObjectKeyType): Promise<ReadableStream | null>;
|
|
17
|
+
delete(key: tools.ObjectKeyType): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=remote-file-storage-disk.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-file-storage-disk.adapter.d.ts","sourceRoot":"","sources":["../src/remote-file-storage-disk.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,KAAK,2BAA2B,GAAG;IACjC,IAAI,EAAE,KAAK,CAAC,yBAAyB,CAAC;IACtC,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,qBAAa,4BAA6B,YAAW,qBAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,2BAA2B;IAEhE,OAAO,CAAC,4BAA4B;IASpC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM;IAKrC,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAa5E,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUzD,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAUnE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAOtD"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import * as tools from "@bgord/tools";
|
|
3
|
+
export class RemoteFileStorageDiskAdapter {
|
|
4
|
+
config;
|
|
5
|
+
constructor(config) {
|
|
6
|
+
this.config = config;
|
|
7
|
+
}
|
|
8
|
+
resolveKeyToAbsoluteFilePath(key) {
|
|
9
|
+
const parts = key.split("/");
|
|
10
|
+
const filename = tools.Filename.fromString(parts.pop());
|
|
11
|
+
const directory = tools.DirectoryPathAbsoluteSchema.parse(`${this.config.root}/${parts.join("/")}`);
|
|
12
|
+
return tools.FilePathAbsolute.fromPartsSafe(directory, filename);
|
|
13
|
+
}
|
|
14
|
+
publicUrl(key) {
|
|
15
|
+
if (!this.config.publicBaseUrl)
|
|
16
|
+
return `/${key}`;
|
|
17
|
+
return `${this.config.publicBaseUrl}/${key}`;
|
|
18
|
+
}
|
|
19
|
+
async putFromPath(input) {
|
|
20
|
+
const final = this.resolveKeyToAbsoluteFilePath(input.key);
|
|
21
|
+
const temporary = final.withFilename(final.getFilename().withSuffix("-part"));
|
|
22
|
+
await fs.mkdir(final.getDirectory(), { recursive: true });
|
|
23
|
+
const source = Bun.file(input.path.get());
|
|
24
|
+
await Bun.write(temporary.get(), source);
|
|
25
|
+
await fs.rename(temporary.get(), final.get());
|
|
26
|
+
return this.config.hasher.hash(final);
|
|
27
|
+
}
|
|
28
|
+
async head(key) {
|
|
29
|
+
const path = this.resolveKeyToAbsoluteFilePath(key);
|
|
30
|
+
try {
|
|
31
|
+
return { exists: true, ...(await this.config.hasher.hash(path)) };
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return { exists: false };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async getStream(key) {
|
|
38
|
+
const path = this.resolveKeyToAbsoluteFilePath(key);
|
|
39
|
+
try {
|
|
40
|
+
return Bun.file(path.get()).stream();
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async delete(key) {
|
|
47
|
+
const path = this.resolveKeyToAbsoluteFilePath(key);
|
|
48
|
+
try {
|
|
49
|
+
await fs.unlink(path.get());
|
|
50
|
+
}
|
|
51
|
+
catch (error) { }
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=remote-file-storage-disk.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-file-storage-disk.adapter.js","sourceRoot":"","sources":["../src/remote-file-storage-disk.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAetC,MAAM,OAAO,4BAA4B;IACV;IAA7B,YAA6B,MAAmC;QAAnC,WAAM,GAAN,MAAM,CAA6B;IAAG,CAAC;IAE5D,4BAA4B,CAAC,GAAwB;QAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAG,CAAC,CAAC;QAEzD,MAAM,SAAS,GAAG,KAAK,CAAC,2BAA2B,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpG,OAAO,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,SAAS,CAAC,GAAwB;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QACjD,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA6B;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAE9E,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1C,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAwB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAwB;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAwB;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import type { LoggerPort } from "./logger.port";
|
|
3
|
+
import type { RemoteFileStoragePort, RemoteHeadResult, RemotePutFromPathInput, RemotePutFromPathResult } from "./remote-file-storage.port";
|
|
4
|
+
type RemoteFileStorageNoopConfig = {
|
|
5
|
+
root: tools.DirectoryPathAbsoluteType;
|
|
6
|
+
logger: LoggerPort;
|
|
7
|
+
publicBaseUrl?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare class RemoteFileStorageNoopAdapter implements RemoteFileStoragePort {
|
|
10
|
+
private readonly config;
|
|
11
|
+
constructor(config: RemoteFileStorageNoopConfig);
|
|
12
|
+
publicUrl(key: tools.ObjectKeyType): string;
|
|
13
|
+
putFromPath(input: RemotePutFromPathInput): Promise<RemotePutFromPathResult>;
|
|
14
|
+
head(key: tools.ObjectKeyType): Promise<RemoteHeadResult>;
|
|
15
|
+
getStream(key: tools.ObjectKeyType): Promise<ReadableStream | null>;
|
|
16
|
+
delete(key: tools.ObjectKeyType): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=remote-file-storage-noop.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-file-storage-noop.adapter.d.ts","sourceRoot":"","sources":["../src/remote-file-storage-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,KAAK,2BAA2B,GAAG;IACjC,IAAI,EAAE,KAAK,CAAC,yBAAyB,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,qBAAa,4BAA6B,YAAW,qBAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,2BAA2B;IAEhE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM;IAKrC,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAe5E,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAWzD,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAWnE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAQtD"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
export class RemoteFileStorageNoopAdapter {
|
|
3
|
+
config;
|
|
4
|
+
constructor(config) {
|
|
5
|
+
this.config = config;
|
|
6
|
+
}
|
|
7
|
+
publicUrl(key) {
|
|
8
|
+
if (!this.config.publicBaseUrl)
|
|
9
|
+
return `/${key}`;
|
|
10
|
+
return `${this.config.publicBaseUrl}/${key}`;
|
|
11
|
+
}
|
|
12
|
+
async putFromPath(input) {
|
|
13
|
+
this.config.logger.info({
|
|
14
|
+
message: "[NOOP] RemoteFileStorageNoopAdapter putFromPath",
|
|
15
|
+
component: "infra",
|
|
16
|
+
operation: "RemoteFileStorageNoopAdapter.putFromPath",
|
|
17
|
+
metadata: { input },
|
|
18
|
+
});
|
|
19
|
+
return {
|
|
20
|
+
etag: "noop",
|
|
21
|
+
size: tools.Size.fromBytes(0),
|
|
22
|
+
lastModified: tools.Timestamp.parse(Date.now()),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
async head(key) {
|
|
26
|
+
this.config.logger.info({
|
|
27
|
+
message: "[NOOP] RemoteFileStorageNoopAdapter head",
|
|
28
|
+
component: "infra",
|
|
29
|
+
operation: "RemoteFileStorageNoopAdapter.head",
|
|
30
|
+
metadata: { key },
|
|
31
|
+
});
|
|
32
|
+
return { exists: false };
|
|
33
|
+
}
|
|
34
|
+
async getStream(key) {
|
|
35
|
+
this.config.logger.info({
|
|
36
|
+
message: "[NOOP] RemoteFileStorageNoopAdapter getStream",
|
|
37
|
+
component: "infra",
|
|
38
|
+
operation: "RemoteFileStorageNoopAdapter.getStream",
|
|
39
|
+
metadata: { key },
|
|
40
|
+
});
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
async delete(key) {
|
|
44
|
+
this.config.logger.info({
|
|
45
|
+
message: "[NOOP] RemoteFileStorageNoopAdapter delete",
|
|
46
|
+
component: "infra",
|
|
47
|
+
operation: "RemoteFileStorageNoopAdapter.delete",
|
|
48
|
+
metadata: { key },
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=remote-file-storage-noop.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-file-storage-noop.adapter.js","sourceRoot":"","sources":["../src/remote-file-storage-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAetC,MAAM,OAAO,4BAA4B;IACV;IAA7B,YAA6B,MAAmC;QAAnC,WAAM,GAAN,MAAM,CAA6B;IAAG,CAAC;IAEpE,SAAS,CAAC,GAAwB;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QACjD,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA6B;QAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,OAAO,EAAE,iDAAiD;YAC1D,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,0CAA0C;YACrD,QAAQ,EAAE,EAAE,KAAK,EAAE;SACpB,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAwB;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,OAAO,EAAE,0CAA0C;YACnD,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,mCAAmC;YAC9C,QAAQ,EAAE,EAAE,GAAG,EAAE;SAClB,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAwB;QACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,OAAO,EAAE,+CAA+C;YACxD,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,wCAAwC;YACnD,QAAQ,EAAE,EAAE,GAAG,EAAE;SAClB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAwB;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,OAAO,EAAE,4CAA4C;YACrD,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,qCAAqC;YAChD,QAAQ,EAAE,EAAE,GAAG,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type * as tools from "@bgord/tools";
|
|
2
|
+
import type { FileHashResult } from "./file-hash.port";
|
|
3
|
+
export type RemotePutFromPathInput = {
|
|
4
|
+
key: tools.ObjectKeyType;
|
|
5
|
+
path: tools.FilePathRelative | tools.FilePathAbsolute;
|
|
6
|
+
};
|
|
7
|
+
export type RemotePutFromPathResult = FileHashResult;
|
|
8
|
+
export type RemoteHeadResult = {
|
|
9
|
+
exists: false;
|
|
10
|
+
} | ({
|
|
11
|
+
exists: true;
|
|
12
|
+
} & FileHashResult);
|
|
13
|
+
export interface RemoteFileStoragePort {
|
|
14
|
+
putFromPath(input: RemotePutFromPathInput): Promise<RemotePutFromPathResult>;
|
|
15
|
+
head(key: tools.ObjectKeyType): Promise<RemoteHeadResult>;
|
|
16
|
+
getStream(key: tools.ObjectKeyType): Promise<ReadableStream | null>;
|
|
17
|
+
delete(key: tools.ObjectKeyType): Promise<void>;
|
|
18
|
+
publicUrl(key: tools.ObjectKeyType): string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=remote-file-storage.port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-file-storage.port.d.ts","sourceRoot":"","sources":["../src/remote-file-storage.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC;IACzB,IAAI,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GAAG,CAAC;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG,cAAc,CAAC,CAAC;AAEvF,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7E,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1D,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;CAC7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-file-storage.port.js","sourceRoot":"","sources":["../src/remote-file-storage.port.ts"],"names":[],"mappings":""}
|