in the dns benchmark. // eslint-disable-next-line node-core/avoid-prototype-pollution return RegExpPrototypeTest(IPv4Reg, s); } function isIPv6(s) { // TODO(aduh95): Replace RegExpPrototypeTest with RegExpPrototypeExec when it // no longer creates a perf regression in the dns benchmark. // eslint-disable-next-line node-core/avoid-prototype-pollution return RegExpPrototypeTest(IPv6Reg, s); } function isIP(s) { if (isIPv4(s)) return 4; if (isIPv6(s)) return 6; return 0; } function makeSyncWrite(fd) { return function(chunk, enc, cb) { if (enc !== 'buffer') chunk = Buffer.from(chunk, enc); this._handle.bytesWritten += chunk.length; const ctx = {}; writeBuffer(fd, chunk, 0, chunk.length, null, undefined, ctx); if (ctx.errno !== undefined) { const ex = new UVException(ctx); ex.errno = ctx.errno; return cb(ex); } cb(); }; } module.exports = { kReinitializeHandle: Symbol('kReinitializeHandle'), isIP, isIPv4, isIPv6, makeSyncWrite, normalizedArgsSymbol: Symbol('normalizedArgs'), };