123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', {
- value: true
- });
- exports.createReporterError = createReporterError;
- exports.createArrayReporterError = createArrayReporterError;
- exports.validateReporters = validateReporters;
- function _jestValidate() {
- const data = require('jest-validate');
- _jestValidate = function _jestValidate() {
- return data;
- };
- return data;
- }
- function _chalk() {
- const data = _interopRequireDefault(require('chalk'));
- _chalk = function _chalk() {
- return data;
- };
- return data;
- }
- function _jestGetType() {
- const data = _interopRequireDefault(require('jest-get-type'));
- _jestGetType = function _jestGetType() {
- return data;
- };
- return data;
- }
- var _utils = require('./utils');
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {default: obj};
- }
- function _slicedToArray(arr, i) {
- return (
- _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest()
- );
- }
- function _nonIterableRest() {
- throw new TypeError('Invalid attempt to destructure non-iterable instance');
- }
- function _iterableToArrayLimit(arr, i) {
- var _arr = [];
- var _n = true;
- var _d = false;
- var _e = undefined;
- try {
- for (
- var _i = arr[Symbol.iterator](), _s;
- !(_n = (_s = _i.next()).done);
- _n = true
- ) {
- _arr.push(_s.value);
- if (i && _arr.length === i) break;
- }
- } catch (err) {
- _d = true;
- _e = err;
- } finally {
- try {
- if (!_n && _i['return'] != null) _i['return']();
- } finally {
- if (_d) throw _e;
- }
- }
- return _arr;
- }
- function _arrayWithHoles(arr) {
- if (Array.isArray(arr)) return arr;
- }
- const validReporterTypes = ['array', 'string'];
- const ERROR = `${_utils.BULLET}Reporter Validation Error`;
- function createReporterError(reporterIndex, reporterValue) {
- const errorMessage =
- ` Reporter at index ${reporterIndex} must be of type:\n` +
- ` ${_chalk().default.bold.green(validReporterTypes.join(' or '))}\n` +
- ` but instead received:\n` +
- ` ${_chalk().default.bold.red(
- (0, _jestGetType().default)(reporterValue)
- )}`;
- return new (_jestValidate()).ValidationError(
- ERROR,
- errorMessage,
- _utils.DOCUMENTATION_NOTE
- );
- }
- function createArrayReporterError(
- arrayReporter,
- reporterIndex,
- valueIndex,
- value,
- expectedType,
- valueName
- ) {
- const errorMessage =
- ` Unexpected value for ${valueName} ` +
- `at index ${valueIndex} of reporter at index ${reporterIndex}\n` +
- ' Expected:\n' +
- ` ${_chalk().default.bold.red(expectedType)}\n` +
- ' Got:\n' +
- ` ${_chalk().default.bold.green((0, _jestGetType().default)(value))}\n` +
- ` Reporter configuration:\n` +
- ` ${_chalk().default.bold.green(
- JSON.stringify(arrayReporter, null, 2)
- .split('\n')
- .join('\n ')
- )}`;
- return new (_jestValidate()).ValidationError(
- ERROR,
- errorMessage,
- _utils.DOCUMENTATION_NOTE
- );
- }
- function validateReporters(reporterConfig) {
- return reporterConfig.every((reporter, index) => {
- if (Array.isArray(reporter)) {
- validateArrayReporter(reporter, index);
- } else if (typeof reporter !== 'string') {
- throw createReporterError(index, reporter);
- }
- return true;
- });
- }
- function validateArrayReporter(arrayReporter, reporterIndex) {
- const _arrayReporter = _slicedToArray(arrayReporter, 2),
- path = _arrayReporter[0],
- options = _arrayReporter[1];
- if (typeof path !== 'string') {
- throw createArrayReporterError(
- arrayReporter,
- reporterIndex,
- 0,
- path,
- 'string',
- 'Path'
- );
- } else if (typeof options !== 'object') {
- throw createArrayReporterError(
- arrayReporter,
- reporterIndex,
- 1,
- options,
- 'object',
- 'Reporter Configuration'
- );
- }
- }
|