Add regExpStringify

This commit is contained in:
Oleg Proskurin 2017-07-30 20:07:11 +03:00
parent b2ee1c154c
commit 2e590bfa9f
3 changed files with 15 additions and 3 deletions

View File

@ -7,14 +7,26 @@ export function init() {
// NOTE nothing to do here
}
function regExpStringify(exp) {
if (!exp) return null;
if (Object.prototype.toString.call(exp) === '[object String]') return exp;
if (Object.prototype.toString.call(exp) !== '[object RegExp]') return null;
return exp.source;
}
// setOptions function will send Storybook UI options when the channel is
// ready. If called before, options will be cached until it can be sent.
export function setOptions(options) {
export function setOptions(newOptions) {
const channel = addons.getChannel();
if (!channel) {
throw new Error(
'Failed to find addon channel. This may be due to https://github.com/storybooks/storybook/issues/1192.'
);
}
const options = {
...newOptions,
hierarchySeparator: regExpStringify(newOptions.hierarchySeparator),
};
channel.emit(EVENT_ID, { options });
}

View File

@ -11,7 +11,7 @@ setOptions({
showSearchBox: false,
downPanelInRight: true,
sortStoriesByKind: false,
hierarchySeparator: '\\/|\\.|¯\\\\_\\(ツ\\)_\\/¯'
hierarchySeparator: /\/|\./,
});
setAddon(infoAddon);

View File

@ -266,7 +266,7 @@ storiesOf('component.Button', module)
// Atomic
storiesOf('Cells¯\\_(ツ)_/¯Molecules.Atoms/simple', module)
storiesOf('Cells/Molecules.Atoms/simple', module)
.addDecorator(withKnobs)
.add('with text', () =>
<Button>