# Filesystem

[![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] [![dependencies][dependencies-image]][dependencies-url]

> Standard library for interfacing with a filesystem.

## Installation

```bash
npm install @stdlib/fs
```


## Usage

```javascript
var fs = require( '@stdlib/fs' );
```

#### fs

Standard library for interfacing with a filesystem.

```javascript
var f = fs;
// returns {...}
```


-   [`close( fd, clbk )`][@stdlib/fs/close]: close a file descriptor.
-   [`exists( path, clbk )`][@stdlib/fs/exists]: test whether a path exists on the filesystem.
-   [`open( path[, flags[, mode]], clbk )`][@stdlib/fs/open]: open a file.
-   [`readDir( path, clbk )`][@stdlib/fs/read-dir]: read the contents of a directory.
-   [`readFileList( filepaths[, options], clbk )`][@stdlib/fs/read-file-list]: read the entire contents of each file in a file list.
-   [`readFile( file[, options], clbk )`][@stdlib/fs/read-file]: read the entire contents of a file.
-   [`readJSON( file[, options], clbk )`][@stdlib/fs/read-json]: read a file as JSON.
-   [`readWASM( file[, options], clbk )`][@stdlib/fs/read-wasm]: read a file as WebAssembly.
-   [`rename( oldPath, newPath, clbk )`][@stdlib/fs/rename]: rename a file.
-   [`resolveParentPathBy( path[, options], predicate, clbk )`][@stdlib/fs/resolve-parent-path-by]: resolve a path according to a predicate function by walking parent directories.
-   [`resolveParentPath( path[, options], clbk )`][@stdlib/fs/resolve-parent-path]: resolve a path by walking parent directories.
-   [`unlink( path, clbk )`][@stdlib/fs/unlink]: remove a directory entry.
-   [`writeFile( file, data[, options], clbk )`][@stdlib/fs/write-file]: write data to a file.

## Examples

```javascript
var objectKeys = require( '@stdlib/utils/keys' );
var fs = require( '@stdlib/fs' );

console.log( objectKeys( fs ) );
```


* * *

## Notice

This package is part of [stdlib][stdlib], a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.

For more information on the project, filing bug reports and feature requests, and guidance on how to develop [stdlib][stdlib], see the main project [repository][stdlib].

#### Community

[![Chat][chat-image]][chat-url]

---

## License

See [LICENSE][stdlib-license].

## Copyright

Copyright © 2016-2021. The Stdlib [Authors][stdlib-authors].

[npm-image]: http://img.shields.io/npm/v/@stdlib/fs.svg
[npm-url]: https://npmjs.org/package/@stdlib/fs

[test-image]: https://github.com/stdlib-js/fs/actions/workflows/test.yml/badge.svg
[test-url]: https://github.com/stdlib-js/fs/actions/workflows/test.yml

[coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/fs/main.svg
[coverage-url]: https://codecov.io/github/stdlib-js/fs?branch=main

[dependencies-image]: https://img.shields.io/david/stdlib-js/fs.svg
[dependencies-url]: https://david-dm.org/stdlib-js/fs/main

[chat-image]: https://img.shields.io/gitter/room/stdlib-js/stdlib.svg
[chat-url]: https://gitter.im/stdlib-js/stdlib/

[stdlib]: https://github.com/stdlib-js/stdlib

[stdlib-authors]: https://github.com/stdlib-js/stdlib/graphs/contributors

[stdlib-license]: https://raw.githubusercontent.com/stdlib-js/fs/main/LICENSE

[@stdlib/fs/close]: https://github.com/stdlib-js/fs/tree/main/close

[@stdlib/fs/exists]: https://github.com/stdlib-js/fs/tree/main/exists

[@stdlib/fs/open]: https://github.com/stdlib-js/fs/tree/main/open

[@stdlib/fs/read-dir]: https://github.com/stdlib-js/fs/tree/main/read-dir

[@stdlib/fs/read-file-list]: https://github.com/stdlib-js/fs/tree/main/read-file-list

[@stdlib/fs/read-file]: https://github.com/stdlib-js/fs/tree/main/read-file

[@stdlib/fs/read-json]: https://github.com/stdlib-js/fs/tree/main/read-json

[@stdlib/fs/read-wasm]: https://github.com/stdlib-js/fs/tree/main/read-wasm

[@stdlib/fs/rename]: https://github.com/stdlib-js/fs/tree/main/rename

[@stdlib/fs/resolve-parent-path-by]: https://github.com/stdlib-js/fs/tree/main/resolve-parent-path-by

[@stdlib/fs/resolve-parent-path]: https://github.com/stdlib-js/fs/tree/main/resolve-parent-path

[@stdlib/fs/unlink]: https://github.com/stdlib-js/fs/tree/main/unlink

[@stdlib/fs/write-file]: https://github.com/stdlib-js/fs/tree/main/write-file

