1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _assign = require("babel-runtime/core-js/object/assign");
|
8 |
|
9 | var _assign2 = _interopRequireDefault(_assign);
|
10 |
|
11 | var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
|
12 |
|
13 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
14 |
|
15 | var _createClass2 = require("babel-runtime/helpers/createClass");
|
16 |
|
17 | var _createClass3 = _interopRequireDefault(_createClass2);
|
18 |
|
19 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
20 |
|
21 | var 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 |
|
60 | exports.default = StoryKindApi; |
\ | No newline at end of file |