1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.state = undefined;
|
7 |
|
8 | var _extends2 = require("babel-runtime/helpers/extends");
|
9 |
|
10 | var _extends3 = _interopRequireDefault(_extends2);
|
11 |
|
12 | var _slicedToArray2 = require("babel-runtime/helpers/slicedToArray");
|
13 |
|
14 | var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
|
15 |
|
16 | var _getIterator2 = require("babel-runtime/core-js/get-iterator");
|
17 |
|
18 | var _getIterator3 = _interopRequireDefault(_getIterator2);
|
19 |
|
20 | var _getPrototypeOf = require("babel-runtime/core-js/object/get-prototype-of");
|
21 |
|
22 | var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
23 |
|
24 | var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
|
25 |
|
26 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
27 |
|
28 | var _createClass2 = require("babel-runtime/helpers/createClass");
|
29 |
|
30 | var _createClass3 = _interopRequireDefault(_createClass2);
|
31 |
|
32 | var _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn");
|
33 |
|
34 | var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
35 |
|
36 | var _get3 = require("babel-runtime/helpers/get");
|
37 |
|
38 | var _get4 = _interopRequireDefault(_get3);
|
39 |
|
40 | var _inherits2 = require("babel-runtime/helpers/inherits");
|
41 |
|
42 | var _inherits3 = _interopRequireDefault(_inherits2);
|
43 |
|
44 | var _args = require("./args");
|
45 |
|
46 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
47 |
|
48 | var state = exports.state = function state(Class) {
|
49 | return function (_Class) {
|
50 | (0, _inherits3.default)(_class, _Class);
|
51 |
|
52 | function _class() {
|
53 | var _Object$getPrototypeO;
|
54 |
|
55 | (0, _classCallCheck3.default)(this, _class);
|
56 |
|
57 | for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
58 | args[_key] = arguments[_key];
|
59 | }
|
60 |
|
61 | return (0, _possibleConstructorReturn3.default)(this, (_Object$getPrototypeO = (0, _getPrototypeOf2.default)(_class)).call.apply(_Object$getPrototypeO, [this].concat(args)));
|
62 | }
|
63 |
|
64 | (0, _createClass3.default)(_class, [{
|
65 | key: "state",
|
66 | value: function state() {
|
67 | for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
68 | args[_key2] = arguments[_key2];
|
69 | }
|
70 |
|
71 | this._state = (0, _args.merge)((0, _args.toObjects)(args), this._state);
|
72 |
|
73 | if ((0, _get4.default)((0, _getPrototypeOf2.default)(_class.prototype), "state", this)) {
|
74 | return (0, _get4.default)((0, _getPrototypeOf2.default)(_class.prototype), "state", this).call(this, this._state.toJS());
|
75 | } else {
|
76 | return this._state.toJS();
|
77 | }
|
78 | }
|
79 | }, {
|
80 | key: "stateful",
|
81 | value: function stateful() {
|
82 | var _this2 = this;
|
83 |
|
84 | var ignore = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0];
|
85 |
|
86 | ignore = ignore.concat(["functions", "state"]);
|
87 |
|
88 | var _iteratorNormalCompletion = true;
|
89 | var _didIteratorError = false;
|
90 | var _iteratorError = undefined;
|
91 |
|
92 | try {
|
93 | var _loop = function _loop() {
|
94 | var _step$value = (0, _slicedToArray3.default)(_step.value, 2);
|
95 |
|
96 | var name = _step$value[0];
|
97 | var fn = _step$value[1];
|
98 |
|
99 | if (ignore.indexOf(name) == -1) {
|
100 | _this2[name] = function () {
|
101 | for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
102 | args[_key3] = arguments[_key3];
|
103 | }
|
104 |
|
105 | return fn.bind(_this2)((0, _extends3.default)({}, args, { state: _this2.state() }));
|
106 | };
|
107 | }
|
108 | };
|
109 |
|
110 | for (var _iterator = (0, _getIterator3.default)(this.functions().entries()), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
111 | _loop();
|
112 | }
|
113 | } catch (err) {
|
114 | _didIteratorError = true;
|
115 | _iteratorError = err;
|
116 | } finally {
|
117 | try {
|
118 | if (!_iteratorNormalCompletion && _iterator.return) {
|
119 | _iterator.return();
|
120 | }
|
121 | } finally {
|
122 | if (_didIteratorError) {
|
123 | throw _iteratorError;
|
124 | }
|
125 | }
|
126 | }
|
127 | }
|
128 | }], [{
|
129 | key: "factory",
|
130 | value: function factory() {
|
131 | if ((0, _get4.default)((0, _getPrototypeOf2.default)(_class), "factory", this)) {
|
132 | var _get2;
|
133 |
|
134 | for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
135 | args[_key4] = arguments[_key4];
|
136 | }
|
137 |
|
138 | var instance = (_get2 = (0, _get4.default)((0, _getPrototypeOf2.default)(_class), "factory", this)).call.apply(_get2, [this].concat(args));
|
139 | instance._state = (0, _args.merge)((0, _args.toObjects)(args), instance._state);
|
140 | return instance;
|
141 | }
|
142 | }
|
143 | }]);
|
144 | return _class;
|
145 | }(Class);
|
146 | };
|
147 |
|
\ | No newline at end of file |