is-type-of
Version:
complete type checking for node
51 lines • 3.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isBuffer = isBuffer;
exports.isStream = isStream;
exports.isReadable = isReadable;
exports.isWritable = isWritable;
exports.isDuplex = isDuplex;
const node_buffer_1 = require("node:buffer");
const node_stream_1 = require("node:stream");
const util_js_1 = require("./util.js");
/**
* returns true if val is buffer
*/
function isBuffer(val) {
return (0, util_js_1.isInstanceOf)(val, node_buffer_1.Buffer);
}
/**
* returns true if val is stream
*/
function isStream(val) {
return (0, util_js_1.isInstanceOf)(val, node_stream_1.Stream);
}
/**
* returns true if val is readable stream
*/
function isReadable(val) {
return isStream(val) && _isReadable(val);
}
/**
* returns true if val is write stream
*/
function isWritable(val) {
return isStream(val) && _isWritable(val);
}
/**
* returns true if val is duplex stream
*/
function isDuplex(val) {
return isStream(val) && _isReadable(val) && _isWritable(val);
}
function _isReadable(val) {
if (!(0, util_js_1.hasOwnPropertyInChain)(val, '_readableState') || !(0, util_js_1.hasOwnPropertyInChain)(val, '_read'))
return false;
return typeof val._read === 'function' && typeof val._readableState === 'object';
}
function _isWritable(val) {
if (!(0, util_js_1.hasOwnPropertyInChain)(val, '_writableState') || !(0, util_js_1.hasOwnPropertyInChain)(val, '_write'))
return false;
return typeof val._write === 'function' && typeof val._writableState === 'object';
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0EsNEJBRUM7QUFLRCw0QkFFQztBQUtELGdDQUVDO0FBS0QsZ0NBRUM7QUFLRCw0QkFFQztBQXJDRCw2Q0FBcUM7QUFDckMsNkNBQWlFO0FBQ2pFLHVDQUFnRTtBQUVoRTs7R0FFRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFZO0lBQ25DLE9BQU8sSUFBQSxzQkFBWSxFQUFDLEdBQUcsRUFBRSxvQkFBTSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsUUFBUSxDQUFDLEdBQWE7SUFDcEMsT0FBTyxJQUFBLHNCQUFZLEVBQUMsR0FBRyxFQUFFLG9CQUFNLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixVQUFVLENBQUMsR0FBYTtJQUN0QyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLEdBQWE7SUFDdEMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFhO0lBQ3BDLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEdBQVc7SUFDOUIsSUFBSSxDQUFDLElBQUEsK0JBQXFCLEVBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFBLCtCQUFxQixFQUFDLEdBQUcsRUFBRSxPQUFPLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUN4RyxPQUFPLE9BQU8sR0FBRyxDQUFDLEtBQUssS0FBSyxVQUFVLElBQUksT0FBTyxHQUFHLENBQUMsY0FBYyxLQUFLLFFBQVEsQ0FBQztBQUNuRixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsR0FBVztJQUM5QixJQUFJLENBQUMsSUFBQSwrQkFBcUIsRUFBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUEsK0JBQXFCLEVBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3pHLE9BQU8sT0FBTyxHQUFHLENBQUMsTUFBTSxLQUFLLFVBQVUsSUFBSSxPQUFPLEdBQUcsQ0FBQyxjQUFjLEtBQUssUUFBUSxDQUFDO0FBQ3BGLENBQUMifQ==