]>
git.proxmox.com Git - ceph.git/blob - ceph/src/arrow/js/bin/stream-to-file.js
3 // Licensed to the Apache Software Foundation (ASF) under one
4 // or more contributor license agreements. See the NOTICE file
5 // distributed with this work for additional information
6 // regarding copyright ownership. The ASF licenses this file
7 // to you under the Apache License, Version 2.0 (the
8 // "License"); you may not use this file except in compliance
9 // with the License. You may obtain a copy of the License at
11 // http://www.apache.org/licenses/LICENSE-2.0
13 // Unless required by applicable law or agreed to in writing,
14 // software distributed under the License is distributed on an
15 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 // KIND, either express or implied. See the License for the
17 // specific language governing permissions and limitations
22 const fs
= require('fs');
23 const path
= require('path');
24 const eos
= require('util').promisify(require('stream').finished
);
25 const extension
= process
.env
.ARROW_JS_DEBUG
=== 'src' ? '.ts' : '';
26 const { RecordBatchReader
, RecordBatchFileWriter
} = require(`../index${extension}`);
30 const readable
= process
.argv
.length
< 3 ? process
.stdin
: fs
.createReadStream(path
.resolve(process
.argv
[2]));
31 const writable
= process
.argv
.length
< 4 ? process
.stdout
: fs
.createWriteStream(path
.resolve(process
.argv
[3]));
33 const streamToFile
= readable
34 .pipe(RecordBatchReader
.throughNode())
35 .pipe(RecordBatchFileWriter
.throughNode())
38 await
eos(streamToFile
);
40 })().catch((e
) => { console
.error(e
); process
.exit(1); });