Example:
import src/nodejs/jsfs requireFs() touchFileSync("touched.txt") writeFileSync("touched.txt".cstring, "data".cstring) appendFileSync("touched.txt".cstring, "\nmore data".cstring) renameSync("touched.txt".cstring, "renamed.txt".cstring) chmodSync("renamed.txt".cstring, 0o777) copyFileSync("renamed.txt".cstring, "copied.txt".cstring) let data: cstring = readFileSync("renamed.txt") # Need to be commented out for Node 13 and older. # rmSync("renamed.txt".cstring) # rmSync("copied.txt".cstring) echo mkdtempSync("test".cstring) # mkdirSync("/tmp/somerandomame".cstring, recursive = true)
Example: cmd: -r:off
import src/nodejs/jsfs import nodejs/jsbuffer requireFs() requireBuffer() proc example(error: int; data: Buffer) = echo data readFile("somefile.ext", example)
Lets
COPYFILE_EXCL: cint
- Source Edit
COPYFILE_FICLONE: cint
- Source Edit
COPYFILE_FICLONE_FORCE: cint
- Source Edit
O_DIRECTORY: cint
- Source Edit
O_NOFOLLOW: cint
- Source Edit
O_NONBLOCK: cint
- Source Edit
UV_DIRENT_BLOCK: cint
- Source Edit
UV_DIRENT_CHAR: cint
- Source Edit
UV_DIRENT_DIR: cint
- Source Edit
UV_DIRENT_FIFO: cint
- Source Edit
UV_DIRENT_FILE: cint
- Source Edit
UV_DIRENT_LINK: cint
- Source Edit
UV_DIRENT_SOCKET: cint
- Source Edit
UV_DIRENT_UNKNOWN: cint
- Source Edit
UV_FS_COPYFILE_EXCL: cint
- Source Edit
UV_FS_COPYFILE_FICLONE: cint
- Source Edit
UV_FS_O_FILEMAP: cint
- Source Edit
UV_FS_SYMLINK_DIR: cint
- Source Edit
UV_FS_SYMLINK_JUNCTION: cint
- Source Edit
Procs
func access[T](path: cstring; mode: cint; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_access_path_mode_callback Source Edit
func accessSync(path: cstring; mode: cint) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_accesssync_path_mode Source Edit
func appendFile[T](path, data: cstring; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_appendfile_path_data_options_callback Source Edit
func appendFileSync(path, data: cstring) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_appendfilesync_path_data_options Source Edit
func chmod[T](path: cstring; mode: cint; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_chmod_path_mode_callback Source Edit
func chmod[T](path: cstring; mode: cstring; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_chmod_path_mode_callback Source Edit
func chmodSync(path: cstring; mode: cint) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_chmodsync_path_mode Source Edit
func chmodSync(path: cstring; mode: cstring) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_chmodsync_path_mode Source Edit
func chown[T](path: cstring; uid: cint; gid: cint; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_chown_path_uid_gid_callback Source Edit
func chownSync(path: cstring; uid: cint; gid: cint) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_chownsync_path_uid_gid Source Edit
func close[T](fd: cint; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_close_fd_callback Source Edit
func closeSync(fd: cint) {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_closesync_fd Source Edit
func copyFile[T](src, dest: cstring; callback: T) {.importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_copyfile_src_dest_mode_callback Source Edit
func copyFile[T](src, dest: cstring; mode: cint; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_copyfile_src_dest_mode_callback Source Edit
func copyFileSync(src, dest: cstring) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_copyfilesync_src_dest_mode Source Edit
func copyFileSync(src, dest: cstring; mode: cint) {.importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_copyfilesync_src_dest_mode Source Edit
func dirRead[T](path: cstring; callback: T) {.importjs: """ (() => { const d = fs.opendirSync(#); d.read(#); d.closeSync() })()""", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_dir_read_callback Source Edit
func existsSync(path: cstring): bool {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_existssync_path Source Edit
func fchmod[T](fd: cint; mode: cint; callback: T) {.importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_fchmod_fd_mode_callback Source Edit
func fchmod[T](fd: cint; mode: cstring; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_fchmod_fd_mode_callback Source Edit
func fchmodSync(fd: cint; mode: cint) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_fchmodsync_fd_mode Source Edit
func fchmodSync(fd: cint; mode: cstring) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_fchmodsync_fd_mode Source Edit
func fchown[T](fd, uid, gid: cint; callback: T) {.importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_fchown_fd_uid_gid_callback Source Edit
func fchownSync(fd, uid, gid: cint) {.importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_fchownsync_fd_uid_gid Source Edit
func fdatasync[T](fd: cint; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_fdatasync_fd_callback Source Edit
func fdatasyncSync(fd: cint) {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_fdatasyncsync_fd Source Edit
func fstat[T](fd: cint; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_fstat_fd_options_callback Source Edit
func fsync[T](fd: cint; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_fsync_fd_callback Source Edit
func ftruncate[T](fd: cint; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_ftruncate_fd_len_callback Source Edit
func ftruncate[T](fd: cint; len: cint; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_ftruncate_fd_len_callback Source Edit
func ftruncateSync(fd: cint; len: cint) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_ftruncatesync_fd_len Source Edit
func futimes[T](fd: cint; atime: cint; mtime: cint; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_futimes_fd_atime_mtime_callback Source Edit
func futimes[T](fd: cint; atime: cstring; mtime: cstring; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_futimes_fd_atime_mtime_callback Source Edit
func futimesSync(fd: cint; atime: cint; mtime: cint) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_futimessync_fd_atime_mtime Source Edit
func futimesSync(fd: cint; atime: cstring; mtime: cstring) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_futimessync_fd_atime_mtime Source Edit
func lchown[T](path: cstring; uid: cint; gid: cint; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_lchown_path_uid_gid_callback Source Edit
func lchownSync(path: cstring; uid: cint; gid: cint) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_lchownsync_path_uid_gid Source Edit
func link[T](existingPath: cstring; newPath: cstring; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_link_existingpath_newpath_callback Source Edit
func linkSync(existingPath: cstring; newPath: cstring) {. importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_linksync_existingpath_newpath Source Edit
func lstat[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_lstat_path_options_callback Source Edit
func lutimes[T](path: cstring; atime: cint; mtime: cint; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_lutimes_path_atime_mtime_callback Source Edit
func lutimes[T](path: cstring; atime: cstring; mtime: cstring; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_lutimes_path_atime_mtime_callback Source Edit
func lutimesSync(path: cstring; atime: cint; mtime: cint) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_lutimessync_path_atime_mtime Source Edit
func lutimesSync(path: cstring; atime: cstring; mtime: cstring) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_lutimessync_path_atime_mtime Source Edit
func mkdir[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_mkdir_path_options_callback Source Edit
func mkdirSync(path: cstring; recursive = false) {. importjs: "fs.$1(#, {recursive: #})", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_mkdirsync_path_options Source Edit
func mkdtemp[T](prefix: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_mkdtemp_prefix_options_callback Source Edit
func mkdtempSync(prefix: cstring): cstring {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_mkdtempsync_prefix_options Source Edit
func open[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback Source Edit
func open[T](path: cstring; flags: cint; mode: cint; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback Source Edit
func open[T](path: cstring; flags: cstring; mode: cstring; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback Source Edit
func opendir[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_opendir_path_options_callback Source Edit
func openSync(path: cstring; flags: cint; mode: cint): cint {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_opensync_path_flags_mode Source Edit
func openSync(path: cstring; flags: cstring; mode: cstring): cint {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_opensync_path_flags_mode Source Edit
func read[T](fd: cint; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_read_fd_options_callback Source Edit
func readdir[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback Source Edit
func readFile[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback Source Edit
func readFileSync(path: cstring): cstring {.importjs: "fs.$1(#).toString()", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options Source Edit
func readlink(path: cstring): cstring {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_readlinksync_path_options Source Edit
func readlink[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_readlink_path_options_callback Source Edit
func readlinkSync(path: cstring): cstring {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_readlinksync_path_options Source Edit
func realpath[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_realpath_path_options_callback Source Edit
func realpathNative[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_realpath_native_path_options_callback Source Edit
func realpathSync(path: cstring): cstring {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_realpathsync_path_options Source Edit
func realpathSyncNative(path: cstring): cstring {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_realpathsync_native_path_options Source Edit
func rename[T](oldPath, newPath: cstring; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback Source Edit
func renameSync(oldPath, newPath: cstring) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_renamesync_oldpath_newpath Source Edit
func rm[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_rm_path_options_callback Source Edit
func rmdir(path: cstring) {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_rmdirsync_path_options Source Edit
func rmdir[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_rmdir_path_options_callback Source Edit
func rmSync(path: cstring) {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_rmsync_path_options Source Edit
func stat[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_stat_path_options_callback Source Edit
func symlink[T](target, path, tipe: cstring; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_symlink_target_path_type_callback Source Edit
func symlink[T](target, path: cstring; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_symlink_target_path_type_callback Source Edit
func symlinkSync(target, path, tipe: cstring) {.importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_symlinksync_target_path_type Source Edit
func symlinkSync(target, path: cstring) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_symlinksync_target_path_type Source Edit
func touchFileSync(filename: cstring) {.importjs: """ (() => { const path = #; const time = new Date(); try { fs.utimesSync(path, time, time); } catch(err) { fs.closeSync(fs.openSync(path, 'w')); } })()""", ...raises: [], tags: [].}
- Convenience func to touch a file. Source Edit
func truncate[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_truncate_path_len_callback Source Edit
func truncate[T](path: cstring; len: cint; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_truncate_path_len_callback Source Edit
func truncateSync(path: cstring; len: cint) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_truncatesync_path_len Source Edit
func unlink[T](path: cstring; callback: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_unlink_path_callback Source Edit
func unlinkSync(path: cstring) {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_unlinksync_path Source Edit
func unwatchFile(filename: cstring) {.importjs: "fs.$1(#)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_unwatchfile_filename_listener Source Edit
func unwatchFile[T](fd: cint; stryng: cstring; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_write_fd_string_position_encoding_callback Source Edit
func unwatchFile[T](fd: cint; stryng: cstring; position: cint; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_write_fd_string_position_encoding_callback Source Edit
func unwatchFile[T](filename: cstring; listener: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_unwatchfile_filename_listener Source Edit
func utimes[T](path: cstring; atime: cint; mtime: cint; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_utimes_path_atime_mtime_callback Source Edit
func utimes[T](path: cstring; atime: cstring; mtime: cstring; callback: T) {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_utimes_path_atime_mtime_callback Source Edit
func utimesSync(path: cstring; atime: cint; mtime: cint) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_utimes_path_atime_mtime_callback Source Edit
func utimesSync(path: cstring; atime: cstring; mtime: cstring) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_utimes_path_atime_mtime_callback Source Edit
func watch[T](filename: cstring; listener: T) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_watch_filename_options_listener Source Edit
func writeFile[T](fd: cint; data: cstring; callback: T) {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback Source Edit
func writeFileSync(file: cint; data: cstring) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options Source Edit
func writeFileSync(file: cstring; data: cstring) {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options Source Edit
func writeSync(fd: cint; buffer: cstring): cint {.importjs: "fs.$1(#, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_writesync_fd_buffer_offset_length_position Source Edit
func writeSync(fd: cint; buffer: cstring; offset: cint): cint {. importjs: "fs.$1(#, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_writesync_fd_buffer_offset_length_position Source Edit
func writeSync(fd: cint; buffer: cstring; offset: cint; length: cint): cint {. importjs: "fs.$1(#, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_writesync_fd_buffer_offset_length_position Source Edit
func writeSync(fd: cint; buffer: cstring; offset: cint; length: cint; position: cint): cint {.importjs: "fs.$1(#, #, #, #, #)", ...raises: [], tags: [].}
- https://nodejs.org/api/fs.html#fs_fs_writesync_fd_buffer_offset_length_position Source Edit