@appium/test-support 1.5.0 → 2.0.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-utils.js","names":["stubEnv","envBackup","beforeEach","process","env","afterEach"],"sources":["../../lib/env-utils.js"],"sourcesContent":["/**\n * Creates Mocha \"before each\" and \"after each\" hooks to restore `process.env` after every test.\n */\nfunction stubEnv() {\n /** @type {NodeJS.ProcessEnv} */\n let envBackup;\n beforeEach(function beforeEach() {\n envBackup = process.env;\n process.env = {...process.env};\n });\n afterEach(function afterEach() {\n process.env = envBackup;\n });\n}\n\nexport {stubEnv};\n"],"mappings":";;;;;;;;;AAGA,SAASA,OAAT,GAAmB;EAEjB,IAAIC,SAAJ;EACAC,UAAU,CAAC,SAASA,UAAT,GAAsB;IAC/BD,SAAS,GAAGE,OAAO,CAACC,GAApB;IACAD,OAAO,CAACC,GAAR,GAAc,EAAC,GAAGD,OAAO,CAACC;IAAZ,CAAd;EACD,CAHS,CAAV;EAIAC,SAAS,CAAC,SAASA,SAAT,GAAqB;IAC7BF,OAAO,CAACC,GAAR,GAAcH,SAAd;EACD,CAFQ,CAAT;AAGD"}
@@ -1,12 +1,6 @@
1
1
  export { stubEnv } from "./env-utils";
2
2
  export { stubLog } from "./log-utils";
3
3
  export { fakeTime } from "./time-utils";
4
- export { pluginE2EHarness } from "./plugin-e2e-harness";
5
- export { driverUnitTestSuite } from "./driver-unit-suite";
6
- export * from "./helpers";
7
- export type SessionHelpers = import('./driver-e2e-suite').SessionHelpers;
8
- export type E2ESetupOpts = import('./plugin-e2e-harness').E2ESetupOpts;
9
4
  export { withMocks, verifyMocks } from "./mock-utils";
10
5
  export { withSandbox, verifySandbox } from "./sandbox-utils";
11
- export { driverE2ETestSuite, createSessionHelpers } from "./driver-e2e-suite";
12
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":";;;;;;6BAea,OAAO,oBAAoB,EAAE,cAAc;2BAG3C,OAAO,sBAAsB,EAAE,YAAY"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":""}
@@ -3,49 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _exportNames = {
7
- stubEnv: true,
8
- stubLog: true,
9
- fakeTime: true,
10
- withMocks: true,
11
- verifyMocks: true,
12
- withSandbox: true,
13
- verifySandbox: true,
14
- pluginE2EHarness: true,
15
- driverUnitTestSuite: true,
16
- driverE2ETestSuite: true,
17
- createSessionHelpers: true
18
- };
19
- Object.defineProperty(exports, "createSessionHelpers", {
20
- enumerable: true,
21
- get: function () {
22
- return _driverE2eSuite.createSessionHelpers;
23
- }
24
- });
25
- Object.defineProperty(exports, "driverE2ETestSuite", {
26
- enumerable: true,
27
- get: function () {
28
- return _driverE2eSuite.driverE2ETestSuite;
29
- }
30
- });
31
- Object.defineProperty(exports, "driverUnitTestSuite", {
32
- enumerable: true,
33
- get: function () {
34
- return _driverUnitSuite.driverUnitTestSuite;
35
- }
36
- });
37
6
  Object.defineProperty(exports, "fakeTime", {
38
7
  enumerable: true,
39
8
  get: function () {
40
9
  return _timeUtils.fakeTime;
41
10
  }
42
11
  });
