123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', {
- value: true
- });
- function _asyncToGenerator(fn) {
- return function() {
- var gen = fn.apply(this, arguments);
- return new Promise(function(resolve, reject) {
- function step(key, arg) {
- try {
- var info = gen[key](arg);
- var value = info.value;
- } catch (error) {
- reject(error);
- return;
- }
- if (info.done) {
- resolve(value);
- } else {
- return Promise.resolve(value).then(
- function(value) {
- step('next', value);
- },
- function(err) {
- step('throw', err);
- }
- );
- }
- }
- return step('next');
- });
- };
- }
- /**
- * Copyright (c) 2014-present, Facebook, Inc. 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() {
- 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: (() => {
- var _ref = _asyncToGenerator(function*(testSuiteInfo) {
- return Promise.all(
- _this._listeners.shouldRunTestSuite.map(function(listener) {
- return listener(testSuiteInfo);
- })
- ).then(function(result) {
- return result.every(function(shouldRunTestSuite) {
- return shouldRunTestSuite;
- });
- });
- });
- return function shouldRunTestSuite(_x) {
- return _ref.apply(this, arguments);
- };
- })()
- };
- }
- }
- exports.default = JestHooks;
|