@tarojs/api 3.6.2 → 3.6.4

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.
package/dist/taro.js CHANGED
@@ -1,18 +1,20 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@babel/runtime/helpers/typeof'), require('@tarojs/runtime'), require('@babel/runtime/helpers/objectSpread2'), require('@babel/runtime/helpers/classCallCheck'), require('@babel/runtime/helpers/createClass'), require('@babel/runtime/helpers/defineProperty')) :
3
- typeof define === 'function' && define.amd ? define(['exports', '@babel/runtime/helpers/typeof', '@tarojs/runtime', '@babel/runtime/helpers/objectSpread2', '@babel/runtime/helpers/classCallCheck', '@babel/runtime/helpers/createClass', '@babel/runtime/helpers/defineProperty'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Taro = {}, global._typeof, global.runtime, global._objectSpread, global._classCallCheck, global._createClass, global._defineProperty));
5
- })(this, (function (exports, _typeof, runtime, _objectSpread, _classCallCheck, _createClass, _defineProperty) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@babel/runtime/helpers/typeof'), require('@tarojs/runtime'), require('@babel/runtime/helpers/toConsumableArray'), require('@babel/runtime/helpers/inherits'), require('@babel/runtime/helpers/createSuper'), require('@babel/runtime/helpers/classCallCheck'), require('@babel/runtime/helpers/createClass'), require('@babel/runtime/helpers/objectSpread2'), require('@babel/runtime/helpers/defineProperty')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', '@babel/runtime/helpers/typeof', '@tarojs/runtime', '@babel/runtime/helpers/toConsumableArray', '@babel/runtime/helpers/inherits', '@babel/runtime/helpers/createSuper', '@babel/runtime/helpers/classCallCheck', '@babel/runtime/helpers/createClass', '@babel/runtime/helpers/objectSpread2', '@babel/runtime/helpers/defineProperty'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Taro = {}, global._typeof, global.runtime, null, global._inherits, global._createSuper, global._classCallCheck, global._createClass, global._objectSpread, global._defineProperty));
5
+ })(this, (function (exports, _typeof, runtime, _toConsumableArray, _inherits, _createSuper, _classCallCheck, _createClass, _objectSpread, _defineProperty) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
9
9
  var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
10
- var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
10
+ var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
11
+ var _createSuper__default = /*#__PURE__*/_interopDefaultLegacy(_createSuper);
11
12
  var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
12
13
  var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
14
+ var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
13
15
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
14
16
 
15
- function isFunction(x) {
17
+ function isFunction$1(x) {
16
18
  return typeof x === 'function';
17
19
  }
18
20
  function isUndefined(x) {
@@ -30,7 +32,7 @@
30
32
  throw new TypeError(s);
31
33
  }
32
34
 
33
- if (!isFunction(Object.assign)) {
35
+ if (!isFunction$1(Object.assign)) {
34
36
  // Must be writable: true, enumerable: false, configurable: true
35
37
  Object.assign = function (target) {
36
38
  // .length of function is 2
@@ -59,7 +61,7 @@
59
61
  };
60
62
  }
61
63
 
62
- if (!isFunction(Object.defineProperties)) {
64
+ if (!isFunction$1(Object.defineProperties)) {
63
65
  Object.defineProperties = function (obj, properties) {
64
66
  function convertToDescriptor(desc) {
65
67
  function hasProperty(obj, prop) {
@@ -83,7 +85,7 @@
83
85
  if (hasProperty(desc, 'get')) {
84
86
  var g = desc.get;
85
87
 
86
- if (!isFunction(g) && !isUndefined(g)) {
88
+ if (!isFunction$1(g) && !isUndefined(g)) {
87
89
  throwTypeError('bad get');
88
90
  }
89
91
 
@@ -93,7 +95,7 @@
93
95
  if (hasProperty(desc, 'set')) {
94
96
  var s = desc.set;
95
97
 
96
- if (!isFunction(s) && !isUndefined(s)) {
98
+ if (!isFunction$1(s) && !isUndefined(s)) {
97
99
  throwTypeError('bad set');
98
100
  }
99
101
 
@@ -124,16 +126,520 @@
124
126
  };
125
127
  }
126
128
 
129
+ var DEFAULT_EMPTY_ARRAY = '[]';
130
+ var NO_DEFAULT_VALUE = '';
131
+ var DEFAULT_TRUE = '!0';
132
+ var DEFAULT_FALSE = '!1';
133
+ var touchEvents = {
134
+ bindTouchStart: NO_DEFAULT_VALUE,
135
+ bindTouchMove: NO_DEFAULT_VALUE,
136
+ bindTouchEnd: NO_DEFAULT_VALUE,
137
+ bindTouchCancel: NO_DEFAULT_VALUE,
138
+ bindLongTap: NO_DEFAULT_VALUE
139
+ };
140
+ var animation = {
141
+ animation: NO_DEFAULT_VALUE,
142
+ bindAnimationStart: NO_DEFAULT_VALUE,
143
+ bindAnimationIteration: NO_DEFAULT_VALUE,
144
+ bindAnimationEnd: NO_DEFAULT_VALUE,
145
+ bindTransitionEnd: NO_DEFAULT_VALUE
146
+ };
147
+
148
+ function singleQuote(s) {
149
+ return "'".concat(s, "'");
150
+ }
151
+
152
+ Object.assign(Object.assign({
153
+ 'hover-class': singleQuote('none'),
154
+ 'hover-stop-propagation': DEFAULT_FALSE,
155
+ 'hover-start-time': '50',
156
+ 'hover-stay-time': '400'
157
+ }, touchEvents), animation);
158
+ Object.assign({
159
+ longitude: NO_DEFAULT_VALUE,
160
+ latitude: NO_DEFAULT_VALUE,
161
+ scale: '16',
162
+ markers: DEFAULT_EMPTY_ARRAY,
163
+ covers: NO_DEFAULT_VALUE,
164
+ polyline: DEFAULT_EMPTY_ARRAY,
165
+ circles: DEFAULT_EMPTY_ARRAY,
166
+ controls: DEFAULT_EMPTY_ARRAY,
167
+ 'include-points': DEFAULT_EMPTY_ARRAY,
168
+ 'show-location': NO_DEFAULT_VALUE,
169
+ 'layer-style': '1',
170
+ bindMarkerTap: NO_DEFAULT_VALUE,
171
+ bindControlTap: NO_DEFAULT_VALUE,
172
+ bindCalloutTap: NO_DEFAULT_VALUE,
173
+ bindUpdated: NO_DEFAULT_VALUE
174
+ }, touchEvents);
175
+ Object.assign({
176
+ size: singleQuote('default'),
177
+ type: NO_DEFAULT_VALUE,
178
+ plain: DEFAULT_FALSE,
179
+ disabled: NO_DEFAULT_VALUE,
180
+ loading: DEFAULT_FALSE,
181
+ 'form-type': NO_DEFAULT_VALUE,
182
+ 'open-type': NO_DEFAULT_VALUE,
183
+ 'hover-class': singleQuote('button-hover'),
184
+ 'hover-stop-propagation': DEFAULT_FALSE,
185
+ 'hover-start-time': '20',
186
+ 'hover-stay-time': '70',
187
+ name: NO_DEFAULT_VALUE
188
+ }, touchEvents);
189
+ Object.assign({
190
+ 'scroll-top': DEFAULT_FALSE
191
+ }, touchEvents);
192
+ Object.assign(Object.assign({
193
+ direction: 'none',
194
+ inertia: DEFAULT_FALSE,
195
+ 'out-of-bounds': DEFAULT_FALSE,
196
+ x: NO_DEFAULT_VALUE,
197
+ y: NO_DEFAULT_VALUE,
198
+ damping: '20',
199
+ friction: '2',
200
+ disabled: NO_DEFAULT_VALUE,
201
+ scale: DEFAULT_FALSE,
202
+ 'scale-min': '0.5',
203
+ 'scale-max': '10',
204
+ 'scale-value': '1',
205
+ bindChange: NO_DEFAULT_VALUE,
206
+ bindScale: NO_DEFAULT_VALUE,
207
+ bindHTouchMove: NO_DEFAULT_VALUE,
208
+ bindVTouchMove: NO_DEFAULT_VALUE,
209
+ width: singleQuote('10px'),
210
+ height: singleQuote('10px')
211
+ }, touchEvents), animation);
212
+ Object.assign(Object.assign({
213
+ 'scroll-x': DEFAULT_FALSE,
214
+ 'scroll-y': DEFAULT_FALSE,
215
+ 'upper-threshold': '50',
216
+ 'lower-threshold': '50',
217
+ 'scroll-top': NO_DEFAULT_VALUE,
218
+ 'scroll-left': NO_DEFAULT_VALUE,
219
+ 'scroll-into-view': NO_DEFAULT_VALUE,
220
+ 'scroll-with-animation': DEFAULT_FALSE,
221
+ 'enable-back-to-top': DEFAULT_FALSE,
222
+ bindScrollToUpper: NO_DEFAULT_VALUE,
223
+ bindScrollToLower: NO_DEFAULT_VALUE,
224
+ bindScroll: NO_DEFAULT_VALUE
225
+ }, touchEvents), animation);
226
+ Object.assign({
227
+ 'indicator-dots': DEFAULT_FALSE,
228
+ 'indicator-color': singleQuote('rgba(0, 0, 0, .3)'),
229
+ 'indicator-active-color': singleQuote('#000000'),
230
+ autoplay: DEFAULT_FALSE,
231
+ current: '0',
232
+ interval: '5000',
233
+ duration: '500',
234
+ circular: DEFAULT_FALSE,
235
+ vertical: DEFAULT_FALSE,
236
+ 'previous-margin': singleQuote('0px'),
237
+ 'next-margin': singleQuote('0px'),
238
+ 'display-multiple-items': '1',
239
+ bindChange: NO_DEFAULT_VALUE,
240
+ bindTransition: NO_DEFAULT_VALUE,
241
+ bindAnimationFinish: NO_DEFAULT_VALUE
242
+ }, touchEvents);
243
+ Object.assign({
244
+ src: NO_DEFAULT_VALUE,
245
+ mode: singleQuote('scaleToFill'),
246
+ 'lazy-load': DEFAULT_FALSE,
247
+ bindError: NO_DEFAULT_VALUE,
248
+ bindLoad: NO_DEFAULT_VALUE
249
+ }, touchEvents);
250
+ Object.assign({
251
+ src: NO_DEFAULT_VALUE,
252
+ autoplay: DEFAULT_FALSE,
253
+ muted: DEFAULT_FALSE,
254
+ orientation: singleQuote('vertical'),
255
+ 'object-fit': singleQuote('contain'),
256
+ 'background-mute': DEFAULT_FALSE,
257
+ 'min-cache': '1',
258
+ 'max-cache': '3',
259
+ bindStateChange: NO_DEFAULT_VALUE,
260
+ bindFullScreenChange: NO_DEFAULT_VALUE,
261
+ bindNetStatus: NO_DEFAULT_VALUE
262
+ }, animation);
263
+ Object.assign({
264
+ src: NO_DEFAULT_VALUE,
265
+ duration: NO_DEFAULT_VALUE,
266
+ controls: DEFAULT_TRUE,
267
+ 'danmu-list': NO_DEFAULT_VALUE,
268
+ 'danmu-btn': NO_DEFAULT_VALUE,
269
+ 'enable-danmu': NO_DEFAULT_VALUE,
270
+ autoplay: DEFAULT_FALSE,
271
+ loop: DEFAULT_FALSE,
272
+ muted: DEFAULT_FALSE,
273
+ 'initial-time': '0',
274
+ 'page-gesture': DEFAULT_FALSE,
275
+ direction: NO_DEFAULT_VALUE,
276
+ 'show-progress': DEFAULT_TRUE,
277
+ 'show-fullscreen-btn': DEFAULT_TRUE,
278
+ 'show-play-btn': DEFAULT_TRUE,
279
+ 'show-center-play-btn': DEFAULT_TRUE,
280
+ 'enable-progress-gesture': DEFAULT_TRUE,
281
+ 'object-fit': singleQuote('contain'),
282
+ poster: NO_DEFAULT_VALUE,
283
+ 'show-mute-btn': DEFAULT_FALSE,
284
+ bindPlay: NO_DEFAULT_VALUE,
285
+ bindPause: NO_DEFAULT_VALUE,
286
+ bindEnded: NO_DEFAULT_VALUE,
287
+ bindTimeUpdate: NO_DEFAULT_VALUE,
288
+ bindFullScreenChange: NO_DEFAULT_VALUE,
289
+ bindWaiting: NO_DEFAULT_VALUE,
290
+ bindError: NO_DEFAULT_VALUE
291
+ }, animation);
292
+ Object.assign({
293
+ 'canvas-id': NO_DEFAULT_VALUE,
294
+ 'disable-scroll': DEFAULT_FALSE,
295
+ bindError: NO_DEFAULT_VALUE
296
+ }, touchEvents);
297
+ var PLATFORM_TYPE;
298
+
299
+ (function (PLATFORM_TYPE) {
300
+ PLATFORM_TYPE["MINI"] = "mini";
301
+ PLATFORM_TYPE["WEB"] = "web";
302
+ PLATFORM_TYPE["RN"] = "rn";
303
+ PLATFORM_TYPE["HARMONY"] = "harmony";
304
+ PLATFORM_TYPE["QUICK"] = "quickapp";
305
+ })(PLATFORM_TYPE || (PLATFORM_TYPE = {}));
306
+
307
+ ({
308
+ h5: {
309
+ type: PLATFORM_TYPE.WEB
310
+ },
311
+ harmony: {
312
+ type: PLATFORM_TYPE.HARMONY
313
+ },
314
+ mini: {
315
+ type: PLATFORM_TYPE.MINI
316
+ },
317
+ rn: {
318
+ type: PLATFORM_TYPE.RN
319
+ },
320
+ quickapp: {
321
+ type: PLATFORM_TYPE.QUICK
322
+ }
323
+ });
324
+
325
+ var Events = /*#__PURE__*/function () {
326
+ function Events(opts) {
327
+ _classCallCheck__default["default"](this, Events);
328
+
329
+ var _a;
330
+
331
+ this.callbacks = (_a = opts === null || opts === void 0 ? void 0 : opts.callbacks) !== null && _a !== void 0 ? _a : {};
332
+ }
333
+
334
+ _createClass__default["default"](Events, [{
335
+ key: "on",
336
+ value: function on(eventName, callback, context) {
337
+ var event, node, tail, list;
338
+
339
+ if (!callback) {
340
+ return this;
341
+ }
342
+
343
+ eventName = eventName.split(Events.eventSplitter);
344
+ this.callbacks || (this.callbacks = {});
345
+ var calls = this.callbacks;
346
+
347
+ while (event = eventName.shift()) {
348
+ list = calls[event];
349
+ node = list ? list.tail : {};
350
+ node.next = tail = {};
351
+ node.context = context;
352
+ node.callback = callback;
353
+ calls[event] = {
354
+ tail: tail,
355
+ next: list ? list.next : node
356
+ };
357
+ }
358
+
359
+ return this;
360
+ }
361
+ }, {
362
+ key: "once",
363
+ value: function once(events, callback, context) {
364
+ var _this = this;
365
+
366
+ var wrapper = function wrapper() {
367
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
368
+ args[_key] = arguments[_key];
369
+ }
370
+
371
+ callback.apply(_this, args);
372
+
373
+ _this.off(events, wrapper, context);
374
+ };
375
+
376
+ this.on(events, wrapper, context);
377
+ return this;
378
+ }
379
+ }, {
380
+ key: "off",
381
+ value: function off(events, callback, context) {
382
+ var event, calls, node, tail, cb, ctx;
383
+
384
+ if (!(calls = this.callbacks)) {
385
+ return this;
386
+ }
387
+
388
+ if (!(events || callback || context)) {
389
+ delete this.callbacks;
390
+ return this;
391
+ }
392
+
393
+ events = events ? events.split(Events.eventSplitter) : Object.keys(calls);
394
+
395
+ while (event = events.shift()) {
396
+ node = calls[event];
397
+ delete calls[event];
398
+
399
+ if (!node || !(callback || context)) {
400
+ continue;
401
+ }
402
+
403
+ tail = node.tail;
404
+
405
+ while ((node = node.next) !== tail) {
406
+ cb = node.callback;
407
+ ctx = node.context;
408
+
409
+ if (callback && cb !== callback || context && ctx !== context) {
410
+ this.on(event, cb, ctx);
411
+ }
412
+ }
413
+ }
414
+
415
+ return this;
416
+ }
417
+ }, {
418
+ key: "trigger",
419
+ value: function trigger(events) {
420
+ var event, node, calls, tail;
421
+
422
+ if (!(calls = this.callbacks)) {
423
+ return this;
424
+ }
425
+
426
+ events = events.split(Events.eventSplitter);
427
+ var rest = [].slice.call(arguments, 1);
428
+
429
+ while (event = events.shift()) {
430
+ if (node = calls[event]) {
431
+ tail = node.tail;
432
+
433
+ while ((node = node.next) !== tail) {
434
+ node.callback.apply(node.context || this, rest);
435
+ }
436
+ }
437
+ }
438
+
439
+ return this;
440
+ }
441
+ }]);
442
+
443
+ return Events;
444
+ }();
445
+
446
+ Events.eventSplitter = ','; // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\s+/
447
+
448
+ function isFunction(o) {
449
+ return typeof o === 'function';
450
+ }
451
+
452
+ var isWebPlatform = function isWebPlatform() {
453
+ return process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web';
454
+ };
455
+
456
+ var HOOK_TYPE;
457
+
458
+ (function (HOOK_TYPE) {
459
+ HOOK_TYPE[HOOK_TYPE["SINGLE"] = 0] = "SINGLE";
460
+ HOOK_TYPE[HOOK_TYPE["MULTI"] = 1] = "MULTI";
461
+ HOOK_TYPE[HOOK_TYPE["WATERFALL"] = 2] = "WATERFALL";
462
+ })(HOOK_TYPE || (HOOK_TYPE = {}));
463
+
464
+ var defaultMiniLifecycle = {
465
+ app: ['onLaunch', 'onShow', 'onHide'],
466
+ page: ['onLoad', 'onUnload', 'onReady', 'onShow', 'onHide', ['onPullDownRefresh', 'onReachBottom', 'onPageScroll', 'onResize', 'onTabItemTap', 'onTitleClick', 'onOptionMenuClick', 'onPopMenuClick', 'onPullIntercept', 'onAddToFavorites'], ['onShareAppMessage', 'onShareTimeline']],
467
+ component: ['attached', 'detached']
468
+ };
469
+
470
+ function TaroHook(type, initial) {
471
+ return {
472
+ type: type,
473
+ initial: initial || null
474
+ };
475
+ }
476
+
477
+ var TaroHooks = /*#__PURE__*/function (_Events) {
478
+ _inherits__default["default"](TaroHooks, _Events);
479
+
480
+ var _super = _createSuper__default["default"](TaroHooks);
481
+
482
+ function TaroHooks(hooks, opts) {
483
+ var _this2;
484
+
485
+ _classCallCheck__default["default"](this, TaroHooks);
486
+
487
+ _this2 = _super.call(this, opts);
488
+ _this2.hooks = hooks;
489
+
490
+ for (var hookName in hooks) {
491
+ var initial = hooks[hookName].initial;
492
+
493
+ if (isFunction(initial)) {
494
+ _this2.on(hookName, initial);
495
+ }
496
+ }
497
+
498
+ return _this2;
499
+ }
500
+
501
+ _createClass__default["default"](TaroHooks, [{
502
+ key: "tapOneOrMany",
503
+ value: function tapOneOrMany(hookName, callback) {
504
+ var _this3 = this;
505
+
506
+ var list = isFunction(callback) ? [callback] : callback;
507
+ list.forEach(function (cb) {
508
+ return _this3.on(hookName, cb);
509
+ });
510
+ }
511
+ }, {
512
+ key: "tap",
513
+ value: function tap(hookName, callback) {
514
+ var hooks = this.hooks;
515
+ var _hooks$hookName = hooks[hookName],
516
+ type = _hooks$hookName.type,
517
+ initial = _hooks$hookName.initial;
518
+
519
+ if (type === HOOK_TYPE.SINGLE) {
520
+ this.off(hookName);
521
+ this.on(hookName, isFunction(callback) ? callback : callback[callback.length - 1]);
522
+ } else {
523
+ initial && this.off(hookName, initial);
524
+ this.tapOneOrMany(hookName, callback);
525
+ }
526
+ }
527
+ }, {
528
+ key: "call",
529
+ value: function call(hookName) {
530
+ var _a;
531
+
532
+ var hook = this.hooks[hookName];
533
+ if (!hook) return;
534
+ var type = hook.type;
535
+ var calls = this.callbacks;
536
+ if (!calls) return;
537
+ var list = calls[hookName];
538
+
539
+ if (list) {
540
+ var tail = list.tail;
541
+ var node = list.next;
542
+
543
+ for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
544
+ rest[_key2 - 1] = arguments[_key2];
545
+ }
546
+
547
+ var args = rest;
548
+ var res;
549
+
550
+ while (node !== tail) {
551
+ res = (_a = node.callback) === null || _a === void 0 ? void 0 : _a.apply(node.context || this, args);
552
+
553
+ if (type === HOOK_TYPE.WATERFALL) {
554
+ var params = [res];
555
+ args = params;
556
+ }
557
+
558
+ node = node.next;
559
+ }
560
+
561
+ return res;
562
+ }
563
+ }
564
+ }, {
565
+ key: "isExist",
566
+ value: function isExist(hookName) {
567
+ var _a;
568
+
569
+ return Boolean((_a = this.callbacks) === null || _a === void 0 ? void 0 : _a[hookName]);
570
+ }
571
+ }]);
572
+
573
+ return TaroHooks;
574
+ }(Events);
575
+
576
+ new TaroHooks({
577
+ getMiniLifecycle: TaroHook(HOOK_TYPE.SINGLE, function (defaultConfig) {
578
+ return defaultConfig;
579
+ }),
580
+ getMiniLifecycleImpl: TaroHook(HOOK_TYPE.SINGLE, function () {
581
+ return this.call('getMiniLifecycle', defaultMiniLifecycle);
582
+ }),
583
+ getLifecycle: TaroHook(HOOK_TYPE.SINGLE, function (instance, lifecycle) {
584
+ return instance[lifecycle];
585
+ }),
586
+ getPathIndex: TaroHook(HOOK_TYPE.SINGLE, function (indexOfNode) {
587
+ return "[".concat(indexOfNode, "]");
588
+ }),
589
+ getEventCenter: TaroHook(HOOK_TYPE.SINGLE, function (Events) {
590
+ return new Events();
591
+ }),
592
+ isBubbleEvents: TaroHook(HOOK_TYPE.SINGLE, function (eventName) {
593
+ /**
594
+ * 支持冒泡的事件, 除 支付宝小程序外,其余的可冒泡事件都和微信保持一致
595
+ * 详见 见 https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html
596
+ */
597
+ var BUBBLE_EVENTS = new Set(['touchstart', 'touchmove', 'touchcancel', 'touchend', 'touchforcechange', 'tap', 'longpress', 'longtap', 'transitionend', 'animationstart', 'animationiteration', 'animationend']);
598
+ return BUBBLE_EVENTS.has(eventName);
599
+ }),
600
+ getSpecialNodes: TaroHook(HOOK_TYPE.SINGLE, function () {
601
+ return ['view', 'text', 'image'];
602
+ }),
603
+ onRemoveAttribute: TaroHook(HOOK_TYPE.SINGLE),
604
+ batchedEventUpdates: TaroHook(HOOK_TYPE.SINGLE),
605
+ mergePageInstance: TaroHook(HOOK_TYPE.SINGLE),
606
+ modifyPageObject: TaroHook(HOOK_TYPE.SINGLE),
607
+ createPullDownComponent: TaroHook(HOOK_TYPE.SINGLE),
608
+ getDOMNode: TaroHook(HOOK_TYPE.SINGLE),
609
+ modifyHydrateData: TaroHook(HOOK_TYPE.SINGLE),
610
+ modifySetAttrPayload: TaroHook(HOOK_TYPE.SINGLE),
611
+ modifyRmAttrPayload: TaroHook(HOOK_TYPE.SINGLE),
612
+ onAddEvent: TaroHook(HOOK_TYPE.SINGLE),
613
+ modifyMpEvent: TaroHook(HOOK_TYPE.MULTI),
614
+ modifyMpEventImpl: TaroHook(HOOK_TYPE.SINGLE, function (e) {
615
+ try {
616
+ // 有些小程序的事件对象的某些属性只读
617
+ this.call('modifyMpEvent', e);
618
+ } catch (error) {
619
+ console.warn('[Taro modifyMpEvent hook Error]: ' + (error === null || error === void 0 ? void 0 : error.message));
620
+ }
621
+ }),
622
+ modifyTaroEvent: TaroHook(HOOK_TYPE.MULTI),
623
+ modifyDispatchEvent: TaroHook(HOOK_TYPE.MULTI),
624
+ initNativeApi: TaroHook(HOOK_TYPE.MULTI),
625
+ patchElement: TaroHook(HOOK_TYPE.MULTI)
626
+ });
627
+
628
+ new Date().getTime().toString();
629
+
127
630
  var ENV_TYPE = {
128
631
  WEAPP: 'WEAPP',
129
- WEB: 'WEB',
130
- RN: 'RN',
131
632
  SWAN: 'SWAN',
132
633
  ALIPAY: 'ALIPAY',
133
634
  TT: 'TT',
134
635
  QQ: 'QQ',
135
- JD: 'JD'
636
+ JD: 'JD',
637
+ WEB: 'WEB',
638
+ RN: 'RN',
639
+ HARMONY: 'HARMONY',
640
+ QUICKAPP: 'QUICKAPP'
136
641
  };
642
+ var isWeb = isWebPlatform();
137
643
  function getEnv() {
138
644
  if (process.env.TARO_ENV === 'weapp') {
139
645
  return ENV_TYPE.WEAPP;
@@ -147,10 +653,14 @@
147
653
  return ENV_TYPE.JD;
148
654
  } else if (process.env.TARO_ENV === 'qq') {
149
655
  return ENV_TYPE.QQ;
150
- } else if (process.env.TARO_ENV === 'h5') {
656
+ } else if (isWeb) {
151
657
  return ENV_TYPE.WEB;
152
658
  } else if (process.env.TARO_ENV === 'rn') {
153
659
  return ENV_TYPE.RN;
660
+ } else if (process.env.TARO_ENV === 'harmony') {
661
+ return ENV_TYPE.HARMONY;
662
+ } else if (process.env.TARO_ENV === 'quickapp') {
663
+ return ENV_TYPE.QUICKAPP;
154
664
  } else {
155
665
  return process.env.TARO_ENV || 'Unknown';
156
666
  }
@@ -183,7 +693,7 @@
183
693
  return Promise.reject(err);
184
694
  });
185
695
  Object.keys(p).forEach(function (k) {
186
- return isFunction(p[k]) && (res[k] = p[k]);
696
+ return isFunction$1(p[k]) && (res[k] = p[k]);
187
697
  });
188
698
  return res;
189
699
  }
@@ -253,7 +763,7 @@
253
763
  reject(err);
254
764
  });
255
765
  });
256
- if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort;
766
+ if (!isUndefined(p) && isFunction$1(p.abort)) res.abort = p.abort;
257
767
  return res;
258
768
  }
259
769
  function logInterceptor(chain) {
@@ -276,7 +786,7 @@
276
786
 
277
787
  return res;
278
788
  });
279
- if (isFunction(p.abort)) res.abort = p.abort;
789
+ if (isFunction$1(p.abort)) res.abort = p.abort;
280
790
  return res;
281
791
  }
282
792
 
@@ -322,7 +832,7 @@
322
832
 
323
833
  var designWidth = function () {
324
834
  var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
325
- return isFunction(config.designWidth) ? config.designWidth(input) : config.designWidth || defaultDesignWidth;
835
+ return isFunction$1(config.designWidth) ? config.designWidth(input) : config.designWidth || defaultDesignWidth;
326
836
  }(size);
327
837
 
328
838
  if (!(designWidth in deviceRatio)) {