UNPKG

3.26 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _getIterator2 = require("babel-runtime/core-js/get-iterator");
8
9var _getIterator3 = _interopRequireDefault(_getIterator2);
10
11exports.default = selectStories;
12
13function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15function storyMatchesRtlRegexAndIsNotExcluded(rtlRegex, storyName, options) {
16 return rtlRegex && rtlRegex.test(storyName) && options.rtl !== false;
17}
18
19function selectStories(stories, rtlRegex) {
20 var selectedStories = [];
21 var _iteratorNormalCompletion = true;
22 var _didIteratorError = false;
23 var _iteratorError = undefined;
24
25 try {
26 for (var _iterator = (0, _getIterator3.default)(stories), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
27 var group = _step.value;
28 var _iteratorNormalCompletion3 = true;
29 var _didIteratorError3 = false;
30 var _iteratorError3 = undefined;
31
32 try {
33 for (var _iterator3 = (0, _getIterator3.default)(group.stories), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
34 var _story = _step3.value;
35
36 var name = group.kind + ": " + _story.name;
37 var encodedParams = "selectedKind=" + encodeURIComponent(group.kind) + ("&selectedStory=" + encodeURIComponent(_story.name));
38
39 selectedStories.push({
40 name: name,
41 encodedParams: encodedParams,
42 options: _story.options
43 });
44 }
45 } catch (err) {
46 _didIteratorError3 = true;
47 _iteratorError3 = err;
48 } finally {
49 try {
50 if (!_iteratorNormalCompletion3 && _iterator3.return) {
51 _iterator3.return();
52 }
53 } finally {
54 if (_didIteratorError3) {
55 throw _iteratorError3;
56 }
57 }
58 }
59 }
60 } catch (err) {
61 _didIteratorError = true;
62 _iteratorError = err;
63 } finally {
64 try {
65 if (!_iteratorNormalCompletion && _iterator.return) {
66 _iterator.return();
67 }
68 } finally {
69 if (_didIteratorError) {
70 throw _iteratorError;
71 }
72 }
73 }
74
75 var rtlStories = [];
76 var _iteratorNormalCompletion2 = true;
77 var _didIteratorError2 = false;
78 var _iteratorError2 = undefined;
79
80 try {
81 for (var _iterator2 = (0, _getIterator3.default)(selectedStories), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
82 var story = _step2.value;
83
84 var options = story.options || {};
85 if (options.rtl || storyMatchesRtlRegexAndIsNotExcluded(rtlRegex, story.name, options)) {
86 rtlStories.push({
87 name: story.name + " [RTL]",
88 encodedParams: story.encodedParams + "&direction=rtl",
89 options: story.options
90 });
91 }
92 }
93 } catch (err) {
94 _didIteratorError2 = true;
95 _iteratorError2 = err;
96 } finally {
97 try {
98 if (!_iteratorNormalCompletion2 && _iterator2.return) {
99 _iterator2.return();
100 }
101 } finally {
102 if (_didIteratorError2) {
103 throw _iteratorError2;
104 }
105 }
106 }
107
108 return selectedStories.concat(rtlStories);
109}
\No newline at end of file