UNPKG

1.1 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.filterStorybook = filterStorybook;
7/* eslint import/prefer-default-export: 0 */
8
9function filterStorybook(storybook, grep, ignore) {
10 if (!grep && !ignore) {
11 // speed up for simple common case
12 return storybook;
13 }
14
15 var grepRe = new RegExp(grep);
16 var ignoreRe = new RegExp(ignore);
17
18 var filter = function filter(name) {
19 if (ignore && ignoreRe.test(name)) {
20 return false;
21 }
22
23 return grepRe.test(name);
24 };
25
26 var filteredStorybook = [];
27
28 storybook.forEach(function (group) {
29 if (ignore && ignoreRe.test(group.kind)) {
30 return;
31 }
32
33 if (grep && grepRe.test(group.kind)) {
34 filteredStorybook.push(group);
35 return;
36 }
37
38 var filteredStories = group.stories.filter(function (story) {
39 return filter(story.name);
40 });
41
42 if (filteredStories.length === 0) {
43 return;
44 }
45
46 var filteredGroup = {
47 kind: group.kind,
48 stories: filteredStories
49 };
50
51 filteredStorybook.push(filteredGroup);
52 });
53
54 return filteredStorybook;
55}
\No newline at end of file