1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports.default = until;
|
9 |
|
10 | var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
11 |
|
12 | var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
13 |
|
14 | function shallowRecursively(wrapper, selector, _ref) {
|
15 | var context = _ref.context,
|
16 | other = (0, _objectWithoutProperties2.default)(_ref, ["context"]);
|
17 |
|
18 | if (wrapper.isEmptyRender() || typeof wrapper.getElement().type === 'string') {
|
19 | return wrapper;
|
20 | }
|
21 |
|
22 | var newContext = context;
|
23 | var instance = wrapper.root().instance();
|
24 |
|
25 | if (instance && instance.getChildContext) {
|
26 | newContext = (0, _extends2.default)({}, context, {}, instance.getChildContext());
|
27 | }
|
28 |
|
29 | var nextWrapper = wrapper.shallow((0, _extends2.default)({
|
30 | context: newContext
|
31 | }, other));
|
32 |
|
33 | if (selector && wrapper.is(selector)) {
|
34 | return nextWrapper;
|
35 | }
|
36 |
|
37 | return shallowRecursively(nextWrapper, selector, {
|
38 | context: newContext
|
39 | });
|
40 | }
|
41 |
|
42 | function until(selector) {
|
43 | var _this = this;
|
44 |
|
45 | var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
46 | return this.single('until', function () {
|
47 | return shallowRecursively(_this, selector, options);
|
48 | });
|
49 | } |
\ | No newline at end of file |