UNPKG

1.61 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _assign = require("babel-runtime/core-js/object/assign");
8
9var _assign2 = _interopRequireDefault(_assign);
10
11var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
12
13var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
14
15var _createClass2 = require("babel-runtime/helpers/createClass");
16
17var _createClass3 = _interopRequireDefault(_createClass2);
18
19function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
21var StoryKindApi = function () {
22 function StoryKindApi(stories, addons, decorators, kind) {
23 (0, _classCallCheck3.default)(this, StoryKindApi);
24
25 this.kind = kind;
26 this._stories = stories;
27 this._decorators = decorators.slice();
28 (0, _assign2.default)(this, addons);
29 }
30
31 (0, _createClass3.default)(StoryKindApi, [{
32 key: "addDecorator",
33 value: function addDecorator(decorator) {
34 this._decorators.push(decorator);
35 return this;
36 }
37 }, {
38 key: "add",
39 value: function add(story, fn) {
40 var decorated = this._decorate(fn);
41 this._stories.addStory(this.kind, story, decorated);
42 return this;
43 }
44 }, {
45 key: "_decorate",
46 value: function _decorate(fn) {
47 return this._decorators.reduce(function (decorated, decorator) {
48 return function (context) {
49 var _fn = function _fn() {
50 return decorated(context);
51 };
52 return decorator(_fn, context);
53 };
54 }, fn);
55 }
56 }]);
57 return StoryKindApi;
58}();
59
60exports.default = StoryKindApi;
\No newline at end of file