@bgord/bun 1.2.8 → 1.2.10
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/encryption-key.vo.d.ts.map +1 -1
- package/dist/encryption-key.vo.js +2 -1
- package/dist/encryption-key.vo.js.map +1 -1
- package/dist/event-store-like.types.d.ts +2 -3
- package/dist/event-store-like.types.d.ts.map +1 -1
- package/dist/file-draft-zip.service.d.ts +1 -4
- package/dist/file-draft-zip.service.d.ts.map +1 -1
- package/dist/file-draft-zip.service.js +5 -4
- package/dist/file-draft-zip.service.js.map +1 -1
- package/dist/file-draft.service.d.ts +3 -9
- package/dist/file-draft.service.d.ts.map +1 -1
- package/dist/file-draft.service.js +7 -6
- package/dist/file-draft.service.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/readme.md +0 -1
- package/src/encryption-key.vo.ts +2 -1
- package/src/event-store-like.types.ts +3 -1
- package/src/file-draft-zip.service.ts +7 -6
- package/src/file-draft.service.ts +9 -5
- package/src/index.ts +1 -1
- package/dist/markdown-generator-marked.adapter.d.ts +0 -7
- package/dist/markdown-generator-marked.adapter.d.ts.map +0 -1
- package/dist/markdown-generator-marked.adapter.js +0 -12
- package/dist/markdown-generator-marked.adapter.js.map +0 -1
- package/src/markdown-generator-marked.adapter.ts +0 -15
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bgord/bun",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.10",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Bartosz Gordon",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@axiomhq/winston": "1.3.1",
|
|
40
|
-
"@bgord/tools": "1.1.
|
|
40
|
+
"@bgord/tools": "1.1.16",
|
|
41
41
|
"@hono/ua-blocker": "0.1.20",
|
|
42
42
|
"better-auth": "1.4.5",
|
|
43
43
|
"croner": "9.1.0",
|
package/readme.md
CHANGED
package/src/encryption-key.vo.ts
CHANGED
|
@@ -5,7 +5,8 @@ export const EncryptionKeyError = {
|
|
|
5
5
|
InvalidHex: "encryption.key.invalid.hex",
|
|
6
6
|
} as const;
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// 64 hex chars allowed
|
|
9
|
+
const CHARS_WHITELIST = /^[a-fA-F0-9]{64}$/;
|
|
9
10
|
|
|
10
11
|
export const EncryptionKey = z
|
|
11
12
|
.string(EncryptionKeyError.Type)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type * as tools from "@bgord/tools";
|
|
2
|
+
|
|
1
3
|
export type EventStoreLike<E extends { name: string }> = {
|
|
2
4
|
save(events: E[]): Promise<unknown>;
|
|
3
5
|
|
|
4
|
-
saveAfter(events: E[],
|
|
6
|
+
saveAfter(events: E[], offset: tools.Duration): Promise<unknown>;
|
|
5
7
|
};
|
|
@@ -4,11 +4,12 @@ import { ZipFile } from "yazl";
|
|
|
4
4
|
import { FileDraft } from "./file-draft.service";
|
|
5
5
|
|
|
6
6
|
export class FileDraftZip extends FileDraft {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
constructor(
|
|
8
|
+
basename: tools.BasenameType,
|
|
9
|
+
private readonly parts: FileDraft[],
|
|
10
|
+
) {
|
|
11
|
+
super(basename, tools.MIMES.zip);
|
|
12
|
+
this.parts = parts;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
// @ts-expect-error
|
|
@@ -17,7 +18,7 @@ export class FileDraftZip extends FileDraft {
|
|
|
17
18
|
const chunks: Buffer[] = [];
|
|
18
19
|
|
|
19
20
|
for (const part of this.parts) {
|
|
20
|
-
zip.addReadStream((await part.create()) as Readable, part.
|
|
21
|
+
zip.addReadStream((await part.create()) as Readable, part.filename.get());
|
|
21
22
|
}
|
|
22
23
|
zip.end();
|
|
23
24
|
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import type { ReadableStream } from "node:stream/web";
|
|
2
|
-
import
|
|
2
|
+
import * as tools from "@bgord/tools";
|
|
3
3
|
|
|
4
4
|
export type DraftBody = BodyInit | NodeJS.ReadableStream | ReadableStream;
|
|
5
5
|
|
|
6
6
|
export abstract class FileDraft {
|
|
7
|
-
|
|
7
|
+
readonly filename: tools.Filename;
|
|
8
|
+
|
|
9
|
+
constructor(basename: tools.BasenameType, mime: tools.Mime) {
|
|
10
|
+
this.filename = tools.Filename.fromPartsSafe(basename, mime.toExtension());
|
|
11
|
+
}
|
|
8
12
|
|
|
9
13
|
getHeaders(): Headers {
|
|
10
14
|
return new Headers({
|
|
11
|
-
"Content-Type": this.
|
|
12
|
-
"Content-Disposition": `attachment; filename="${this.
|
|
15
|
+
"Content-Type": this.filename.getMime().toString(),
|
|
16
|
+
"Content-Disposition": `attachment; filename="${this.filename.get()}"`,
|
|
13
17
|
});
|
|
14
18
|
}
|
|
15
19
|
|
|
@@ -24,6 +28,6 @@ export abstract class FileDraft {
|
|
|
24
28
|
async toAttachment() {
|
|
25
29
|
const body = await this.create();
|
|
26
30
|
|
|
27
|
-
return { filename: this.
|
|
31
|
+
return { filename: this.filename, content: body, contentType: this.filename.getMime().toString() };
|
|
28
32
|
}
|
|
29
33
|
}
|
package/src/index.ts
CHANGED
|
@@ -128,7 +128,7 @@ export * from "./mailer-noop.adapter";
|
|
|
128
128
|
export * from "./mailer-smtp.adapter";
|
|
129
129
|
export * from "./mailer-smtp-with-logger.adapter";
|
|
130
130
|
export * from "./markdown-generator.port";
|
|
131
|
-
export * from "./markdown-generator-marked.adapter";
|
|
131
|
+
// export * from "./markdown-generator-marked.adapter"; # release candidate
|
|
132
132
|
export * from "./markdown-generator-noop.adapter";
|
|
133
133
|
export * from "./memory-consumption.service";
|
|
134
134
|
export * as History from "./modules/history";
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { MarkdownGeneratorPort } from "./markdown-generator.port";
|
|
2
|
-
export declare class MarkdownGeneratorMarkedAdapter implements MarkdownGeneratorPort {
|
|
3
|
-
private readonly instance;
|
|
4
|
-
constructor();
|
|
5
|
-
generate(content: string): Promise<string>;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=markdown-generator-marked.adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-generator-marked.adapter.d.ts","sourceRoot":"","sources":["../src/markdown-generator-marked.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,qBAAa,8BAA+B,YAAW,qBAAqB;IAC1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;;IAM5B,QAAQ,CAAC,OAAO,EAAE,MAAM;CAG/B"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import DOMPurify from "isomorphic-dompurify";
|
|
2
|
-
import { Marked } from "marked";
|
|
3
|
-
export class MarkdownGeneratorMarkedAdapter {
|
|
4
|
-
instance;
|
|
5
|
-
constructor() {
|
|
6
|
-
this.instance = new Marked();
|
|
7
|
-
}
|
|
8
|
-
async generate(content) {
|
|
9
|
-
return DOMPurify.sanitize(await this.instance.parse(content));
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=markdown-generator-marked.adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-generator-marked.adapter.js","sourceRoot":"","sources":["../src/markdown-generator-marked.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,OAAO,8BAA8B;IACxB,QAAQ,CAAS;IAElC;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;CACF"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import DOMPurify from "isomorphic-dompurify";
|
|
2
|
-
import { Marked } from "marked";
|
|
3
|
-
import type { MarkdownGeneratorPort } from "./markdown-generator.port";
|
|
4
|
-
|
|
5
|
-
export class MarkdownGeneratorMarkedAdapter implements MarkdownGeneratorPort {
|
|
6
|
-
private readonly instance: Marked;
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
this.instance = new Marked();
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
async generate(content: string) {
|
|
13
|
-
return DOMPurify.sanitize(await this.instance.parse(content));
|
|
14
|
-
}
|
|
15
|
-
}
|