@times-components/jest-serializer 3.2.31 → 3.4.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/CHANGELOG.md +30 -0
- package/README.md +8 -45
- package/babel.config.js +6 -2
- package/dist/flatten-style.js +42 -1
- package/dist/hoist-style.js +95 -1
- package/dist/index.js +193 -1
- package/dist/minimalise.js +46 -1
- package/dist/printers.js +84 -1
- package/dist/replace-prop.js +59 -1
- package/dist/replace.js +70 -1
- package/dist/rnw.js +197 -1
- package/dist/traverse.js +148 -1
- package/package.json +6 -14
- package/jest.config.js +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,36 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.4.0](https://github.com/newsuk/times-components/compare/@times-components/jest-serializer@3.3.1...@times-components/jest-serializer@3.4.0) (2022-08-18)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **TDP-1712:** remove react-native foreverrrrr ([#3064](https://github.com/newsuk/times-components/issues/3064)) ([2a20cb5](https://github.com/newsuk/times-components/commit/2a20cb5abc10a4e7ca2d62487967f8fcf4eccb62)), closes [#3037](https://github.com/newsuk/times-components/issues/3037) [#3045](https://github.com/newsuk/times-components/issues/3045) [#3050](https://github.com/newsuk/times-components/issues/3050) [#3056](https://github.com/newsuk/times-components/issues/3056) [#3057](https://github.com/newsuk/times-components/issues/3057) [#3066](https://github.com/newsuk/times-components/issues/3066) [#3065](https://github.com/newsuk/times-components/issues/3065) [#3037](https://github.com/newsuk/times-components/issues/3037) [#3045](https://github.com/newsuk/times-components/issues/3045) [#3045](https://github.com/newsuk/times-components/issues/3045) [#3056](https://github.com/newsuk/times-components/issues/3056) [#3066](https://github.com/newsuk/times-components/issues/3066) [#3069](https://github.com/newsuk/times-components/issues/3069) [#3068](https://github.com/newsuk/times-components/issues/3068) [#3070](https://github.com/newsuk/times-components/issues/3070) [#3072](https://github.com/newsuk/times-components/issues/3072) [#3073](https://github.com/newsuk/times-components/issues/3073) [#3071](https://github.com/newsuk/times-components/issues/3071) [#3074](https://github.com/newsuk/times-components/issues/3074) [#3076](https://github.com/newsuk/times-components/issues/3076) [#3079](https://github.com/newsuk/times-components/issues/3079) [#3078](https://github.com/newsuk/times-components/issues/3078) [#3083](https://github.com/newsuk/times-components/issues/3083) [#3087](https://github.com/newsuk/times-components/issues/3087) [#3091](https://github.com/newsuk/times-components/issues/3091) [#3096](https://github.com/newsuk/times-components/issues/3096) [#3102](https://github.com/newsuk/times-components/issues/3102) [#3105](https://github.com/newsuk/times-components/issues/3105) [#3108](https://github.com/newsuk/times-components/issues/3108) [#3111](https://github.com/newsuk/times-components/issues/3111) [#3112](https://github.com/newsuk/times-components/issues/3112) [#3113](https://github.com/newsuk/times-components/issues/3113) [#3114](https://github.com/newsuk/times-components/issues/3114) [#3120](https://github.com/newsuk/times-components/issues/3120) [#3119](https://github.com/newsuk/times-components/issues/3119) [#3112](https://github.com/newsuk/times-components/issues/3112) [#3126](https://github.com/newsuk/times-components/issues/3126) [#3112](https://github.com/newsuk/times-components/issues/3112) [#3126](https://github.com/newsuk/times-components/issues/3126) [#3127](https://github.com/newsuk/times-components/issues/3127) [#3116](https://github.com/newsuk/times-components/issues/3116) [#3128](https://github.com/newsuk/times-components/issues/3128) [#3132](https://github.com/newsuk/times-components/issues/3132) [#3133](https://github.com/newsuk/times-components/issues/3133)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [3.3.1](https://github.com/newsuk/times-components/compare/@times-components/jest-serializer@3.3.0...@times-components/jest-serializer@3.3.1) (2022-08-05)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @times-components/jest-serializer
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [3.3.0](https://github.com/newsuk/times-components/compare/@times-components/jest-serializer@3.2.31...@times-components/jest-serializer@3.3.0) (2022-07-19)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* **tdp-1712:** updated jest configurator ([#3034](https://github.com/newsuk/times-components/issues/3034)) ([af6061a](https://github.com/newsuk/times-components/commit/af6061ae8f196b33e5d48e4e706526e71f1538f5))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
6
36
|
## [3.2.31](https://github.com/newsuk/times-components/compare/@times-components/jest-serializer@3.2.30...@times-components/jest-serializer@3.2.31) (2022-07-14)
|
|
7
37
|
|
|
8
38
|
|
package/README.md
CHANGED
|
@@ -8,8 +8,6 @@ in snapshots rather than other data structures.
|
|
|
8
8
|
It's designed to aid you with your tests that use Jest with no other
|
|
9
9
|
requirements \* other than importing the desired serializers for your needs.
|
|
10
10
|
|
|
11
|
-
\* there's currently a dependency on `react-native-web` that needs removal.
|
|
12
|
-
|
|
13
11
|
### Supported
|
|
14
12
|
|
|
15
13
|
- Jest@21.2.1
|
|
@@ -26,11 +24,10 @@ within your tests you can now use code that looks like this:
|
|
|
26
24
|
```javascript
|
|
27
25
|
import {
|
|
28
26
|
addSerializers,
|
|
29
|
-
enzymeRenderedSerializer
|
|
30
|
-
minimalNative
|
|
27
|
+
enzymeRenderedSerializer
|
|
31
28
|
} from "@times-components/jest-serializer";
|
|
32
29
|
|
|
33
|
-
addSerializers(expect, enzymeRenderedSerializer()
|
|
30
|
+
addSerializers(expect, enzymeRenderedSerializer());
|
|
34
31
|
```
|
|
35
32
|
|
|
36
33
|
and any snapshot tests that run in the context of this serializer will generate
|
|
@@ -65,12 +62,9 @@ This allows us to only visit each node once and perform each transformation
|
|
|
65
62
|
that have side-effects that another transformer was relying on e.g.
|
|
66
63
|
|
|
67
64
|
```javascript
|
|
68
|
-
import { AppRegistry } from "react-native-web";
|
|
69
|
-
|
|
70
65
|
compose(
|
|
71
66
|
stylePrinter,
|
|
72
|
-
minimalWebTransform
|
|
73
|
-
rnwTransform(AppRegistry, ["color"])
|
|
67
|
+
minimalWebTransform
|
|
74
68
|
);
|
|
75
69
|
```
|
|
76
70
|
|
|
@@ -141,7 +135,7 @@ further.
|
|
|
141
135
|
|
|
142
136
|
**hoistStyle: Serializer**
|
|
143
137
|
|
|
144
|
-
|
|
138
|
+
It makes sense to show a snapshot with inline styles on web,
|
|
145
139
|
it's perhaps a little more idiomatic to see it as a `className` and the style to
|
|
146
140
|
reside in a `style` block. This is a better reflection of how it'll be rendered
|
|
147
141
|
on the platform (RNW magic) and keeps the snapshots a little leaner too.
|
|
@@ -163,31 +157,12 @@ addSerializers(expect, minimalise((value, key) => key === "style"));
|
|
|
163
157
|
|
|
164
158
|
will strip all styles from your JSX nodes.
|
|
165
159
|
|
|
166
|
-
### minimalNative
|
|
167
|
-
|
|
168
|
-
**minimalNative: Serializer**
|
|
169
|
-
|
|
170
|
-
A convenience serializer to remove the plethora of `prop`s RN prints by default
|
|
171
|
-
that may change between RN version but have no baring on your tests. In
|
|
172
|
-
particular it removes `[Function]` values because they should be tested with
|
|
173
|
-
either interactive tests and/or a type system rather than with snapshots.
|
|
174
|
-
|
|
175
|
-
Refer to the code for the latest removed values.
|
|
176
|
-
|
|
177
|
-
### minimalRnw
|
|
178
|
-
|
|
179
|
-
**minimalRnw(AppRegistry): Serializer**
|
|
180
|
-
|
|
181
|
-
An example of perhaps where this package is likely to move to as patterns and
|
|
182
|
-
common use cases appear. This combines `minimalWeb` with `rnw` much like a babel
|
|
183
|
-
preset.
|
|
184
|
-
|
|
185
160
|
### minimalWeb
|
|
186
161
|
|
|
187
162
|
**minimalWeb: Serializer**
|
|
188
163
|
|
|
189
164
|
A convenience serializer to remove the plethora of `prop`s React prints by
|
|
190
|
-
default that may change
|
|
165
|
+
default that may change React versions but have
|
|
191
166
|
no baring on your tests. In particular it removes `[Function]` values because
|
|
192
167
|
they should be tested with either interactive tests and/or a type system rather
|
|
193
168
|
than with snapshots.
|
|
@@ -221,8 +196,7 @@ readability.
|
|
|
221
196
|
|
|
222
197
|
**rnw(AppRegistry, string[]): Serializer**
|
|
223
198
|
|
|
224
|
-
If you're using
|
|
225
|
-
and Jest snapshots on the web platform to ensure your components are rendering
|
|
199
|
+
If you're using Jest snapshots on the web platform to ensure your components are rendering
|
|
226
200
|
the expected web output, there'll be a lot of `className` noise.
|
|
227
201
|
|
|
228
202
|
Use this serializer with any style properties you're interested in, and when
|
|
@@ -230,12 +204,7 @@ Use this serializer with any style properties you're interested in, and when
|
|
|
230
204
|
e.g.
|
|
231
205
|
|
|
232
206
|
```javascript
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
compose(
|
|
236
|
-
stylePrinter,
|
|
237
|
-
rnwTransform(AppRegistry, ["color", "fontSize"])
|
|
238
|
-
);
|
|
207
|
+
compose(stylePrinter);
|
|
239
208
|
```
|
|
240
209
|
|
|
241
210
|
will assign a generic `className` to the Node and print the styles with that
|
|
@@ -265,10 +234,7 @@ accumulated "bag" of styles and prints them in a `style` block
|
|
|
265
234
|
|
|
266
235
|
## Patterns and Practices
|
|
267
236
|
|
|
268
|
-
|
|
269
|
-
numerous problems around "building trees" of React components and rendering them
|
|
270
|
-
out nicely on both Native and Web platforms. Enzyme doesn't have the React
|
|
271
|
-
Native adapter so using React Test Renderer tends to be your best bet. This
|
|
237
|
+
Using React Test Renderer tends to be your best bet. This
|
|
272
238
|
doesn't give you "host" objects for the `replace` serializer leaving you with
|
|
273
239
|
`jest.mock`. It's currently advisable to mock all your dependencies even if you
|
|
274
240
|
have the best intentions with "integration" testing. They usually lead to a
|
|
@@ -295,9 +261,6 @@ which probably means they should be removed and one test should represent them.
|
|
|
295
261
|
It's discretionary but probably means the snapshots aren't focused on the tests
|
|
296
262
|
enough.
|
|
297
263
|
|
|
298
|
-
On Native you're likely going to want to use `minimalNative`, `flattenStyle` and
|
|
299
|
-
`minimalise` to focus the given tests.
|
|
300
|
-
|
|
301
264
|
On web you're similarly going to be looking at `minimalWeb`, `hoistStyle`,
|
|
302
265
|
`minimalise`, and `rnw`.
|
|
303
266
|
|
package/babel.config.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
module.exports = api => {
|
|
2
2
|
api.cache(true);
|
|
3
3
|
return {
|
|
4
|
-
plugins: ["
|
|
5
|
-
presets: [
|
|
4
|
+
plugins: ["babel-plugin-styled-components"],
|
|
5
|
+
presets: [
|
|
6
|
+
"@babel/preset-env",
|
|
7
|
+
"@babel/preset-react",
|
|
8
|
+
"@babel/preset-typescript"
|
|
9
|
+
]
|
|
6
10
|
};
|
|
7
11
|
};
|
package/dist/flatten-style.js
CHANGED
|
@@ -1 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.flattenStyleTransform = void 0;
|
|
7
|
+
|
|
8
|
+
var _traverse = _interopRequireDefault(require("./traverse"));
|
|
9
|
+
|
|
10
|
+
var _printers = _interopRequireDefault(require("./printers"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
17
|
+
|
|
18
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
+
|
|
20
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
21
|
+
|
|
22
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
23
|
+
|
|
24
|
+
var flattenStyleTransform = function flattenStyleTransform(accum, node, props, children) {
|
|
25
|
+
var styles = props.style,
|
|
26
|
+
other = _objectWithoutProperties(props, ["style"]);
|
|
27
|
+
|
|
28
|
+
var style = props.style; // eslint-disable-line prefer-destructuring
|
|
29
|
+
|
|
30
|
+
return {
|
|
31
|
+
accum: accum,
|
|
32
|
+
children: children,
|
|
33
|
+
node: node,
|
|
34
|
+
props: _objectSpread(_objectSpread({}, other), style)
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
exports.flattenStyleTransform = flattenStyleTransform;
|
|
39
|
+
|
|
40
|
+
var _default = (0, _traverse["default"])(_printers["default"], flattenStyleTransform);
|
|
41
|
+
|
|
42
|
+
exports["default"] = _default;
|
package/dist/hoist-style.js
CHANGED
|
@@ -1 +1,95 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.hoistStyleTransform = void 0;
|
|
7
|
+
|
|
8
|
+
var _hyphenateStyleName = _interopRequireDefault(require("hyphenate-style-name"));
|
|
9
|
+
|
|
10
|
+
var _traverse = _interopRequireDefault(require("./traverse"));
|
|
11
|
+
|
|
12
|
+
var _printers = require("./printers");
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
|
|
16
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
17
|
+
|
|
18
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
19
|
+
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
+
|
|
24
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
+
|
|
26
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
|
+
|
|
28
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
29
|
+
|
|
30
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
31
|
+
|
|
32
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
33
|
+
|
|
34
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
35
|
+
|
|
36
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
37
|
+
|
|
38
|
+
var hyphenateStyles = function hyphenateStyles(styles) {
|
|
39
|
+
return Object.entries(styles).reduce(function (acc, _ref) {
|
|
40
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
41
|
+
property = _ref2[0],
|
|
42
|
+
value = _ref2[1];
|
|
43
|
+
|
|
44
|
+
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, (0, _hyphenateStyleName["default"])(property), value));
|
|
45
|
+
}, {});
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var hoistStyleTransform = function hoistStyleTransform(accum, node, props, children) {
|
|
49
|
+
var style = props.style,
|
|
50
|
+
className = props.className,
|
|
51
|
+
other = _objectWithoutProperties(props, ["style", "className"]);
|
|
52
|
+
|
|
53
|
+
if (!style) {
|
|
54
|
+
return {
|
|
55
|
+
accum: accum,
|
|
56
|
+
children: children,
|
|
57
|
+
node: node,
|
|
58
|
+
props: props
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (Object.keys(style).length === 0) {
|
|
63
|
+
var omittedStyle = _objectSpread({}, other);
|
|
64
|
+
|
|
65
|
+
if (className) {
|
|
66
|
+
omittedStyle.className = className;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return {
|
|
70
|
+
accum: accum,
|
|
71
|
+
children: children,
|
|
72
|
+
node: node,
|
|
73
|
+
props: omittedStyle
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
var inlineStyleClass = "IS".concat(Object.keys(accum.inlineStyles || {}).length + 1);
|
|
78
|
+
var newClassName = className ? "".concat(className, " ").concat(inlineStyleClass) : inlineStyleClass;
|
|
79
|
+
return {
|
|
80
|
+
accum: _objectSpread(_objectSpread({}, accum), {}, {
|
|
81
|
+
inlineStyles: _objectSpread(_objectSpread({}, accum.inlineStyles), {}, _defineProperty({}, inlineStyleClass, hyphenateStyles(style)))
|
|
82
|
+
}),
|
|
83
|
+
children: children,
|
|
84
|
+
node: node,
|
|
85
|
+
props: _objectSpread({
|
|
86
|
+
className: newClassName
|
|
87
|
+
}, other)
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
exports.hoistStyleTransform = hoistStyleTransform;
|
|
92
|
+
|
|
93
|
+
var _default = (0, _traverse["default"])(_printers.stylePrinter, hoistStyleTransform);
|
|
94
|
+
|
|
95
|
+
exports["default"] = _default;
|
package/dist/index.js
CHANGED
|
@@ -1 +1,193 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "minimalise", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _minimalise["default"];
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "minimaliseTransform", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _minimalise.minimaliseTransform;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "minimalWebTransform", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _minimalise.minimalWebTransform;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
Object.defineProperty(exports, "minimalWeb", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function get() {
|
|
29
|
+
return _minimalise.minimalWeb;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports, "flattenStyle", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function get() {
|
|
35
|
+
return _flattenStyle["default"];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
Object.defineProperty(exports, "flattenStyleTransform", {
|
|
39
|
+
enumerable: true,
|
|
40
|
+
get: function get() {
|
|
41
|
+
return _flattenStyle.flattenStyleTransform;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
Object.defineProperty(exports, "replace", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function get() {
|
|
47
|
+
return _replace["default"];
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
Object.defineProperty(exports, "justChildren", {
|
|
51
|
+
enumerable: true,
|
|
52
|
+
get: function get() {
|
|
53
|
+
return _replace.justChildren;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
Object.defineProperty(exports, "propsNoChildren", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
get: function get() {
|
|
59
|
+
return _replace.propsNoChildren;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
Object.defineProperty(exports, "replaceTransform", {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
get: function get() {
|
|
65
|
+
return _replace.replaceTransform;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
Object.defineProperty(exports, "replaceProp", {
|
|
69
|
+
enumerable: true,
|
|
70
|
+
get: function get() {
|
|
71
|
+
return _replaceProp["default"];
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
Object.defineProperty(exports, "replacePropTransform", {
|
|
75
|
+
enumerable: true,
|
|
76
|
+
get: function get() {
|
|
77
|
+
return _replaceProp.replacePropTransform;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
Object.defineProperty(exports, "hoistStyle", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
get: function get() {
|
|
83
|
+
return _hoistStyle["default"];
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
Object.defineProperty(exports, "hoistStyleTransform", {
|
|
87
|
+
enumerable: true,
|
|
88
|
+
get: function get() {
|
|
89
|
+
return _hoistStyle.hoistStyleTransform;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
Object.defineProperty(exports, "print", {
|
|
93
|
+
enumerable: true,
|
|
94
|
+
get: function get() {
|
|
95
|
+
return _printers["default"];
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(exports, "stylePrinter", {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function get() {
|
|
101
|
+
return _printers.stylePrinter;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
exports.enzymeTreeSerializer = exports.enzymeRootSerializer = exports.enzymeRenderedSerializer = exports.compose = exports.addSerializers = void 0;
|
|
105
|
+
|
|
106
|
+
var _enzymeToJson = require("enzyme-to-json");
|
|
107
|
+
|
|
108
|
+
var _minimalise = _interopRequireWildcard(require("./minimalise"));
|
|
109
|
+
|
|
110
|
+
var _flattenStyle = _interopRequireWildcard(require("./flatten-style"));
|
|
111
|
+
|
|
112
|
+
var _replace = _interopRequireWildcard(require("./replace"));
|
|
113
|
+
|
|
114
|
+
var _replaceProp = _interopRequireWildcard(require("./replace-prop"));
|
|
115
|
+
|
|
116
|
+
var _hoistStyle = _interopRequireWildcard(require("./hoist-style"));
|
|
117
|
+
|
|
118
|
+
var _traverse = _interopRequireDefault(require("./traverse"));
|
|
119
|
+
|
|
120
|
+
var _printers = _interopRequireWildcard(require("./printers"));
|
|
121
|
+
|
|
122
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
123
|
+
|
|
124
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
125
|
+
|
|
126
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
127
|
+
|
|
128
|
+
var compose = function compose(printer) {
|
|
129
|
+
for (var _len = arguments.length, transformers = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
130
|
+
transformers[_key - 1] = arguments[_key];
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return (0, _traverse["default"])(printer, function (accum, node, props, children) {
|
|
134
|
+
return transformers.reduce(function (_ref, transformer) {
|
|
135
|
+
var a = _ref.accum,
|
|
136
|
+
n = _ref.node,
|
|
137
|
+
p = _ref.props,
|
|
138
|
+
c = _ref.children;
|
|
139
|
+
|
|
140
|
+
if (!n) {
|
|
141
|
+
return {
|
|
142
|
+
accum: a,
|
|
143
|
+
children: c,
|
|
144
|
+
node: n,
|
|
145
|
+
props: p
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return transformer(a, n, p, c);
|
|
150
|
+
}, {
|
|
151
|
+
accum: accum,
|
|
152
|
+
children: children,
|
|
153
|
+
node: node,
|
|
154
|
+
props: props
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
exports.compose = compose;
|
|
160
|
+
|
|
161
|
+
var addSerializers = function addSerializers(expect) {
|
|
162
|
+
for (var _len2 = arguments.length, serializers = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
163
|
+
serializers[_key2 - 1] = arguments[_key2];
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
serializers.forEach(function (serializer) {
|
|
167
|
+
return expect.addSnapshotSerializer(serializer);
|
|
168
|
+
});
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
exports.addSerializers = addSerializers;
|
|
172
|
+
|
|
173
|
+
var enzymeRenderedSerializer = function enzymeRenderedSerializer() {
|
|
174
|
+
return (0, _enzymeToJson.createSerializer)({
|
|
175
|
+
mode: "deep"
|
|
176
|
+
});
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
exports.enzymeRenderedSerializer = enzymeRenderedSerializer;
|
|
180
|
+
|
|
181
|
+
var enzymeRootSerializer = function enzymeRootSerializer() {
|
|
182
|
+
return (0, _enzymeToJson.createSerializer)({
|
|
183
|
+
mode: "shallow"
|
|
184
|
+
});
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
exports.enzymeRootSerializer = enzymeRootSerializer;
|
|
188
|
+
|
|
189
|
+
var enzymeTreeSerializer = function enzymeTreeSerializer() {
|
|
190
|
+
return (0, _enzymeToJson.createSerializer)();
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
exports.enzymeTreeSerializer = enzymeTreeSerializer;
|
package/dist/minimalise.js
CHANGED
|
@@ -1 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.minimalWeb = exports.minimalWebTransform = exports["default"] = exports.minimaliseTransform = void 0;
|
|
7
|
+
|
|
8
|
+
var _lodash = _interopRequireDefault(require("lodash.omitby"));
|
|
9
|
+
|
|
10
|
+
var _traverse = _interopRequireDefault(require("./traverse"));
|
|
11
|
+
|
|
12
|
+
var _printers = _interopRequireDefault(require("./printers"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
|
|
16
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
17
|
+
|
|
18
|
+
var minimaliseTransform = function minimaliseTransform(excludeProps) {
|
|
19
|
+
return function (accum, node, props, children) {
|
|
20
|
+
return {
|
|
21
|
+
accum: accum,
|
|
22
|
+
children: children,
|
|
23
|
+
node: node,
|
|
24
|
+
props: (0, _lodash["default"])(props, excludeProps)
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
exports.minimaliseTransform = minimaliseTransform;
|
|
30
|
+
|
|
31
|
+
var _default = function _default(excludeProps) {
|
|
32
|
+
return (0, _traverse["default"])(_printers["default"], minimaliseTransform(excludeProps));
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
exports["default"] = _default;
|
|
36
|
+
|
|
37
|
+
var isEmptyObject = function isEmptyObject(obj) {
|
|
38
|
+
return obj && _typeof(obj) === "object" && Object.keys(obj).length === 0;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
var minimalWebTransform = minimaliseTransform(function (value, key) {
|
|
42
|
+
return value === undefined || typeof value === "function" || isEmptyObject(value) || key === "dir" || key === "data-focusable";
|
|
43
|
+
});
|
|
44
|
+
exports.minimalWebTransform = minimalWebTransform;
|
|
45
|
+
var minimalWeb = (0, _traverse["default"])(_printers["default"], minimalWebTransform);
|
|
46
|
+
exports.minimalWeb = minimalWeb;
|
package/dist/printers.js
CHANGED
|
@@ -1 +1,84 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.stylePrinter = exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _css = _interopRequireDefault(require("css"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
15
|
+
|
|
16
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
+
|
|
18
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
19
|
+
|
|
20
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
21
|
+
|
|
22
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
23
|
+
|
|
24
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
25
|
+
|
|
26
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
27
|
+
|
|
28
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
29
|
+
|
|
30
|
+
var _default = function _default(serialize, accum, element) {
|
|
31
|
+
return serialize(element);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
exports["default"] = _default;
|
|
35
|
+
|
|
36
|
+
var getDeclarationsAst = function getDeclarationsAst(rules) {
|
|
37
|
+
return Object.entries(rules).map(function (_ref) {
|
|
38
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
39
|
+
property = _ref2[0],
|
|
40
|
+
value = _ref2[1];
|
|
41
|
+
|
|
42
|
+
return {
|
|
43
|
+
property: property,
|
|
44
|
+
type: "declaration",
|
|
45
|
+
value: value
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var getRulesAst = function getRulesAst(jss) {
|
|
51
|
+
return Object.entries(jss).map(function (_ref3) {
|
|
52
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
53
|
+
selector = _ref4[0],
|
|
54
|
+
rules = _ref4[1];
|
|
55
|
+
|
|
56
|
+
return {
|
|
57
|
+
declarations: getDeclarationsAst(rules),
|
|
58
|
+
selectors: [".".concat(selector)],
|
|
59
|
+
type: "rule"
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var getStylesheetAst = function getStylesheetAst(jss) {
|
|
65
|
+
return {
|
|
66
|
+
stylesheet: {
|
|
67
|
+
rules: getRulesAst(jss)
|
|
68
|
+
},
|
|
69
|
+
type: "stylesheet"
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
var stringifyJss = function stringifyJss(jss) {
|
|
74
|
+
return _css["default"].stringify(getStylesheetAst(jss));
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var stylePrinter = function stylePrinter(serialize, accum, element) {
|
|
78
|
+
var mergedStyles = _objectSpread(_objectSpread({}, accum.rnw || {}), accum.inlineStyles || {});
|
|
79
|
+
|
|
80
|
+
var styleBlock = Object.keys(mergedStyles).length > 0 ? "<style>\n".concat(stringifyJss(mergedStyles), "\n</style>\n\n") : "";
|
|
81
|
+
return "".concat(styleBlock).concat(serialize(element));
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
exports.stylePrinter = stylePrinter;
|
package/dist/replace-prop.js
CHANGED
|
@@ -1 +1,59 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.replacePropTransform = void 0;
|
|
7
|
+
|
|
8
|
+
var _traverse = _interopRequireDefault(require("./traverse"));
|
|
9
|
+
|
|
10
|
+
var _printers = _interopRequireDefault(require("./printers"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
17
|
+
|
|
18
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
+
|
|
20
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
21
|
+
|
|
22
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
23
|
+
|
|
24
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
25
|
+
|
|
26
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
27
|
+
|
|
28
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
29
|
+
|
|
30
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
31
|
+
|
|
32
|
+
var replacePropTransform = function replacePropTransform(replacer) {
|
|
33
|
+
return function (accum, node, props, children) {
|
|
34
|
+
var transformedProps = Object.entries(props).reduce(function (tProps, _ref) {
|
|
35
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
36
|
+
key = _ref2[0],
|
|
37
|
+
value = _ref2[1];
|
|
38
|
+
|
|
39
|
+
return _objectSpread(_objectSpread({}, tProps), {}, _defineProperty({}, key, replacer(value, key)));
|
|
40
|
+
}, {});
|
|
41
|
+
return {
|
|
42
|
+
accum: accum,
|
|
43
|
+
children: children,
|
|
44
|
+
node: node,
|
|
45
|
+
props: transformedProps
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
exports.replacePropTransform = replacePropTransform;
|
|
51
|
+
|
|
52
|
+
var _default = function _default() {
|
|
53
|
+
var replacer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (x) {
|
|
54
|
+
return x;
|
|
55
|
+
};
|
|
56
|
+
return (0, _traverse["default"])(_printers["default"], replacePropTransform(replacer));
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
exports["default"] = _default;
|
package/dist/replace.js
CHANGED
|
@@ -1 +1,70 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.replaceTransform = exports.justChildren = exports.propsNoChildren = void 0;
|
|
7
|
+
|
|
8
|
+
var _traverse = _interopRequireDefault(require("./traverse"));
|
|
9
|
+
|
|
10
|
+
var _printers = _interopRequireDefault(require("./printers"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
|
|
14
|
+
var propsNoChildren = function propsNoChildren(node, props) {
|
|
15
|
+
return {
|
|
16
|
+
children: [],
|
|
17
|
+
node: node,
|
|
18
|
+
props: props
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.propsNoChildren = propsNoChildren;
|
|
23
|
+
|
|
24
|
+
var justChildren = function justChildren(node, props, children) {
|
|
25
|
+
return {
|
|
26
|
+
children: children
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
exports.justChildren = justChildren;
|
|
31
|
+
|
|
32
|
+
var replaceTransform = function replaceTransform(config) {
|
|
33
|
+
return function (accum, node, props, children) {
|
|
34
|
+
if (config[node.type] === undefined) {
|
|
35
|
+
return {
|
|
36
|
+
accum: accum,
|
|
37
|
+
children: children,
|
|
38
|
+
node: node,
|
|
39
|
+
props: props
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (!config[node.type]) {
|
|
44
|
+
return {
|
|
45
|
+
accum: accum,
|
|
46
|
+
node: null
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
var _config$node$type = config[node.type](node, props, children),
|
|
51
|
+
tNode = _config$node$type.node,
|
|
52
|
+
tProps = _config$node$type.props,
|
|
53
|
+
tChildren = _config$node$type.children;
|
|
54
|
+
|
|
55
|
+
return {
|
|
56
|
+
accum: accum,
|
|
57
|
+
children: tChildren,
|
|
58
|
+
node: tNode,
|
|
59
|
+
props: tProps
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
exports.replaceTransform = replaceTransform;
|
|
65
|
+
|
|
66
|
+
var _default = function _default(config) {
|
|
67
|
+
return (0, _traverse["default"])(_printers["default"], replaceTransform(config));
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
exports["default"] = _default;
|
package/dist/rnw.js
CHANGED
|
@@ -1 +1,197 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.rnwTransform = void 0;
|
|
7
|
+
|
|
8
|
+
var _server = _interopRequireDefault(require("react-dom/server"));
|
|
9
|
+
|
|
10
|
+
var _css = _interopRequireDefault(require("css"));
|
|
11
|
+
|
|
12
|
+
var _lodash = _interopRequireDefault(require("lodash.isequal"));
|
|
13
|
+
|
|
14
|
+
var _traverse = _interopRequireDefault(require("./traverse"));
|
|
15
|
+
|
|
16
|
+
var _printers = require("./printers");
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
|
+
|
|
20
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
21
|
+
|
|
22
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
23
|
+
|
|
24
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
25
|
+
|
|
26
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
27
|
+
|
|
28
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
+
|
|
30
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
31
|
+
|
|
32
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
33
|
+
|
|
34
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
|
+
|
|
36
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
37
|
+
|
|
38
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
39
|
+
|
|
40
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
41
|
+
|
|
42
|
+
var cleanClassNames = function cleanClassNames(names) {
|
|
43
|
+
var className = (names || "").replace(/rn-[^-^ ]+-[^-^ ]+/g, "").replace(/[ ]+/g, " ").trim();
|
|
44
|
+
return className.length ? {
|
|
45
|
+
className: className
|
|
46
|
+
} : {};
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
var mergeStyles = function mergeStyles(style, _ref) {
|
|
50
|
+
var property = _ref.property,
|
|
51
|
+
value = _ref.value;
|
|
52
|
+
return _objectSpread(_objectSpread({}, style), {}, _defineProperty({}, property, value));
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
var mergeStylesToClassNames = function mergeStylesToClassNames(classMap, node) {
|
|
56
|
+
if (node.type !== "rule") {
|
|
57
|
+
return classMap;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
var className = node.selectors[0].slice(1);
|
|
61
|
+
return _objectSpread(_objectSpread({}, classMap), {}, _defineProperty({}, className, node.declarations.reduce(mergeStyles, {})));
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var getStyleSheet = function getStyleSheet(AppRegistry) {
|
|
65
|
+
AppRegistry.registerComponent("App", function () {
|
|
66
|
+
return function () {};
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
var _AppRegistry$getAppli = AppRegistry.getApplication("App"),
|
|
70
|
+
getStyleElement = _AppRegistry$getAppli.getStyleElement;
|
|
71
|
+
|
|
72
|
+
var ssString = _server["default"].renderToStaticMarkup(getStyleElement());
|
|
73
|
+
|
|
74
|
+
var _ssString$match = ssString.match(/<style[\s\S]*>([\s\S]*)<\/style>/),
|
|
75
|
+
_ssString$match2 = _slicedToArray(_ssString$match, 2),
|
|
76
|
+
match = _ssString$match2[1];
|
|
77
|
+
|
|
78
|
+
if (!match) {
|
|
79
|
+
return {};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
var ast = _css["default"].parse(match);
|
|
83
|
+
|
|
84
|
+
if (ast.stylesheet.parsingErrors.length > 0) {
|
|
85
|
+
return {};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return ast.stylesheet.rules.reduce(mergeStylesToClassNames, {});
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
var classNamesToStyles = function classNamesToStyles(AppRegistry, className) {
|
|
92
|
+
if (!className) {
|
|
93
|
+
return {};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
var ss = getStyleSheet(AppRegistry);
|
|
97
|
+
return className.split(" ").reduce(function (m, c) {
|
|
98
|
+
return _objectSpread(_objectSpread({}, m), {}, _defineProperty({}, c, ss[c]));
|
|
99
|
+
}, {});
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
var filterNames = function filterNames(className, toInclude) {
|
|
103
|
+
if (!className) {
|
|
104
|
+
return [];
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return className.split(" ").filter(function (c) {
|
|
108
|
+
var _c$split = c.split("-"),
|
|
109
|
+
_c$split2 = _slicedToArray(_c$split, 2),
|
|
110
|
+
prop = _c$split2[1];
|
|
111
|
+
|
|
112
|
+
return toInclude.has(prop);
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
var findStyle = function findStyle() {
|
|
117
|
+
var rnwStyles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
118
|
+
var style = arguments.length > 1 ? arguments[1] : undefined;
|
|
119
|
+
var kv = Object.entries(rnwStyles);
|
|
120
|
+
|
|
121
|
+
for (var i = 0; i < kv.length; i += 1) {
|
|
122
|
+
var _kv$i = _slicedToArray(kv[i], 2),
|
|
123
|
+
key = _kv$i[0],
|
|
124
|
+
value = _kv$i[1];
|
|
125
|
+
|
|
126
|
+
if ((0, _lodash["default"])(value, style)) {
|
|
127
|
+
return key;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return null;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
var updateMap = function updateMap(cssStyles, styleMap, classNames) {
|
|
135
|
+
if (classNames.length === 0) {
|
|
136
|
+
return {
|
|
137
|
+
key: null,
|
|
138
|
+
styleMap: styleMap
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
var mergedStyle = classNames.reduce(function (m, c) {
|
|
143
|
+
if (cssStyles[c]) {
|
|
144
|
+
return _objectSpread(_objectSpread({}, m), cssStyles[c]);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return m;
|
|
148
|
+
}, {});
|
|
149
|
+
var existingStyle = findStyle(styleMap.rnw, mergedStyle);
|
|
150
|
+
|
|
151
|
+
if (existingStyle) {
|
|
152
|
+
return {
|
|
153
|
+
key: existingStyle,
|
|
154
|
+
styleMap: styleMap
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
var key = "S".concat(Object.keys(styleMap.rnw || {}).length + 1);
|
|
159
|
+
return {
|
|
160
|
+
key: key,
|
|
161
|
+
styleMap: _objectSpread(_objectSpread({}, styleMap), {}, {
|
|
162
|
+
rnw: _objectSpread(_objectSpread({}, styleMap.rnw), {}, _defineProperty({}, key, mergedStyle))
|
|
163
|
+
})
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
var rnwTransform = function rnwTransform(AppRegistry, includeStyleProps) {
|
|
168
|
+
return function (accum, node, props, children) {
|
|
169
|
+
var className = props.className,
|
|
170
|
+
other = _objectWithoutProperties(props, ["className"]);
|
|
171
|
+
|
|
172
|
+
var cssStyles = classNamesToStyles(AppRegistry, className);
|
|
173
|
+
var filteredNames = filterNames(className, new Set(includeStyleProps));
|
|
174
|
+
var updatedMap = updateMap(cssStyles, accum, filteredNames);
|
|
175
|
+
|
|
176
|
+
var newProps = _objectSpread(_objectSpread({}, other), cleanClassNames(className));
|
|
177
|
+
|
|
178
|
+
if (updatedMap.key) {
|
|
179
|
+
newProps.className = newProps.className ? "".concat(newProps.className, " ").concat(updatedMap.key) : updatedMap.key;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return {
|
|
183
|
+
accum: updatedMap.styleMap,
|
|
184
|
+
children: children,
|
|
185
|
+
node: node,
|
|
186
|
+
props: newProps
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
exports.rnwTransform = rnwTransform;
|
|
192
|
+
|
|
193
|
+
var _default = function _default(AppRegistry, includeStyleProps) {
|
|
194
|
+
return (0, _traverse["default"])(_printers.stylePrinter, rnwTransform(AppRegistry, includeStyleProps));
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
exports["default"] = _default;
|
package/dist/traverse.js
CHANGED
|
@@ -1 +1,148 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
|
|
5
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
6
|
+
|
|
7
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
8
|
+
|
|
9
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
|
|
11
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
12
|
+
|
|
13
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
14
|
+
|
|
15
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
16
|
+
|
|
17
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
|
+
|
|
19
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
20
|
+
|
|
21
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
22
|
+
|
|
23
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
24
|
+
|
|
25
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
26
|
+
|
|
27
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
28
|
+
|
|
29
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
30
|
+
|
|
31
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
32
|
+
|
|
33
|
+
var withoutProps = function withoutProps(node) {
|
|
34
|
+
return _objectSpread(_objectSpread({}, node), {}, {
|
|
35
|
+
props: {}
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var isReactElement = function isReactElement(_ref) {
|
|
40
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
41
|
+
key = _ref2[0],
|
|
42
|
+
value = _ref2[1];
|
|
43
|
+
|
|
44
|
+
return key !== "children" && _react["default"].isValidElement(value);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var mergeTransformation = function mergeTransformation(transform, transformElement) {
|
|
48
|
+
return function (transformed, _ref3) {
|
|
49
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
50
|
+
key = _ref4[0],
|
|
51
|
+
prop = _ref4[1];
|
|
52
|
+
|
|
53
|
+
var _transform = transform(transformed.accum, transformElement, prop),
|
|
54
|
+
propAccum = _transform.accum,
|
|
55
|
+
element = _transform.element;
|
|
56
|
+
|
|
57
|
+
return {
|
|
58
|
+
accum: propAccum,
|
|
59
|
+
props: _objectSpread(_objectSpread({}, transformed.props), {}, _defineProperty({}, key, element))
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var transformRenderProps = function transformRenderProps(transform, accum, transformElement, props) {
|
|
65
|
+
var renderProps = Object.entries(props).filter(isReactElement);
|
|
66
|
+
|
|
67
|
+
if (renderProps.length === 0) {
|
|
68
|
+
return {
|
|
69
|
+
accum: accum,
|
|
70
|
+
props: props
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return renderProps.reduce(mergeTransformation(transform, transformElement), {
|
|
75
|
+
accum: accum,
|
|
76
|
+
props: props
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
var transformChildren = function transformChildren(transform, transformElement) {
|
|
81
|
+
return function (merged, child) {
|
|
82
|
+
var _transform2 = transform(merged.accum, transformElement, child),
|
|
83
|
+
accum = _transform2.accum,
|
|
84
|
+
element = _transform2.element;
|
|
85
|
+
|
|
86
|
+
return {
|
|
87
|
+
accum: accum,
|
|
88
|
+
children: merged.children.concat(element)
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
var transform = function transform(accum, transformElement, node) {
|
|
94
|
+
if (!node || !node.props) return {
|
|
95
|
+
accum: accum,
|
|
96
|
+
element: node
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
var _concat$reduce = [].concat(node.children || node.props.children || []).reduce(transformChildren(transform, transformElement), {
|
|
100
|
+
accum: accum,
|
|
101
|
+
children: []
|
|
102
|
+
}),
|
|
103
|
+
childAccum = _concat$reduce.accum,
|
|
104
|
+
children = _concat$reduce.children;
|
|
105
|
+
|
|
106
|
+
var trp = transformRenderProps(transform, childAccum || accum, transformElement, node.props);
|
|
107
|
+
var u = transformElement(trp.accum, withoutProps(node), trp.props, children);
|
|
108
|
+
|
|
109
|
+
if (!u.node) {
|
|
110
|
+
if (u.children) {
|
|
111
|
+
return {
|
|
112
|
+
accum: u.accum,
|
|
113
|
+
element: u.children.length === 1 ? u.children[0] : u.children
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return {
|
|
118
|
+
accum: u.accum,
|
|
119
|
+
element: null
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return {
|
|
124
|
+
accum: u.accum,
|
|
125
|
+
element: _react["default"].cloneElement.apply(_react["default"], [u.node, u.props].concat(_toConsumableArray(u.children)))
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
var test = function test(value) {
|
|
130
|
+
return !!value && value.$$typeof === Symbol["for"]("react.test.json");
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
var print = function print(printer, transformElement) {
|
|
134
|
+
return function (node, serialize) {
|
|
135
|
+
var _transform3 = transform({}, transformElement, node),
|
|
136
|
+
accum = _transform3.accum,
|
|
137
|
+
element = _transform3.element;
|
|
138
|
+
|
|
139
|
+
return printer(serialize, accum, element);
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
module.exports = function (printer, transformElement) {
|
|
144
|
+
return {
|
|
145
|
+
print: print(printer, transformElement),
|
|
146
|
+
test: test
|
|
147
|
+
};
|
|
148
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@times-components/jest-serializer",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"description": "serializer",
|
|
5
5
|
"main": "dist/index",
|
|
6
6
|
"dev": "src/jest-serializer",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"prettier:diff": "prettier --list-different '**/*.*'",
|
|
10
10
|
"depcheck": "depcheck --ignores='@babel/*,babel-*,depcheck,eslint,identity-obj-proxy,jest,prettier,react-art,webpack*' --ignore-bin-package=false --skip-missing",
|
|
11
11
|
"lint": "eslint . && yarn prettier:diff && yarn depcheck",
|
|
12
|
-
"test:web": "jest --config='./jest.config.js'",
|
|
12
|
+
"test:web": "jest --config='./__tests__/jest.config.js'",
|
|
13
13
|
"prepublishOnly": "yarn transpile",
|
|
14
14
|
"cleanup-dist": "rm -rf dist",
|
|
15
15
|
"transpile": "yarn cleanup-dist && babel src -d dist"
|
|
@@ -19,10 +19,7 @@
|
|
|
19
19
|
"url": "git+https://github.com/newsuk/times-components.git"
|
|
20
20
|
},
|
|
21
21
|
"keywords": [
|
|
22
|
-
"react-native-web",
|
|
23
22
|
"react",
|
|
24
|
-
"native",
|
|
25
|
-
"web",
|
|
26
23
|
"jest-serializer",
|
|
27
24
|
"component"
|
|
28
25
|
],
|
|
@@ -34,22 +31,19 @@
|
|
|
34
31
|
"devDependencies": {
|
|
35
32
|
"@babel/core": "7.4.4",
|
|
36
33
|
"@times-components/eslint-config-thetimes": "0.8.18",
|
|
34
|
+
"@times-components/jest-configurator-web": "0.8.0",
|
|
37
35
|
"babel-jest": "24.8.0",
|
|
38
36
|
"depcheck": "0.6.9",
|
|
39
37
|
"enzyme": "3.9.0",
|
|
40
38
|
"enzyme-adapter-react-16": "1.12.1",
|
|
41
39
|
"eslint": "5.9.0",
|
|
42
|
-
"identity-obj-proxy": "3.0.0",
|
|
43
40
|
"jest": "24.8.0",
|
|
44
41
|
"prettier": "1.14.3",
|
|
45
42
|
"prop-types": "15.7.2",
|
|
46
|
-
"react-art": "16.6.3",
|
|
47
|
-
"react-native-web": "0.11.4",
|
|
48
43
|
"react-test-renderer": "16.9.0"
|
|
49
44
|
},
|
|
50
45
|
"dependencies": {
|
|
51
|
-
"@times-components/
|
|
52
|
-
"@times-components/utils": "6.14.1",
|
|
46
|
+
"@times-components/utils": "6.15.0",
|
|
53
47
|
"css": "^2.2.1",
|
|
54
48
|
"enzyme-to-json": "3.3.5",
|
|
55
49
|
"hyphenate-style-name": "1.0.2",
|
|
@@ -62,12 +56,10 @@
|
|
|
62
56
|
},
|
|
63
57
|
"peerDependencies": {
|
|
64
58
|
"react": ">=16",
|
|
65
|
-
"react-dom": ">=16"
|
|
66
|
-
"react-native": ">=0.53.0",
|
|
67
|
-
"react-native-web": "0.11.4"
|
|
59
|
+
"react-dom": ">=16"
|
|
68
60
|
},
|
|
69
61
|
"publishConfig": {
|
|
70
62
|
"access": "public"
|
|
71
63
|
},
|
|
72
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "fe2f12b7448a88662c53f840772282cd97756c5c"
|
|
73
65
|
}
|
package/jest.config.js
DELETED