43
- Object.defineProperty(exports, "pluginE2EHarness", {
44
- enumerable: true,
45
- get: function () {
46
- return _pluginE2eHarness.pluginE2EHarness;
47
- }
48
- });
49
12
  Object.defineProperty(exports, "stubEnv", {
50
13
  enumerable: true,
51
14
  get: function () {
@@ -96,24 +59,4 @@ var _timeUtils = require("./time-utils");
96
59
  var _mockUtils = require("./mock-utils");
97
60
 
98
61
  var _sandboxUtils = require("./sandbox-utils");
99
-
100
- var _pluginE2eHarness = require("./plugin-e2e-harness");
101
-
102
- var _driverUnitSuite = require("./driver-unit-suite");
103
-
104
- var _driverE2eSuite = require("./driver-e2e-suite");
105
-
106
- var _helpers = require("./helpers");
107
-
108
- Object.keys(_helpers).forEach(function (key) {
109
- if (key === "default" || key === "__esModule") return;
110
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
111
- if (key in exports && exports[key] === _helpers[key]) return;
112
- Object.defineProperty(exports, key, {
113
- enumerable: true,
114
- get: function () {
115
- return _helpers[key];
116
- }
117
- });
118
- });
119
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vbGliL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHRoaXMganVzdCBuZWVkcyB0byBiZSBpbXBvcnRlZCwgZm9yIHRoZSBmdW5jdGlvbmFsaXR5IHRvIGJlIGluamVjdGVkXG5pbXBvcnQgJy4vdW5oYW5kbGVkLXJlamVjdGlvbic7XG5cbmV4cG9ydCB7c3R1YkVudn0gZnJvbSAnLi9lbnYtdXRpbHMnO1xuZXhwb3J0IHtzdHViTG9nfSBmcm9tICcuL2xvZy11dGlscyc7XG5leHBvcnQge2Zha2VUaW1lfSBmcm9tICcuL3RpbWUtdXRpbHMnO1xuZXhwb3J0IHt3aXRoTW9ja3MsIHZlcmlmeU1vY2tzfSBmcm9tICcuL21vY2stdXRpbHMnO1xuZXhwb3J0IHt3aXRoU2FuZGJveCwgdmVyaWZ5U2FuZGJveH0gZnJvbSAnLi9zYW5kYm94LXV0aWxzJztcbmV4cG9ydCB7cGx1Z2luRTJFSGFybmVzc30gZnJvbSAnLi9wbHVnaW4tZTJlLWhhcm5lc3MnO1xuZXhwb3J0IHtkcml2ZXJVbml0VGVzdFN1aXRlfSBmcm9tICcuL2RyaXZlci11bml0LXN1aXRlJztcbmV4cG9ydCB7ZHJpdmVyRTJFVGVzdFN1aXRlLCBjcmVhdGVTZXNzaW9uSGVscGVyc30gZnJvbSAnLi9kcml2ZXItZTJlLXN1aXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzJztcblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2RyaXZlci1lMmUtc3VpdGUnKS5TZXNzaW9uSGVscGVyc30gU2Vzc2lvbkhlbHBlcnNcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuL3BsdWdpbi1lMmUtaGFybmVzcycpLkUyRVNldHVwT3B0c30gRTJFU2V0dXBPcHRzXG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtJQUFBO0lBQUE7TUFBQTtJQUFBO0VBQUE7QUFBQSJ9
62
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vbGliL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHRoaXMganVzdCBuZWVkcyB0byBiZSBpbXBvcnRlZCwgZm9yIHRoZSBmdW5jdGlvbmFsaXR5IHRvIGJlIGluamVjdGVkXG5pbXBvcnQgJy4vdW5oYW5kbGVkLXJlamVjdGlvbic7XG5cbmV4cG9ydCB7c3R1YkVudn0gZnJvbSAnLi9lbnYtdXRpbHMnO1xuZXhwb3J0IHtzdHViTG9nfSBmcm9tICcuL2xvZy11dGlscyc7XG5leHBvcnQge2Zha2VUaW1lfSBmcm9tICcuL3RpbWUtdXRpbHMnO1xuZXhwb3J0IHt3aXRoTW9ja3MsIHZlcmlmeU1vY2tzfSBmcm9tICcuL21vY2stdXRpbHMnO1xuZXhwb3J0IHt3aXRoU2FuZGJveCwgdmVyaWZ5U2FuZGJveH0gZnJvbSAnLi9zYW5kYm94LXV0aWxzJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQSJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../lib/index.js"],"sourcesContent":["// this just needs to be imported, for the functionality to be injected\nimport './unhandled-rejection';\n\nexport {stubEnv} from './env-utils';\nexport {stubLog} from './log-utils';\nexport {fakeTime} from './time-utils';\nexport {withMocks, verifyMocks} from './mock-utils';\nexport {withSandbox, verifySandbox} from './sandbox-utils';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-utils.js","names":["LogStub","constructor","opts","output","stripColors","Boolean","log","level","message","length","stubLog","sandbox","logStub","l","levels","stub","callsFake","doLogging","mess"],"sources":["../../lib/log-utils.js"],"sourcesContent":["import '@colors/colors';\n\nclass LogStub {\n /**\n *\n * @param {LogStubOptions} [opts]\n */\n constructor(opts = {}) {\n this.output = '';\n this.stripColors = Boolean(opts.stripColors);\n }\n /**\n *\n * @param {string} level\n * @param {any} message\n */\n log(level, message) {\n if (this.stripColors) {\n message = message.stripColors;\n }\n if (this.output.length > 0) {\n this.output += '\\n';\n }\n this.output = `${this.output}${level}: ${message}`;\n }\n}\n\n/**\n * Instantiates a {@linkcode LogStub} object\n * @param {import('sinon').SinonSandbox} sandbox\n * @param {import('@appium/types').AppiumLogger} log\n * @param {LogStubOptions} [opts]\n * @returns {LogStub}\n */\nfunction stubLog(sandbox, log, opts = {}) {\n let logStub = new LogStub(opts);\n for (let l of log.levels) {\n sandbox.stub(log, l).callsFake(function doLogging(mess) {\n logStub.log(l, mess);\n });\n }\n return logStub;\n}\n\nexport {stubLog};\n\n/**\n * Options for {@linkcode LogStub} constructor\n * @typedef LogStubOptions\n * @property {boolean} [stripColors] - If `true`, strip ANSI colors from output\n */\n"],"mappings":";;;;;;;;;AAAA;;AAEA,MAAMA,OAAN,CAAc;EAKZC,WAAW,CAACC,IAAI,GAAG,EAAR,EAAY;IACrB,KAAKC,MAAL,GAAc,EAAd;IACA,KAAKC,WAAL,GAAmBC,OAAO,CAACH,IAAI,CAACE,WAAN,CAA1B;EACD;;EAMDE,GAAG,CAACC,KAAD,EAAQC,OAAR,EAAiB;IAClB,IAAI,KAAKJ,WAAT,EAAsB;MACpBI,OAAO,GAAGA,OAAO,CAACJ,WAAlB;IACD;;IACD,IAAI,KAAKD,MAAL,CAAYM,MAAZ,GAAqB,CAAzB,EAA4B;MAC1B,KAAKN,MAAL,IAAe,IAAf;IACD;;IACD,KAAKA,MAAL,GAAe,GAAE,KAAKA,MAAO,GAAEI,KAAM,KAAIC,OAAQ,EAAjD;EACD;;AAtBW;;AAgCd,SAASE,OAAT,CAAiBC,OAAjB,EAA0BL,GAA1B,EAA+BJ,IAAI,GAAG,EAAtC,EAA0C;EACxC,IAAIU,OAAO,GAAG,IAAIZ,OAAJ,CAAYE,IAAZ,CAAd;;EACA,KAAK,IAAIW,CAAT,IAAcP,GAAG,CAACQ,MAAlB,EAA0B;IACxBH,OAAO,CAACI,IAAR,CAAaT,GAAb,EAAkBO,CAAlB,EAAqBG,SAArB,CAA+B,SAASC,SAAT,CAAmBC,IAAnB,EAAyB;MACtDN,OAAO,CAACN,GAAR,CAAYO,CAAZ,EAAeK,IAAf;IACD,CAFD;EAGD;;EACD,OAAON,OAAP;AACD"}
@@ -7,10 +7,10 @@ exports.default = void 0;
7
7
 
8
8
  require("source-map-support/register");
9
9
 
10
- var _support = require("appium/support");
10
+ var _support = require("@appium/support");
11
11
 
12
12
  const log = _support.logger.getLogger('AppiumTestSupport');
13
13
 
14
14
  var _default = log;
15
15
  exports.default = _default;
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJsb2dnZXIiLCJnZXRMb2dnZXIiXSwic291cmNlcyI6WyIuLi8uLi9saWIvbG9nZ2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bG9nZ2VyfSBmcm9tICdhcHBpdW0vc3VwcG9ydCc7XG5cbmNvbnN0IGxvZyA9IGxvZ2dlci5nZXRMb2dnZXIoJ0FwcGl1bVRlc3RTdXBwb3J0Jyk7XG5cbmV4cG9ydCBkZWZhdWx0IGxvZztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUEsTUFBTUEsR0FBRyxHQUFHQyxlQUFBLENBQU9DLFNBQVAsQ0FBaUIsbUJBQWpCLENBQVo7O2VBRWVGLEcifQ==
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJsb2dnZXIiLCJnZXRMb2dnZXIiXSwic291cmNlcyI6WyIuLi8uLi9saWIvbG9nZ2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bG9nZ2VyfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuXG5jb25zdCBsb2cgPSBsb2dnZXIuZ2V0TG9nZ2VyKCdBcHBpdW1UZXN0U3VwcG9ydCcpO1xuXG5leHBvcnQgZGVmYXVsdCBsb2c7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBLE1BQU1BLEdBQUcsR0FBR0MsZUFBQSxDQUFPQyxTQUFQLENBQWlCLG1CQUFqQixDQUFaOztlQUVlRixHIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","names":["log","logger","getLogger"],"sources":["../../lib/logger.js"],"sourcesContent":["import {logger} from '@appium/support';\n\nconst log = logger.getLogger('AppiumTestSupport');\n\nexport default log;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,MAAMA,GAAG,GAAGC,eAAA,CAAOC,SAAP,CAAiB,mBAAjB,CAAZ;;eAEeF,G"}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -15,6 +13,8 @@ var _bluebird = _interopRequireDefault(require("bluebird"));
15
13
 
16
14
  var _sinon = _interopRequireDefault(require("sinon"));
17
15
 
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
18
  function withMocks(mockDefs, fn) {
19
19
  return () => {
20
20
  const mocks = new MockStore();
@@ -77,4 +77,4 @@ class MockStore {
77
77
  }
78
78
 
79
79
  exports.MockStore = MockStore;
80
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aXRoTW9ja3MiLCJtb2NrRGVmcyIsImZuIiwibW9ja3MiLCJNb2NrU3RvcmUiLCJiZWZvcmVFYWNoIiwid2l0aE1vY2tzQmVmb3JlRWFjaCIsImNyZWF0ZU1vY2tzIiwiYWZ0ZXJFYWNoIiwid2l0aE1vY2tzQWZ0ZXJFYWNoIiwicmVzZXQiLCJ2ZXJpZnlNb2NrcyIsInZlcmlmeSIsInNhbmRib3giLCJjb25zdHJ1Y3RvciIsIlJlZmVyZW5jZUVycm9yIiwic2lub24iLCJjcmVhdGVTYW5kYm94IiwidXNpbmdQcm9taXNlIiwiQiIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsIm1vY2siLCJrZXlzIiwicmVzdG9yZSIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9tb2NrLXV0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHdoaWNoIGNyZWF0ZXMgTW9jaGEgXCJiZWZvcmUgZWFjaFwiIGFuZCBcImFmdGVyIGVhY2hcIiBob29rcyB0b1xuICogYXV0b21hdGljYWxseSBtb2NrIChhbmQgdW4tbW9jaykgdGhlIG1vY2tzIHByb3ZpZGVkIGJ5IGBsaWJzYC5cbiAqXG4gKiBUaGUgdmFsdWVzIG9mIGBsaWJzYCBhcmUgcHJvdmlkZWQgZGlyZWN0bHkgdG8ge0BsaW5rY29kZSBTaW5vblNhbmRib3gubW9ja30uXG4gKlxuICogX1N5bmNocm9ub3VzbHlfIGNhbGxzIGBmbmAgd2l0aCB0aGUge0BsaW5rY29kZSBNb2NrU3RvcmV9IGFmdGVyIGhvb2tzIGhhdmUgYmVlbiBjcmVhdGVkLCBidXQgbm90IGJlZm9yZSB0aGV5IGhhdmUgYmVlbiBydW4uXG4gKlxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nfHN5bWJvbCxhbnk+fSBtb2NrRGVmc1xuICogQHBhcmFtIHsobW9ja3M6IE1vY2tTdG9yZSkgPT4gdm9pZH0gZm5cbiAqIEByZXR1cm5zIHsoKSA9PiB2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aE1vY2tzKG1vY2tEZWZzLCBmbikge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGNvbnN0IG1vY2tzID0gbmV3IE1vY2tTdG9yZSgpO1xuICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gd2l0aE1vY2tzQmVmb3JlRWFjaCgpIHtcbiAgICAgIG1vY2tzLmNyZWF0ZU1vY2tzKG1vY2tEZWZzKTtcbiAgICB9KTtcbiAgICBhZnRlckVhY2goZnVuY3Rpb24gd2l0aE1vY2tzQWZ0ZXJFYWNoKCkge1xuICAgICAgbW9ja3MucmVzZXQoKTtcbiAgICB9KTtcbiAgICBmbihtb2Nrcyk7XG4gIH07XG59XG5cbi8qKlxuICogQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIGNhbGxpbmcgYG1vY2tzLnZlcmlmeSgpYC5cbiAqIEBwYXJhbSB7TW9ja1N0b3JlfSBtb2NrcyAtIFJldHVybmVkIGJ5IGNhbGxiYWNrIGZyb20ge0BsaW5rY29kZSB3aXRoTW9ja3N9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlNb2Nrcyhtb2Nrcykge1xuICBtb2Nrcy52ZXJpZnkoKTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUge1JlY29yZDxzdHJpbmcsYW55Pn0gTW9ja3NcbiAqIEBleHRlbmRzIHtNb2Nrc31cbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tTdG9yZSB7XG4gIC8qKlxuICAgKiBUZW1wb3Jhcnkgc2FuZGJveDsgd2lsbCBiZSBgdW5kZWZpbmVkYCB1bnRpbCBgYmVmb3JlRWFjaGAgaXMgY2FsbGVkXG4gICAqIEB0eXBlIHtTaW5vblNhbmRib3h8dW5kZWZpbmVkfVxuICAgKi9cbiAgc2FuZGJveDtcblxuICAvKipcbiAgICogT3JpZ2luYWwgay92IHBhaXIgcHJvdmlkZWQgdG8gYGNyZWF0ZU1vY2tzYFxuICAgKiBAdHlwZSB7TW9ja3N8dW5kZWZpbmVkfVxuICAgKi9cbiAgI21vY2tzO1xuXG4gIC8qKlxuICAgKiBVc2VzIGEgc2FuZGJveCBpZiBvbmUgaXMgcHJvdmlkZWRcbiAgICogQHBhcmFtIHtTaW5vblNhbmRib3h9IFtzYW5kYm94XVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2FuZGJveCkge1xuICAgIHRoaXMuc2FuZGJveCA9IHNhbmRib3g7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtNb2Nrc30gbW9ja0RlZnNcbiAgICovXG4gIGNyZWF0ZU1vY2tzKG1vY2tEZWZzKSB7XG4gICAgaWYgKHRoaXMuI21vY2tzKSB7XG4gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoJ0Nhbm5vdCBjcmVhdGUgbW9ja3MgdHdpY2U7IGNhbGwgYHJlc2V0KClgIGZpcnN0LicpO1xuICAgIH1cbiAgICB0aGlzLnNhbmRib3ggPSB0aGlzLnNhbmRib3ggPz8gc2lub24uY3JlYXRlU2FuZGJveCgpLnVzaW5nUHJvbWlzZShCKTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhtb2NrRGVmcykpIHtcbiAgICAgIHRoaXNba2V5XSA9IHRoaXMuc2FuZGJveC5tb2NrKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy4jbW9ja3MgPSBtb2NrRGVmcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxscyB7QGxpbmtjb2RlIFNpbm9uU2FuZGJveC52ZXJpZnl9IG9uIHRoZSBgc2FuZGJveGAgcHJvcCwgaWYgaXQgZXhpc3RzXG4gICAqL1xuICB2ZXJpZnkoKSB7XG4gICAgaWYgKCF0aGlzLnNhbmRib3gpIHtcbiAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCB2ZXJpZnkgbW9ja3MgYmVmb3JlIHRoZXkgYXJlIGNyZWF0ZWQ7IGNhbGwgYGNyZWF0ZU1vY2tzKClgIGZpcnN0J1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5zYW5kYm94LnZlcmlmeSgpO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy4jbW9ja3MgPz8ge30pKSB7XG4gICAgICBkZWxldGUgdGhpc1trZXldO1xuICAgIH1cbiAgICB0aGlzLnNhbmRib3g/LnJlc3RvcmUoKTtcbiAgICB0aGlzLiNtb2NrcyA9IHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ3Npbm9uJykuU2lub25TYW5kYm94fSBTaW5vblNhbmRib3hcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBY08sU0FBU0EsU0FBVCxDQUFtQkMsUUFBbkIsRUFBNkJDLEVBQTdCLEVBQWlDO0VBQ3RDLE9BQU8sTUFBTTtJQUNYLE1BQU1DLEtBQUssR0FBRyxJQUFJQyxTQUFKLEVBQWQ7SUFDQUMsVUFBVSxDQUFDLFNBQVNDLG1CQUFULEdBQStCO01BQ3hDSCxLQUFLLENBQUNJLFdBQU4sQ0FBa0JOLFFBQWxCO0lBQ0QsQ0FGUyxDQUFWO0lBR0FPLFNBQVMsQ0FBQyxTQUFTQyxrQkFBVCxHQUE4QjtNQUN0Q04sS0FBSyxDQUFDTyxLQUFOO0lBQ0QsQ0FGUSxDQUFUO0lBR0FSLEVBQUUsQ0FBQ0MsS0FBRCxDQUFGO0VBQ0QsQ0FURDtBQVVEOztBQU1NLFNBQVNRLFdBQVQsQ0FBcUJSLEtBQXJCLEVBQTRCO0VBQ2pDQSxLQUFLLENBQUNTLE1BQU47QUFDRDs7QUFNTSxNQUFNUixTQUFOLENBQWdCO0VBS3JCUyxPQUFPO0VBTVAsQ0FBQ1YsS0FBRDs7RUFNQVcsV0FBVyxDQUFDRCxPQUFELEVBQVU7SUFDbkIsS0FBS0EsT0FBTCxHQUFlQSxPQUFmO0VBQ0Q7O0VBS0ROLFdBQVcsQ0FBQ04sUUFBRCxFQUFXO0lBQ3BCLElBQUksS0FBSyxDQUFDRSxLQUFWLEVBQWlCO01BQ2YsTUFBTSxJQUFJWSxjQUFKLENBQW1CLGtEQUFuQixDQUFOO0lBQ0Q7O0lBQ0QsS0FBS0YsT0FBTCxHQUFlLEtBQUtBLE9BQUwsSUFBZ0JHLGNBQUEsQ0FBTUMsYUFBTixHQUFzQkMsWUFBdEIsQ0FBbUNDLGlCQUFuQyxDQUEvQjs7SUFDQSxLQUFLLE1BQU0sQ0FBQ0MsR0FBRCxFQUFNQyxLQUFOLENBQVgsSUFBMkJDLE1BQU0sQ0FBQ0MsT0FBUCxDQUFldEIsUUFBZixDQUEzQixFQUFxRDtNQUNuRCxLQUFLbUIsR0FBTCxJQUFZLEtBQUtQLE9BQUwsQ0FBYVcsSUFBYixDQUFrQkgsS0FBbEIsQ0FBWjtJQUNEOztJQUNELEtBQUssQ0FBQ2xCLEtBQU4sR0FBY0YsUUFBZDtJQUNBLE9BQU8sSUFBUDtFQUNEOztFQUtEVyxNQUFNLEdBQUc7SUFDUCxJQUFJLENBQUMsS0FBS0MsT0FBVixFQUFtQjtNQUNqQixNQUFNLElBQUlFLGNBQUosQ0FDSix5RUFESSxDQUFOO0lBR0Q7O0lBQ0QsS0FBS0YsT0FBTCxDQUFhRCxNQUFiO0VBQ0Q7O0VBRURGLEtBQUssR0FBRztJQUFBOztJQUNOLEtBQUssTUFBTVUsR0FBWCxJQUFrQkUsTUFBTSxDQUFDRyxJQUFQLENBQVksS0FBSyxDQUFDdEIsS0FBTixJQUFlLEVBQTNCLENBQWxCLEVBQWtEO01BQ2hELE9BQU8sS0FBS2lCLEdBQUwsQ0FBUDtJQUNEOztJQUNELHNCQUFLUCxPQUFMLGdFQUFjYSxPQUFkO0lBQ0EsS0FBSyxDQUFDdkIsS0FBTixHQUFjd0IsU0FBZDtFQUNEOztBQXREb0IifQ==
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aXRoTW9ja3MiLCJtb2NrRGVmcyIsImZuIiwibW9ja3MiLCJNb2NrU3RvcmUiLCJiZWZvcmVFYWNoIiwid2l0aE1vY2tzQmVmb3JlRWFjaCIsImNyZWF0ZU1vY2tzIiwiYWZ0ZXJFYWNoIiwid2l0aE1vY2tzQWZ0ZXJFYWNoIiwicmVzZXQiLCJ2ZXJpZnlNb2NrcyIsInZlcmlmeSIsInNhbmRib3giLCJjb25zdHJ1Y3RvciIsIlJlZmVyZW5jZUVycm9yIiwic2lub24iLCJjcmVhdGVTYW5kYm94IiwidXNpbmdQcm9taXNlIiwiQiIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsIm1vY2siLCJrZXlzIiwicmVzdG9yZSIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9tb2NrLXV0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHdoaWNoIGNyZWF0ZXMgTW9jaGEgXCJiZWZvcmUgZWFjaFwiIGFuZCBcImFmdGVyIGVhY2hcIiBob29rcyB0b1xuICogYXV0b21hdGljYWxseSBtb2NrIChhbmQgdW4tbW9jaykgdGhlIG1vY2tzIHByb3ZpZGVkIGJ5IGBsaWJzYC5cbiAqXG4gKiBUaGUgdmFsdWVzIG9mIGBsaWJzYCBhcmUgcHJvdmlkZWQgZGlyZWN0bHkgdG8ge0BsaW5rY29kZSBTaW5vblNhbmRib3gubW9ja30uXG4gKlxuICogX1N5bmNocm9ub3VzbHlfIGNhbGxzIGBmbmAgd2l0aCB0aGUge0BsaW5rY29kZSBNb2NrU3RvcmV9IGFmdGVyIGhvb2tzIGhhdmUgYmVlbiBjcmVhdGVkLCBidXQgbm90IGJlZm9yZSB0aGV5IGhhdmUgYmVlbiBydW4uXG4gKlxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nfHN5bWJvbCxhbnk+fSBtb2NrRGVmc1xuICogQHBhcmFtIHsobW9ja3M6IE1vY2tTdG9yZSkgPT4gdm9pZH0gZm5cbiAqIEByZXR1cm5zIHsoKSA9PiB2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aE1vY2tzKG1vY2tEZWZzLCBmbikge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGNvbnN0IG1vY2tzID0gbmV3IE1vY2tTdG9yZSgpO1xuICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gd2l0aE1vY2tzQmVmb3JlRWFjaCgpIHtcbiAgICAgIG1vY2tzLmNyZWF0ZU1vY2tzKG1vY2tEZWZzKTtcbiAgICB9KTtcbiAgICBhZnRlckVhY2goZnVuY3Rpb24gd2l0aE1vY2tzQWZ0ZXJFYWNoKCkge1xuICAgICAgbW9ja3MucmVzZXQoKTtcbiAgICB9KTtcbiAgICBmbihtb2Nrcyk7XG4gIH07XG59XG5cbi8qKlxuICogQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIGNhbGxpbmcgYG1vY2tzLnZlcmlmeSgpYC5cbiAqIEBwYXJhbSB7TW9ja1N0b3JlfSBtb2NrcyAtIFJldHVybmVkIGJ5IGNhbGxiYWNrIGZyb20ge0BsaW5rY29kZSB3aXRoTW9ja3N9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlNb2Nrcyhtb2Nrcykge1xuICBtb2Nrcy52ZXJpZnkoKTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUge1JlY29yZDxzdHJpbmcsYW55Pn0gTW9ja3NcbiAqIEBleHRlbmRzIHtNb2Nrc31cbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tTdG9yZSB7XG4gIC8qKlxuICAgKiBUZW1wb3Jhcnkgc2FuZGJveDsgd2lsbCBiZSBgdW5kZWZpbmVkYCB1bnRpbCBgYmVmb3JlRWFjaGAgaXMgY2FsbGVkXG4gICAqIEB0eXBlIHtTaW5vblNhbmRib3h8dW5kZWZpbmVkfVxuICAgKi9cbiAgc2FuZGJveDtcblxuICAvKipcbiAgICogT3JpZ2luYWwgay92IHBhaXIgcHJvdmlkZWQgdG8gYGNyZWF0ZU1vY2tzYFxuICAgKiBAdHlwZSB7TW9ja3N8dW5kZWZpbmVkfVxuICAgKi9cbiAgI21vY2tzO1xuXG4gIC8qKlxuICAgKiBVc2VzIGEgc2FuZGJveCBpZiBvbmUgaXMgcHJvdmlkZWRcbiAgICogQHBhcmFtIHtTaW5vblNhbmRib3h9IFtzYW5kYm94XVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2FuZGJveCkge1xuICAgIHRoaXMuc2FuZGJveCA9IHNhbmRib3g7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtNb2Nrc30gbW9ja0RlZnNcbiAgICovXG4gIGNyZWF0ZU1vY2tzKG1vY2tEZWZzKSB7XG4gICAgaWYgKHRoaXMuI21vY2tzKSB7XG4gICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoJ0Nhbm5vdCBjcmVhdGUgbW9ja3MgdHdpY2U7IGNhbGwgYHJlc2V0KClgIGZpcnN0LicpO1xuICAgIH1cbiAgICB0aGlzLnNhbmRib3ggPSB0aGlzLnNhbmRib3ggPz8gc2lub24uY3JlYXRlU2FuZGJveCgpLnVzaW5nUHJvbWlzZShCKTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhtb2NrRGVmcykpIHtcbiAgICAgIHRoaXNba2V5XSA9IHRoaXMuc2FuZGJveC5tb2NrKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy4jbW9ja3MgPSBtb2NrRGVmcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxscyB7QGxpbmtjb2RlIFNpbm9uU2FuZGJveC52ZXJpZnl9IG9uIHRoZSBgc2FuZGJveGAgcHJvcCwgaWYgaXQgZXhpc3RzXG4gICAqL1xuICB2ZXJpZnkoKSB7XG4gICAgaWYgKCF0aGlzLnNhbmRib3gpIHtcbiAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCB2ZXJpZnkgbW9ja3MgYmVmb3JlIHRoZXkgYXJlIGNyZWF0ZWQ7IGNhbGwgYGNyZWF0ZU1vY2tzKClgIGZpcnN0J1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5zYW5kYm94LnZlcmlmeSgpO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy4jbW9ja3MgPz8ge30pKSB7XG4gICAgICBkZWxldGUgdGhpc1trZXldO1xuICAgIH1cbiAgICB0aGlzLnNhbmRib3g/LnJlc3RvcmUoKTtcbiAgICB0aGlzLiNtb2NrcyA9IHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ3Npbm9uJykuU2lub25TYW5kYm94fSBTaW5vblNhbmRib3hcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOzs7O0FBY08sU0FBU0EsU0FBVCxDQUFtQkMsUUFBbkIsRUFBNkJDLEVBQTdCLEVBQWlDO0VBQ3RDLE9BQU8sTUFBTTtJQUNYLE1BQU1DLEtBQUssR0FBRyxJQUFJQyxTQUFKLEVBQWQ7SUFDQUMsVUFBVSxDQUFDLFNBQVNDLG1CQUFULEdBQStCO01BQ3hDSCxLQUFLLENBQUNJLFdBQU4sQ0FBa0JOLFFBQWxCO0lBQ0QsQ0FGUyxDQUFWO0lBR0FPLFNBQVMsQ0FBQyxTQUFTQyxrQkFBVCxHQUE4QjtNQUN0Q04sS0FBSyxDQUFDTyxLQUFOO0lBQ0QsQ0FGUSxDQUFUO0lBR0FSLEVBQUUsQ0FBQ0MsS0FBRCxDQUFGO0VBQ0QsQ0FURDtBQVVEOztBQU1NLFNBQVNRLFdBQVQsQ0FBcUJSLEtBQXJCLEVBQTRCO0VBQ2pDQSxLQUFLLENBQUNTLE1BQU47QUFDRDs7QUFNTSxNQUFNUixTQUFOLENBQWdCO0VBS3JCUyxPQUFPO0VBTVAsQ0FBQ1YsS0FBRDs7RUFNQVcsV0FBVyxDQUFDRCxPQUFELEVBQVU7SUFDbkIsS0FBS0EsT0FBTCxHQUFlQSxPQUFmO0VBQ0Q7O0VBS0ROLFdBQVcsQ0FBQ04sUUFBRCxFQUFXO0lBQ3BCLElBQUksS0FBSyxDQUFDRSxLQUFWLEVBQWlCO01BQ2YsTUFBTSxJQUFJWSxjQUFKLENBQW1CLGtEQUFuQixDQUFOO0lBQ0Q7O0lBQ0QsS0FBS0YsT0FBTCxHQUFlLEtBQUtBLE9BQUwsSUFBZ0JHLGNBQUEsQ0FBTUMsYUFBTixHQUFzQkMsWUFBdEIsQ0FBbUNDLGlCQUFuQyxDQUEvQjs7SUFDQSxLQUFLLE1BQU0sQ0FBQ0MsR0FBRCxFQUFNQyxLQUFOLENBQVgsSUFBMkJDLE1BQU0sQ0FBQ0MsT0FBUCxDQUFldEIsUUFBZixDQUEzQixFQUFxRDtNQUNuRCxLQUFLbUIsR0FBTCxJQUFZLEtBQUtQLE9BQUwsQ0FBYVcsSUFBYixDQUFrQkgsS0FBbEIsQ0FBWjtJQUNEOztJQUNELEtBQUssQ0FBQ2xCLEtBQU4sR0FBY0YsUUFBZDtJQUNBLE9BQU8sSUFBUDtFQUNEOztFQUtEVyxNQUFNLEdBQUc7SUFDUCxJQUFJLENBQUMsS0FBS0MsT0FBVixFQUFtQjtNQUNqQixNQUFNLElBQUlFLGNBQUosQ0FDSix5RUFESSxDQUFOO0lBR0Q7O0lBQ0QsS0FBS0YsT0FBTCxDQUFhRCxNQUFiO0VBQ0Q7O0VBRURGLEtBQUssR0FBRztJQUFBOztJQUNOLEtBQUssTUFBTVUsR0FBWCxJQUFrQkUsTUFBTSxDQUFDRyxJQUFQLENBQVksS0FBSyxDQUFDdEIsS0FBTixJQUFlLEVBQTNCLENBQWxCLEVBQWtEO01BQ2hELE9BQU8sS0FBS2lCLEdBQUwsQ0FBUDtJQUNEOztJQUNELHNCQUFLUCxPQUFMLGdFQUFjYSxPQUFkO0lBQ0EsS0FBSyxDQUFDdkIsS0FBTixHQUFjd0IsU0FBZDtFQUNEOztBQXREb0IifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-utils.js","names":["withMocks","mockDefs","fn","mocks","MockStore","beforeEach","withMocksBeforeEach","createMocks","afterEach","withMocksAfterEach","reset","verifyMocks","verify","sandbox","constructor","ReferenceError","sinon","createSandbox","usingPromise","B","key","value","Object","entries","mock","keys","restore","undefined"],"sources":["../../lib/mock-utils.js"],"sourcesContent":["import B from 'bluebird';\nimport sinon from 'sinon';\n\n/**\n * Creates a function which creates Mocha \"before each\" and \"after each\" hooks to\n * automatically mock (and un-mock) the mocks provided by `libs`.\n *\n * The values of `libs` are provided directly to {@linkcode SinonSandbox.mock}.\n *\n * _Synchronously_ calls `fn` with the {@linkcode MockStore} after hooks have been created, but not before they have been run.\n *\n * @param {Record<string|symbol,any>} mockDefs\n * @param {(mocks: MockStore) => void} fn\n * @returns {() => void}\n */\nexport function withMocks(mockDefs, fn) {\n return () => {\n const mocks = new MockStore();\n beforeEach(function withMocksBeforeEach() {\n mocks.createMocks(mockDefs);\n });\n afterEach(function withMocksAfterEach() {\n mocks.reset();\n });\n fn(mocks);\n };\n}\n\n/**\n * Convenience function for calling `mocks.verify()`.\n * @param {MockStore} mocks - Returned by callback from {@linkcode withMocks}\n */\nexport function verifyMocks(mocks) {\n mocks.verify();\n}\n\n/**\n * @template {Record<string,any>} Mocks\n * @extends {Mocks}\n */\nexport class MockStore {\n /**\n * Temporary sandbox; will be `undefined` until `beforeEach` is called\n * @type {SinonSandbox|undefined}\n */\n sandbox;\n\n /**\n * Original k/v pair provided to `createMocks`\n * @type {Mocks|undefined}\n */\n #mocks;\n\n /**\n * Uses a sandbox if one is provided\n * @param {SinonSandbox} [sandbox]\n */\n constructor(sandbox) {\n this.sandbox = sandbox;\n }\n\n /**\n * @param {Mocks} mockDefs\n */\n createMocks(mockDefs) {\n if (this.#mocks) {\n throw new ReferenceError('Cannot create mocks twice; call `reset()` first.');\n }\n this.sandbox = this.sandbox ?? sinon.createSandbox().usingPromise(B);\n for (const [key, value] of Object.entries(mockDefs)) {\n this[key] = this.sandbox.mock(value);\n }\n this.#mocks = mockDefs;\n return this;\n }\n\n /**\n * Calls {@linkcode SinonSandbox.verify} on the `sandbox` prop, if it exists\n */\n verify() {\n if (!this.sandbox) {\n throw new ReferenceError(\n 'Cannot verify mocks before they are created; call `createMocks()` first'\n );\n }\n this.sandbox.verify();\n }\n\n reset() {\n for (const key of Object.keys(this.#mocks ?? {})) {\n delete this[key];\n }\n this.sandbox?.restore();\n this.#mocks = undefined;\n }\n}\n\n/**\n * @typedef {import('sinon').SinonSandbox} SinonSandbox\n */\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;;;AAcO,SAASA,SAAT,CAAmBC,QAAnB,EAA6BC,EAA7B,EAAiC;EACtC,OAAO,MAAM;IACX,MAAMC,KAAK,GAAG,IAAIC,SAAJ,EAAd;IACAC,UAAU,CAAC,SAASC,mBAAT,GAA+B;MACxCH,KAAK,CAACI,WAAN,CAAkBN,QAAlB;IACD,CAFS,CAAV;IAGAO,SAAS,CAAC,SAASC,kBAAT,GAA8B;MACtCN,KAAK,CAACO,KAAN;IACD,CAFQ,CAAT;IAGAR,EAAE,CAACC,KAAD,CAAF;EACD,CATD;AAUD;;AAMM,SAASQ,WAAT,CAAqBR,KAArB,EAA4B;EACjCA,KAAK,CAACS,MAAN;AACD;;AAMM,MAAMR,SAAN,CAAgB;EAKrBS,OAAO;EAMP,CAACV,KAAD;;EAMAW,WAAW,CAACD,OAAD,EAAU;IACnB,KAAKA,OAAL,GAAeA,OAAf;EACD;;EAKDN,WAAW,CAACN,QAAD,EAAW;IACpB,IAAI,KAAK,CAACE,KAAV,EAAiB;MACf,MAAM,IAAIY,cAAJ,CAAmB,kDAAnB,CAAN;IACD;;IACD,KAAKF,OAAL,GAAe,KAAKA,OAAL,IAAgBG,cAAA,CAAMC,aAAN,GAAsBC,YAAtB,CAAmCC,iBAAnC,CAA/B;;IACA,KAAK,MAAM,CAACC,GAAD,EAAMC,KAAN,CAAX,IAA2BC,MAAM,CAACC,OAAP,CAAetB,QAAf,CAA3B,EAAqD;MACnD,KAAKmB,GAAL,IAAY,KAAKP,OAAL,CAAaW,IAAb,CAAkBH,KAAlB,CAAZ;IACD;;IACD,KAAK,CAAClB,KAAN,GAAcF,QAAd;IACA,OAAO,IAAP;EACD;;EAKDW,MAAM,GAAG;IACP,IAAI,CAAC,KAAKC,OAAV,EAAmB;MACjB,MAAM,IAAIE,cAAJ,CACJ,yEADI,CAAN;IAGD;;IACD,KAAKF,OAAL,CAAaD,MAAb;EACD;;EAEDF,KAAK,GAAG;IAAA;;IACN,KAAK,MAAMU,GAAX,IAAkBE,MAAM,CAACG,IAAP,CAAY,KAAK,CAACtB,KAAN,IAAe,EAA3B,CAAlB,EAAkD;MAChD,OAAO,KAAKiB,GAAL,CAAP;IACD;;IACD,sBAAKP,OAAL,gEAAca,OAAd;IACA,KAAK,CAACvB,KAAN,GAAcwB,SAAd;EACD;;AAtDoB"}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -19,6 +17,8 @@ var _bluebird = _interopRequireDefault(require("bluebird"));
19
17
 
20
18
  var _mockUtils = require("./mock-utils");
21
19
 
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
22
  function withSandbox(mockDefs, fn) {
23
23
  if (!_lodash.default.isEmpty(mockDefs.mocks)) {
24
24
  mockDefs = mockDefs.mocks;
@@ -71,4 +71,4 @@ class SandboxStore {
71
71
  }
72
72
 
73
73
  exports.SandboxStore = SandboxStore;
74
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aXRoU2FuZGJveCIsIm1vY2tEZWZzIiwiZm4iLCJfIiwiaXNFbXB0eSIsIm1vY2tzIiwic2J4IiwiU2FuZGJveFN0b3JlIiwiYmVmb3JlRWFjaCIsImNyZWF0ZVNhbmRib3giLCJhZnRlckVhY2giLCJyZXNldCIsInZlcmlmeVNhbmRib3giLCJzYnhPck1vY2tzIiwidmVyaWZ5Iiwic2FuZGJveCIsImNvbnN0cnVjdG9yIiwic2lub24iLCJ1c2luZ1Byb21pc2UiLCJCIiwiTW9ja1N0b3JlIiwiY3JlYXRlTW9ja3MiLCJSZWZlcmVuY2VFcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9zYW5kYm94LXV0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuaW1wb3J0IHtNb2NrU3RvcmV9IGZyb20gJy4vbW9jay11dGlscyc7XG5cbi8qKlxuICogQHRlbXBsYXRlIHtSZWNvcmQ8c3RyaW5nLGFueT58e21vY2tzOiBSZWNvcmQ8c3RyaW5nLGFueT59fSBNb2Nrc1xuICogQHBhcmFtIHtNb2Nrc30gbW9ja0RlZnNcbiAqIEBwYXJhbSB7KHNhbmRib3hTdG9yZTogU2FuZGJveFN0b3JlKSA9PiB2b2lkfSBmblxuICogQHJldHVybnMgeygpID0+IHZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoU2FuZGJveChtb2NrRGVmcywgZm4pIHtcbiAgLy8gYmFja3dhcmRzLWNvbXBhdFxuICBpZiAoIV8uaXNFbXB0eShtb2NrRGVmcy5tb2NrcykpIHtcbiAgICBtb2NrRGVmcyA9IG1vY2tEZWZzLm1vY2tzO1xuICB9XG4gIHJldHVybiAoKSA9PiB7XG4gICAgLyoqIEB0eXBlIHtTYW5kYm94U3RvcmV9ICovXG4gICAgY29uc3Qgc2J4ID0gbmV3IFNhbmRib3hTdG9yZSgpO1xuICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gYmVmb3JlRWFjaCgpIHtcbiAgICAgIHNieC5jcmVhdGVTYW5kYm94KG1vY2tEZWZzKTtcbiAgICB9KTtcbiAgICBhZnRlckVhY2goZnVuY3Rpb24gYWZ0ZXJFYWNoKCkge1xuICAgICAgc2J4LnJlc2V0KCk7XG4gICAgfSk7XG4gICAgZm4oc2J4KTtcbiAgfTtcbn1cblxuLyoqXG4gKiBDb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgY2FsbGluZyB7QGxpbmtjb2RlIFNhbmRib3hTdG9yZS52ZXJpZnl9LlxuICogQHBhcmFtIHtTYW5kYm94U3RvcmV8TW9ja1N0b3JlfSBzYnhPck1vY2tzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlTYW5kYm94KHNieE9yTW9ja3MpIHtcbiAgc2J4T3JNb2Nrcy52ZXJpZnkoKTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUge1JlY29yZDxzdHJpbmcsYW55Pn0gTW9ja3NcbiAqL1xuZXhwb3J0IGNsYXNzIFNhbmRib3hTdG9yZSB7XG4gIC8qKiBAdHlwZSB7TW9ja1N0b3JlPFJlY29yZDxzdHJpbmcsYW55Pj59ICovXG4gIG1vY2tzO1xuXG4gIC8qKiBAdHlwZSB7U2lub25TYW5kYm94fHVuZGVmaW5lZH0gKi9cbiAgc2FuZGJveDtcblxuICAvKipcbiAgICogVXNlcyBhIHNhbmRib3ggaWYgb25lIGlzIHByb3ZpZGVkXG4gICAqIEBwYXJhbSB7U2lub25TYW5kYm94fSBbc2FuZGJveF1cbiAgICovXG4gIGNvbnN0cnVjdG9yKHNhbmRib3gpIHtcbiAgICB0aGlzLnNhbmRib3ggPSBzYW5kYm94O1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7TW9ja3N9IG1vY2tzXG4gICAqL1xuICBjcmVhdGVTYW5kYm94KG1vY2tzID0gLyoqIEB0eXBlIHtNb2Nrc30gKi8gKHt9KSkge1xuICAgIHRoaXMuc2FuZGJveCA9IHRoaXMuc2FuZGJveCA/PyBzaW5vbi5jcmVhdGVTYW5kYm94KCkudXNpbmdQcm9taXNlKEIpO1xuICAgIHRoaXMubW9ja3MgPSBuZXcgTW9ja1N0b3JlKHRoaXMuc2FuZGJveCkuY3JlYXRlTW9ja3MobW9ja3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxzIHtAbGlua2NvZGUgU2lub25TYW5kYm94LnZlcmlmeX0gb24gdGhlIGBzYW5kYm94YCBwcm9wLCBpZiBpdCBleGlzdHNcbiAgICovXG4gIHZlcmlmeSgpIHtcbiAgICBpZiAoIXRoaXMuc2FuZGJveCkge1xuICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFxuICAgICAgICAnQ2Fubm90IHZlcmlmeSBtb2NrcyBiZWZvcmUgdGhleSBhcmUgY3JlYXRlZDsgY2FsbCBgY3JlYXRlTW9ja3MoKWAgZmlyc3QnXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnNhbmRib3gudmVyaWZ5KCk7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICB0aGlzLm1vY2tzPy5yZXNldCgpO1xuICAgIGRlbGV0ZSB0aGlzLnNhbmRib3g7XG4gIH1cbn1cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdzaW5vbicpLlNpbm9uU2FuZGJveH0gU2lub25TYW5kYm94XG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQVFPLFNBQVNBLFdBQVQsQ0FBcUJDLFFBQXJCLEVBQStCQyxFQUEvQixFQUFtQztFQUV4QyxJQUFJLENBQUNDLGVBQUEsQ0FBRUMsT0FBRixDQUFVSCxRQUFRLENBQUNJLEtBQW5CLENBQUwsRUFBZ0M7SUFDOUJKLFFBQVEsR0FBR0EsUUFBUSxDQUFDSSxLQUFwQjtFQUNEOztFQUNELE9BQU8sTUFBTTtJQUVYLE1BQU1DLEdBQUcsR0FBRyxJQUFJQyxZQUFKLEVBQVo7SUFDQUMsVUFBVSxDQUFDLFNBQVNBLFVBQVQsR0FBc0I7TUFDL0JGLEdBQUcsQ0FBQ0csYUFBSixDQUFrQlIsUUFBbEI7SUFDRCxDQUZTLENBQVY7SUFHQVMsU0FBUyxDQUFDLFNBQVNBLFNBQVQsR0FBcUI7TUFDN0JKLEdBQUcsQ0FBQ0ssS0FBSjtJQUNELENBRlEsQ0FBVDtJQUdBVCxFQUFFLENBQUNJLEdBQUQsQ0FBRjtFQUNELENBVkQ7QUFXRDs7QUFNTSxTQUFTTSxhQUFULENBQXVCQyxVQUF2QixFQUFtQztFQUN4Q0EsVUFBVSxDQUFDQyxNQUFYO0FBQ0Q7O0FBS00sTUFBTVAsWUFBTixDQUFtQjtFQUV4QkYsS0FBSztFQUdMVSxPQUFPOztFQU1QQyxXQUFXLENBQUNELE9BQUQsRUFBVTtJQUNuQixLQUFLQSxPQUFMLEdBQWVBLE9BQWY7RUFDRDs7RUFLRE4sYUFBYSxDQUFDSixLQUFLLEdBQXlCLEVBQS9CLEVBQW9DO0lBQy9DLEtBQUtVLE9BQUwsR0FBZSxLQUFLQSxPQUFMLElBQWdCRSxjQUFBLENBQU1SLGFBQU4sR0FBc0JTLFlBQXRCLENBQW1DQyxpQkFBbkMsQ0FBL0I7SUFDQSxLQUFLZCxLQUFMLEdBQWEsSUFBSWUsb0JBQUosQ0FBYyxLQUFLTCxPQUFuQixFQUE0Qk0sV0FBNUIsQ0FBd0NoQixLQUF4QyxDQUFiO0VBQ0Q7O0VBS0RTLE1BQU0sR0FBRztJQUNQLElBQUksQ0FBQyxLQUFLQyxPQUFWLEVBQW1CO01BQ2pCLE1BQU0sSUFBSU8sY0FBSixDQUNKLHlFQURJLENBQU47SUFHRDs7SUFDRCxLQUFLUCxPQUFMLENBQWFELE1BQWI7RUFDRDs7RUFFREgsS0FBSyxHQUFHO0lBQUE7O0lBQ04sb0JBQUtOLEtBQUwsNERBQVlNLEtBQVo7SUFDQSxPQUFPLEtBQUtJLE9BQVo7RUFDRDs7QUF0Q3VCIn0=
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aXRoU2FuZGJveCIsIm1vY2tEZWZzIiwiZm4iLCJfIiwiaXNFbXB0eSIsIm1vY2tzIiwic2J4IiwiU2FuZGJveFN0b3JlIiwiYmVmb3JlRWFjaCIsImNyZWF0ZVNhbmRib3giLCJhZnRlckVhY2giLCJyZXNldCIsInZlcmlmeVNhbmRib3giLCJzYnhPck1vY2tzIiwidmVyaWZ5Iiwic2FuZGJveCIsImNvbnN0cnVjdG9yIiwic2lub24iLCJ1c2luZ1Byb21pc2UiLCJCIiwiTW9ja1N0b3JlIiwiY3JlYXRlTW9ja3MiLCJSZWZlcmVuY2VFcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9zYW5kYm94LXV0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuaW1wb3J0IHtNb2NrU3RvcmV9IGZyb20gJy4vbW9jay11dGlscyc7XG5cbi8qKlxuICogQHRlbXBsYXRlIHtSZWNvcmQ8c3RyaW5nLGFueT58e21vY2tzOiBSZWNvcmQ8c3RyaW5nLGFueT59fSBNb2Nrc1xuICogQHBhcmFtIHtNb2Nrc30gbW9ja0RlZnNcbiAqIEBwYXJhbSB7KHNhbmRib3hTdG9yZTogU2FuZGJveFN0b3JlKSA9PiB2b2lkfSBmblxuICogQHJldHVybnMgeygpID0+IHZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoU2FuZGJveChtb2NrRGVmcywgZm4pIHtcbiAgLy8gYmFja3dhcmRzLWNvbXBhdFxuICBpZiAoIV8uaXNFbXB0eShtb2NrRGVmcy5tb2NrcykpIHtcbiAgICBtb2NrRGVmcyA9IG1vY2tEZWZzLm1vY2tzO1xuICB9XG4gIHJldHVybiAoKSA9PiB7XG4gICAgLyoqIEB0eXBlIHtTYW5kYm94U3RvcmV9ICovXG4gICAgY29uc3Qgc2J4ID0gbmV3IFNhbmRib3hTdG9yZSgpO1xuICAgIGJlZm9yZUVhY2goZnVuY3Rpb24gYmVmb3JlRWFjaCgpIHtcbiAgICAgIHNieC5jcmVhdGVTYW5kYm94KG1vY2tEZWZzKTtcbiAgICB9KTtcbiAgICBhZnRlckVhY2goZnVuY3Rpb24gYWZ0ZXJFYWNoKCkge1xuICAgICAgc2J4LnJlc2V0KCk7XG4gICAgfSk7XG4gICAgZm4oc2J4KTtcbiAgfTtcbn1cblxuLyoqXG4gKiBDb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgY2FsbGluZyB7QGxpbmtjb2RlIFNhbmRib3hTdG9yZS52ZXJpZnl9LlxuICogQHBhcmFtIHtTYW5kYm94U3RvcmV8TW9ja1N0b3JlfSBzYnhPck1vY2tzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlTYW5kYm94KHNieE9yTW9ja3MpIHtcbiAgc2J4T3JNb2Nrcy52ZXJpZnkoKTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUge1JlY29yZDxzdHJpbmcsYW55Pn0gTW9ja3NcbiAqL1xuZXhwb3J0IGNsYXNzIFNhbmRib3hTdG9yZSB7XG4gIC8qKiBAdHlwZSB7TW9ja1N0b3JlPFJlY29yZDxzdHJpbmcsYW55Pj59ICovXG4gIG1vY2tzO1xuXG4gIC8qKiBAdHlwZSB7U2lub25TYW5kYm94fHVuZGVmaW5lZH0gKi9cbiAgc2FuZGJveDtcblxuICAvKipcbiAgICogVXNlcyBhIHNhbmRib3ggaWYgb25lIGlzIHByb3ZpZGVkXG4gICAqIEBwYXJhbSB7U2lub25TYW5kYm94fSBbc2FuZGJveF1cbiAgICovXG4gIGNvbnN0cnVjdG9yKHNhbmRib3gpIHtcbiAgICB0aGlzLnNhbmRib3ggPSBzYW5kYm94O1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7TW9ja3N9IG1vY2tzXG4gICAqL1xuICBjcmVhdGVTYW5kYm94KG1vY2tzID0gLyoqIEB0eXBlIHtNb2Nrc30gKi8gKHt9KSkge1xuICAgIHRoaXMuc2FuZGJveCA9IHRoaXMuc2FuZGJveCA/PyBzaW5vbi5jcmVhdGVTYW5kYm94KCkudXNpbmdQcm9taXNlKEIpO1xuICAgIHRoaXMubW9ja3MgPSBuZXcgTW9ja1N0b3JlKHRoaXMuc2FuZGJveCkuY3JlYXRlTW9ja3MobW9ja3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxzIHtAbGlua2NvZGUgU2lub25TYW5kYm94LnZlcmlmeX0gb24gdGhlIGBzYW5kYm94YCBwcm9wLCBpZiBpdCBleGlzdHNcbiAgICovXG4gIHZlcmlmeSgpIHtcbiAgICBpZiAoIXRoaXMuc2FuZGJveCkge1xuICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFxuICAgICAgICAnQ2Fubm90IHZlcmlmeSBtb2NrcyBiZWZvcmUgdGhleSBhcmUgY3JlYXRlZDsgY2FsbCBgY3JlYXRlTW9ja3MoKWAgZmlyc3QnXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnNhbmRib3gudmVyaWZ5KCk7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICB0aGlzLm1vY2tzPy5yZXNldCgpO1xuICAgIGRlbGV0ZSB0aGlzLnNhbmRib3g7XG4gIH1cbn1cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdzaW5vbicpLlNpbm9uU2FuZGJveH0gU2lub25TYW5kYm94XG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQVFPLFNBQVNBLFdBQVQsQ0FBcUJDLFFBQXJCLEVBQStCQyxFQUEvQixFQUFtQztFQUV4QyxJQUFJLENBQUNDLGVBQUEsQ0FBRUMsT0FBRixDQUFVSCxRQUFRLENBQUNJLEtBQW5CLENBQUwsRUFBZ0M7SUFDOUJKLFFBQVEsR0FBR0EsUUFBUSxDQUFDSSxLQUFwQjtFQUNEOztFQUNELE9BQU8sTUFBTTtJQUVYLE1BQU1DLEdBQUcsR0FBRyxJQUFJQyxZQUFKLEVBQVo7SUFDQUMsVUFBVSxDQUFDLFNBQVNBLFVBQVQsR0FBc0I7TUFDL0JGLEdBQUcsQ0FBQ0csYUFBSixDQUFrQlIsUUFBbEI7SUFDRCxDQUZTLENBQVY7SUFHQVMsU0FBUyxDQUFDLFNBQVNBLFNBQVQsR0FBcUI7TUFDN0JKLEdBQUcsQ0FBQ0ssS0FBSjtJQUNELENBRlEsQ0FBVDtJQUdBVCxFQUFFLENBQUNJLEdBQUQsQ0FBRjtFQUNELENBVkQ7QUFXRDs7QUFNTSxTQUFTTSxhQUFULENBQXVCQyxVQUF2QixFQUFtQztFQUN4Q0EsVUFBVSxDQUFDQyxNQUFYO0FBQ0Q7O0FBS00sTUFBTVAsWUFBTixDQUFtQjtFQUV4QkYsS0FBSztFQUdMVSxPQUFPOztFQU1QQyxXQUFXLENBQUNELE9BQUQsRUFBVTtJQUNuQixLQUFLQSxPQUFMLEdBQWVBLE9BQWY7RUFDRDs7RUFLRE4sYUFBYSxDQUFDSixLQUFLLEdBQXlCLEVBQS9CLEVBQW9DO0lBQy9DLEtBQUtVLE9BQUwsR0FBZSxLQUFLQSxPQUFMLElBQWdCRSxjQUFBLENBQU1SLGFBQU4sR0FBc0JTLFlBQXRCLENBQW1DQyxpQkFBbkMsQ0FBL0I7SUFDQSxLQUFLZCxLQUFMLEdBQWEsSUFBSWUsb0JBQUosQ0FBYyxLQUFLTCxPQUFuQixFQUE0Qk0sV0FBNUIsQ0FBd0NoQixLQUF4QyxDQUFiO0VBQ0Q7O0VBS0RTLE1BQU0sR0FBRztJQUNQLElBQUksQ0FBQyxLQUFLQyxPQUFWLEVBQW1CO01BQ2pCLE1BQU0sSUFBSU8sY0FBSixDQUNKLHlFQURJLENBQU47SUFHRDs7SUFDRCxLQUFLUCxPQUFMLENBQWFELE1BQWI7RUFDRDs7RUFFREgsS0FBSyxHQUFHO0lBQUE7O0lBQ04sb0JBQUtOLEtBQUwsNERBQVlNLEtBQVo7SUFDQSxPQUFPLEtBQUtJLE9BQVo7RUFDRDs7QUF0Q3VCIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-utils.js","names":["withSandbox","mockDefs","fn","_","isEmpty","mocks","sbx","SandboxStore","beforeEach","createSandbox","afterEach","reset","verifySandbox","sbxOrMocks","verify","sandbox","constructor","sinon","usingPromise","B","MockStore","createMocks","ReferenceError"],"sources":["../../lib/sandbox-utils.js"],"sourcesContent":["import sinon from 'sinon';\nimport _ from 'lodash';\nimport B from 'bluebird';\nimport {MockStore} from './mock-utils';\n\n/**\n * @template {Record<string,any>|{mocks: Record<string,any>}} Mocks\n * @param {Mocks} mockDefs\n * @param {(sandboxStore: SandboxStore) => void} fn\n * @returns {() => void}\n */\nexport function withSandbox(mockDefs, fn) {\n // backwards-compat\n if (!_.isEmpty(mockDefs.mocks)) {\n mockDefs = mockDefs.mocks;\n }\n return () => {\n /** @type {SandboxStore} */\n const sbx = new SandboxStore();\n beforeEach(function beforeEach() {\n sbx.createSandbox(mockDefs);\n });\n afterEach(function afterEach() {\n sbx.reset();\n });\n fn(sbx);\n };\n}\n\n/**\n * Convenience function for calling {@linkcode SandboxStore.verify}.\n * @param {SandboxStore|MockStore} sbxOrMocks\n */\nexport function verifySandbox(sbxOrMocks) {\n sbxOrMocks.verify();\n}\n\n/**\n * @template {Record<string,any>} Mocks\n */\nexport class SandboxStore {\n /** @type {MockStore<Record<string,any>>} */\n mocks;\n\n /** @type {SinonSandbox|undefined} */\n sandbox;\n\n /**\n * Uses a sandbox if one is provided\n * @param {SinonSandbox} [sandbox]\n */\n constructor(sandbox) {\n this.sandbox = sandbox;\n }\n\n /**\n * @param {Mocks} mocks\n */\n createSandbox(mocks = /** @type {Mocks} */ ({})) {\n this.sandbox = this.sandbox ?? sinon.createSandbox().usingPromise(B);\n this.mocks = new MockStore(this.sandbox).createMocks(mocks);\n }\n\n /**\n * Calls {@linkcode SinonSandbox.verify} on the `sandbox` prop, if it exists\n */\n verify() {\n if (!this.sandbox) {\n throw new ReferenceError(\n 'Cannot verify mocks before they are created; call `createMocks()` first'\n );\n }\n this.sandbox.verify();\n }\n\n reset() {\n this.mocks?.reset();\n delete this.sandbox;\n }\n}\n\n/**\n * @typedef {import('sinon').SinonSandbox} SinonSandbox\n */\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAQO,SAASA,WAAT,CAAqBC,QAArB,EAA+BC,EAA/B,EAAmC;EAExC,IAAI,CAACC,eAAA,CAAEC,OAAF,CAAUH,QAAQ,CAACI,KAAnB,CAAL,EAAgC;IAC9BJ,QAAQ,GAAGA,QAAQ,CAACI,KAApB;EACD;;EACD,OAAO,MAAM;IAEX,MAAMC,GAAG,GAAG,IAAIC,YAAJ,EAAZ;IACAC,UAAU,CAAC,SAASA,UAAT,GAAsB;MAC/BF,GAAG,CAACG,aAAJ,CAAkBR,QAAlB;IACD,CAFS,CAAV;IAGAS,SAAS,CAAC,SAASA,SAAT,GAAqB;MAC7BJ,GAAG,CAACK,KAAJ;IACD,CAFQ,CAAT;IAGAT,EAAE,CAACI,GAAD,CAAF;EACD,CAVD;AAWD;;AAMM,SAASM,aAAT,CAAuBC,UAAvB,EAAmC;EACxCA,UAAU,CAACC,MAAX;AACD;;AAKM,MAAMP,YAAN,CAAmB;EAExBF,KAAK;EAGLU,OAAO;;EAMPC,WAAW,CAACD,OAAD,EAAU;IACnB,KAAKA,OAAL,GAAeA,OAAf;EACD;;EAKDN,aAAa,CAACJ,KAAK,GAAyB,EAA/B,EAAoC;IAC/C,KAAKU,OAAL,GAAe,KAAKA,OAAL,IAAgBE,cAAA,CAAMR,aAAN,GAAsBS,YAAtB,CAAmCC,iBAAnC,CAA/B;IACA,KAAKd,KAAL,GAAa,IAAIe,oBAAJ,CAAc,KAAKL,OAAnB,EAA4BM,WAA5B,CAAwChB,KAAxC,CAAb;EACD;;EAKDS,MAAM,GAAG;IACP,IAAI,CAAC,KAAKC,OAAV,EAAmB;MACjB,MAAM,IAAIO,cAAJ,CACJ,yEADI,CAAN;IAGD;;IACD,KAAKP,OAAL,CAAaD,MAAb;EACD;;EAEDH,KAAK,GAAG;IAAA;;IACN,oBAAKN,KAAL,4DAAYM,KAAZ;IACA,OAAO,KAAKI,OAAZ;EACD;;AAtCuB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-utils.js","names":["fakeTime","sandbox","clock","useFakeTimers","TimeLord","constructor","speedup","interval","times","tick","n","process","nextTick"],"sources":["../../lib/time-utils.js"],"sourcesContent":["/** @deprecated */\nfunction fakeTime(sandbox) {\n let clock = sandbox.useFakeTimers();\n return new TimeLord(clock);\n}\n\nclass TimeLord {\n constructor(clock) {\n this.clock = clock;\n }\n\n speedup(interval, times) {\n let tick = (n) => {\n if (n === 0) return; // eslint-disable-line curly\n process.nextTick(() => {\n this.clock.tick(interval);\n n--;\n tick(n);\n });\n };\n tick(times);\n }\n}\nexport {fakeTime};\n"],"mappings":";;;;;;;;;AACA,SAASA,QAAT,CAAkBC,OAAlB,EAA2B;EACzB,IAAIC,KAAK,GAAGD,OAAO,CAACE,aAAR,EAAZ;EACA,OAAO,IAAIC,QAAJ,CAAaF,KAAb,CAAP;AACD;;AAED,MAAME,QAAN,CAAe;EACbC,WAAW,CAACH,KAAD,EAAQ;IACjB,KAAKA,KAAL,GAAaA,KAAb;EACD;;EAEDI,OAAO,CAACC,QAAD,EAAWC,KAAX,EAAkB;IACvB,IAAIC,IAAI,GAAIC,CAAD,IAAO;MAChB,IAAIA,CAAC,KAAK,CAAV,EAAa;MACbC,OAAO,CAACC,QAAR,CAAiB,MAAM;QACrB,KAAKV,KAAL,CAAWO,IAAX,CAAgBF,QAAhB;QACAG,CAAC;QACDD,IAAI,CAACC,CAAD,CAAJ;MACD,CAJD;IAKD,CAPD;;IAQAD,IAAI,CAACD,KAAD,CAAJ;EACD;;AAfY"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  require("source-map-support/register");
6
4
 
7
5
  var _loudRejection = _interopRequireDefault(require("loud-rejection"));
8
6
 
7
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+
9
9
  if (process.env._TESTING) {
10
10
  (0, _loudRejection.default)();
11
11
  }
12
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcm9jZXNzIiwiZW52IiwiX1RFU1RJTkciLCJsb3VkUmVqZWN0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3VuaGFuZGxlZC1yZWplY3Rpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvdWRSZWplY3Rpb24gZnJvbSAnbG91ZC1yZWplY3Rpb24nO1xuXG4vLyBpbiBhIHRlc3RpbmcgZW52aXJvbm1lbnQgKGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCBpbiBgYXBwaXVtLWd1bHAtdXRpbHNgKVxuLy8gbWFrZSBzdXJlIHVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbnMgYXJlIG1hZGUgdmlzaWJsZVxuaWYgKHByb2Nlc3MuZW52Ll9URVNUSU5HKSB7XG4gIGxvdWRSZWplY3Rpb24oKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBSUEsSUFBSUEsT0FBTyxDQUFDQyxHQUFSLENBQVlDLFFBQWhCLEVBQTBCO0VBQ3hCLElBQUFDLHNCQUFBO0FBQ0QifQ==
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcm9jZXNzIiwiZW52IiwiX1RFU1RJTkciLCJsb3VkUmVqZWN0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3VuaGFuZGxlZC1yZWplY3Rpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvdWRSZWplY3Rpb24gZnJvbSAnbG91ZC1yZWplY3Rpb24nO1xuXG4vLyBpbiBhIHRlc3RpbmcgZW52aXJvbm1lbnQgKGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCBpbiBgYXBwaXVtLWd1bHAtdXRpbHNgKVxuLy8gbWFrZSBzdXJlIHVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbnMgYXJlIG1hZGUgdmlzaWJsZVxuaWYgKHByb2Nlc3MuZW52Ll9URVNUSU5HKSB7XG4gIGxvdWRSZWplY3Rpb24oKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOzs7O0FBSUEsSUFBSUEsT0FBTyxDQUFDQyxHQUFSLENBQVlDLFFBQWhCLEVBQTBCO0VBQ3hCLElBQUFDLHNCQUFBO0FBQ0QifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unhandled-rejection.js","names":["process","env","_TESTING","loudRejection"],"sources":["../../lib/unhandled-rejection.js"],"sourcesContent":["import loudRejection from 'loud-rejection';\n\n// in a testing environment (environment variable is set in `appium-gulp-utils`)\n// make sure unhandled promise rejections are made visible\nif (process.env._TESTING) {\n loudRejection();\n}\n"],"mappings":";;;;AAAA;;;;AAIA,IAAIA,OAAO,CAACC,GAAR,CAAYC,QAAhB,EAA0B;EACxB,IAAAC,sBAAA;AACD"}