@eva/plugin-evax 1.2.0-alpha.8 → 1.2.0

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.
@@ -1,1720 +0,0 @@
1
- this.EVA = this.EVA || {};
2
- this.EVA.plugin = this.EVA.plugin || {};
3
-
4
- this.EVA.plugin.EVAX = function (exports, eva_js) {
5
- 'use strict';
6
-
7
- var _extendStatics = function extendStatics(d, b) {
8
- _extendStatics = Object.setPrototypeOf || {
9
- __proto__: []
10
- } instanceof Array && function (d, b) {
11
- d.__proto__ = b;
12
- } || function (d, b) {
13
- for (var p in b) {
14
- if (b.hasOwnProperty(p)) d[p] = b[p];
15
- }
16
- };
17
-
18
- return _extendStatics(d, b);
19
- };
20
-
21
- function __extends(d, b) {
22
- _extendStatics(d, b);
23
-
24
- function __() {
25
- this.constructor = d;
26
- }
27
-
28
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
29
- }
30
-
31
- function __decorate(decorators, target, key, desc) {
32
- var c = arguments.length,
33
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
34
- d;
35
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {
36
- if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
37
- }
38
- return c > 3 && r && Object.defineProperty(target, key, r), r;
39
- }
40
-
41
- function __values(o) {
42
- var s = typeof Symbol === "function" && Symbol.iterator,
43
- m = s && o[s],
44
- i = 0;
45
- if (m) return m.call(o);
46
- if (o && typeof o.length === "number") return {
47
- next: function next() {
48
- if (o && i >= o.length) o = void 0;
49
- return {
50
- value: o && o[i++],
51
- done: !o
52
- };
53
- }
54
- };
55
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
56
- }
57
-
58
- function __read(o, n) {
59
- var m = typeof Symbol === "function" && o[Symbol.iterator];
60
- if (!m) return o;
61
- var i = m.call(o),
62
- r,
63
- ar = [],
64
- e;
65
-
66
- try {
67
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
68
- ar.push(r.value);
69
- }
70
- } catch (error) {
71
- e = {
72
- error: error
73
- };
74
- } finally {
75
- try {
76
- if (r && !r.done && (m = i["return"])) m.call(i);
77
- } finally {
78
- if (e) throw e.error;
79
- }
80
- }
81
-
82
- return ar;
83
- }
84
-
85
- function __spread() {
86
- for (var ar = [], i = 0; i < arguments.length; i++) {
87
- ar = ar.concat(__read(arguments[i]));
88
- }
89
-
90
- return ar;
91
- }
92
-
93
- var EvaXComponent = function (_super) {
94
- __extends(EvaXComponent, _super);
95
-
96
- function EvaXComponent(gameObject) {
97
- var _this = _super.call(this, gameObject) || this;
98
-
99
- _this.events = {};
100
- return _this;
101
- }
102
-
103
- EvaXComponent.prototype.init = function (option) {
104
- if (option === void 0) {
105
- option = {
106
- events: {}
107
- };
108
- }
109
-
110
- var events = option.events;
111
- this.events = events || {};
112
- };
113
-
114
- EvaXComponent.componentName = 'EvaX';
115
- return EvaXComponent;
116
- }(eva_js.Component);
117
-
118
- var EvaXComponent$1 = EvaXComponent;
119
-
120
- function createCommonjsModule(fn) {
121
- var module = {
122
- exports: {}
123
- };
124
- return fn(module, module.exports), module.exports;
125
- }
126
-
127
- var eventemitter3 = createCommonjsModule(function (module) {
128
- var has = Object.prototype.hasOwnProperty,
129
- prefix = '~';
130
-
131
- function Events() {}
132
-
133
- if (Object.create) {
134
- Events.prototype = Object.create(null);
135
- if (!new Events().__proto__) prefix = false;
136
- }
137
-
138
- function EE(fn, context, once) {
139
- this.fn = fn;
140
- this.context = context;
141
- this.once = once || false;
142
- }
143
-
144
- function addListener(emitter, event, fn, context, once) {
145
- if (typeof fn !== 'function') {
146
- throw new TypeError('The listener must be a function');
147
- }
148
-
149
- var listener = new EE(fn, context || emitter, once),
150
- evt = prefix ? prefix + event : event;
151
- if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);else emitter._events[evt] = [emitter._events[evt], listener];
152
- return emitter;
153
- }
154
-
155
- function clearEvent(emitter, evt) {
156
- if (--emitter._eventsCount === 0) emitter._events = new Events();else delete emitter._events[evt];
157
- }
158
-
159
- function EventEmitter() {
160
- this._events = new Events();
161
- this._eventsCount = 0;
162
- }
163
-
164
- EventEmitter.prototype.eventNames = function eventNames() {
165
- var names = [],
166
- events,
167
- name;
168
- if (this._eventsCount === 0) return names;
169
-
170
- for (name in events = this._events) {
171
- if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
172
- }
173
-
174
- if (Object.getOwnPropertySymbols) {
175
- return names.concat(Object.getOwnPropertySymbols(events));
176
- }
177
-
178
- return names;
179
- };
180
-
181
- EventEmitter.prototype.listeners = function listeners(event) {
182
- var evt = prefix ? prefix + event : event,
183
- handlers = this._events[evt];
184
- if (!handlers) return [];
185
- if (handlers.fn) return [handlers.fn];
186
-
187
- for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {
188
- ee[i] = handlers[i].fn;
189
- }
190
-
191
- return ee;
192
- };
193
-
194
- EventEmitter.prototype.listenerCount = function listenerCount(event) {
195
- var evt = prefix ? prefix + event : event,
196
- listeners = this._events[evt];
197
- if (!listeners) return 0;
198
- if (listeners.fn) return 1;
199
- return listeners.length;
200
- };
201
-
202
- EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
203
- var evt = prefix ? prefix + event : event;
204
- if (!this._events[evt]) return false;
205
- var listeners = this._events[evt],
206
- len = arguments.length,
207
- args,
208
- i;
209
-
210
- if (listeners.fn) {
211
- if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);
212
-
213
- switch (len) {
214
- case 1:
215
- return listeners.fn.call(listeners.context), true;
216
-
217
- case 2:
218
- return listeners.fn.call(listeners.context, a1), true;
219
-
220
- case 3:
221
- return listeners.fn.call(listeners.context, a1, a2), true;
222
-
223
- case 4:
224
- return listeners.fn.call(listeners.context, a1, a2, a3), true;
225
-
226
- case 5:
227
- return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
228
-
229
- case 6:
230
- return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
231
- }
232
-
233
- for (i = 1, args = new Array(len - 1); i < len; i++) {
234
- args[i - 1] = arguments[i];
235
- }
236
-
237
- listeners.fn.apply(listeners.context, args);
238
- } else {
239
- var length = listeners.length,
240
- j;
241
-
242
- for (i = 0; i < length; i++) {
243
- if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);
244
-
245
- switch (len) {
246
- case 1:
247
- listeners[i].fn.call(listeners[i].context);
248
- break;
249
-
250
- case 2:
251
- listeners[i].fn.call(listeners[i].context, a1);
252
- break;
253
-
254
- case 3:
255
- listeners[i].fn.call(listeners[i].context, a1, a2);
256
- break;
257
-
258
- case 4:
259
- listeners[i].fn.call(listeners[i].context, a1, a2, a3);
260
- break;
261
-
262
- default:
263
- if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) {
264
- args[j - 1] = arguments[j];
265
- }
266
- listeners[i].fn.apply(listeners[i].context, args);
267
- }
268
- }
269
- }
270
-
271
- return true;
272
- };
273
-
274
- EventEmitter.prototype.on = function on(event, fn, context) {
275
- return addListener(this, event, fn, context, false);
276
- };
277
-
278
- EventEmitter.prototype.once = function once(event, fn, context) {
279
- return addListener(this, event, fn, context, true);
280
- };
281
-
282
- EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
283
- var evt = prefix ? prefix + event : event;
284
- if (!this._events[evt]) return this;
285
-
286
- if (!fn) {
287
- clearEvent(this, evt);
288
- return this;
289
- }
290
-
291
- var listeners = this._events[evt];
292
-
293
- if (listeners.fn) {
294
- if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
295
- clearEvent(this, evt);
296
- }
297
- } else {
298
- for (var i = 0, events = [], length = listeners.length; i < length; i++) {
299
- if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {
300
- events.push(listeners[i]);
301
- }
302
- }
303
-
304
- if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;else clearEvent(this, evt);
305
- }
306
-
307
- return this;
308
- };
309
-
310
- EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
311
- var evt;
312
-
313
- if (event) {
314
- evt = prefix ? prefix + event : event;
315
- if (this._events[evt]) clearEvent(this, evt);
316
- } else {
317
- this._events = new Events();
318
- this._eventsCount = 0;
319
- }
320
-
321
- return this;
322
- };
323
-
324
- EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
325
- EventEmitter.prototype.addListener = EventEmitter.prototype.on;
326
- EventEmitter.prefixed = prefix;
327
- EventEmitter.EventEmitter = EventEmitter;
328
- {
329
- module.exports = EventEmitter;
330
- }
331
- });
332
- var EventEmitter = eventemitter3;
333
-
334
- function listCacheClear() {
335
- this.__data__ = [];
336
- this.size = 0;
337
- }
338
-
339
- function eq(value, other) {
340
- return value === other || value !== value && other !== other;
341
- }
342
-
343
- function assocIndexOf(array, key) {
344
- var length = array.length;
345
-
346
- while (length--) {
347
- if (eq(array[length][0], key)) {
348
- return length;
349
- }
350
- }
351
-
352
- return -1;
353
- }
354
-
355
- var arrayProto = Array.prototype;
356
- var splice = arrayProto.splice;
357
-
358
- function listCacheDelete(key) {
359
- var data = this.__data__,
360
- index = assocIndexOf(data, key);
361
-
362
- if (index < 0) {
363
- return false;
364
- }
365
-
366
- var lastIndex = data.length - 1;
367
-
368
- if (index == lastIndex) {
369
- data.pop();
370
- } else {
371
- splice.call(data, index, 1);
372
- }
373
-
374
- --this.size;
375
- return true;
376
- }
377
-
378
- function listCacheGet(key) {
379
- var data = this.__data__,
380
- index = assocIndexOf(data, key);
381
- return index < 0 ? undefined : data[index][1];
382
- }
383
-
384
- function listCacheHas(key) {
385
- return assocIndexOf(this.__data__, key) > -1;
386
- }
387
-
388
- function listCacheSet(key, value) {
389
- var data = this.__data__,
390
- index = assocIndexOf(data, key);
391
-
392
- if (index < 0) {
393
- ++this.size;
394
- data.push([key, value]);
395
- } else {
396
- data[index][1] = value;
397
- }
398
-
399
- return this;
400
- }
401
-
402
- function ListCache(entries) {
403
- var index = -1,
404
- length = entries == null ? 0 : entries.length;
405
- this.clear();
406
-
407
- while (++index < length) {
408
- var entry = entries[index];
409
- this.set(entry[0], entry[1]);
410
- }
411
- }
412
-
413
- ListCache.prototype.clear = listCacheClear;
414
- ListCache.prototype['delete'] = listCacheDelete;
415
- ListCache.prototype.get = listCacheGet;
416
- ListCache.prototype.has = listCacheHas;
417
- ListCache.prototype.set = listCacheSet;
418
-
419
- function stackClear() {
420
- this.__data__ = new ListCache();
421
- this.size = 0;
422
- }
423
-
424
- function stackDelete(key) {
425
- var data = this.__data__,
426
- result = data['delete'](key);
427
- this.size = data.size;
428
- return result;
429
- }
430
-
431
- function stackGet(key) {
432
- return this.__data__.get(key);
433
- }
434
-
435
- function stackHas(key) {
436
- return this.__data__.has(key);
437
- }
438
-
439
- var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
440
- var freeGlobal$1 = freeGlobal;
441
- var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
442
- var root = freeGlobal$1 || freeSelf || Function('return this')();
443
- var root$1 = root;
444
- var Symbol$1 = root$1.Symbol;
445
- var Symbol$2 = Symbol$1;
446
- var objectProto$c = Object.prototype;
447
- var hasOwnProperty$9 = objectProto$c.hasOwnProperty;
448
- var nativeObjectToString$1 = objectProto$c.toString;
449
- var symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : undefined;
450
-
451
- function getRawTag(value) {
452
- var isOwn = hasOwnProperty$9.call(value, symToStringTag$1),
453
- tag = value[symToStringTag$1];
454
-
455
- try {
456
- value[symToStringTag$1] = undefined;
457
- var unmasked = true;
458
- } catch (e) {}
459
-
460
- var result = nativeObjectToString$1.call(value);
461
-
462
- if (unmasked) {
463
- if (isOwn) {
464
- value[symToStringTag$1] = tag;
465
- } else {
466
- delete value[symToStringTag$1];
467
- }
468
- }
469
-
470
- return result;
471
- }
472
-
473
- var objectProto$b = Object.prototype;
474
- var nativeObjectToString = objectProto$b.toString;
475
-
476
- function objectToString(value) {
477
- return nativeObjectToString.call(value);
478
- }
479
-
480
- var nullTag = '[object Null]',
481
- undefinedTag = '[object Undefined]';
482
- var symToStringTag = Symbol$2 ? Symbol$2.toStringTag : undefined;
483
-
484
- function baseGetTag(value) {
485
- if (value == null) {
486
- return value === undefined ? undefinedTag : nullTag;
487
- }
488
-
489
- return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
490
- }
491
-
492
- function isObject(value) {
493
- var type = typeof value;
494
- return value != null && (type == 'object' || type == 'function');
495
- }
496
-
497
- var asyncTag = '[object AsyncFunction]',
498
- funcTag$2 = '[object Function]',
499
- genTag$1 = '[object GeneratorFunction]',
500
- proxyTag = '[object Proxy]';
501
-
502
- function isFunction(value) {
503
- if (!isObject(value)) {
504
- return false;
505
- }
506
-
507
- var tag = baseGetTag(value);
508
- return tag == funcTag$2 || tag == genTag$1 || tag == asyncTag || tag == proxyTag;
509
- }
510
-
511
- var coreJsData = root$1['__core-js_shared__'];
512
- var coreJsData$1 = coreJsData;
513
-
514
- var maskSrcKey = function () {
515
- var uid = /[^.]+$/.exec(coreJsData$1 && coreJsData$1.keys && coreJsData$1.keys.IE_PROTO || '');
516
- return uid ? 'Symbol(src)_1.' + uid : '';
517
- }();
518
-
519
- function isMasked(func) {
520
- return !!maskSrcKey && maskSrcKey in func;
521
- }
522
-
523
- var funcProto$1 = Function.prototype;
524
- var funcToString$1 = funcProto$1.toString;
525
-
526
- function toSource(func) {
527
- if (func != null) {
528
- try {
529
- return funcToString$1.call(func);
530
- } catch (e) {}
531
-
532
- try {
533
- return func + '';
534
- } catch (e) {}
535
- }
536
-
537
- return '';
538
- }
539
-
540
- var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
541
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
542
- var funcProto = Function.prototype,
543
- objectProto$a = Object.prototype;
544
- var funcToString = funcProto.toString;
545
- var hasOwnProperty$8 = objectProto$a.hasOwnProperty;
546
- var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty$8).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');
547
-
548
- function baseIsNative(value) {
549
- if (!isObject(value) || isMasked(value)) {
550
- return false;
551
- }
552
-
553
- var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
554
- return pattern.test(toSource(value));
555
- }
556
-
557
- function getValue(object, key) {
558
- return object == null ? undefined : object[key];
559
- }
560
-
561
- function getNative(object, key) {
562
- var value = getValue(object, key);
563
- return baseIsNative(value) ? value : undefined;
564
- }
565
-
566
- var Map$1 = getNative(root$1, 'Map');
567
- var Map$2 = Map$1;
568
- var nativeCreate = getNative(Object, 'create');
569
- var nativeCreate$1 = nativeCreate;
570
-
571
- function hashClear() {
572
- this.__data__ = nativeCreate$1 ? nativeCreate$1(null) : {};
573
- this.size = 0;
574
- }
575
-
576
- function hashDelete(key) {
577
- var result = this.has(key) && delete this.__data__[key];
578
- this.size -= result ? 1 : 0;
579
- return result;
580
- }
581
-
582
- var HASH_UNDEFINED$1 = '__lodash_hash_undefined__';
583
- var objectProto$9 = Object.prototype;
584
- var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
585
-
586
- function hashGet(key) {
587
- var data = this.__data__;
588
-
589
- if (nativeCreate$1) {
590
- var result = data[key];
591
- return result === HASH_UNDEFINED$1 ? undefined : result;
592
- }
593
-
594
- return hasOwnProperty$7.call(data, key) ? data[key] : undefined;
595
- }
596
-
597
- var objectProto$8 = Object.prototype;
598
- var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
599
-
600
- function hashHas(key) {
601
- var data = this.__data__;
602
- return nativeCreate$1 ? data[key] !== undefined : hasOwnProperty$6.call(data, key);
603
- }
604
-
605
- var HASH_UNDEFINED = '__lodash_hash_undefined__';
606
-
607
- function hashSet(key, value) {
608
- var data = this.__data__;
609
- this.size += this.has(key) ? 0 : 1;
610
- data[key] = nativeCreate$1 && value === undefined ? HASH_UNDEFINED : value;
611
- return this;
612
- }
613
-
614
- function Hash(entries) {
615
- var index = -1,
616
- length = entries == null ? 0 : entries.length;
617
- this.clear();
618
-
619
- while (++index < length) {
620
- var entry = entries[index];
621
- this.set(entry[0], entry[1]);
622
- }
623
- }
624
-
625
- Hash.prototype.clear = hashClear;
626
- Hash.prototype['delete'] = hashDelete;
627
- Hash.prototype.get = hashGet;
628
- Hash.prototype.has = hashHas;
629
- Hash.prototype.set = hashSet;
630
-
631
- function mapCacheClear() {
632
- this.size = 0;
633
- this.__data__ = {
634
- 'hash': new Hash(),
635
- 'map': new (Map$2 || ListCache)(),
636
- 'string': new Hash()
637
- };
638
- }
639
-
640
- function isKeyable(value) {
641
- var type = typeof value;
642
- return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null;
643
- }
644
-
645
- function getMapData(map, key) {
646
- var data = map.__data__;
647
- return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;
648
- }
649
-
650
- function mapCacheDelete(key) {
651
- var result = getMapData(this, key)['delete'](key);
652
- this.size -= result ? 1 : 0;
653
- return result;
654
- }
655
-
656
- function mapCacheGet(key) {
657
- return getMapData(this, key).get(key);
658
- }
659
-
660
- function mapCacheHas(key) {
661
- return getMapData(this, key).has(key);
662
- }
663
-
664
- function mapCacheSet(key, value) {
665
- var data = getMapData(this, key),
666
- size = data.size;
667
- data.set(key, value);
668
- this.size += data.size == size ? 0 : 1;
669
- return this;
670
- }
671
-
672
- function MapCache(entries) {
673
- var index = -1,
674
- length = entries == null ? 0 : entries.length;
675
- this.clear();
676
-
677
- while (++index < length) {
678
- var entry = entries[index];
679
- this.set(entry[0], entry[1]);
680
- }
681
- }
682
-
683
- MapCache.prototype.clear = mapCacheClear;
684
- MapCache.prototype['delete'] = mapCacheDelete;
685
- MapCache.prototype.get = mapCacheGet;
686
- MapCache.prototype.has = mapCacheHas;
687
- MapCache.prototype.set = mapCacheSet;
688
- var LARGE_ARRAY_SIZE = 200;
689
-
690
- function stackSet(key, value) {
691
- var data = this.__data__;
692
-
693
- if (data instanceof ListCache) {
694
- var pairs = data.__data__;
695
-
696
- if (!Map$2 || pairs.length < LARGE_ARRAY_SIZE - 1) {
697
- pairs.push([key, value]);
698
- this.size = ++data.size;
699
- return this;
700
- }
701
-
702
- data = this.__data__ = new MapCache(pairs);
703
- }
704
-
705
- data.set(key, value);
706
- this.size = data.size;
707
- return this;
708
- }
709
-
710
- function Stack(entries) {
711
- var data = this.__data__ = new ListCache(entries);
712
- this.size = data.size;
713
- }
714
-
715
- Stack.prototype.clear = stackClear;
716
- Stack.prototype['delete'] = stackDelete;
717
- Stack.prototype.get = stackGet;
718
- Stack.prototype.has = stackHas;
719
- Stack.prototype.set = stackSet;
720
-
721
- function arrayEach(array, iteratee) {
722
- var index = -1,
723
- length = array == null ? 0 : array.length;
724
-
725
- while (++index < length) {
726
- if (iteratee(array[index], index, array) === false) {
727
- break;
728
- }
729
- }
730
-
731
- return array;
732
- }
733
-
734
- var defineProperty$1 = function () {
735
- try {
736
- var func = getNative(Object, 'defineProperty');
737
- func({}, '', {});
738
- return func;
739
- } catch (e) {}
740
- }();
741
-
742
- var defineProperty$2 = defineProperty$1;
743
-
744
- function baseAssignValue(object, key, value) {
745
- if (key == '__proto__' && defineProperty$2) {
746
- defineProperty$2(object, key, {
747
- 'configurable': true,
748
- 'enumerable': true,
749
- 'value': value,
750
- 'writable': true
751
- });
752
- } else {
753
- object[key] = value;
754
- }
755
- }
756
-
757
- var objectProto$7 = Object.prototype;
758
- var hasOwnProperty$5 = objectProto$7.hasOwnProperty;
759
-
760
- function assignValue(object, key, value) {
761
- var objValue = object[key];
762
-
763
- if (!(hasOwnProperty$5.call(object, key) && eq(objValue, value)) || value === undefined && !(key in object)) {
764
- baseAssignValue(object, key, value);
765
- }
766
- }
767
-
768
- function copyObject(source, props, object, customizer) {
769
- var isNew = !object;
770
- object || (object = {});
771
- var index = -1,
772
- length = props.length;
773
-
774
- while (++index < length) {
775
- var key = props[index];
776
- var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined;
777
-
778
- if (newValue === undefined) {
779
- newValue = source[key];
780
- }
781
-
782
- if (isNew) {
783
- baseAssignValue(object, key, newValue);
784
- } else {
785
- assignValue(object, key, newValue);
786
- }
787
- }
788
-
789
- return object;
790
- }
791
-
792
- function baseTimes(n, iteratee) {
793
- var index = -1,
794
- result = Array(n);
795
-
796
- while (++index < n) {
797
- result[index] = iteratee(index);
798
- }
799
-
800
- return result;
801
- }
802
-
803
- function isObjectLike(value) {
804
- return value != null && typeof value == 'object';
805
- }
806
-
807
- var argsTag$2 = '[object Arguments]';
808
-
809
- function baseIsArguments(value) {
810
- return isObjectLike(value) && baseGetTag(value) == argsTag$2;
811
- }
812
-
813
- var objectProto$6 = Object.prototype;
814
- var hasOwnProperty$4 = objectProto$6.hasOwnProperty;
815
- var propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;
816
- var isArguments = baseIsArguments(function () {
817
- return arguments;
818
- }()) ? baseIsArguments : function (value) {
819
- return isObjectLike(value) && hasOwnProperty$4.call(value, 'callee') && !propertyIsEnumerable$1.call(value, 'callee');
820
- };
821
- var isArguments$1 = isArguments;
822
- var isArray = Array.isArray;
823
- var isArray$1 = isArray;
824
-
825
- function stubFalse() {
826
- return false;
827
- }
828
-
829
- var freeExports$2 = typeof exports == 'object' && exports && !exports.nodeType && exports;
830
- var freeModule$2 = freeExports$2 && typeof module == 'object' && module && !module.nodeType && module;
831
- var moduleExports$2 = freeModule$2 && freeModule$2.exports === freeExports$2;
832
- var Buffer$1 = moduleExports$2 ? root$1.Buffer : undefined;
833
- var nativeIsBuffer = Buffer$1 ? Buffer$1.isBuffer : undefined;
834
- var isBuffer = nativeIsBuffer || stubFalse;
835
- var isBuffer$1 = isBuffer;
836
- var MAX_SAFE_INTEGER$1 = 9007199254740991;
837
- var reIsUint = /^(?:0|[1-9]\d*)$/;
838
-
839
- function isIndex(value, length) {
840
- var type = typeof value;
841
- length = length == null ? MAX_SAFE_INTEGER$1 : length;
842
- return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
843
- }
844
-
845
- var MAX_SAFE_INTEGER = 9007199254740991;
846
-
847
- function isLength(value) {
848
- return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
849
- }
850
-
851
- var argsTag$1 = '[object Arguments]',
852
- arrayTag$1 = '[object Array]',
853
- boolTag$2 = '[object Boolean]',
854
- dateTag$2 = '[object Date]',
855
- errorTag$1 = '[object Error]',
856
- funcTag$1 = '[object Function]',
857
- mapTag$4 = '[object Map]',
858
- numberTag$2 = '[object Number]',
859
- objectTag$2 = '[object Object]',
860
- regexpTag$2 = '[object RegExp]',
861
- setTag$4 = '[object Set]',
862
- stringTag$2 = '[object String]',
863
- weakMapTag$2 = '[object WeakMap]';
864
- var arrayBufferTag$2 = '[object ArrayBuffer]',
865
- dataViewTag$3 = '[object DataView]',
866
- float32Tag$2 = '[object Float32Array]',
867
- float64Tag$2 = '[object Float64Array]',
868
- int8Tag$2 = '[object Int8Array]',
869
- int16Tag$2 = '[object Int16Array]',
870
- int32Tag$2 = '[object Int32Array]',
871
- uint8Tag$2 = '[object Uint8Array]',
872
- uint8ClampedTag$2 = '[object Uint8ClampedArray]',
873
- uint16Tag$2 = '[object Uint16Array]',
874
- uint32Tag$2 = '[object Uint32Array]';
875
- var typedArrayTags = {};
876
- typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = true;
877
- typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$2] = typedArrayTags[boolTag$2] = typedArrayTags[dataViewTag$3] = typedArrayTags[dateTag$2] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$4] = typedArrayTags[numberTag$2] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$2] = typedArrayTags[setTag$4] = typedArrayTags[stringTag$2] = typedArrayTags[weakMapTag$2] = false;
878
-
879
- function baseIsTypedArray(value) {
880
- return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
881
- }
882
-
883
- function baseUnary(func) {
884
- return function (value) {
885
- return func(value);
886
- };
887
- }
888
-
889
- var freeExports$1 = typeof exports == 'object' && exports && !exports.nodeType && exports;
890
- var freeModule$1 = freeExports$1 && typeof module == 'object' && module && !module.nodeType && module;
891
- var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1;
892
- var freeProcess = moduleExports$1 && freeGlobal$1.process;
893
-
894
- var nodeUtil = function () {
895
- try {
896
- var types = freeModule$1 && freeModule$1.require && freeModule$1.require('util').types;
897
-
898
- if (types) {
899
- return types;
900
- }
901
-
902
- return freeProcess && freeProcess.binding && freeProcess.binding('util');
903
- } catch (e) {}
904
- }();
905
-
906
- var nodeUtil$1 = nodeUtil;
907
- var nodeIsTypedArray = nodeUtil$1 && nodeUtil$1.isTypedArray;
908
- var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
909
- var isTypedArray$1 = isTypedArray;
910
- var objectProto$5 = Object.prototype;
911
- var hasOwnProperty$3 = objectProto$5.hasOwnProperty;
912
-
913
- function arrayLikeKeys(value, inherited) {
914
- var isArr = isArray$1(value),
915
- isArg = !isArr && isArguments$1(value),
916
- isBuff = !isArr && !isArg && isBuffer$1(value),
917
- isType = !isArr && !isArg && !isBuff && isTypedArray$1(value),
918
- skipIndexes = isArr || isArg || isBuff || isType,
919
- result = skipIndexes ? baseTimes(value.length, String) : [],
920
- length = result.length;
921
-
922
- for (var key in value) {
923
- if ((inherited || hasOwnProperty$3.call(value, key)) && !(skipIndexes && (key == 'length' || isBuff && (key == 'offset' || key == 'parent') || isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || isIndex(key, length)))) {
924
- result.push(key);
925
- }
926
- }
927
-
928
- return result;
929
- }
930
-
931
- var objectProto$4 = Object.prototype;
932
-
933
- function isPrototype(value) {
934
- var Ctor = value && value.constructor,
935
- proto = typeof Ctor == 'function' && Ctor.prototype || objectProto$4;
936
- return value === proto;
937
- }
938
-
939
- function overArg(func, transform) {
940
- return function (arg) {
941
- return func(transform(arg));
942
- };
943
- }
944
-
945
- var nativeKeys = overArg(Object.keys, Object);
946
- var nativeKeys$1 = nativeKeys;
947
- var objectProto$3 = Object.prototype;
948
- var hasOwnProperty$2 = objectProto$3.hasOwnProperty;
949
-
950
- function baseKeys(object) {
951
- if (!isPrototype(object)) {
952
- return nativeKeys$1(object);
953
- }
954
-
955
- var result = [];
956
-
957
- for (var key in Object(object)) {
958
- if (hasOwnProperty$2.call(object, key) && key != 'constructor') {
959
- result.push(key);
960
- }
961
- }
962
-
963
- return result;
964
- }
965
-
966
- function isArrayLike(value) {
967
- return value != null && isLength(value.length) && !isFunction(value);
968
- }
969
-
970
- function keys(object) {
971
- return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
972
- }
973
-
974
- function baseAssign(object, source) {
975
- return object && copyObject(source, keys(source), object);
976
- }
977
-
978
- function nativeKeysIn(object) {
979
- var result = [];
980
-
981
- if (object != null) {
982
- for (var key in Object(object)) {
983
- result.push(key);
984
- }
985
- }
986
-
987
- return result;
988
- }
989
-
990
- var objectProto$2 = Object.prototype;
991
- var hasOwnProperty$1 = objectProto$2.hasOwnProperty;
992
-
993
- function baseKeysIn(object) {
994
- if (!isObject(object)) {
995
- return nativeKeysIn(object);
996
- }
997
-
998
- var isProto = isPrototype(object),
999
- result = [];
1000
-
1001
- for (var key in object) {
1002
- if (!(key == 'constructor' && (isProto || !hasOwnProperty$1.call(object, key)))) {
1003
- result.push(key);
1004
- }
1005
- }
1006
-
1007
- return result;
1008
- }
1009
-
1010
- function keysIn(object) {
1011
- return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
1012
- }
1013
-
1014
- function baseAssignIn(object, source) {
1015
- return object && copyObject(source, keysIn(source), object);
1016
- }
1017
-
1018
- var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
1019
- var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
1020
- var moduleExports = freeModule && freeModule.exports === freeExports;
1021
- var Buffer = moduleExports ? root$1.Buffer : undefined,
1022
- allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;
1023
-
1024
- function cloneBuffer(buffer, isDeep) {
1025
- if (isDeep) {
1026
- return buffer.slice();
1027
- }
1028
-
1029
- var length = buffer.length,
1030
- result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
1031
- buffer.copy(result);
1032
- return result;
1033
- }
1034
-
1035
- function copyArray(source, array) {
1036
- var index = -1,
1037
- length = source.length;
1038
- array || (array = Array(length));
1039
-
1040
- while (++index < length) {
1041
- array[index] = source[index];
1042
- }
1043
-
1044
- return array;
1045
- }
1046
-
1047
- function arrayFilter(array, predicate) {
1048
- var index = -1,
1049
- length = array == null ? 0 : array.length,
1050
- resIndex = 0,
1051
- result = [];
1052
-
1053
- while (++index < length) {
1054
- var value = array[index];
1055
-
1056
- if (predicate(value, index, array)) {
1057
- result[resIndex++] = value;
1058
- }
1059
- }
1060
-
1061
- return result;
1062
- }
1063
-
1064
- function stubArray() {
1065
- return [];
1066
- }
1067
-
1068
- var objectProto$1 = Object.prototype;
1069
- var propertyIsEnumerable = objectProto$1.propertyIsEnumerable;
1070
- var nativeGetSymbols$1 = Object.getOwnPropertySymbols;
1071
- var getSymbols = !nativeGetSymbols$1 ? stubArray : function (object) {
1072
- if (object == null) {
1073
- return [];
1074
- }
1075
-
1076
- object = Object(object);
1077
- return arrayFilter(nativeGetSymbols$1(object), function (symbol) {
1078
- return propertyIsEnumerable.call(object, symbol);
1079
- });
1080
- };
1081
- var getSymbols$1 = getSymbols;
1082
-
1083
- function copySymbols(source, object) {
1084
- return copyObject(source, getSymbols$1(source), object);
1085
- }
1086
-
1087
- function arrayPush(array, values) {
1088
- var index = -1,
1089
- length = values.length,
1090
- offset = array.length;
1091
-
1092
- while (++index < length) {
1093
- array[offset + index] = values[index];
1094
- }
1095
-
1096
- return array;
1097
- }
1098
-
1099
- var getPrototype = overArg(Object.getPrototypeOf, Object);
1100
- var getPrototype$1 = getPrototype;
1101
- var nativeGetSymbols = Object.getOwnPropertySymbols;
1102
- var getSymbolsIn = !nativeGetSymbols ? stubArray : function (object) {
1103
- var result = [];
1104
-
1105
- while (object) {
1106
- arrayPush(result, getSymbols$1(object));
1107
- object = getPrototype$1(object);
1108
- }
1109
-
1110
- return result;
1111
- };
1112
- var getSymbolsIn$1 = getSymbolsIn;
1113
-
1114
- function copySymbolsIn(source, object) {
1115
- return copyObject(source, getSymbolsIn$1(source), object);
1116
- }
1117
-
1118
- function baseGetAllKeys(object, keysFunc, symbolsFunc) {
1119
- var result = keysFunc(object);
1120
- return isArray$1(object) ? result : arrayPush(result, symbolsFunc(object));
1121
- }
1122
-
1123
- function getAllKeys(object) {
1124
- return baseGetAllKeys(object, keys, getSymbols$1);
1125
- }
1126
-
1127
- function getAllKeysIn(object) {
1128
- return baseGetAllKeys(object, keysIn, getSymbolsIn$1);
1129
- }
1130
-
1131
- var DataView = getNative(root$1, 'DataView');
1132
- var DataView$1 = DataView;
1133
- var Promise$1 = getNative(root$1, 'Promise');
1134
- var Promise$2 = Promise$1;
1135
- var Set = getNative(root$1, 'Set');
1136
- var Set$1 = Set;
1137
- var WeakMap = getNative(root$1, 'WeakMap');
1138
- var WeakMap$1 = WeakMap;
1139
- var mapTag$3 = '[object Map]',
1140
- objectTag$1 = '[object Object]',
1141
- promiseTag = '[object Promise]',
1142
- setTag$3 = '[object Set]',
1143
- weakMapTag$1 = '[object WeakMap]';
1144
- var dataViewTag$2 = '[object DataView]';
1145
- var dataViewCtorString = toSource(DataView$1),
1146
- mapCtorString = toSource(Map$2),
1147
- promiseCtorString = toSource(Promise$2),
1148
- setCtorString = toSource(Set$1),
1149
- weakMapCtorString = toSource(WeakMap$1);
1150
- var getTag = baseGetTag;
1151
-
1152
- if (DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$2 || Map$2 && getTag(new Map$2()) != mapTag$3 || Promise$2 && getTag(Promise$2.resolve()) != promiseTag || Set$1 && getTag(new Set$1()) != setTag$3 || WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag$1) {
1153
- getTag = function getTag(value) {
1154
- var result = baseGetTag(value),
1155
- Ctor = result == objectTag$1 ? value.constructor : undefined,
1156
- ctorString = Ctor ? toSource(Ctor) : '';
1157
-
1158
- if (ctorString) {
1159
- switch (ctorString) {
1160
- case dataViewCtorString:
1161
- return dataViewTag$2;
1162
-
1163
- case mapCtorString:
1164
- return mapTag$3;
1165
-
1166
- case promiseCtorString:
1167
- return promiseTag;
1168
-
1169
- case setCtorString:
1170
- return setTag$3;
1171
-
1172
- case weakMapCtorString:
1173
- return weakMapTag$1;
1174
- }
1175
- }
1176
-
1177
- return result;
1178
- };
1179
- }
1180
-
1181
- var getTag$1 = getTag;
1182
- var objectProto = Object.prototype;
1183
- var hasOwnProperty = objectProto.hasOwnProperty;
1184
-
1185
- function initCloneArray(array) {
1186
- var length = array.length,
1187
- result = new array.constructor(length);
1188
-
1189
- if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
1190
- result.index = array.index;
1191
- result.input = array.input;
1192
- }
1193
-
1194
- return result;
1195
- }
1196
-
1197
- var Uint8Array = root$1.Uint8Array;
1198
- var Uint8Array$1 = Uint8Array;
1199
-
1200
- function cloneArrayBuffer(arrayBuffer) {
1201
- var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
1202
- new Uint8Array$1(result).set(new Uint8Array$1(arrayBuffer));
1203
- return result;
1204
- }
1205
-
1206
- function cloneDataView(dataView, isDeep) {
1207
- var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
1208
- return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
1209
- }
1210
-
1211
- var reFlags = /\w*$/;
1212
-
1213
- function cloneRegExp(regexp) {
1214
- var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
1215
- result.lastIndex = regexp.lastIndex;
1216
- return result;
1217
- }
1218
-
1219
- var symbolProto = Symbol$2 ? Symbol$2.prototype : undefined,
1220
- symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
1221
-
1222
- function cloneSymbol(symbol) {
1223
- return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
1224
- }
1225
-
1226
- function cloneTypedArray(typedArray, isDeep) {
1227
- var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
1228
- return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
1229
- }
1230
-
1231
- var boolTag$1 = '[object Boolean]',
1232
- dateTag$1 = '[object Date]',
1233
- mapTag$2 = '[object Map]',
1234
- numberTag$1 = '[object Number]',
1235
- regexpTag$1 = '[object RegExp]',
1236
- setTag$2 = '[object Set]',
1237
- stringTag$1 = '[object String]',
1238
- symbolTag$1 = '[object Symbol]';
1239
- var arrayBufferTag$1 = '[object ArrayBuffer]',
1240
- dataViewTag$1 = '[object DataView]',
1241
- float32Tag$1 = '[object Float32Array]',
1242
- float64Tag$1 = '[object Float64Array]',
1243
- int8Tag$1 = '[object Int8Array]',
1244
- int16Tag$1 = '[object Int16Array]',
1245
- int32Tag$1 = '[object Int32Array]',
1246
- uint8Tag$1 = '[object Uint8Array]',
1247
- uint8ClampedTag$1 = '[object Uint8ClampedArray]',
1248
- uint16Tag$1 = '[object Uint16Array]',
1249
- uint32Tag$1 = '[object Uint32Array]';
1250
-
1251
- function initCloneByTag(object, tag, isDeep) {
1252
- var Ctor = object.constructor;
1253
-
1254
- switch (tag) {
1255
- case arrayBufferTag$1:
1256
- return cloneArrayBuffer(object);
1257
-
1258
- case boolTag$1:
1259
- case dateTag$1:
1260
- return new Ctor(+object);
1261
-
1262
- case dataViewTag$1:
1263
- return cloneDataView(object, isDeep);
1264
-
1265
- case float32Tag$1:
1266
- case float64Tag$1:
1267
- case int8Tag$1:
1268
- case int16Tag$1:
1269
- case int32Tag$1:
1270
- case uint8Tag$1:
1271
- case uint8ClampedTag$1:
1272
- case uint16Tag$1:
1273
- case uint32Tag$1:
1274
- return cloneTypedArray(object, isDeep);
1275
-
1276
- case mapTag$2:
1277
- return new Ctor();
1278
-
1279
- case numberTag$1:
1280
- case stringTag$1:
1281
- return new Ctor(object);
1282
-
1283
- case regexpTag$1:
1284
- return cloneRegExp(object);
1285
-
1286
- case setTag$2:
1287
- return new Ctor();
1288
-
1289
- case symbolTag$1:
1290
- return cloneSymbol(object);
1291
- }
1292
- }
1293
-
1294
- var objectCreate = Object.create;
1295
-
1296
- var baseCreate = function () {
1297
- function object() {}
1298
-
1299
- return function (proto) {
1300
- if (!isObject(proto)) {
1301
- return {};
1302
- }
1303
-
1304
- if (objectCreate) {
1305
- return objectCreate(proto);
1306
- }
1307
-
1308
- object.prototype = proto;
1309
- var result = new object();
1310
- object.prototype = undefined;
1311
- return result;
1312
- };
1313
- }();
1314
-
1315
- var baseCreate$1 = baseCreate;
1316
-
1317
- function initCloneObject(object) {
1318
- return typeof object.constructor == 'function' && !isPrototype(object) ? baseCreate$1(getPrototype$1(object)) : {};
1319
- }
1320
-
1321
- var mapTag$1 = '[object Map]';
1322
-
1323
- function baseIsMap(value) {
1324
- return isObjectLike(value) && getTag$1(value) == mapTag$1;
1325
- }
1326
-
1327
- var nodeIsMap = nodeUtil$1 && nodeUtil$1.isMap;
1328
- var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
1329
- var isMap$1 = isMap;
1330
- var setTag$1 = '[object Set]';
1331
-
1332
- function baseIsSet(value) {
1333
- return isObjectLike(value) && getTag$1(value) == setTag$1;
1334
- }
1335
-
1336
- var nodeIsSet = nodeUtil$1 && nodeUtil$1.isSet;
1337
- var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
1338
- var isSet$1 = isSet;
1339
- var CLONE_DEEP_FLAG$1 = 1,
1340
- CLONE_FLAT_FLAG = 2,
1341
- CLONE_SYMBOLS_FLAG$1 = 4;
1342
- var argsTag = '[object Arguments]',
1343
- arrayTag = '[object Array]',
1344
- boolTag = '[object Boolean]',
1345
- dateTag = '[object Date]',
1346
- errorTag = '[object Error]',
1347
- funcTag = '[object Function]',
1348
- genTag = '[object GeneratorFunction]',
1349
- mapTag = '[object Map]',
1350
- numberTag = '[object Number]',
1351
- objectTag = '[object Object]',
1352
- regexpTag = '[object RegExp]',
1353
- setTag = '[object Set]',
1354
- stringTag = '[object String]',
1355
- symbolTag = '[object Symbol]',
1356
- weakMapTag = '[object WeakMap]';
1357
- var arrayBufferTag = '[object ArrayBuffer]',
1358
- dataViewTag = '[object DataView]',
1359
- float32Tag = '[object Float32Array]',
1360
- float64Tag = '[object Float64Array]',
1361
- int8Tag = '[object Int8Array]',
1362
- int16Tag = '[object Int16Array]',
1363
- int32Tag = '[object Int32Array]',
1364
- uint8Tag = '[object Uint8Array]',
1365
- uint8ClampedTag = '[object Uint8ClampedArray]',
1366
- uint16Tag = '[object Uint16Array]',
1367
- uint32Tag = '[object Uint32Array]';
1368
- var cloneableTags = {};
1369
- cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
1370
- cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
1371
-
1372
- function baseClone(value, bitmask, customizer, key, object, stack) {
1373
- var result,
1374
- isDeep = bitmask & CLONE_DEEP_FLAG$1,
1375
- isFlat = bitmask & CLONE_FLAT_FLAG,
1376
- isFull = bitmask & CLONE_SYMBOLS_FLAG$1;
1377
-
1378
- if (customizer) {
1379
- result = object ? customizer(value, key, object, stack) : customizer(value);
1380
- }
1381
-
1382
- if (result !== undefined) {
1383
- return result;
1384
- }
1385
-
1386
- if (!isObject(value)) {
1387
- return value;
1388
- }
1389
-
1390
- var isArr = isArray$1(value);
1391
-
1392
- if (isArr) {
1393
- result = initCloneArray(value);
1394
-
1395
- if (!isDeep) {
1396
- return copyArray(value, result);
1397
- }
1398
- } else {
1399
- var tag = getTag$1(value),
1400
- isFunc = tag == funcTag || tag == genTag;
1401
-
1402
- if (isBuffer$1(value)) {
1403
- return cloneBuffer(value, isDeep);
1404
- }
1405
-
1406
- if (tag == objectTag || tag == argsTag || isFunc && !object) {
1407
- result = isFlat || isFunc ? {} : initCloneObject(value);
1408
-
1409
- if (!isDeep) {
1410
- return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value));
1411
- }
1412
- } else {
1413
- if (!cloneableTags[tag]) {
1414
- return object ? value : {};
1415
- }
1416
-
1417
- result = initCloneByTag(value, tag, isDeep);
1418
- }
1419
- }
1420
-
1421
- stack || (stack = new Stack());
1422
- var stacked = stack.get(value);
1423
-
1424
- if (stacked) {
1425
- return stacked;
1426
- }
1427
-
1428
- stack.set(value, result);
1429
-
1430
- if (isSet$1(value)) {
1431
- value.forEach(function (subValue) {
1432
- result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
1433
- });
1434
- } else if (isMap$1(value)) {
1435
- value.forEach(function (subValue, key) {
1436
- result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
1437
- });
1438
- }
1439
-
1440
- var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys;
1441
- var props = isArr ? undefined : keysFunc(value);
1442
- arrayEach(props || value, function (subValue, key) {
1443
- if (props) {
1444
- key = subValue;
1445
- subValue = value[key];
1446
- }
1447
-
1448
- assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
1449
- });
1450
- return result;
1451
- }
1452
-
1453
- var CLONE_DEEP_FLAG = 1,
1454
- CLONE_SYMBOLS_FLAG = 4;
1455
-
1456
- function cloneDeep(value) {
1457
- return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
1458
- }
1459
-
1460
- var _defineCache = new Map();
1461
-
1462
- function defineProperty(key, deep, store, originKey, originStore, callback) {
1463
- if (!_defineCache.has(store)) {
1464
- _defineCache.set(store, []);
1465
- }
1466
-
1467
- if (_defineCache.get(store).indexOf(key) > -1) {
1468
- return;
1469
- }
1470
-
1471
- _defineCache.get(store).push(key);
1472
-
1473
- var props = key.split('.');
1474
- var obj = store;
1475
- var length = props.length;
1476
-
1477
- for (var i = 0; i < length - 1; i++) {
1478
- if (obj[props[i]] === undefined) {
1479
- return;
1480
- }
1481
-
1482
- obj = obj[props[i]];
1483
- }
1484
-
1485
- var value = obj[props[length - 1]];
1486
-
1487
- if (deep && isObject(value)) {
1488
- for (var key_1 in value) {
1489
- defineProperty(key_1, deep, value, originKey, originStore, callback);
1490
- }
1491
- }
1492
-
1493
- var _key = "_" + props[length - 1];
1494
-
1495
- obj[_key] = value;
1496
- Object.defineProperty(obj, _key, {
1497
- enumerable: false
1498
- });
1499
- Object.defineProperty(obj, props[length - 1], {
1500
- set: function set(val) {
1501
- var oldStore = cloneDeep(originStore);
1502
- obj["_" + props[length - 1]] = val;
1503
- callback(originKey, oldStore);
1504
-
1505
- if (deep && isObject(val)) {
1506
- _defineCache.delete(obj);
1507
-
1508
- for (var key_2 in val) {
1509
- defineProperty(key_2, deep, val, originKey, originStore, callback);
1510
- }
1511
- }
1512
- },
1513
- get: function get() {
1514
- return obj["_" + props[length - 1]];
1515
- }
1516
- });
1517
- }
1518
-
1519
- function updateStore(store, newStore, force) {
1520
- for (var key in store) {
1521
- if (!(key in newStore)) {
1522
- continue;
1523
- }
1524
-
1525
- if (typeof store[key] === 'object') {
1526
- updateStore(store[key], newStore[key], force);
1527
- } else {
1528
- if (force || store[key] !== newStore[key]) {
1529
- store[key] = newStore[key];
1530
- }
1531
- }
1532
- }
1533
- }
1534
-
1535
- var EvaXSystem = function (_super) {
1536
- __extends(EvaXSystem, _super);
1537
-
1538
- function EvaXSystem() {
1539
- var _this = _super !== null && _super.apply(this, arguments) || this;
1540
-
1541
- _this.changeList = [];
1542
- return _this;
1543
- }
1544
-
1545
- EvaXSystem.prototype.init = function (_a) {
1546
- var _b = (_a === void 0 ? {
1547
- store: {}
1548
- } : _a).store,
1549
- store = _b === void 0 ? {} : _b;
1550
- this.ee = new EventEmitter();
1551
- this.store = store;
1552
- this.bindDefaultListener();
1553
- };
1554
-
1555
- EvaXSystem.prototype.bindDefaultListener = function () {
1556
- var _this = this;
1557
-
1558
- this.ee.on('evax.updateStore', function (store) {
1559
- _this.updateStore(store);
1560
- });
1561
- this.ee.on('evax.forceUpdateStore', function (store) {
1562
- _this.forceUpdateStore(store);
1563
- });
1564
- };
1565
-
1566
- EvaXSystem.prototype.changeCallback = function (key, oldStore) {
1567
- this.changeList.push({
1568
- key: key,
1569
- oldStore: oldStore
1570
- });
1571
- };
1572
-
1573
- EvaXSystem.prototype.updateStore = function (store) {
1574
- updateStore(this.store, store, false);
1575
- };
1576
-
1577
- EvaXSystem.prototype.forceUpdateStore = function (store) {
1578
- updateStore(this.store, store, true);
1579
- };
1580
-
1581
- EvaXSystem.prototype.bindListener = function (key, deep) {
1582
- var _this = this;
1583
-
1584
- if (key.indexOf('store.') === -1) {
1585
- return;
1586
- }
1587
-
1588
- var realKey = key.split('.').slice(1).join('.');
1589
- defineProperty(realKey, deep, this.store, key, this.store, function (key, oldStore) {
1590
- return _this.changeCallback(key, oldStore);
1591
- });
1592
- };
1593
-
1594
- EvaXSystem.prototype.update = function () {
1595
- var e_1, _a;
1596
-
1597
- var changes = this.componentObserver.clear();
1598
-
1599
- try {
1600
- for (var changes_1 = __values(changes), changes_1_1 = changes_1.next(); !changes_1_1.done; changes_1_1 = changes_1.next()) {
1601
- var changed = changes_1_1.value;
1602
-
1603
- switch (changed.type) {
1604
- case eva_js.OBSERVER_TYPE.ADD:
1605
- this.add(changed);
1606
- break;
1607
-
1608
- case eva_js.OBSERVER_TYPE.REMOVE:
1609
- this.remove(changed);
1610
- break;
1611
- }
1612
- }
1613
- } catch (e_1_1) {
1614
- e_1 = {
1615
- error: e_1_1
1616
- };
1617
- } finally {
1618
- try {
1619
- if (changes_1_1 && !changes_1_1.done && (_a = changes_1.return)) _a.call(changes_1);
1620
- } finally {
1621
- if (e_1) throw e_1.error;
1622
- }
1623
- }
1624
- };
1625
-
1626
- EvaXSystem.prototype.lateUpdate = function () {
1627
- var e_2, _a;
1628
-
1629
- try {
1630
- for (var _b = __values(this.changeList), _c = _b.next(); !_c.done; _c = _b.next()) {
1631
- var item = _c.value;
1632
- this.ee.emit(item.key, this.store, item.oldStore);
1633
- }
1634
- } catch (e_2_1) {
1635
- e_2 = {
1636
- error: e_2_1
1637
- };
1638
- } finally {
1639
- try {
1640
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1641
- } finally {
1642
- if (e_2) throw e_2.error;
1643
- }
1644
- }
1645
-
1646
- this.changeList = [];
1647
- };
1648
-
1649
- EvaXSystem.prototype.add = function (changed) {
1650
- var component = changed.component;
1651
- component.evax = this;
1652
-
1653
- for (var key in component.events) {
1654
- if (component.events[key]) {
1655
- this.bindListener(key, !!component.events[key].deep);
1656
- var func = void 0;
1657
-
1658
- if (component.events[key] instanceof Function) {
1659
- func = component.events[key];
1660
- } else {
1661
- func = component.events[key].handler;
1662
- }
1663
-
1664
- this.ee.on(key, func.bind(component));
1665
- }
1666
- }
1667
- };
1668
-
1669
- EvaXSystem.prototype.remove = function (changed) {
1670
- var component = changed.component;
1671
-
1672
- for (var key in component.events) {
1673
- if (component.events[key] instanceof Function) {
1674
- this.ee.off(key, component.events[key].bind(component));
1675
- }
1676
- }
1677
- };
1678
-
1679
- EvaXSystem.prototype.on = function (eventName, func) {
1680
- return this.ee.on(eventName, func, this);
1681
- };
1682
-
1683
- EvaXSystem.prototype.off = function (eventName, func) {
1684
- return this.ee.off(eventName, func);
1685
- };
1686
-
1687
- EvaXSystem.prototype.emit = function (eventName) {
1688
- var _a;
1689
-
1690
- var args = [];
1691
-
1692
- for (var _i = 1; _i < arguments.length; _i++) {
1693
- args[_i - 1] = arguments[_i];
1694
- }
1695
-
1696
- return (_a = this.ee).emit.apply(_a, __spread([eventName], args));
1697
- };
1698
-
1699
- EvaXSystem.prototype.onDestroy = function () {};
1700
-
1701
- EvaXSystem.systemName = 'EvaX';
1702
- EvaXSystem = __decorate([eva_js.decorators.componentObserver({
1703
- EvaX: []
1704
- })], EvaXSystem);
1705
- return EvaXSystem;
1706
- }(eva_js.System);
1707
-
1708
- var EvaXSystem$1 = EvaXSystem;
1709
- var index = {
1710
- Components: [EvaXComponent$1],
1711
- Systems: [EvaXSystem$1]
1712
- };
1713
- exports.EvaX = EvaXComponent$1;
1714
- exports.EvaXSystem = EvaXSystem$1;
1715
- exports['default'] = index;
1716
- Object.defineProperty(exports, '__esModule', {
1717
- value: true
1718
- });
1719
- return exports;
1720
- }({}, EVA);