nsc-react-component 1.1.2 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,17 +4,36 @@ import { StoreProps } from "@bj-nsc/msn";
4
4
  interface ChartProps {
5
5
  store?: StoreProps;
6
6
  option: any;
7
+ data?: Array<Object> | Object;
7
8
  width: number | string;
8
9
  height: number | string;
10
+ autoLoad: boolean;
11
+ OnClick?: (params: any) => void;
9
12
  }
13
+ /**
14
+ 数组:
15
+ data=[{name:'1月',value:20},{name:'2月',value:10},{name:'3月',value:25}]
16
+ 对象
17
+ data={name:['1月','2月','3月'],value:[20,30,40]}
18
+ */
10
19
  declare class NscChart extends PureComponent<ChartProps> {
11
20
  chartRef: React.RefObject<HTMLDivElement>;
12
21
  myChart: ECharts | null;
13
22
  store: any;
23
+ state: {
24
+ dataSource: any;
25
+ };
26
+ isFirst: boolean;
14
27
  constructor(props: any);
15
28
  componentDidMount(): void;
29
+ componentDidUpdate(prevProps: Readonly<ChartProps>, prevState: Readonly<{}>, snapshot?: any): void;
16
30
  reSetChart(): void;
31
+ isString(v: any): boolean;
17
32
  componentWillUnmount(): void;
33
+ isReplace(v: any): boolean;
34
+ replace(v: any): any;
35
+ dataConversion(data: any, datas: any, dataMap: any): any;
36
+ objectConversion(obj: any, datas: any, dataMap: any): any;
18
37
  init(): void;
19
38
  handleChartResize(): void;
20
39
  render(): JSX.Element;
@@ -2,6 +2,18 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
2
2
 
3
3
  var _excluded = ["url", "listeners"];
4
4
 
5
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
6
+
7
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
+
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+
11
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
12
+
13
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
14
+
15
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
16
+
5
17
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6
18
 
7
19
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -37,7 +49,16 @@ import * as echarts from "echarts";
37
49
  import Store from "@bj-nsc/msn";
38
50
  import { utils } from "@bj-nsc/msn/lib/utils";
39
51
  import { px2vw } from "../utils";
52
+ import { isArray, isObject } from "@bj-nsc/functions";
40
53
 
54
+ //data示例
55
+
56
+ /**
57
+ 数组:
58
+ data=[{name:'1月',value:20},{name:'2月',value:10},{name:'3月',value:25}]
59
+ 对象
60
+ data={name:['1月','2月','3月'],value:[20,30,40]}
61
+ */
41
62
  var NscChart = /*#__PURE__*/function (_PureComponent) {
42
63
  _inherits(NscChart, _PureComponent);
43
64
 
@@ -56,11 +77,19 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
56
77
 
57
78
  _defineProperty(_assertThisInitialized(_this2), "store", {});
58
79
 
80
+ _defineProperty(_assertThisInitialized(_this2), "state", {
81
+ dataSource: null
82
+ });
83
+
84
+ _defineProperty(_assertThisInitialized(_this2), "isFirst", true);
85
+
59
86
  var data = props.data,
60
87
  _props$store = props.store,
61
88
  store = _props$store === void 0 ? {} : _props$store,
62
89
  children = props.children,
63
- options = props.option;
90
+ options = props.option,
91
+ _props$autoLoad = props.autoLoad,
92
+ autoLoad = _props$autoLoad === void 0 ? true : _props$autoLoad;
64
93
 
65
94
  var url = store.url,
66
95
  _store$listeners = store.listeners,
@@ -84,6 +113,12 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
84
113
  load: function load(data, modelData, store) {
85
114
  _this.setState({
86
115
  dataSource: modelData
116
+ }, function () {
117
+ if (_this.isFirst && autoLoad) {
118
+ _this.init();
119
+
120
+ _this.isFirst = false;
121
+ }
87
122
  });
88
123
 
89
124
  utils.callback(listenersPops.load, _this, [data, modelData, store]);
@@ -91,6 +126,10 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
91
126
  dataChanged: function dataChanged(data, modelData, store) {
92
127
  _this.setState({
93
128
  dataSource: modelData
129
+ }, function () {
130
+ if (autoLoad) {
131
+ _this.init();
132
+ }
94
133
  });
95
134
 
96
135
  utils.callback(listenersPops.dataChanged, _this, [data, modelData, store]);
@@ -114,31 +153,163 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
114
153
  _createClass(NscChart, [{
115
154
  key: "componentDidMount",
116
155
  value: function componentDidMount() {
117
- this.init();
118
- } // componentDidUpdate(prevProps: any) {
119
- // if (JSON.stringify(prevProps.data) !== JSON.stringify(this.props.data)) {
120
- // this.init();
121
- // }
122
- // }
156
+ var _this$props = this.props,
157
+ data = _this$props.data,
158
+ autoLoad = _this$props.autoLoad,
159
+ store = _this$props.store,
160
+ option = _this$props.option;
161
+
162
+ if (data && autoLoad) {
163
+ this.init();
164
+ } else if (!data && !(store !== null && store !== void 0 && store.url) && option) {
165
+ this.init();
166
+ }
167
+ }
168
+ }, {
169
+ key: "componentDidUpdate",
170
+ value: function componentDidUpdate(prevProps, prevState, snapshot) {
171
+ var autoLoad = this.props.autoLoad;
123
172
 
173
+ if (autoLoad) {
174
+ if (JSON.stringify(prevProps.data) !== JSON.stringify(this.props.data)) {
175
+ this.init();
176
+ }
177
+ }
178
+ }
124
179
  }, {
125
180
  key: "reSetChart",
126
181
  value: function reSetChart() {
127
182
  this.init();
128
183
  }
184
+ }, {
185
+ key: "isString",
186
+ value: function isString(v) {
187
+ return typeof v === "string";
188
+ }
129
189
  }, {
130
190
  key: "componentWillUnmount",
131
191
  value: function componentWillUnmount() {
132
192
  window.removeEventListener("resize", this.handleChartResize.bind(this));
133
193
  }
194
+ }, {
195
+ key: "isReplace",
196
+ value: function isReplace(v) {
197
+ return /^{.*}$/gi.test(v);
198
+ }
199
+ }, {
200
+ key: "replace",
201
+ value: function replace(v) {
202
+ return v.substring(1, v.length - 1);
203
+ }
204
+ }, {
205
+ key: "dataConversion",
206
+ value: function dataConversion(data, datas, dataMap) {
207
+ var _this3 = this;
208
+
209
+ var result;
210
+
211
+ if (data) {
212
+ if (this.isString(data) && this.isReplace(data)) {
213
+ result = dataMap[this.replace(data)];
214
+ } else if (isArray(data)) {
215
+ data.map(function (item) {
216
+ var v = item.value;
217
+
218
+ if (v && _this3.isReplace(v)) {
219
+ item.value = _this3.dataConversion(v, datas, dataMap);
220
+ }
221
+ });
222
+ result = data;
223
+ } else if (isObject(data)) {
224
+ result = [];
225
+
226
+ if (isArray(datas)) {
227
+ datas.map(function (item) {
228
+ var tempObj = {};
229
+
230
+ for (var key in item) {
231
+ var v = item[key];
232
+
233
+ if (_this3.isReplace(v)) {
234
+ tempObj[key] = item[_this3.replace(v)];
235
+ } else {
236
+ tempObj[key] = v;
237
+ }
238
+ }
239
+
240
+ result.push(tempObj);
241
+ });
242
+ }
243
+ }
244
+ }
245
+
246
+ return result;
247
+ }
248
+ }, {
249
+ key: "objectConversion",
250
+ value: function objectConversion(obj, datas, dataMap) {
251
+ var _this4 = this;
252
+
253
+ var tempObj;
254
+
255
+ if (obj) {
256
+ if (isArray(obj)) {
257
+ tempObj = _toConsumableArray(obj);
258
+ tempObj.map(function (item) {
259
+ if (item.data) {
260
+ item.data = _this4.dataConversion(item.data, datas, dataMap);
261
+ }
262
+ });
263
+ } else if (this.isString(obj)) {
264
+ tempObj = obj;
265
+ tempObj.data = this.dataConversion(tempObj, datas, dataMap);
266
+ } else if (isObject(obj)) {
267
+ tempObj = _objectSpread({}, obj);
268
+ tempObj.data = this.dataConversion(tempObj.data, datas, dataMap);
269
+ }
270
+ }
271
+
272
+ return tempObj;
273
+ }
134
274
  }, {
135
275
  key: "init",
136
276
  value: function init() {
137
- var option = this.props.option;
277
+ var _this$props2 = this.props,
278
+ option = _this$props2.option,
279
+ data = _this$props2.data,
280
+ OnClick = _this$props2.OnClick;
281
+ var dataSource = this.state.dataSource;
282
+ var dataMap = {};
283
+ var newDatas = data || dataSource;
284
+
285
+ var newOption = _objectSpread({}, option);
286
+
287
+ if (isArray(newDatas)) {
288
+ newDatas.map(function (item) {
289
+ for (var key in item) {
290
+ if (dataMap[key] == null) {
291
+ dataMap[key] = [];
292
+ }
293
+
294
+ dataMap[key].push(item[key]);
295
+ }
296
+ });
297
+ } else if (isObject(newDatas)) {
298
+ dataMap = newDatas;
299
+ }
300
+
301
+ newOption.xAxis = this.objectConversion(newOption.xAxis, newDatas, dataMap);
302
+ newOption.yAxis = this.objectConversion(newOption.yAxis, newDatas, dataMap);
303
+ newOption.series = this.objectConversion(newOption.series, newDatas, dataMap);
138
304
  var myChart = this.myChart = echarts.init(this.chartRef.current); //初始化echarts,通过ref属性获取dom
139
305
 
140
306
  myChart.clear();
141
- myChart.setOption(option);
307
+ myChart.setOption(newOption);
308
+ myChart.on("click", function (params) {
309
+ myChart.off("click"); // 这里很重要 ,防止重复点击事件!!!
310
+
311
+ OnClick && OnClick(params);
312
+ });
142
313
  window.addEventListener("resize", this.handleChartResize.bind(this));
143
314
  }
144
315
  }, {
@@ -151,9 +322,9 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
151
322
  }, {
152
323
  key: "render",
153
324
  value: function render() {
154
- var _this$props = this.props,
155
- width = _this$props.width,
156
- height = _this$props.height;
325
+ var _this$props3 = this.props,
326
+ width = _this$props3.width,
327
+ height = _this$props3.height;
157
328
  var boxStyle = {
158
329
  width: typeof width == "number" ? px2vw(width) : width,
159
330
  height: typeof height == "number" ? px2vw(height) : height
@@ -169,4 +340,4 @@ var NscChart = /*#__PURE__*/function (_PureComponent) {
169
340
  }(PureComponent);
170
341
 
171
342
  export default NscChart;
172
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NoYXJ0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJlY2hhcnRzIiwiU3RvcmUiLCJ1dGlscyIsInB4MnZ3IiwiTnNjQ2hhcnQiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImRhdGEiLCJzdG9yZSIsImNoaWxkcmVuIiwib3B0aW9ucyIsIm9wdGlvbiIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJzdG9yZXMiLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJkYXRhU291cmNlIiwiZGF0YUNoYW5nZWQiLCJhdXRvTG9hZCIsImluaXQiLCJ3aW5kb3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2hhcnRSZXNpemUiLCJiaW5kIiwibXlDaGFydCIsImNoYXJ0UmVmIiwiY3VycmVudCIsImNsZWFyIiwic2V0T3B0aW9uIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlc2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwiYm94U3R5bGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU8sS0FBS0MsT0FBWixNQUF5QixTQUF6QjtBQUVBLE9BQU9DLEtBQVAsTUFBa0MsYUFBbEM7QUFDQSxTQUFTQyxLQUFULFFBQXNCLHVCQUF0QjtBQUNBLFNBQVNDLEtBQVQsUUFBc0IsVUFBdEI7O0lBU01DLFE7Ozs7O0FBSUosb0JBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsK0JBQU1BLEtBQU47O0FBRGlCLDZFQUhSUCxLQUFLLENBQUNRLFNBQU4sRUFHUTs7QUFBQSwrREFGTyxJQUVQOztBQUFBLDZEQURY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QUwsR0FBZWxDLE9BQU8sQ0FBQzZCLElBQVIsQ0FDOUIsS0FBS00sUUFBTCxDQUFjQyxPQURnQixDQUFoQyxDQUZLLENBSUQ7O0FBQ0pGLE1BQUFBLE9BQU8sQ0FBQ0csS0FBUjtBQUNBSCxNQUFBQSxPQUFPLENBQUNJLFNBQVIsQ0FBa0IzQixNQUFsQjtBQUNBbUIsTUFBQUEsTUFBTSxDQUFDUyxnQkFBUCxDQUF3QixRQUF4QixFQUFrQyxLQUFLUCxpQkFBTCxDQUF1QkMsSUFBdkIsQ0FBNEIsSUFBNUIsQ0FBbEM7QUFDRDs7O1dBRUQsNkJBQW9CO0FBQ2xCLFVBQUksS0FBS0MsT0FBVCxFQUFrQjtBQUNoQixhQUFLQSxPQUFMLENBQWFNLE1BQWI7QUFDRDtBQUNGOzs7V0FFRCxrQkFBUztBQUNQLHdCQUEwQixLQUFLbkMsS0FBL0I7QUFBQSxVQUFRb0MsS0FBUixlQUFRQSxLQUFSO0FBQUEsVUFBZUMsTUFBZixlQUFlQSxNQUFmO0FBQ0EsVUFBTUMsUUFBUSxHQUFHO0FBQ2ZGLFFBQUFBLEtBQUssRUFBRSxPQUFPQSxLQUFQLElBQWdCLFFBQWhCLEdBQTJCdEMsS0FBSyxDQUFDc0MsS0FBRCxDQUFoQyxHQUEwQ0EsS0FEbEM7QUFFZkMsUUFBQUEsTUFBTSxFQUFFLE9BQU9BLE1BQVAsSUFBaUIsUUFBakIsR0FBNEJ2QyxLQUFLLENBQUN1QyxNQUFELENBQWpDLEdBQTRDQTtBQUZyQyxPQUFqQjtBQUlBLDBCQUFPO0FBQUssUUFBQSxLQUFLLEVBQUVDLFFBQVo7QUFBc0IsUUFBQSxHQUFHLEVBQUUsS0FBS1I7QUFBaEMsUUFBUDtBQUNEOzs7O0VBMUZvQnBDLGE7O0FBNkZ2QixlQUFlSyxRQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0ICogYXMgZWNoYXJ0cyBmcm9tIFwiZWNoYXJ0c1wiO1xyXG5pbXBvcnQgeyBFQ2hhcnRzIH0gZnJvbSBcImVjaGFydHMvbGliL2VjaGFydHNcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCB7IHB4MnZ3IH0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcblxyXG5pbnRlcmZhY2UgQ2hhcnRQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIG9wdGlvbjogYW55O1xyXG4gIHdpZHRoOiBudW1iZXIgfCBzdHJpbmc7IC8v5Zu+6KGo5a695bqmXHJcbiAgaGVpZ2h0OiBudW1iZXIgfCBzdHJpbmc7IC8v5Zu+6KGo6ZW/5bqmXHJcbn1cclxuXHJcbmNsYXNzIE5zY0NoYXJ0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxDaGFydFByb3BzPiB7XHJcbiAgY2hhcnRSZWYgPSBSZWFjdC5jcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XHJcbiAgbXlDaGFydDogRUNoYXJ0cyB8IG51bGwgPSBudWxsO1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgeyBkYXRhLCBzdG9yZSA9IHt9LCBjaGlsZHJlbiwgb3B0aW9uOiBvcHRpb25zIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHsgdXJsLCBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSwgLi4uc3RvcmVzIH0gPSBzdG9yZTtcclxuXHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGlmICghKGRhdGEgfHwgdXJsIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBZGF0YeOAgW9wdGlvbuS4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICBsZXQgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICh1cmwgJiYgZGF0YSA9PSBudWxsKSB7XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIC8vICAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wczogYW55KSB7XHJcbiAgLy8gICAgIGlmIChKU09OLnN0cmluZ2lmeShwcmV2UHJvcHMuZGF0YSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMuZGF0YSkpIHtcclxuICAvLyAgICAgICB0aGlzLmluaXQoKTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfVxyXG5cclxuICByZVNldENoYXJ0KCkge1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlQ2hhcnRSZXNpemUuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgY29uc3QgeyBvcHRpb24gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBteUNoYXJ0ID0gKHRoaXMubXlDaGFydCA9IGVjaGFydHMuaW5pdChcclxuICAgICAgdGhpcy5jaGFydFJlZi5jdXJyZW50IGFzIEhUTUxEaXZFbGVtZW50XHJcbiAgICApKTsgLy/liJ3lp4vljJZlY2hhcnRz77yM6YCa6L+HcmVm5bGe5oCn6I635Y+WZG9tXHJcbiAgICBteUNoYXJ0LmNsZWFyKCk7XHJcbiAgICBteUNoYXJ0LnNldE9wdGlvbihvcHRpb24pO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVDaGFydFJlc2l6ZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYXJ0UmVzaXplKCkge1xyXG4gICAgaWYgKHRoaXMubXlDaGFydCkge1xyXG4gICAgICB0aGlzLm15Q2hhcnQucmVzaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBib3hTdHlsZSA9IHtcclxuICAgICAgd2lkdGg6IHR5cGVvZiB3aWR0aCA9PSBcIm51bWJlclwiID8gcHgydncod2lkdGgpIDogd2lkdGgsXHJcbiAgICAgIGhlaWdodDogdHlwZW9mIGhlaWdodCA9PSBcIm51bWJlclwiID8gcHgydncoaGVpZ2h0KSA6IGhlaWdodCxcclxuICAgIH07XHJcbiAgICByZXR1cm4gPGRpdiBzdHlsZT17Ym94U3R5bGV9IHJlZj17dGhpcy5jaGFydFJlZn0+PC9kaXY+O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTnNjQ2hhcnQ7XHJcbiJdfQ==
343
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NoYXJ0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJlY2hhcnRzIiwiU3RvcmUiLCJ1dGlscyIsInB4MnZ3IiwiaXNBcnJheSIsImlzT2JqZWN0IiwiTnNjQ2hhcnQiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImRhdGFTb3VyY2UiLCJkYXRhIiwic3RvcmUiLCJjaGlsZHJlbiIsIm9wdGlvbnMiLCJvcHRpb24iLCJhdXRvTG9hZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJzdG9yZXMiLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJpc0ZpcnN0IiwiaW5pdCIsImRhdGFDaGFuZ2VkIiwicHJldlByb3BzIiwicHJldlN0YXRlIiwic25hcHNob3QiLCJKU09OIiwic3RyaW5naWZ5IiwidiIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDaGFydFJlc2l6ZSIsImJpbmQiLCJ0ZXN0Iiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiZGF0YXMiLCJkYXRhTWFwIiwicmVzdWx0IiwiaXNTdHJpbmciLCJpc1JlcGxhY2UiLCJyZXBsYWNlIiwibWFwIiwiaXRlbSIsInZhbHVlIiwiZGF0YUNvbnZlcnNpb24iLCJ0ZW1wT2JqIiwia2V5IiwicHVzaCIsIm9iaiIsIk9uQ2xpY2siLCJzdGF0ZSIsIm5ld0RhdGFzIiwibmV3T3B0aW9uIiwieEF4aXMiLCJvYmplY3RDb252ZXJzaW9uIiwieUF4aXMiLCJzZXJpZXMiLCJteUNoYXJ0IiwiY2hhcnRSZWYiLCJjdXJyZW50IiwiY2xlYXIiLCJzZXRPcHRpb24iLCJvbiIsInBhcmFtcyIsIm9mZiIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZXNpemUiLCJ3aWR0aCIsImhlaWdo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QUFBLE9BQU8sQ0FBQ0csS0FBUjtBQUNBSCxNQUFBQSxPQUFPLENBQUNJLFNBQVIsQ0FBa0JULFNBQWxCO0FBQ0FLLE1BQUFBLE9BQU8sQ0FBQ0ssRUFBUixDQUFXLE9BQVgsRUFBb0IsVUFBVUMsTUFBVixFQUFrQjtBQUNwQ04sUUFBQUEsT0FBTyxDQUFDTyxHQUFSLENBQVksT0FBWixFQURvQyxDQUNkOztBQUN0QmYsUUFBQUEsT0FBTyxJQUFJQSxPQUFPLENBQUNjLE1BQUQsQ0FBbEI7QUFDRCxPQUhEO0FBSUFuQyxNQUFBQSxNQUFNLENBQUNxQyxnQkFBUCxDQUF3QixRQUF4QixFQUFrQyxLQUFLbkMsaUJBQUwsQ0FBdUJDLElBQXZCLENBQTRCLElBQTVCLENBQWxDO0FBQ0Q7OztXQUVELDZCQUFvQjtBQUNsQixVQUFJLEtBQUswQixPQUFULEVBQWtCO0FBQ2hCLGFBQUtBLE9BQUwsQ0FBYVMsTUFBYjtBQUNEO0FBQ0Y7OztXQUVELGtCQUFTO0FBQ1AseUJBQTBCLEtBQUt0RSxLQUEvQjtBQUFBLFVBQVF1RSxLQUFSLGdCQUFRQSxLQUFSO0FBQUEsVUFBZUMsTUFBZixnQkFBZUEsTUFBZjtBQUNBLFVBQU1DLFFBQVEsR0FBRztBQUNmRixRQUFBQSxLQUFLLEVBQUUsT0FBT0EsS0FBUCxJQUFnQixRQUFoQixHQUEyQjNFLEtBQUssQ0FBQzJFLEtBQUQsQ0FBaEMsR0FBMENBLEtBRGxDO0FBRWZDLFFBQUFBLE1BQU0sRUFBRSxPQUFPQSxNQUFQLElBQWlCLFFBQWpCLEdBQTRCNUUsS0FBSyxDQUFDNEUsTUFBRCxDQUFqQyxHQUE0Q0E7QUFGckMsT0FBakI7QUFJQSwwQkFBTztBQUFLLFFBQUEsS0FBSyxFQUFFQyxRQUFaO0FBQXNCLFFBQUEsR0FBRyxFQUFFLEtBQUtYO0FBQWhDLFFBQVA7QUFDRDs7OztFQWpOb0J0RSxhOztBQW9OdkIsZUFBZU8sUUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCAqIGFzIGVjaGFydHMgZnJvbSBcImVjaGFydHNcIjtcclxuaW1wb3J0IHsgRUNoYXJ0cyB9IGZyb20gXCJlY2hhcnRzL2xpYi9lY2hhcnRzXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgeyBweDJ2dyB9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBpc0FycmF5LCBpc09iamVjdCB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbnRlcmZhY2UgQ2hhcnRQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIG9wdGlvbjogYW55O1xyXG4gIGRhdGE/OiBBcnJheTxPYmplY3Q+IHwgT2JqZWN0O1xyXG4gIHdpZHRoOiBudW1iZXIgfCBzdHJpbmc7IC8v5Zu+6KGo5a695bqmXHJcbiAgaGVpZ2h0OiBudW1iZXIgfCBzdHJpbmc7IC8v5Zu+6KGo6ZW/5bqmXHJcbiAgYXV0b0xvYWQ6IGJvb2xlYW47IC8v5pWw5o2u5pS55Y+Y77yM6Ieq5Yqo5Yi35paw5Zu+6KGoLOm7mOiupHRydWVcclxuICBPbkNsaWNrPzogKHBhcmFtczogYW55KSA9PiB2b2lkOyAvL+WbvuihqOeCueWHu+S6i+S7tlxyXG59XHJcblxyXG4vL2RhdGHnpLrkvotcclxuLyoqXHJcbiDmlbDnu4TvvJpcclxuIGRhdGE9W3tuYW1lOicx5pyIJyx2YWx1ZToyMH0se25hbWU6JzLmnIgnLHZhbHVlOjEwfSx7bmFtZTonM+aciCcsdmFsdWU6MjV9XVxyXG4g5a+56LGhXHJcbiBkYXRhPXtuYW1lOlsnMeaciCcsJzLmnIgnLCcz5pyIJ10sdmFsdWU6WzIwLDMwLDQwXX1cclxuICovXHJcbmNsYXNzIE5zY0NoYXJ0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxDaGFydFByb3BzPiB7XHJcbiAgY2hhcnRSZWYgPSBSZWFjdC5jcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XHJcbiAgbXlDaGFydDogRUNoYXJ0cyB8IG51bGwgPSBudWxsO1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IG51bGwsXHJcbiAgfTtcclxuICBpc0ZpcnN0ID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkYXRhLFxyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgb3B0aW9uOiBvcHRpb25zLFxyXG4gICAgICBhdXRvTG9hZCA9IHRydWUsXHJcbiAgICB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB7IHVybCwgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sIC4uLnN0b3JlcyB9ID0gc3RvcmU7XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGlmICghKGRhdGEgfHwgdXJsIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBZGF0YeOAgW9wdGlvbuS4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICBsZXQgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChfdGhpcy5pc0ZpcnN0ICYmIGF1dG9Mb2FkKSB7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5pbml0KCk7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5pc0ZpcnN0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChhdXRvTG9hZCkge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuaW5pdCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKHVybCAmJiBkYXRhID09IG51bGwpIHtcclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgYXV0b0xvYWQsIHN0b3JlLCBvcHRpb24gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoZGF0YSAmJiBhdXRvTG9hZCkge1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgIH0gZWxzZSBpZiAoIWRhdGEgJiYgIXN0b3JlPy51cmwgJiYgb3B0aW9uKSB7XHJcbiAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKFxyXG4gICAgcHJldlByb3BzOiBSZWFkb25seTxDaGFydFByb3BzPixcclxuICAgIHByZXZTdGF0ZTogUmVhZG9ubHk8e30+LFxyXG4gICAgc25hcHNob3Q/OiBhbnlcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgYXV0b0xvYWQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoYXV0b0xvYWQpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KHByZXZQcm9wcy5kYXRhKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5wcm9wcy5kYXRhKSkge1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZVNldENoYXJ0KCkge1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG4gIGlzU3RyaW5nKHYpIHtcclxuICAgIHJldHVybiB0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIjtcclxuICB9XHJcbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLmhhbmRsZUNoYXJ0UmVzaXplLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgaXNSZXBsYWNlKHYpIHtcclxuICAgIHJldHVybiAvXnsuKn0kL2dpLnRlc3Qodik7XHJcbiAgfVxyXG4gIHJlcGxhY2Uodikge1xyXG4gICAgcmV0dXJuIHYuc3Vic3RyaW5nKDEsIHYubGVuZ3RoIC0gMSk7XHJcbiAgfVxyXG5cclxuICBkYXRhQ29udmVyc2lvbihkYXRhLCBkYXRhcywgZGF0YU1hcCkge1xyXG4gICAgbGV0IHJlc3VsdDtcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzU3RyaW5nKGRhdGEpICYmIHRoaXMuaXNSZXBsYWNlKGRhdGEpKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gZGF0YU1hcFt0aGlzLnJlcGxhY2UoZGF0YSldO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICBkYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHYgPSBpdGVtLnZhbHVlO1xyXG4gICAgICAgICAgaWYgKHYgJiYgdGhpcy5pc1JlcGxhY2UodikpIHtcclxuICAgICAgICAgICAgaXRlbS52YWx1ZSA9IHRoaXMuZGF0YUNvbnZlcnNpb24odiwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdCA9IGRhdGE7XHJcbiAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QoZGF0YSkpIHtcclxuICAgICAgICByZXN1bHQgPSBbXTtcclxuICAgICAgICBpZiAoaXNBcnJheShkYXRhcykpIHtcclxuICAgICAgICAgIGRhdGFzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICB2YXIgdGVtcE9iaiA9IHt9O1xyXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gaXRlbSkge1xyXG4gICAgICAgICAgICAgIGxldCB2ID0gaXRlbVtrZXldO1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmlzUmVwbGFjZSh2KSkge1xyXG4gICAgICAgICAgICAgICAgdGVtcE9ialtrZXldID0gaXRlbVt0aGlzLnJlcGxhY2UodildO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0ZW1wT2JqW2tleV0gPSB2O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXN1bHQucHVzaCh0ZW1wT2JqKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbiAgb2JqZWN0Q29udmVyc2lvbihvYmosIGRhdGFzLCBkYXRhTWFwKSB7XHJcbiAgICBsZXQgdGVtcE9iajogYW55O1xyXG4gICAgaWYgKG9iaikge1xyXG4gICAgICBpZiAoaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgdGVtcE9iaiA9IFsuLi5vYmpdO1xyXG4gICAgICAgIHRlbXBPYmoubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpZiAoaXRlbS5kYXRhKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uZGF0YSA9IHRoaXMuZGF0YUNvbnZlcnNpb24oaXRlbS5kYXRhLCBkYXRhcywgZGF0YU1hcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1N0cmluZyhvYmopKSB7XHJcbiAgICAgICAgdGVtcE9iaiA9IG9iajtcclxuICAgICAgICB0ZW1wT2JqLmRhdGEgPSB0aGlzLmRhdGFDb252ZXJzaW9uKHRlbXBPYmosIGRhdGFzLCBkYXRhTWFwKTtcclxuICAgICAgfSBlbHNlIGlmIChpc09iamVjdChvYmopKSB7XHJcbiAgICAgICAgdGVtcE9iaiA9IHsgLi4ub2JqIH07XHJcbiAgICAgICAgdGVtcE9iai5kYXRhID0gdGhpcy5kYXRhQ29udmVyc2lvbih0ZW1wT2JqLmRhdGEsIGRhdGFzLCBkYXRhTWFwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRlbXBPYmo7XHJcbiAgfVxyXG4gIGluaXQoKSB7XHJcbiAgICBjb25zdCB7IG9wdGlvbiwgZGF0YSwgT25DbGljayB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBkYXRhTWFwOiBhbnkgPSB7fTtcclxuICAgIGNvbnN0IG5ld0RhdGFzID0gZGF0YSB8fCBkYXRhU291cmNlO1xyXG4gICAgbGV0IG5ld09wdGlvbjogYW55ID0geyAuLi5vcHRpb24gfTtcclxuICAgIGlmIChpc0FycmF5KG5ld0RhdGFzKSkge1xyXG4gICAgICBuZXdEYXRhcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gaXRlbSkge1xyXG4gICAgICAgICAgaWYgKGRhdGFNYXBba2V5XSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGRhdGFNYXBba2V5XSA9IFtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZGF0YU1hcFtrZXldLnB1c2goaXRlbVtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChpc09iamVjdChuZXdEYXRhcykpIHtcclxuICAgICAgZGF0YU1hcCA9IG5ld0RhdGFzO1xyXG4gICAgfVxyXG4gICAgbmV3T3B0aW9uLnhBeGlzID0gdGhpcy5vYmplY3RDb252ZXJzaW9uKG5ld09wdGlvbi54QXhpcywgbmV3RGF0YXMsIGRhdGFNYXApO1xyXG4gICAgbmV3T3B0aW9uLnlBeGlzID0gdGhpcy5vYmplY3RDb252ZXJzaW9uKG5ld09wdGlvbi55QXhpcywgbmV3RGF0YXMsIGRhdGFNYXApO1xyXG4gICAgbmV3T3B0aW9uLnNlcmllcyA9IHRoaXMub2JqZWN0Q29udmVyc2lvbihcclxuICAgICAgbmV3T3B0aW9uLnNlcmllcyxcclxuICAgICAgbmV3RGF0YXMsXHJcbiAgICAgIGRhdGFNYXBcclxuICAgICk7XHJcbiAgICBjb25zdCBteUNoYXJ0ID0gKHRoaXMubXlDaGFydCA9IGVjaGFydHMuaW5pdChcclxuICAgICAgdGhpcy5jaGFydFJlZi5jdXJyZW50IGFzIEhUTUxEaXZFbGVtZW50XHJcbiAgICApKTsgLy/liJ3lp4vljJZlY2hhcnRz77yM6YCa6L+HcmVm5bGe5oCn6I635Y+WZG9tXHJcbiAgICBteUNoYXJ0LmNsZWFyKCk7XHJcbiAgICBteUNoYXJ0LnNldE9wdGlvbihuZXdPcHRpb24pO1xyXG4gICAgbXlDaGFydC5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChwYXJhbXMpIHtcclxuICAgICAgbXlDaGFydC5vZmYoXCJjbGlja1wiKTsgLy8g6L+Z6YeM5b6I6YeN6KaBIO+8jOmYsuatoumHjeWkjeeCueWHu+S6i+S7tu+8ge+8ge+8gVxyXG4gICAgICBPbkNsaWNrICYmIE9uQ2xpY2socGFyYW1zKTtcclxuICAgIH0pO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVDaGFydFJlc2l6ZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYXJ0UmVzaXplKCkge1xyXG4gICAgaWYgKHRoaXMubXlDaGFydCkge1xyXG4gICAgICB0aGlzLm15Q2hhcnQucmVzaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBib3hTdHlsZSA9IHtcclxuICAgICAgd2lkdGg6IHR5cGVvZiB3aWR0aCA9PSBcIm51bWJlclwiID8gcHgydncod2lkdGgpIDogd2lkdGgsXHJcbiAgICAgIGhlaWdodDogdHlwZW9mIGhlaWdodCA9PSBcIm51bWJlclwiID8gcHgydncoaGVpZ2h0KSA6IGhlaWdodCxcclxuICAgIH07XHJcbiAgICByZXR1cm4gPGRpdiBzdHlsZT17Ym94U3R5bGV9IHJlZj17dGhpcy5jaGFydFJlZn0+PC9kaXY+O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTnNjQ2hhcnQ7XHJcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "1.1.2",
3
+ "version": "1.1.6",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -61,7 +61,7 @@
61
61
  "@babel/runtime": "^7.13.17",
62
62
  "@babel/runtime-corejs3": "^7.13.17",
63
63
  "@bj-nsc/functions": "^1.2.14",
64
- "@bj-nsc/msn": "^1.0.10",
64
+ "@bj-nsc/msn": "^1.0.11",
65
65
  "classnames": "^2.2.6",
66
66
  "clone-deep": "^4.0.1",
67
67
  "core-js": "3",