summaryrefslogtreecommitdiff
path: root/includes/external/discord/node_modules/readdirp
diff options
context:
space:
mode:
authorRaindropsSys <contact@minteck.org>2023-03-21 16:21:21 +0100
committerRaindropsSys <contact@minteck.org>2023-03-21 16:21:21 +0100
commit475c5731bf3362b6ac8d2dc5d5b43e4b4a6117bd (patch)
tree2cff46debf9c1e13892e7babff9deb6874ecb4b2 /includes/external/discord/node_modules/readdirp
parent7ccc2de87f9e25c715dc09b9aba4eb5c66f80424 (diff)
downloadpluralconnect-475c5731bf3362b6ac8d2dc5d5b43e4b4a6117bd.tar.gz
pluralconnect-475c5731bf3362b6ac8d2dc5d5b43e4b4a6117bd.tar.bz2
pluralconnect-475c5731bf3362b6ac8d2dc5d5b43e4b4a6117bd.zip
Updated 26 files and added 1074 files (automated)
Diffstat (limited to 'includes/external/discord/node_modules/readdirp')
-rw-r--r--includes/external/discord/node_modules/readdirp/LICENSE21
-rw-r--r--includes/external/discord/node_modules/readdirp/README.md122
-rw-r--r--includes/external/discord/node_modules/readdirp/index.d.ts43
-rw-r--r--includes/external/discord/node_modules/readdirp/package.json122
4 files changed, 308 insertions, 0 deletions
diff --git a/includes/external/discord/node_modules/readdirp/LICENSE b/includes/external/discord/node_modules/readdirp/LICENSE
new file mode 100644
index 0000000..037cbb4
--- /dev/null
+++ b/includes/external/discord/node_modules/readdirp/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/includes/external/discord/node_modules/readdirp/README.md b/includes/external/discord/node_modules/readdirp/README.md
new file mode 100644
index 0000000..465593c
--- /dev/null
+++ b/includes/external/discord/node_modules/readdirp/README.md
@@ -0,0 +1,122 @@
+# readdirp [![Weekly downloads](https://img.shields.io/npm/dw/readdirp.svg)](https://github.com/paulmillr/readdirp)
+
+Recursive version of [fs.readdir](https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback). Exposes a **stream API** and a **promise API**.
+
+
+```sh
+npm install readdirp
+```
+
+```javascript
+const readdirp = require('readdirp');
+
+// Use streams to achieve small RAM & CPU footprint.
+// 1) Streams example with for-await.
+for await (const entry of readdirp('.')) {
+ const {path} = entry;
+ console.log(`${JSON.stringify({path})}`);
+}
+
+// 2) Streams example, non for-await.
+// Print out all JS files along with their size within the current folder & subfolders.
+readdirp('.', {fileFilter: '*.js', alwaysStat: true})
+ .on('data', (entry) => {
+ const {path, stats: {size}} = entry;
+ console.log(`${JSON.stringify({path, size})}`);
+ })
+ // Optionally call stream.destroy() in `warn()` in order to abort and cause 'close' to be emitted
+ .on('warn', error => console.error('non-fatal error', error))
+ .on('error', error => console.error('fatal error', error))
+ .on('end', () => console.log('done'));
+
+// 3) Promise example. More RAM and CPU than streams / for-await.
+const files = await readdirp.promise('.');
+console.log(files.map(file => file.path));
+
+// Other options.
+readdirp('test', {
+ fileFilter: '*.js',
+ directoryFilter: ['!.git', '!*modules']
+ // directoryFilter: (di) => di.basename.length === 9
+ type: 'files_directories',
+ depth: 1
+});
+```
+
+For more examples, check out `examples` directory.
+
+## API
+
+`const stream = readdirp(root[, options])` — **Stream API**
+
+- Reads given root recursively and returns a `stream` of [entry infos](#entryinfo)
+- Optionally can be used like `for await (const entry of stream)` with node.js 10+ (`asyncIterator`).
+- `on('data', (entry) => {})` [entry info](#entryinfo) for every file / dir.
+- `on('warn', (error) => {})` non-fatal `Error` that prevents a file / dir from being processed. Example: inaccessible to the user.
+- `on('error', (error) => {})` fatal `Error` which also ends the stream. Example: illegal options where passed.
+- `on('end')` — we are done. Called when all entries were found and no more will be emitted.
+- `on('close')` — stream is destroyed via `stream.destroy()`.
+ Could be useful if you want to manually abort even on a non fatal error.
+ At that point the stream is no longer `readable` and no more entries, warning or errors are emitted
+- To learn more about streams, consult the very detailed [nodejs streams documentation](https://nodejs.org/api/stream.html)
+ or the [stream-handbook](https://github.com/substack/stream-handbook)
+
+`const entries = await readdirp.promise(root[, options])` — **Promise API**. Returns a list of [entry infos](#entryinfo).
+
+First argument is awalys `root`, path in which to start reading and recursing into subdirectories.
+
+### options
+
+- `fileFilter: ["*.js"]`: filter to include or exclude files. A `Function`, Glob string or Array of glob strings.
+ - **Function**: a function that takes an entry info as a parameter and returns true to include or false to exclude the entry
+ - **Glob string**: a string (e.g., `*.js`) which is matched using [picomatch](https://github.com/micromatch/picomatch), so go there for more
+ information. Globstars (`**`) are not supported since specifying a recursive pattern for an already recursive function doesn't make sense. Negated globs (as explained in the minimatch documentation) are allowed, e.g., `!*.txt` matches everything but text files.
+ - **Array of glob strings**: either need to be all inclusive or all exclusive (negated) patterns otherwise an error is thrown.
+ `['*.json', '*.js']` includes all JavaScript and Json files.
+ `['!.git', '!node_modules']` includes all directories except the '.git' and 'node_modules'.
+ - Directories that do not pass a filter will not be recursed into.
+- `directoryFilter: ['!.git']`: filter to include/exclude directories found and to recurse into. Directories that do not pass a filter will not be recursed into.
+- `depth: 5`: depth at which to stop recursing even if more subdirectories are found
+- `type: 'files'`: determines if data events on the stream should be emitted for `'files'` (default), `'directories'`, `'files_directories'`, or `'all'`. Setting to `'all'` will also include entries for other types of file descriptors like character devices, unix sockets and named pipes.
+- `alwaysStat: false`: always return `stats` property for every file. Default is `false`, readdirp will return `Dirent` entries. Setting it to `true` can double readdir execution time - use it only when you need file `size`, `mtime` etc. Cannot be enabled on node <10.10.0.
+- `lstat: false`: include symlink entries in the stream along with files. When `true`, `fs.lstat` would be used instead of `fs.stat`
+
+### `EntryInfo`
+
+Has the following properties:
+
+- `path: 'assets/javascripts/react.js'`: path to the file/directory (relative to given root)
+- `fullPath: '/Users/dev/projects/app/assets/javascripts/react.js'`: full path to the file/directory found
+- `basename: 'react.js'`: name of the file/directory
+- `dirent: fs.Dirent`: built-in [dir entry object](https://nodejs.org/api/fs.html#fs_class_fs_dirent) - only with `alwaysStat: false`
+- `stats: fs.Stats`: built in [stat object](https://nodejs.org/api/fs.html#fs_class_fs_stats) - only with `alwaysStat: true`
+
+## Changelog
+
+- 3.5 (Oct 13, 2020) disallows recursive directory-based symlinks.
+ Before, it could have entered infinite loop.
+- 3.4 (Mar 19, 2020) adds support for directory-based symlinks.
+- 3.3 (Dec 6, 2019) stabilizes RAM consumption and enables perf management with `highWaterMark` option. Fixes race conditions related to `for-await` looping.
+- 3.2 (Oct 14, 2019) improves performance by 250% and makes streams implementation more idiomatic.
+- 3.1 (Jul 7, 2019) brings `bigint` support to `stat` output on Windows. This is backwards-incompatible for some cases. Be careful. It you use it incorrectly, you'll see "TypeError: Cannot mix BigInt and other types, use explicit conversions".
+- 3.0 brings huge performance improvements and stream backpressure support.
+- Upgrading 2.x to 3.x:
+ - Signature changed from `readdirp(options)` to `readdirp(root, options)`
+ - Replaced callback API with promise API.
+ - Renamed `entryType` option to `type`
+ - Renamed `entryType: 'both'` to `'files_directories'`
+ - `EntryInfo`
+ - Renamed `stat` to `stats`
+ - Emitted only when `alwaysStat: true`
+ - `dirent` is emitted instead of `stats` by default with `alwaysStat: false`
+ - Renamed `name` to `basename`
+ - Removed `parentDir` and `fullParentDir` properties
+- Supported node.js versions:
+ - 3.x: node 8+
+ - 2.x: node 0.6+
+
+## License
+
+Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (<https://paulmillr.com>)
+
+MIT License, see [LICENSE](LICENSE) file.
diff --git a/includes/external/discord/node_modules/readdirp/index.d.ts b/includes/external/discord/node_modules/readdirp/index.d.ts
new file mode 100644
index 0000000..cbbd76c
--- /dev/null
+++ b/includes/external/discord/node_modules/readdirp/index.d.ts
@@ -0,0 +1,43 @@
+// TypeScript Version: 3.2
+
+/// <reference types="node" lib="esnext" />
+
+import * as fs from 'fs';
+import { Readable } from 'stream';
+
+declare namespace readdir {
+ interface EntryInfo {
+ path: string;
+ fullPath: string;
+ basename: string;
+ stats?: fs.Stats;
+ dirent?: fs.Dirent;
+ }
+
+ interface ReaddirpOptions {
+ root?: string;
+ fileFilter?: string | string[] | ((entry: EntryInfo) => boolean);
+ directoryFilter?: string | string[] | ((entry: EntryInfo) => boolean);
+ type?: 'files' | 'directories' | 'files_directories' | 'all';
+ lstat?: boolean;
+ depth?: number;
+ alwaysStat?: boolean;
+ }
+
+ interface ReaddirpStream extends Readable, AsyncIterable<EntryInfo> {
+ read(): EntryInfo;
+ [Symbol.asyncIterator](): AsyncIterableIterator<EntryInfo>;
+ }
+
+ function promise(
+ root: string,
+ options?: ReaddirpOptions
+ ): Promise<EntryInfo[]>;
+}
+
+declare function readdir(
+ root: string,
+ options?: readdir.ReaddirpOptions
+): readdir.ReaddirpStream;
+
+export = readdir;
diff --git a/includes/external/discord/node_modules/readdirp/package.json b/includes/external/discord/node_modules/readdirp/package.json
new file mode 100644
index 0000000..dba5388
--- /dev/null
+++ b/includes/external/discord/node_modules/readdirp/package.json
@@ -0,0 +1,122 @@
+{
+ "name": "readdirp",
+ "description": "Recursive version of fs.readdir with streaming API.",
+ "version": "3.6.0",
+ "homepage": "https://github.com/paulmillr/readdirp",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/paulmillr/readdirp.git"
+ },
+ "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/paulmillr/readdirp/issues"
+ },
+ "author": "Thorsten Lorenz <thlorenz@gmx.de> (thlorenz.com)",
+ "contributors": [
+ "Thorsten Lorenz <thlorenz@gmx.de> (thlorenz.com)",
+ "Paul Miller (https://paulmillr.com)"
+ ],
+ "main": "index.js",
+ "engines": {
+ "node": ">=8.10.0"
+ },
+ "files": [
+ "index.js",
+ "index.d.ts"
+ ],
+ "keywords": [
+ "recursive",
+ "fs",
+ "stream",
+ "streams",
+ "readdir",
+ "filesystem",
+ "find",
+ "filter"
+ ],
+ "scripts": {
+ "dtslint": "dtslint",
+ "nyc": "nyc",
+ "mocha": "mocha --exit",
+ "lint": "eslint --report-unused-disable-directives --ignore-path .gitignore .",
+ "test": "npm run lint && nyc npm run mocha"
+ },
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "devDependencies": {
+ "@types/node": "^14",
+ "chai": "^4.2",
+ "chai-subset": "^1.6",
+ "dtslint": "^3.3.0",
+ "eslint": "^7.0.0",
+ "mocha": "^7.1.1",
+ "nyc": "^15.0.0",
+ "rimraf": "^3.0.0",
+ "typescript": "^4.0.3"
+ },
+ "nyc": {
+ "reporter": [
+ "html",
+ "text"
+ ]
+ },
+ "eslintConfig": {
+ "root": true,
+ "extends": "eslint:recommended",
+ "parserOptions": {
+ "ecmaVersion": 9,
+ "sourceType": "script"
+ },
+ "env": {
+ "node": true,
+ "es6": true
+ },
+ "rules": {
+ "array-callback-return": "error",
+ "no-empty": [
+ "error",
+ {
+ "allowEmptyCatch": true
+ }
+ ],
+ "no-else-return": [
+ "error",
+ {
+ "allowElseIf": false
+ }
+ ],
+ "no-lonely-if": "error",
+ "no-var": "error",
+ "object-shorthand": "error",
+ "prefer-arrow-callback": [
+ "error",
+ {
+ "allowNamedFunctions": true
+ }
+ ],
+ "prefer-const": [
+ "error",
+ {
+ "ignoreReadBeforeAssign": true
+ }
+ ],
+ "prefer-destructuring": [
+ "error",
+ {
+ "object": true,
+ "array": false
+ }
+ ],
+ "prefer-spread": "error",
+ "prefer-template": "error",
+ "radix": "error",
+ "semi": "error",
+ "strict": "error",
+ "quotes": [
+ "error",
+ "single"
+ ]
+ }
+ }
+}