// deno-fmt-ignore-file // deno-lint-ignore-file // Copyright Joyent and Node contributors. All rights reserved. MIT license. // Taken from Node 18.12.1 // This file is automatically generated by `tools/node_compat/setup.ts`. Do not modify this file manually. 'use strict'; const common = require('../common'); const stream = require('stream'); const assert = require('assert'); function testWriteType(val, objectMode, code) { const writable = new stream.Writable({ objectMode, write: () => {} }); writable.on('error', common.mustNotCall()); if (code) { assert.throws(() => { writable.write(val); }, { code }); } else { writable.write(val); } } testWriteType([], false, 'ERR_INVALID_ARG_TYPE'); testWriteType({}, false, 'ERR_INVALID_ARG_TYPE'); testWriteType(0, false, 'ERR_INVALID_ARG_TYPE'); testWriteType(true, false, 'ERR_INVALID_ARG_TYPE'); testWriteType(0.0, false, 'ERR_INVALID_ARG_TYPE'); testWriteType(undefined, false, 'ERR_INVALID_ARG_TYPE'); testWriteType(null, false, 'ERR_STREAM_NULL_VALUES'); testWriteType([], true); testWriteType({}, true); testWriteType(0, true); testWriteType(true, true); testWriteType(0.0, true); testWriteType(undefined, true); testWriteType(null, true, 'ERR_STREAM_NULL_VALUES');