glob-option-error

1.0.0 • Public • Published

glob-option-error

NPM version Build Status Coverage Status

Create an error from the result of validate-glob-opts

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.<anonymous> (/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.

npm install glob-option-error

API

const GlobOptionError = require('glob-option-error');

GlobOptionError(array)

array: Array<error> (return value of validate-glob-opts)
Return: Error with an iterator that returns the individual errors one by one

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 <Buffer 48 69>.,
  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 <Buffer 48 69>.
  // 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.

new GlobOptionError([]);
// throws a RangeError: Expected an array with at least one error, but got [] (empty array).

License

Copyright (c) 2017 Shinnosuke Watanabe

Licensed under the MIT License.

Package Sidebar

Install

npm i glob-option-error

Weekly Downloads

47,117

Version

1.0.0

License

MIT

Last publish

Collaborators

  • shinnn