readline-pager 0.2.5 → 0.2.6
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/README.md +7 -10
- package/dist/main.cjs +3 -2
- package/dist/main.d.cts +1 -1
- package/dist/main.d.mts +1 -1
- package/dist/main.mjs +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -38,6 +38,7 @@ npm install readline-pager
|
|
|
38
38
|
|
|
39
39
|
```ts
|
|
40
40
|
import { createPager } from "readline-pager";
|
|
41
|
+
// const { createPager } = require("readline-pager");
|
|
41
42
|
|
|
42
43
|
const pager = createPager("./bigfile.txt");
|
|
43
44
|
|
|
@@ -51,8 +52,6 @@ for await (const page of pager) {
|
|
|
51
52
|
**Recommended for highest throughput:**
|
|
52
53
|
|
|
53
54
|
```ts
|
|
54
|
-
const pager = createPager("./bigfile.txt");
|
|
55
|
-
|
|
56
55
|
while (true) {
|
|
57
56
|
const page = await pager.next();
|
|
58
57
|
if (!page) break;
|
|
@@ -60,9 +59,7 @@ while (true) {
|
|
|
60
59
|
|
|
61
60
|
// or
|
|
62
61
|
let page;
|
|
63
|
-
while ((page = await pager.next()) !== null) {
|
|
64
|
-
// process page
|
|
65
|
-
}
|
|
62
|
+
while ((page = await pager.next()) !== null) {}
|
|
66
63
|
```
|
|
67
64
|
|
|
68
65
|
- `while + next()` is the fastest iteration method (avoids extra async-iterator overhead).
|
|
@@ -76,14 +73,14 @@ while ((page = await pager.next()) !== null) {
|
|
|
76
73
|
createPager(filepath, {
|
|
77
74
|
chunkSize?: number, // default: 64 * 1024 (64 KiB)
|
|
78
75
|
pageSize?: number, // default: 1_000
|
|
79
|
-
delimiter?: string,
|
|
76
|
+
delimiter?: string, // default: "\n"
|
|
80
77
|
prefetch?: number, // default: 1
|
|
81
78
|
backward?: boolean, // default: false
|
|
82
79
|
useWorker?: boolean, // default: false (forward only)
|
|
83
80
|
});
|
|
84
81
|
```
|
|
85
82
|
|
|
86
|
-
- `chunkSize
|
|
83
|
+
- `chunkSize` — number of bytes read per I/O operation.
|
|
87
84
|
- `pageSize` — number of lines per page.
|
|
88
85
|
- `delimiter` — line separator.
|
|
89
86
|
- `prefetch` — max number of pages buffered internally. Not required for typical use; tuning has little effect once the engine is optimized.
|
|
@@ -135,14 +132,14 @@ node test/_benchmark.ts --lines=20000 --page-size=500 --backward
|
|
|
135
132
|
| 100M | 3528.59 | ~441 | ~298 | **~1,378** |
|
|
136
133
|
| 1,000M | 35285.95 | ~426 | ~294 | **~1,168** |
|
|
137
134
|
|
|
138
|
-
**
|
|
135
|
+
**Runtime Environment:** Node.js v25.6.1 & Bun v1.3.9
|
|
139
136
|
|
|
140
137
|
---
|
|
141
138
|
|
|
142
139
|
## 🛠 Development & Contributing
|
|
143
140
|
|
|
144
|
-
- Minimum supported Node.js: **v18.12
|
|
145
|
-
- Development/test environment: **Node v25.6
|
|
141
|
+
- Minimum supported Node.js: **v18.12 (lts/hydrogen)**.
|
|
142
|
+
- Development/test environment: **Node v25.6 & TypeScript v5.9**.
|
|
146
143
|
|
|
147
144
|
Run tests:
|
|
148
145
|
|
package/dist/main.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
2
|
let node_fs_promises = require("node:fs/promises");
|
|
3
3
|
let node_worker_threads = require("node:worker_threads");
|
|
4
4
|
|
|
@@ -298,4 +298,5 @@ function createPager(filepath, options = {}) {
|
|
|
298
298
|
}
|
|
299
299
|
|
|
300
300
|
//#endregion
|
|
301
|
-
exports.createPager = createPager;
|
|
301
|
+
exports.createPager = createPager;
|
|
302
|
+
exports.default = createPager;
|
package/dist/main.d.cts
CHANGED
|
@@ -20,4 +20,4 @@ interface Pager extends AsyncIterable<string[]> {
|
|
|
20
20
|
//#region src/main.d.ts
|
|
21
21
|
declare function createPager(filepath: string, options?: PagerOptions): Pager;
|
|
22
22
|
//#endregion
|
|
23
|
-
export { Pager, PagerOptions, ReaderOptions, createPager };
|
|
23
|
+
export { Pager, PagerOptions, ReaderOptions, createPager, createPager as default };
|
package/dist/main.d.mts
CHANGED
|
@@ -20,4 +20,4 @@ interface Pager extends AsyncIterable<string[]> {
|
|
|
20
20
|
//#region src/main.d.ts
|
|
21
21
|
declare function createPager(filepath: string, options?: PagerOptions): Pager;
|
|
22
22
|
//#endregion
|
|
23
|
-
export { Pager, PagerOptions, ReaderOptions, createPager };
|
|
23
|
+
export { Pager, PagerOptions, ReaderOptions, createPager, createPager as default };
|
package/dist/main.mjs
CHANGED