34 lines
751 B
JavaScript
34 lines
751 B
JavaScript
import {isUint8Array, concatUint8Arrays} from '../utils/uint-array.js';
|
|
import {stripNewline} from '../io/strip-newline.js';
|
|
|
|
// Retrieve `result.all` with synchronous methods
|
|
export const getAllSync = ([, stdout, stderr], options) => {
|
|
if (!options.all) {
|
|
return;
|
|
}
|
|
|
|
if (stdout === undefined) {
|
|
return stderr;
|
|
}
|
|
|
|
if (stderr === undefined) {
|
|
return stdout;
|
|
}
|
|
|
|
if (Array.isArray(stdout)) {
|
|
return Array.isArray(stderr)
|
|
? [...stdout, ...stderr]
|
|
: [...stdout, stripNewline(stderr, options, 'all')];
|
|
}
|
|
|
|
if (Array.isArray(stderr)) {
|
|
return [stripNewline(stdout, options, 'all'), ...stderr];
|
|
}
|
|
|
|
if (isUint8Array(stdout) && isUint8Array(stderr)) {
|
|
return concatUint8Arrays([stdout, stderr]);
|
|
}
|
|
|
|
return `${stdout}${stderr}`;
|
|
};
|