%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); const assert = require('assert'); const child_process = require('child_process'); const { once } = require('events'); const { inspect } = require('util'); if (process.argv[2] !== 'child') { for (const value of [null, 42, Infinity, 'foo']) { assert.throws(() => { child_process.spawn(process.execPath, [], { serialization: value }); }, { code: 'ERR_INVALID_ARG_VALUE', message: "The property 'options.serialization' " + "must be one of: undefined, 'json', 'advanced'. " + `Received ${inspect(value)}` }); } (async () => { const cp = child_process.spawn(process.execPath, [__filename, 'child'], { stdio: ['ipc', 'inherit', 'inherit'], serialization: 'advanced' }); const circular = {}; circular.circular = circular; for await (const message of [ { uint8: new Uint8Array(4) }, { float64: new Float64Array([ Math.PI ]) }, { buffer: Buffer.from('Hello!') }, { map: new Map([{ a: 1 }, { b: 2 }]) }, { bigInt: 1337n }, circular, new Error('Something went wrong'), new RangeError('Something range-y went wrong'), ]) { cp.send(message); const [ received ] = await once(cp, 'message'); assert.deepStrictEqual(received, message); } cp.disconnect(); })().then(common.mustCall()); } else { process.on('message', (msg) => process.send(msg)); }