1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.default = void 0;
|
7 |
|
8 | var _jestWatcher = require("jest-watcher");
|
9 |
|
10 | var _prompt = _interopRequireDefault(require("./prompt"));
|
11 |
|
12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13 |
|
14 | class FileNamePlugin {
|
15 | constructor({
|
16 | stdin,
|
17 | stdout,
|
18 | config = {}
|
19 | }) {
|
20 | this._stdin = stdin;
|
21 | this._stdout = stdout;
|
22 | this._prompt = new _jestWatcher.Prompt();
|
23 | this._projects = [];
|
24 | this._usageInfo = {
|
25 | key: config.key || 'p',
|
26 | prompt: config.prompt || 'filter by a filename regex pattern'
|
27 | };
|
28 | }
|
29 |
|
30 | apply(jestHooks) {
|
31 | jestHooks.onFileChange(({
|
32 | projects
|
33 | }) => {
|
34 | this._projects = projects;
|
35 | });
|
36 | }
|
37 |
|
38 | onKey(key) {
|
39 | this._prompt.put(key);
|
40 | }
|
41 |
|
42 | run(globalConfig, updateConfigAndRun) {
|
43 | const p = new _prompt.default(this._stdout, this._prompt);
|
44 | p.updateSearchSources(this._projects);
|
45 | return new Promise((res, rej) => {
|
46 | p.run(testPathPattern => {
|
47 | updateConfigAndRun({
|
48 | mode: 'watch',
|
49 | testPathPattern
|
50 | });
|
51 | res();
|
52 | }, rej);
|
53 | });
|
54 | }
|
55 |
|
56 | getUsageInfo() {
|
57 | return this._usageInfo;
|
58 | }
|
59 |
|
60 | }
|
61 |
|
62 | exports.default = FileNamePlugin; |
\ | No newline at end of file |