121 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			121 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | 'use strict'; | ||
|  | 
 | ||
|  | Object.defineProperty(exports, '__esModule', { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.default = void 0; | ||
|  | 
 | ||
|  | function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { | ||
|  |   try { | ||
|  |     var info = gen[key](arg); | ||
|  |     var value = info.value; | ||
|  |   } catch (error) { | ||
|  |     reject(error); | ||
|  |     return; | ||
|  |   } | ||
|  |   if (info.done) { | ||
|  |     resolve(value); | ||
|  |   } else { | ||
|  |     Promise.resolve(value).then(_next, _throw); | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | function _asyncToGenerator(fn) { | ||
|  |   return function() { | ||
|  |     var self = this, | ||
|  |       args = arguments; | ||
|  |     return new Promise(function(resolve, reject) { | ||
|  |       var gen = fn.apply(self, args); | ||
|  |       function _next(value) { | ||
|  |         asyncGeneratorStep(gen, resolve, reject, _next, _throw, 'next', value); | ||
|  |       } | ||
|  |       function _throw(err) { | ||
|  |         asyncGeneratorStep(gen, resolve, reject, _next, _throw, 'throw', err); | ||
|  |       } | ||
|  |       _next(undefined); | ||
|  |     }); | ||
|  |   }; | ||
|  | } | ||
|  | 
 | ||
|  | function _defineProperty(obj, key, value) { | ||
|  |   if (key in obj) { | ||
|  |     Object.defineProperty(obj, key, { | ||
|  |       value: value, | ||
|  |       enumerable: true, | ||
|  |       configurable: true, | ||
|  |       writable: true | ||
|  |     }); | ||
|  |   } else { | ||
|  |     obj[key] = value; | ||
|  |   } | ||
|  |   return obj; | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | ||
|  |  * | ||
|  |  * This source code is licensed under the MIT license found in the | ||
|  |  * LICENSE file in the root directory of this source tree. | ||
|  |  */ | ||
|  | class JestHooks { | ||
|  |   constructor() { | ||
|  |     _defineProperty(this, '_listeners', void 0); | ||
|  | 
 | ||
|  |     this._listeners = { | ||
|  |       onFileChange: [], | ||
|  |       onTestRunComplete: [], | ||
|  |       shouldRunTestSuite: [] | ||
|  |     }; | ||
|  |   } | ||
|  | 
 | ||
|  |   isUsed(hook) { | ||
|  |     return this._listeners[hook] && this._listeners[hook].length; | ||
|  |   } | ||
|  | 
 | ||
|  |   getSubscriber() { | ||
|  |     return { | ||
|  |       onFileChange: fn => { | ||
|  |         this._listeners.onFileChange.push(fn); | ||
|  |       }, | ||
|  |       onTestRunComplete: fn => { | ||
|  |         this._listeners.onTestRunComplete.push(fn); | ||
|  |       }, | ||
|  |       shouldRunTestSuite: fn => { | ||
|  |         this._listeners.shouldRunTestSuite.push(fn); | ||
|  |       } | ||
|  |     }; | ||
|  |   } | ||
|  | 
 | ||
|  |   getEmitter() { | ||
|  |     var _this = this; | ||
|  | 
 | ||
|  |     return { | ||
|  |       onFileChange: fs => | ||
|  |         this._listeners.onFileChange.forEach(listener => listener(fs)), | ||
|  |       onTestRunComplete: results => | ||
|  |         this._listeners.onTestRunComplete.forEach(listener => | ||
|  |           listener(results) | ||
|  |         ), | ||
|  |       shouldRunTestSuite: (function() { | ||
|  |         var _shouldRunTestSuite = _asyncToGenerator(function*(testSuiteInfo) { | ||
|  |           const result = yield Promise.all( | ||
|  |             _this._listeners.shouldRunTestSuite.map(listener => | ||
|  |               listener(testSuiteInfo) | ||
|  |             ) | ||
|  |           ); | ||
|  |           return result.every(Boolean); | ||
|  |         }); | ||
|  | 
 | ||
|  |         function shouldRunTestSuite(_x) { | ||
|  |           return _shouldRunTestSuite.apply(this, arguments); | ||
|  |         } | ||
|  | 
 | ||
|  |         return shouldRunTestSuite; | ||
|  |       })() | ||
|  |     }; | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | var _default = JestHooks; | ||
|  | exports.default = _default; |