@logtape/file 0.10.0-dev.142 → 0.10.0-dev.147
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/esm/file/filesink.base.js +9 -2
- package/package.json +1 -1
- package/script/file/filesink.base.js +9 -2
- package/types/deps/jsr.io/@std/assert/0.222.1/assert_is_error.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/0.222.1/assert_throws.d.ts.map +1 -0
- package/types/file/filesink.base.d.ts +7 -2
- package/types/file/filesink.base.d.ts.map +1 -1
|
@@ -11,12 +11,19 @@ import { defaultTextFormatter, } from "../logtape/mod.js";
|
|
|
11
11
|
export function getBaseFileSink(path, options) {
|
|
12
12
|
const formatter = options.formatter ?? defaultTextFormatter;
|
|
13
13
|
const encoder = options.encoder ?? new TextEncoder();
|
|
14
|
-
|
|
14
|
+
let fd = options.lazy ? null : options.openSync(path);
|
|
15
15
|
const sink = (record) => {
|
|
16
|
+
if (fd === null) {
|
|
17
|
+
fd = options.openSync(path);
|
|
18
|
+
}
|
|
16
19
|
options.writeSync(fd, encoder.encode(formatter(record)));
|
|
17
20
|
options.flushSync(fd);
|
|
18
21
|
};
|
|
19
|
-
sink[Symbol.dispose] = () =>
|
|
22
|
+
sink[Symbol.dispose] = () => {
|
|
23
|
+
if (fd !== null) {
|
|
24
|
+
options.closeSync(fd);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
20
27
|
return sink;
|
|
21
28
|
}
|
|
22
29
|
/**
|
package/package.json
CHANGED
|
@@ -15,12 +15,19 @@ const mod_js_1 = require("../logtape/mod.js");
|
|
|
15
15
|
function getBaseFileSink(path, options) {
|
|
16
16
|
const formatter = options.formatter ?? mod_js_1.defaultTextFormatter;
|
|
17
17
|
const encoder = options.encoder ?? new TextEncoder();
|
|
18
|
-
|
|
18
|
+
let fd = options.lazy ? null : options.openSync(path);
|
|
19
19
|
const sink = (record) => {
|
|
20
|
+
if (fd === null) {
|
|
21
|
+
fd = options.openSync(path);
|
|
22
|
+
}
|
|
20
23
|
options.writeSync(fd, encoder.encode(formatter(record)));
|
|
21
24
|
options.flushSync(fd);
|
|
22
25
|
};
|
|
23
|
-
sink[Symbol.dispose] = () =>
|
|
26
|
+
sink[Symbol.dispose] = () => {
|
|
27
|
+
if (fd !== null) {
|
|
28
|
+
options.closeSync(fd);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
24
31
|
return sink;
|
|
25
32
|
}
|
|
26
33
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert_is_error.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/0.222.1/assert_is_error.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EACnD,KAAK,EAAE,OAAO,EAEd,UAAU,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACtC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAC5B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,IAAI,CAAC,CAmCpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert_throws.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/0.222.1/assert_throws.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,OAAO,EACjB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;AACX;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAClD,EAAE,EAAE,MAAM,OAAO,EAEjB,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACrC,WAAW,CAAC,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,CAAC,CAAC"}
|
|
@@ -2,7 +2,12 @@ import { type Sink, type StreamSinkOptions } from "../logtape/mod.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Options for the {@link getBaseFileSink} function.
|
|
4
4
|
*/
|
|
5
|
-
export type FileSinkOptions = StreamSinkOptions
|
|
5
|
+
export type FileSinkOptions = StreamSinkOptions & {
|
|
6
|
+
/**
|
|
7
|
+
* If `true`, the file is not opened until the first write. Defaults to `false`.
|
|
8
|
+
*/
|
|
9
|
+
lazy?: boolean;
|
|
10
|
+
};
|
|
6
11
|
/**
|
|
7
12
|
* A platform-specific file sink driver.
|
|
8
13
|
* @typeParam TFile The type of the file descriptor.
|
|
@@ -43,7 +48,7 @@ export declare function getBaseFileSink<TFile>(path: string, options: FileSinkOp
|
|
|
43
48
|
/**
|
|
44
49
|
* Options for the {@link getBaseRotatingFileSink} function.
|
|
45
50
|
*/
|
|
46
|
-
export interface RotatingFileSinkOptions extends FileSinkOptions {
|
|
51
|
+
export interface RotatingFileSinkOptions extends Omit<FileSinkOptions, "lazy"> {
|
|
47
52
|
/**
|
|
48
53
|
* The maximum bytes of the file before it is rotated. 1 MiB by default.
|
|
49
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesink.base.d.ts","sourceRoot":"","sources":["../../src/file/filesink.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,IAAI,EACT,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"filesink.base.d.ts","sourceRoot":"","sources":["../../src/file/filesink.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,IAAI,EACT,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAChD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,KAAK;IACnC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAE9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAE9C;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,GAC/C,IAAI,GAAG,UAAU,CAiBnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IAC5E;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,KAAK,CAAE,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC1E;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAEzC;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAC3C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAAC,KAAK,CAAC,GAC/D,IAAI,GAAG,UAAU,CAwCnB"}
|