Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shinnn/glob-option-error
Create an error from the result of validate-glob-opts
https://github.com/shinnn/glob-option-error
Last synced: 27 days ago
JSON representation
Create an error from the result of validate-glob-opts
- Host: GitHub
- URL: https://github.com/shinnn/glob-option-error
- Owner: shinnn
- License: mit
- Created: 2017-02-06T11:55:05.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-05-16T08:56:57.000Z (over 7 years ago)
- Last Synced: 2024-09-30T11:09:30.727Z (about 2 months ago)
- Language: JavaScript
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# glob-option-error
[![NPM version](https://img.shields.io/npm/v/glob-option-error.svg)](https://www.npmjs.com/package/glob-option-error)
[![Build Status](https://travis-ci.org/shinnn/glob-option-error.svg?branch=master)](https://travis-ci.org/shinnn/glob-option-error)
[![Coverage Status](https://img.shields.io/coveralls/shinnn/glob-option-error.svg)](https://coveralls.io/r/shinnn/glob-option-error)Create an error from the result of [validate-glob-opts](https://github.com/shinnn/validate-glob-opts)
```javascript
const GlobOptionError = require('glob-option-error');
const validateGlobOpts = require('validate-glob-opts');new GlobOptionError(validateGlobOpts({
sync: true,
mark: '/',
caches: {}
}));
/* => Error: 3 errors found in the glob options:
1. `sync` option is deprecated and there’s no need to pass any values to that option, but true was provided.
2. node-glob expected `mark` option to be a Boolean value, but got '/'.
3. node-glob doesn't have `caches` option. Probably you meant `cache`.
at new GlobOptionError (/Users/me/exmaple/node_modules/glob-option-error/index.js:33:17)
at Object. (/Users/me/exmaple/app.js:2:13)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
...
*/
```## Installation
[Use npm.](https://docs.npmjs.com/cli/install)
```
npm install glob-option-error
```## API
```javascript
const GlobOptionError = require('glob-option-error');
```### GlobOptionError(*array*)
*array*: `Array` (return value of [validate-glob-opts](https://github.com/shinnn/validate-glob-opts#api))
Return: `Error` with an [iterator](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Iteration_protocols) that returns the individual errors one by one```javascript
const GlobOptionError = require('glob-option-error');
const validateGlobOpts = require('validate-glob-opts');const results = validateGlobOpts({
root: Buffer.from('Hi'),
nodir: NaN,
ignore: ['path1', 1]
});
/*=> [
TypeError: node-glob expected `root` option to be a directory path (string), but got .,
TypeError: node-glob expected `nodir` option to be a Boolean value, but got NaN.,
TypeError: Expected every value in the `ignore` option to be a string, but the array includes a non-string value 1.
] */const error = new GlobOptionError(results); //=> TypeError: 3 errors found in the glob options: ...
for (const {message} of error) {
console.log(message);
// node-glob expected `root` option to be a directory path (string), but got .
// node-glob expected `nodir` option to be a Boolean value, but got NaN.
// Expected every value in the `ignore` option to be a string, but the array includes a non-string value 1.
}
```The argument must include at least one element.
```javascript
new GlobOptionError([]);
// throws a RangeError: Expected an array with at least one error, but got [] (empty array).
```## License
Copyright (c) 2017 [Shinnosuke Watanabe](https://github.com/shinnn)
Licensed under [the MIT License](./LICENSE).