@tarojs/api 3.7.0-alpha.1 → 3.7.0-alpha.2

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 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/utils.js","../src/polyfill.js","../../shared/dist/shared.esm.js","../src/env.js","../src/interceptor/chain.js","../src/interceptor/index.js","../src/interceptor/interceptors.js","../src/tools.js","../src/index.js"],"sourcesContent":["export function isFunction (x) {\n return typeof x === 'function'\n}\n\nexport function isUndefined (x) {\n return typeof x === 'undefined'\n}\n\nexport function isObject (x) {\n return x && typeof x === 'object'\n}\n","import { isFunction, isObject, isUndefined } from './utils'\n\nconst isBadObj = (x) => !isObject(x)\n\nfunction throwTypeError (s) {\n throw new TypeError(s)\n}\n\nif (!isFunction(Object.assign)) {\n // Must be writable: true, enumerable: false, configurable: true\n Object.assign = function (target) { // .length of function is 2\n if (target == null) { // TypeError if undefined or null\n throwTypeError('Cannot convert undefined or null to object')\n }\n\n const to = Object(target)\n\n for (let index = 1; index < arguments.length; index++) {\n const nextSource = arguments[index]\n\n if (nextSource != null) { // Skip over if undefined or null\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey]\n }\n }\n }\n }\n return to\n }\n}\n\nif (!isFunction(Object.defineProperties)) {\n Object.defineProperties = function (obj, properties) {\n function convertToDescriptor (desc) {\n function hasProperty (obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop)\n }\n\n if (isBadObj(desc)) { throwTypeError('bad desc') }\n\n const d = {}\n\n if (hasProperty(desc, 'enumerable')) d.enumerable = !!desc.enumerable\n if (hasProperty(desc, 'configurable')) { d.configurable = !!desc.configurable }\n if (hasProperty(desc, 'value')) d.value = desc.value\n if (hasProperty(desc, 'writable')) d.writable = !!desc.writable\n if (hasProperty(desc, 'get')) {\n const g = desc.get\n\n if (!isFunction(g) && !isUndefined(g)) { throwTypeError('bad get') }\n d.get = g\n }\n if (hasProperty(desc, 'set')) {\n const s = desc.set\n if (!isFunction(s) && !isUndefined(s)) { throwTypeError('bad set') }\n d.set = s\n }\n\n if (('get' in d || 'set' in d) && ('value' in d || 'writable' in d)) { throwTypeError('identity-confused descriptor') }\n\n return d\n }\n\n if (isBadObj(obj)) throwTypeError('bad obj')\n\n properties = Object(properties)\n\n const keys = Object.keys(properties)\n const descs = []\n\n for (let i = 0; i < keys.length; i++) {\n descs.push([keys[i], convertToDescriptor(properties[keys[i]])])\n }\n\n for (let i = 0; i < descs.length; i++) {\n Object.defineProperty(obj, descs[i][0], descs[i][1])\n }\n\n return obj\n }\n}\n","const DEFAULT_EMPTY_ARRAY = '[]';\nconst NO_DEFAULT_VALUE = '';\nconst DEFAULT_TRUE = '!0';\nconst DEFAULT_FALSE = '!1';\nconst touchEvents = {\n bindTouchStart: NO_DEFAULT_VALUE,\n bindTouchMove: NO_DEFAULT_VALUE,\n bindTouchEnd: NO_DEFAULT_VALUE,\n bindTouchCancel: NO_DEFAULT_VALUE,\n bindLongTap: NO_DEFAULT_VALUE\n};\nconst animation = {\n animation: NO_DEFAULT_VALUE,\n bindAnimationStart: NO_DEFAULT_VALUE,\n bindAnimationIteration: NO_DEFAULT_VALUE,\n bindAnimationEnd: NO_DEFAULT_VALUE,\n bindTransitionEnd: NO_DEFAULT_VALUE\n};\nfunction singleQuote(s) {\n return `'${s}'`;\n}\nconst View = Object.assign(Object.assign({ 'hover-class': singleQuote('none'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '50', 'hover-stay-time': '400' }, touchEvents), animation);\nconst Icon = {\n type: NO_DEFAULT_VALUE,\n size: '23',\n color: NO_DEFAULT_VALUE\n};\nconst MapComp = Object.assign({ longitude: NO_DEFAULT_VALUE, latitude: NO_DEFAULT_VALUE, scale: '16', markers: DEFAULT_EMPTY_ARRAY, covers: NO_DEFAULT_VALUE, polyline: DEFAULT_EMPTY_ARRAY, circles: DEFAULT_EMPTY_ARRAY, controls: DEFAULT_EMPTY_ARRAY, 'include-points': DEFAULT_EMPTY_ARRAY, 'show-location': NO_DEFAULT_VALUE, 'layer-style': '1', bindMarkerTap: NO_DEFAULT_VALUE, bindControlTap: NO_DEFAULT_VALUE, bindCalloutTap: NO_DEFAULT_VALUE, bindUpdated: NO_DEFAULT_VALUE }, touchEvents);\nconst Progress = {\n percent: NO_DEFAULT_VALUE,\n 'stroke-width': '6',\n color: singleQuote('#09BB07'),\n activeColor: singleQuote('#09BB07'),\n backgroundColor: singleQuote('#EBEBEB'),\n active: DEFAULT_FALSE,\n 'active-mode': singleQuote('backwards'),\n 'show-info': DEFAULT_FALSE\n};\nconst RichText = {\n nodes: DEFAULT_EMPTY_ARRAY\n};\nconst Text = {\n selectable: DEFAULT_FALSE,\n space: NO_DEFAULT_VALUE,\n decode: DEFAULT_FALSE\n};\nconst Button = Object.assign({ size: singleQuote('default'), type: NO_DEFAULT_VALUE, plain: DEFAULT_FALSE, disabled: NO_DEFAULT_VALUE, loading: DEFAULT_FALSE, 'form-type': NO_DEFAULT_VALUE, 'open-type': NO_DEFAULT_VALUE, 'hover-class': singleQuote('button-hover'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '20', 'hover-stay-time': '70', name: NO_DEFAULT_VALUE }, touchEvents);\nconst Checkbox = {\n value: NO_DEFAULT_VALUE,\n disabled: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst CheckboxGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Form = {\n 'report-submit': DEFAULT_FALSE,\n bindSubmit: NO_DEFAULT_VALUE,\n bindReset: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Input = {\n value: NO_DEFAULT_VALUE,\n type: singleQuote(NO_DEFAULT_VALUE),\n password: DEFAULT_FALSE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('input-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'cursor-spacing': '0',\n focus: DEFAULT_FALSE,\n 'confirm-type': singleQuote('done'),\n 'confirm-hold': DEFAULT_FALSE,\n cursor: 'i.value.length',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindInput: NO_DEFAULT_VALUE,\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Label = {\n for: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Picker = {\n mode: singleQuote('selector'),\n disabled: NO_DEFAULT_VALUE,\n range: NO_DEFAULT_VALUE,\n 'range-key': NO_DEFAULT_VALUE,\n value: NO_DEFAULT_VALUE,\n start: NO_DEFAULT_VALUE,\n end: NO_DEFAULT_VALUE,\n fields: singleQuote('day'),\n 'custom-item': NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n bindCancel: NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n bindColumnChange: NO_DEFAULT_VALUE\n};\nconst PickerView = {\n value: NO_DEFAULT_VALUE,\n 'indicator-style': NO_DEFAULT_VALUE,\n 'indicator-class': NO_DEFAULT_VALUE,\n 'mask-style': NO_DEFAULT_VALUE,\n 'mask-class': NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst PickerViewColumn = {\n name: NO_DEFAULT_VALUE\n};\nconst Radio = {\n value: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst RadioGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Slider = {\n min: '0',\n max: '100',\n step: '1',\n disabled: NO_DEFAULT_VALUE,\n value: '0',\n activeColor: singleQuote('#1aad19'),\n backgroundColor: singleQuote('#e9e9e9'),\n 'block-size': '28',\n 'block-color': singleQuote('#ffffff'),\n 'show-value': DEFAULT_FALSE,\n bindChange: NO_DEFAULT_VALUE,\n bindChanging: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Switch = {\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n type: singleQuote('switch'),\n color: singleQuote('#04BE02'),\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Textarea = {\n value: NO_DEFAULT_VALUE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('textarea-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'auto-focus': DEFAULT_FALSE,\n focus: DEFAULT_FALSE,\n 'auto-height': DEFAULT_FALSE,\n fixed: DEFAULT_FALSE,\n 'cursor-spacing': '0',\n cursor: '-1',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindLineChange: NO_DEFAULT_VALUE,\n bindInput: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst CoverImage = {\n src: NO_DEFAULT_VALUE,\n bindLoad: 'eh',\n bindError: 'eh'\n};\nconst CoverView = Object.assign({ 'scroll-top': DEFAULT_FALSE }, touchEvents);\nconst MovableArea = {\n 'scale-area': DEFAULT_FALSE\n};\nconst MovableView = Object.assign(Object.assign({ direction: 'none', inertia: DEFAULT_FALSE, 'out-of-bounds': DEFAULT_FALSE, x: NO_DEFAULT_VALUE, y: NO_DEFAULT_VALUE, damping: '20', friction: '2', disabled: NO_DEFAULT_VALUE, scale: DEFAULT_FALSE, 'scale-min': '0.5', 'scale-max': '10', 'scale-value': '1', bindChange: NO_DEFAULT_VALUE, bindScale: NO_DEFAULT_VALUE, bindHTouchMove: NO_DEFAULT_VALUE, bindVTouchMove: NO_DEFAULT_VALUE, width: singleQuote('10px'), height: singleQuote('10px') }, touchEvents), animation);\nconst ScrollView = Object.assign(Object.assign({ 'scroll-x': DEFAULT_FALSE, 'scroll-y': DEFAULT_FALSE, 'upper-threshold': '50', 'lower-threshold': '50', 'scroll-top': NO_DEFAULT_VALUE, 'scroll-left': NO_DEFAULT_VALUE, 'scroll-into-view': NO_DEFAULT_VALUE, 'scroll-with-animation': DEFAULT_FALSE, 'enable-back-to-top': DEFAULT_FALSE, bindScrollToUpper: NO_DEFAULT_VALUE, bindScrollToLower: NO_DEFAULT_VALUE, bindScroll: NO_DEFAULT_VALUE }, touchEvents), animation);\nconst Swiper = Object.assign({ 'indicator-dots': DEFAULT_FALSE, 'indicator-color': singleQuote('rgba(0, 0, 0, .3)'), 'indicator-active-color': singleQuote('#000000'), autoplay: DEFAULT_FALSE, current: '0', interval: '5000', duration: '500', circular: DEFAULT_FALSE, vertical: DEFAULT_FALSE, 'previous-margin': singleQuote('0px'), 'next-margin': singleQuote('0px'), 'display-multiple-items': '1', bindChange: NO_DEFAULT_VALUE, bindTransition: NO_DEFAULT_VALUE, bindAnimationFinish: NO_DEFAULT_VALUE }, touchEvents);\nconst SwiperItem = {\n 'item-id': NO_DEFAULT_VALUE\n};\nconst Navigator = {\n url: NO_DEFAULT_VALUE,\n 'open-type': singleQuote('navigate'),\n delta: '1',\n 'hover-class': singleQuote('navigator-hover'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '50',\n 'hover-stay-time': '600',\n bindSuccess: NO_DEFAULT_VALUE,\n bindFail: NO_DEFAULT_VALUE,\n bindComplete: NO_DEFAULT_VALUE\n};\nconst Audio = {\n id: NO_DEFAULT_VALUE,\n src: NO_DEFAULT_VALUE,\n loop: DEFAULT_FALSE,\n controls: DEFAULT_FALSE,\n poster: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n author: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindPlay: NO_DEFAULT_VALUE,\n bindPause: NO_DEFAULT_VALUE,\n bindTimeUpdate: NO_DEFAULT_VALUE,\n bindEnded: NO_DEFAULT_VALUE\n};\nconst Camera = {\n 'device-position': singleQuote('back'),\n flash: singleQuote('auto'),\n bindStop: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Image = Object.assign({ src: NO_DEFAULT_VALUE, mode: singleQuote('scaleToFill'), 'lazy-load': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE, bindLoad: NO_DEFAULT_VALUE }, touchEvents);\nconst LivePlayer = Object.assign({ src: NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, muted: DEFAULT_FALSE, orientation: singleQuote('vertical'), 'object-fit': singleQuote('contain'), 'background-mute': DEFAULT_FALSE, 'min-cache': '1', 'max-cache': '3', bindStateChange: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindNetStatus: NO_DEFAULT_VALUE }, animation);\nconst Video = Object.assign({ src: NO_DEFAULT_VALUE, duration: NO_DEFAULT_VALUE, controls: DEFAULT_TRUE, 'danmu-list': NO_DEFAULT_VALUE, 'danmu-btn': NO_DEFAULT_VALUE, 'enable-danmu': NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, loop: DEFAULT_FALSE, muted: DEFAULT_FALSE, 'initial-time': '0', 'page-gesture': DEFAULT_FALSE, direction: NO_DEFAULT_VALUE, 'show-progress': DEFAULT_TRUE, 'show-fullscreen-btn': DEFAULT_TRUE, 'show-play-btn': DEFAULT_TRUE, 'show-center-play-btn': DEFAULT_TRUE, 'enable-progress-gesture': DEFAULT_TRUE, 'object-fit': singleQuote('contain'), poster: NO_DEFAULT_VALUE, 'show-mute-btn': DEFAULT_FALSE, bindPlay: NO_DEFAULT_VALUE, bindPause: NO_DEFAULT_VALUE, bindEnded: NO_DEFAULT_VALUE, bindTimeUpdate: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindWaiting: NO_DEFAULT_VALUE, bindError: NO_DEFAULT_VALUE }, animation);\nconst Canvas = Object.assign({ 'canvas-id': NO_DEFAULT_VALUE, 'disable-scroll': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE }, touchEvents);\nconst Ad = {\n 'unit-id': NO_DEFAULT_VALUE,\n 'ad-intervals': NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindClose: NO_DEFAULT_VALUE\n};\nconst WebView = {\n src: NO_DEFAULT_VALUE,\n bindMessage: NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Block = {};\n// For Vue,因为 slot 标签被 vue 占用了\nconst SlotView = {\n name: NO_DEFAULT_VALUE\n};\n// For React\n// Slot 和 SlotView 最终都会编译成 <view slot={{ i.name }} />\n// 因为 <slot name=\"{{ i.name }}\" /> 适用性没有前者高(无法添加类和样式)\n// 不给 View 直接加 slot 属性的原因是性能损耗\nconst Slot = {\n name: NO_DEFAULT_VALUE\n};\nconst NativeSlot = {\n name: NO_DEFAULT_VALUE\n};\nconst internalComponents = {\n View,\n Icon,\n Progress,\n RichText,\n Text,\n Button,\n Checkbox,\n CheckboxGroup,\n Form,\n Input,\n Label,\n Picker,\n PickerView,\n PickerViewColumn,\n Radio,\n RadioGroup,\n Slider,\n Switch,\n CoverImage,\n Textarea,\n CoverView,\n MovableArea,\n MovableView,\n ScrollView,\n Swiper,\n SwiperItem,\n Navigator,\n Audio,\n Camera,\n Image,\n LivePlayer,\n Video,\n Canvas,\n Ad,\n WebView,\n Block,\n Map: MapComp,\n Slot,\n SlotView,\n NativeSlot,\n};\nconst controlledComponent = new Set([\n 'input',\n 'checkbox',\n 'picker',\n 'picker-view',\n 'radio',\n 'slider',\n 'switch',\n 'textarea'\n]);\nconst focusComponents = new Set([\n 'input',\n 'textarea'\n]);\nconst voidElements = new Set([\n 'progress',\n 'icon',\n 'rich-text',\n 'input',\n 'textarea',\n 'slider',\n 'switch',\n 'audio',\n 'ad',\n 'official-account',\n 'open-data',\n 'navigation-bar'\n]);\nconst nestElements = new Map([\n ['view', -1],\n ['catch-view', -1],\n ['cover-view', -1],\n ['static-view', -1],\n ['pure-view', -1],\n ['block', -1],\n ['text', -1],\n ['static-text', 6],\n ['slot', 8],\n ['slot-view', 8],\n ['label', 6],\n ['form', 4],\n ['scroll-view', 4],\n ['swiper', 4],\n ['swiper-item', 4]\n]);\n\nvar PLATFORM_TYPE;\n(function (PLATFORM_TYPE) {\n PLATFORM_TYPE[\"MINI\"] = \"mini\";\n PLATFORM_TYPE[\"WEB\"] = \"web\";\n PLATFORM_TYPE[\"RN\"] = \"rn\";\n PLATFORM_TYPE[\"HARMONY\"] = \"harmony\";\n PLATFORM_TYPE[\"QUICK\"] = \"quickapp\";\n})(PLATFORM_TYPE || (PLATFORM_TYPE = {}));\nconst PLATFORM_CONFIG_MAP = {\n h5: {\n type: PLATFORM_TYPE.WEB\n },\n harmony: {\n type: PLATFORM_TYPE.HARMONY\n },\n mini: {\n type: PLATFORM_TYPE.MINI\n },\n rn: {\n type: PLATFORM_TYPE.RN\n },\n quickapp: {\n type: PLATFORM_TYPE.QUICK\n }\n};\n\nclass Events {\n constructor(opts) {\n var _a;\n this.callbacks = (_a = opts === null || opts === void 0 ? void 0 : opts.callbacks) !== null && _a !== void 0 ? _a : {};\n }\n on(eventName, callback, context) {\n let event, node, tail, list;\n if (!callback) {\n return this;\n }\n eventName = eventName.split(Events.eventSplitter);\n this.callbacks || (this.callbacks = {});\n const calls = this.callbacks;\n while ((event = eventName.shift())) {\n list = calls[event];\n node = list ? list.tail : {};\n node.next = tail = {};\n node.context = context;\n node.callback = callback;\n calls[event] = {\n tail,\n next: list ? list.next : node\n };\n }\n return this;\n }\n once(events, callback, context) {\n const wrapper = (...args) => {\n callback.apply(this, args);\n this.off(events, wrapper, context);\n };\n this.on(events, wrapper, context);\n return this;\n }\n off(events, callback, context) {\n let event, calls, node, tail, cb, ctx;\n if (!(calls = this.callbacks)) {\n return this;\n }\n if (!(events || callback || context)) {\n delete this.callbacks;\n return this;\n }\n events = events ? events.split(Events.eventSplitter) : Object.keys(calls);\n while ((event = events.shift())) {\n node = calls[event];\n delete calls[event];\n if (!node || !(callback || context)) {\n continue;\n }\n tail = node.tail;\n while ((node = node.next) !== tail) {\n cb = node.callback;\n ctx = node.context;\n if ((callback && cb !== callback) || (context && ctx !== context)) {\n this.on(event, cb, ctx);\n }\n }\n }\n return this;\n }\n trigger(events) {\n let event, node, calls, tail;\n if (!(calls = this.callbacks)) {\n return this;\n }\n events = events.split(Events.eventSplitter);\n const rest = [].slice.call(arguments, 1);\n while ((event = events.shift())) {\n if ((node = calls[event])) {\n tail = node.tail;\n while ((node = node.next) !== tail) {\n node.callback.apply(node.context || this, rest);\n }\n }\n }\n return this;\n }\n}\nEvents.eventSplitter = ','; // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\\s+/\n\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isUndefined(o) {\n return typeof o === 'undefined';\n}\nfunction isNull(o) {\n return o === null;\n}\nfunction isObject(o) {\n return o !== null && typeof o === 'object';\n}\nfunction isBoolean(o) {\n return o === true || o === false;\n}\nfunction isFunction(o) {\n return typeof o === 'function';\n}\nfunction isNumber(o) {\n return typeof o === 'number';\n}\nfunction isBooleanStringLiteral(o) {\n return o === 'true' || o === 'false';\n}\nconst isArray = Array.isArray;\nconst isWebPlatform = () => process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web';\n\nvar HOOK_TYPE;\n(function (HOOK_TYPE) {\n HOOK_TYPE[HOOK_TYPE[\"SINGLE\"] = 0] = \"SINGLE\";\n HOOK_TYPE[HOOK_TYPE[\"MULTI\"] = 1] = \"MULTI\";\n HOOK_TYPE[HOOK_TYPE[\"WATERFALL\"] = 2] = \"WATERFALL\";\n})(HOOK_TYPE || (HOOK_TYPE = {}));\nconst defaultMiniLifecycle = {\n app: [\n 'onLaunch',\n 'onShow',\n 'onHide'\n ],\n page: [\n 'onLoad',\n 'onUnload',\n 'onReady',\n 'onShow',\n 'onHide',\n [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap',\n 'onTitleClick',\n 'onOptionMenuClick',\n 'onPopMenuClick',\n 'onPullIntercept',\n 'onAddToFavorites'\n ],\n [\n 'onShareAppMessage',\n 'onShareTimeline'\n ]\n ],\n component: [\n 'attached',\n 'detached'\n ]\n};\nfunction TaroHook(type, initial) {\n return {\n type,\n initial: initial || null\n };\n}\nclass TaroHooks extends Events {\n constructor(hooks, opts) {\n super(opts);\n this.hooks = hooks;\n for (const hookName in hooks) {\n const { initial } = hooks[hookName];\n if (isFunction(initial)) {\n this.on(hookName, initial);\n }\n }\n }\n tapOneOrMany(hookName, callback) {\n const list = isFunction(callback) ? [callback] : callback;\n list.forEach(cb => this.on(hookName, cb));\n }\n tap(hookName, callback) {\n const hooks = this.hooks;\n const { type, initial } = hooks[hookName];\n if (type === HOOK_TYPE.SINGLE) {\n this.off(hookName);\n this.on(hookName, isFunction(callback) ? callback : callback[callback.length - 1]);\n }\n else {\n initial && this.off(hookName, initial);\n this.tapOneOrMany(hookName, callback);\n }\n }\n call(hookName, ...rest) {\n var _a;\n const hook = this.hooks[hookName];\n if (!hook)\n return;\n const { type } = hook;\n const calls = this.callbacks;\n if (!calls)\n return;\n const list = calls[hookName];\n if (list) {\n const tail = list.tail;\n let node = list.next;\n let args = rest;\n let res;\n while (node !== tail) {\n res = (_a = node.callback) === null || _a === void 0 ? void 0 : _a.apply(node.context || this, args);\n if (type === HOOK_TYPE.WATERFALL) {\n const params = [res];\n args = params;\n }\n node = node.next;\n }\n return res;\n }\n }\n isExist(hookName) {\n var _a;\n return Boolean((_a = this.callbacks) === null || _a === void 0 ? void 0 : _a[hookName]);\n }\n}\nconst hooks = new TaroHooks({\n getMiniLifecycle: TaroHook(HOOK_TYPE.SINGLE, defaultConfig => defaultConfig),\n getMiniLifecycleImpl: TaroHook(HOOK_TYPE.SINGLE, function () {\n return this.call('getMiniLifecycle', defaultMiniLifecycle);\n }),\n getLifecycle: TaroHook(HOOK_TYPE.SINGLE, (instance, lifecycle) => instance[lifecycle]),\n getPathIndex: TaroHook(HOOK_TYPE.SINGLE, indexOfNode => `[${indexOfNode}]`),\n getEventCenter: TaroHook(HOOK_TYPE.SINGLE, Events => new Events()),\n isBubbleEvents: TaroHook(HOOK_TYPE.SINGLE, eventName => {\n /**\n * 支持冒泡的事件, 除 支付宝小程序外,其余的可冒泡事件都和微信保持一致\n * 详见 见 https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html\n */\n const BUBBLE_EVENTS = new Set([\n 'touchstart',\n 'touchmove',\n 'touchcancel',\n 'touchend',\n 'touchforcechange',\n 'tap',\n 'longpress',\n 'longtap',\n 'transitionend',\n 'animationstart',\n 'animationiteration',\n 'animationend'\n ]);\n return BUBBLE_EVENTS.has(eventName);\n }),\n getSpecialNodes: TaroHook(HOOK_TYPE.SINGLE, () => ['view', 'text', 'image']),\n onRemoveAttribute: TaroHook(HOOK_TYPE.SINGLE),\n batchedEventUpdates: TaroHook(HOOK_TYPE.SINGLE),\n mergePageInstance: TaroHook(HOOK_TYPE.SINGLE),\n modifyPageObject: TaroHook(HOOK_TYPE.SINGLE),\n createPullDownComponent: TaroHook(HOOK_TYPE.SINGLE),\n getDOMNode: TaroHook(HOOK_TYPE.SINGLE),\n modifyHydrateData: TaroHook(HOOK_TYPE.SINGLE),\n modifySetAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n modifyRmAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n onAddEvent: TaroHook(HOOK_TYPE.SINGLE),\n modifyMpEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyMpEventImpl: TaroHook(HOOK_TYPE.SINGLE, function (e) {\n try {\n // 有些小程序的事件对象的某些属性只读\n this.call('modifyMpEvent', e);\n }\n catch (error) {\n console.warn('[Taro modifyMpEvent hook Error]: ' + (error === null || error === void 0 ? void 0 : error.message));\n }\n }),\n modifyTaroEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyDispatchEvent: TaroHook(HOOK_TYPE.MULTI),\n initNativeApi: TaroHook(HOOK_TYPE.MULTI),\n patchElement: TaroHook(HOOK_TYPE.MULTI)\n});\n\nconst EMPTY_OBJ = {};\nconst EMPTY_ARR = [];\nconst noop = (..._) => { };\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param v Value.\n * @returns Boxed value.\n */\nconst box = (v) => ({ v });\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param b Boxed value.\n * @returns Value.\n */\nconst unbox = (b) => b.v;\nfunction toDashed(s) {\n return s.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction toCamelCase(s) {\n let camel = '';\n let nextCap = false;\n for (let i = 0; i < s.length; i++) {\n if (s[i] !== '-') {\n camel += nextCap ? s[i].toUpperCase() : s[i];\n nextCap = false;\n }\n else {\n nextCap = true;\n }\n }\n return camel;\n}\nconst toKebabCase = function (string) {\n return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n};\nfunction capitalize(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\n/**\n * ensure takes a condition and throw a error if the condition fails,\n * like failure::ensure: https://docs.rs/failure/0.1.1/failure/macro.ensure.html\n * @param condition condition.\n * @param msg error message.\n */\nfunction ensure(condition, msg) {\n if (!condition) {\n if (process.env.NODE_ENV !== 'production') {\n const reportIssue = '\\n如有疑问,请提交 issue 至:https://github.com/nervjs/taro/issues';\n throw new Error(msg + reportIssue);\n }\n else {\n throw new Error(msg);\n }\n }\n}\nfunction warn(condition, msg) {\n if (process.env.NODE_ENV !== 'production') {\n if (condition) {\n console.warn(`[taro warn] ${msg}`);\n }\n }\n}\nfunction queryToJson(str) {\n const dec = decodeURIComponent;\n const qp = str.split('&');\n const ret = {};\n let name;\n let val;\n for (let i = 0, l = qp.length, item; i < l; ++i) {\n item = qp[i];\n if (item.length) {\n const s = item.indexOf('=');\n if (s < 0) {\n name = dec(item);\n val = '';\n }\n else {\n name = dec(item.slice(0, s));\n val = dec(item.slice(s + 1));\n }\n if (typeof ret[name] === 'string') { // inline'd type check\n ret[name] = [ret[name]];\n }\n if (Array.isArray(ret[name])) {\n ret[name].push(val);\n }\n else {\n ret[name] = val;\n }\n }\n }\n return ret; // Object\n}\nlet _uniqueId = 1;\nconst _loadTime = (new Date()).getTime().toString();\nfunction getUniqueKey() {\n return _loadTime + (_uniqueId++);\n}\nconst cacheData = {};\nfunction cacheDataSet(key, val) {\n cacheData[key] = val;\n}\nfunction cacheDataGet(key, delelteAfterGet) {\n const temp = cacheData[key];\n delelteAfterGet && delete cacheData[key];\n return temp;\n}\nfunction cacheDataHas(key) {\n return key in cacheData;\n}\nfunction mergeInternalComponents(components) {\n Object.keys(components).forEach(name => {\n if (name in internalComponents) {\n Object.assign(internalComponents[name], components[name]);\n }\n else {\n internalComponents[name] = components[name];\n }\n });\n return internalComponents;\n}\nfunction getComponentsAlias(origin) {\n const mapping = {};\n const viewAttrs = origin.View;\n const extraList = {\n '#text': {},\n StaticView: viewAttrs,\n StaticImage: origin.Image,\n StaticText: origin.Text,\n PureView: viewAttrs,\n CatchView: viewAttrs\n };\n origin = Object.assign(Object.assign({}, origin), extraList);\n Object.keys(origin)\n .sort((a, b) => {\n const reg = /^(Static|Pure|Catch)*(View|Image|Text)$/;\n const isACommonly = reg.test(a);\n const isBCommonly = reg.test(b);\n if (isACommonly && isBCommonly) {\n return a > b ? 1 : -1;\n }\n else if (isACommonly) {\n return -1;\n }\n else if (isBCommonly) {\n return 1;\n }\n else {\n return a >= b ? 1 : -1;\n }\n })\n .forEach((key, num) => {\n const obj = {\n _num: String(num)\n };\n Object.keys(origin[key])\n .filter(attr => !(/^bind/.test(attr)) && !['focus', 'blur'].includes(attr))\n .sort()\n .forEach((attr, index) => {\n obj[toCamelCase(attr)] = 'p' + index;\n });\n mapping[toDashed(key)] = obj;\n });\n return mapping;\n}\nfunction getPlatformType(platform = 'weapp', configNameOrType = PLATFORM_TYPE.MINI) {\n if (Object.keys(PLATFORM_CONFIG_MAP).includes(platform)) {\n configNameOrType = platform;\n }\n const param = PLATFORM_CONFIG_MAP[configNameOrType] || {};\n return param.type || configNameOrType;\n}\nfunction mergeReconciler(hostConfig, hooksForTest) {\n const obj = hooksForTest || hooks;\n const keys = Object.keys(hostConfig);\n keys.forEach(key => {\n obj.tap(key, hostConfig[key]);\n });\n}\nfunction nonsupport(api) {\n return function () {\n console.warn(`小程序暂不支持 ${api}`);\n };\n}\nfunction setUniqueKeyToRoute(key, obj) {\n const routerParamsPrivateKey = '__key_';\n const useDataCacheApis = [\n 'navigateTo',\n 'redirectTo',\n 'reLaunch',\n 'switchTab'\n ];\n if (useDataCacheApis.indexOf(key) > -1) {\n const url = obj.url = obj.url || '';\n const hasMark = url.indexOf('?') > -1;\n const cacheKey = getUniqueKey();\n obj.url += (hasMark ? '&' : '?') + `${routerParamsPrivateKey}=${cacheKey}`;\n }\n}\nfunction indent(str, size) {\n return str.split('\\n')\n .map((line, index) => {\n const indent = index === 0 ? '' : Array(size).fill(' ').join('');\n return indent + line;\n })\n .join('\\n');\n}\n\nconst needPromiseApis = new Set([\n 'addPhoneContact',\n 'authorize',\n 'canvasGetImageData',\n 'canvasPutImageData',\n 'canvasToTempFilePath',\n 'checkSession',\n 'chooseAddress',\n 'chooseImage',\n 'chooseInvoiceTitle',\n 'chooseLocation',\n 'chooseVideo',\n 'clearStorage',\n 'closeBLEConnection',\n 'closeBluetoothAdapter',\n 'closeSocket',\n 'compressImage',\n 'connectSocket',\n 'createBLEConnection',\n 'downloadFile',\n 'exitMiniProgram',\n 'getAvailableAudioSources',\n 'getBLEDeviceCharacteristics',\n 'getBLEDeviceServices',\n 'getBatteryInfo',\n 'getBeacons',\n 'getBluetoothAdapterState',\n 'getBluetoothDevices',\n 'getClipboardData',\n 'getConnectedBluetoothDevices',\n 'getConnectedWifi',\n 'getExtConfig',\n 'getFileInfo',\n 'getImageInfo',\n 'getLocation',\n 'getNetworkType',\n 'getSavedFileInfo',\n 'getSavedFileList',\n 'getScreenBrightness',\n 'getSetting',\n 'getStorage',\n 'getStorageInfo',\n 'getSystemInfo',\n 'getUserInfo',\n 'getWifiList',\n 'hideHomeButton',\n 'hideShareMenu',\n 'hideTabBar',\n 'hideTabBarRedDot',\n 'loadFontFace',\n 'login',\n 'makePhoneCall',\n 'navigateBack',\n 'navigateBackMiniProgram',\n 'navigateTo',\n 'navigateToBookshelf',\n 'navigateToMiniProgram',\n 'notifyBLECharacteristicValueChange',\n 'hideKeyboard',\n 'hideLoading',\n 'hideNavigationBarLoading',\n 'hideToast',\n 'openBluetoothAdapter',\n 'openDocument',\n 'openLocation',\n 'openSetting',\n 'pageScrollTo',\n 'previewImage',\n 'queryBookshelf',\n 'reLaunch',\n 'readBLECharacteristicValue',\n 'redirectTo',\n 'removeSavedFile',\n 'removeStorage',\n 'removeTabBarBadge',\n 'requestSubscribeMessage',\n 'saveFile',\n 'saveImageToPhotosAlbum',\n 'saveVideoToPhotosAlbum',\n 'scanCode',\n 'sendSocketMessage',\n 'setBackgroundColor',\n 'setBackgroundTextStyle',\n 'setClipboardData',\n 'setEnableDebug',\n 'setInnerAudioOption',\n 'setKeepScreenOn',\n 'setNavigationBarColor',\n 'setNavigationBarTitle',\n 'setScreenBrightness',\n 'setStorage',\n 'setTabBarBadge',\n 'setTabBarItem',\n 'setTabBarStyle',\n 'showActionSheet',\n 'showFavoriteGuide',\n 'showLoading',\n 'showModal',\n 'showShareMenu',\n 'showTabBar',\n 'showTabBarRedDot',\n 'showToast',\n 'startBeaconDiscovery',\n 'startBluetoothDevicesDiscovery',\n 'startDeviceMotionListening',\n 'startPullDownRefresh',\n 'stopBeaconDiscovery',\n 'stopBluetoothDevicesDiscovery',\n 'stopCompass',\n 'startCompass',\n 'startAccelerometer',\n 'stopAccelerometer',\n 'showNavigationBarLoading',\n 'stopDeviceMotionListening',\n 'stopPullDownRefresh',\n 'switchTab',\n 'uploadFile',\n 'vibrateLong',\n 'vibrateShort',\n 'writeBLECharacteristicValue'\n]);\nfunction getCanIUseWebp(taro) {\n return function () {\n var _a;\n const res = (_a = taro.getSystemInfoSync) === null || _a === void 0 ? void 0 : _a.call(taro);\n if (!res) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('不支持 API canIUseWebp');\n }\n return false;\n }\n const { platform } = res;\n const platformLower = platform.toLowerCase();\n if (platformLower === 'android' || platformLower === 'devtools') {\n return true;\n }\n return false;\n };\n}\nfunction getNormalRequest(global) {\n return function request(options) {\n options = options\n ? (isString(options)\n ? { url: options }\n : options)\n : {};\n const originSuccess = options.success;\n const originFail = options.fail;\n const originComplete = options.complete;\n let requestTask;\n const p = new Promise((resolve, reject) => {\n options.success = res => {\n originSuccess && originSuccess(res);\n resolve(res);\n };\n options.fail = res => {\n originFail && originFail(res);\n reject(res);\n };\n options.complete = res => {\n originComplete && originComplete(res);\n };\n requestTask = global.request(options);\n });\n equipTaskMethodsIntoPromise(requestTask, p);\n p.abort = (cb) => {\n cb && cb();\n if (requestTask) {\n requestTask.abort();\n }\n return p;\n };\n return p;\n };\n}\nfunction processApis(taro, global, config = {}) {\n const patchNeedPromiseApis = config.needPromiseApis || [];\n const _needPromiseApis = new Set([...patchNeedPromiseApis, ...needPromiseApis]);\n const preserved = [\n 'getEnv',\n 'interceptors',\n 'Current',\n 'getCurrentInstance',\n 'options',\n 'nextTick',\n 'eventCenter',\n 'Events',\n 'preload',\n 'webpackJsonp'\n ];\n const apis = new Set(!config.isOnlyPromisify\n ? Object.keys(global).filter(api => preserved.indexOf(api) === -1)\n : patchNeedPromiseApis);\n if (config.modifyApis) {\n config.modifyApis(apis);\n }\n apis.forEach(key => {\n if (_needPromiseApis.has(key)) {\n const originKey = key;\n taro[originKey] = (options = {}, ...args) => {\n let key = originKey;\n // 第一个参数 options 为字符串,单独处理\n if (typeof options === 'string') {\n if (args.length) {\n return global[key](options, ...args);\n }\n return global[key](options);\n }\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n const transformResult = config.transformMeta(key, options);\n key = transformResult.key;\n options = transformResult.options;\n // 新 key 可能不存在\n if (!global.hasOwnProperty(key)) {\n return nonsupport(key)();\n }\n }\n let task = null;\n const obj = Object.assign({}, options);\n // 为页面跳转相关的 API 设置一个随机数作为路由参数。为了给 runtime 区分页面。\n setUniqueKeyToRoute(key, options);\n // Promise 化\n const p = new Promise((resolve, reject) => {\n obj.success = res => {\n var _a, _b;\n (_a = config.modifyAsyncResult) === null || _a === void 0 ? void 0 : _a.call(config, key, res);\n (_b = options.success) === null || _b === void 0 ? void 0 : _b.call(options, res);\n if (key === 'connectSocket') {\n resolve(Promise.resolve().then(() => task ? Object.assign(task, res) : res));\n }\n else {\n resolve(res);\n }\n };\n obj.fail = res => {\n var _a;\n (_a = options.fail) === null || _a === void 0 ? void 0 : _a.call(options, res);\n reject(res);\n };\n obj.complete = res => {\n var _a;\n (_a = options.complete) === null || _a === void 0 ? void 0 : _a.call(options, res);\n };\n if (args.length) {\n task = global[key](obj, ...args);\n }\n else {\n task = global[key](obj);\n }\n });\n // 给 promise 对象挂载属性\n if (['uploadFile', 'downloadFile'].includes(key)) {\n equipTaskMethodsIntoPromise(task, p);\n p.progress = cb => {\n task === null || task === void 0 ? void 0 : task.onProgressUpdate(cb);\n return p;\n };\n p.abort = cb => {\n cb === null || cb === void 0 ? void 0 : cb();\n task === null || task === void 0 ? void 0 : task.abort();\n return p;\n };\n }\n return p;\n };\n }\n else {\n let platformKey = key;\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n platformKey = config.transformMeta(key, {}).key;\n }\n // API 不存在\n if (!global.hasOwnProperty(platformKey)) {\n taro[key] = nonsupport(key);\n return;\n }\n if (isFunction(global[key])) {\n taro[key] = (...args) => {\n if (config.handleSyncApis) {\n return config.handleSyncApis(key, global, args);\n }\n else {\n return global[platformKey].apply(global, args);\n }\n };\n }\n else {\n taro[key] = global[platformKey];\n }\n }\n });\n !config.isOnlyPromisify && equipCommonApis(taro, global, config);\n}\n/**\n * 挂载常用 API\n * @param taro Taro 对象\n * @param global 小程序全局对象,如微信的 wx,支付宝的 my\n */\nfunction equipCommonApis(taro, global, apis = {}) {\n taro.canIUseWebp = getCanIUseWebp(taro);\n taro.getCurrentPages = getCurrentPages || nonsupport('getCurrentPages');\n taro.getApp = getApp || nonsupport('getApp');\n taro.env = global.env || {};\n try {\n taro.requirePlugin = requirePlugin || nonsupport('requirePlugin');\n }\n catch (error) {\n taro.requirePlugin = nonsupport('requirePlugin');\n }\n // request & interceptors\n const request = apis.request || getNormalRequest(global);\n function taroInterceptor(chain) {\n return request(chain.requestParams);\n }\n const link = new taro.Link(taroInterceptor);\n taro.request = link.request.bind(link);\n taro.addInterceptor = link.addInterceptor.bind(link);\n taro.cleanInterceptors = link.cleanInterceptors.bind(link);\n taro.miniGlobal = taro.options.miniGlobal = global;\n}\n/**\n * 将Task对象中的方法挂载到promise对象中,适配小程序api原生返回结果\n * @param task Task对象 {RequestTask | DownloadTask | UploadTask}\n * @param promise Promise\n */\nfunction equipTaskMethodsIntoPromise(task, promise) {\n if (!task || !promise)\n return;\n const taskMethods = ['abort', 'onHeadersReceived', 'offHeadersReceived', 'onProgressUpdate', 'offProgressUpdate', 'onChunkReceived', 'offChunkReceived'];\n task && taskMethods.forEach(method => {\n if (method in task) {\n promise[method] = task[method].bind(task);\n }\n });\n}\n\nexport { EMPTY_ARR, EMPTY_OBJ, Events, HOOK_TYPE, PLATFORM_CONFIG_MAP, PLATFORM_TYPE, TaroHook, TaroHooks, animation, box, cacheDataGet, cacheDataHas, cacheDataSet, capitalize, controlledComponent, ensure, focusComponents, getComponentsAlias, getPlatformType, getUniqueKey, hasOwn, hooks, indent, internalComponents, isArray, isBoolean, isBooleanStringLiteral, isFunction, isNull, isNumber, isObject, isString, isUndefined, isWebPlatform, mergeInternalComponents, mergeReconciler, nestElements, nonsupport, noop, processApis, queryToJson, setUniqueKeyToRoute, singleQuote, toCamelCase, toDashed, toKebabCase, touchEvents, unbox, voidElements, warn };\n//# sourceMappingURL=shared.esm.js.map\n","import { isWebPlatform } from '@tarojs/shared'\n\nexport const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP'\n}\n\nconst isWeb = isWebPlatform()\n\nexport function getEnv () {\n if (process.env.TARO_ENV === 'weapp') {\n return ENV_TYPE.WEAPP\n } else if (process.env.TARO_ENV === 'alipay') {\n return ENV_TYPE.ALIPAY\n } else if (process.env.TARO_ENV === 'swan') {\n return ENV_TYPE.SWAN\n } else if (process.env.TARO_ENV === 'tt') {\n return ENV_TYPE.TT\n } else if (process.env.TARO_ENV === 'jd') {\n return ENV_TYPE.JD\n } else if (process.env.TARO_ENV === 'qq') {\n return ENV_TYPE.QQ\n } else if (isWeb) {\n return ENV_TYPE.WEB\n } else if (process.env.TARO_ENV === 'rn') {\n return ENV_TYPE.RN\n } else if (process.env.TARO_ENV === 'harmony') {\n return ENV_TYPE.HARMONY\n } else if (process.env.TARO_ENV === 'quickapp') {\n return ENV_TYPE.QUICKAPP\n } else {\n return process.env.TARO_ENV || 'Unknown'\n }\n}\n","import { isFunction } from '../utils'\n\nexport default class Chain {\n constructor (requestParams, interceptors, index) {\n this.index = index || 0\n this.requestParams = requestParams\n this.interceptors = interceptors || []\n }\n\n proceed (requestParams) {\n this.requestParams = requestParams\n if (this.index >= this.interceptors.length) {\n throw new Error('chain 参数错误, 请勿直接修改 request.chain')\n }\n const nextInterceptor = this._getNextInterceptor()\n const nextChain = this._getNextChain()\n const p = nextInterceptor(nextChain)\n const res = p.catch(err => Promise.reject(err))\n Object.keys(p).forEach(k => isFunction(p[k]) && (res[k] = p[k]))\n return res\n }\n\n _getNextInterceptor () {\n return this.interceptors[this.index]\n }\n\n _getNextChain () {\n return new Chain(this.requestParams, this.interceptors, this.index + 1)\n }\n}\n","import Chain from './chain'\n\nexport default class Link {\n constructor (interceptor) {\n this.taroInterceptor = interceptor\n this.chain = new Chain()\n }\n\n request (requestParams) {\n const chain = this.chain\n const taroInterceptor = this.taroInterceptor\n\n chain.interceptors = chain.interceptors\n .filter(interceptor => interceptor !== taroInterceptor)\n .concat(taroInterceptor)\n\n return chain.proceed({ ...requestParams })\n }\n\n addInterceptor (interceptor) {\n this.chain.interceptors.push(interceptor)\n }\n\n cleanInterceptors () {\n this.chain = new Chain()\n }\n}\n","import { isFunction, isUndefined } from '../utils'\n\nexport function timeoutInterceptor (chain) {\n const requestParams = chain.requestParams\n let p\n const res = new Promise((resolve, reject) => {\n let timeout = setTimeout(() => {\n timeout = null\n reject(new Error('网络链接超时,请稍后再试!'))\n }, (requestParams && requestParams.timeout) || 60000)\n\n p = chain.proceed(requestParams)\n p\n .then(res => {\n if (!timeout) return\n clearTimeout(timeout)\n resolve(res)\n })\n .catch(err => {\n timeout && clearTimeout(timeout)\n reject(err)\n })\n })\n if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n\nexport function logInterceptor (chain) {\n const requestParams = chain.requestParams\n const { method, data, url } = requestParams\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http ${method || 'GET'} --> ${url} data: `, data)\n }\n\n const p = chain.proceed(requestParams)\n const res = p\n .then(res => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http <-- ${url} result:`, res)\n }\n return res\n })\n if (isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n","import { isFunction, isObject } from './utils'\n\nexport function Behavior (options) {\n return options\n}\n\nexport function getPreload (current) {\n return function (key, val) {\n current.preloadData = isObject(key)\n ? key\n : {\n [key]: val\n }\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'rpx'\n\nexport function getInitPxTransform (taro) {\n return function (config) {\n const {\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n targetUnit = defaultTargetUnit,\n unitPrecision = defaultUnitPrecision,\n } = config\n taro.config = taro.config || {}\n taro.config.designWidth = designWidth\n taro.config.deviceRatio = deviceRatio\n taro.config.baseFontSize = baseFontSize\n taro.config.targetUnit = targetUnit\n taro.config.unitPrecision = unitPrecision\n }\n}\n\nexport function getPxTransform (taro) {\n return function (size) {\n const config = taro.config || {}\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n const baseFontSize = config.baseFontSize\n const designWidth = (((input = 0) => isFunction(config.designWidth)\n ? config.designWidth(input)\n : config.designWidth || defaultDesignWidth))(size)\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n const formatSize = ~~size\n let rootValue = 1 / config.deviceRatio[designWidth]\n switch (config.targetUnit) {\n case 'rem':\n rootValue *= baseFontSize * 2\n break\n case 'px':\n rootValue *= 2\n break\n }\n let val = formatSize / rootValue\n if (config.unitPrecision >= 0 && config.unitPrecision <= 100) {\n val = Number(val.toFixed(config.unitPrecision))\n }\n return val + config.targetUnit\n }\n}\n","/* eslint-disable camelcase */\nimport './polyfill'\n\nimport {\n Current,\n eventCenter,\n Events,\n getCurrentInstance,\n nextTick,\n options\n} from '@tarojs/runtime'\n\nimport { ENV_TYPE, getEnv } from './env'\nimport Link from './interceptor'\nimport * as interceptors from './interceptor/interceptors'\nimport {\n Behavior,\n getInitPxTransform,\n getPreload,\n getPxTransform\n} from './tools'\n\nconst Taro = {\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n Current,\n getCurrentInstance,\n options,\n nextTick,\n eventCenter,\n Events,\n getInitPxTransform\n}\n\nTaro.initPxTransform = getInitPxTransform(Taro)\nTaro.preload = getPreload(Current)\nTaro.pxTransform = getPxTransform(Taro)\n\nexport default Taro\n"],"names":["isFunction","x","isUndefined","isObject","_typeof","isBadObj","throwTypeError","s","TypeError","Object","assign","target","to","index","arguments","length","nextSource","nextKey","prototype","hasOwnProperty","call","defineProperties","obj","properties","convertToDescriptor","desc","hasProperty","prop","d","enumerable","configurable","value","writable","g","get","set","keys","descs","i","push","defineProperty","DEFAULT_EMPTY_ARRAY","NO_DEFAULT_VALUE","DEFAULT_TRUE","DEFAULT_FALSE","touchEvents","bindTouchStart","bindTouchMove","bindTouchEnd","bindTouchCancel","bindLongTap","animation","bindAnimationStart","bindAnimationIteration","bindAnimationEnd","bindTransitionEnd","singleQuote","concat","longitude","latitude","scale","markers","covers","polyline","circles","controls","bindMarkerTap","bindControlTap","bindCalloutTap","bindUpdated","size","type","plain","disabled","loading","name","direction","inertia","y","damping","friction","bindChange","bindScale","bindHTouchMove","bindVTouchMove","width","height","bindScrollToUpper","bindScrollToLower","bindScroll","autoplay","current","interval","duration","circular","vertical","bindTransition","bindAnimationFinish","src","mode","bindError","bindLoad","muted","orientation","bindStateChange","bindFullScreenChange","bindNetStatus","loop","poster","bindPlay","bindPause","bindEnded","bindTimeUpdate","bindWaiting","ENV_TYPE","WEAPP","SWAN","ALIPAY","TT","QQ","JD","WEB","RN","HARMONY","QUICKAPP","isWeb","isWebPlatform","getEnv","process","env","TARO_ENV","Chain","requestParams","interceptors","_classCallCheck","_createClass","key","proceed","Error","nextInterceptor","_getNextInterceptor","nextChain","_getNextChain","p","res","catch","err","Promise","reject","forEach","k","Link","interceptor","taroInterceptor","chain","request","filter","_objectSpread","addInterceptor","cleanInterceptors","timeoutInterceptor","resolve","timeout","setTimeout","then","clearTimeout","abort","logInterceptor","method","data","url","NODE_ENV","console","log","Behavior","options","getPreload","val","preloadData","_defineProperty","defaultDesignWidth","defaultDesignRatio","defaultBaseFontSize","defaultUnitPrecision","defaultTargetUnit","getInitPxTransform","taro","config","_config$designWidth","designWidth","_config$deviceRatio","deviceRatio","_config$baseFontSize","baseFontSize","_config$targetUnit","targetUnit","_config$unitPrecision","unitPrecision","getPxTransform","input","undefined","formatSize","rootValue","Number","toFixed","Taro","Current","getCurrentInstance","nextTick","eventCenter","Events","initPxTransform","preload","pxTransform"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/utils.js","../src/polyfill.js","../../shared/dist/shared.esm.js","../src/env.js","../src/interceptor/chain.js","../src/interceptor/index.js","../src/interceptor/interceptors.js","../src/tools.js","../src/index.js"],"sourcesContent":["export function isFunction (x) {\n return typeof x === 'function'\n}\n\nexport function isUndefined (x) {\n return typeof x === 'undefined'\n}\n\nexport function isObject (x) {\n return x && typeof x === 'object'\n}\n","import { isFunction, isObject, isUndefined } from './utils'\n\nconst isBadObj = (x) => !isObject(x)\n\nfunction throwTypeError (s) {\n throw new TypeError(s)\n}\n\nif (!isFunction(Object.assign)) {\n // Must be writable: true, enumerable: false, configurable: true\n Object.assign = function (target) { // .length of function is 2\n if (target == null) { // TypeError if undefined or null\n throwTypeError('Cannot convert undefined or null to object')\n }\n\n const to = Object(target)\n\n for (let index = 1; index < arguments.length; index++) {\n const nextSource = arguments[index]\n\n if (nextSource != null) { // Skip over if undefined or null\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey]\n }\n }\n }\n }\n return to\n }\n}\n\nif (!isFunction(Object.defineProperties)) {\n Object.defineProperties = function (obj, properties) {\n function convertToDescriptor (desc) {\n function hasProperty (obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop)\n }\n\n if (isBadObj(desc)) { throwTypeError('bad desc') }\n\n const d = {}\n\n if (hasProperty(desc, 'enumerable')) d.enumerable = !!desc.enumerable\n if (hasProperty(desc, 'configurable')) { d.configurable = !!desc.configurable }\n if (hasProperty(desc, 'value')) d.value = desc.value\n if (hasProperty(desc, 'writable')) d.writable = !!desc.writable\n if (hasProperty(desc, 'get')) {\n const g = desc.get\n\n if (!isFunction(g) && !isUndefined(g)) { throwTypeError('bad get') }\n d.get = g\n }\n if (hasProperty(desc, 'set')) {\n const s = desc.set\n if (!isFunction(s) && !isUndefined(s)) { throwTypeError('bad set') }\n d.set = s\n }\n\n if (('get' in d || 'set' in d) && ('value' in d || 'writable' in d)) { throwTypeError('identity-confused descriptor') }\n\n return d\n }\n\n if (isBadObj(obj)) throwTypeError('bad obj')\n\n properties = Object(properties)\n\n const keys = Object.keys(properties)\n const descs = []\n\n for (let i = 0; i < keys.length; i++) {\n descs.push([keys[i], convertToDescriptor(properties[keys[i]])])\n }\n\n for (let i = 0; i < descs.length; i++) {\n Object.defineProperty(obj, descs[i][0], descs[i][1])\n }\n\n return obj\n }\n}\n","const DEFAULT_EMPTY_ARRAY = '[]';\nconst NO_DEFAULT_VALUE = '';\nconst DEFAULT_TRUE = '!0';\nconst DEFAULT_FALSE = '!1';\nconst touchEvents = {\n bindTouchStart: NO_DEFAULT_VALUE,\n bindTouchMove: NO_DEFAULT_VALUE,\n bindTouchEnd: NO_DEFAULT_VALUE,\n bindTouchCancel: NO_DEFAULT_VALUE,\n bindLongTap: NO_DEFAULT_VALUE\n};\nconst animation = {\n animation: NO_DEFAULT_VALUE,\n bindAnimationStart: NO_DEFAULT_VALUE,\n bindAnimationIteration: NO_DEFAULT_VALUE,\n bindAnimationEnd: NO_DEFAULT_VALUE,\n bindTransitionEnd: NO_DEFAULT_VALUE\n};\nfunction singleQuote(s) {\n return `'${s}'`;\n}\nconst View = Object.assign(Object.assign({ 'hover-class': singleQuote('none'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '50', 'hover-stay-time': '400' }, touchEvents), animation);\nconst Icon = {\n type: NO_DEFAULT_VALUE,\n size: '23',\n color: NO_DEFAULT_VALUE\n};\nconst MapComp = Object.assign({ longitude: NO_DEFAULT_VALUE, latitude: NO_DEFAULT_VALUE, scale: '16', markers: DEFAULT_EMPTY_ARRAY, covers: NO_DEFAULT_VALUE, polyline: DEFAULT_EMPTY_ARRAY, circles: DEFAULT_EMPTY_ARRAY, controls: DEFAULT_EMPTY_ARRAY, 'include-points': DEFAULT_EMPTY_ARRAY, 'show-location': NO_DEFAULT_VALUE, 'layer-style': '1', bindMarkerTap: NO_DEFAULT_VALUE, bindControlTap: NO_DEFAULT_VALUE, bindCalloutTap: NO_DEFAULT_VALUE, bindUpdated: NO_DEFAULT_VALUE }, touchEvents);\nconst Progress = {\n percent: NO_DEFAULT_VALUE,\n 'stroke-width': '6',\n color: singleQuote('#09BB07'),\n activeColor: singleQuote('#09BB07'),\n backgroundColor: singleQuote('#EBEBEB'),\n active: DEFAULT_FALSE,\n 'active-mode': singleQuote('backwards'),\n 'show-info': DEFAULT_FALSE\n};\nconst RichText = {\n nodes: DEFAULT_EMPTY_ARRAY\n};\nconst Text = {\n selectable: DEFAULT_FALSE,\n space: NO_DEFAULT_VALUE,\n decode: DEFAULT_FALSE\n};\nconst Button = Object.assign({ size: singleQuote('default'), type: NO_DEFAULT_VALUE, plain: DEFAULT_FALSE, disabled: NO_DEFAULT_VALUE, loading: DEFAULT_FALSE, 'form-type': NO_DEFAULT_VALUE, 'open-type': NO_DEFAULT_VALUE, 'hover-class': singleQuote('button-hover'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '20', 'hover-stay-time': '70', name: NO_DEFAULT_VALUE }, touchEvents);\nconst Checkbox = {\n value: NO_DEFAULT_VALUE,\n disabled: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst CheckboxGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Form = {\n 'report-submit': DEFAULT_FALSE,\n bindSubmit: NO_DEFAULT_VALUE,\n bindReset: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Input = {\n value: NO_DEFAULT_VALUE,\n type: singleQuote(NO_DEFAULT_VALUE),\n password: DEFAULT_FALSE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('input-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'cursor-spacing': '0',\n focus: DEFAULT_FALSE,\n 'confirm-type': singleQuote('done'),\n 'confirm-hold': DEFAULT_FALSE,\n cursor: 'i.value.length',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindInput: NO_DEFAULT_VALUE,\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Label = {\n for: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Picker = {\n mode: singleQuote('selector'),\n disabled: NO_DEFAULT_VALUE,\n range: NO_DEFAULT_VALUE,\n 'range-key': NO_DEFAULT_VALUE,\n value: NO_DEFAULT_VALUE,\n start: NO_DEFAULT_VALUE,\n end: NO_DEFAULT_VALUE,\n fields: singleQuote('day'),\n 'custom-item': NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n bindCancel: NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n bindColumnChange: NO_DEFAULT_VALUE\n};\nconst PickerView = {\n value: NO_DEFAULT_VALUE,\n 'indicator-style': NO_DEFAULT_VALUE,\n 'indicator-class': NO_DEFAULT_VALUE,\n 'mask-style': NO_DEFAULT_VALUE,\n 'mask-class': NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst PickerViewColumn = {\n name: NO_DEFAULT_VALUE\n};\nconst Radio = {\n value: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst RadioGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Slider = {\n min: '0',\n max: '100',\n step: '1',\n disabled: NO_DEFAULT_VALUE,\n value: '0',\n activeColor: singleQuote('#1aad19'),\n backgroundColor: singleQuote('#e9e9e9'),\n 'block-size': '28',\n 'block-color': singleQuote('#ffffff'),\n 'show-value': DEFAULT_FALSE,\n bindChange: NO_DEFAULT_VALUE,\n bindChanging: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Switch = {\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n type: singleQuote('switch'),\n color: singleQuote('#04BE02'),\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Textarea = {\n value: NO_DEFAULT_VALUE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('textarea-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'auto-focus': DEFAULT_FALSE,\n focus: DEFAULT_FALSE,\n 'auto-height': DEFAULT_FALSE,\n fixed: DEFAULT_FALSE,\n 'cursor-spacing': '0',\n cursor: '-1',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindLineChange: NO_DEFAULT_VALUE,\n bindInput: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst CoverImage = {\n src: NO_DEFAULT_VALUE,\n bindLoad: 'eh',\n bindError: 'eh'\n};\nconst CoverView = Object.assign({ 'scroll-top': DEFAULT_FALSE }, touchEvents);\nconst MovableArea = {\n 'scale-area': DEFAULT_FALSE\n};\nconst MovableView = Object.assign(Object.assign({ direction: 'none', inertia: DEFAULT_FALSE, 'out-of-bounds': DEFAULT_FALSE, x: NO_DEFAULT_VALUE, y: NO_DEFAULT_VALUE, damping: '20', friction: '2', disabled: NO_DEFAULT_VALUE, scale: DEFAULT_FALSE, 'scale-min': '0.5', 'scale-max': '10', 'scale-value': '1', bindChange: NO_DEFAULT_VALUE, bindScale: NO_DEFAULT_VALUE, bindHTouchMove: NO_DEFAULT_VALUE, bindVTouchMove: NO_DEFAULT_VALUE, width: singleQuote('10px'), height: singleQuote('10px') }, touchEvents), animation);\nconst ScrollView = Object.assign(Object.assign({ 'scroll-x': DEFAULT_FALSE, 'scroll-y': DEFAULT_FALSE, 'upper-threshold': '50', 'lower-threshold': '50', 'scroll-top': NO_DEFAULT_VALUE, 'scroll-left': NO_DEFAULT_VALUE, 'scroll-into-view': NO_DEFAULT_VALUE, 'scroll-with-animation': DEFAULT_FALSE, 'enable-back-to-top': DEFAULT_FALSE, bindScrollToUpper: NO_DEFAULT_VALUE, bindScrollToLower: NO_DEFAULT_VALUE, bindScroll: NO_DEFAULT_VALUE }, touchEvents), animation);\nconst Swiper = Object.assign({ 'indicator-dots': DEFAULT_FALSE, 'indicator-color': singleQuote('rgba(0, 0, 0, .3)'), 'indicator-active-color': singleQuote('#000000'), autoplay: DEFAULT_FALSE, current: '0', interval: '5000', duration: '500', circular: DEFAULT_FALSE, vertical: DEFAULT_FALSE, 'previous-margin': singleQuote('0px'), 'next-margin': singleQuote('0px'), 'display-multiple-items': '1', bindChange: NO_DEFAULT_VALUE, bindTransition: NO_DEFAULT_VALUE, bindAnimationFinish: NO_DEFAULT_VALUE }, touchEvents);\nconst SwiperItem = {\n 'item-id': NO_DEFAULT_VALUE\n};\nconst Navigator = {\n url: NO_DEFAULT_VALUE,\n 'open-type': singleQuote('navigate'),\n delta: '1',\n 'hover-class': singleQuote('navigator-hover'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '50',\n 'hover-stay-time': '600',\n bindSuccess: NO_DEFAULT_VALUE,\n bindFail: NO_DEFAULT_VALUE,\n bindComplete: NO_DEFAULT_VALUE\n};\nconst Audio = {\n id: NO_DEFAULT_VALUE,\n src: NO_DEFAULT_VALUE,\n loop: DEFAULT_FALSE,\n controls: DEFAULT_FALSE,\n poster: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n author: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindPlay: NO_DEFAULT_VALUE,\n bindPause: NO_DEFAULT_VALUE,\n bindTimeUpdate: NO_DEFAULT_VALUE,\n bindEnded: NO_DEFAULT_VALUE\n};\nconst Camera = {\n 'device-position': singleQuote('back'),\n flash: singleQuote('auto'),\n bindStop: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Image = Object.assign({ src: NO_DEFAULT_VALUE, mode: singleQuote('scaleToFill'), 'lazy-load': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE, bindLoad: NO_DEFAULT_VALUE }, touchEvents);\nconst LivePlayer = Object.assign({ src: NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, muted: DEFAULT_FALSE, orientation: singleQuote('vertical'), 'object-fit': singleQuote('contain'), 'background-mute': DEFAULT_FALSE, 'min-cache': '1', 'max-cache': '3', bindStateChange: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindNetStatus: NO_DEFAULT_VALUE }, animation);\nconst Video = Object.assign({ src: NO_DEFAULT_VALUE, duration: NO_DEFAULT_VALUE, controls: DEFAULT_TRUE, 'danmu-list': NO_DEFAULT_VALUE, 'danmu-btn': NO_DEFAULT_VALUE, 'enable-danmu': NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, loop: DEFAULT_FALSE, muted: DEFAULT_FALSE, 'initial-time': '0', 'page-gesture': DEFAULT_FALSE, direction: NO_DEFAULT_VALUE, 'show-progress': DEFAULT_TRUE, 'show-fullscreen-btn': DEFAULT_TRUE, 'show-play-btn': DEFAULT_TRUE, 'show-center-play-btn': DEFAULT_TRUE, 'enable-progress-gesture': DEFAULT_TRUE, 'object-fit': singleQuote('contain'), poster: NO_DEFAULT_VALUE, 'show-mute-btn': DEFAULT_FALSE, bindPlay: NO_DEFAULT_VALUE, bindPause: NO_DEFAULT_VALUE, bindEnded: NO_DEFAULT_VALUE, bindTimeUpdate: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindWaiting: NO_DEFAULT_VALUE, bindError: NO_DEFAULT_VALUE }, animation);\nconst Canvas = Object.assign({ 'canvas-id': NO_DEFAULT_VALUE, 'disable-scroll': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE }, touchEvents);\nconst Ad = {\n 'unit-id': NO_DEFAULT_VALUE,\n 'ad-intervals': NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindClose: NO_DEFAULT_VALUE\n};\nconst WebView = {\n src: NO_DEFAULT_VALUE,\n bindMessage: NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Block = {};\n// For Vue,因为 slot 标签被 vue 占用了\nconst SlotView = {\n name: NO_DEFAULT_VALUE\n};\n// For React\n// Slot 和 SlotView 最终都会编译成 <view slot={{ i.name }} />\n// 因为 <slot name=\"{{ i.name }}\" /> 适用性没有前者高(无法添加类和样式)\n// 不给 View 直接加 slot 属性的原因是性能损耗\nconst Slot = {\n name: NO_DEFAULT_VALUE\n};\nconst NativeSlot = {\n name: NO_DEFAULT_VALUE\n};\nconst internalComponents = {\n View,\n Icon,\n Progress,\n RichText,\n Text,\n Button,\n Checkbox,\n CheckboxGroup,\n Form,\n Input,\n Label,\n Picker,\n PickerView,\n PickerViewColumn,\n Radio,\n RadioGroup,\n Slider,\n Switch,\n CoverImage,\n Textarea,\n CoverView,\n MovableArea,\n MovableView,\n ScrollView,\n Swiper,\n SwiperItem,\n Navigator,\n Audio,\n Camera,\n Image,\n LivePlayer,\n Video,\n Canvas,\n Ad,\n WebView,\n Block,\n Map: MapComp,\n Slot,\n SlotView,\n NativeSlot,\n};\nconst controlledComponent = new Set([\n 'input',\n 'checkbox',\n 'picker',\n 'picker-view',\n 'radio',\n 'slider',\n 'switch',\n 'textarea'\n]);\nconst focusComponents = new Set([\n 'input',\n 'textarea'\n]);\nconst voidElements = new Set([\n 'progress',\n 'icon',\n 'rich-text',\n 'input',\n 'textarea',\n 'slider',\n 'switch',\n 'audio',\n 'ad',\n 'official-account',\n 'open-data',\n 'navigation-bar'\n]);\nconst nestElements = new Map([\n ['view', -1],\n ['catch-view', -1],\n ['cover-view', -1],\n ['static-view', -1],\n ['pure-view', -1],\n ['block', -1],\n ['text', -1],\n ['static-text', 6],\n ['slot', 8],\n ['slot-view', 8],\n ['label', 6],\n ['form', 4],\n ['scroll-view', 4],\n ['swiper', 4],\n ['swiper-item', 4]\n]);\n\nvar PLATFORM_TYPE;\n(function (PLATFORM_TYPE) {\n PLATFORM_TYPE[\"MINI\"] = \"mini\";\n PLATFORM_TYPE[\"WEB\"] = \"web\";\n PLATFORM_TYPE[\"RN\"] = \"rn\";\n PLATFORM_TYPE[\"HARMONY\"] = \"harmony\";\n PLATFORM_TYPE[\"QUICK\"] = \"quickapp\";\n})(PLATFORM_TYPE || (PLATFORM_TYPE = {}));\nconst PLATFORM_CONFIG_MAP = {\n h5: {\n type: PLATFORM_TYPE.WEB\n },\n harmony: {\n type: PLATFORM_TYPE.HARMONY\n },\n mini: {\n type: PLATFORM_TYPE.MINI\n },\n rn: {\n type: PLATFORM_TYPE.RN\n },\n quickapp: {\n type: PLATFORM_TYPE.QUICK\n }\n};\n\nclass Events {\n constructor(opts) {\n var _a;\n this.callbacks = (_a = opts === null || opts === void 0 ? void 0 : opts.callbacks) !== null && _a !== void 0 ? _a : {};\n }\n on(eventName, callback, context) {\n let event, node, tail, list;\n if (!callback) {\n return this;\n }\n eventName = eventName.split(Events.eventSplitter);\n this.callbacks || (this.callbacks = {});\n const calls = this.callbacks;\n while ((event = eventName.shift())) {\n list = calls[event];\n node = list ? list.tail : {};\n node.next = tail = {};\n node.context = context;\n node.callback = callback;\n calls[event] = {\n tail,\n next: list ? list.next : node\n };\n }\n return this;\n }\n once(events, callback, context) {\n const wrapper = (...args) => {\n callback.apply(this, args);\n this.off(events, wrapper, context);\n };\n this.on(events, wrapper, context);\n return this;\n }\n off(events, callback, context) {\n let event, calls, node, tail, cb, ctx;\n if (!(calls = this.callbacks)) {\n return this;\n }\n if (!(events || callback || context)) {\n delete this.callbacks;\n return this;\n }\n events = events ? events.split(Events.eventSplitter) : Object.keys(calls);\n while ((event = events.shift())) {\n node = calls[event];\n delete calls[event];\n if (!node || !(callback || context)) {\n continue;\n }\n tail = node.tail;\n while ((node = node.next) !== tail) {\n cb = node.callback;\n ctx = node.context;\n if ((callback && cb !== callback) || (context && ctx !== context)) {\n this.on(event, cb, ctx);\n }\n }\n }\n return this;\n }\n trigger(events) {\n let event, node, calls, tail;\n if (!(calls = this.callbacks)) {\n return this;\n }\n events = events.split(Events.eventSplitter);\n const rest = [].slice.call(arguments, 1);\n while ((event = events.shift())) {\n if ((node = calls[event])) {\n tail = node.tail;\n while ((node = node.next) !== tail) {\n node.callback.apply(node.context || this, rest);\n }\n }\n }\n return this;\n }\n}\nEvents.eventSplitter = ','; // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\\s+/\n\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isUndefined(o) {\n return typeof o === 'undefined';\n}\nfunction isNull(o) {\n return o === null;\n}\nfunction isObject(o) {\n return o !== null && typeof o === 'object';\n}\nfunction isBoolean(o) {\n return o === true || o === false;\n}\nfunction isFunction(o) {\n return typeof o === 'function';\n}\nfunction isNumber(o) {\n return typeof o === 'number';\n}\nfunction isBooleanStringLiteral(o) {\n return o === 'true' || o === 'false';\n}\nconst isArray = Array.isArray;\nconst isWebPlatform = () => process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web';\n\nvar HOOK_TYPE;\n(function (HOOK_TYPE) {\n HOOK_TYPE[HOOK_TYPE[\"SINGLE\"] = 0] = \"SINGLE\";\n HOOK_TYPE[HOOK_TYPE[\"MULTI\"] = 1] = \"MULTI\";\n HOOK_TYPE[HOOK_TYPE[\"WATERFALL\"] = 2] = \"WATERFALL\";\n})(HOOK_TYPE || (HOOK_TYPE = {}));\nconst defaultMiniLifecycle = {\n app: [\n 'onLaunch',\n 'onShow',\n 'onHide'\n ],\n page: [\n 'onLoad',\n 'onUnload',\n 'onReady',\n 'onShow',\n 'onHide',\n [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap',\n 'onTitleClick',\n 'onOptionMenuClick',\n 'onPopMenuClick',\n 'onPullIntercept',\n 'onAddToFavorites'\n ],\n [\n 'onShareAppMessage',\n 'onShareTimeline'\n ]\n ],\n component: [\n 'attached',\n 'detached'\n ]\n};\nfunction TaroHook(type, initial) {\n return {\n type,\n initial: initial || null\n };\n}\nclass TaroHooks extends Events {\n constructor(hooks, opts) {\n super(opts);\n this.hooks = hooks;\n for (const hookName in hooks) {\n const { initial } = hooks[hookName];\n if (isFunction(initial)) {\n this.on(hookName, initial);\n }\n }\n }\n tapOneOrMany(hookName, callback) {\n const list = isFunction(callback) ? [callback] : callback;\n list.forEach(cb => this.on(hookName, cb));\n }\n tap(hookName, callback) {\n const hooks = this.hooks;\n const { type, initial } = hooks[hookName];\n if (type === HOOK_TYPE.SINGLE) {\n this.off(hookName);\n this.on(hookName, isFunction(callback) ? callback : callback[callback.length - 1]);\n }\n else {\n initial && this.off(hookName, initial);\n this.tapOneOrMany(hookName, callback);\n }\n }\n call(hookName, ...rest) {\n var _a;\n const hook = this.hooks[hookName];\n if (!hook)\n return;\n const { type } = hook;\n const calls = this.callbacks;\n if (!calls)\n return;\n const list = calls[hookName];\n if (list) {\n const tail = list.tail;\n let node = list.next;\n let args = rest;\n let res;\n while (node !== tail) {\n res = (_a = node.callback) === null || _a === void 0 ? void 0 : _a.apply(node.context || this, args);\n if (type === HOOK_TYPE.WATERFALL) {\n const params = [res];\n args = params;\n }\n node = node.next;\n }\n return res;\n }\n }\n isExist(hookName) {\n var _a;\n return Boolean((_a = this.callbacks) === null || _a === void 0 ? void 0 : _a[hookName]);\n }\n}\nconst hooks = new TaroHooks({\n getMiniLifecycle: TaroHook(HOOK_TYPE.SINGLE, defaultConfig => defaultConfig),\n getMiniLifecycleImpl: TaroHook(HOOK_TYPE.SINGLE, function () {\n return this.call('getMiniLifecycle', defaultMiniLifecycle);\n }),\n getLifecycle: TaroHook(HOOK_TYPE.SINGLE, (instance, lifecycle) => instance[lifecycle]),\n getPathIndex: TaroHook(HOOK_TYPE.SINGLE, indexOfNode => `[${indexOfNode}]`),\n getEventCenter: TaroHook(HOOK_TYPE.SINGLE, Events => new Events()),\n isBubbleEvents: TaroHook(HOOK_TYPE.SINGLE, eventName => {\n /**\n * 支持冒泡的事件, 除 支付宝小程序外,其余的可冒泡事件都和微信保持一致\n * 详见 见 https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html\n */\n const BUBBLE_EVENTS = new Set([\n 'touchstart',\n 'touchmove',\n 'touchcancel',\n 'touchend',\n 'touchforcechange',\n 'tap',\n 'longpress',\n 'longtap',\n 'transitionend',\n 'animationstart',\n 'animationiteration',\n 'animationend'\n ]);\n return BUBBLE_EVENTS.has(eventName);\n }),\n getSpecialNodes: TaroHook(HOOK_TYPE.SINGLE, () => ['view', 'text', 'image']),\n onRemoveAttribute: TaroHook(HOOK_TYPE.SINGLE),\n batchedEventUpdates: TaroHook(HOOK_TYPE.SINGLE),\n mergePageInstance: TaroHook(HOOK_TYPE.SINGLE),\n modifyPageObject: TaroHook(HOOK_TYPE.SINGLE),\n createPullDownComponent: TaroHook(HOOK_TYPE.SINGLE),\n getDOMNode: TaroHook(HOOK_TYPE.SINGLE),\n modifyHydrateData: TaroHook(HOOK_TYPE.SINGLE),\n modifySetAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n modifyRmAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n onAddEvent: TaroHook(HOOK_TYPE.SINGLE),\n modifyMpEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyMpEventImpl: TaroHook(HOOK_TYPE.SINGLE, function (e) {\n try {\n // 有些小程序的事件对象的某些属性只读\n this.call('modifyMpEvent', e);\n }\n catch (error) {\n console.warn('[Taro modifyMpEvent hook Error]: ' + (error === null || error === void 0 ? void 0 : error.message));\n }\n }),\n modifyTaroEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyDispatchEvent: TaroHook(HOOK_TYPE.MULTI),\n initNativeApi: TaroHook(HOOK_TYPE.MULTI),\n patchElement: TaroHook(HOOK_TYPE.MULTI)\n});\n\nconst EMPTY_OBJ = {};\nconst EMPTY_ARR = [];\nconst noop = (..._) => { };\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param v Value.\n * @returns Boxed value.\n */\nconst box = (v) => ({ v });\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param b Boxed value.\n * @returns Value.\n */\nconst unbox = (b) => b.v;\nfunction toDashed(s) {\n return s.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction toCamelCase(s) {\n let camel = '';\n let nextCap = false;\n for (let i = 0; i < s.length; i++) {\n if (s[i] !== '-') {\n camel += nextCap ? s[i].toUpperCase() : s[i];\n nextCap = false;\n }\n else {\n nextCap = true;\n }\n }\n return camel;\n}\nconst toKebabCase = function (string) {\n return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n};\nfunction capitalize(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\n/**\n * ensure takes a condition and throw a error if the condition fails,\n * like failure::ensure: https://docs.rs/failure/0.1.1/failure/macro.ensure.html\n * @param condition condition.\n * @param msg error message.\n */\nfunction ensure(condition, msg) {\n if (!condition) {\n if (process.env.NODE_ENV !== 'production') {\n const reportIssue = '\\n如有疑问,请提交 issue 至:https://github.com/nervjs/taro/issues';\n throw new Error(msg + reportIssue);\n }\n else {\n throw new Error(msg);\n }\n }\n}\nfunction warn(condition, msg) {\n if (process.env.NODE_ENV !== 'production') {\n if (condition) {\n console.warn(`[taro warn] ${msg}`);\n }\n }\n}\nfunction queryToJson(str) {\n const dec = decodeURIComponent;\n const qp = str.split('&');\n const ret = {};\n let name;\n let val;\n for (let i = 0, l = qp.length, item; i < l; ++i) {\n item = qp[i];\n if (item.length) {\n const s = item.indexOf('=');\n if (s < 0) {\n name = dec(item);\n val = '';\n }\n else {\n name = dec(item.slice(0, s));\n val = dec(item.slice(s + 1));\n }\n if (typeof ret[name] === 'string') { // inline'd type check\n ret[name] = [ret[name]];\n }\n if (Array.isArray(ret[name])) {\n ret[name].push(val);\n }\n else {\n ret[name] = val;\n }\n }\n }\n return ret; // Object\n}\nlet _uniqueId = 1;\nconst _loadTime = (new Date()).getTime().toString();\nfunction getUniqueKey() {\n return _loadTime + (_uniqueId++);\n}\nconst cacheData = {};\nfunction cacheDataSet(key, val) {\n cacheData[key] = val;\n}\nfunction cacheDataGet(key, delelteAfterGet) {\n const temp = cacheData[key];\n delelteAfterGet && delete cacheData[key];\n return temp;\n}\nfunction cacheDataHas(key) {\n return key in cacheData;\n}\nfunction mergeInternalComponents(components) {\n Object.keys(components).forEach(name => {\n if (name in internalComponents) {\n Object.assign(internalComponents[name], components[name]);\n }\n else {\n internalComponents[name] = components[name];\n }\n });\n return internalComponents;\n}\nfunction getComponentsAlias(origin) {\n const mapping = {};\n const viewAttrs = origin.View;\n const extraList = {\n '#text': {},\n StaticView: viewAttrs,\n StaticImage: origin.Image,\n StaticText: origin.Text,\n PureView: viewAttrs,\n CatchView: viewAttrs\n };\n origin = Object.assign(Object.assign({}, origin), extraList);\n Object.keys(origin)\n .sort((a, b) => {\n const reg = /^(Static|Pure|Catch)*(View|Image|Text)$/;\n const isACommonly = reg.test(a);\n const isBCommonly = reg.test(b);\n if (isACommonly && isBCommonly) {\n return a > b ? 1 : -1;\n }\n else if (isACommonly) {\n return -1;\n }\n else if (isBCommonly) {\n return 1;\n }\n else {\n return a >= b ? 1 : -1;\n }\n })\n .forEach((key, num) => {\n const obj = {\n _num: String(num)\n };\n Object.keys(origin[key])\n .filter(attr => !(/^bind/.test(attr)) && !['focus', 'blur'].includes(attr))\n .sort()\n .forEach((attr, index) => {\n obj[toCamelCase(attr)] = 'p' + index;\n });\n mapping[toDashed(key)] = obj;\n });\n return mapping;\n}\nfunction getPlatformType(platform = 'weapp', configNameOrType = PLATFORM_TYPE.MINI) {\n if (Object.keys(PLATFORM_CONFIG_MAP).includes(platform)) {\n configNameOrType = platform;\n }\n const param = PLATFORM_CONFIG_MAP[configNameOrType] || {};\n return param.type || configNameOrType;\n}\nfunction mergeReconciler(hostConfig, hooksForTest) {\n const obj = hooksForTest || hooks;\n const keys = Object.keys(hostConfig);\n keys.forEach(key => {\n obj.tap(key, hostConfig[key]);\n });\n}\nfunction nonsupport(api) {\n return function () {\n console.warn(`小程序暂不支持 ${api}`);\n };\n}\nfunction setUniqueKeyToRoute(key, obj) {\n const routerParamsPrivateKey = '__key_';\n const useDataCacheApis = [\n 'navigateTo',\n 'redirectTo',\n 'reLaunch',\n 'switchTab'\n ];\n if (useDataCacheApis.indexOf(key) > -1) {\n const url = obj.url = obj.url || '';\n const hasMark = url.indexOf('?') > -1;\n const cacheKey = getUniqueKey();\n obj.url += (hasMark ? '&' : '?') + `${routerParamsPrivateKey}=${cacheKey}`;\n }\n}\nfunction indent(str, size) {\n return str.split('\\n')\n .map((line, index) => {\n const indent = index === 0 ? '' : Array(size).fill(' ').join('');\n return indent + line;\n })\n .join('\\n');\n}\n\nconst needPromiseApis = new Set([\n 'addPhoneContact',\n 'authorize',\n 'canvasGetImageData',\n 'canvasPutImageData',\n 'canvasToTempFilePath',\n 'checkSession',\n 'chooseAddress',\n 'chooseImage',\n 'chooseInvoiceTitle',\n 'chooseLocation',\n 'chooseVideo',\n 'clearStorage',\n 'closeBLEConnection',\n 'closeBluetoothAdapter',\n 'closeSocket',\n 'compressImage',\n 'connectSocket',\n 'createBLEConnection',\n 'downloadFile',\n 'exitMiniProgram',\n 'getAvailableAudioSources',\n 'getBLEDeviceCharacteristics',\n 'getBLEDeviceServices',\n 'getBatteryInfo',\n 'getBeacons',\n 'getBluetoothAdapterState',\n 'getBluetoothDevices',\n 'getClipboardData',\n 'getConnectedBluetoothDevices',\n 'getConnectedWifi',\n 'getExtConfig',\n 'getFileInfo',\n 'getImageInfo',\n 'getLocation',\n 'getNetworkType',\n 'getSavedFileInfo',\n 'getSavedFileList',\n 'getScreenBrightness',\n 'getSetting',\n 'getStorage',\n 'getStorageInfo',\n 'getSystemInfo',\n 'getUserInfo',\n 'getWifiList',\n 'hideHomeButton',\n 'hideShareMenu',\n 'hideTabBar',\n 'hideTabBarRedDot',\n 'loadFontFace',\n 'login',\n 'makePhoneCall',\n 'navigateBack',\n 'navigateBackMiniProgram',\n 'navigateTo',\n 'navigateToBookshelf',\n 'navigateToMiniProgram',\n 'notifyBLECharacteristicValueChange',\n 'hideKeyboard',\n 'hideLoading',\n 'hideNavigationBarLoading',\n 'hideToast',\n 'openBluetoothAdapter',\n 'openDocument',\n 'openLocation',\n 'openSetting',\n 'pageScrollTo',\n 'previewImage',\n 'queryBookshelf',\n 'reLaunch',\n 'readBLECharacteristicValue',\n 'redirectTo',\n 'removeSavedFile',\n 'removeStorage',\n 'removeTabBarBadge',\n 'requestSubscribeMessage',\n 'saveFile',\n 'saveImageToPhotosAlbum',\n 'saveVideoToPhotosAlbum',\n 'scanCode',\n 'sendSocketMessage',\n 'setBackgroundColor',\n 'setBackgroundTextStyle',\n 'setClipboardData',\n 'setEnableDebug',\n 'setInnerAudioOption',\n 'setKeepScreenOn',\n 'setNavigationBarColor',\n 'setNavigationBarTitle',\n 'setScreenBrightness',\n 'setStorage',\n 'setTabBarBadge',\n 'setTabBarItem',\n 'setTabBarStyle',\n 'showActionSheet',\n 'showFavoriteGuide',\n 'showLoading',\n 'showModal',\n 'showShareMenu',\n 'showTabBar',\n 'showTabBarRedDot',\n 'showToast',\n 'startBeaconDiscovery',\n 'startBluetoothDevicesDiscovery',\n 'startDeviceMotionListening',\n 'startPullDownRefresh',\n 'stopBeaconDiscovery',\n 'stopBluetoothDevicesDiscovery',\n 'stopCompass',\n 'startCompass',\n 'startAccelerometer',\n 'stopAccelerometer',\n 'showNavigationBarLoading',\n 'stopDeviceMotionListening',\n 'stopPullDownRefresh',\n 'switchTab',\n 'uploadFile',\n 'vibrateLong',\n 'vibrateShort',\n 'writeBLECharacteristicValue'\n]);\nfunction getCanIUseWebp(taro) {\n return function () {\n var _a;\n const res = (_a = taro.getSystemInfoSync) === null || _a === void 0 ? void 0 : _a.call(taro);\n if (!res) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('不支持 API canIUseWebp');\n }\n return false;\n }\n const { platform } = res;\n const platformLower = platform.toLowerCase();\n if (platformLower === 'android' || platformLower === 'devtools') {\n return true;\n }\n return false;\n };\n}\nfunction getNormalRequest(global) {\n return function request(options) {\n options = options\n ? (isString(options)\n ? { url: options }\n : options)\n : {};\n const originSuccess = options.success;\n const originFail = options.fail;\n const originComplete = options.complete;\n let requestTask;\n const p = new Promise((resolve, reject) => {\n options.success = res => {\n originSuccess && originSuccess(res);\n resolve(res);\n };\n options.fail = res => {\n originFail && originFail(res);\n reject(res);\n };\n options.complete = res => {\n originComplete && originComplete(res);\n };\n requestTask = global.request(options);\n });\n equipTaskMethodsIntoPromise(requestTask, p);\n p.abort = (cb) => {\n cb && cb();\n if (requestTask) {\n requestTask.abort();\n }\n return p;\n };\n return p;\n };\n}\nfunction processApis(taro, global, config = {}) {\n const patchNeedPromiseApis = config.needPromiseApis || [];\n const _needPromiseApis = new Set([...patchNeedPromiseApis, ...needPromiseApis]);\n const preserved = [\n 'getEnv',\n 'interceptors',\n 'Current',\n 'getCurrentInstance',\n 'options',\n 'nextTick',\n 'eventCenter',\n 'Events',\n 'preload',\n 'webpackJsonp'\n ];\n const apis = new Set(!config.isOnlyPromisify\n ? Object.keys(global).filter(api => preserved.indexOf(api) === -1)\n : patchNeedPromiseApis);\n if (config.modifyApis) {\n config.modifyApis(apis);\n }\n apis.forEach(key => {\n if (_needPromiseApis.has(key)) {\n const originKey = key;\n taro[originKey] = (options = {}, ...args) => {\n let key = originKey;\n // 第一个参数 options 为字符串,单独处理\n if (typeof options === 'string') {\n if (args.length) {\n return global[key](options, ...args);\n }\n return global[key](options);\n }\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n const transformResult = config.transformMeta(key, options);\n key = transformResult.key;\n options = transformResult.options;\n // 新 key 可能不存在\n if (!global.hasOwnProperty(key)) {\n return nonsupport(key)();\n }\n }\n let task = null;\n const obj = Object.assign({}, options);\n // 为页面跳转相关的 API 设置一个随机数作为路由参数。为了给 runtime 区分页面。\n setUniqueKeyToRoute(key, options);\n // Promise 化\n const p = new Promise((resolve, reject) => {\n obj.success = res => {\n var _a, _b;\n (_a = config.modifyAsyncResult) === null || _a === void 0 ? void 0 : _a.call(config, key, res);\n (_b = options.success) === null || _b === void 0 ? void 0 : _b.call(options, res);\n if (key === 'connectSocket') {\n resolve(Promise.resolve().then(() => task ? Object.assign(task, res) : res));\n }\n else {\n resolve(res);\n }\n };\n obj.fail = res => {\n var _a;\n (_a = options.fail) === null || _a === void 0 ? void 0 : _a.call(options, res);\n reject(res);\n };\n obj.complete = res => {\n var _a;\n (_a = options.complete) === null || _a === void 0 ? void 0 : _a.call(options, res);\n };\n if (args.length) {\n task = global[key](obj, ...args);\n }\n else {\n task = global[key](obj);\n }\n });\n // 给 promise 对象挂载属性\n if (['uploadFile', 'downloadFile'].includes(key)) {\n equipTaskMethodsIntoPromise(task, p);\n p.progress = cb => {\n task === null || task === void 0 ? void 0 : task.onProgressUpdate(cb);\n return p;\n };\n p.abort = cb => {\n cb === null || cb === void 0 ? void 0 : cb();\n task === null || task === void 0 ? void 0 : task.abort();\n return p;\n };\n }\n return p;\n };\n }\n else {\n let platformKey = key;\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n platformKey = config.transformMeta(key, {}).key;\n }\n // API 不存在\n if (!global.hasOwnProperty(platformKey)) {\n taro[key] = nonsupport(key);\n return;\n }\n if (isFunction(global[key])) {\n taro[key] = (...args) => {\n if (config.handleSyncApis) {\n return config.handleSyncApis(key, global, args);\n }\n else {\n return global[platformKey].apply(global, args);\n }\n };\n }\n else {\n taro[key] = global[platformKey];\n }\n }\n });\n !config.isOnlyPromisify && equipCommonApis(taro, global, config);\n}\n/**\n * 挂载常用 API\n * @param taro Taro 对象\n * @param global 小程序全局对象,如微信的 wx,支付宝的 my\n */\nfunction equipCommonApis(taro, global, apis = {}) {\n taro.canIUseWebp = getCanIUseWebp(taro);\n taro.getCurrentPages = getCurrentPages || nonsupport('getCurrentPages');\n taro.getApp = getApp || nonsupport('getApp');\n taro.env = global.env || {};\n try {\n taro.requirePlugin = requirePlugin || nonsupport('requirePlugin');\n }\n catch (error) {\n taro.requirePlugin = nonsupport('requirePlugin');\n }\n // request & interceptors\n const request = apis.request || getNormalRequest(global);\n function taroInterceptor(chain) {\n return request(chain.requestParams);\n }\n const link = new taro.Link(taroInterceptor);\n taro.request = link.request.bind(link);\n taro.addInterceptor = link.addInterceptor.bind(link);\n taro.cleanInterceptors = link.cleanInterceptors.bind(link);\n taro.miniGlobal = taro.options.miniGlobal = global;\n}\n/**\n * 将Task对象中的方法挂载到promise对象中,适配小程序api原生返回结果\n * @param task Task对象 {RequestTask | DownloadTask | UploadTask}\n * @param promise Promise\n */\nfunction equipTaskMethodsIntoPromise(task, promise) {\n if (!task || !promise)\n return;\n const taskMethods = ['abort', 'onHeadersReceived', 'offHeadersReceived', 'onProgressUpdate', 'offProgressUpdate', 'onChunkReceived', 'offChunkReceived'];\n task && taskMethods.forEach(method => {\n if (method in task) {\n promise[method] = task[method].bind(task);\n }\n });\n}\n\nexport { EMPTY_ARR, EMPTY_OBJ, Events, HOOK_TYPE, PLATFORM_CONFIG_MAP, PLATFORM_TYPE, TaroHook, TaroHooks, animation, box, cacheDataGet, cacheDataHas, cacheDataSet, capitalize, controlledComponent, ensure, focusComponents, getComponentsAlias, getPlatformType, getUniqueKey, hasOwn, hooks, indent, internalComponents, isArray, isBoolean, isBooleanStringLiteral, isFunction, isNull, isNumber, isObject, isString, isUndefined, isWebPlatform, mergeInternalComponents, mergeReconciler, nestElements, nonsupport, noop, processApis, queryToJson, setUniqueKeyToRoute, singleQuote, toCamelCase, toDashed, toKebabCase, touchEvents, unbox, voidElements, warn };\n//# sourceMappingURL=shared.esm.js.map\n","import { isWebPlatform } from '@tarojs/shared'\n\nexport const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP'\n}\n\nconst isWeb = isWebPlatform()\n\nexport function getEnv () {\n if (process.env.TARO_ENV === 'weapp') {\n return ENV_TYPE.WEAPP\n } else if (process.env.TARO_ENV === 'alipay') {\n return ENV_TYPE.ALIPAY\n } else if (process.env.TARO_ENV === 'swan') {\n return ENV_TYPE.SWAN\n } else if (process.env.TARO_ENV === 'tt') {\n return ENV_TYPE.TT\n } else if (process.env.TARO_ENV === 'jd') {\n return ENV_TYPE.JD\n } else if (process.env.TARO_ENV === 'qq') {\n return ENV_TYPE.QQ\n } else if (isWeb) {\n return ENV_TYPE.WEB\n } else if (process.env.TARO_ENV === 'rn') {\n return ENV_TYPE.RN\n } else if (process.env.TARO_ENV === 'harmony') {\n return ENV_TYPE.HARMONY\n } else if (process.env.TARO_ENV === 'quickapp') {\n return ENV_TYPE.QUICKAPP\n } else {\n return process.env.TARO_ENV || 'Unknown'\n }\n}\n","import { isFunction } from '../utils'\n\nexport default class Chain {\n constructor (requestParams, interceptors, index) {\n this.index = index || 0\n this.requestParams = requestParams\n this.interceptors = interceptors || []\n }\n\n proceed (requestParams) {\n this.requestParams = requestParams\n if (this.index >= this.interceptors.length) {\n throw new Error('chain 参数错误, 请勿直接修改 request.chain')\n }\n const nextInterceptor = this._getNextInterceptor()\n const nextChain = this._getNextChain()\n const p = nextInterceptor(nextChain)\n const res = p.catch(err => Promise.reject(err))\n Object.keys(p).forEach(k => isFunction(p[k]) && (res[k] = p[k]))\n return res\n }\n\n _getNextInterceptor () {\n return this.interceptors[this.index]\n }\n\n _getNextChain () {\n return new Chain(this.requestParams, this.interceptors, this.index + 1)\n }\n}\n","import Chain from './chain'\n\nexport default class Link {\n constructor (interceptor) {\n this.taroInterceptor = interceptor\n this.chain = new Chain()\n }\n\n request (requestParams) {\n const chain = this.chain\n const taroInterceptor = this.taroInterceptor\n\n chain.interceptors = chain.interceptors\n .filter(interceptor => interceptor !== taroInterceptor)\n .concat(taroInterceptor)\n\n return chain.proceed({ ...requestParams })\n }\n\n addInterceptor (interceptor) {\n this.chain.interceptors.push(interceptor)\n }\n\n cleanInterceptors () {\n this.chain = new Chain()\n }\n}\n","import { isFunction, isUndefined } from '../utils'\n\nexport function timeoutInterceptor (chain) {\n const requestParams = chain.requestParams\n let p\n const res = new Promise((resolve, reject) => {\n let timeout = setTimeout(() => {\n timeout = null\n reject(new Error('网络链接超时,请稍后再试!'))\n }, (requestParams && requestParams.timeout) || 60000)\n\n p = chain.proceed(requestParams)\n p\n .then(res => {\n if (!timeout) return\n clearTimeout(timeout)\n resolve(res)\n })\n .catch(err => {\n timeout && clearTimeout(timeout)\n reject(err)\n })\n })\n if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n\nexport function logInterceptor (chain) {\n const requestParams = chain.requestParams\n const { method, data, url } = requestParams\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http ${method || 'GET'} --> ${url} data: `, data)\n }\n\n const p = chain.proceed(requestParams)\n const res = p\n .then(res => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http <-- ${url} result:`, res)\n }\n return res\n })\n if (isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n","import { isFunction, isObject } from './utils'\n\nexport function Behavior (options) {\n return options\n}\n\nexport function getPreload (current) {\n return function (key, val) {\n current.preloadData = isObject(key)\n ? key\n : {\n [key]: val\n }\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'rpx'\n\nexport function getInitPxTransform (taro) {\n return function (config) {\n const {\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n targetUnit = defaultTargetUnit,\n unitPrecision = defaultUnitPrecision,\n } = config\n taro.config = taro.config || {}\n taro.config.designWidth = designWidth\n taro.config.deviceRatio = deviceRatio\n taro.config.baseFontSize = baseFontSize\n taro.config.targetUnit = targetUnit\n taro.config.unitPrecision = unitPrecision\n }\n}\n\nexport function getPxTransform (taro) {\n return function (size) {\n const config = taro.config || {}\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n const baseFontSize = config.baseFontSize\n const designWidth = (((input = 0) => isFunction(config.designWidth)\n ? config.designWidth(input)\n : config.designWidth || defaultDesignWidth))(size)\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n const formatSize = ~~size\n let rootValue = 1 / config.deviceRatio[designWidth]\n switch (config.targetUnit) {\n case 'rem':\n rootValue *= baseFontSize * 2\n break\n case 'px':\n rootValue *= 2\n break\n }\n let val = formatSize / rootValue\n if (config.unitPrecision >= 0 && config.unitPrecision <= 100) {\n val = Number(val.toFixed(config.unitPrecision))\n }\n return val + config.targetUnit\n }\n}\n","/* eslint-disable camelcase */\nimport './polyfill'\n\nimport {\n Current,\n eventCenter,\n Events,\n getCurrentInstance,\n nextTick,\n options\n} from '@tarojs/runtime'\n\nimport { ENV_TYPE, getEnv } from './env'\nimport Link from './interceptor'\nimport * as interceptors from './interceptor/interceptors'\nimport {\n Behavior,\n getInitPxTransform,\n getPreload,\n getPxTransform\n} from './tools'\n\nconst Taro = {\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n Current,\n getCurrentInstance,\n options,\n nextTick,\n eventCenter,\n Events,\n getInitPxTransform\n}\n\nTaro.initPxTransform = getInitPxTransform(Taro)\nTaro.preload = getPreload(Current)\nTaro.pxTransform = getPxTransform(Taro)\n\nexport default Taro\n"],"names":["isFunction","x","isUndefined","isObject","isBadObj","throwTypeError","s","TypeError","Object","assign","target","to","index","arguments","length","nextSource","nextKey","prototype","hasOwnProperty","call","defineProperties","obj","properties","convertToDescriptor","desc","hasProperty","prop","d","enumerable","configurable","value","writable","g","get","set","keys","descs","i","push","defineProperty","DEFAULT_EMPTY_ARRAY","NO_DEFAULT_VALUE","DEFAULT_TRUE","DEFAULT_FALSE","bindTouchStart","bindTouchMove","bindTouchEnd","bindTouchCancel","bindLongTap","animation","bindAnimationStart","bindAnimationIteration","bindAnimationEnd","bindTransitionEnd","singleQuote","touchEvents","longitude","latitude","scale","markers","covers","polyline","circles","controls","bindMarkerTap","bindControlTap","bindCalloutTap","bindUpdated","size","type","plain","disabled","loading","name","direction","inertia","y","damping","friction","bindChange","bindScale","bindHTouchMove","bindVTouchMove","width","height","bindScrollToUpper","bindScrollToLower","bindScroll","autoplay","current","interval","duration","circular","vertical","bindTransition","bindAnimationFinish","src","mode","bindError","bindLoad","muted","orientation","bindStateChange","bindFullScreenChange","bindNetStatus","loop","poster","bindPlay","bindPause","bindEnded","bindTimeUpdate","bindWaiting","ENV_TYPE","WEAPP","SWAN","ALIPAY","TT","QQ","JD","WEB","RN","HARMONY","QUICKAPP","isWeb","isWebPlatform","getEnv","process","env","TARO_ENV","Chain","requestParams","interceptors","Error","nextInterceptor","_getNextInterceptor","nextChain","_getNextChain","p","res","catch","err","Promise","reject","forEach","k","Link","interceptor","taroInterceptor","chain","filter","concat","proceed","timeoutInterceptor","resolve","timeout","setTimeout","then","clearTimeout","abort","logInterceptor","method","data","url","NODE_ENV","console","log","Behavior","options","getPreload","key","val","preloadData","defaultDesignWidth","defaultDesignRatio","defaultBaseFontSize","defaultUnitPrecision","defaultTargetUnit","getInitPxTransform","taro","config","designWidth","deviceRatio","baseFontSize","targetUnit","unitPrecision","getPxTransform","input","formatSize","rootValue","Number","toFixed","Taro","Current","getCurrentInstance","nextTick","eventCenter","Events","initPxTransform","preload","pxTransform"],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils.js","../src/polyfill.js","../../shared/dist/shared.esm.js","../src/env.js","../src/interceptor/chain.js","../src/interceptor/index.js","../src/interceptor/interceptors.js","../src/tools.js","../src/index.js"],"sourcesContent":["export function isFunction (x) {\n return typeof x === 'function'\n}\n\nexport function isUndefined (x) {\n return typeof x === 'undefined'\n}\n\nexport function isObject (x) {\n return x && typeof x === 'object'\n}\n","import { isFunction, isObject, isUndefined } from './utils'\n\nconst isBadObj = (x) => !isObject(x)\n\nfunction throwTypeError (s) {\n throw new TypeError(s)\n}\n\nif (!isFunction(Object.assign)) {\n // Must be writable: true, enumerable: false, configurable: true\n Object.assign = function (target) { // .length of function is 2\n if (target == null) { // TypeError if undefined or null\n throwTypeError('Cannot convert undefined or null to object')\n }\n\n const to = Object(target)\n\n for (let index = 1; index < arguments.length; index++) {\n const nextSource = arguments[index]\n\n if (nextSource != null) { // Skip over if undefined or null\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey]\n }\n }\n }\n }\n return to\n }\n}\n\nif (!isFunction(Object.defineProperties)) {\n Object.defineProperties = function (obj, properties) {\n function convertToDescriptor (desc) {\n function hasProperty (obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop)\n }\n\n if (isBadObj(desc)) { throwTypeError('bad desc') }\n\n const d = {}\n\n if (hasProperty(desc, 'enumerable')) d.enumerable = !!desc.enumerable\n if (hasProperty(desc, 'configurable')) { d.configurable = !!desc.configurable }\n if (hasProperty(desc, 'value')) d.value = desc.value\n if (hasProperty(desc, 'writable')) d.writable = !!desc.writable\n if (hasProperty(desc, 'get')) {\n const g = desc.get\n\n if (!isFunction(g) && !isUndefined(g)) { throwTypeError('bad get') }\n d.get = g\n }\n if (hasProperty(desc, 'set')) {\n const s = desc.set\n if (!isFunction(s) && !isUndefined(s)) { throwTypeError('bad set') }\n d.set = s\n }\n\n if (('get' in d || 'set' in d) && ('value' in d || 'writable' in d)) { throwTypeError('identity-confused descriptor') }\n\n return d\n }\n\n if (isBadObj(obj)) throwTypeError('bad obj')\n\n properties = Object(properties)\n\n const keys = Object.keys(properties)\n const descs = []\n\n for (let i = 0; i < keys.length; i++) {\n descs.push([keys[i], convertToDescriptor(properties[keys[i]])])\n }\n\n for (let i = 0; i < descs.length; i++) {\n Object.defineProperty(obj, descs[i][0], descs[i][1])\n }\n\n return obj\n }\n}\n","const DEFAULT_EMPTY_ARRAY = '[]';\nconst NO_DEFAULT_VALUE = '';\nconst DEFAULT_TRUE = '!0';\nconst DEFAULT_FALSE = '!1';\nconst touchEvents = {\n bindTouchStart: NO_DEFAULT_VALUE,\n bindTouchMove: NO_DEFAULT_VALUE,\n bindTouchEnd: NO_DEFAULT_VALUE,\n bindTouchCancel: NO_DEFAULT_VALUE,\n bindLongTap: NO_DEFAULT_VALUE\n};\nconst animation = {\n animation: NO_DEFAULT_VALUE,\n bindAnimationStart: NO_DEFAULT_VALUE,\n bindAnimationIteration: NO_DEFAULT_VALUE,\n bindAnimationEnd: NO_DEFAULT_VALUE,\n bindTransitionEnd: NO_DEFAULT_VALUE\n};\nfunction singleQuote(s) {\n return `'${s}'`;\n}\nconst View = Object.assign(Object.assign({ 'hover-class': singleQuote('none'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '50', 'hover-stay-time': '400' }, touchEvents), animation);\nconst Icon = {\n type: NO_DEFAULT_VALUE,\n size: '23',\n color: NO_DEFAULT_VALUE\n};\nconst MapComp = Object.assign({ longitude: NO_DEFAULT_VALUE, latitude: NO_DEFAULT_VALUE, scale: '16', markers: DEFAULT_EMPTY_ARRAY, covers: NO_DEFAULT_VALUE, polyline: DEFAULT_EMPTY_ARRAY, circles: DEFAULT_EMPTY_ARRAY, controls: DEFAULT_EMPTY_ARRAY, 'include-points': DEFAULT_EMPTY_ARRAY, 'show-location': NO_DEFAULT_VALUE, 'layer-style': '1', bindMarkerTap: NO_DEFAULT_VALUE, bindControlTap: NO_DEFAULT_VALUE, bindCalloutTap: NO_DEFAULT_VALUE, bindUpdated: NO_DEFAULT_VALUE }, touchEvents);\nconst Progress = {\n percent: NO_DEFAULT_VALUE,\n 'stroke-width': '6',\n color: singleQuote('#09BB07'),\n activeColor: singleQuote('#09BB07'),\n backgroundColor: singleQuote('#EBEBEB'),\n active: DEFAULT_FALSE,\n 'active-mode': singleQuote('backwards'),\n 'show-info': DEFAULT_FALSE\n};\nconst RichText = {\n nodes: DEFAULT_EMPTY_ARRAY\n};\nconst Text = {\n selectable: DEFAULT_FALSE,\n space: NO_DEFAULT_VALUE,\n decode: DEFAULT_FALSE\n};\nconst Button = Object.assign({ size: singleQuote('default'), type: NO_DEFAULT_VALUE, plain: DEFAULT_FALSE, disabled: NO_DEFAULT_VALUE, loading: DEFAULT_FALSE, 'form-type': NO_DEFAULT_VALUE, 'open-type': NO_DEFAULT_VALUE, 'hover-class': singleQuote('button-hover'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '20', 'hover-stay-time': '70', name: NO_DEFAULT_VALUE }, touchEvents);\nconst Checkbox = {\n value: NO_DEFAULT_VALUE,\n disabled: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst CheckboxGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Form = {\n 'report-submit': DEFAULT_FALSE,\n bindSubmit: NO_DEFAULT_VALUE,\n bindReset: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Input = {\n value: NO_DEFAULT_VALUE,\n type: singleQuote(NO_DEFAULT_VALUE),\n password: DEFAULT_FALSE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('input-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'cursor-spacing': '0',\n focus: DEFAULT_FALSE,\n 'confirm-type': singleQuote('done'),\n 'confirm-hold': DEFAULT_FALSE,\n cursor: 'i.value.length',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindInput: NO_DEFAULT_VALUE,\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Label = {\n for: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Picker = {\n mode: singleQuote('selector'),\n disabled: NO_DEFAULT_VALUE,\n range: NO_DEFAULT_VALUE,\n 'range-key': NO_DEFAULT_VALUE,\n value: NO_DEFAULT_VALUE,\n start: NO_DEFAULT_VALUE,\n end: NO_DEFAULT_VALUE,\n fields: singleQuote('day'),\n 'custom-item': NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n bindCancel: NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n bindColumnChange: NO_DEFAULT_VALUE\n};\nconst PickerView = {\n value: NO_DEFAULT_VALUE,\n 'indicator-style': NO_DEFAULT_VALUE,\n 'indicator-class': NO_DEFAULT_VALUE,\n 'mask-style': NO_DEFAULT_VALUE,\n 'mask-class': NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst PickerViewColumn = {\n name: NO_DEFAULT_VALUE\n};\nconst Radio = {\n value: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst RadioGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Slider = {\n min: '0',\n max: '100',\n step: '1',\n disabled: NO_DEFAULT_VALUE,\n value: '0',\n activeColor: singleQuote('#1aad19'),\n backgroundColor: singleQuote('#e9e9e9'),\n 'block-size': '28',\n 'block-color': singleQuote('#ffffff'),\n 'show-value': DEFAULT_FALSE,\n bindChange: NO_DEFAULT_VALUE,\n bindChanging: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Switch = {\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n type: singleQuote('switch'),\n color: singleQuote('#04BE02'),\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Textarea = {\n value: NO_DEFAULT_VALUE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('textarea-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'auto-focus': DEFAULT_FALSE,\n focus: DEFAULT_FALSE,\n 'auto-height': DEFAULT_FALSE,\n fixed: DEFAULT_FALSE,\n 'cursor-spacing': '0',\n cursor: '-1',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindLineChange: NO_DEFAULT_VALUE,\n bindInput: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst CoverImage = {\n src: NO_DEFAULT_VALUE,\n bindLoad: 'eh',\n bindError: 'eh'\n};\nconst CoverView = Object.assign({ 'scroll-top': DEFAULT_FALSE }, touchEvents);\nconst MovableArea = {\n 'scale-area': DEFAULT_FALSE\n};\nconst MovableView = Object.assign(Object.assign({ direction: 'none', inertia: DEFAULT_FALSE, 'out-of-bounds': DEFAULT_FALSE, x: NO_DEFAULT_VALUE, y: NO_DEFAULT_VALUE, damping: '20', friction: '2', disabled: NO_DEFAULT_VALUE, scale: DEFAULT_FALSE, 'scale-min': '0.5', 'scale-max': '10', 'scale-value': '1', bindChange: NO_DEFAULT_VALUE, bindScale: NO_DEFAULT_VALUE, bindHTouchMove: NO_DEFAULT_VALUE, bindVTouchMove: NO_DEFAULT_VALUE, width: singleQuote('10px'), height: singleQuote('10px') }, touchEvents), animation);\nconst ScrollView = Object.assign(Object.assign({ 'scroll-x': DEFAULT_FALSE, 'scroll-y': DEFAULT_FALSE, 'upper-threshold': '50', 'lower-threshold': '50', 'scroll-top': NO_DEFAULT_VALUE, 'scroll-left': NO_DEFAULT_VALUE, 'scroll-into-view': NO_DEFAULT_VALUE, 'scroll-with-animation': DEFAULT_FALSE, 'enable-back-to-top': DEFAULT_FALSE, bindScrollToUpper: NO_DEFAULT_VALUE, bindScrollToLower: NO_DEFAULT_VALUE, bindScroll: NO_DEFAULT_VALUE }, touchEvents), animation);\nconst Swiper = Object.assign({ 'indicator-dots': DEFAULT_FALSE, 'indicator-color': singleQuote('rgba(0, 0, 0, .3)'), 'indicator-active-color': singleQuote('#000000'), autoplay: DEFAULT_FALSE, current: '0', interval: '5000', duration: '500', circular: DEFAULT_FALSE, vertical: DEFAULT_FALSE, 'previous-margin': singleQuote('0px'), 'next-margin': singleQuote('0px'), 'display-multiple-items': '1', bindChange: NO_DEFAULT_VALUE, bindTransition: NO_DEFAULT_VALUE, bindAnimationFinish: NO_DEFAULT_VALUE }, touchEvents);\nconst SwiperItem = {\n 'item-id': NO_DEFAULT_VALUE\n};\nconst Navigator = {\n url: NO_DEFAULT_VALUE,\n 'open-type': singleQuote('navigate'),\n delta: '1',\n 'hover-class': singleQuote('navigator-hover'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '50',\n 'hover-stay-time': '600',\n bindSuccess: NO_DEFAULT_VALUE,\n bindFail: NO_DEFAULT_VALUE,\n bindComplete: NO_DEFAULT_VALUE\n};\nconst Audio = {\n id: NO_DEFAULT_VALUE,\n src: NO_DEFAULT_VALUE,\n loop: DEFAULT_FALSE,\n controls: DEFAULT_FALSE,\n poster: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n author: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindPlay: NO_DEFAULT_VALUE,\n bindPause: NO_DEFAULT_VALUE,\n bindTimeUpdate: NO_DEFAULT_VALUE,\n bindEnded: NO_DEFAULT_VALUE\n};\nconst Camera = {\n 'device-position': singleQuote('back'),\n flash: singleQuote('auto'),\n bindStop: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Image = Object.assign({ src: NO_DEFAULT_VALUE, mode: singleQuote('scaleToFill'), 'lazy-load': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE, bindLoad: NO_DEFAULT_VALUE }, touchEvents);\nconst LivePlayer = Object.assign({ src: NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, muted: DEFAULT_FALSE, orientation: singleQuote('vertical'), 'object-fit': singleQuote('contain'), 'background-mute': DEFAULT_FALSE, 'min-cache': '1', 'max-cache': '3', bindStateChange: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindNetStatus: NO_DEFAULT_VALUE }, animation);\nconst Video = Object.assign({ src: NO_DEFAULT_VALUE, duration: NO_DEFAULT_VALUE, controls: DEFAULT_TRUE, 'danmu-list': NO_DEFAULT_VALUE, 'danmu-btn': NO_DEFAULT_VALUE, 'enable-danmu': NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, loop: DEFAULT_FALSE, muted: DEFAULT_FALSE, 'initial-time': '0', 'page-gesture': DEFAULT_FALSE, direction: NO_DEFAULT_VALUE, 'show-progress': DEFAULT_TRUE, 'show-fullscreen-btn': DEFAULT_TRUE, 'show-play-btn': DEFAULT_TRUE, 'show-center-play-btn': DEFAULT_TRUE, 'enable-progress-gesture': DEFAULT_TRUE, 'object-fit': singleQuote('contain'), poster: NO_DEFAULT_VALUE, 'show-mute-btn': DEFAULT_FALSE, bindPlay: NO_DEFAULT_VALUE, bindPause: NO_DEFAULT_VALUE, bindEnded: NO_DEFAULT_VALUE, bindTimeUpdate: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindWaiting: NO_DEFAULT_VALUE, bindError: NO_DEFAULT_VALUE }, animation);\nconst Canvas = Object.assign({ 'canvas-id': NO_DEFAULT_VALUE, 'disable-scroll': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE }, touchEvents);\nconst Ad = {\n 'unit-id': NO_DEFAULT_VALUE,\n 'ad-intervals': NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindClose: NO_DEFAULT_VALUE\n};\nconst WebView = {\n src: NO_DEFAULT_VALUE,\n bindMessage: NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Block = {};\n// For Vue,因为 slot 标签被 vue 占用了\nconst SlotView = {\n name: NO_DEFAULT_VALUE\n};\n// For React\n// Slot 和 SlotView 最终都会编译成 <view slot={{ i.name }} />\n// 因为 <slot name=\"{{ i.name }}\" /> 适用性没有前者高(无法添加类和样式)\n// 不给 View 直接加 slot 属性的原因是性能损耗\nconst Slot = {\n name: NO_DEFAULT_VALUE\n};\nconst NativeSlot = {\n name: NO_DEFAULT_VALUE\n};\nconst internalComponents = {\n View,\n Icon,\n Progress,\n RichText,\n Text,\n Button,\n Checkbox,\n CheckboxGroup,\n Form,\n Input,\n Label,\n Picker,\n PickerView,\n PickerViewColumn,\n Radio,\n RadioGroup,\n Slider,\n Switch,\n CoverImage,\n Textarea,\n CoverView,\n MovableArea,\n MovableView,\n ScrollView,\n Swiper,\n SwiperItem,\n Navigator,\n Audio,\n Camera,\n Image,\n LivePlayer,\n Video,\n Canvas,\n Ad,\n WebView,\n Block,\n Map: MapComp,\n Slot,\n SlotView,\n NativeSlot,\n};\nconst controlledComponent = new Set([\n 'input',\n 'checkbox',\n 'picker',\n 'picker-view',\n 'radio',\n 'slider',\n 'switch',\n 'textarea'\n]);\nconst focusComponents = new Set([\n 'input',\n 'textarea'\n]);\nconst voidElements = new Set([\n 'progress',\n 'icon',\n 'rich-text',\n 'input',\n 'textarea',\n 'slider',\n 'switch',\n 'audio',\n 'ad',\n 'official-account',\n 'open-data',\n 'navigation-bar'\n]);\nconst nestElements = new Map([\n ['view', -1],\n ['catch-view', -1],\n ['cover-view', -1],\n ['static-view', -1],\n ['pure-view', -1],\n ['block', -1],\n ['text', -1],\n ['static-text', 6],\n ['slot', 8],\n ['slot-view', 8],\n ['label', 6],\n ['form', 4],\n ['scroll-view', 4],\n ['swiper', 4],\n ['swiper-item', 4]\n]);\n\nvar PLATFORM_TYPE;\n(function (PLATFORM_TYPE) {\n PLATFORM_TYPE[\"MINI\"] = \"mini\";\n PLATFORM_TYPE[\"WEB\"] = \"web\";\n PLATFORM_TYPE[\"RN\"] = \"rn\";\n PLATFORM_TYPE[\"HARMONY\"] = \"harmony\";\n PLATFORM_TYPE[\"QUICK\"] = \"quickapp\";\n})(PLATFORM_TYPE || (PLATFORM_TYPE = {}));\nconst PLATFORM_CONFIG_MAP = {\n h5: {\n type: PLATFORM_TYPE.WEB\n },\n harmony: {\n type: PLATFORM_TYPE.HARMONY\n },\n mini: {\n type: PLATFORM_TYPE.MINI\n },\n rn: {\n type: PLATFORM_TYPE.RN\n },\n quickapp: {\n type: PLATFORM_TYPE.QUICK\n }\n};\n\nclass Events {\n constructor(opts) {\n var _a;\n this.callbacks = (_a = opts === null || opts === void 0 ? void 0 : opts.callbacks) !== null && _a !== void 0 ? _a : {};\n }\n on(eventName, callback, context) {\n let event, node, tail, list;\n if (!callback) {\n return this;\n }\n eventName = eventName.split(Events.eventSplitter);\n this.callbacks || (this.callbacks = {});\n const calls = this.callbacks;\n while ((event = eventName.shift())) {\n list = calls[event];\n node = list ? list.tail : {};\n node.next = tail = {};\n node.context = context;\n node.callback = callback;\n calls[event] = {\n tail,\n next: list ? list.next : node\n };\n }\n return this;\n }\n once(events, callback, context) {\n const wrapper = (...args) => {\n callback.apply(this, args);\n this.off(events, wrapper, context);\n };\n this.on(events, wrapper, context);\n return this;\n }\n off(events, callback, context) {\n let event, calls, node, tail, cb, ctx;\n if (!(calls = this.callbacks)) {\n return this;\n }\n if (!(events || callback || context)) {\n delete this.callbacks;\n return this;\n }\n events = events ? events.split(Events.eventSplitter) : Object.keys(calls);\n while ((event = events.shift())) {\n node = calls[event];\n delete calls[event];\n if (!node || !(callback || context)) {\n continue;\n }\n tail = node.tail;\n while ((node = node.next) !== tail) {\n cb = node.callback;\n ctx = node.context;\n if ((callback && cb !== callback) || (context && ctx !== context)) {\n this.on(event, cb, ctx);\n }\n }\n }\n return this;\n }\n trigger(events) {\n let event, node, calls, tail;\n if (!(calls = this.callbacks)) {\n return this;\n }\n events = events.split(Events.eventSplitter);\n const rest = [].slice.call(arguments, 1);\n while ((event = events.shift())) {\n if ((node = calls[event])) {\n tail = node.tail;\n while ((node = node.next) !== tail) {\n node.callback.apply(node.context || this, rest);\n }\n }\n }\n return this;\n }\n}\nEvents.eventSplitter = ','; // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\\s+/\n\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isUndefined(o) {\n return typeof o === 'undefined';\n}\nfunction isNull(o) {\n return o === null;\n}\nfunction isObject(o) {\n return o !== null && typeof o === 'object';\n}\nfunction isBoolean(o) {\n return o === true || o === false;\n}\nfunction isFunction(o) {\n return typeof o === 'function';\n}\nfunction isNumber(o) {\n return typeof o === 'number';\n}\nfunction isBooleanStringLiteral(o) {\n return o === 'true' || o === 'false';\n}\nconst isArray = Array.isArray;\nconst isWebPlatform = () => process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web';\n\nvar HOOK_TYPE;\n(function (HOOK_TYPE) {\n HOOK_TYPE[HOOK_TYPE[\"SINGLE\"] = 0] = \"SINGLE\";\n HOOK_TYPE[HOOK_TYPE[\"MULTI\"] = 1] = \"MULTI\";\n HOOK_TYPE[HOOK_TYPE[\"WATERFALL\"] = 2] = \"WATERFALL\";\n})(HOOK_TYPE || (HOOK_TYPE = {}));\nconst defaultMiniLifecycle = {\n app: [\n 'onLaunch',\n 'onShow',\n 'onHide'\n ],\n page: [\n 'onLoad',\n 'onUnload',\n 'onReady',\n 'onShow',\n 'onHide',\n [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap',\n 'onTitleClick',\n 'onOptionMenuClick',\n 'onPopMenuClick',\n 'onPullIntercept',\n 'onAddToFavorites'\n ],\n [\n 'onShareAppMessage',\n 'onShareTimeline'\n ]\n ],\n component: [\n 'attached',\n 'detached'\n ]\n};\nfunction TaroHook(type, initial) {\n return {\n type,\n initial: initial || null\n };\n}\nclass TaroHooks extends Events {\n constructor(hooks, opts) {\n super(opts);\n this.hooks = hooks;\n for (const hookName in hooks) {\n const { initial } = hooks[hookName];\n if (isFunction(initial)) {\n this.on(hookName, initial);\n }\n }\n }\n tapOneOrMany(hookName, callback) {\n const list = isFunction(callback) ? [callback] : callback;\n list.forEach(cb => this.on(hookName, cb));\n }\n tap(hookName, callback) {\n const hooks = this.hooks;\n const { type, initial } = hooks[hookName];\n if (type === HOOK_TYPE.SINGLE) {\n this.off(hookName);\n this.on(hookName, isFunction(callback) ? callback : callback[callback.length - 1]);\n }\n else {\n initial && this.off(hookName, initial);\n this.tapOneOrMany(hookName, callback);\n }\n }\n call(hookName, ...rest) {\n var _a;\n const hook = this.hooks[hookName];\n if (!hook)\n return;\n const { type } = hook;\n const calls = this.callbacks;\n if (!calls)\n return;\n const list = calls[hookName];\n if (list) {\n const tail = list.tail;\n let node = list.next;\n let args = rest;\n let res;\n while (node !== tail) {\n res = (_a = node.callback) === null || _a === void 0 ? void 0 : _a.apply(node.context || this, args);\n if (type === HOOK_TYPE.WATERFALL) {\n const params = [res];\n args = params;\n }\n node = node.next;\n }\n return res;\n }\n }\n isExist(hookName) {\n var _a;\n return Boolean((_a = this.callbacks) === null || _a === void 0 ? void 0 : _a[hookName]);\n }\n}\nconst hooks = new TaroHooks({\n getMiniLifecycle: TaroHook(HOOK_TYPE.SINGLE, defaultConfig => defaultConfig),\n getMiniLifecycleImpl: TaroHook(HOOK_TYPE.SINGLE, function () {\n return this.call('getMiniLifecycle', defaultMiniLifecycle);\n }),\n getLifecycle: TaroHook(HOOK_TYPE.SINGLE, (instance, lifecycle) => instance[lifecycle]),\n getPathIndex: TaroHook(HOOK_TYPE.SINGLE, indexOfNode => `[${indexOfNode}]`),\n getEventCenter: TaroHook(HOOK_TYPE.SINGLE, Events => new Events()),\n isBubbleEvents: TaroHook(HOOK_TYPE.SINGLE, eventName => {\n /**\n * 支持冒泡的事件, 除 支付宝小程序外,其余的可冒泡事件都和微信保持一致\n * 详见 见 https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html\n */\n const BUBBLE_EVENTS = new Set([\n 'touchstart',\n 'touchmove',\n 'touchcancel',\n 'touchend',\n 'touchforcechange',\n 'tap',\n 'longpress',\n 'longtap',\n 'transitionend',\n 'animationstart',\n 'animationiteration',\n 'animationend'\n ]);\n return BUBBLE_EVENTS.has(eventName);\n }),\n getSpecialNodes: TaroHook(HOOK_TYPE.SINGLE, () => ['view', 'text', 'image']),\n onRemoveAttribute: TaroHook(HOOK_TYPE.SINGLE),\n batchedEventUpdates: TaroHook(HOOK_TYPE.SINGLE),\n mergePageInstance: TaroHook(HOOK_TYPE.SINGLE),\n modifyPageObject: TaroHook(HOOK_TYPE.SINGLE),\n createPullDownComponent: TaroHook(HOOK_TYPE.SINGLE),\n getDOMNode: TaroHook(HOOK_TYPE.SINGLE),\n modifyHydrateData: TaroHook(HOOK_TYPE.SINGLE),\n modifySetAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n modifyRmAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n onAddEvent: TaroHook(HOOK_TYPE.SINGLE),\n modifyMpEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyMpEventImpl: TaroHook(HOOK_TYPE.SINGLE, function (e) {\n try {\n // 有些小程序的事件对象的某些属性只读\n this.call('modifyMpEvent', e);\n }\n catch (error) {\n console.warn('[Taro modifyMpEvent hook Error]: ' + (error === null || error === void 0 ? void 0 : error.message));\n }\n }),\n modifyTaroEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyDispatchEvent: TaroHook(HOOK_TYPE.MULTI),\n initNativeApi: TaroHook(HOOK_TYPE.MULTI),\n patchElement: TaroHook(HOOK_TYPE.MULTI)\n});\n\nconst EMPTY_OBJ = {};\nconst EMPTY_ARR = [];\nconst noop = (..._) => { };\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param v Value.\n * @returns Boxed value.\n */\nconst box = (v) => ({ v });\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param b Boxed value.\n * @returns Value.\n */\nconst unbox = (b) => b.v;\nfunction toDashed(s) {\n return s.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction toCamelCase(s) {\n let camel = '';\n let nextCap = false;\n for (let i = 0; i < s.length; i++) {\n if (s[i] !== '-') {\n camel += nextCap ? s[i].toUpperCase() : s[i];\n nextCap = false;\n }\n else {\n nextCap = true;\n }\n }\n return camel;\n}\nconst toKebabCase = function (string) {\n return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n};\nfunction capitalize(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\n/**\n * ensure takes a condition and throw a error if the condition fails,\n * like failure::ensure: https://docs.rs/failure/0.1.1/failure/macro.ensure.html\n * @param condition condition.\n * @param msg error message.\n */\nfunction ensure(condition, msg) {\n if (!condition) {\n if (process.env.NODE_ENV !== 'production') {\n const reportIssue = '\\n如有疑问,请提交 issue 至:https://github.com/nervjs/taro/issues';\n throw new Error(msg + reportIssue);\n }\n else {\n throw new Error(msg);\n }\n }\n}\nfunction warn(condition, msg) {\n if (process.env.NODE_ENV !== 'production') {\n if (condition) {\n console.warn(`[taro warn] ${msg}`);\n }\n }\n}\nfunction queryToJson(str) {\n const dec = decodeURIComponent;\n const qp = str.split('&');\n const ret = {};\n let name;\n let val;\n for (let i = 0, l = qp.length, item; i < l; ++i) {\n item = qp[i];\n if (item.length) {\n const s = item.indexOf('=');\n if (s < 0) {\n name = dec(item);\n val = '';\n }\n else {\n name = dec(item.slice(0, s));\n val = dec(item.slice(s + 1));\n }\n if (typeof ret[name] === 'string') { // inline'd type check\n ret[name] = [ret[name]];\n }\n if (Array.isArray(ret[name])) {\n ret[name].push(val);\n }\n else {\n ret[name] = val;\n }\n }\n }\n return ret; // Object\n}\nlet _uniqueId = 1;\nconst _loadTime = (new Date()).getTime().toString();\nfunction getUniqueKey() {\n return _loadTime + (_uniqueId++);\n}\nconst cacheData = {};\nfunction cacheDataSet(key, val) {\n cacheData[key] = val;\n}\nfunction cacheDataGet(key, delelteAfterGet) {\n const temp = cacheData[key];\n delelteAfterGet && delete cacheData[key];\n return temp;\n}\nfunction cacheDataHas(key) {\n return key in cacheData;\n}\nfunction mergeInternalComponents(components) {\n Object.keys(components).forEach(name => {\n if (name in internalComponents) {\n Object.assign(internalComponents[name], components[name]);\n }\n else {\n internalComponents[name] = components[name];\n }\n });\n return internalComponents;\n}\nfunction getComponentsAlias(origin) {\n const mapping = {};\n const viewAttrs = origin.View;\n const extraList = {\n '#text': {},\n StaticView: viewAttrs,\n StaticImage: origin.Image,\n StaticText: origin.Text,\n PureView: viewAttrs,\n CatchView: viewAttrs\n };\n origin = Object.assign(Object.assign({}, origin), extraList);\n Object.keys(origin)\n .sort((a, b) => {\n const reg = /^(Static|Pure|Catch)*(View|Image|Text)$/;\n const isACommonly = reg.test(a);\n const isBCommonly = reg.test(b);\n if (isACommonly && isBCommonly) {\n return a > b ? 1 : -1;\n }\n else if (isACommonly) {\n return -1;\n }\n else if (isBCommonly) {\n return 1;\n }\n else {\n return a >= b ? 1 : -1;\n }\n })\n .forEach((key, num) => {\n const obj = {\n _num: String(num)\n };\n Object.keys(origin[key])\n .filter(attr => !(/^bind/.test(attr)) && !['focus', 'blur'].includes(attr))\n .sort()\n .forEach((attr, index) => {\n obj[toCamelCase(attr)] = 'p' + index;\n });\n mapping[toDashed(key)] = obj;\n });\n return mapping;\n}\nfunction getPlatformType(platform = 'weapp', configNameOrType = PLATFORM_TYPE.MINI) {\n if (Object.keys(PLATFORM_CONFIG_MAP).includes(platform)) {\n configNameOrType = platform;\n }\n const param = PLATFORM_CONFIG_MAP[configNameOrType] || {};\n return param.type || configNameOrType;\n}\nfunction mergeReconciler(hostConfig, hooksForTest) {\n const obj = hooksForTest || hooks;\n const keys = Object.keys(hostConfig);\n keys.forEach(key => {\n obj.tap(key, hostConfig[key]);\n });\n}\nfunction nonsupport(api) {\n return function () {\n console.warn(`小程序暂不支持 ${api}`);\n };\n}\nfunction setUniqueKeyToRoute(key, obj) {\n const routerParamsPrivateKey = '__key_';\n const useDataCacheApis = [\n 'navigateTo',\n 'redirectTo',\n 'reLaunch',\n 'switchTab'\n ];\n if (useDataCacheApis.indexOf(key) > -1) {\n const url = obj.url = obj.url || '';\n const hasMark = url.indexOf('?') > -1;\n const cacheKey = getUniqueKey();\n obj.url += (hasMark ? '&' : '?') + `${routerParamsPrivateKey}=${cacheKey}`;\n }\n}\nfunction indent(str, size) {\n return str.split('\\n')\n .map((line, index) => {\n const indent = index === 0 ? '' : Array(size).fill(' ').join('');\n return indent + line;\n })\n .join('\\n');\n}\n\nconst needPromiseApis = new Set([\n 'addPhoneContact',\n 'authorize',\n 'canvasGetImageData',\n 'canvasPutImageData',\n 'canvasToTempFilePath',\n 'checkSession',\n 'chooseAddress',\n 'chooseImage',\n 'chooseInvoiceTitle',\n 'chooseLocation',\n 'chooseVideo',\n 'clearStorage',\n 'closeBLEConnection',\n 'closeBluetoothAdapter',\n 'closeSocket',\n 'compressImage',\n 'connectSocket',\n 'createBLEConnection',\n 'downloadFile',\n 'exitMiniProgram',\n 'getAvailableAudioSources',\n 'getBLEDeviceCharacteristics',\n 'getBLEDeviceServices',\n 'getBatteryInfo',\n 'getBeacons',\n 'getBluetoothAdapterState',\n 'getBluetoothDevices',\n 'getClipboardData',\n 'getConnectedBluetoothDevices',\n 'getConnectedWifi',\n 'getExtConfig',\n 'getFileInfo',\n 'getImageInfo',\n 'getLocation',\n 'getNetworkType',\n 'getSavedFileInfo',\n 'getSavedFileList',\n 'getScreenBrightness',\n 'getSetting',\n 'getStorage',\n 'getStorageInfo',\n 'getSystemInfo',\n 'getUserInfo',\n 'getWifiList',\n 'hideHomeButton',\n 'hideShareMenu',\n 'hideTabBar',\n 'hideTabBarRedDot',\n 'loadFontFace',\n 'login',\n 'makePhoneCall',\n 'navigateBack',\n 'navigateBackMiniProgram',\n 'navigateTo',\n 'navigateToBookshelf',\n 'navigateToMiniProgram',\n 'notifyBLECharacteristicValueChange',\n 'hideKeyboard',\n 'hideLoading',\n 'hideNavigationBarLoading',\n 'hideToast',\n 'openBluetoothAdapter',\n 'openDocument',\n 'openLocation',\n 'openSetting',\n 'pageScrollTo',\n 'previewImage',\n 'queryBookshelf',\n 'reLaunch',\n 'readBLECharacteristicValue',\n 'redirectTo',\n 'removeSavedFile',\n 'removeStorage',\n 'removeTabBarBadge',\n 'requestSubscribeMessage',\n 'saveFile',\n 'saveImageToPhotosAlbum',\n 'saveVideoToPhotosAlbum',\n 'scanCode',\n 'sendSocketMessage',\n 'setBackgroundColor',\n 'setBackgroundTextStyle',\n 'setClipboardData',\n 'setEnableDebug',\n 'setInnerAudioOption',\n 'setKeepScreenOn',\n 'setNavigationBarColor',\n 'setNavigationBarTitle',\n 'setScreenBrightness',\n 'setStorage',\n 'setTabBarBadge',\n 'setTabBarItem',\n 'setTabBarStyle',\n 'showActionSheet',\n 'showFavoriteGuide',\n 'showLoading',\n 'showModal',\n 'showShareMenu',\n 'showTabBar',\n 'showTabBarRedDot',\n 'showToast',\n 'startBeaconDiscovery',\n 'startBluetoothDevicesDiscovery',\n 'startDeviceMotionListening',\n 'startPullDownRefresh',\n 'stopBeaconDiscovery',\n 'stopBluetoothDevicesDiscovery',\n 'stopCompass',\n 'startCompass',\n 'startAccelerometer',\n 'stopAccelerometer',\n 'showNavigationBarLoading',\n 'stopDeviceMotionListening',\n 'stopPullDownRefresh',\n 'switchTab',\n 'uploadFile',\n 'vibrateLong',\n 'vibrateShort',\n 'writeBLECharacteristicValue'\n]);\nfunction getCanIUseWebp(taro) {\n return function () {\n var _a;\n const res = (_a = taro.getSystemInfoSync) === null || _a === void 0 ? void 0 : _a.call(taro);\n if (!res) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('不支持 API canIUseWebp');\n }\n return false;\n }\n const { platform } = res;\n const platformLower = platform.toLowerCase();\n if (platformLower === 'android' || platformLower === 'devtools') {\n return true;\n }\n return false;\n };\n}\nfunction getNormalRequest(global) {\n return function request(options) {\n options = options\n ? (isString(options)\n ? { url: options }\n : options)\n : {};\n const originSuccess = options.success;\n const originFail = options.fail;\n const originComplete = options.complete;\n let requestTask;\n const p = new Promise((resolve, reject) => {\n options.success = res => {\n originSuccess && originSuccess(res);\n resolve(res);\n };\n options.fail = res => {\n originFail && originFail(res);\n reject(res);\n };\n options.complete = res => {\n originComplete && originComplete(res);\n };\n requestTask = global.request(options);\n });\n equipTaskMethodsIntoPromise(requestTask, p);\n p.abort = (cb) => {\n cb && cb();\n if (requestTask) {\n requestTask.abort();\n }\n return p;\n };\n return p;\n };\n}\nfunction processApis(taro, global, config = {}) {\n const patchNeedPromiseApis = config.needPromiseApis || [];\n const _needPromiseApis = new Set([...patchNeedPromiseApis, ...needPromiseApis]);\n const preserved = [\n 'getEnv',\n 'interceptors',\n 'Current',\n 'getCurrentInstance',\n 'options',\n 'nextTick',\n 'eventCenter',\n 'Events',\n 'preload',\n 'webpackJsonp'\n ];\n const apis = new Set(!config.isOnlyPromisify\n ? Object.keys(global).filter(api => preserved.indexOf(api) === -1)\n : patchNeedPromiseApis);\n if (config.modifyApis) {\n config.modifyApis(apis);\n }\n apis.forEach(key => {\n if (_needPromiseApis.has(key)) {\n const originKey = key;\n taro[originKey] = (options = {}, ...args) => {\n let key = originKey;\n // 第一个参数 options 为字符串,单独处理\n if (typeof options === 'string') {\n if (args.length) {\n return global[key](options, ...args);\n }\n return global[key](options);\n }\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n const transformResult = config.transformMeta(key, options);\n key = transformResult.key;\n options = transformResult.options;\n // 新 key 可能不存在\n if (!global.hasOwnProperty(key)) {\n return nonsupport(key)();\n }\n }\n let task = null;\n const obj = Object.assign({}, options);\n // 为页面跳转相关的 API 设置一个随机数作为路由参数。为了给 runtime 区分页面。\n setUniqueKeyToRoute(key, options);\n // Promise 化\n const p = new Promise((resolve, reject) => {\n obj.success = res => {\n var _a, _b;\n (_a = config.modifyAsyncResult) === null || _a === void 0 ? void 0 : _a.call(config, key, res);\n (_b = options.success) === null || _b === void 0 ? void 0 : _b.call(options, res);\n if (key === 'connectSocket') {\n resolve(Promise.resolve().then(() => task ? Object.assign(task, res) : res));\n }\n else {\n resolve(res);\n }\n };\n obj.fail = res => {\n var _a;\n (_a = options.fail) === null || _a === void 0 ? void 0 : _a.call(options, res);\n reject(res);\n };\n obj.complete = res => {\n var _a;\n (_a = options.complete) === null || _a === void 0 ? void 0 : _a.call(options, res);\n };\n if (args.length) {\n task = global[key](obj, ...args);\n }\n else {\n task = global[key](obj);\n }\n });\n // 给 promise 对象挂载属性\n if (['uploadFile', 'downloadFile'].includes(key)) {\n equipTaskMethodsIntoPromise(task, p);\n p.progress = cb => {\n task === null || task === void 0 ? void 0 : task.onProgressUpdate(cb);\n return p;\n };\n p.abort = cb => {\n cb === null || cb === void 0 ? void 0 : cb();\n task === null || task === void 0 ? void 0 : task.abort();\n return p;\n };\n }\n return p;\n };\n }\n else {\n let platformKey = key;\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n platformKey = config.transformMeta(key, {}).key;\n }\n // API 不存在\n if (!global.hasOwnProperty(platformKey)) {\n taro[key] = nonsupport(key);\n return;\n }\n if (isFunction(global[key])) {\n taro[key] = (...args) => {\n if (config.handleSyncApis) {\n return config.handleSyncApis(key, global, args);\n }\n else {\n return global[platformKey].apply(global, args);\n }\n };\n }\n else {\n taro[key] = global[platformKey];\n }\n }\n });\n !config.isOnlyPromisify && equipCommonApis(taro, global, config);\n}\n/**\n * 挂载常用 API\n * @param taro Taro 对象\n * @param global 小程序全局对象,如微信的 wx,支付宝的 my\n */\nfunction equipCommonApis(taro, global, apis = {}) {\n taro.canIUseWebp = getCanIUseWebp(taro);\n taro.getCurrentPages = getCurrentPages || nonsupport('getCurrentPages');\n taro.getApp = getApp || nonsupport('getApp');\n taro.env = global.env || {};\n try {\n taro.requirePlugin = requirePlugin || nonsupport('requirePlugin');\n }\n catch (error) {\n taro.requirePlugin = nonsupport('requirePlugin');\n }\n // request & interceptors\n const request = apis.request || getNormalRequest(global);\n function taroInterceptor(chain) {\n return request(chain.requestParams);\n }\n const link = new taro.Link(taroInterceptor);\n taro.request = link.request.bind(link);\n taro.addInterceptor = link.addInterceptor.bind(link);\n taro.cleanInterceptors = link.cleanInterceptors.bind(link);\n taro.miniGlobal = taro.options.miniGlobal = global;\n}\n/**\n * 将Task对象中的方法挂载到promise对象中,适配小程序api原生返回结果\n * @param task Task对象 {RequestTask | DownloadTask | UploadTask}\n * @param promise Promise\n */\nfunction equipTaskMethodsIntoPromise(task, promise) {\n if (!task || !promise)\n return;\n const taskMethods = ['abort', 'onHeadersReceived', 'offHeadersReceived', 'onProgressUpdate', 'offProgressUpdate', 'onChunkReceived', 'offChunkReceived'];\n task && taskMethods.forEach(method => {\n if (method in task) {\n promise[method] = task[method].bind(task);\n }\n });\n}\n\nexport { EMPTY_ARR, EMPTY_OBJ, Events, HOOK_TYPE, PLATFORM_CONFIG_MAP, PLATFORM_TYPE, TaroHook, TaroHooks, animation, box, cacheDataGet, cacheDataHas, cacheDataSet, capitalize, controlledComponent, ensure, focusComponents, getComponentsAlias, getPlatformType, getUniqueKey, hasOwn, hooks, indent, internalComponents, isArray, isBoolean, isBooleanStringLiteral, isFunction, isNull, isNumber, isObject, isString, isUndefined, isWebPlatform, mergeInternalComponents, mergeReconciler, nestElements, nonsupport, noop, processApis, queryToJson, setUniqueKeyToRoute, singleQuote, toCamelCase, toDashed, toKebabCase, touchEvents, unbox, voidElements, warn };\n//# sourceMappingURL=shared.esm.js.map\n","import { isWebPlatform } from '@tarojs/shared'\n\nexport const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP'\n}\n\nconst isWeb = isWebPlatform()\n\nexport function getEnv () {\n if (process.env.TARO_ENV === 'weapp') {\n return ENV_TYPE.WEAPP\n } else if (process.env.TARO_ENV === 'alipay') {\n return ENV_TYPE.ALIPAY\n } else if (process.env.TARO_ENV === 'swan') {\n return ENV_TYPE.SWAN\n } else if (process.env.TARO_ENV === 'tt') {\n return ENV_TYPE.TT\n } else if (process.env.TARO_ENV === 'jd') {\n return ENV_TYPE.JD\n } else if (process.env.TARO_ENV === 'qq') {\n return ENV_TYPE.QQ\n } else if (isWeb) {\n return ENV_TYPE.WEB\n } else if (process.env.TARO_ENV === 'rn') {\n return ENV_TYPE.RN\n } else if (process.env.TARO_ENV === 'harmony') {\n return ENV_TYPE.HARMONY\n } else if (process.env.TARO_ENV === 'quickapp') {\n return ENV_TYPE.QUICKAPP\n } else {\n return process.env.TARO_ENV || 'Unknown'\n }\n}\n","import { isFunction } from '../utils'\n\nexport default class Chain {\n constructor (requestParams, interceptors, index) {\n this.index = index || 0\n this.requestParams = requestParams\n this.interceptors = interceptors || []\n }\n\n proceed (requestParams) {\n this.requestParams = requestParams\n if (this.index >= this.interceptors.length) {\n throw new Error('chain 参数错误, 请勿直接修改 request.chain')\n }\n const nextInterceptor = this._getNextInterceptor()\n const nextChain = this._getNextChain()\n const p = nextInterceptor(nextChain)\n const res = p.catch(err => Promise.reject(err))\n Object.keys(p).forEach(k => isFunction(p[k]) && (res[k] = p[k]))\n return res\n }\n\n _getNextInterceptor () {\n return this.interceptors[this.index]\n }\n\n _getNextChain () {\n return new Chain(this.requestParams, this.interceptors, this.index + 1)\n }\n}\n","import Chain from './chain'\n\nexport default class Link {\n constructor (interceptor) {\n this.taroInterceptor = interceptor\n this.chain = new Chain()\n }\n\n request (requestParams) {\n const chain = this.chain\n const taroInterceptor = this.taroInterceptor\n\n chain.interceptors = chain.interceptors\n .filter(interceptor => interceptor !== taroInterceptor)\n .concat(taroInterceptor)\n\n return chain.proceed({ ...requestParams })\n }\n\n addInterceptor (interceptor) {\n this.chain.interceptors.push(interceptor)\n }\n\n cleanInterceptors () {\n this.chain = new Chain()\n }\n}\n","import { isFunction, isUndefined } from '../utils'\n\nexport function timeoutInterceptor (chain) {\n const requestParams = chain.requestParams\n let p\n const res = new Promise((resolve, reject) => {\n let timeout = setTimeout(() => {\n timeout = null\n reject(new Error('网络链接超时,请稍后再试!'))\n }, (requestParams && requestParams.timeout) || 60000)\n\n p = chain.proceed(requestParams)\n p\n .then(res => {\n if (!timeout) return\n clearTimeout(timeout)\n resolve(res)\n })\n .catch(err => {\n timeout && clearTimeout(timeout)\n reject(err)\n })\n })\n if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n\nexport function logInterceptor (chain) {\n const requestParams = chain.requestParams\n const { method, data, url } = requestParams\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http ${method || 'GET'} --> ${url} data: `, data)\n }\n\n const p = chain.proceed(requestParams)\n const res = p\n .then(res => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http <-- ${url} result:`, res)\n }\n return res\n })\n if (isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n","import { isFunction, isObject } from './utils'\n\nexport function Behavior (options) {\n return options\n}\n\nexport function getPreload (current) {\n return function (key, val) {\n current.preloadData = isObject(key)\n ? key\n : {\n [key]: val\n }\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'rpx'\n\nexport function getInitPxTransform (taro) {\n return function (config) {\n const {\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n targetUnit = defaultTargetUnit,\n unitPrecision = defaultUnitPrecision,\n } = config\n taro.config = taro.config || {}\n taro.config.designWidth = designWidth\n taro.config.deviceRatio = deviceRatio\n taro.config.baseFontSize = baseFontSize\n taro.config.targetUnit = targetUnit\n taro.config.unitPrecision = unitPrecision\n }\n}\n\nexport function getPxTransform (taro) {\n return function (size) {\n const config = taro.config || {}\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n const baseFontSize = config.baseFontSize\n const designWidth = (((input = 0) => isFunction(config.designWidth)\n ? config.designWidth(input)\n : config.designWidth || defaultDesignWidth))(size)\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n const formatSize = ~~size\n let rootValue = 1 / config.deviceRatio[designWidth]\n switch (config.targetUnit) {\n case 'rem':\n rootValue *= baseFontSize * 2\n break\n case 'px':\n rootValue *= 2\n break\n }\n let val = formatSize / rootValue\n if (config.unitPrecision >= 0 && config.unitPrecision <= 100) {\n val = Number(val.toFixed(config.unitPrecision))\n }\n return val + config.targetUnit\n }\n}\n","/* eslint-disable camelcase */\nimport './polyfill'\n\nimport {\n Current,\n eventCenter,\n Events,\n getCurrentInstance,\n nextTick,\n options\n} from '@tarojs/runtime'\n\nimport { ENV_TYPE, getEnv } from './env'\nimport Link from './interceptor'\nimport * as interceptors from './interceptor/interceptors'\nimport {\n Behavior,\n getInitPxTransform,\n getPreload,\n getPxTransform\n} from './tools'\n\nconst Taro = {\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n Current,\n getCurrentInstance,\n options,\n nextTick,\n eventCenter,\n Events,\n getInitPxTransform\n}\n\nTaro.initPxTransform = getInitPxTransform(Taro)\nTaro.preload = getPreload(Current)\nTaro.pxTransform = getPxTransform(Taro)\n\nexport default Taro\n"],"names":["isFunction","x","isUndefined","isObject","_typeof","isBadObj","throwTypeError","s","TypeError","Object","assign","target","to","index","arguments","length","nextSource","nextKey","prototype","hasOwnProperty","call","defineProperties","obj","properties","convertToDescriptor","desc","hasProperty","prop","d","enumerable","configurable","value","writable","g","get","set","keys","descs","i","push","defineProperty","DEFAULT_EMPTY_ARRAY","NO_DEFAULT_VALUE","DEFAULT_TRUE","DEFAULT_FALSE","touchEvents","bindTouchStart","bindTouchMove","bindTouchEnd","bindTouchCancel","bindLongTap","animation","bindAnimationStart","bindAnimationIteration","bindAnimationEnd","bindTransitionEnd","singleQuote","concat","longitude","latitude","scale","markers","covers","polyline","circles","controls","bindMarkerTap","bindControlTap","bindCalloutTap","bindUpdated","size","type","plain","disabled","loading","name","direction","inertia","y","damping","friction","bindChange","bindScale","bindHTouchMove","bindVTouchMove","width","height","bindScrollToUpper","bindScrollToLower","bindScroll","autoplay","current","interval","duration","circular","vertical","bindTransition","bindAnimationFinish","src","mode","bindError","bindLoad","muted","orientation","bindStateChange","bindFullScreenChange","bindNetStatus","loop","poster","bindPlay","bindPause","bindEnded","bindTimeUpdate","bindWaiting","ENV_TYPE","WEAPP","SWAN","ALIPAY","TT","QQ","JD","WEB","RN","HARMONY","QUICKAPP","isWeb","isWebPlatform","getEnv","process","env","TARO_ENV","Chain","requestParams","interceptors","_classCallCheck","_createClass","key","proceed","Error","nextInterceptor","_getNextInterceptor","nextChain","_getNextChain","p","res","catch","err","Promise","reject","forEach","k","Link","interceptor","taroInterceptor","chain","request","filter","_objectSpread","addInterceptor","cleanInterceptors","timeoutInterceptor","resolve","timeout","setTimeout","then","clearTimeout","abort","logInterceptor","method","data","url","NODE_ENV","console","log","Behavior","options","getPreload","val","preloadData","_defineProperty","defaultDesignWidth","defaultDesignRatio","defaultBaseFontSize","defaultUnitPrecision","defaultTargetUnit","getInitPxTransform","taro","config","_config$designWidth","designWidth","_config$deviceRatio","deviceRatio","_config$baseFontSize","baseFontSize","_config$targetUnit","targetUnit","_config$unitPrecision","unitPrecision","getPxTransform","input","undefined","formatSize","rootValue","Number","toFixed","Taro","Current","getCurrentInstance","nextTick","eventCenter","Events","initPxTransform","preload","pxTransform"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/utils.js","../src/polyfill.js","../../shared/dist/shared.esm.js","../src/env.js","../src/interceptor/chain.js","../src/interceptor/index.js","../src/interceptor/interceptors.js","../src/tools.js","../src/index.js"],"sourcesContent":["export function isFunction (x) {\n return typeof x === 'function'\n}\n\nexport function isUndefined (x) {\n return typeof x === 'undefined'\n}\n\nexport function isObject (x) {\n return x && typeof x === 'object'\n}\n","import { isFunction, isObject, isUndefined } from './utils'\n\nconst isBadObj = (x) => !isObject(x)\n\nfunction throwTypeError (s) {\n throw new TypeError(s)\n}\n\nif (!isFunction(Object.assign)) {\n // Must be writable: true, enumerable: false, configurable: true\n Object.assign = function (target) { // .length of function is 2\n if (target == null) { // TypeError if undefined or null\n throwTypeError('Cannot convert undefined or null to object')\n }\n\n const to = Object(target)\n\n for (let index = 1; index < arguments.length; index++) {\n const nextSource = arguments[index]\n\n if (nextSource != null) { // Skip over if undefined or null\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey]\n }\n }\n }\n }\n return to\n }\n}\n\nif (!isFunction(Object.defineProperties)) {\n Object.defineProperties = function (obj, properties) {\n function convertToDescriptor (desc) {\n function hasProperty (obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop)\n }\n\n if (isBadObj(desc)) { throwTypeError('bad desc') }\n\n const d = {}\n\n if (hasProperty(desc, 'enumerable')) d.enumerable = !!desc.enumerable\n if (hasProperty(desc, 'configurable')) { d.configurable = !!desc.configurable }\n if (hasProperty(desc, 'value')) d.value = desc.value\n if (hasProperty(desc, 'writable')) d.writable = !!desc.writable\n if (hasProperty(desc, 'get')) {\n const g = desc.get\n\n if (!isFunction(g) && !isUndefined(g)) { throwTypeError('bad get') }\n d.get = g\n }\n if (hasProperty(desc, 'set')) {\n const s = desc.set\n if (!isFunction(s) && !isUndefined(s)) { throwTypeError('bad set') }\n d.set = s\n }\n\n if (('get' in d || 'set' in d) && ('value' in d || 'writable' in d)) { throwTypeError('identity-confused descriptor') }\n\n return d\n }\n\n if (isBadObj(obj)) throwTypeError('bad obj')\n\n properties = Object(properties)\n\n const keys = Object.keys(properties)\n const descs = []\n\n for (let i = 0; i < keys.length; i++) {\n descs.push([keys[i], convertToDescriptor(properties[keys[i]])])\n }\n\n for (let i = 0; i < descs.length; i++) {\n Object.defineProperty(obj, descs[i][0], descs[i][1])\n }\n\n return obj\n }\n}\n","const DEFAULT_EMPTY_ARRAY = '[]';\nconst NO_DEFAULT_VALUE = '';\nconst DEFAULT_TRUE = '!0';\nconst DEFAULT_FALSE = '!1';\nconst touchEvents = {\n bindTouchStart: NO_DEFAULT_VALUE,\n bindTouchMove: NO_DEFAULT_VALUE,\n bindTouchEnd: NO_DEFAULT_VALUE,\n bindTouchCancel: NO_DEFAULT_VALUE,\n bindLongTap: NO_DEFAULT_VALUE\n};\nconst animation = {\n animation: NO_DEFAULT_VALUE,\n bindAnimationStart: NO_DEFAULT_VALUE,\n bindAnimationIteration: NO_DEFAULT_VALUE,\n bindAnimationEnd: NO_DEFAULT_VALUE,\n bindTransitionEnd: NO_DEFAULT_VALUE\n};\nfunction singleQuote(s) {\n return `'${s}'`;\n}\nconst View = Object.assign(Object.assign({ 'hover-class': singleQuote('none'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '50', 'hover-stay-time': '400' }, touchEvents), animation);\nconst Icon = {\n type: NO_DEFAULT_VALUE,\n size: '23',\n color: NO_DEFAULT_VALUE\n};\nconst MapComp = Object.assign({ longitude: NO_DEFAULT_VALUE, latitude: NO_DEFAULT_VALUE, scale: '16', markers: DEFAULT_EMPTY_ARRAY, covers: NO_DEFAULT_VALUE, polyline: DEFAULT_EMPTY_ARRAY, circles: DEFAULT_EMPTY_ARRAY, controls: DEFAULT_EMPTY_ARRAY, 'include-points': DEFAULT_EMPTY_ARRAY, 'show-location': NO_DEFAULT_VALUE, 'layer-style': '1', bindMarkerTap: NO_DEFAULT_VALUE, bindControlTap: NO_DEFAULT_VALUE, bindCalloutTap: NO_DEFAULT_VALUE, bindUpdated: NO_DEFAULT_VALUE }, touchEvents);\nconst Progress = {\n percent: NO_DEFAULT_VALUE,\n 'stroke-width': '6',\n color: singleQuote('#09BB07'),\n activeColor: singleQuote('#09BB07'),\n backgroundColor: singleQuote('#EBEBEB'),\n active: DEFAULT_FALSE,\n 'active-mode': singleQuote('backwards'),\n 'show-info': DEFAULT_FALSE\n};\nconst RichText = {\n nodes: DEFAULT_EMPTY_ARRAY\n};\nconst Text = {\n selectable: DEFAULT_FALSE,\n space: NO_DEFAULT_VALUE,\n decode: DEFAULT_FALSE\n};\nconst Button = Object.assign({ size: singleQuote('default'), type: NO_DEFAULT_VALUE, plain: DEFAULT_FALSE, disabled: NO_DEFAULT_VALUE, loading: DEFAULT_FALSE, 'form-type': NO_DEFAULT_VALUE, 'open-type': NO_DEFAULT_VALUE, 'hover-class': singleQuote('button-hover'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '20', 'hover-stay-time': '70', name: NO_DEFAULT_VALUE }, touchEvents);\nconst Checkbox = {\n value: NO_DEFAULT_VALUE,\n disabled: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst CheckboxGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Form = {\n 'report-submit': DEFAULT_FALSE,\n bindSubmit: NO_DEFAULT_VALUE,\n bindReset: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Input = {\n value: NO_DEFAULT_VALUE,\n type: singleQuote(NO_DEFAULT_VALUE),\n password: DEFAULT_FALSE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('input-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'cursor-spacing': '0',\n focus: DEFAULT_FALSE,\n 'confirm-type': singleQuote('done'),\n 'confirm-hold': DEFAULT_FALSE,\n cursor: 'i.value.length',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindInput: NO_DEFAULT_VALUE,\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Label = {\n for: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Picker = {\n mode: singleQuote('selector'),\n disabled: NO_DEFAULT_VALUE,\n range: NO_DEFAULT_VALUE,\n 'range-key': NO_DEFAULT_VALUE,\n value: NO_DEFAULT_VALUE,\n start: NO_DEFAULT_VALUE,\n end: NO_DEFAULT_VALUE,\n fields: singleQuote('day'),\n 'custom-item': NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n bindCancel: NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n bindColumnChange: NO_DEFAULT_VALUE\n};\nconst PickerView = {\n value: NO_DEFAULT_VALUE,\n 'indicator-style': NO_DEFAULT_VALUE,\n 'indicator-class': NO_DEFAULT_VALUE,\n 'mask-style': NO_DEFAULT_VALUE,\n 'mask-class': NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst PickerViewColumn = {\n name: NO_DEFAULT_VALUE\n};\nconst Radio = {\n value: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst RadioGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Slider = {\n min: '0',\n max: '100',\n step: '1',\n disabled: NO_DEFAULT_VALUE,\n value: '0',\n activeColor: singleQuote('#1aad19'),\n backgroundColor: singleQuote('#e9e9e9'),\n 'block-size': '28',\n 'block-color': singleQuote('#ffffff'),\n 'show-value': DEFAULT_FALSE,\n bindChange: NO_DEFAULT_VALUE,\n bindChanging: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Switch = {\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n type: singleQuote('switch'),\n color: singleQuote('#04BE02'),\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Textarea = {\n value: NO_DEFAULT_VALUE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('textarea-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'auto-focus': DEFAULT_FALSE,\n focus: DEFAULT_FALSE,\n 'auto-height': DEFAULT_FALSE,\n fixed: DEFAULT_FALSE,\n 'cursor-spacing': '0',\n cursor: '-1',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindLineChange: NO_DEFAULT_VALUE,\n bindInput: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst CoverImage = {\n src: NO_DEFAULT_VALUE,\n bindLoad: 'eh',\n bindError: 'eh'\n};\nconst CoverView = Object.assign({ 'scroll-top': DEFAULT_FALSE }, touchEvents);\nconst MovableArea = {\n 'scale-area': DEFAULT_FALSE\n};\nconst MovableView = Object.assign(Object.assign({ direction: 'none', inertia: DEFAULT_FALSE, 'out-of-bounds': DEFAULT_FALSE, x: NO_DEFAULT_VALUE, y: NO_DEFAULT_VALUE, damping: '20', friction: '2', disabled: NO_DEFAULT_VALUE, scale: DEFAULT_FALSE, 'scale-min': '0.5', 'scale-max': '10', 'scale-value': '1', bindChange: NO_DEFAULT_VALUE, bindScale: NO_DEFAULT_VALUE, bindHTouchMove: NO_DEFAULT_VALUE, bindVTouchMove: NO_DEFAULT_VALUE, width: singleQuote('10px'), height: singleQuote('10px') }, touchEvents), animation);\nconst ScrollView = Object.assign(Object.assign({ 'scroll-x': DEFAULT_FALSE, 'scroll-y': DEFAULT_FALSE, 'upper-threshold': '50', 'lower-threshold': '50', 'scroll-top': NO_DEFAULT_VALUE, 'scroll-left': NO_DEFAULT_VALUE, 'scroll-into-view': NO_DEFAULT_VALUE, 'scroll-with-animation': DEFAULT_FALSE, 'enable-back-to-top': DEFAULT_FALSE, bindScrollToUpper: NO_DEFAULT_VALUE, bindScrollToLower: NO_DEFAULT_VALUE, bindScroll: NO_DEFAULT_VALUE }, touchEvents), animation);\nconst Swiper = Object.assign({ 'indicator-dots': DEFAULT_FALSE, 'indicator-color': singleQuote('rgba(0, 0, 0, .3)'), 'indicator-active-color': singleQuote('#000000'), autoplay: DEFAULT_FALSE, current: '0', interval: '5000', duration: '500', circular: DEFAULT_FALSE, vertical: DEFAULT_FALSE, 'previous-margin': singleQuote('0px'), 'next-margin': singleQuote('0px'), 'display-multiple-items': '1', bindChange: NO_DEFAULT_VALUE, bindTransition: NO_DEFAULT_VALUE, bindAnimationFinish: NO_DEFAULT_VALUE }, touchEvents);\nconst SwiperItem = {\n 'item-id': NO_DEFAULT_VALUE\n};\nconst Navigator = {\n url: NO_DEFAULT_VALUE,\n 'open-type': singleQuote('navigate'),\n delta: '1',\n 'hover-class': singleQuote('navigator-hover'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '50',\n 'hover-stay-time': '600',\n bindSuccess: NO_DEFAULT_VALUE,\n bindFail: NO_DEFAULT_VALUE,\n bindComplete: NO_DEFAULT_VALUE\n};\nconst Audio = {\n id: NO_DEFAULT_VALUE,\n src: NO_DEFAULT_VALUE,\n loop: DEFAULT_FALSE,\n controls: DEFAULT_FALSE,\n poster: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n author: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindPlay: NO_DEFAULT_VALUE,\n bindPause: NO_DEFAULT_VALUE,\n bindTimeUpdate: NO_DEFAULT_VALUE,\n bindEnded: NO_DEFAULT_VALUE\n};\nconst Camera = {\n 'device-position': singleQuote('back'),\n flash: singleQuote('auto'),\n bindStop: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Image = Object.assign({ src: NO_DEFAULT_VALUE, mode: singleQuote('scaleToFill'), 'lazy-load': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE, bindLoad: NO_DEFAULT_VALUE }, touchEvents);\nconst LivePlayer = Object.assign({ src: NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, muted: DEFAULT_FALSE, orientation: singleQuote('vertical'), 'object-fit': singleQuote('contain'), 'background-mute': DEFAULT_FALSE, 'min-cache': '1', 'max-cache': '3', bindStateChange: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindNetStatus: NO_DEFAULT_VALUE }, animation);\nconst Video = Object.assign({ src: NO_DEFAULT_VALUE, duration: NO_DEFAULT_VALUE, controls: DEFAULT_TRUE, 'danmu-list': NO_DEFAULT_VALUE, 'danmu-btn': NO_DEFAULT_VALUE, 'enable-danmu': NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, loop: DEFAULT_FALSE, muted: DEFAULT_FALSE, 'initial-time': '0', 'page-gesture': DEFAULT_FALSE, direction: NO_DEFAULT_VALUE, 'show-progress': DEFAULT_TRUE, 'show-fullscreen-btn': DEFAULT_TRUE, 'show-play-btn': DEFAULT_TRUE, 'show-center-play-btn': DEFAULT_TRUE, 'enable-progress-gesture': DEFAULT_TRUE, 'object-fit': singleQuote('contain'), poster: NO_DEFAULT_VALUE, 'show-mute-btn': DEFAULT_FALSE, bindPlay: NO_DEFAULT_VALUE, bindPause: NO_DEFAULT_VALUE, bindEnded: NO_DEFAULT_VALUE, bindTimeUpdate: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindWaiting: NO_DEFAULT_VALUE, bindError: NO_DEFAULT_VALUE }, animation);\nconst Canvas = Object.assign({ 'canvas-id': NO_DEFAULT_VALUE, 'disable-scroll': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE }, touchEvents);\nconst Ad = {\n 'unit-id': NO_DEFAULT_VALUE,\n 'ad-intervals': NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindClose: NO_DEFAULT_VALUE\n};\nconst WebView = {\n src: NO_DEFAULT_VALUE,\n bindMessage: NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Block = {};\n// For Vue,因为 slot 标签被 vue 占用了\nconst SlotView = {\n name: NO_DEFAULT_VALUE\n};\n// For React\n// Slot 和 SlotView 最终都会编译成 <view slot={{ i.name }} />\n// 因为 <slot name=\"{{ i.name }}\" /> 适用性没有前者高(无法添加类和样式)\n// 不给 View 直接加 slot 属性的原因是性能损耗\nconst Slot = {\n name: NO_DEFAULT_VALUE\n};\nconst NativeSlot = {\n name: NO_DEFAULT_VALUE\n};\nconst internalComponents = {\n View,\n Icon,\n Progress,\n RichText,\n Text,\n Button,\n Checkbox,\n CheckboxGroup,\n Form,\n Input,\n Label,\n Picker,\n PickerView,\n PickerViewColumn,\n Radio,\n RadioGroup,\n Slider,\n Switch,\n CoverImage,\n Textarea,\n CoverView,\n MovableArea,\n MovableView,\n ScrollView,\n Swiper,\n SwiperItem,\n Navigator,\n Audio,\n Camera,\n Image,\n LivePlayer,\n Video,\n Canvas,\n Ad,\n WebView,\n Block,\n Map: MapComp,\n Slot,\n SlotView,\n NativeSlot,\n};\nconst controlledComponent = new Set([\n 'input',\n 'checkbox',\n 'picker',\n 'picker-view',\n 'radio',\n 'slider',\n 'switch',\n 'textarea'\n]);\nconst focusComponents = new Set([\n 'input',\n 'textarea'\n]);\nconst voidElements = new Set([\n 'progress',\n 'icon',\n 'rich-text',\n 'input',\n 'textarea',\n 'slider',\n 'switch',\n 'audio',\n 'ad',\n 'official-account',\n 'open-data',\n 'navigation-bar'\n]);\nconst nestElements = new Map([\n ['view', -1],\n ['catch-view', -1],\n ['cover-view', -1],\n ['static-view', -1],\n ['pure-view', -1],\n ['block', -1],\n ['text', -1],\n ['static-text', 6],\n ['slot', 8],\n ['slot-view', 8],\n ['label', 6],\n ['form', 4],\n ['scroll-view', 4],\n ['swiper', 4],\n ['swiper-item', 4]\n]);\n\nvar PLATFORM_TYPE;\n(function (PLATFORM_TYPE) {\n PLATFORM_TYPE[\"MINI\"] = \"mini\";\n PLATFORM_TYPE[\"WEB\"] = \"web\";\n PLATFORM_TYPE[\"RN\"] = \"rn\";\n PLATFORM_TYPE[\"HARMONY\"] = \"harmony\";\n PLATFORM_TYPE[\"QUICK\"] = \"quickapp\";\n})(PLATFORM_TYPE || (PLATFORM_TYPE = {}));\nconst PLATFORM_CONFIG_MAP = {\n h5: {\n type: PLATFORM_TYPE.WEB\n },\n harmony: {\n type: PLATFORM_TYPE.HARMONY\n },\n mini: {\n type: PLATFORM_TYPE.MINI\n },\n rn: {\n type: PLATFORM_TYPE.RN\n },\n quickapp: {\n type: PLATFORM_TYPE.QUICK\n }\n};\n\nclass Events {\n constructor(opts) {\n var _a;\n this.callbacks = (_a = opts === null || opts === void 0 ? void 0 : opts.callbacks) !== null && _a !== void 0 ? _a : {};\n }\n on(eventName, callback, context) {\n let event, node, tail, list;\n if (!callback) {\n return this;\n }\n eventName = eventName.split(Events.eventSplitter);\n this.callbacks || (this.callbacks = {});\n const calls = this.callbacks;\n while ((event = eventName.shift())) {\n list = calls[event];\n node = list ? list.tail : {};\n node.next = tail = {};\n node.context = context;\n node.callback = callback;\n calls[event] = {\n tail,\n next: list ? list.next : node\n };\n }\n return this;\n }\n once(events, callback, context) {\n const wrapper = (...args) => {\n callback.apply(this, args);\n this.off(events, wrapper, context);\n };\n this.on(events, wrapper, context);\n return this;\n }\n off(events, callback, context) {\n let event, calls, node, tail, cb, ctx;\n if (!(calls = this.callbacks)) {\n return this;\n }\n if (!(events || callback || context)) {\n delete this.callbacks;\n return this;\n }\n events = events ? events.split(Events.eventSplitter) : Object.keys(calls);\n while ((event = events.shift())) {\n node = calls[event];\n delete calls[event];\n if (!node || !(callback || context)) {\n continue;\n }\n tail = node.tail;\n while ((node = node.next) !== tail) {\n cb = node.callback;\n ctx = node.context;\n if ((callback && cb !== callback) || (context && ctx !== context)) {\n this.on(event, cb, ctx);\n }\n }\n }\n return this;\n }\n trigger(events) {\n let event, node, calls, tail;\n if (!(calls = this.callbacks)) {\n return this;\n }\n events = events.split(Events.eventSplitter);\n const rest = [].slice.call(arguments, 1);\n while ((event = events.shift())) {\n if ((node = calls[event])) {\n tail = node.tail;\n while ((node = node.next) !== tail) {\n node.callback.apply(node.context || this, rest);\n }\n }\n }\n return this;\n }\n}\nEvents.eventSplitter = ','; // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\\s+/\n\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isUndefined(o) {\n return typeof o === 'undefined';\n}\nfunction isNull(o) {\n return o === null;\n}\nfunction isObject(o) {\n return o !== null && typeof o === 'object';\n}\nfunction isBoolean(o) {\n return o === true || o === false;\n}\nfunction isFunction(o) {\n return typeof o === 'function';\n}\nfunction isNumber(o) {\n return typeof o === 'number';\n}\nfunction isBooleanStringLiteral(o) {\n return o === 'true' || o === 'false';\n}\nconst isArray = Array.isArray;\nconst isWebPlatform = () => process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web';\n\nvar HOOK_TYPE;\n(function (HOOK_TYPE) {\n HOOK_TYPE[HOOK_TYPE[\"SINGLE\"] = 0] = \"SINGLE\";\n HOOK_TYPE[HOOK_TYPE[\"MULTI\"] = 1] = \"MULTI\";\n HOOK_TYPE[HOOK_TYPE[\"WATERFALL\"] = 2] = \"WATERFALL\";\n})(HOOK_TYPE || (HOOK_TYPE = {}));\nconst defaultMiniLifecycle = {\n app: [\n 'onLaunch',\n 'onShow',\n 'onHide'\n ],\n page: [\n 'onLoad',\n 'onUnload',\n 'onReady',\n 'onShow',\n 'onHide',\n [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap',\n 'onTitleClick',\n 'onOptionMenuClick',\n 'onPopMenuClick',\n 'onPullIntercept',\n 'onAddToFavorites'\n ],\n [\n 'onShareAppMessage',\n 'onShareTimeline'\n ]\n ],\n component: [\n 'attached',\n 'detached'\n ]\n};\nfunction TaroHook(type, initial) {\n return {\n type,\n initial: initial || null\n };\n}\nclass TaroHooks extends Events {\n constructor(hooks, opts) {\n super(opts);\n this.hooks = hooks;\n for (const hookName in hooks) {\n const { initial } = hooks[hookName];\n if (isFunction(initial)) {\n this.on(hookName, initial);\n }\n }\n }\n tapOneOrMany(hookName, callback) {\n const list = isFunction(callback) ? [callback] : callback;\n list.forEach(cb => this.on(hookName, cb));\n }\n tap(hookName, callback) {\n const hooks = this.hooks;\n const { type, initial } = hooks[hookName];\n if (type === HOOK_TYPE.SINGLE) {\n this.off(hookName);\n this.on(hookName, isFunction(callback) ? callback : callback[callback.length - 1]);\n }\n else {\n initial && this.off(hookName, initial);\n this.tapOneOrMany(hookName, callback);\n }\n }\n call(hookName, ...rest) {\n var _a;\n const hook = this.hooks[hookName];\n if (!hook)\n return;\n const { type } = hook;\n const calls = this.callbacks;\n if (!calls)\n return;\n const list = calls[hookName];\n if (list) {\n const tail = list.tail;\n let node = list.next;\n let args = rest;\n let res;\n while (node !== tail) {\n res = (_a = node.callback) === null || _a === void 0 ? void 0 : _a.apply(node.context || this, args);\n if (type === HOOK_TYPE.WATERFALL) {\n const params = [res];\n args = params;\n }\n node = node.next;\n }\n return res;\n }\n }\n isExist(hookName) {\n var _a;\n return Boolean((_a = this.callbacks) === null || _a === void 0 ? void 0 : _a[hookName]);\n }\n}\nconst hooks = new TaroHooks({\n getMiniLifecycle: TaroHook(HOOK_TYPE.SINGLE, defaultConfig => defaultConfig),\n getMiniLifecycleImpl: TaroHook(HOOK_TYPE.SINGLE, function () {\n return this.call('getMiniLifecycle', defaultMiniLifecycle);\n }),\n getLifecycle: TaroHook(HOOK_TYPE.SINGLE, (instance, lifecycle) => instance[lifecycle]),\n getPathIndex: TaroHook(HOOK_TYPE.SINGLE, indexOfNode => `[${indexOfNode}]`),\n getEventCenter: TaroHook(HOOK_TYPE.SINGLE, Events => new Events()),\n isBubbleEvents: TaroHook(HOOK_TYPE.SINGLE, eventName => {\n /**\n * 支持冒泡的事件, 除 支付宝小程序外,其余的可冒泡事件都和微信保持一致\n * 详见 见 https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html\n */\n const BUBBLE_EVENTS = new Set([\n 'touchstart',\n 'touchmove',\n 'touchcancel',\n 'touchend',\n 'touchforcechange',\n 'tap',\n 'longpress',\n 'longtap',\n 'transitionend',\n 'animationstart',\n 'animationiteration',\n 'animationend'\n ]);\n return BUBBLE_EVENTS.has(eventName);\n }),\n getSpecialNodes: TaroHook(HOOK_TYPE.SINGLE, () => ['view', 'text', 'image']),\n onRemoveAttribute: TaroHook(HOOK_TYPE.SINGLE),\n batchedEventUpdates: TaroHook(HOOK_TYPE.SINGLE),\n mergePageInstance: TaroHook(HOOK_TYPE.SINGLE),\n modifyPageObject: TaroHook(HOOK_TYPE.SINGLE),\n createPullDownComponent: TaroHook(HOOK_TYPE.SINGLE),\n getDOMNode: TaroHook(HOOK_TYPE.SINGLE),\n modifyHydrateData: TaroHook(HOOK_TYPE.SINGLE),\n modifySetAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n modifyRmAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n onAddEvent: TaroHook(HOOK_TYPE.SINGLE),\n modifyMpEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyMpEventImpl: TaroHook(HOOK_TYPE.SINGLE, function (e) {\n try {\n // 有些小程序的事件对象的某些属性只读\n this.call('modifyMpEvent', e);\n }\n catch (error) {\n console.warn('[Taro modifyMpEvent hook Error]: ' + (error === null || error === void 0 ? void 0 : error.message));\n }\n }),\n modifyTaroEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyDispatchEvent: TaroHook(HOOK_TYPE.MULTI),\n initNativeApi: TaroHook(HOOK_TYPE.MULTI),\n patchElement: TaroHook(HOOK_TYPE.MULTI)\n});\n\nconst EMPTY_OBJ = {};\nconst EMPTY_ARR = [];\nconst noop = (..._) => { };\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param v Value.\n * @returns Boxed value.\n */\nconst box = (v) => ({ v });\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param b Boxed value.\n * @returns Value.\n */\nconst unbox = (b) => b.v;\nfunction toDashed(s) {\n return s.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction toCamelCase(s) {\n let camel = '';\n let nextCap = false;\n for (let i = 0; i < s.length; i++) {\n if (s[i] !== '-') {\n camel += nextCap ? s[i].toUpperCase() : s[i];\n nextCap = false;\n }\n else {\n nextCap = true;\n }\n }\n return camel;\n}\nconst toKebabCase = function (string) {\n return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n};\nfunction capitalize(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\n/**\n * ensure takes a condition and throw a error if the condition fails,\n * like failure::ensure: https://docs.rs/failure/0.1.1/failure/macro.ensure.html\n * @param condition condition.\n * @param msg error message.\n */\nfunction ensure(condition, msg) {\n if (!condition) {\n if (process.env.NODE_ENV !== 'production') {\n const reportIssue = '\\n如有疑问,请提交 issue 至:https://github.com/nervjs/taro/issues';\n throw new Error(msg + reportIssue);\n }\n else {\n throw new Error(msg);\n }\n }\n}\nfunction warn(condition, msg) {\n if (process.env.NODE_ENV !== 'production') {\n if (condition) {\n console.warn(`[taro warn] ${msg}`);\n }\n }\n}\nfunction queryToJson(str) {\n const dec = decodeURIComponent;\n const qp = str.split('&');\n const ret = {};\n let name;\n let val;\n for (let i = 0, l = qp.length, item; i < l; ++i) {\n item = qp[i];\n if (item.length) {\n const s = item.indexOf('=');\n if (s < 0) {\n name = dec(item);\n val = '';\n }\n else {\n name = dec(item.slice(0, s));\n val = dec(item.slice(s + 1));\n }\n if (typeof ret[name] === 'string') { // inline'd type check\n ret[name] = [ret[name]];\n }\n if (Array.isArray(ret[name])) {\n ret[name].push(val);\n }\n else {\n ret[name] = val;\n }\n }\n }\n return ret; // Object\n}\nlet _uniqueId = 1;\nconst _loadTime = (new Date()).getTime().toString();\nfunction getUniqueKey() {\n return _loadTime + (_uniqueId++);\n}\nconst cacheData = {};\nfunction cacheDataSet(key, val) {\n cacheData[key] = val;\n}\nfunction cacheDataGet(key, delelteAfterGet) {\n const temp = cacheData[key];\n delelteAfterGet && delete cacheData[key];\n return temp;\n}\nfunction cacheDataHas(key) {\n return key in cacheData;\n}\nfunction mergeInternalComponents(components) {\n Object.keys(components).forEach(name => {\n if (name in internalComponents) {\n Object.assign(internalComponents[name], components[name]);\n }\n else {\n internalComponents[name] = components[name];\n }\n });\n return internalComponents;\n}\nfunction getComponentsAlias(origin) {\n const mapping = {};\n const viewAttrs = origin.View;\n const extraList = {\n '#text': {},\n StaticView: viewAttrs,\n StaticImage: origin.Image,\n StaticText: origin.Text,\n PureView: viewAttrs,\n CatchView: viewAttrs\n };\n origin = Object.assign(Object.assign({}, origin), extraList);\n Object.keys(origin)\n .sort((a, b) => {\n const reg = /^(Static|Pure|Catch)*(View|Image|Text)$/;\n const isACommonly = reg.test(a);\n const isBCommonly = reg.test(b);\n if (isACommonly && isBCommonly) {\n return a > b ? 1 : -1;\n }\n else if (isACommonly) {\n return -1;\n }\n else if (isBCommonly) {\n return 1;\n }\n else {\n return a >= b ? 1 : -1;\n }\n })\n .forEach((key, num) => {\n const obj = {\n _num: String(num)\n };\n Object.keys(origin[key])\n .filter(attr => !(/^bind/.test(attr)) && !['focus', 'blur'].includes(attr))\n .sort()\n .forEach((attr, index) => {\n obj[toCamelCase(attr)] = 'p' + index;\n });\n mapping[toDashed(key)] = obj;\n });\n return mapping;\n}\nfunction getPlatformType(platform = 'weapp', configNameOrType = PLATFORM_TYPE.MINI) {\n if (Object.keys(PLATFORM_CONFIG_MAP).includes(platform)) {\n configNameOrType = platform;\n }\n const param = PLATFORM_CONFIG_MAP[configNameOrType] || {};\n return param.type || configNameOrType;\n}\nfunction mergeReconciler(hostConfig, hooksForTest) {\n const obj = hooksForTest || hooks;\n const keys = Object.keys(hostConfig);\n keys.forEach(key => {\n obj.tap(key, hostConfig[key]);\n });\n}\nfunction nonsupport(api) {\n return function () {\n console.warn(`小程序暂不支持 ${api}`);\n };\n}\nfunction setUniqueKeyToRoute(key, obj) {\n const routerParamsPrivateKey = '__key_';\n const useDataCacheApis = [\n 'navigateTo',\n 'redirectTo',\n 'reLaunch',\n 'switchTab'\n ];\n if (useDataCacheApis.indexOf(key) > -1) {\n const url = obj.url = obj.url || '';\n const hasMark = url.indexOf('?') > -1;\n const cacheKey = getUniqueKey();\n obj.url += (hasMark ? '&' : '?') + `${routerParamsPrivateKey}=${cacheKey}`;\n }\n}\nfunction indent(str, size) {\n return str.split('\\n')\n .map((line, index) => {\n const indent = index === 0 ? '' : Array(size).fill(' ').join('');\n return indent + line;\n })\n .join('\\n');\n}\n\nconst needPromiseApis = new Set([\n 'addPhoneContact',\n 'authorize',\n 'canvasGetImageData',\n 'canvasPutImageData',\n 'canvasToTempFilePath',\n 'checkSession',\n 'chooseAddress',\n 'chooseImage',\n 'chooseInvoiceTitle',\n 'chooseLocation',\n 'chooseVideo',\n 'clearStorage',\n 'closeBLEConnection',\n 'closeBluetoothAdapter',\n 'closeSocket',\n 'compressImage',\n 'connectSocket',\n 'createBLEConnection',\n 'downloadFile',\n 'exitMiniProgram',\n 'getAvailableAudioSources',\n 'getBLEDeviceCharacteristics',\n 'getBLEDeviceServices',\n 'getBatteryInfo',\n 'getBeacons',\n 'getBluetoothAdapterState',\n 'getBluetoothDevices',\n 'getClipboardData',\n 'getConnectedBluetoothDevices',\n 'getConnectedWifi',\n 'getExtConfig',\n 'getFileInfo',\n 'getImageInfo',\n 'getLocation',\n 'getNetworkType',\n 'getSavedFileInfo',\n 'getSavedFileList',\n 'getScreenBrightness',\n 'getSetting',\n 'getStorage',\n 'getStorageInfo',\n 'getSystemInfo',\n 'getUserInfo',\n 'getWifiList',\n 'hideHomeButton',\n 'hideShareMenu',\n 'hideTabBar',\n 'hideTabBarRedDot',\n 'loadFontFace',\n 'login',\n 'makePhoneCall',\n 'navigateBack',\n 'navigateBackMiniProgram',\n 'navigateTo',\n 'navigateToBookshelf',\n 'navigateToMiniProgram',\n 'notifyBLECharacteristicValueChange',\n 'hideKeyboard',\n 'hideLoading',\n 'hideNavigationBarLoading',\n 'hideToast',\n 'openBluetoothAdapter',\n 'openDocument',\n 'openLocation',\n 'openSetting',\n 'pageScrollTo',\n 'previewImage',\n 'queryBookshelf',\n 'reLaunch',\n 'readBLECharacteristicValue',\n 'redirectTo',\n 'removeSavedFile',\n 'removeStorage',\n 'removeTabBarBadge',\n 'requestSubscribeMessage',\n 'saveFile',\n 'saveImageToPhotosAlbum',\n 'saveVideoToPhotosAlbum',\n 'scanCode',\n 'sendSocketMessage',\n 'setBackgroundColor',\n 'setBackgroundTextStyle',\n 'setClipboardData',\n 'setEnableDebug',\n 'setInnerAudioOption',\n 'setKeepScreenOn',\n 'setNavigationBarColor',\n 'setNavigationBarTitle',\n 'setScreenBrightness',\n 'setStorage',\n 'setTabBarBadge',\n 'setTabBarItem',\n 'setTabBarStyle',\n 'showActionSheet',\n 'showFavoriteGuide',\n 'showLoading',\n 'showModal',\n 'showShareMenu',\n 'showTabBar',\n 'showTabBarRedDot',\n 'showToast',\n 'startBeaconDiscovery',\n 'startBluetoothDevicesDiscovery',\n 'startDeviceMotionListening',\n 'startPullDownRefresh',\n 'stopBeaconDiscovery',\n 'stopBluetoothDevicesDiscovery',\n 'stopCompass',\n 'startCompass',\n 'startAccelerometer',\n 'stopAccelerometer',\n 'showNavigationBarLoading',\n 'stopDeviceMotionListening',\n 'stopPullDownRefresh',\n 'switchTab',\n 'uploadFile',\n 'vibrateLong',\n 'vibrateShort',\n 'writeBLECharacteristicValue'\n]);\nfunction getCanIUseWebp(taro) {\n return function () {\n var _a;\n const res = (_a = taro.getSystemInfoSync) === null || _a === void 0 ? void 0 : _a.call(taro);\n if (!res) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('不支持 API canIUseWebp');\n }\n return false;\n }\n const { platform } = res;\n const platformLower = platform.toLowerCase();\n if (platformLower === 'android' || platformLower === 'devtools') {\n return true;\n }\n return false;\n };\n}\nfunction getNormalRequest(global) {\n return function request(options) {\n options = options\n ? (isString(options)\n ? { url: options }\n : options)\n : {};\n const originSuccess = options.success;\n const originFail = options.fail;\n const originComplete = options.complete;\n let requestTask;\n const p = new Promise((resolve, reject) => {\n options.success = res => {\n originSuccess && originSuccess(res);\n resolve(res);\n };\n options.fail = res => {\n originFail && originFail(res);\n reject(res);\n };\n options.complete = res => {\n originComplete && originComplete(res);\n };\n requestTask = global.request(options);\n });\n equipTaskMethodsIntoPromise(requestTask, p);\n p.abort = (cb) => {\n cb && cb();\n if (requestTask) {\n requestTask.abort();\n }\n return p;\n };\n return p;\n };\n}\nfunction processApis(taro, global, config = {}) {\n const patchNeedPromiseApis = config.needPromiseApis || [];\n const _needPromiseApis = new Set([...patchNeedPromiseApis, ...needPromiseApis]);\n const preserved = [\n 'getEnv',\n 'interceptors',\n 'Current',\n 'getCurrentInstance',\n 'options',\n 'nextTick',\n 'eventCenter',\n 'Events',\n 'preload',\n 'webpackJsonp'\n ];\n const apis = new Set(!config.isOnlyPromisify\n ? Object.keys(global).filter(api => preserved.indexOf(api) === -1)\n : patchNeedPromiseApis);\n if (config.modifyApis) {\n config.modifyApis(apis);\n }\n apis.forEach(key => {\n if (_needPromiseApis.has(key)) {\n const originKey = key;\n taro[originKey] = (options = {}, ...args) => {\n let key = originKey;\n // 第一个参数 options 为字符串,单独处理\n if (typeof options === 'string') {\n if (args.length) {\n return global[key](options, ...args);\n }\n return global[key](options);\n }\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n const transformResult = config.transformMeta(key, options);\n key = transformResult.key;\n options = transformResult.options;\n // 新 key 可能不存在\n if (!global.hasOwnProperty(key)) {\n return nonsupport(key)();\n }\n }\n let task = null;\n const obj = Object.assign({}, options);\n // 为页面跳转相关的 API 设置一个随机数作为路由参数。为了给 runtime 区分页面。\n setUniqueKeyToRoute(key, options);\n // Promise 化\n const p = new Promise((resolve, reject) => {\n obj.success = res => {\n var _a, _b;\n (_a = config.modifyAsyncResult) === null || _a === void 0 ? void 0 : _a.call(config, key, res);\n (_b = options.success) === null || _b === void 0 ? void 0 : _b.call(options, res);\n if (key === 'connectSocket') {\n resolve(Promise.resolve().then(() => task ? Object.assign(task, res) : res));\n }\n else {\n resolve(res);\n }\n };\n obj.fail = res => {\n var _a;\n (_a = options.fail) === null || _a === void 0 ? void 0 : _a.call(options, res);\n reject(res);\n };\n obj.complete = res => {\n var _a;\n (_a = options.complete) === null || _a === void 0 ? void 0 : _a.call(options, res);\n };\n if (args.length) {\n task = global[key](obj, ...args);\n }\n else {\n task = global[key](obj);\n }\n });\n // 给 promise 对象挂载属性\n if (['uploadFile', 'downloadFile'].includes(key)) {\n equipTaskMethodsIntoPromise(task, p);\n p.progress = cb => {\n task === null || task === void 0 ? void 0 : task.onProgressUpdate(cb);\n return p;\n };\n p.abort = cb => {\n cb === null || cb === void 0 ? void 0 : cb();\n task === null || task === void 0 ? void 0 : task.abort();\n return p;\n };\n }\n return p;\n };\n }\n else {\n let platformKey = key;\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n platformKey = config.transformMeta(key, {}).key;\n }\n // API 不存在\n if (!global.hasOwnProperty(platformKey)) {\n taro[key] = nonsupport(key);\n return;\n }\n if (isFunction(global[key])) {\n taro[key] = (...args) => {\n if (config.handleSyncApis) {\n return config.handleSyncApis(key, global, args);\n }\n else {\n return global[platformKey].apply(global, args);\n }\n };\n }\n else {\n taro[key] = global[platformKey];\n }\n }\n });\n !config.isOnlyPromisify && equipCommonApis(taro, global, config);\n}\n/**\n * 挂载常用 API\n * @param taro Taro 对象\n * @param global 小程序全局对象,如微信的 wx,支付宝的 my\n */\nfunction equipCommonApis(taro, global, apis = {}) {\n taro.canIUseWebp = getCanIUseWebp(taro);\n taro.getCurrentPages = getCurrentPages || nonsupport('getCurrentPages');\n taro.getApp = getApp || nonsupport('getApp');\n taro.env = global.env || {};\n try {\n taro.requirePlugin = requirePlugin || nonsupport('requirePlugin');\n }\n catch (error) {\n taro.requirePlugin = nonsupport('requirePlugin');\n }\n // request & interceptors\n const request = apis.request || getNormalRequest(global);\n function taroInterceptor(chain) {\n return request(chain.requestParams);\n }\n const link = new taro.Link(taroInterceptor);\n taro.request = link.request.bind(link);\n taro.addInterceptor = link.addInterceptor.bind(link);\n taro.cleanInterceptors = link.cleanInterceptors.bind(link);\n taro.miniGlobal = taro.options.miniGlobal = global;\n}\n/**\n * 将Task对象中的方法挂载到promise对象中,适配小程序api原生返回结果\n * @param task Task对象 {RequestTask | DownloadTask | UploadTask}\n * @param promise Promise\n */\nfunction equipTaskMethodsIntoPromise(task, promise) {\n if (!task || !promise)\n return;\n const taskMethods = ['abort', 'onHeadersReceived', 'offHeadersReceived', 'onProgressUpdate', 'offProgressUpdate', 'onChunkReceived', 'offChunkReceived'];\n task && taskMethods.forEach(method => {\n if (method in task) {\n promise[method] = task[method].bind(task);\n }\n });\n}\n\nexport { EMPTY_ARR, EMPTY_OBJ, Events, HOOK_TYPE, PLATFORM_CONFIG_MAP, PLATFORM_TYPE, TaroHook, TaroHooks, animation, box, cacheDataGet, cacheDataHas, cacheDataSet, capitalize, controlledComponent, ensure, focusComponents, getComponentsAlias, getPlatformType, getUniqueKey, hasOwn, hooks, indent, internalComponents, isArray, isBoolean, isBooleanStringLiteral, isFunction, isNull, isNumber, isObject, isString, isUndefined, isWebPlatform, mergeInternalComponents, mergeReconciler, nestElements, nonsupport, noop, processApis, queryToJson, setUniqueKeyToRoute, singleQuote, toCamelCase, toDashed, toKebabCase, touchEvents, unbox, voidElements, warn };\n//# sourceMappingURL=shared.esm.js.map\n","import { isWebPlatform } from '@tarojs/shared'\n\nexport const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP'\n}\n\nconst isWeb = isWebPlatform()\n\nexport function getEnv () {\n if (process.env.TARO_ENV === 'weapp') {\n return ENV_TYPE.WEAPP\n } else if (process.env.TARO_ENV === 'alipay') {\n return ENV_TYPE.ALIPAY\n } else if (process.env.TARO_ENV === 'swan') {\n return ENV_TYPE.SWAN\n } else if (process.env.TARO_ENV === 'tt') {\n return ENV_TYPE.TT\n } else if (process.env.TARO_ENV === 'jd') {\n return ENV_TYPE.JD\n } else if (process.env.TARO_ENV === 'qq') {\n return ENV_TYPE.QQ\n } else if (isWeb) {\n return ENV_TYPE.WEB\n } else if (process.env.TARO_ENV === 'rn') {\n return ENV_TYPE.RN\n } else if (process.env.TARO_ENV === 'harmony') {\n return ENV_TYPE.HARMONY\n } else if (process.env.TARO_ENV === 'quickapp') {\n return ENV_TYPE.QUICKAPP\n } else {\n return process.env.TARO_ENV || 'Unknown'\n }\n}\n","import { isFunction } from '../utils'\n\nexport default class Chain {\n constructor (requestParams, interceptors, index) {\n this.index = index || 0\n this.requestParams = requestParams\n this.interceptors = interceptors || []\n }\n\n proceed (requestParams) {\n this.requestParams = requestParams\n if (this.index >= this.interceptors.length) {\n throw new Error('chain 参数错误, 请勿直接修改 request.chain')\n }\n const nextInterceptor = this._getNextInterceptor()\n const nextChain = this._getNextChain()\n const p = nextInterceptor(nextChain)\n const res = p.catch(err => Promise.reject(err))\n Object.keys(p).forEach(k => isFunction(p[k]) && (res[k] = p[k]))\n return res\n }\n\n _getNextInterceptor () {\n return this.interceptors[this.index]\n }\n\n _getNextChain () {\n return new Chain(this.requestParams, this.interceptors, this.index + 1)\n }\n}\n","import Chain from './chain'\n\nexport default class Link {\n constructor (interceptor) {\n this.taroInterceptor = interceptor\n this.chain = new Chain()\n }\n\n request (requestParams) {\n const chain = this.chain\n const taroInterceptor = this.taroInterceptor\n\n chain.interceptors = chain.interceptors\n .filter(interceptor => interceptor !== taroInterceptor)\n .concat(taroInterceptor)\n\n return chain.proceed({ ...requestParams })\n }\n\n addInterceptor (interceptor) {\n this.chain.interceptors.push(interceptor)\n }\n\n cleanInterceptors () {\n this.chain = new Chain()\n }\n}\n","import { isFunction, isUndefined } from '../utils'\n\nexport function timeoutInterceptor (chain) {\n const requestParams = chain.requestParams\n let p\n const res = new Promise((resolve, reject) => {\n let timeout = setTimeout(() => {\n timeout = null\n reject(new Error('网络链接超时,请稍后再试!'))\n }, (requestParams && requestParams.timeout) || 60000)\n\n p = chain.proceed(requestParams)\n p\n .then(res => {\n if (!timeout) return\n clearTimeout(timeout)\n resolve(res)\n })\n .catch(err => {\n timeout && clearTimeout(timeout)\n reject(err)\n })\n })\n if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n\nexport function logInterceptor (chain) {\n const requestParams = chain.requestParams\n const { method, data, url } = requestParams\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http ${method || 'GET'} --> ${url} data: `, data)\n }\n\n const p = chain.proceed(requestParams)\n const res = p\n .then(res => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http <-- ${url} result:`, res)\n }\n return res\n })\n if (isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n","import { isFunction, isObject } from './utils'\n\nexport function Behavior (options) {\n return options\n}\n\nexport function getPreload (current) {\n return function (key, val) {\n current.preloadData = isObject(key)\n ? key\n : {\n [key]: val\n }\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'rpx'\n\nexport function getInitPxTransform (taro) {\n return function (config) {\n const {\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n targetUnit = defaultTargetUnit,\n unitPrecision = defaultUnitPrecision,\n } = config\n taro.config = taro.config || {}\n taro.config.designWidth = designWidth\n taro.config.deviceRatio = deviceRatio\n taro.config.baseFontSize = baseFontSize\n taro.config.targetUnit = targetUnit\n taro.config.unitPrecision = unitPrecision\n }\n}\n\nexport function getPxTransform (taro) {\n return function (size) {\n const config = taro.config || {}\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n const baseFontSize = config.baseFontSize\n const designWidth = (((input = 0) => isFunction(config.designWidth)\n ? config.designWidth(input)\n : config.designWidth || defaultDesignWidth))(size)\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n const formatSize = ~~size\n let rootValue = 1 / config.deviceRatio[designWidth]\n switch (config.targetUnit) {\n case 'rem':\n rootValue *= baseFontSize * 2\n break\n case 'px':\n rootValue *= 2\n break\n }\n let val = formatSize / rootValue\n if (config.unitPrecision >= 0 && config.unitPrecision <= 100) {\n val = Number(val.toFixed(config.unitPrecision))\n }\n return val + config.targetUnit\n }\n}\n","/* eslint-disable camelcase */\nimport './polyfill'\n\nimport {\n Current,\n eventCenter,\n Events,\n getCurrentInstance,\n nextTick,\n options\n} from '@tarojs/runtime'\n\nimport { ENV_TYPE, getEnv } from './env'\nimport Link from './interceptor'\nimport * as interceptors from './interceptor/interceptors'\nimport {\n Behavior,\n getInitPxTransform,\n getPreload,\n getPxTransform\n} from './tools'\n\nconst Taro = {\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n Current,\n getCurrentInstance,\n options,\n nextTick,\n eventCenter,\n Events,\n getInitPxTransform\n}\n\nTaro.initPxTransform = getInitPxTransform(Taro)\nTaro.preload = getPreload(Current)\nTaro.pxTransform = getPxTransform(Taro)\n\nexport default Taro\n"],"names":["isFunction","x","isUndefined","isObject","_typeof","isBadObj","throwTypeError","s","TypeError","Object","assign","target","to","index","arguments","length","nextSource","nextKey","prototype","hasOwnProperty","call","defineProperties","obj","properties","convertToDescriptor","desc","hasProperty","prop","d","enumerable","configurable","value","writable","g","get","set","keys","descs","i","push","defineProperty","DEFAULT_EMPTY_ARRAY","NO_DEFAULT_VALUE","DEFAULT_TRUE","DEFAULT_FALSE","bindTouchStart","bindTouchMove","bindTouchEnd","bindTouchCancel","bindLongTap","animation","bindAnimationStart","bindAnimationIteration","bindAnimationEnd","bindTransitionEnd","singleQuote","touchEvents","longitude","latitude","scale","markers","covers","polyline","circles","controls","bindMarkerTap","bindControlTap","bindCalloutTap","bindUpdated","size","type","plain","disabled","loading","name","direction","inertia","y","damping","friction","bindChange","bindScale","bindHTouchMove","bindVTouchMove","width","height","bindScrollToUpper","bindScrollToLower","bindScroll","autoplay","current","interval","duration","circular","vertical","bindTransition","bindAnimationFinish","src","mode","bindError","bindLoad","muted","orientation","bindStateChange","bindFullScreenChange","bindNetStatus","loop","poster","bindPlay","bindPause","bindEnded","bindTimeUpdate","bindWaiting","ENV_TYPE","WEAPP","SWAN","ALIPAY","TT","QQ","JD","WEB","RN","HARMONY","QUICKAPP","isWeb","isWebPlatform","getEnv","process","env","TARO_ENV","Chain","requestParams","interceptors","_classCallCheck","_createClass","Error","nextInterceptor","_getNextInterceptor","nextChain","_getNextChain","p","res","catch","err","Promise","reject","forEach","k","Link","interceptor","taroInterceptor","chain","filter","concat","proceed","_objectSpread","timeoutInterceptor","resolve","timeout","setTimeout","then","clearTimeout","abort","logInterceptor","method","data","url","NODE_ENV","console","log","Behavior","options","getPreload","key","val","preloadData","_defineProperty","defaultDesignWidth","defaultDesignRatio","defaultBaseFontSize","defaultUnitPrecision","defaultTargetUnit","getInitPxTransform","taro","config","designWidth","deviceRatio","baseFontSize","targetUnit","unitPrecision","getPxTransform","input","formatSize","rootValue","Number","toFixed","Taro","Current","getCurrentInstance","nextTick","eventCenter","Events","initPxTransform","preload","pxTransform"],"mappings":"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"}
package/dist/taro.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"taro.js","sources":["../src/utils.js","../src/polyfill.js","../../shared/dist/shared.esm.js","../src/env.js","../src/interceptor/chain.js","../src/interceptor/index.js","../src/interceptor/interceptors.js","../src/tools.js","../src/index.js"],"sourcesContent":["export function isFunction (x) {\n return typeof x === 'function'\n}\n\nexport function isUndefined (x) {\n return typeof x === 'undefined'\n}\n\nexport function isObject (x) {\n return x && typeof x === 'object'\n}\n","import { isFunction, isObject, isUndefined } from './utils'\n\nconst isBadObj = (x) => !isObject(x)\n\nfunction throwTypeError (s) {\n throw new TypeError(s)\n}\n\nif (!isFunction(Object.assign)) {\n // Must be writable: true, enumerable: false, configurable: true\n Object.assign = function (target) { // .length of function is 2\n if (target == null) { // TypeError if undefined or null\n throwTypeError('Cannot convert undefined or null to object')\n }\n\n const to = Object(target)\n\n for (let index = 1; index < arguments.length; index++) {\n const nextSource = arguments[index]\n\n if (nextSource != null) { // Skip over if undefined or null\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey]\n }\n }\n }\n }\n return to\n }\n}\n\nif (!isFunction(Object.defineProperties)) {\n Object.defineProperties = function (obj, properties) {\n function convertToDescriptor (desc) {\n function hasProperty (obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop)\n }\n\n if (isBadObj(desc)) { throwTypeError('bad desc') }\n\n const d = {}\n\n if (hasProperty(desc, 'enumerable')) d.enumerable = !!desc.enumerable\n if (hasProperty(desc, 'configurable')) { d.configurable = !!desc.configurable }\n if (hasProperty(desc, 'value')) d.value = desc.value\n if (hasProperty(desc, 'writable')) d.writable = !!desc.writable\n if (hasProperty(desc, 'get')) {\n const g = desc.get\n\n if (!isFunction(g) && !isUndefined(g)) { throwTypeError('bad get') }\n d.get = g\n }\n if (hasProperty(desc, 'set')) {\n const s = desc.set\n if (!isFunction(s) && !isUndefined(s)) { throwTypeError('bad set') }\n d.set = s\n }\n\n if (('get' in d || 'set' in d) && ('value' in d || 'writable' in d)) { throwTypeError('identity-confused descriptor') }\n\n return d\n }\n\n if (isBadObj(obj)) throwTypeError('bad obj')\n\n properties = Object(properties)\n\n const keys = Object.keys(properties)\n const descs = []\n\n for (let i = 0; i < keys.length; i++) {\n descs.push([keys[i], convertToDescriptor(properties[keys[i]])])\n }\n\n for (let i = 0; i < descs.length; i++) {\n Object.defineProperty(obj, descs[i][0], descs[i][1])\n }\n\n return obj\n }\n}\n","const DEFAULT_EMPTY_ARRAY = '[]';\nconst NO_DEFAULT_VALUE = '';\nconst DEFAULT_TRUE = '!0';\nconst DEFAULT_FALSE = '!1';\nconst touchEvents = {\n bindTouchStart: NO_DEFAULT_VALUE,\n bindTouchMove: NO_DEFAULT_VALUE,\n bindTouchEnd: NO_DEFAULT_VALUE,\n bindTouchCancel: NO_DEFAULT_VALUE,\n bindLongTap: NO_DEFAULT_VALUE\n};\nconst animation = {\n animation: NO_DEFAULT_VALUE,\n bindAnimationStart: NO_DEFAULT_VALUE,\n bindAnimationIteration: NO_DEFAULT_VALUE,\n bindAnimationEnd: NO_DEFAULT_VALUE,\n bindTransitionEnd: NO_DEFAULT_VALUE\n};\nfunction singleQuote(s) {\n return `'${s}'`;\n}\nconst View = Object.assign(Object.assign({ 'hover-class': singleQuote('none'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '50', 'hover-stay-time': '400' }, touchEvents), animation);\nconst Icon = {\n type: NO_DEFAULT_VALUE,\n size: '23',\n color: NO_DEFAULT_VALUE\n};\nconst MapComp = Object.assign({ longitude: NO_DEFAULT_VALUE, latitude: NO_DEFAULT_VALUE, scale: '16', markers: DEFAULT_EMPTY_ARRAY, covers: NO_DEFAULT_VALUE, polyline: DEFAULT_EMPTY_ARRAY, circles: DEFAULT_EMPTY_ARRAY, controls: DEFAULT_EMPTY_ARRAY, 'include-points': DEFAULT_EMPTY_ARRAY, 'show-location': NO_DEFAULT_VALUE, 'layer-style': '1', bindMarkerTap: NO_DEFAULT_VALUE, bindControlTap: NO_DEFAULT_VALUE, bindCalloutTap: NO_DEFAULT_VALUE, bindUpdated: NO_DEFAULT_VALUE }, touchEvents);\nconst Progress = {\n percent: NO_DEFAULT_VALUE,\n 'stroke-width': '6',\n color: singleQuote('#09BB07'),\n activeColor: singleQuote('#09BB07'),\n backgroundColor: singleQuote('#EBEBEB'),\n active: DEFAULT_FALSE,\n 'active-mode': singleQuote('backwards'),\n 'show-info': DEFAULT_FALSE\n};\nconst RichText = {\n nodes: DEFAULT_EMPTY_ARRAY\n};\nconst Text = {\n selectable: DEFAULT_FALSE,\n space: NO_DEFAULT_VALUE,\n decode: DEFAULT_FALSE\n};\nconst Button = Object.assign({ size: singleQuote('default'), type: NO_DEFAULT_VALUE, plain: DEFAULT_FALSE, disabled: NO_DEFAULT_VALUE, loading: DEFAULT_FALSE, 'form-type': NO_DEFAULT_VALUE, 'open-type': NO_DEFAULT_VALUE, 'hover-class': singleQuote('button-hover'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '20', 'hover-stay-time': '70', name: NO_DEFAULT_VALUE }, touchEvents);\nconst Checkbox = {\n value: NO_DEFAULT_VALUE,\n disabled: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst CheckboxGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Form = {\n 'report-submit': DEFAULT_FALSE,\n bindSubmit: NO_DEFAULT_VALUE,\n bindReset: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Input = {\n value: NO_DEFAULT_VALUE,\n type: singleQuote(NO_DEFAULT_VALUE),\n password: DEFAULT_FALSE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('input-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'cursor-spacing': '0',\n focus: DEFAULT_FALSE,\n 'confirm-type': singleQuote('done'),\n 'confirm-hold': DEFAULT_FALSE,\n cursor: 'i.value.length',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindInput: NO_DEFAULT_VALUE,\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Label = {\n for: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Picker = {\n mode: singleQuote('selector'),\n disabled: NO_DEFAULT_VALUE,\n range: NO_DEFAULT_VALUE,\n 'range-key': NO_DEFAULT_VALUE,\n value: NO_DEFAULT_VALUE,\n start: NO_DEFAULT_VALUE,\n end: NO_DEFAULT_VALUE,\n fields: singleQuote('day'),\n 'custom-item': NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n bindCancel: NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n bindColumnChange: NO_DEFAULT_VALUE\n};\nconst PickerView = {\n value: NO_DEFAULT_VALUE,\n 'indicator-style': NO_DEFAULT_VALUE,\n 'indicator-class': NO_DEFAULT_VALUE,\n 'mask-style': NO_DEFAULT_VALUE,\n 'mask-class': NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst PickerViewColumn = {\n name: NO_DEFAULT_VALUE\n};\nconst Radio = {\n value: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst RadioGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Slider = {\n min: '0',\n max: '100',\n step: '1',\n disabled: NO_DEFAULT_VALUE,\n value: '0',\n activeColor: singleQuote('#1aad19'),\n backgroundColor: singleQuote('#e9e9e9'),\n 'block-size': '28',\n 'block-color': singleQuote('#ffffff'),\n 'show-value': DEFAULT_FALSE,\n bindChange: NO_DEFAULT_VALUE,\n bindChanging: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Switch = {\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n type: singleQuote('switch'),\n color: singleQuote('#04BE02'),\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Textarea = {\n value: NO_DEFAULT_VALUE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('textarea-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'auto-focus': DEFAULT_FALSE,\n focus: DEFAULT_FALSE,\n 'auto-height': DEFAULT_FALSE,\n fixed: DEFAULT_FALSE,\n 'cursor-spacing': '0',\n cursor: '-1',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindLineChange: NO_DEFAULT_VALUE,\n bindInput: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst CoverImage = {\n src: NO_DEFAULT_VALUE,\n bindLoad: 'eh',\n bindError: 'eh'\n};\nconst CoverView = Object.assign({ 'scroll-top': DEFAULT_FALSE }, touchEvents);\nconst MovableArea = {\n 'scale-area': DEFAULT_FALSE\n};\nconst MovableView = Object.assign(Object.assign({ direction: 'none', inertia: DEFAULT_FALSE, 'out-of-bounds': DEFAULT_FALSE, x: NO_DEFAULT_VALUE, y: NO_DEFAULT_VALUE, damping: '20', friction: '2', disabled: NO_DEFAULT_VALUE, scale: DEFAULT_FALSE, 'scale-min': '0.5', 'scale-max': '10', 'scale-value': '1', bindChange: NO_DEFAULT_VALUE, bindScale: NO_DEFAULT_VALUE, bindHTouchMove: NO_DEFAULT_VALUE, bindVTouchMove: NO_DEFAULT_VALUE, width: singleQuote('10px'), height: singleQuote('10px') }, touchEvents), animation);\nconst ScrollView = Object.assign(Object.assign({ 'scroll-x': DEFAULT_FALSE, 'scroll-y': DEFAULT_FALSE, 'upper-threshold': '50', 'lower-threshold': '50', 'scroll-top': NO_DEFAULT_VALUE, 'scroll-left': NO_DEFAULT_VALUE, 'scroll-into-view': NO_DEFAULT_VALUE, 'scroll-with-animation': DEFAULT_FALSE, 'enable-back-to-top': DEFAULT_FALSE, bindScrollToUpper: NO_DEFAULT_VALUE, bindScrollToLower: NO_DEFAULT_VALUE, bindScroll: NO_DEFAULT_VALUE }, touchEvents), animation);\nconst Swiper = Object.assign({ 'indicator-dots': DEFAULT_FALSE, 'indicator-color': singleQuote('rgba(0, 0, 0, .3)'), 'indicator-active-color': singleQuote('#000000'), autoplay: DEFAULT_FALSE, current: '0', interval: '5000', duration: '500', circular: DEFAULT_FALSE, vertical: DEFAULT_FALSE, 'previous-margin': singleQuote('0px'), 'next-margin': singleQuote('0px'), 'display-multiple-items': '1', bindChange: NO_DEFAULT_VALUE, bindTransition: NO_DEFAULT_VALUE, bindAnimationFinish: NO_DEFAULT_VALUE }, touchEvents);\nconst SwiperItem = {\n 'item-id': NO_DEFAULT_VALUE\n};\nconst Navigator = {\n url: NO_DEFAULT_VALUE,\n 'open-type': singleQuote('navigate'),\n delta: '1',\n 'hover-class': singleQuote('navigator-hover'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '50',\n 'hover-stay-time': '600',\n bindSuccess: NO_DEFAULT_VALUE,\n bindFail: NO_DEFAULT_VALUE,\n bindComplete: NO_DEFAULT_VALUE\n};\nconst Audio = {\n id: NO_DEFAULT_VALUE,\n src: NO_DEFAULT_VALUE,\n loop: DEFAULT_FALSE,\n controls: DEFAULT_FALSE,\n poster: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n author: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindPlay: NO_DEFAULT_VALUE,\n bindPause: NO_DEFAULT_VALUE,\n bindTimeUpdate: NO_DEFAULT_VALUE,\n bindEnded: NO_DEFAULT_VALUE\n};\nconst Camera = {\n 'device-position': singleQuote('back'),\n flash: singleQuote('auto'),\n bindStop: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Image = Object.assign({ src: NO_DEFAULT_VALUE, mode: singleQuote('scaleToFill'), 'lazy-load': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE, bindLoad: NO_DEFAULT_VALUE }, touchEvents);\nconst LivePlayer = Object.assign({ src: NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, muted: DEFAULT_FALSE, orientation: singleQuote('vertical'), 'object-fit': singleQuote('contain'), 'background-mute': DEFAULT_FALSE, 'min-cache': '1', 'max-cache': '3', bindStateChange: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindNetStatus: NO_DEFAULT_VALUE }, animation);\nconst Video = Object.assign({ src: NO_DEFAULT_VALUE, duration: NO_DEFAULT_VALUE, controls: DEFAULT_TRUE, 'danmu-list': NO_DEFAULT_VALUE, 'danmu-btn': NO_DEFAULT_VALUE, 'enable-danmu': NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, loop: DEFAULT_FALSE, muted: DEFAULT_FALSE, 'initial-time': '0', 'page-gesture': DEFAULT_FALSE, direction: NO_DEFAULT_VALUE, 'show-progress': DEFAULT_TRUE, 'show-fullscreen-btn': DEFAULT_TRUE, 'show-play-btn': DEFAULT_TRUE, 'show-center-play-btn': DEFAULT_TRUE, 'enable-progress-gesture': DEFAULT_TRUE, 'object-fit': singleQuote('contain'), poster: NO_DEFAULT_VALUE, 'show-mute-btn': DEFAULT_FALSE, bindPlay: NO_DEFAULT_VALUE, bindPause: NO_DEFAULT_VALUE, bindEnded: NO_DEFAULT_VALUE, bindTimeUpdate: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindWaiting: NO_DEFAULT_VALUE, bindError: NO_DEFAULT_VALUE }, animation);\nconst Canvas = Object.assign({ 'canvas-id': NO_DEFAULT_VALUE, 'disable-scroll': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE }, touchEvents);\nconst Ad = {\n 'unit-id': NO_DEFAULT_VALUE,\n 'ad-intervals': NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindClose: NO_DEFAULT_VALUE\n};\nconst WebView = {\n src: NO_DEFAULT_VALUE,\n bindMessage: NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Block = {};\n// For Vue,因为 slot 标签被 vue 占用了\nconst SlotView = {\n name: NO_DEFAULT_VALUE\n};\n// For React\n// Slot 和 SlotView 最终都会编译成 <view slot={{ i.name }} />\n// 因为 <slot name=\"{{ i.name }}\" /> 适用性没有前者高(无法添加类和样式)\n// 不给 View 直接加 slot 属性的原因是性能损耗\nconst Slot = {\n name: NO_DEFAULT_VALUE\n};\nconst NativeSlot = {\n name: NO_DEFAULT_VALUE\n};\nconst internalComponents = {\n View,\n Icon,\n Progress,\n RichText,\n Text,\n Button,\n Checkbox,\n CheckboxGroup,\n Form,\n Input,\n Label,\n Picker,\n PickerView,\n PickerViewColumn,\n Radio,\n RadioGroup,\n Slider,\n Switch,\n CoverImage,\n Textarea,\n CoverView,\n MovableArea,\n MovableView,\n ScrollView,\n Swiper,\n SwiperItem,\n Navigator,\n Audio,\n Camera,\n Image,\n LivePlayer,\n Video,\n Canvas,\n Ad,\n WebView,\n Block,\n Map: MapComp,\n Slot,\n SlotView,\n NativeSlot,\n};\nconst controlledComponent = new Set([\n 'input',\n 'checkbox',\n 'picker',\n 'picker-view',\n 'radio',\n 'slider',\n 'switch',\n 'textarea'\n]);\nconst focusComponents = new Set([\n 'input',\n 'textarea'\n]);\nconst voidElements = new Set([\n 'progress',\n 'icon',\n 'rich-text',\n 'input',\n 'textarea',\n 'slider',\n 'switch',\n 'audio',\n 'ad',\n 'official-account',\n 'open-data',\n 'navigation-bar'\n]);\nconst nestElements = new Map([\n ['view', -1],\n ['catch-view', -1],\n ['cover-view', -1],\n ['static-view', -1],\n ['pure-view', -1],\n ['block', -1],\n ['text', -1],\n ['static-text', 6],\n ['slot', 8],\n ['slot-view', 8],\n ['label', 6],\n ['form', 4],\n ['scroll-view', 4],\n ['swiper', 4],\n ['swiper-item', 4]\n]);\n\nvar PLATFORM_TYPE;\n(function (PLATFORM_TYPE) {\n PLATFORM_TYPE[\"MINI\"] = \"mini\";\n PLATFORM_TYPE[\"WEB\"] = \"web\";\n PLATFORM_TYPE[\"RN\"] = \"rn\";\n PLATFORM_TYPE[\"HARMONY\"] = \"harmony\";\n PLATFORM_TYPE[\"QUICK\"] = \"quickapp\";\n})(PLATFORM_TYPE || (PLATFORM_TYPE = {}));\nconst PLATFORM_CONFIG_MAP = {\n h5: {\n type: PLATFORM_TYPE.WEB\n },\n harmony: {\n type: PLATFORM_TYPE.HARMONY\n },\n mini: {\n type: PLATFORM_TYPE.MINI\n },\n rn: {\n type: PLATFORM_TYPE.RN\n },\n quickapp: {\n type: PLATFORM_TYPE.QUICK\n }\n};\n\nclass Events {\n constructor(opts) {\n var _a;\n this.callbacks = (_a = opts === null || opts === void 0 ? void 0 : opts.callbacks) !== null && _a !== void 0 ? _a : {};\n }\n on(eventName, callback, context) {\n let event, node, tail, list;\n if (!callback) {\n return this;\n }\n eventName = eventName.split(Events.eventSplitter);\n this.callbacks || (this.callbacks = {});\n const calls = this.callbacks;\n while ((event = eventName.shift())) {\n list = calls[event];\n node = list ? list.tail : {};\n node.next = tail = {};\n node.context = context;\n node.callback = callback;\n calls[event] = {\n tail,\n next: list ? list.next : node\n };\n }\n return this;\n }\n once(events, callback, context) {\n const wrapper = (...args) => {\n callback.apply(this, args);\n this.off(events, wrapper, context);\n };\n this.on(events, wrapper, context);\n return this;\n }\n off(events, callback, context) {\n let event, calls, node, tail, cb, ctx;\n if (!(calls = this.callbacks)) {\n return this;\n }\n if (!(events || callback || context)) {\n delete this.callbacks;\n return this;\n }\n events = events ? events.split(Events.eventSplitter) : Object.keys(calls);\n while ((event = events.shift())) {\n node = calls[event];\n delete calls[event];\n if (!node || !(callback || context)) {\n continue;\n }\n tail = node.tail;\n while ((node = node.next) !== tail) {\n cb = node.callback;\n ctx = node.context;\n if ((callback && cb !== callback) || (context && ctx !== context)) {\n this.on(event, cb, ctx);\n }\n }\n }\n return this;\n }\n trigger(events) {\n let event, node, calls, tail;\n if (!(calls = this.callbacks)) {\n return this;\n }\n events = events.split(Events.eventSplitter);\n const rest = [].slice.call(arguments, 1);\n while ((event = events.shift())) {\n if ((node = calls[event])) {\n tail = node.tail;\n while ((node = node.next) !== tail) {\n node.callback.apply(node.context || this, rest);\n }\n }\n }\n return this;\n }\n}\nEvents.eventSplitter = ','; // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\\s+/\n\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isUndefined(o) {\n return typeof o === 'undefined';\n}\nfunction isNull(o) {\n return o === null;\n}\nfunction isObject(o) {\n return o !== null && typeof o === 'object';\n}\nfunction isBoolean(o) {\n return o === true || o === false;\n}\nfunction isFunction(o) {\n return typeof o === 'function';\n}\nfunction isNumber(o) {\n return typeof o === 'number';\n}\nfunction isBooleanStringLiteral(o) {\n return o === 'true' || o === 'false';\n}\nconst isArray = Array.isArray;\nconst isWebPlatform = () => process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web';\n\nvar HOOK_TYPE;\n(function (HOOK_TYPE) {\n HOOK_TYPE[HOOK_TYPE[\"SINGLE\"] = 0] = \"SINGLE\";\n HOOK_TYPE[HOOK_TYPE[\"MULTI\"] = 1] = \"MULTI\";\n HOOK_TYPE[HOOK_TYPE[\"WATERFALL\"] = 2] = \"WATERFALL\";\n})(HOOK_TYPE || (HOOK_TYPE = {}));\nconst defaultMiniLifecycle = {\n app: [\n 'onLaunch',\n 'onShow',\n 'onHide'\n ],\n page: [\n 'onLoad',\n 'onUnload',\n 'onReady',\n 'onShow',\n 'onHide',\n [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap',\n 'onTitleClick',\n 'onOptionMenuClick',\n 'onPopMenuClick',\n 'onPullIntercept',\n 'onAddToFavorites'\n ],\n [\n 'onShareAppMessage',\n 'onShareTimeline'\n ]\n ],\n component: [\n 'attached',\n 'detached'\n ]\n};\nfunction TaroHook(type, initial) {\n return {\n type,\n initial: initial || null\n };\n}\nclass TaroHooks extends Events {\n constructor(hooks, opts) {\n super(opts);\n this.hooks = hooks;\n for (const hookName in hooks) {\n const { initial } = hooks[hookName];\n if (isFunction(initial)) {\n this.on(hookName, initial);\n }\n }\n }\n tapOneOrMany(hookName, callback) {\n const list = isFunction(callback) ? [callback] : callback;\n list.forEach(cb => this.on(hookName, cb));\n }\n tap(hookName, callback) {\n const hooks = this.hooks;\n const { type, initial } = hooks[hookName];\n if (type === HOOK_TYPE.SINGLE) {\n this.off(hookName);\n this.on(hookName, isFunction(callback) ? callback : callback[callback.length - 1]);\n }\n else {\n initial && this.off(hookName, initial);\n this.tapOneOrMany(hookName, callback);\n }\n }\n call(hookName, ...rest) {\n var _a;\n const hook = this.hooks[hookName];\n if (!hook)\n return;\n const { type } = hook;\n const calls = this.callbacks;\n if (!calls)\n return;\n const list = calls[hookName];\n if (list) {\n const tail = list.tail;\n let node = list.next;\n let args = rest;\n let res;\n while (node !== tail) {\n res = (_a = node.callback) === null || _a === void 0 ? void 0 : _a.apply(node.context || this, args);\n if (type === HOOK_TYPE.WATERFALL) {\n const params = [res];\n args = params;\n }\n node = node.next;\n }\n return res;\n }\n }\n isExist(hookName) {\n var _a;\n return Boolean((_a = this.callbacks) === null || _a === void 0 ? void 0 : _a[hookName]);\n }\n}\nconst hooks = new TaroHooks({\n getMiniLifecycle: TaroHook(HOOK_TYPE.SINGLE, defaultConfig => defaultConfig),\n getMiniLifecycleImpl: TaroHook(HOOK_TYPE.SINGLE, function () {\n return this.call('getMiniLifecycle', defaultMiniLifecycle);\n }),\n getLifecycle: TaroHook(HOOK_TYPE.SINGLE, (instance, lifecycle) => instance[lifecycle]),\n getPathIndex: TaroHook(HOOK_TYPE.SINGLE, indexOfNode => `[${indexOfNode}]`),\n getEventCenter: TaroHook(HOOK_TYPE.SINGLE, Events => new Events()),\n isBubbleEvents: TaroHook(HOOK_TYPE.SINGLE, eventName => {\n /**\n * 支持冒泡的事件, 除 支付宝小程序外,其余的可冒泡事件都和微信保持一致\n * 详见 见 https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html\n */\n const BUBBLE_EVENTS = new Set([\n 'touchstart',\n 'touchmove',\n 'touchcancel',\n 'touchend',\n 'touchforcechange',\n 'tap',\n 'longpress',\n 'longtap',\n 'transitionend',\n 'animationstart',\n 'animationiteration',\n 'animationend'\n ]);\n return BUBBLE_EVENTS.has(eventName);\n }),\n getSpecialNodes: TaroHook(HOOK_TYPE.SINGLE, () => ['view', 'text', 'image']),\n onRemoveAttribute: TaroHook(HOOK_TYPE.SINGLE),\n batchedEventUpdates: TaroHook(HOOK_TYPE.SINGLE),\n mergePageInstance: TaroHook(HOOK_TYPE.SINGLE),\n modifyPageObject: TaroHook(HOOK_TYPE.SINGLE),\n createPullDownComponent: TaroHook(HOOK_TYPE.SINGLE),\n getDOMNode: TaroHook(HOOK_TYPE.SINGLE),\n modifyHydrateData: TaroHook(HOOK_TYPE.SINGLE),\n modifySetAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n modifyRmAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n onAddEvent: TaroHook(HOOK_TYPE.SINGLE),\n modifyMpEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyMpEventImpl: TaroHook(HOOK_TYPE.SINGLE, function (e) {\n try {\n // 有些小程序的事件对象的某些属性只读\n this.call('modifyMpEvent', e);\n }\n catch (error) {\n console.warn('[Taro modifyMpEvent hook Error]: ' + (error === null || error === void 0 ? void 0 : error.message));\n }\n }),\n modifyTaroEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyDispatchEvent: TaroHook(HOOK_TYPE.MULTI),\n initNativeApi: TaroHook(HOOK_TYPE.MULTI),\n patchElement: TaroHook(HOOK_TYPE.MULTI)\n});\n\nconst EMPTY_OBJ = {};\nconst EMPTY_ARR = [];\nconst noop = (..._) => { };\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param v Value.\n * @returns Boxed value.\n */\nconst box = (v) => ({ v });\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param b Boxed value.\n * @returns Value.\n */\nconst unbox = (b) => b.v;\nfunction toDashed(s) {\n return s.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction toCamelCase(s) {\n let camel = '';\n let nextCap = false;\n for (let i = 0; i < s.length; i++) {\n if (s[i] !== '-') {\n camel += nextCap ? s[i].toUpperCase() : s[i];\n nextCap = false;\n }\n else {\n nextCap = true;\n }\n }\n return camel;\n}\nconst toKebabCase = function (string) {\n return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n};\nfunction capitalize(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\n/**\n * ensure takes a condition and throw a error if the condition fails,\n * like failure::ensure: https://docs.rs/failure/0.1.1/failure/macro.ensure.html\n * @param condition condition.\n * @param msg error message.\n */\nfunction ensure(condition, msg) {\n if (!condition) {\n if (process.env.NODE_ENV !== 'production') {\n const reportIssue = '\\n如有疑问,请提交 issue 至:https://github.com/nervjs/taro/issues';\n throw new Error(msg + reportIssue);\n }\n else {\n throw new Error(msg);\n }\n }\n}\nfunction warn(condition, msg) {\n if (process.env.NODE_ENV !== 'production') {\n if (condition) {\n console.warn(`[taro warn] ${msg}`);\n }\n }\n}\nfunction queryToJson(str) {\n const dec = decodeURIComponent;\n const qp = str.split('&');\n const ret = {};\n let name;\n let val;\n for (let i = 0, l = qp.length, item; i < l; ++i) {\n item = qp[i];\n if (item.length) {\n const s = item.indexOf('=');\n if (s < 0) {\n name = dec(item);\n val = '';\n }\n else {\n name = dec(item.slice(0, s));\n val = dec(item.slice(s + 1));\n }\n if (typeof ret[name] === 'string') { // inline'd type check\n ret[name] = [ret[name]];\n }\n if (Array.isArray(ret[name])) {\n ret[name].push(val);\n }\n else {\n ret[name] = val;\n }\n }\n }\n return ret; // Object\n}\nlet _uniqueId = 1;\nconst _loadTime = (new Date()).getTime().toString();\nfunction getUniqueKey() {\n return _loadTime + (_uniqueId++);\n}\nconst cacheData = {};\nfunction cacheDataSet(key, val) {\n cacheData[key] = val;\n}\nfunction cacheDataGet(key, delelteAfterGet) {\n const temp = cacheData[key];\n delelteAfterGet && delete cacheData[key];\n return temp;\n}\nfunction cacheDataHas(key) {\n return key in cacheData;\n}\nfunction mergeInternalComponents(components) {\n Object.keys(components).forEach(name => {\n if (name in internalComponents) {\n Object.assign(internalComponents[name], components[name]);\n }\n else {\n internalComponents[name] = components[name];\n }\n });\n return internalComponents;\n}\nfunction getComponentsAlias(origin) {\n const mapping = {};\n const viewAttrs = origin.View;\n const extraList = {\n '#text': {},\n StaticView: viewAttrs,\n StaticImage: origin.Image,\n StaticText: origin.Text,\n PureView: viewAttrs,\n CatchView: viewAttrs\n };\n origin = Object.assign(Object.assign({}, origin), extraList);\n Object.keys(origin)\n .sort((a, b) => {\n const reg = /^(Static|Pure|Catch)*(View|Image|Text)$/;\n const isACommonly = reg.test(a);\n const isBCommonly = reg.test(b);\n if (isACommonly && isBCommonly) {\n return a > b ? 1 : -1;\n }\n else if (isACommonly) {\n return -1;\n }\n else if (isBCommonly) {\n return 1;\n }\n else {\n return a >= b ? 1 : -1;\n }\n })\n .forEach((key, num) => {\n const obj = {\n _num: String(num)\n };\n Object.keys(origin[key])\n .filter(attr => !(/^bind/.test(attr)) && !['focus', 'blur'].includes(attr))\n .sort()\n .forEach((attr, index) => {\n obj[toCamelCase(attr)] = 'p' + index;\n });\n mapping[toDashed(key)] = obj;\n });\n return mapping;\n}\nfunction getPlatformType(platform = 'weapp', configNameOrType = PLATFORM_TYPE.MINI) {\n if (Object.keys(PLATFORM_CONFIG_MAP).includes(platform)) {\n configNameOrType = platform;\n }\n const param = PLATFORM_CONFIG_MAP[configNameOrType] || {};\n return param.type || configNameOrType;\n}\nfunction mergeReconciler(hostConfig, hooksForTest) {\n const obj = hooksForTest || hooks;\n const keys = Object.keys(hostConfig);\n keys.forEach(key => {\n obj.tap(key, hostConfig[key]);\n });\n}\nfunction nonsupport(api) {\n return function () {\n console.warn(`小程序暂不支持 ${api}`);\n };\n}\nfunction setUniqueKeyToRoute(key, obj) {\n const routerParamsPrivateKey = '__key_';\n const useDataCacheApis = [\n 'navigateTo',\n 'redirectTo',\n 'reLaunch',\n 'switchTab'\n ];\n if (useDataCacheApis.indexOf(key) > -1) {\n const url = obj.url = obj.url || '';\n const hasMark = url.indexOf('?') > -1;\n const cacheKey = getUniqueKey();\n obj.url += (hasMark ? '&' : '?') + `${routerParamsPrivateKey}=${cacheKey}`;\n }\n}\nfunction indent(str, size) {\n return str.split('\\n')\n .map((line, index) => {\n const indent = index === 0 ? '' : Array(size).fill(' ').join('');\n return indent + line;\n })\n .join('\\n');\n}\n\nconst needPromiseApis = new Set([\n 'addPhoneContact',\n 'authorize',\n 'canvasGetImageData',\n 'canvasPutImageData',\n 'canvasToTempFilePath',\n 'checkSession',\n 'chooseAddress',\n 'chooseImage',\n 'chooseInvoiceTitle',\n 'chooseLocation',\n 'chooseVideo',\n 'clearStorage',\n 'closeBLEConnection',\n 'closeBluetoothAdapter',\n 'closeSocket',\n 'compressImage',\n 'connectSocket',\n 'createBLEConnection',\n 'downloadFile',\n 'exitMiniProgram',\n 'getAvailableAudioSources',\n 'getBLEDeviceCharacteristics',\n 'getBLEDeviceServices',\n 'getBatteryInfo',\n 'getBeacons',\n 'getBluetoothAdapterState',\n 'getBluetoothDevices',\n 'getClipboardData',\n 'getConnectedBluetoothDevices',\n 'getConnectedWifi',\n 'getExtConfig',\n 'getFileInfo',\n 'getImageInfo',\n 'getLocation',\n 'getNetworkType',\n 'getSavedFileInfo',\n 'getSavedFileList',\n 'getScreenBrightness',\n 'getSetting',\n 'getStorage',\n 'getStorageInfo',\n 'getSystemInfo',\n 'getUserInfo',\n 'getWifiList',\n 'hideHomeButton',\n 'hideShareMenu',\n 'hideTabBar',\n 'hideTabBarRedDot',\n 'loadFontFace',\n 'login',\n 'makePhoneCall',\n 'navigateBack',\n 'navigateBackMiniProgram',\n 'navigateTo',\n 'navigateToBookshelf',\n 'navigateToMiniProgram',\n 'notifyBLECharacteristicValueChange',\n 'hideKeyboard',\n 'hideLoading',\n 'hideNavigationBarLoading',\n 'hideToast',\n 'openBluetoothAdapter',\n 'openDocument',\n 'openLocation',\n 'openSetting',\n 'pageScrollTo',\n 'previewImage',\n 'queryBookshelf',\n 'reLaunch',\n 'readBLECharacteristicValue',\n 'redirectTo',\n 'removeSavedFile',\n 'removeStorage',\n 'removeTabBarBadge',\n 'requestSubscribeMessage',\n 'saveFile',\n 'saveImageToPhotosAlbum',\n 'saveVideoToPhotosAlbum',\n 'scanCode',\n 'sendSocketMessage',\n 'setBackgroundColor',\n 'setBackgroundTextStyle',\n 'setClipboardData',\n 'setEnableDebug',\n 'setInnerAudioOption',\n 'setKeepScreenOn',\n 'setNavigationBarColor',\n 'setNavigationBarTitle',\n 'setScreenBrightness',\n 'setStorage',\n 'setTabBarBadge',\n 'setTabBarItem',\n 'setTabBarStyle',\n 'showActionSheet',\n 'showFavoriteGuide',\n 'showLoading',\n 'showModal',\n 'showShareMenu',\n 'showTabBar',\n 'showTabBarRedDot',\n 'showToast',\n 'startBeaconDiscovery',\n 'startBluetoothDevicesDiscovery',\n 'startDeviceMotionListening',\n 'startPullDownRefresh',\n 'stopBeaconDiscovery',\n 'stopBluetoothDevicesDiscovery',\n 'stopCompass',\n 'startCompass',\n 'startAccelerometer',\n 'stopAccelerometer',\n 'showNavigationBarLoading',\n 'stopDeviceMotionListening',\n 'stopPullDownRefresh',\n 'switchTab',\n 'uploadFile',\n 'vibrateLong',\n 'vibrateShort',\n 'writeBLECharacteristicValue'\n]);\nfunction getCanIUseWebp(taro) {\n return function () {\n var _a;\n const res = (_a = taro.getSystemInfoSync) === null || _a === void 0 ? void 0 : _a.call(taro);\n if (!res) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('不支持 API canIUseWebp');\n }\n return false;\n }\n const { platform } = res;\n const platformLower = platform.toLowerCase();\n if (platformLower === 'android' || platformLower === 'devtools') {\n return true;\n }\n return false;\n };\n}\nfunction getNormalRequest(global) {\n return function request(options) {\n options = options\n ? (isString(options)\n ? { url: options }\n : options)\n : {};\n const originSuccess = options.success;\n const originFail = options.fail;\n const originComplete = options.complete;\n let requestTask;\n const p = new Promise((resolve, reject) => {\n options.success = res => {\n originSuccess && originSuccess(res);\n resolve(res);\n };\n options.fail = res => {\n originFail && originFail(res);\n reject(res);\n };\n options.complete = res => {\n originComplete && originComplete(res);\n };\n requestTask = global.request(options);\n });\n equipTaskMethodsIntoPromise(requestTask, p);\n p.abort = (cb) => {\n cb && cb();\n if (requestTask) {\n requestTask.abort();\n }\n return p;\n };\n return p;\n };\n}\nfunction processApis(taro, global, config = {}) {\n const patchNeedPromiseApis = config.needPromiseApis || [];\n const _needPromiseApis = new Set([...patchNeedPromiseApis, ...needPromiseApis]);\n const preserved = [\n 'getEnv',\n 'interceptors',\n 'Current',\n 'getCurrentInstance',\n 'options',\n 'nextTick',\n 'eventCenter',\n 'Events',\n 'preload',\n 'webpackJsonp'\n ];\n const apis = new Set(!config.isOnlyPromisify\n ? Object.keys(global).filter(api => preserved.indexOf(api) === -1)\n : patchNeedPromiseApis);\n if (config.modifyApis) {\n config.modifyApis(apis);\n }\n apis.forEach(key => {\n if (_needPromiseApis.has(key)) {\n const originKey = key;\n taro[originKey] = (options = {}, ...args) => {\n let key = originKey;\n // 第一个参数 options 为字符串,单独处理\n if (typeof options === 'string') {\n if (args.length) {\n return global[key](options, ...args);\n }\n return global[key](options);\n }\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n const transformResult = config.transformMeta(key, options);\n key = transformResult.key;\n options = transformResult.options;\n // 新 key 可能不存在\n if (!global.hasOwnProperty(key)) {\n return nonsupport(key)();\n }\n }\n let task = null;\n const obj = Object.assign({}, options);\n // 为页面跳转相关的 API 设置一个随机数作为路由参数。为了给 runtime 区分页面。\n setUniqueKeyToRoute(key, options);\n // Promise 化\n const p = new Promise((resolve, reject) => {\n obj.success = res => {\n var _a, _b;\n (_a = config.modifyAsyncResult) === null || _a === void 0 ? void 0 : _a.call(config, key, res);\n (_b = options.success) === null || _b === void 0 ? void 0 : _b.call(options, res);\n if (key === 'connectSocket') {\n resolve(Promise.resolve().then(() => task ? Object.assign(task, res) : res));\n }\n else {\n resolve(res);\n }\n };\n obj.fail = res => {\n var _a;\n (_a = options.fail) === null || _a === void 0 ? void 0 : _a.call(options, res);\n reject(res);\n };\n obj.complete = res => {\n var _a;\n (_a = options.complete) === null || _a === void 0 ? void 0 : _a.call(options, res);\n };\n if (args.length) {\n task = global[key](obj, ...args);\n }\n else {\n task = global[key](obj);\n }\n });\n // 给 promise 对象挂载属性\n if (['uploadFile', 'downloadFile'].includes(key)) {\n equipTaskMethodsIntoPromise(task, p);\n p.progress = cb => {\n task === null || task === void 0 ? void 0 : task.onProgressUpdate(cb);\n return p;\n };\n p.abort = cb => {\n cb === null || cb === void 0 ? void 0 : cb();\n task === null || task === void 0 ? void 0 : task.abort();\n return p;\n };\n }\n return p;\n };\n }\n else {\n let platformKey = key;\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n platformKey = config.transformMeta(key, {}).key;\n }\n // API 不存在\n if (!global.hasOwnProperty(platformKey)) {\n taro[key] = nonsupport(key);\n return;\n }\n if (isFunction(global[key])) {\n taro[key] = (...args) => {\n if (config.handleSyncApis) {\n return config.handleSyncApis(key, global, args);\n }\n else {\n return global[platformKey].apply(global, args);\n }\n };\n }\n else {\n taro[key] = global[platformKey];\n }\n }\n });\n !config.isOnlyPromisify && equipCommonApis(taro, global, config);\n}\n/**\n * 挂载常用 API\n * @param taro Taro 对象\n * @param global 小程序全局对象,如微信的 wx,支付宝的 my\n */\nfunction equipCommonApis(taro, global, apis = {}) {\n taro.canIUseWebp = getCanIUseWebp(taro);\n taro.getCurrentPages = getCurrentPages || nonsupport('getCurrentPages');\n taro.getApp = getApp || nonsupport('getApp');\n taro.env = global.env || {};\n try {\n taro.requirePlugin = requirePlugin || nonsupport('requirePlugin');\n }\n catch (error) {\n taro.requirePlugin = nonsupport('requirePlugin');\n }\n // request & interceptors\n const request = apis.request || getNormalRequest(global);\n function taroInterceptor(chain) {\n return request(chain.requestParams);\n }\n const link = new taro.Link(taroInterceptor);\n taro.request = link.request.bind(link);\n taro.addInterceptor = link.addInterceptor.bind(link);\n taro.cleanInterceptors = link.cleanInterceptors.bind(link);\n taro.miniGlobal = taro.options.miniGlobal = global;\n}\n/**\n * 将Task对象中的方法挂载到promise对象中,适配小程序api原生返回结果\n * @param task Task对象 {RequestTask | DownloadTask | UploadTask}\n * @param promise Promise\n */\nfunction equipTaskMethodsIntoPromise(task, promise) {\n if (!task || !promise)\n return;\n const taskMethods = ['abort', 'onHeadersReceived', 'offHeadersReceived', 'onProgressUpdate', 'offProgressUpdate', 'onChunkReceived', 'offChunkReceived'];\n task && taskMethods.forEach(method => {\n if (method in task) {\n promise[method] = task[method].bind(task);\n }\n });\n}\n\nexport { EMPTY_ARR, EMPTY_OBJ, Events, HOOK_TYPE, PLATFORM_CONFIG_MAP, PLATFORM_TYPE, TaroHook, TaroHooks, animation, box, cacheDataGet, cacheDataHas, cacheDataSet, capitalize, controlledComponent, ensure, focusComponents, getComponentsAlias, getPlatformType, getUniqueKey, hasOwn, hooks, indent, internalComponents, isArray, isBoolean, isBooleanStringLiteral, isFunction, isNull, isNumber, isObject, isString, isUndefined, isWebPlatform, mergeInternalComponents, mergeReconciler, nestElements, nonsupport, noop, processApis, queryToJson, setUniqueKeyToRoute, singleQuote, toCamelCase, toDashed, toKebabCase, touchEvents, unbox, voidElements, warn };\n//# sourceMappingURL=shared.esm.js.map\n","import { isWebPlatform } from '@tarojs/shared'\n\nexport const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP'\n}\n\nconst isWeb = isWebPlatform()\n\nexport function getEnv () {\n if (process.env.TARO_ENV === 'weapp') {\n return ENV_TYPE.WEAPP\n } else if (process.env.TARO_ENV === 'alipay') {\n return ENV_TYPE.ALIPAY\n } else if (process.env.TARO_ENV === 'swan') {\n return ENV_TYPE.SWAN\n } else if (process.env.TARO_ENV === 'tt') {\n return ENV_TYPE.TT\n } else if (process.env.TARO_ENV === 'jd') {\n return ENV_TYPE.JD\n } else if (process.env.TARO_ENV === 'qq') {\n return ENV_TYPE.QQ\n } else if (isWeb) {\n return ENV_TYPE.WEB\n } else if (process.env.TARO_ENV === 'rn') {\n return ENV_TYPE.RN\n } else if (process.env.TARO_ENV === 'harmony') {\n return ENV_TYPE.HARMONY\n } else if (process.env.TARO_ENV === 'quickapp') {\n return ENV_TYPE.QUICKAPP\n } else {\n return process.env.TARO_ENV || 'Unknown'\n }\n}\n","import { isFunction } from '../utils'\n\nexport default class Chain {\n constructor (requestParams, interceptors, index) {\n this.index = index || 0\n this.requestParams = requestParams\n this.interceptors = interceptors || []\n }\n\n proceed (requestParams) {\n this.requestParams = requestParams\n if (this.index >= this.interceptors.length) {\n throw new Error('chain 参数错误, 请勿直接修改 request.chain')\n }\n const nextInterceptor = this._getNextInterceptor()\n const nextChain = this._getNextChain()\n const p = nextInterceptor(nextChain)\n const res = p.catch(err => Promise.reject(err))\n Object.keys(p).forEach(k => isFunction(p[k]) && (res[k] = p[k]))\n return res\n }\n\n _getNextInterceptor () {\n return this.interceptors[this.index]\n }\n\n _getNextChain () {\n return new Chain(this.requestParams, this.interceptors, this.index + 1)\n }\n}\n","import Chain from './chain'\n\nexport default class Link {\n constructor (interceptor) {\n this.taroInterceptor = interceptor\n this.chain = new Chain()\n }\n\n request (requestParams) {\n const chain = this.chain\n const taroInterceptor = this.taroInterceptor\n\n chain.interceptors = chain.interceptors\n .filter(interceptor => interceptor !== taroInterceptor)\n .concat(taroInterceptor)\n\n return chain.proceed({ ...requestParams })\n }\n\n addInterceptor (interceptor) {\n this.chain.interceptors.push(interceptor)\n }\n\n cleanInterceptors () {\n this.chain = new Chain()\n }\n}\n","import { isFunction, isUndefined } from '../utils'\n\nexport function timeoutInterceptor (chain) {\n const requestParams = chain.requestParams\n let p\n const res = new Promise((resolve, reject) => {\n let timeout = setTimeout(() => {\n timeout = null\n reject(new Error('网络链接超时,请稍后再试!'))\n }, (requestParams && requestParams.timeout) || 60000)\n\n p = chain.proceed(requestParams)\n p\n .then(res => {\n if (!timeout) return\n clearTimeout(timeout)\n resolve(res)\n })\n .catch(err => {\n timeout && clearTimeout(timeout)\n reject(err)\n })\n })\n if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n\nexport function logInterceptor (chain) {\n const requestParams = chain.requestParams\n const { method, data, url } = requestParams\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http ${method || 'GET'} --> ${url} data: `, data)\n }\n\n const p = chain.proceed(requestParams)\n const res = p\n .then(res => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http <-- ${url} result:`, res)\n }\n return res\n })\n if (isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n","import { isFunction, isObject } from './utils'\n\nexport function Behavior (options) {\n return options\n}\n\nexport function getPreload (current) {\n return function (key, val) {\n current.preloadData = isObject(key)\n ? key\n : {\n [key]: val\n }\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'rpx'\n\nexport function getInitPxTransform (taro) {\n return function (config) {\n const {\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n targetUnit = defaultTargetUnit,\n unitPrecision = defaultUnitPrecision,\n } = config\n taro.config = taro.config || {}\n taro.config.designWidth = designWidth\n taro.config.deviceRatio = deviceRatio\n taro.config.baseFontSize = baseFontSize\n taro.config.targetUnit = targetUnit\n taro.config.unitPrecision = unitPrecision\n }\n}\n\nexport function getPxTransform (taro) {\n return function (size) {\n const config = taro.config || {}\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n const baseFontSize = config.baseFontSize\n const designWidth = (((input = 0) => isFunction(config.designWidth)\n ? config.designWidth(input)\n : config.designWidth || defaultDesignWidth))(size)\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n const formatSize = ~~size\n let rootValue = 1 / config.deviceRatio[designWidth]\n switch (config.targetUnit) {\n case 'rem':\n rootValue *= baseFontSize * 2\n break\n case 'px':\n rootValue *= 2\n break\n }\n let val = formatSize / rootValue\n if (config.unitPrecision >= 0 && config.unitPrecision <= 100) {\n val = Number(val.toFixed(config.unitPrecision))\n }\n return val + config.targetUnit\n }\n}\n","/* eslint-disable camelcase */\nimport './polyfill'\n\nimport {\n Current,\n eventCenter,\n Events,\n getCurrentInstance,\n nextTick,\n options\n} from '@tarojs/runtime'\n\nimport { ENV_TYPE, getEnv } from './env'\nimport Link from './interceptor'\nimport * as interceptors from './interceptor/interceptors'\nimport {\n Behavior,\n getInitPxTransform,\n getPreload,\n getPxTransform\n} from './tools'\n\nconst Taro = {\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n Current,\n getCurrentInstance,\n options,\n nextTick,\n eventCenter,\n Events,\n getInitPxTransform\n}\n\nTaro.initPxTransform = getInitPxTransform(Taro)\nTaro.preload = getPreload(Current)\nTaro.pxTransform = getPxTransform(Taro)\n\nexport default Taro\n"],"names":["isFunction","x","isUndefined","isObject","_typeof","isBadObj","throwTypeError","s","TypeError","Object","assign","target","to","index","arguments","length","nextSource","nextKey","prototype","hasOwnProperty","call","defineProperties","obj","properties","convertToDescriptor","desc","hasProperty","prop","d","enumerable","configurable","value","writable","g","get","set","keys","descs","i","push","defineProperty","DEFAULT_EMPTY_ARRAY","NO_DEFAULT_VALUE","DEFAULT_TRUE","DEFAULT_FALSE","touchEvents","bindTouchStart","bindTouchMove","bindTouchEnd","bindTouchCancel","bindLongTap","animation","bindAnimationStart","bindAnimationIteration","bindAnimationEnd","bindTransitionEnd","singleQuote","concat","longitude","latitude","scale","markers","covers","polyline","circles","controls","bindMarkerTap","bindControlTap","bindCalloutTap","bindUpdated","size","type","plain","disabled","loading","name","direction","inertia","y","damping","friction","bindChange","bindScale","bindHTouchMove","bindVTouchMove","width","height","bindScrollToUpper","bindScrollToLower","bindScroll","autoplay","current","interval","duration","circular","vertical","bindTransition","bindAnimationFinish","src","mode","bindError","bindLoad","muted","orientation","bindStateChange","bindFullScreenChange","bindNetStatus","loop","poster","bindPlay","bindPause","bindEnded","bindTimeUpdate","bindWaiting","ENV_TYPE","WEAPP","SWAN","ALIPAY","TT","QQ","JD","WEB","RN","HARMONY","QUICKAPP","isWeb","isWebPlatform","getEnv","process","env","TARO_ENV","Chain","requestParams","interceptors","_classCallCheck","_createClass","key","proceed","Error","nextInterceptor","_getNextInterceptor","nextChain","_getNextChain","p","res","catch","err","Promise","reject","forEach","k","Link","interceptor","taroInterceptor","chain","request","filter","_objectSpread","addInterceptor","cleanInterceptors","timeoutInterceptor","resolve","timeout","setTimeout","then","clearTimeout","abort","logInterceptor","method","data","url","NODE_ENV","console","log","Behavior","options","getPreload","val","preloadData","_defineProperty","defaultDesignWidth","defaultDesignRatio","defaultBaseFontSize","defaultUnitPrecision","defaultTargetUnit","getInitPxTransform","taro","config","_config$designWidth","designWidth","_config$deviceRatio","deviceRatio","_config$baseFontSize","baseFontSize","_config$targetUnit","targetUnit","_config$unitPrecision","unitPrecision","getPxTransform","input","undefined","formatSize","rootValue","Number","toFixed","Taro","Current","getCurrentInstance","nextTick","eventCenter","Events","initPxTransform","preload","pxTransform"],"mappings":"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"}
1
+ {"version":3,"file":"taro.js","sources":["../src/utils.js","../src/polyfill.js","../../shared/dist/shared.esm.js","../src/env.js","../src/interceptor/chain.js","../src/interceptor/index.js","../src/interceptor/interceptors.js","../src/tools.js","../src/index.js"],"sourcesContent":["export function isFunction (x) {\n return typeof x === 'function'\n}\n\nexport function isUndefined (x) {\n return typeof x === 'undefined'\n}\n\nexport function isObject (x) {\n return x && typeof x === 'object'\n}\n","import { isFunction, isObject, isUndefined } from './utils'\n\nconst isBadObj = (x) => !isObject(x)\n\nfunction throwTypeError (s) {\n throw new TypeError(s)\n}\n\nif (!isFunction(Object.assign)) {\n // Must be writable: true, enumerable: false, configurable: true\n Object.assign = function (target) { // .length of function is 2\n if (target == null) { // TypeError if undefined or null\n throwTypeError('Cannot convert undefined or null to object')\n }\n\n const to = Object(target)\n\n for (let index = 1; index < arguments.length; index++) {\n const nextSource = arguments[index]\n\n if (nextSource != null) { // Skip over if undefined or null\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey]\n }\n }\n }\n }\n return to\n }\n}\n\nif (!isFunction(Object.defineProperties)) {\n Object.defineProperties = function (obj, properties) {\n function convertToDescriptor (desc) {\n function hasProperty (obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop)\n }\n\n if (isBadObj(desc)) { throwTypeError('bad desc') }\n\n const d = {}\n\n if (hasProperty(desc, 'enumerable')) d.enumerable = !!desc.enumerable\n if (hasProperty(desc, 'configurable')) { d.configurable = !!desc.configurable }\n if (hasProperty(desc, 'value')) d.value = desc.value\n if (hasProperty(desc, 'writable')) d.writable = !!desc.writable\n if (hasProperty(desc, 'get')) {\n const g = desc.get\n\n if (!isFunction(g) && !isUndefined(g)) { throwTypeError('bad get') }\n d.get = g\n }\n if (hasProperty(desc, 'set')) {\n const s = desc.set\n if (!isFunction(s) && !isUndefined(s)) { throwTypeError('bad set') }\n d.set = s\n }\n\n if (('get' in d || 'set' in d) && ('value' in d || 'writable' in d)) { throwTypeError('identity-confused descriptor') }\n\n return d\n }\n\n if (isBadObj(obj)) throwTypeError('bad obj')\n\n properties = Object(properties)\n\n const keys = Object.keys(properties)\n const descs = []\n\n for (let i = 0; i < keys.length; i++) {\n descs.push([keys[i], convertToDescriptor(properties[keys[i]])])\n }\n\n for (let i = 0; i < descs.length; i++) {\n Object.defineProperty(obj, descs[i][0], descs[i][1])\n }\n\n return obj\n }\n}\n","const DEFAULT_EMPTY_ARRAY = '[]';\nconst NO_DEFAULT_VALUE = '';\nconst DEFAULT_TRUE = '!0';\nconst DEFAULT_FALSE = '!1';\nconst touchEvents = {\n bindTouchStart: NO_DEFAULT_VALUE,\n bindTouchMove: NO_DEFAULT_VALUE,\n bindTouchEnd: NO_DEFAULT_VALUE,\n bindTouchCancel: NO_DEFAULT_VALUE,\n bindLongTap: NO_DEFAULT_VALUE\n};\nconst animation = {\n animation: NO_DEFAULT_VALUE,\n bindAnimationStart: NO_DEFAULT_VALUE,\n bindAnimationIteration: NO_DEFAULT_VALUE,\n bindAnimationEnd: NO_DEFAULT_VALUE,\n bindTransitionEnd: NO_DEFAULT_VALUE\n};\nfunction singleQuote(s) {\n return `'${s}'`;\n}\nconst View = Object.assign(Object.assign({ 'hover-class': singleQuote('none'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '50', 'hover-stay-time': '400' }, touchEvents), animation);\nconst Icon = {\n type: NO_DEFAULT_VALUE,\n size: '23',\n color: NO_DEFAULT_VALUE\n};\nconst MapComp = Object.assign({ longitude: NO_DEFAULT_VALUE, latitude: NO_DEFAULT_VALUE, scale: '16', markers: DEFAULT_EMPTY_ARRAY, covers: NO_DEFAULT_VALUE, polyline: DEFAULT_EMPTY_ARRAY, circles: DEFAULT_EMPTY_ARRAY, controls: DEFAULT_EMPTY_ARRAY, 'include-points': DEFAULT_EMPTY_ARRAY, 'show-location': NO_DEFAULT_VALUE, 'layer-style': '1', bindMarkerTap: NO_DEFAULT_VALUE, bindControlTap: NO_DEFAULT_VALUE, bindCalloutTap: NO_DEFAULT_VALUE, bindUpdated: NO_DEFAULT_VALUE }, touchEvents);\nconst Progress = {\n percent: NO_DEFAULT_VALUE,\n 'stroke-width': '6',\n color: singleQuote('#09BB07'),\n activeColor: singleQuote('#09BB07'),\n backgroundColor: singleQuote('#EBEBEB'),\n active: DEFAULT_FALSE,\n 'active-mode': singleQuote('backwards'),\n 'show-info': DEFAULT_FALSE\n};\nconst RichText = {\n nodes: DEFAULT_EMPTY_ARRAY\n};\nconst Text = {\n selectable: DEFAULT_FALSE,\n space: NO_DEFAULT_VALUE,\n decode: DEFAULT_FALSE\n};\nconst Button = Object.assign({ size: singleQuote('default'), type: NO_DEFAULT_VALUE, plain: DEFAULT_FALSE, disabled: NO_DEFAULT_VALUE, loading: DEFAULT_FALSE, 'form-type': NO_DEFAULT_VALUE, 'open-type': NO_DEFAULT_VALUE, 'hover-class': singleQuote('button-hover'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '20', 'hover-stay-time': '70', name: NO_DEFAULT_VALUE }, touchEvents);\nconst Checkbox = {\n value: NO_DEFAULT_VALUE,\n disabled: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst CheckboxGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Form = {\n 'report-submit': DEFAULT_FALSE,\n bindSubmit: NO_DEFAULT_VALUE,\n bindReset: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Input = {\n value: NO_DEFAULT_VALUE,\n type: singleQuote(NO_DEFAULT_VALUE),\n password: DEFAULT_FALSE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('input-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'cursor-spacing': '0',\n focus: DEFAULT_FALSE,\n 'confirm-type': singleQuote('done'),\n 'confirm-hold': DEFAULT_FALSE,\n cursor: 'i.value.length',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindInput: NO_DEFAULT_VALUE,\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Label = {\n for: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Picker = {\n mode: singleQuote('selector'),\n disabled: NO_DEFAULT_VALUE,\n range: NO_DEFAULT_VALUE,\n 'range-key': NO_DEFAULT_VALUE,\n value: NO_DEFAULT_VALUE,\n start: NO_DEFAULT_VALUE,\n end: NO_DEFAULT_VALUE,\n fields: singleQuote('day'),\n 'custom-item': NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n bindCancel: NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n bindColumnChange: NO_DEFAULT_VALUE\n};\nconst PickerView = {\n value: NO_DEFAULT_VALUE,\n 'indicator-style': NO_DEFAULT_VALUE,\n 'indicator-class': NO_DEFAULT_VALUE,\n 'mask-style': NO_DEFAULT_VALUE,\n 'mask-class': NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst PickerViewColumn = {\n name: NO_DEFAULT_VALUE\n};\nconst Radio = {\n value: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n};\nconst RadioGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Slider = {\n min: '0',\n max: '100',\n step: '1',\n disabled: NO_DEFAULT_VALUE,\n value: '0',\n activeColor: singleQuote('#1aad19'),\n backgroundColor: singleQuote('#e9e9e9'),\n 'block-size': '28',\n 'block-color': singleQuote('#ffffff'),\n 'show-value': DEFAULT_FALSE,\n bindChange: NO_DEFAULT_VALUE,\n bindChanging: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Switch = {\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n type: singleQuote('switch'),\n color: singleQuote('#04BE02'),\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst Textarea = {\n value: NO_DEFAULT_VALUE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('textarea-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'auto-focus': DEFAULT_FALSE,\n focus: DEFAULT_FALSE,\n 'auto-height': DEFAULT_FALSE,\n fixed: DEFAULT_FALSE,\n 'cursor-spacing': '0',\n cursor: '-1',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindLineChange: NO_DEFAULT_VALUE,\n bindInput: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n};\nconst CoverImage = {\n src: NO_DEFAULT_VALUE,\n bindLoad: 'eh',\n bindError: 'eh'\n};\nconst CoverView = Object.assign({ 'scroll-top': DEFAULT_FALSE }, touchEvents);\nconst MovableArea = {\n 'scale-area': DEFAULT_FALSE\n};\nconst MovableView = Object.assign(Object.assign({ direction: 'none', inertia: DEFAULT_FALSE, 'out-of-bounds': DEFAULT_FALSE, x: NO_DEFAULT_VALUE, y: NO_DEFAULT_VALUE, damping: '20', friction: '2', disabled: NO_DEFAULT_VALUE, scale: DEFAULT_FALSE, 'scale-min': '0.5', 'scale-max': '10', 'scale-value': '1', bindChange: NO_DEFAULT_VALUE, bindScale: NO_DEFAULT_VALUE, bindHTouchMove: NO_DEFAULT_VALUE, bindVTouchMove: NO_DEFAULT_VALUE, width: singleQuote('10px'), height: singleQuote('10px') }, touchEvents), animation);\nconst ScrollView = Object.assign(Object.assign({ 'scroll-x': DEFAULT_FALSE, 'scroll-y': DEFAULT_FALSE, 'upper-threshold': '50', 'lower-threshold': '50', 'scroll-top': NO_DEFAULT_VALUE, 'scroll-left': NO_DEFAULT_VALUE, 'scroll-into-view': NO_DEFAULT_VALUE, 'scroll-with-animation': DEFAULT_FALSE, 'enable-back-to-top': DEFAULT_FALSE, bindScrollToUpper: NO_DEFAULT_VALUE, bindScrollToLower: NO_DEFAULT_VALUE, bindScroll: NO_DEFAULT_VALUE }, touchEvents), animation);\nconst Swiper = Object.assign({ 'indicator-dots': DEFAULT_FALSE, 'indicator-color': singleQuote('rgba(0, 0, 0, .3)'), 'indicator-active-color': singleQuote('#000000'), autoplay: DEFAULT_FALSE, current: '0', interval: '5000', duration: '500', circular: DEFAULT_FALSE, vertical: DEFAULT_FALSE, 'previous-margin': singleQuote('0px'), 'next-margin': singleQuote('0px'), 'display-multiple-items': '1', bindChange: NO_DEFAULT_VALUE, bindTransition: NO_DEFAULT_VALUE, bindAnimationFinish: NO_DEFAULT_VALUE }, touchEvents);\nconst SwiperItem = {\n 'item-id': NO_DEFAULT_VALUE\n};\nconst Navigator = {\n url: NO_DEFAULT_VALUE,\n 'open-type': singleQuote('navigate'),\n delta: '1',\n 'hover-class': singleQuote('navigator-hover'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '50',\n 'hover-stay-time': '600',\n bindSuccess: NO_DEFAULT_VALUE,\n bindFail: NO_DEFAULT_VALUE,\n bindComplete: NO_DEFAULT_VALUE\n};\nconst Audio = {\n id: NO_DEFAULT_VALUE,\n src: NO_DEFAULT_VALUE,\n loop: DEFAULT_FALSE,\n controls: DEFAULT_FALSE,\n poster: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n author: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindPlay: NO_DEFAULT_VALUE,\n bindPause: NO_DEFAULT_VALUE,\n bindTimeUpdate: NO_DEFAULT_VALUE,\n bindEnded: NO_DEFAULT_VALUE\n};\nconst Camera = {\n 'device-position': singleQuote('back'),\n flash: singleQuote('auto'),\n bindStop: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Image = Object.assign({ src: NO_DEFAULT_VALUE, mode: singleQuote('scaleToFill'), 'lazy-load': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE, bindLoad: NO_DEFAULT_VALUE }, touchEvents);\nconst LivePlayer = Object.assign({ src: NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, muted: DEFAULT_FALSE, orientation: singleQuote('vertical'), 'object-fit': singleQuote('contain'), 'background-mute': DEFAULT_FALSE, 'min-cache': '1', 'max-cache': '3', bindStateChange: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindNetStatus: NO_DEFAULT_VALUE }, animation);\nconst Video = Object.assign({ src: NO_DEFAULT_VALUE, duration: NO_DEFAULT_VALUE, controls: DEFAULT_TRUE, 'danmu-list': NO_DEFAULT_VALUE, 'danmu-btn': NO_DEFAULT_VALUE, 'enable-danmu': NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, loop: DEFAULT_FALSE, muted: DEFAULT_FALSE, 'initial-time': '0', 'page-gesture': DEFAULT_FALSE, direction: NO_DEFAULT_VALUE, 'show-progress': DEFAULT_TRUE, 'show-fullscreen-btn': DEFAULT_TRUE, 'show-play-btn': DEFAULT_TRUE, 'show-center-play-btn': DEFAULT_TRUE, 'enable-progress-gesture': DEFAULT_TRUE, 'object-fit': singleQuote('contain'), poster: NO_DEFAULT_VALUE, 'show-mute-btn': DEFAULT_FALSE, bindPlay: NO_DEFAULT_VALUE, bindPause: NO_DEFAULT_VALUE, bindEnded: NO_DEFAULT_VALUE, bindTimeUpdate: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindWaiting: NO_DEFAULT_VALUE, bindError: NO_DEFAULT_VALUE }, animation);\nconst Canvas = Object.assign({ 'canvas-id': NO_DEFAULT_VALUE, 'disable-scroll': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE }, touchEvents);\nconst Ad = {\n 'unit-id': NO_DEFAULT_VALUE,\n 'ad-intervals': NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindClose: NO_DEFAULT_VALUE\n};\nconst WebView = {\n src: NO_DEFAULT_VALUE,\n bindMessage: NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n};\nconst Block = {};\n// For Vue,因为 slot 标签被 vue 占用了\nconst SlotView = {\n name: NO_DEFAULT_VALUE\n};\n// For React\n// Slot 和 SlotView 最终都会编译成 <view slot={{ i.name }} />\n// 因为 <slot name=\"{{ i.name }}\" /> 适用性没有前者高(无法添加类和样式)\n// 不给 View 直接加 slot 属性的原因是性能损耗\nconst Slot = {\n name: NO_DEFAULT_VALUE\n};\nconst NativeSlot = {\n name: NO_DEFAULT_VALUE\n};\nconst internalComponents = {\n View,\n Icon,\n Progress,\n RichText,\n Text,\n Button,\n Checkbox,\n CheckboxGroup,\n Form,\n Input,\n Label,\n Picker,\n PickerView,\n PickerViewColumn,\n Radio,\n RadioGroup,\n Slider,\n Switch,\n CoverImage,\n Textarea,\n CoverView,\n MovableArea,\n MovableView,\n ScrollView,\n Swiper,\n SwiperItem,\n Navigator,\n Audio,\n Camera,\n Image,\n LivePlayer,\n Video,\n Canvas,\n Ad,\n WebView,\n Block,\n Map: MapComp,\n Slot,\n SlotView,\n NativeSlot,\n};\nconst controlledComponent = new Set([\n 'input',\n 'checkbox',\n 'picker',\n 'picker-view',\n 'radio',\n 'slider',\n 'switch',\n 'textarea'\n]);\nconst focusComponents = new Set([\n 'input',\n 'textarea'\n]);\nconst voidElements = new Set([\n 'progress',\n 'icon',\n 'rich-text',\n 'input',\n 'textarea',\n 'slider',\n 'switch',\n 'audio',\n 'ad',\n 'official-account',\n 'open-data',\n 'navigation-bar'\n]);\nconst nestElements = new Map([\n ['view', -1],\n ['catch-view', -1],\n ['cover-view', -1],\n ['static-view', -1],\n ['pure-view', -1],\n ['block', -1],\n ['text', -1],\n ['static-text', 6],\n ['slot', 8],\n ['slot-view', 8],\n ['label', 6],\n ['form', 4],\n ['scroll-view', 4],\n ['swiper', 4],\n ['swiper-item', 4]\n]);\n\nvar PLATFORM_TYPE;\n(function (PLATFORM_TYPE) {\n PLATFORM_TYPE[\"MINI\"] = \"mini\";\n PLATFORM_TYPE[\"WEB\"] = \"web\";\n PLATFORM_TYPE[\"RN\"] = \"rn\";\n PLATFORM_TYPE[\"HARMONY\"] = \"harmony\";\n PLATFORM_TYPE[\"QUICK\"] = \"quickapp\";\n})(PLATFORM_TYPE || (PLATFORM_TYPE = {}));\nconst PLATFORM_CONFIG_MAP = {\n h5: {\n type: PLATFORM_TYPE.WEB\n },\n harmony: {\n type: PLATFORM_TYPE.HARMONY\n },\n mini: {\n type: PLATFORM_TYPE.MINI\n },\n rn: {\n type: PLATFORM_TYPE.RN\n },\n quickapp: {\n type: PLATFORM_TYPE.QUICK\n }\n};\n\nclass Events {\n constructor(opts) {\n var _a;\n this.callbacks = (_a = opts === null || opts === void 0 ? void 0 : opts.callbacks) !== null && _a !== void 0 ? _a : {};\n }\n on(eventName, callback, context) {\n let event, node, tail, list;\n if (!callback) {\n return this;\n }\n eventName = eventName.split(Events.eventSplitter);\n this.callbacks || (this.callbacks = {});\n const calls = this.callbacks;\n while ((event = eventName.shift())) {\n list = calls[event];\n node = list ? list.tail : {};\n node.next = tail = {};\n node.context = context;\n node.callback = callback;\n calls[event] = {\n tail,\n next: list ? list.next : node\n };\n }\n return this;\n }\n once(events, callback, context) {\n const wrapper = (...args) => {\n callback.apply(this, args);\n this.off(events, wrapper, context);\n };\n this.on(events, wrapper, context);\n return this;\n }\n off(events, callback, context) {\n let event, calls, node, tail, cb, ctx;\n if (!(calls = this.callbacks)) {\n return this;\n }\n if (!(events || callback || context)) {\n delete this.callbacks;\n return this;\n }\n events = events ? events.split(Events.eventSplitter) : Object.keys(calls);\n while ((event = events.shift())) {\n node = calls[event];\n delete calls[event];\n if (!node || !(callback || context)) {\n continue;\n }\n tail = node.tail;\n while ((node = node.next) !== tail) {\n cb = node.callback;\n ctx = node.context;\n if ((callback && cb !== callback) || (context && ctx !== context)) {\n this.on(event, cb, ctx);\n }\n }\n }\n return this;\n }\n trigger(events) {\n let event, node, calls, tail;\n if (!(calls = this.callbacks)) {\n return this;\n }\n events = events.split(Events.eventSplitter);\n const rest = [].slice.call(arguments, 1);\n while ((event = events.shift())) {\n if ((node = calls[event])) {\n tail = node.tail;\n while ((node = node.next) !== tail) {\n node.callback.apply(node.context || this, rest);\n }\n }\n }\n return this;\n }\n}\nEvents.eventSplitter = ','; // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\\s+/\n\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isUndefined(o) {\n return typeof o === 'undefined';\n}\nfunction isNull(o) {\n return o === null;\n}\nfunction isObject(o) {\n return o !== null && typeof o === 'object';\n}\nfunction isBoolean(o) {\n return o === true || o === false;\n}\nfunction isFunction(o) {\n return typeof o === 'function';\n}\nfunction isNumber(o) {\n return typeof o === 'number';\n}\nfunction isBooleanStringLiteral(o) {\n return o === 'true' || o === 'false';\n}\nconst isArray = Array.isArray;\nconst isWebPlatform = () => process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web';\n\nvar HOOK_TYPE;\n(function (HOOK_TYPE) {\n HOOK_TYPE[HOOK_TYPE[\"SINGLE\"] = 0] = \"SINGLE\";\n HOOK_TYPE[HOOK_TYPE[\"MULTI\"] = 1] = \"MULTI\";\n HOOK_TYPE[HOOK_TYPE[\"WATERFALL\"] = 2] = \"WATERFALL\";\n})(HOOK_TYPE || (HOOK_TYPE = {}));\nconst defaultMiniLifecycle = {\n app: [\n 'onLaunch',\n 'onShow',\n 'onHide'\n ],\n page: [\n 'onLoad',\n 'onUnload',\n 'onReady',\n 'onShow',\n 'onHide',\n [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap',\n 'onTitleClick',\n 'onOptionMenuClick',\n 'onPopMenuClick',\n 'onPullIntercept',\n 'onAddToFavorites'\n ],\n [\n 'onShareAppMessage',\n 'onShareTimeline'\n ]\n ],\n component: [\n 'attached',\n 'detached'\n ]\n};\nfunction TaroHook(type, initial) {\n return {\n type,\n initial: initial || null\n };\n}\nclass TaroHooks extends Events {\n constructor(hooks, opts) {\n super(opts);\n this.hooks = hooks;\n for (const hookName in hooks) {\n const { initial } = hooks[hookName];\n if (isFunction(initial)) {\n this.on(hookName, initial);\n }\n }\n }\n tapOneOrMany(hookName, callback) {\n const list = isFunction(callback) ? [callback] : callback;\n list.forEach(cb => this.on(hookName, cb));\n }\n tap(hookName, callback) {\n const hooks = this.hooks;\n const { type, initial } = hooks[hookName];\n if (type === HOOK_TYPE.SINGLE) {\n this.off(hookName);\n this.on(hookName, isFunction(callback) ? callback : callback[callback.length - 1]);\n }\n else {\n initial && this.off(hookName, initial);\n this.tapOneOrMany(hookName, callback);\n }\n }\n call(hookName, ...rest) {\n var _a;\n const hook = this.hooks[hookName];\n if (!hook)\n return;\n const { type } = hook;\n const calls = this.callbacks;\n if (!calls)\n return;\n const list = calls[hookName];\n if (list) {\n const tail = list.tail;\n let node = list.next;\n let args = rest;\n let res;\n while (node !== tail) {\n res = (_a = node.callback) === null || _a === void 0 ? void 0 : _a.apply(node.context || this, args);\n if (type === HOOK_TYPE.WATERFALL) {\n const params = [res];\n args = params;\n }\n node = node.next;\n }\n return res;\n }\n }\n isExist(hookName) {\n var _a;\n return Boolean((_a = this.callbacks) === null || _a === void 0 ? void 0 : _a[hookName]);\n }\n}\nconst hooks = new TaroHooks({\n getMiniLifecycle: TaroHook(HOOK_TYPE.SINGLE, defaultConfig => defaultConfig),\n getMiniLifecycleImpl: TaroHook(HOOK_TYPE.SINGLE, function () {\n return this.call('getMiniLifecycle', defaultMiniLifecycle);\n }),\n getLifecycle: TaroHook(HOOK_TYPE.SINGLE, (instance, lifecycle) => instance[lifecycle]),\n getPathIndex: TaroHook(HOOK_TYPE.SINGLE, indexOfNode => `[${indexOfNode}]`),\n getEventCenter: TaroHook(HOOK_TYPE.SINGLE, Events => new Events()),\n isBubbleEvents: TaroHook(HOOK_TYPE.SINGLE, eventName => {\n /**\n * 支持冒泡的事件, 除 支付宝小程序外,其余的可冒泡事件都和微信保持一致\n * 详见 见 https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html\n */\n const BUBBLE_EVENTS = new Set([\n 'touchstart',\n 'touchmove',\n 'touchcancel',\n 'touchend',\n 'touchforcechange',\n 'tap',\n 'longpress',\n 'longtap',\n 'transitionend',\n 'animationstart',\n 'animationiteration',\n 'animationend'\n ]);\n return BUBBLE_EVENTS.has(eventName);\n }),\n getSpecialNodes: TaroHook(HOOK_TYPE.SINGLE, () => ['view', 'text', 'image']),\n onRemoveAttribute: TaroHook(HOOK_TYPE.SINGLE),\n batchedEventUpdates: TaroHook(HOOK_TYPE.SINGLE),\n mergePageInstance: TaroHook(HOOK_TYPE.SINGLE),\n modifyPageObject: TaroHook(HOOK_TYPE.SINGLE),\n createPullDownComponent: TaroHook(HOOK_TYPE.SINGLE),\n getDOMNode: TaroHook(HOOK_TYPE.SINGLE),\n modifyHydrateData: TaroHook(HOOK_TYPE.SINGLE),\n modifySetAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n modifyRmAttrPayload: TaroHook(HOOK_TYPE.SINGLE),\n onAddEvent: TaroHook(HOOK_TYPE.SINGLE),\n modifyMpEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyMpEventImpl: TaroHook(HOOK_TYPE.SINGLE, function (e) {\n try {\n // 有些小程序的事件对象的某些属性只读\n this.call('modifyMpEvent', e);\n }\n catch (error) {\n console.warn('[Taro modifyMpEvent hook Error]: ' + (error === null || error === void 0 ? void 0 : error.message));\n }\n }),\n modifyTaroEvent: TaroHook(HOOK_TYPE.MULTI),\n modifyDispatchEvent: TaroHook(HOOK_TYPE.MULTI),\n initNativeApi: TaroHook(HOOK_TYPE.MULTI),\n patchElement: TaroHook(HOOK_TYPE.MULTI)\n});\n\nconst EMPTY_OBJ = {};\nconst EMPTY_ARR = [];\nconst noop = (..._) => { };\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param v Value.\n * @returns Boxed value.\n */\nconst box = (v) => ({ v });\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param b Boxed value.\n * @returns Value.\n */\nconst unbox = (b) => b.v;\nfunction toDashed(s) {\n return s.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction toCamelCase(s) {\n let camel = '';\n let nextCap = false;\n for (let i = 0; i < s.length; i++) {\n if (s[i] !== '-') {\n camel += nextCap ? s[i].toUpperCase() : s[i];\n nextCap = false;\n }\n else {\n nextCap = true;\n }\n }\n return camel;\n}\nconst toKebabCase = function (string) {\n return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n};\nfunction capitalize(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\n/**\n * ensure takes a condition and throw a error if the condition fails,\n * like failure::ensure: https://docs.rs/failure/0.1.1/failure/macro.ensure.html\n * @param condition condition.\n * @param msg error message.\n */\nfunction ensure(condition, msg) {\n if (!condition) {\n if (process.env.NODE_ENV !== 'production') {\n const reportIssue = '\\n如有疑问,请提交 issue 至:https://github.com/nervjs/taro/issues';\n throw new Error(msg + reportIssue);\n }\n else {\n throw new Error(msg);\n }\n }\n}\nfunction warn(condition, msg) {\n if (process.env.NODE_ENV !== 'production') {\n if (condition) {\n console.warn(`[taro warn] ${msg}`);\n }\n }\n}\nfunction queryToJson(str) {\n const dec = decodeURIComponent;\n const qp = str.split('&');\n const ret = {};\n let name;\n let val;\n for (let i = 0, l = qp.length, item; i < l; ++i) {\n item = qp[i];\n if (item.length) {\n const s = item.indexOf('=');\n if (s < 0) {\n name = dec(item);\n val = '';\n }\n else {\n name = dec(item.slice(0, s));\n val = dec(item.slice(s + 1));\n }\n if (typeof ret[name] === 'string') { // inline'd type check\n ret[name] = [ret[name]];\n }\n if (Array.isArray(ret[name])) {\n ret[name].push(val);\n }\n else {\n ret[name] = val;\n }\n }\n }\n return ret; // Object\n}\nlet _uniqueId = 1;\nconst _loadTime = (new Date()).getTime().toString();\nfunction getUniqueKey() {\n return _loadTime + (_uniqueId++);\n}\nconst cacheData = {};\nfunction cacheDataSet(key, val) {\n cacheData[key] = val;\n}\nfunction cacheDataGet(key, delelteAfterGet) {\n const temp = cacheData[key];\n delelteAfterGet && delete cacheData[key];\n return temp;\n}\nfunction cacheDataHas(key) {\n return key in cacheData;\n}\nfunction mergeInternalComponents(components) {\n Object.keys(components).forEach(name => {\n if (name in internalComponents) {\n Object.assign(internalComponents[name], components[name]);\n }\n else {\n internalComponents[name] = components[name];\n }\n });\n return internalComponents;\n}\nfunction getComponentsAlias(origin) {\n const mapping = {};\n const viewAttrs = origin.View;\n const extraList = {\n '#text': {},\n StaticView: viewAttrs,\n StaticImage: origin.Image,\n StaticText: origin.Text,\n PureView: viewAttrs,\n CatchView: viewAttrs\n };\n origin = Object.assign(Object.assign({}, origin), extraList);\n Object.keys(origin)\n .sort((a, b) => {\n const reg = /^(Static|Pure|Catch)*(View|Image|Text)$/;\n const isACommonly = reg.test(a);\n const isBCommonly = reg.test(b);\n if (isACommonly && isBCommonly) {\n return a > b ? 1 : -1;\n }\n else if (isACommonly) {\n return -1;\n }\n else if (isBCommonly) {\n return 1;\n }\n else {\n return a >= b ? 1 : -1;\n }\n })\n .forEach((key, num) => {\n const obj = {\n _num: String(num)\n };\n Object.keys(origin[key])\n .filter(attr => !(/^bind/.test(attr)) && !['focus', 'blur'].includes(attr))\n .sort()\n .forEach((attr, index) => {\n obj[toCamelCase(attr)] = 'p' + index;\n });\n mapping[toDashed(key)] = obj;\n });\n return mapping;\n}\nfunction getPlatformType(platform = 'weapp', configNameOrType = PLATFORM_TYPE.MINI) {\n if (Object.keys(PLATFORM_CONFIG_MAP).includes(platform)) {\n configNameOrType = platform;\n }\n const param = PLATFORM_CONFIG_MAP[configNameOrType] || {};\n return param.type || configNameOrType;\n}\nfunction mergeReconciler(hostConfig, hooksForTest) {\n const obj = hooksForTest || hooks;\n const keys = Object.keys(hostConfig);\n keys.forEach(key => {\n obj.tap(key, hostConfig[key]);\n });\n}\nfunction nonsupport(api) {\n return function () {\n console.warn(`小程序暂不支持 ${api}`);\n };\n}\nfunction setUniqueKeyToRoute(key, obj) {\n const routerParamsPrivateKey = '__key_';\n const useDataCacheApis = [\n 'navigateTo',\n 'redirectTo',\n 'reLaunch',\n 'switchTab'\n ];\n if (useDataCacheApis.indexOf(key) > -1) {\n const url = obj.url = obj.url || '';\n const hasMark = url.indexOf('?') > -1;\n const cacheKey = getUniqueKey();\n obj.url += (hasMark ? '&' : '?') + `${routerParamsPrivateKey}=${cacheKey}`;\n }\n}\nfunction indent(str, size) {\n return str.split('\\n')\n .map((line, index) => {\n const indent = index === 0 ? '' : Array(size).fill(' ').join('');\n return indent + line;\n })\n .join('\\n');\n}\n\nconst needPromiseApis = new Set([\n 'addPhoneContact',\n 'authorize',\n 'canvasGetImageData',\n 'canvasPutImageData',\n 'canvasToTempFilePath',\n 'checkSession',\n 'chooseAddress',\n 'chooseImage',\n 'chooseInvoiceTitle',\n 'chooseLocation',\n 'chooseVideo',\n 'clearStorage',\n 'closeBLEConnection',\n 'closeBluetoothAdapter',\n 'closeSocket',\n 'compressImage',\n 'connectSocket',\n 'createBLEConnection',\n 'downloadFile',\n 'exitMiniProgram',\n 'getAvailableAudioSources',\n 'getBLEDeviceCharacteristics',\n 'getBLEDeviceServices',\n 'getBatteryInfo',\n 'getBeacons',\n 'getBluetoothAdapterState',\n 'getBluetoothDevices',\n 'getClipboardData',\n 'getConnectedBluetoothDevices',\n 'getConnectedWifi',\n 'getExtConfig',\n 'getFileInfo',\n 'getImageInfo',\n 'getLocation',\n 'getNetworkType',\n 'getSavedFileInfo',\n 'getSavedFileList',\n 'getScreenBrightness',\n 'getSetting',\n 'getStorage',\n 'getStorageInfo',\n 'getSystemInfo',\n 'getUserInfo',\n 'getWifiList',\n 'hideHomeButton',\n 'hideShareMenu',\n 'hideTabBar',\n 'hideTabBarRedDot',\n 'loadFontFace',\n 'login',\n 'makePhoneCall',\n 'navigateBack',\n 'navigateBackMiniProgram',\n 'navigateTo',\n 'navigateToBookshelf',\n 'navigateToMiniProgram',\n 'notifyBLECharacteristicValueChange',\n 'hideKeyboard',\n 'hideLoading',\n 'hideNavigationBarLoading',\n 'hideToast',\n 'openBluetoothAdapter',\n 'openDocument',\n 'openLocation',\n 'openSetting',\n 'pageScrollTo',\n 'previewImage',\n 'queryBookshelf',\n 'reLaunch',\n 'readBLECharacteristicValue',\n 'redirectTo',\n 'removeSavedFile',\n 'removeStorage',\n 'removeTabBarBadge',\n 'requestSubscribeMessage',\n 'saveFile',\n 'saveImageToPhotosAlbum',\n 'saveVideoToPhotosAlbum',\n 'scanCode',\n 'sendSocketMessage',\n 'setBackgroundColor',\n 'setBackgroundTextStyle',\n 'setClipboardData',\n 'setEnableDebug',\n 'setInnerAudioOption',\n 'setKeepScreenOn',\n 'setNavigationBarColor',\n 'setNavigationBarTitle',\n 'setScreenBrightness',\n 'setStorage',\n 'setTabBarBadge',\n 'setTabBarItem',\n 'setTabBarStyle',\n 'showActionSheet',\n 'showFavoriteGuide',\n 'showLoading',\n 'showModal',\n 'showShareMenu',\n 'showTabBar',\n 'showTabBarRedDot',\n 'showToast',\n 'startBeaconDiscovery',\n 'startBluetoothDevicesDiscovery',\n 'startDeviceMotionListening',\n 'startPullDownRefresh',\n 'stopBeaconDiscovery',\n 'stopBluetoothDevicesDiscovery',\n 'stopCompass',\n 'startCompass',\n 'startAccelerometer',\n 'stopAccelerometer',\n 'showNavigationBarLoading',\n 'stopDeviceMotionListening',\n 'stopPullDownRefresh',\n 'switchTab',\n 'uploadFile',\n 'vibrateLong',\n 'vibrateShort',\n 'writeBLECharacteristicValue'\n]);\nfunction getCanIUseWebp(taro) {\n return function () {\n var _a;\n const res = (_a = taro.getSystemInfoSync) === null || _a === void 0 ? void 0 : _a.call(taro);\n if (!res) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('不支持 API canIUseWebp');\n }\n return false;\n }\n const { platform } = res;\n const platformLower = platform.toLowerCase();\n if (platformLower === 'android' || platformLower === 'devtools') {\n return true;\n }\n return false;\n };\n}\nfunction getNormalRequest(global) {\n return function request(options) {\n options = options\n ? (isString(options)\n ? { url: options }\n : options)\n : {};\n const originSuccess = options.success;\n const originFail = options.fail;\n const originComplete = options.complete;\n let requestTask;\n const p = new Promise((resolve, reject) => {\n options.success = res => {\n originSuccess && originSuccess(res);\n resolve(res);\n };\n options.fail = res => {\n originFail && originFail(res);\n reject(res);\n };\n options.complete = res => {\n originComplete && originComplete(res);\n };\n requestTask = global.request(options);\n });\n equipTaskMethodsIntoPromise(requestTask, p);\n p.abort = (cb) => {\n cb && cb();\n if (requestTask) {\n requestTask.abort();\n }\n return p;\n };\n return p;\n };\n}\nfunction processApis(taro, global, config = {}) {\n const patchNeedPromiseApis = config.needPromiseApis || [];\n const _needPromiseApis = new Set([...patchNeedPromiseApis, ...needPromiseApis]);\n const preserved = [\n 'getEnv',\n 'interceptors',\n 'Current',\n 'getCurrentInstance',\n 'options',\n 'nextTick',\n 'eventCenter',\n 'Events',\n 'preload',\n 'webpackJsonp'\n ];\n const apis = new Set(!config.isOnlyPromisify\n ? Object.keys(global).filter(api => preserved.indexOf(api) === -1)\n : patchNeedPromiseApis);\n if (config.modifyApis) {\n config.modifyApis(apis);\n }\n apis.forEach(key => {\n if (_needPromiseApis.has(key)) {\n const originKey = key;\n taro[originKey] = (options = {}, ...args) => {\n let key = originKey;\n // 第一个参数 options 为字符串,单独处理\n if (typeof options === 'string') {\n if (args.length) {\n return global[key](options, ...args);\n }\n return global[key](options);\n }\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n const transformResult = config.transformMeta(key, options);\n key = transformResult.key;\n options = transformResult.options;\n // 新 key 可能不存在\n if (!global.hasOwnProperty(key)) {\n return nonsupport(key)();\n }\n }\n let task = null;\n const obj = Object.assign({}, options);\n // 为页面跳转相关的 API 设置一个随机数作为路由参数。为了给 runtime 区分页面。\n setUniqueKeyToRoute(key, options);\n // Promise 化\n const p = new Promise((resolve, reject) => {\n obj.success = res => {\n var _a, _b;\n (_a = config.modifyAsyncResult) === null || _a === void 0 ? void 0 : _a.call(config, key, res);\n (_b = options.success) === null || _b === void 0 ? void 0 : _b.call(options, res);\n if (key === 'connectSocket') {\n resolve(Promise.resolve().then(() => task ? Object.assign(task, res) : res));\n }\n else {\n resolve(res);\n }\n };\n obj.fail = res => {\n var _a;\n (_a = options.fail) === null || _a === void 0 ? void 0 : _a.call(options, res);\n reject(res);\n };\n obj.complete = res => {\n var _a;\n (_a = options.complete) === null || _a === void 0 ? void 0 : _a.call(options, res);\n };\n if (args.length) {\n task = global[key](obj, ...args);\n }\n else {\n task = global[key](obj);\n }\n });\n // 给 promise 对象挂载属性\n if (['uploadFile', 'downloadFile'].includes(key)) {\n equipTaskMethodsIntoPromise(task, p);\n p.progress = cb => {\n task === null || task === void 0 ? void 0 : task.onProgressUpdate(cb);\n return p;\n };\n p.abort = cb => {\n cb === null || cb === void 0 ? void 0 : cb();\n task === null || task === void 0 ? void 0 : task.abort();\n return p;\n };\n }\n return p;\n };\n }\n else {\n let platformKey = key;\n // 改变 key 或 option 字段,如需要把支付宝标准的字段对齐微信标准的字段\n if (config.transformMeta) {\n platformKey = config.transformMeta(key, {}).key;\n }\n // API 不存在\n if (!global.hasOwnProperty(platformKey)) {\n taro[key] = nonsupport(key);\n return;\n }\n if (isFunction(global[key])) {\n taro[key] = (...args) => {\n if (config.handleSyncApis) {\n return config.handleSyncApis(key, global, args);\n }\n else {\n return global[platformKey].apply(global, args);\n }\n };\n }\n else {\n taro[key] = global[platformKey];\n }\n }\n });\n !config.isOnlyPromisify && equipCommonApis(taro, global, config);\n}\n/**\n * 挂载常用 API\n * @param taro Taro 对象\n * @param global 小程序全局对象,如微信的 wx,支付宝的 my\n */\nfunction equipCommonApis(taro, global, apis = {}) {\n taro.canIUseWebp = getCanIUseWebp(taro);\n taro.getCurrentPages = getCurrentPages || nonsupport('getCurrentPages');\n taro.getApp = getApp || nonsupport('getApp');\n taro.env = global.env || {};\n try {\n taro.requirePlugin = requirePlugin || nonsupport('requirePlugin');\n }\n catch (error) {\n taro.requirePlugin = nonsupport('requirePlugin');\n }\n // request & interceptors\n const request = apis.request || getNormalRequest(global);\n function taroInterceptor(chain) {\n return request(chain.requestParams);\n }\n const link = new taro.Link(taroInterceptor);\n taro.request = link.request.bind(link);\n taro.addInterceptor = link.addInterceptor.bind(link);\n taro.cleanInterceptors = link.cleanInterceptors.bind(link);\n taro.miniGlobal = taro.options.miniGlobal = global;\n}\n/**\n * 将Task对象中的方法挂载到promise对象中,适配小程序api原生返回结果\n * @param task Task对象 {RequestTask | DownloadTask | UploadTask}\n * @param promise Promise\n */\nfunction equipTaskMethodsIntoPromise(task, promise) {\n if (!task || !promise)\n return;\n const taskMethods = ['abort', 'onHeadersReceived', 'offHeadersReceived', 'onProgressUpdate', 'offProgressUpdate', 'onChunkReceived', 'offChunkReceived'];\n task && taskMethods.forEach(method => {\n if (method in task) {\n promise[method] = task[method].bind(task);\n }\n });\n}\n\nexport { EMPTY_ARR, EMPTY_OBJ, Events, HOOK_TYPE, PLATFORM_CONFIG_MAP, PLATFORM_TYPE, TaroHook, TaroHooks, animation, box, cacheDataGet, cacheDataHas, cacheDataSet, capitalize, controlledComponent, ensure, focusComponents, getComponentsAlias, getPlatformType, getUniqueKey, hasOwn, hooks, indent, internalComponents, isArray, isBoolean, isBooleanStringLiteral, isFunction, isNull, isNumber, isObject, isString, isUndefined, isWebPlatform, mergeInternalComponents, mergeReconciler, nestElements, nonsupport, noop, processApis, queryToJson, setUniqueKeyToRoute, singleQuote, toCamelCase, toDashed, toKebabCase, touchEvents, unbox, voidElements, warn };\n//# sourceMappingURL=shared.esm.js.map\n","import { isWebPlatform } from '@tarojs/shared'\n\nexport const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP'\n}\n\nconst isWeb = isWebPlatform()\n\nexport function getEnv () {\n if (process.env.TARO_ENV === 'weapp') {\n return ENV_TYPE.WEAPP\n } else if (process.env.TARO_ENV === 'alipay') {\n return ENV_TYPE.ALIPAY\n } else if (process.env.TARO_ENV === 'swan') {\n return ENV_TYPE.SWAN\n } else if (process.env.TARO_ENV === 'tt') {\n return ENV_TYPE.TT\n } else if (process.env.TARO_ENV === 'jd') {\n return ENV_TYPE.JD\n } else if (process.env.TARO_ENV === 'qq') {\n return ENV_TYPE.QQ\n } else if (isWeb) {\n return ENV_TYPE.WEB\n } else if (process.env.TARO_ENV === 'rn') {\n return ENV_TYPE.RN\n } else if (process.env.TARO_ENV === 'harmony') {\n return ENV_TYPE.HARMONY\n } else if (process.env.TARO_ENV === 'quickapp') {\n return ENV_TYPE.QUICKAPP\n } else {\n return process.env.TARO_ENV || 'Unknown'\n }\n}\n","import { isFunction } from '../utils'\n\nexport default class Chain {\n constructor (requestParams, interceptors, index) {\n this.index = index || 0\n this.requestParams = requestParams\n this.interceptors = interceptors || []\n }\n\n proceed (requestParams) {\n this.requestParams = requestParams\n if (this.index >= this.interceptors.length) {\n throw new Error('chain 参数错误, 请勿直接修改 request.chain')\n }\n const nextInterceptor = this._getNextInterceptor()\n const nextChain = this._getNextChain()\n const p = nextInterceptor(nextChain)\n const res = p.catch(err => Promise.reject(err))\n Object.keys(p).forEach(k => isFunction(p[k]) && (res[k] = p[k]))\n return res\n }\n\n _getNextInterceptor () {\n return this.interceptors[this.index]\n }\n\n _getNextChain () {\n return new Chain(this.requestParams, this.interceptors, this.index + 1)\n }\n}\n","import Chain from './chain'\n\nexport default class Link {\n constructor (interceptor) {\n this.taroInterceptor = interceptor\n this.chain = new Chain()\n }\n\n request (requestParams) {\n const chain = this.chain\n const taroInterceptor = this.taroInterceptor\n\n chain.interceptors = chain.interceptors\n .filter(interceptor => interceptor !== taroInterceptor)\n .concat(taroInterceptor)\n\n return chain.proceed({ ...requestParams })\n }\n\n addInterceptor (interceptor) {\n this.chain.interceptors.push(interceptor)\n }\n\n cleanInterceptors () {\n this.chain = new Chain()\n }\n}\n","import { isFunction, isUndefined } from '../utils'\n\nexport function timeoutInterceptor (chain) {\n const requestParams = chain.requestParams\n let p\n const res = new Promise((resolve, reject) => {\n let timeout = setTimeout(() => {\n timeout = null\n reject(new Error('网络链接超时,请稍后再试!'))\n }, (requestParams && requestParams.timeout) || 60000)\n\n p = chain.proceed(requestParams)\n p\n .then(res => {\n if (!timeout) return\n clearTimeout(timeout)\n resolve(res)\n })\n .catch(err => {\n timeout && clearTimeout(timeout)\n reject(err)\n })\n })\n if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n\nexport function logInterceptor (chain) {\n const requestParams = chain.requestParams\n const { method, data, url } = requestParams\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http ${method || 'GET'} --> ${url} data: `, data)\n }\n\n const p = chain.proceed(requestParams)\n const res = p\n .then(res => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.log(`http <-- ${url} result:`, res)\n }\n return res\n })\n if (isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n","import { isFunction, isObject } from './utils'\n\nexport function Behavior (options) {\n return options\n}\n\nexport function getPreload (current) {\n return function (key, val) {\n current.preloadData = isObject(key)\n ? key\n : {\n [key]: val\n }\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'rpx'\n\nexport function getInitPxTransform (taro) {\n return function (config) {\n const {\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n targetUnit = defaultTargetUnit,\n unitPrecision = defaultUnitPrecision,\n } = config\n taro.config = taro.config || {}\n taro.config.designWidth = designWidth\n taro.config.deviceRatio = deviceRatio\n taro.config.baseFontSize = baseFontSize\n taro.config.targetUnit = targetUnit\n taro.config.unitPrecision = unitPrecision\n }\n}\n\nexport function getPxTransform (taro) {\n return function (size) {\n const config = taro.config || {}\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n const baseFontSize = config.baseFontSize\n const designWidth = (((input = 0) => isFunction(config.designWidth)\n ? config.designWidth(input)\n : config.designWidth || defaultDesignWidth))(size)\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n const formatSize = ~~size\n let rootValue = 1 / config.deviceRatio[designWidth]\n switch (config.targetUnit) {\n case 'rem':\n rootValue *= baseFontSize * 2\n break\n case 'px':\n rootValue *= 2\n break\n }\n let val = formatSize / rootValue\n if (config.unitPrecision >= 0 && config.unitPrecision <= 100) {\n val = Number(val.toFixed(config.unitPrecision))\n }\n return val + config.targetUnit\n }\n}\n","/* eslint-disable camelcase */\nimport './polyfill'\n\nimport {\n Current,\n eventCenter,\n Events,\n getCurrentInstance,\n nextTick,\n options\n} from '@tarojs/runtime'\n\nimport { ENV_TYPE, getEnv } from './env'\nimport Link from './interceptor'\nimport * as interceptors from './interceptor/interceptors'\nimport {\n Behavior,\n getInitPxTransform,\n getPreload,\n getPxTransform\n} from './tools'\n\nconst Taro = {\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n Current,\n getCurrentInstance,\n options,\n nextTick,\n eventCenter,\n Events,\n getInitPxTransform\n}\n\nTaro.initPxTransform = getInitPxTransform(Taro)\nTaro.preload = getPreload(Current)\nTaro.pxTransform = getPxTransform(Taro)\n\nexport default Taro\n"],"names":["isFunction","x","isUndefined","isObject","_typeof","isBadObj","throwTypeError","s","TypeError","Object","assign","target","to","index","arguments","length","nextSource","nextKey","prototype","hasOwnProperty","call","defineProperties","obj","properties","convertToDescriptor","desc","hasProperty","prop","d","enumerable","configurable","value","writable","g","get","set","keys","descs","i","push","defineProperty","DEFAULT_EMPTY_ARRAY","NO_DEFAULT_VALUE","DEFAULT_TRUE","DEFAULT_FALSE","bindTouchStart","bindTouchMove","bindTouchEnd","bindTouchCancel","bindLongTap","animation","bindAnimationStart","bindAnimationIteration","bindAnimationEnd","bindTransitionEnd","singleQuote","touchEvents","longitude","latitude","scale","markers","covers","polyline","circles","controls","bindMarkerTap","bindControlTap","bindCalloutTap","bindUpdated","size","type","plain","disabled","loading","name","direction","inertia","y","damping","friction","bindChange","bindScale","bindHTouchMove","bindVTouchMove","width","height","bindScrollToUpper","bindScrollToLower","bindScroll","autoplay","current","interval","duration","circular","vertical","bindTransition","bindAnimationFinish","src","mode","bindError","bindLoad","muted","orientation","bindStateChange","bindFullScreenChange","bindNetStatus","loop","poster","bindPlay","bindPause","bindEnded","bindTimeUpdate","bindWaiting","ENV_TYPE","WEAPP","SWAN","ALIPAY","TT","QQ","JD","WEB","RN","HARMONY","QUICKAPP","isWeb","isWebPlatform","getEnv","process","env","TARO_ENV","Chain","requestParams","interceptors","_classCallCheck","_createClass","Error","nextInterceptor","_getNextInterceptor","nextChain","_getNextChain","p","res","catch","err","Promise","reject","forEach","k","Link","interceptor","taroInterceptor","chain","filter","concat","proceed","_objectSpread","timeoutInterceptor","resolve","timeout","setTimeout","then","clearTimeout","abort","logInterceptor","method","data","url","NODE_ENV","console","log","Behavior","options","getPreload","key","val","preloadData","_defineProperty","defaultDesignWidth","defaultDesignRatio","defaultBaseFontSize","defaultUnitPrecision","defaultTargetUnit","getInitPxTransform","taro","config","designWidth","deviceRatio","baseFontSize","targetUnit","unitPrecision","getPxTransform","input","formatSize","rootValue","Number","toFixed","Taro","Current","getCurrentInstance","nextTick","eventCenter","Events","initPxTransform","preload","pxTransform"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/api",
3
- "version": "3.7.0-alpha.1",
3
+ "version": "3.7.0-alpha.2",
4
4
  "description": "Taro common API",
5
5
  "author": "yuche <i@yuche.me>",
6
6
  "homepage": "https://github.com/nervjs/taro/tree/master/packages/api#readme",
@@ -26,8 +26,8 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@babel/runtime": "^7.14.5",
29
- "@tarojs/runtime": "3.7.0-alpha.1",
30
- "@tarojs/shared": "3.7.0-alpha.1"
29
+ "@tarojs/runtime": "3.7.0-alpha.2",
30
+ "@tarojs/shared": "3.7.0-alpha.2"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@babel/core": "^7.14.5",