jest-audio-reporter 2.2.5 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,6 +11,12 @@
11
11
 
12
12
  Play a tune while running [`jest`](https://jestjs.io/).
13
13
 
14
+ ## Requirements
15
+
16
+ `jest-audio-reporter` is an ES module. It needs Node 20+ and Jest 27+
17
+ (Jest loads a reporter with `requireOrImportModule`, which imports an ES module).
18
+ `require('jest-audio-reporter')` is not supported.
19
+
14
20
  ## Usage
15
21
 
16
22
  To use `jest-audio-reporter`,
@@ -76,14 +82,14 @@ The audio files used for testing in this repository comes from <https://dova-s.j
76
82
 
77
83
  Please refer to them for copyright information.
78
84
 
79
- [codecov-image]: https://codecov.io/gh/cyberuni/jest-audio-reporter/branch/main/graph/badge.svg
80
- [codecov-url]: https://codecov.io/gh/cyberuni/jest-audio-reporter
81
- [coveralls-image]: https://coveralls.io/repos/github/cyberuni/jest-audio-reporter/badge.svg
82
- [coveralls-url]: https://coveralls.io/github/cyberuni/jest-audio-reporter
85
+ [codecov-image]: https://codecov.io/gh/repobuddy/jest-audio-reporter/branch/main/graph/badge.svg
86
+ [codecov-url]: https://codecov.io/gh/repobuddy/jest-audio-reporter
87
+ [coveralls-image]: https://coveralls.io/repos/github/repobuddy/jest-audio-reporter/badge.svg
88
+ [coveralls-url]: https://coveralls.io/github/repobuddy/jest-audio-reporter
83
89
  [downloads-image]: https://img.shields.io/npm/dm/jest-audio-reporter.svg?style=flat
84
90
  [downloads-url]: https://npmjs.org/package/jest-audio-reporter
85
- [github-nodejs]: https://github.com/cyberuni/jest-audio-reporter/actions/workflows/release.yml/badge.svg
86
- [github-action-url]: https://github.com/cyberuni/jest-audio-reporter/actions/workflows/release.yml
91
+ [github-nodejs]: https://github.com/repobuddy/jest-audio-reporter/actions/workflows/release.yml/badge.svg
92
+ [github-action-url]: https://github.com/repobuddy/jest-audio-reporter/actions/workflows/release.yml
87
93
  [npm-image]: https://img.shields.io/npm/v/jest-audio-reporter.svg?style=flat
88
94
  [npm-url]: https://npmjs.org/package/jest-audio-reporter
89
95
  [vscode-image]: https://img.shields.io/badge/vscode-ready-green.svg
@@ -1,7 +1,7 @@
1
1
  import type { ReporterOnStartOptions } from '@jest/reporters';
2
2
  import type { AggregatedResult } from '@jest/test-result';
3
3
  import type { Config } from '@jest/types';
4
- import { type Options, type RuntimeOptions } from './options';
4
+ import { type Options, type RuntimeOptions } from './options.js';
5
5
  export declare class AudioReporter {
6
6
  globalConfig: Config.GlobalConfig;
7
7
  log: {
@@ -1,17 +1,11 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AudioReporter = void 0;
7
- const play_sound_1 = __importDefault(require("play-sound"));
8
- const rc_1 = __importDefault(require("rc"));
9
- const log_1 = require("./log");
10
- const options_1 = require("./options");
11
- const store_1 = require("./store");
12
- class AudioReporter {
1
+ import Player from 'play-sound';
2
+ import rc from 'rc';
3
+ import { createLog, logOptions } from './log.js';
4
+ import { processOptions } from './options.js';
5
+ import { store } from './store.js';
6
+ export class AudioReporter {
13
7
  globalConfig;
14
- log = (0, log_1.createLog)();
8
+ log = createLog();
15
9
  player;
16
10
  disable;
17
11
  options;
@@ -23,48 +17,48 @@ class AudioReporter {
23
17
  if (jestOptions.debug) {
24
18
  this.log.enabled = true;
25
19
  }
26
- this.player = (0, play_sound_1.default)({});
20
+ this.player = Player({});
27
21
  this.disable = !!jestOptions.disable;
28
22
  this.volume = jestOptions.volume;
29
23
  this.onStartVolume = jestOptions.onStartVolume || 0.5;
30
24
  this.onCompleteVolume = jestOptions.onCompleteVolume;
31
- const rawRCOptions = (0, rc_1.default)('jest-audio-reporter');
32
- const rcOptions = (0, options_1.processOptions)(rawRCOptions);
33
- (0, log_1.logOptions)({ log: this.log }, rawRCOptions, rcOptions);
25
+ const rawRCOptions = rc('jest-audio-reporter');
26
+ const rcOptions = processOptions(rawRCOptions);
27
+ logOptions({ log: this.log }, rawRCOptions, rcOptions);
34
28
  this.options = rcOptions;
35
29
  }
36
30
  onRunStart(results, options) {
37
31
  if (this.disable)
38
32
  return;
39
- if (store_1.store.completeAudio) {
40
- store_1.store.completeAudio.kill();
41
- store_1.store.completeAudio = undefined;
33
+ if (store.completeAudio) {
34
+ store.completeAudio.kill();
35
+ store.completeAudio = undefined;
42
36
  }
43
37
  if (results.numTotalTestSuites === 0 ||
44
38
  (options.estimatedTime > 0 && options.estimatedTime <= this.options.onStartThreshold))
45
39
  return;
46
40
  const file = pickOne(this.options.onStart);
47
41
  const volume = this.getEffectiveOnStartVolume();
48
- store_1.store.startAudio = this.player.play(file, this.getPlayOption({ volume }));
42
+ store.startAudio = this.player.play(file, this.getPlayOption({ volume }));
49
43
  }
50
44
  onRunComplete(_contexts, results) {
51
45
  if (this.disable)
52
46
  return;
53
- if (store_1.store.startAudio) {
54
- store_1.store.startAudio.kill();
55
- store_1.store.startAudio = undefined;
47
+ if (store.startAudio) {
48
+ store.startAudio.kill();
49
+ store.startAudio = undefined;
56
50
  }
57
51
  if (results.numTotalTestSuites === 0)
58
52
  return;
59
53
  if (results.wasInterrupted)
60
54
  return;
61
55
  if (results.numFailedTestSuites === 0) {
62
- if (isWatch(this.globalConfig) && store_1.store.doesLastRunPass)
56
+ if (isWatch(this.globalConfig) && store.doesLastRunPass)
63
57
  return;
64
- store_1.store.doesLastRunPass = true;
58
+ store.doesLastRunPass = true;
65
59
  return this.playComplete(pickOne(this.options.onSuitePass));
66
60
  }
67
- store_1.store.doesLastRunPass = false;
61
+ store.doesLastRunPass = false;
68
62
  return this.playComplete(pickOne(this.options.onSuiteFailure));
69
63
  }
70
64
  playComplete(file) {
@@ -72,11 +66,11 @@ class AudioReporter {
72
66
  return;
73
67
  const volume = this.getEffectiveOnCompleteVolume();
74
68
  if (isWatch(this.globalConfig)) {
75
- store_1.store.completeAudio = this.player.play(file, this.getPlayOption({ volume }));
69
+ store.completeAudio = this.player.play(file, this.getPlayOption({ volume }));
76
70
  }
77
71
  else {
78
72
  return new Promise((a) => {
79
- store_1.store.completeAudio = this.player.play(file, this.getPlayOption({ volume }), a);
73
+ store.completeAudio = this.player.play(file, this.getPlayOption({ volume }), a);
80
74
  });
81
75
  }
82
76
  }
@@ -97,7 +91,6 @@ class AudioReporter {
97
91
  }
98
92
  }
99
93
  }
100
- exports.AudioReporter = AudioReporter;
101
94
  function pickOne(arr) {
102
95
  if (arr.length === 0)
103
96
  return undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioReporter.js","sourceRoot":"","sources":["../ts/AudioReporter.ts"],"names":[],"mappings":"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"}
package/esm/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { AudioReporter } from './AudioReporter.js';
2
+ export default AudioReporter;
package/esm/index.js ADDED
@@ -0,0 +1,11 @@
1
+ import { store } from './store.js';
2
+ // istanbul ignore next
3
+ process.on('exit', () => {
4
+ if (store.startAudio)
5
+ store.startAudio.kill();
6
+ if (store.completeAudio)
7
+ store.completeAudio.kill();
8
+ });
9
+ import { AudioReporter } from './AudioReporter.js';
10
+ export default AudioReporter;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,uBAAuB;AACvB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;IACvB,IAAI,KAAK,CAAC,UAAU;QAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IAC7C,IAAI,KAAK,CAAC,aAAa;QAAE,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;AACpD,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,eAAe,aAAa,CAAA"}
@@ -1,14 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createLog = createLog;
4
- exports.logOptions = logOptions;
5
- const store_1 = require("./store");
6
- function createLog() {
1
+ import { store } from './store.js';
2
+ export function createLog() {
7
3
  return {
8
4
  enabled: false,
9
5
  writer: console,
10
6
  debug(...args) {
11
- if (store_1.store.devel)
7
+ if (store.devel)
12
8
  return;
13
9
  if (this.enabled) {
14
10
  // istanbul ignore next
@@ -17,7 +13,7 @@ function createLog() {
17
13
  }
18
14
  };
19
15
  }
20
- function logOptions({ log }, raw, options) {
16
+ export function logOptions({ log }, raw, options) {
21
17
  if (!raw.configs) {
22
18
  log.debug('no config detected');
23
19
  }
package/esm/log.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../ts/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,UAAU,SAAS;IACxB,OAAO;QACN,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,OAAO;QACf,KAAK,CAAC,GAAG,IAAI;YACZ,IAAI,KAAK,CAAC,KAAK;gBAAE,OAAM;YACvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,uBAAuB;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;YAC1B,CAAC;QACF,CAAC;KACD,CAAA;AACF,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO;IAC/C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAChC,CAAC;SAAM,CAAC;QACP,GAAG,CAAC,KAAK,CAAC;EACV,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAG3C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;CACtC,CAAC,CAAA;IACD,CAAC;AACF,CAAC"}
@@ -1,14 +1,8 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.processOptions = processOptions;
7
- const node_fs_1 = __importDefault(require("node:fs"));
8
- const node_path_1 = __importDefault(require("node:path"));
9
- function processOptions(rawRCOptions) {
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ export function processOptions(rawRCOptions) {
10
4
  // reversing the config so the first one is the closest.
11
- const dirs = rawRCOptions.configs ? rawRCOptions.configs.map(node_path_1.default.dirname) : [];
5
+ const dirs = rawRCOptions.configs ? rawRCOptions.configs.map(path.dirname) : [];
12
6
  const onStart = processRCFileEntry(rawRCOptions.onStart, dirs);
13
7
  const onSuitePass = processRCFileEntry(rawRCOptions.onSuitePass, dirs);
14
8
  const onSuiteFailure = processRCFileEntry(rawRCOptions.onSuiteFailure, dirs);
@@ -26,11 +20,11 @@ function processRCFileEntry(files, dirs) {
26
20
  const entries = typeof files === 'string' ? [files] : files;
27
21
  const validFiles = [];
28
22
  entries.forEach((e) => {
29
- if (node_path_1.default.isAbsolute(e)) {
23
+ if (path.isAbsolute(e)) {
30
24
  validFiles.push(e);
31
25
  }
32
26
  else {
33
- const file = dirs.map((dir) => node_path_1.default.resolve(dir, e)).find((p) => node_fs_1.default.existsSync(p));
27
+ const file = dirs.map((dir) => path.resolve(dir, e)).find((p) => fs.existsSync(p));
34
28
  if (file) {
35
29
  validFiles.push(file);
36
30
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../ts/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAgC5B,MAAM,UAAU,cAAc,CAAC,YAAY;IAC1C,wDAAwD;IACxD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/E,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,WAAW,GAAG,kBAAkB,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IACtE,MAAM,cAAc,GAAG,kBAAkB,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IAE5E,MAAM,gBAAgB,GACrB,YAAY,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAEtG,OAAO;QACN,gBAAgB;QAChB,OAAO;QACP,WAAW;QACX,cAAc;KACd,CAAA;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAoC,EAAE,IAAc;IAC/E,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC3D,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;YAClF,IAAI,IAAI,EAAE,CAAC;gBACV,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAA;IACF,OAAO,UAAU,CAAA;AAClB,CAAC"}
package/esm/store.js ADDED
@@ -0,0 +1,9 @@
1
+ export const store = {
2
+ devel: false,
3
+ doesLastRunPass: false,
4
+ reset() {
5
+ ;
6
+ (store.completeAudio = undefined), (store.doesLastRunPass = false), (store.startAudio = undefined);
7
+ }
8
+ };
9
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../ts/store.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,KAAK,GAAU;IAC3B,KAAK,EAAE,KAAK;IACZ,eAAe,EAAE,KAAK;IACtB,KAAK;QACJ,CAAC;QAAA,CAAC,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;IACpG,CAAC;CACD,CAAA"}
package/package.json CHANGED
@@ -1,25 +1,32 @@
1
1
  {
2
2
  "name": "jest-audio-reporter",
3
- "version": "2.2.5",
3
+ "version": "3.0.0",
4
4
  "description": "Plays audio on jest events",
5
5
  "keywords": [
6
6
  "jest",
7
7
  "reporters",
8
8
  "sounds"
9
9
  ],
10
- "homepage": "https://github.com/cyberuni/jest-audio-reporter",
10
+ "homepage": "https://github.com/repobuddy/jest-audio-reporter",
11
11
  "bugs": {
12
- "url": "https://github.com/cyberuni/jest-audio-reporter/issues"
12
+ "url": "https://github.com/repobuddy/jest-audio-reporter/issues"
13
13
  },
14
14
  "repository": {
15
15
  "type": "git",
16
- "url": "https://github.com/cyberuni/jest-audio-reporter.git"
16
+ "url": "https://github.com/repobuddy/jest-audio-reporter.git"
17
17
  },
18
18
  "license": "MIT",
19
- "main": "cjs/index.js",
20
- "typings": "cjs/index.d.ts",
19
+ "type": "module",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./esm/index.d.ts",
23
+ "default": "./esm/index.js"
24
+ }
25
+ },
26
+ "main": "esm/index.js",
27
+ "typings": "esm/index.d.ts",
21
28
  "files": [
22
- "cjs",
29
+ "esm",
23
30
  "ts",
24
31
  "!ts/**/*.spec.ts"
25
32
  ],
@@ -47,9 +54,12 @@
47
54
  "ts-jest": "^29.4.12",
48
55
  "typescript": "^5.9.0"
49
56
  },
57
+ "engines": {
58
+ "node": "^20.19.0 || ^22.13.0 || >=24"
59
+ },
50
60
  "scripts": {
51
61
  "build": "tsc -p tsconfig.base.json",
52
- "clean": "rimraf cjs coverage dist",
62
+ "clean": "rimraf cjs esm coverage dist",
53
63
  "coverage": "jest --coverage",
54
64
  "cs": "changeset",
55
65
  "depcheck": "depcheck",
@@ -4,9 +4,9 @@ import type { Config } from '@jest/types'
4
4
  import Player from 'play-sound'
5
5
  import rc from 'rc'
6
6
 
7
- import { createLog, logOptions } from './log'
8
- import { type Options, processOptions, type RuntimeOptions } from './options'
9
- import { store } from './store'
7
+ import { createLog, logOptions } from './log.js'
8
+ import { type Options, processOptions, type RuntimeOptions } from './options.js'
9
+ import { store } from './store.js'
10
10
 
11
11
  export class AudioReporter {
12
12
  log = createLog()
package/ts/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { store } from './store'
1
+ import { store } from './store.js'
2
2
 
3
3
  // istanbul ignore next
4
4
  process.on('exit', () => {
@@ -6,6 +6,6 @@ process.on('exit', () => {
6
6
  if (store.completeAudio) store.completeAudio.kill()
7
7
  })
8
8
 
9
- import { AudioReporter } from './AudioReporter'
9
+ import { AudioReporter } from './AudioReporter.js'
10
10
 
11
11
  export default AudioReporter
package/ts/log.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { store } from './store'
1
+ import { store } from './store.js'
2
2
 
3
3
  export function createLog() {
4
4
  return {
@@ -1 +0,0 @@
1
- {"version":3,"file":"AudioReporter.js","sourceRoot":"","sources":["../ts/AudioReporter.ts"],"names":[],"mappings":"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"}
package/cjs/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { AudioReporter } from './AudioReporter';
2
- export default AudioReporter;
package/cjs/index.js DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const store_1 = require("./store");
4
- // istanbul ignore next
5
- process.on('exit', () => {
6
- if (store_1.store.startAudio)
7
- store_1.store.startAudio.kill();
8
- if (store_1.store.completeAudio)
9
- store_1.store.completeAudio.kill();
10
- });
11
- const AudioReporter_1 = require("./AudioReporter");
12
- exports.default = AudioReporter_1.AudioReporter;
13
- //# sourceMappingURL=index.js.map
package/cjs/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;AAAA,mCAA+B;AAE/B,uBAAuB;AACvB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;IACvB,IAAI,aAAK,CAAC,UAAU;QAAE,aAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IAC7C,IAAI,aAAK,CAAC,aAAa;QAAE,aAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;AACpD,CAAC,CAAC,CAAA;AAEF,mDAA+C;AAE/C,kBAAe,6BAAa,CAAA"}
package/cjs/log.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../ts/log.ts"],"names":[],"mappings":";;AAEA,8BAYC;AAED,gCAWC;AA3BD,mCAA+B;AAE/B,SAAgB,SAAS;IACxB,OAAO;QACN,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,OAAO;QACf,KAAK,CAAC,GAAG,IAAI;YACZ,IAAI,aAAK,CAAC,KAAK;gBAAE,OAAM;YACvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,uBAAuB;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;YAC1B,CAAC;QACF,CAAC;KACD,CAAA;AACF,CAAC;AAED,SAAgB,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO;IAC/C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAChC,CAAC;SAAM,CAAC;QACP,GAAG,CAAC,KAAK,CAAC;EACV,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAG3C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;CACtC,CAAC,CAAA;IACD,CAAC;AACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../ts/options.ts"],"names":[],"mappings":";;;;;AAiCA,wCAgBC;AAjDD,sDAAwB;AACxB,0DAA4B;AAgC5B,SAAgB,cAAc,CAAC,YAAY;IAC1C,wDAAwD;IACxD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/E,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,WAAW,GAAG,kBAAkB,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IACtE,MAAM,cAAc,GAAG,kBAAkB,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IAE5E,MAAM,gBAAgB,GACrB,YAAY,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAEtG,OAAO;QACN,gBAAgB;QAChB,OAAO;QACP,WAAW;QACX,cAAc;KACd,CAAA;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAoC,EAAE,IAAc;IAC/E,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC3D,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,IAAI,mBAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;YAClF,IAAI,IAAI,EAAE,CAAC;gBACV,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAA;IACF,OAAO,UAAU,CAAA;AAClB,CAAC"}
package/cjs/store.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.store = void 0;
4
- exports.store = {
5
- devel: false,
6
- doesLastRunPass: false,
7
- reset() {
8
- ;
9
- (exports.store.completeAudio = undefined), (exports.store.doesLastRunPass = false), (exports.store.startAudio = undefined);
10
- }
11
- };
12
- //# sourceMappingURL=store.js.map
package/cjs/store.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../ts/store.ts"],"names":[],"mappings":";;;AAQa,QAAA,KAAK,GAAU;IAC3B,KAAK,EAAE,KAAK;IACZ,eAAe,EAAE,KAAK;IACtB,KAAK;QACJ,CAAC;QAAA,CAAC,aAAK,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,aAAK,CAAC,eAAe,GAAG,KAAK,CAAC,EAAE,CAAC,aAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;IACpG,CAAC;CACD,CAAA"}
File without changes
File without changes
File without changes