| 1234567891011121314151617181920 | // Get the appropriate flag to use for creating files// We use fmap on Windows platforms for files less than// 512kb.  This is a fairly low limit, but avoids making// things slower in some cases.  Since most of what this// library is used for is extracting tarballs of many// relatively small files in npm packages and the like,// it can be a big boost on Windows platforms.// Only supported in Node v12.9.0 and above.const platform = process.env.__FAKE_PLATFORM__ || process.platformconst isWindows = platform === 'win32'const fs = global.__FAKE_TESTING_FS__ || require('fs')/* istanbul ignore next */const { O_CREAT, O_TRUNC, O_WRONLY, UV_FS_O_FILEMAP = 0 } = fs.constantsconst fMapEnabled = isWindows && !!UV_FS_O_FILEMAPconst fMapLimit = 512 * 1024const fMapFlag = UV_FS_O_FILEMAP | O_TRUNC | O_CREAT | O_WRONLYmodule.exports = !fMapEnabled ? () => 'w'  : size => size < fMapLimit ? fMapFlag : 'w'
 |