UNPKG

3.33 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.isDuplex = exports.isWritable = exports.isReadable = exports.isStream = exports.isBuffer = void 0;
4const node_buffer_1 = require("node:buffer");
5const node_stream_1 = require("node:stream");
6const util_1 = require("./util");
7/**
8 * returns true if val is buffer
9 */
10function isBuffer(val) {
11 return (0, util_1.isInstanceOf)(val, node_buffer_1.Buffer);
12}
13exports.isBuffer = isBuffer;
14/**
15 * returns true if val is stream
16 */
17function isStream(val) {
18 return (0, util_1.isInstanceOf)(val, node_stream_1.Stream);
19}
20exports.isStream = isStream;
21/**
22 * returns true if val is readable stream
23 */
24function isReadable(val) {
25 return isStream(val) && _isReadable(val);
26}
27exports.isReadable = isReadable;
28/**
29 * returns true if val is write stream
30 */
31function isWritable(val) {
32 return isStream(val) && _isWritable(val);
33}
34exports.isWritable = isWritable;
35/**
36 * returns true if val is duplex stream
37 */
38function isDuplex(val) {
39 return isStream(val) && _isReadable(val) && _isWritable(val);
40}
41exports.isDuplex = isDuplex;
42function _isReadable(val) {
43 if (!(0, util_1.hasOwnPropertyInChain)(val, '_readableState') || !(0, util_1.hasOwnPropertyInChain)(val, '_read'))
44 return false;
45 return typeof val._read === 'function' && typeof val._readableState === 'object';
46}
47function _isWritable(val) {
48 if (!(0, util_1.hasOwnPropertyInChain)(val, '_writableState') || !(0, util_1.hasOwnPropertyInChain)(val, '_write'))
49 return false;
50 return typeof val._write === 'function' && typeof val._writableState === 'object';
51}
52//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFxQztBQUNyQyw2Q0FBaUU7QUFDakUsaUNBQTZEO0FBRTdEOztHQUVHO0FBQ0gsU0FBZ0IsUUFBUSxDQUFDLEdBQVk7SUFDbkMsT0FBTyxJQUFBLG1CQUFZLEVBQUMsR0FBRyxFQUFFLG9CQUFNLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRkQsNEJBRUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFhO0lBQ3BDLE9BQU8sSUFBQSxtQkFBWSxFQUFDLEdBQUcsRUFBRSxvQkFBTSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUZELDRCQUVDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixVQUFVLENBQUMsR0FBYTtJQUN0QyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUZELGdDQUVDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixVQUFVLENBQUMsR0FBYTtJQUN0QyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUZELGdDQUVDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixRQUFRLENBQUMsR0FBYTtJQUNwQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFGRCw0QkFFQztBQUVELFNBQVMsV0FBVyxDQUFDLEdBQVc7SUFDOUIsSUFBSSxDQUFDLElBQUEsNEJBQXFCLEVBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFBLDRCQUFxQixFQUFDLEdBQUcsRUFBRSxPQUFPLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUN4RyxPQUFPLE9BQU8sR0FBRyxDQUFDLEtBQUssS0FBSyxVQUFVLElBQUksT0FBTyxHQUFHLENBQUMsY0FBYyxLQUFLLFFBQVEsQ0FBQztBQUNuRixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsR0FBVztJQUM5QixJQUFJLENBQUMsSUFBQSw0QkFBcUIsRUFBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUEsNEJBQXFCLEVBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3pHLE9BQU8sT0FBTyxHQUFHLENBQUMsTUFBTSxLQUFLLFVBQVUsSUFBSSxPQUFPLEdBQUcsQ0FBQyxjQUFjLEtBQUssUUFBUSxDQUFDO0FBQ3BGLENBQUMifQ==
\No newline at end of file