Skip to content

Commit 29c85d8

Browse files
feat: remove through2 dependency (#770)
* drop: through2 dependency
1 parent 3d046b5 commit 29c85d8

File tree

3 files changed

+20
-33
lines changed

3 files changed

+20
-33
lines changed

package.json

+1-3
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@
6262
"long": "^4.0.0",
6363
"pumpify": "^2.0.0",
6464
"retry-request": "^4.0.0",
65-
"stream-events": "^1.0.2",
66-
"through2": "^3.0.0"
65+
"stream-events": "^1.0.2"
6766
},
6867
"devDependencies": {
6968
"@types/escape-string-regexp": "^1.0.0",
@@ -75,7 +74,6 @@
7574
"@types/proxyquire": "^1.3.28",
7675
"@types/pumpify": "^1.4.1",
7776
"@types/sinon": "^9.0.0",
78-
"@types/through2": "^2.0.34",
7977
"@types/uuid": "^8.0.0",
8078
"c8": "^7.1.0",
8179
"codecov": "^3.6.5",

src/table.ts

+19-14
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,13 @@ import {promisifyAll} from '@google-cloud/promisify';
1616
import arrify = require('arrify');
1717
import {ServiceError} from 'google-gax';
1818
import {decorateStatus} from './decorateStatus';
19-
import {PassThrough} from 'stream';
19+
import {PassThrough, Transform} from 'stream';
2020

2121
// eslint-disable-next-line @typescript-eslint/no-var-requires
2222
const concat = require('concat-stream');
2323
import * as is from 'is';
2424
// eslint-disable-next-line @typescript-eslint/no-var-requires
2525
const pumpify = require('pumpify');
26-
import * as through from 'through2';
2726

2827
import {
2928
Family,
@@ -810,10 +809,8 @@ Please use the format 'prezzy' or '${instance.name}/tables/prezzy'.`);
810809

811810
requestStream!.on('request', () => numRequestsMade++);
812811

813-
rowStream = pumpify.obj([
814-
requestStream,
815-
chunkTransformer,
816-
through.obj((rowData, enc, next) => {
812+
const toRowStream = new Transform({
813+
transform: (rowData, _, next) => {
817814
if (
818815
chunkTransformer._destroyed ||
819816
// eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -826,8 +823,11 @@ Please use the format 'prezzy' or '${instance.name}/tables/prezzy'.`);
826823
const row = this.row(rowData.key);
827824
row.data = rowData.data;
828825
next(null, row);
829-
}),
830-
]);
826+
},
827+
objectMode: true,
828+
});
829+
830+
rowStream = pumpify.obj([requestStream, chunkTransformer, toRowStream]);
831831

832832
rowStream.on('error', (error: ServiceError) => {
833833
if (IGNORED_STATUS_CODES.has(error.code)) {
@@ -1561,19 +1561,24 @@ Please use the format 'prezzy' or '${instance.name}/tables/prezzy'.`);
15611561
appProfileId: this.bigtable.appProfileId,
15621562
};
15631563

1564+
const rowKeysStream = new Transform({
1565+
transform(key, enc, next) {
1566+
next(null, {
1567+
key: key.rowKey,
1568+
offset: key.offsetBytes,
1569+
});
1570+
},
1571+
objectMode: true,
1572+
});
1573+
15641574
return pumpify.obj([
15651575
this.bigtable.request({
15661576
client: 'BigtableClient',
15671577
method: 'sampleRowKeys',
15681578
reqOpts,
15691579
gaxOpts: gaxOptions,
15701580
}),
1571-
through.obj((key, enc, next) => {
1572-
next(null, {
1573-
key: key.rowKey,
1574-
offset: key.offsetBytes,
1575-
});
1576-
}),
1581+
rowKeysStream,
15771582
]);
15781583
}
15791584

system-test/read-rows-acceptance-test.json

-16
Original file line numberDiff line numberDiff line change
@@ -378,14 +378,6 @@
378378
"name": "invalid - duplicate row key",
379379
"chunks_base64": ["CgRSS18xEgMKAUEaAwoBQyBkMgl2YWx1ZS1WQUxIAQ==", "CgRSS18xEgMKAUIaAwoBRCBkMgl2YWx1ZS1WQUxIAQ=="],
380380
"results": [{
381-
"fm": "A",
382-
"rk": "RK_1",
383-
"qual": "C",
384-
"label": "",
385-
"error": false,
386-
"value": "value-VAL",
387-
"ts": 100
388-
}, {
389381
"fm": "",
390382
"rk": "",
391383
"qual": "",
@@ -399,14 +391,6 @@
399391
"name": "invalid - new row missing row key",
400392
"chunks_base64": ["CgRSS18xEgMKAUEaAwoBQyBkMgl2YWx1ZS1WQUxIAQ==", "IGQyCXZhbHVlLVZBTEgB"],
401393
"results": [{
402-
"fm": "A",
403-
"rk": "RK_1",
404-
"qual": "C",
405-
"label": "",
406-
"error": false,
407-
"value": "value-VAL",
408-
"ts": 100
409-
}, {
410394
"fm": "",
411395
"rk": "",
412396
"qual": "",

0 commit comments

Comments
 (0)