UNPKG

5.79 kBJavaScriptView Raw
1module.exports =
2/******/ (function(modules) { // webpackBootstrap
3/******/ // The module cache
4/******/ var installedModules = {};
5
6/******/ // The require function
7/******/ function __webpack_require__(moduleId) {
8
9/******/ // Check if module is in cache
10/******/ if(installedModules[moduleId])
11/******/ return installedModules[moduleId].exports;
12
13/******/ // Create a new module (and put it into the cache)
14/******/ var module = installedModules[moduleId] = {
15/******/ exports: {},
16/******/ id: moduleId,
17/******/ loaded: false
18/******/ };
19
20/******/ // Execute the module function
21/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22
23/******/ // Flag the module as loaded
24/******/ module.loaded = true;
25
26/******/ // Return the exports of the module
27/******/ return module.exports;
28/******/ }
29
30
31/******/ // expose the modules object (__webpack_modules__)
32/******/ __webpack_require__.m = modules;
33
34/******/ // expose the module cache
35/******/ __webpack_require__.c = installedModules;
36
37/******/ // __webpack_public_path__
38/******/ __webpack_require__.p = "";
39
40/******/ // Load entry module and return exports
41/******/ return __webpack_require__(0);
42/******/ })
43/************************************************************************/
44/******/ ([
45/* 0 */
46/***/ function(module, exports, __webpack_require__) {
47
48 module.exports = __webpack_require__(1);
49
50
51/***/ },
52/* 1 */
53/***/ function(module, exports, __webpack_require__) {
54
55 'use strict';
56
57 var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; })();
58
59 Object.defineProperty(exports, "__esModule", {
60 value: true
61 });
62
63 exports.default = function (Vue, options) {
64 // const _ = Vue.util
65 var store = options.store;
66 var re = /([a-zA-Z0-9\._-]+)\s{1,2}as\s{1,2}([a-zA-Z0-9\._-]+)/i;
67 // bring redux to revue
68 Object.defineProperties(Vue.prototype, {
69 '$revue': {
70 value: store
71 },
72 '$subscribe': {
73 value: function value() {
74 var _this = this;
75
76 // unsubscribe old listeners if ever subscribed
77 this.$unsubscribe();
78 this.unsubscriber = [];
79
80 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
81 args[_key] = arguments[_key];
82 }
83
84 args.forEach(function (prop) {
85 // realProp: property name/path in your instance
86 // storeProp: property name/path in Redux store
87 var realProp = prop,
88 storeProp = prop;
89 if (re.test(prop)) {
90 var _prop$match = prop.match(re);
91
92 var _prop$match2 = _slicedToArray(_prop$match, 3);
93
94 storeProp = _prop$match2[1];
95 realProp = _prop$match2[2];
96 }
97 var currentValue = (0, _objectPath.get)(store.getState(), storeProp);
98 var handleChange = function handleChange() {
99 var previousValue = currentValue;
100 currentValue = (0, _objectPath.get)(store.getState(), storeProp);
101 if (!(0, _shallowEqual2.default)(previousValue, currentValue)) {
102 (0, _objectPath.set)(_this._data, realProp, currentValue);
103 }
104 };
105 _this.unsubscriber.push(store.subscribe(handleChange));
106 });
107 }
108 },
109 '$unsubscribe': {
110 value: function value() {
111 if (this.unsubscriber && this.unsubscriber.length > 0) {
112 this.unsubscriber.forEach(function (un) {
113 return un();
114 });
115 }
116 }
117 }
118 });
119 // global mixin
120 Vue.mixin({
121 beforeDestroy: function beforeDestroy() {
122 this.$unsubscribe();
123 }
124 });
125 };
126
127 var _objectPath = __webpack_require__(3);
128
129 var _shallowEqual = __webpack_require__(2);
130
131 var _shallowEqual2 = _interopRequireDefault(_shallowEqual);
132
133 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
134
135/***/ },
136/* 2 */
137/***/ function(module, exports) {
138
139 'use strict';
140
141 Object.defineProperty(exports, "__esModule", {
142 value: true
143 });
144 exports.default = shallowEqual;
145
146 function _typeof(obj) { return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj; }
147
148 // credit: @gaearon
149 // borrowed from https://github.com/rackt/react-redux/blob/master/src%2Futils%2FshallowEqual.js
150 // with some modifications.
151
152 function shallowEqual(objA, objB) {
153 // objA and objB is the same type
154 if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) === 'object') {
155 if (objA === objB) {
156 return true;
157 }
158
159 var keysA = Object.keys(objA);
160 var keysB = Object.keys(objB);
161
162 if (keysA.length !== keysB.length) {
163 return false;
164 }
165
166 // Test for A's keys different from B.
167 var hasOwn = Object.prototype.hasOwnProperty;
168 for (var i = 0; i < keysA.length; i++) {
169 if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {
170 return false;
171 }
172 }
173
174 return true;
175 } else {
176 return objA === objB;
177 }
178 }
179
180/***/ },
181/* 3 */
182/***/ function(module, exports) {
183
184 module.exports = require("object-path");
185
186/***/ }
187/******/ ]);
\No newline at end of file