@tarojs/with-weapp 3.5.6-alpha.2 → 3.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -515,6 +515,13 @@ function withWeapp(weappConf) {
515
515
  _this.triggerEvent = function (eventName, detail, options) {
516
516
  if (options) {
517
517
  report('triggerEvent 不支持事件选项。');
518
+ } // eventName support kebab case
519
+
520
+
521
+ if (eventName.match(/[a-z]+-[a-z]+/g)) {
522
+ eventName = eventName.replace(/-[a-z]/g, function (match) {
523
+ return match[1].toUpperCase();
524
+ });
518
525
  }
519
526
 
520
527
  var props = _this.props;
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/lifecycle.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":["interface LifecycleMap {\n [key: string]: string[]\n}\n\nexport enum TaroLifeCycles {\n WillMount = 'componentWillMount',\n DidMount = 'componentDidMount',\n DidShow = 'componentDidShow',\n DidHide = 'componentDidHide',\n WillUnmount = 'componentWillUnmount'\n}\n\nexport const lifecycleMap: LifecycleMap = {\n [TaroLifeCycles.WillMount]: ['created'],\n [TaroLifeCycles.DidMount]: ['attached'],\n [TaroLifeCycles.DidShow]: ['onShow'],\n [TaroLifeCycles.DidHide]: ['onHide'],\n [TaroLifeCycles.WillUnmount]: ['detached', 'onUnload']\n}\n\nexport const lifecycles = new Set<string>(['ready'])\n\nfor (const key in lifecycleMap) {\n const lifecycle = lifecycleMap[key]\n lifecycle.forEach(l => lifecycles.add(l))\n}\n\nexport const uniquePageLifecycle = [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onShareAppMessage',\n 'onShareTimeline',\n 'onAddToFavorites',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap'\n]\n\nexport const appOptions = [\n 'onLaunch',\n 'onShow',\n 'onHide',\n 'onError',\n 'onPageNotFound',\n 'onUnhandledRejection',\n 'onThemeChange'\n]\n","/**\n * Simple bind, faster than native\n */\nexport function bind (fn /*: Function */, ctx /*: Object */) /*: Function */ {\n if (!fn) return false\n\n function boundFn (a) {\n const l /*: number */ = arguments.length\n return l ? (l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a)) : fn.call(ctx)\n }\n\n // record original fn length\n boundFn._length = fn.length\n return boundFn\n}\n\nexport function isEqual (obj1, obj2) {\n return JSON.stringify(obj1) === JSON.stringify(obj2)\n}\n\nexport function noop (..._: unknown[]) {\n //\n}\n\nconst sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n}\n\nexport function proxy (target, sourceKey: string, key: string) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n }\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val\n }\n Object.defineProperty(target, key, sharedPropertyDefinition)\n}\n\nexport function safeGet (obj, propsArg, defaultValue?) {\n if (!obj) {\n return defaultValue\n }\n let props, prop\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0)\n }\n if (typeof propsArg === 'string') {\n props = propsArg.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof propsArg === 'symbol') {\n props = [propsArg]\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol')\n }\n while (props.length) {\n prop = props.shift()\n if (!obj) {\n return defaultValue\n }\n obj = obj[prop]\n if (obj === undefined) {\n return defaultValue\n }\n }\n return obj\n}\n\nexport function safeSet (obj, props, value) {\n if (typeof props === 'string') {\n props = props.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof props === 'symbol') {\n props = [props]\n }\n const lastProp = props.pop()\n if (!lastProp) {\n return false\n }\n let thisProp\n while ((thisProp = props.shift())) {\n if (typeof obj[thisProp] === 'undefined') {\n obj[thisProp] = {}\n }\n\n // 直接按路径修改 this.state 可能会导致 nextProps 也被修改\n // 因此按路径寻找时,每一层都复制一遍\n if (Array.isArray(obj[thisProp])) {\n obj[thisProp] = [...obj[thisProp]]\n } else if (typeof obj[thisProp] === 'object') {\n obj[thisProp] = { ...obj[thisProp] }\n }\n\n obj = obj[thisProp]\n if (!obj || typeof obj !== 'object') {\n return false\n }\n }\n obj[lastProp] = value\n return true\n}\n\nexport function report (msg) {\n console.warn('[Taro Convert Warning] ' + msg)\n}\n\nexport const nonsupport = new Map([\n ['onError', '不支持 App 的 onError 生命周期方法。'],\n ['onPageNotFound', '不支持 App 的 onPageNotFound 生命周期方法。'],\n ['onUnhandledRejection', '不支持 App 的 onUnhandledRejection 生命周期方法。'],\n ['onThemeChange', '不支持 App 的 onThemeChange 生命周期方法。'],\n ['moved', '不支持自定义组件的 moved 生命周期。'],\n ['externalClasses', '不支持自定义组件的 externalClasses 功能。'],\n ['relations', '不支持自定义组件的 relations 功能。'],\n ['options', '不支持自定义组件的 options 功能。'],\n ['definitionFilter', '不支持自定义组件的 definitionFilter 功能。'],\n ['selectComponent', 'selectComponent 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectAllComponents', 'selectAllComponents 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectOwnerComponent', 'selectOwnerComponent 方法产生不到目标效果,请使用 React 语法重构。'],\n ['groupSetData', 'groupSetData 方法产生不到目标效果,请使用 React 语法重构。']\n])\n\nexport function flattenBehaviors (behavior, behaviorMap: Map<string, any[]>) {\n if (typeof behavior === 'string') {\n return report(`不支持使用内置 Behavior: [${behavior}]`)\n }\n const subBehaviors = behavior.behaviors\n if (subBehaviors?.length) {\n subBehaviors.forEach(subBehavior => flattenBehaviors(subBehavior, behaviorMap))\n }\n\n Object.keys(behavior).forEach(key => {\n // 不支持的属性\n if (nonsupport.has(key)) {\n const advise = nonsupport.get(key)\n return report(advise)\n }\n\n if (behaviorMap.has(key)) {\n const list = behaviorMap.get(key)!\n const value = behavior[key]\n list.push(value)\n }\n })\n}\n","import { Func, getCurrentInstance } from '@tarojs/runtime'\nimport { ComponentLifecycle, eventCenter, nextTick } from '@tarojs/taro'\n\nimport { clone } from './clone'\nimport { diff } from './diff'\nimport { appOptions, lifecycleMap, lifecycles, TaroLifeCycles, uniquePageLifecycle } from './lifecycle'\nimport { bind, flattenBehaviors, isEqual, nonsupport, report, safeGet, safeSet } from './utils'\n\ntype Observer = (newProps, oldProps, changePath: string) => void\n\ninterface ObserverProperties {\n name: string\n observer: string | Observer\n}\n\ninterface ComponentClass<P = Record<string, any>, S = Record<string, any>> extends ComponentLifecycle<P, S> {\n new (props: P)\n externalClasses: Record<string, unknown>\n defaultProps?: Partial<P>\n _observeProps?: ObserverProperties[]\n observers?: Record<string, Func>\n}\n\ninterface WxOptions {\n methods?: Record<string, Func>\n properties?: Record<string, Record<string, unknown> | Func>\n props?: Record<string, unknown>\n data?: Record<string, unknown>\n observers?: Record<string, Func>\n lifetimes?: Record<string, Func>\n behaviors?: any[]\n}\n\nfunction defineGetter (component, key: string, getter: string) {\n Object.defineProperty(component, key, {\n enumerable: true,\n configurable: true,\n get: () => {\n if (getter === 'props') {\n return component.props\n }\n return {\n ...component.state,\n ...component.props\n }\n }\n })\n}\n\nfunction isFunction (o): o is Func {\n return typeof o === 'function'\n}\n\nexport default function withWeapp (weappConf: WxOptions, isApp = false) {\n if (typeof weappConf === 'object' && Object.keys(weappConf).length === 0) {\n report('withWeapp 请传入“App/页面/组件“的配置对象。如果原生写法使用了基类,请将基类组合后的配置对象传入,详情请参考文档。')\n }\n return (ConnectComponent: ComponentClass<any, any>) => {\n const behaviorMap = new Map<string, any[]>([\n ['properties', []],\n ['data', []],\n ['methods', []],\n ['created', []],\n ['attached', []],\n ['ready', []],\n ['detached', []]\n ])\n const behaviorProperties = {}\n if (weappConf.behaviors?.length) {\n const { behaviors } = weappConf\n behaviors.forEach(behavior => flattenBehaviors(behavior, behaviorMap))\n\n const propertiesList = behaviorMap.get('properties')!\n if (propertiesList.length) {\n propertiesList.forEach(property => {\n Object.assign(behaviorProperties, property)\n })\n Object.keys(behaviorProperties).forEach(propName => {\n const propValue = behaviorProperties[propName]\n if (!weappConf.properties) {\n weappConf.properties = {}\n }\n if (!weappConf.properties.hasOwnProperty(propName)) {\n if (propValue && typeof propValue === 'object' && propValue.value) {\n propValue.value = clone(propValue.value)\n }\n weappConf.properties[propName] = propValue\n }\n })\n }\n }\n\n class BaseComponent<P = Record<string, any>, S = Record<string, any>> extends ConnectComponent {\n private _observeProps: ObserverProperties[] = []\n\n // mixins 可以多次调用生命周期\n private willMounts: Func[] = []\n\n private didMounts: Func[] = []\n\n private didHides: Func[] = []\n\n private didShows: Func[] = []\n\n private willUnmounts: Func[] = []\n\n private eventDestroyList: Func[] = []\n\n private current: any = getCurrentInstance()\n\n public observers?: Record<string, Func>\n\n public taroGlobalData: Record<any, any> = Object.create(null)\n\n public data: any\n\n constructor (props) {\n super(props)\n this.state = this.state || {}\n this.init(weappConf)\n defineGetter(this, 'data', 'state')\n defineGetter(this, 'properties', 'props')\n }\n\n private initProps (props: any) {\n for (const propKey in props) {\n if (props.hasOwnProperty(propKey)) {\n const propValue = props[propKey]\n // propValue 可能是 null, 构造函数, 对象\n if (propValue && !isFunction(propValue)) {\n if (propValue.observer) {\n this._observeProps.push({\n name: propKey,\n observer: propValue.observer\n })\n }\n }\n }\n }\n }\n\n private init (options: WxOptions) {\n // 处理 Behaviors\n if (options.behaviors?.length) {\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'created':\n case 'attached':\n case 'detached':\n case 'ready':\n list.forEach(fn => this.initLifeCycles(key, fn))\n break\n }\n }\n }\n\n for (const confKey in options) {\n // 不支持的属性\n if (nonsupport.has(confKey)) {\n const advise = nonsupport.get(confKey)\n report(advise)\n }\n\n const confValue = options[confKey]\n\n switch (confKey) {\n case 'behaviors':\n break\n case 'data': {\n if (isApp) {\n this[confKey] = confValue\n if (!appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n } else {\n this.state = {\n ...confValue,\n ...this.state\n }\n }\n break\n }\n case 'properties':\n this.initProps(Object.assign(behaviorProperties, confValue))\n break\n case 'methods':\n for (const key in confValue) {\n const method = confValue[key]\n this[key] = bind(method, this)\n }\n break\n case 'lifetimes':\n for (const key in confValue) {\n this.initLifeCycles(key, confValue[key])\n }\n break\n case 'pageLifetimes':\n for (const key in confValue) {\n const cb = confValue[key]\n switch (key) {\n case 'show': {\n this.initLifeCycleListener('show', cb)\n break\n }\n case 'hide': {\n this.initLifeCycleListener('hide', cb)\n break\n }\n case 'resize': {\n report('不支持组件所在页面的生命周期 pageLifetimes.resize。')\n break\n }\n }\n }\n break\n default:\n if (lifecycles.has(confKey)) {\n // 优先使用 lifetimes 中定义的生命周期\n if (options.lifetimes?.[confKey]) {\n break\n }\n\n const lifecycle = options[confKey]\n this.initLifeCycles(confKey, lifecycle)\n } else if (isFunction(confValue)) {\n this[confKey] = bind(confValue, this)\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n\n // 原生页面和 Taro 页面中共计只能定义一次的生命周期\n if (uniquePageLifecycle.includes(confKey) && ConnectComponent.prototype[confKey]) {\n report(`生命周期 ${confKey} 已在原生部分进行定义,React 部分的定义将不会被执行。`)\n }\n } else {\n this[confKey] = confValue\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n }\n\n break\n }\n }\n\n // 处理 Behaviors\n if (options.behaviors?.length) {\n const behaviorData = {}\n const methods = {}\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'data':\n [...list, this.state].forEach((dataObject, index) => {\n Object.keys(dataObject).forEach(dataKey => {\n const value = dataObject[dataKey]\n const preValue = behaviorData[dataKey]\n const valueType = typeof value\n const preValueType = typeof preValue\n if (valueType === 'object') {\n if (!value) {\n behaviorData[dataKey] = value\n } else if (preValueType !== 'object' || !preValueType || Array.isArray(value)) {\n behaviorData[dataKey] = index === list.length ? value : clone(value)\n } else {\n const newVal = Object.assign({}, preValue, value)\n behaviorData[dataKey] = index === list.length ? newVal : clone(newVal)\n }\n } else {\n behaviorData[dataKey] = value\n }\n })\n })\n this.state = behaviorData\n break\n case 'methods':\n list.forEach(methodsObject => {\n Object.assign(methods, methodsObject)\n })\n Object.keys(methods).forEach(methodName => {\n if (!this[methodName]) {\n const method = methods[methodName]\n this[methodName] = bind(method, this)\n }\n })\n break\n default:\n break\n }\n }\n }\n }\n\n private initLifeCycles (lifecycleName: string, lifecycle: Func) {\n // 不支持的生命周期\n if (nonsupport.has(lifecycleName)) {\n const advise = nonsupport.get(lifecycleName)\n return report(advise)\n }\n\n if (lifecycleName === 'ready') {\n // 如果组件是延时渲染的,页面 onReady 的事件已经 emit 了,因此使用 componentDidMount + nextTick 模拟\n if (this.current.page.onReady.called) {\n this.didMounts.push(function (...args: unknown[]) {\n nextTick(() => {\n if (isFunction(lifecycle)) {\n lifecycle.apply(this, args)\n }\n })\n })\n } else {\n this.initLifeCycleListener('ready', lifecycle)\n }\n } else {\n for (const lifecycleKey in lifecycleMap) {\n const cycleNames = lifecycleMap[lifecycleKey]\n if (cycleNames.indexOf(lifecycleName) !== -1) {\n switch (lifecycleKey) {\n case TaroLifeCycles.DidHide:\n this.didHides.push(lifecycle)\n break\n case TaroLifeCycles.DidMount:\n this.didMounts.push(lifecycle)\n break\n case TaroLifeCycles.DidShow:\n this.didShows.push(lifecycle)\n break\n case TaroLifeCycles.WillMount:\n this.willMounts.push(lifecycle)\n break\n case TaroLifeCycles.WillUnmount:\n this.willUnmounts.push(lifecycle)\n break\n default:\n break\n }\n }\n }\n }\n\n // mixins 不会覆盖已经设置的生命周期,加入到 this 是为了形如 this.created() 的调用\n if (!isFunction(this[lifecycleName])) {\n this[lifecycleName] = lifecycle\n }\n }\n\n private safeExecute = (func?: Func, ...args: unknown[]) => {\n if (isFunction(func)) func.apply(this, args)\n }\n\n private initLifeCycleListener (name: string, cb: (...args: any[]) => void) {\n // 组件的 ready、show、hide 需要利用页面事件触发\n const { router } = this.current\n const lifecycleName = `on${name[0].toUpperCase()}${name.slice(1)}`\n cb = cb.bind(this)\n router?.[lifecycleName] && eventCenter.on(router[lifecycleName], cb)\n // unMount 时需要取消事件监听\n this.eventDestroyList.push(() => eventCenter.off(router[lifecycleName], cb))\n }\n\n private executeLifeCycles (funcs: Func[], ...args: unknown[]) {\n for (let i = 0; i < funcs.length; i++) {\n const func = funcs[i]\n this.safeExecute(func, ...args)\n }\n }\n\n private triggerPropertiesObservers (prevProps, nextProps) {\n this._observeProps.forEach(({ name: key, observer }) => {\n const prop = prevProps?.[key]\n const nextProp = nextProps[key]\n // 小程序是深比较不同之后才 trigger observer\n if (!isEqual(prop, nextProp)) {\n if (typeof observer === 'string') {\n const ob = this[observer]\n if (isFunction(ob)) {\n ob.call(this, nextProp, prop, key)\n }\n } else if (isFunction(observer)) {\n observer.call(this, nextProp, prop, key)\n }\n }\n })\n }\n\n private triggerObservers (current, prev) {\n const observers = this.observers\n if (observers == null) {\n return\n }\n\n if (Object.keys(observers).length === 0) {\n return\n }\n\n const result = diff(current, prev)\n const resultKeys = Object.keys(result)\n if (resultKeys.length === 0) {\n return\n }\n\n for (const observerKey in observers) {\n if (/\\*\\*/.test(observerKey)) {\n report('数据监听器 observers 不支持使用通配符 **。')\n continue\n }\n\n const keys = observerKey.split(',').map(k => k.trim())\n let isModified = false\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n for (let j = 0; j < resultKeys.length; j++) {\n const resultKey = resultKeys[j]\n if (\n resultKey.startsWith(key) ||\n (key.startsWith(resultKey) && key.endsWith(']'))\n ) {\n isModified = true\n }\n }\n }\n if (isModified) {\n observers[observerKey].apply(this, keys.map(key => safeGet(current, key)))\n }\n }\n }\n\n private defineProperty (target, key, data) {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: true,\n set (value) {\n data[key] = value\n },\n get () {\n return data[key]\n }\n })\n }\n\n public privateStopNoop (...args) {\n let e\n let fn\n if (args.length === 2) {\n fn = args[0]\n e = args[1]\n } else if (args.length === 1) {\n e = args[0]\n }\n if (e.type === 'touchmove') {\n report('catchtouchmove 转换后只能停止回调函数的冒泡,不能阻止滚动穿透。如要阻止滚动穿透,可以手动给编译后的 View 组件加上 catchMove 属性')\n }\n e.stopPropagation()\n isFunction(fn) && fn(e)\n }\n\n // ================ React 生命周期 ================\n\n public componentWillMount () {\n this.safeExecute(super.componentWillMount)\n this.executeLifeCycles(this.willMounts, this.current.router || {})\n this.triggerObservers(this.data, BaseComponent.defaultProps)\n this.triggerPropertiesObservers(BaseComponent.defaultProps, this.props)\n }\n\n public componentDidMount () {\n this.safeExecute(super.componentDidMount)\n this.executeLifeCycles(this.didMounts)\n }\n\n public componentWillUnmount () {\n this.eventDestroyList.forEach(fn => fn())\n this.safeExecute(super.componentWillUnmount)\n this.executeLifeCycles(this.willUnmounts)\n }\n\n public componentDidHide () {\n this.safeExecute(super.componentDidHide)\n this.executeLifeCycles(this.didHides)\n }\n\n public componentDidShow () {\n this.safeExecute(super.componentDidShow, this.current.router || {})\n this.executeLifeCycles(this.didShows, this.current.router || {})\n }\n\n public componentWillReceiveProps (nextProps: P) {\n this.triggerObservers(nextProps, this.props)\n this.triggerPropertiesObservers(this.props, nextProps)\n this.safeExecute(super.componentWillReceiveProps)\n }\n\n // ================ 小程序 App, Page, Component 实例属性与方法 ================\n\n get is () {\n return this.current.page.is\n }\n\n get id () {\n return this.current.page.id\n }\n\n get dataset () {\n return this.current.page.dataset\n }\n\n public setData = (obj: S, callback?: () => void) => {\n let oldState\n if (this.observers && Object.keys(Object.keys(this.observers))) {\n oldState = clone(this.state)\n }\n Object.keys(obj).forEach(key => {\n safeSet(this.state, key, obj[key])\n })\n this.setState(this.state, () => {\n this.triggerObservers(this.state, oldState)\n if (callback) {\n callback.call(this)\n }\n })\n }\n\n public triggerEvent = (eventName: string, detail, options) => {\n if (options) {\n report('triggerEvent 不支持事件选项。')\n }\n\n const props = this.props\n const dataset = {}\n for (const key in props) {\n if (!key.startsWith('data-')) continue\n dataset[key.replace(/^data-/, '')] = props[key]\n }\n\n const func = props[`on${eventName[0].toUpperCase()}${eventName.slice(1)}`]\n if (isFunction(func)) {\n func.call(this, {\n type: eventName,\n detail,\n target: {\n id: props.id || '',\n dataset\n },\n currentTarget: {\n id: props.id || '',\n dataset\n }\n })\n }\n }\n\n private componentMethodsProxy (method: string) {\n return (...args: any[]) => {\n const page = this.current.page\n if (page?.[method]) {\n return page[method](...args)\n } else {\n console.error(`page 下没有 ${method} 方法`)\n }\n }\n }\n\n public hasBehavior = this.componentMethodsProxy('hasBehavior')\n public createSelectorQuery = this.componentMethodsProxy('createSelectorQuery')\n public createIntersectionObserver = this.componentMethodsProxy('createIntersectionObserver')\n public createMediaQueryObserver = this.componentMethodsProxy('createMediaQueryObserver')\n public getRelationNodes = this.componentMethodsProxy('getRelationNodes')\n public getTabBar = this.componentMethodsProxy('getTabBar')\n public getPageId = this.componentMethodsProxy('getPageId')\n public animate = this.componentMethodsProxy('animate')\n public clearAnimation = this.componentMethodsProxy('clearAnimation')\n public setUpdatePerformanceListener = this.componentMethodsProxy('setUpdatePerformanceListener')\n\n public selectComponent () {\n report(nonsupport.get('selectComponent'))\n }\n\n public selectAllComponents () {\n report(nonsupport.get('selectAllComponents'))\n }\n\n public selectOwnerComponent () {\n report(nonsupport.get('selectOwnerComponent'))\n }\n\n public groupSetData () {\n report(nonsupport.get('groupSetData'))\n }\n }\n\n const props = weappConf.properties\n\n if (props) {\n for (const propKey in props) {\n const propValue = props[propKey]\n if (propValue != null && !isFunction(propValue)) {\n if (propValue.value !== undefined) { // 如果是 null 也赋值到 defaultProps\n BaseComponent.defaultProps = {\n [propKey]: propValue.value,\n ...BaseComponent.defaultProps\n }\n }\n }\n }\n }\n\n const staticOptions = ['externalClasses', 'relations', 'options']\n\n staticOptions.forEach(option => {\n const value = weappConf[option]\n if (value != null) {\n BaseComponent[option] = value\n }\n })\n\n return BaseComponent\n }\n}\n"],"names":["TaroLifeCycles","lifecycleMap","WillMount","DidMount","DidShow","DidHide","WillUnmount","lifecycles","Set","key","lifecycle","forEach","l","add","uniquePageLifecycle","appOptions","bind","fn","ctx","boundFn","a","arguments","length","apply","call","_length","isEqual","obj1","obj2","JSON","stringify","safeGet","obj","propsArg","defaultValue","props","prop","Array","isArray","slice","replace","split","Error","shift","undefined","safeSet","value","lastProp","pop","thisProp","Object","assign","report","msg","console","warn","nonsupport","Map","flattenBehaviors","behavior","behaviorMap","subBehaviors","behaviors","subBehavior","keys","has","advise","get","list","push","defineGetter","component","getter","defineProperty","enumerable","configurable","state","isFunction","o","withWeapp","weappConf","isApp","ConnectComponent","behaviorProperties","_a","propertiesList","property","propName","propValue","properties","hasOwnProperty","clone","BaseComponent","_observeProps","willMounts","didMounts","didHides","didShows","willUnmounts","eventDestroyList","current","getCurrentInstance","taroGlobalData","create","safeExecute","func","args","setData","callback","oldState","observers","setState","triggerObservers","triggerEvent","eventName","detail","options","dataset","startsWith","toUpperCase","type","target","id","currentTarget","hasBehavior","componentMethodsProxy","createSelectorQuery","createIntersectionObserver","createMediaQueryObserver","getRelationNodes","getTabBar","getPageId","animate","clearAnimation","setUpdatePerformanceListener","init","propKey","observer","name","entries","initLifeCycles","confKey","confValue","includes","initProps","method","cb","initLifeCycleListener","lifetimes","_b","prototype","_c","behaviorData","methods","dataObject","index","dataKey","preValue","valueType","preValueType","newVal","methodsObject","methodName","lifecycleName","page","onReady","called","nextTick","lifecycleKey","cycleNames","indexOf","router","eventCenter","on","off","funcs","i","prevProps","nextProps","nextProp","ob","prev","result","diff","resultKeys","observerKey","test","map","k","trim","isModified","j","resultKey","endsWith","data","set","e","stopPropagation","executeLifeCycles","defaultProps","triggerPropertiesObservers","is","error","staticOptions","option"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/lifecycle.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":["interface LifecycleMap {\n [key: string]: string[]\n}\n\nexport enum TaroLifeCycles {\n WillMount = 'componentWillMount',\n DidMount = 'componentDidMount',\n DidShow = 'componentDidShow',\n DidHide = 'componentDidHide',\n WillUnmount = 'componentWillUnmount'\n}\n\nexport const lifecycleMap: LifecycleMap = {\n [TaroLifeCycles.WillMount]: ['created'],\n [TaroLifeCycles.DidMount]: ['attached'],\n [TaroLifeCycles.DidShow]: ['onShow'],\n [TaroLifeCycles.DidHide]: ['onHide'],\n [TaroLifeCycles.WillUnmount]: ['detached', 'onUnload']\n}\n\nexport const lifecycles = new Set<string>(['ready'])\n\nfor (const key in lifecycleMap) {\n const lifecycle = lifecycleMap[key]\n lifecycle.forEach(l => lifecycles.add(l))\n}\n\nexport const uniquePageLifecycle = [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onShareAppMessage',\n 'onShareTimeline',\n 'onAddToFavorites',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap'\n]\n\nexport const appOptions = [\n 'onLaunch',\n 'onShow',\n 'onHide',\n 'onError',\n 'onPageNotFound',\n 'onUnhandledRejection',\n 'onThemeChange'\n]\n","/**\n * Simple bind, faster than native\n */\nexport function bind (fn /*: Function */, ctx /*: Object */) /*: Function */ {\n if (!fn) return false\n\n function boundFn (a) {\n const l /*: number */ = arguments.length\n return l ? (l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a)) : fn.call(ctx)\n }\n\n // record original fn length\n boundFn._length = fn.length\n return boundFn\n}\n\nexport function isEqual (obj1, obj2) {\n return JSON.stringify(obj1) === JSON.stringify(obj2)\n}\n\nexport function noop (..._: unknown[]) {\n //\n}\n\nconst sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n}\n\nexport function proxy (target, sourceKey: string, key: string) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n }\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val\n }\n Object.defineProperty(target, key, sharedPropertyDefinition)\n}\n\nexport function safeGet (obj, propsArg, defaultValue?) {\n if (!obj) {\n return defaultValue\n }\n let props, prop\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0)\n }\n if (typeof propsArg === 'string') {\n props = propsArg.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof propsArg === 'symbol') {\n props = [propsArg]\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol')\n }\n while (props.length) {\n prop = props.shift()\n if (!obj) {\n return defaultValue\n }\n obj = obj[prop]\n if (obj === undefined) {\n return defaultValue\n }\n }\n return obj\n}\n\nexport function safeSet (obj, props, value) {\n if (typeof props === 'string') {\n props = props.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof props === 'symbol') {\n props = [props]\n }\n const lastProp = props.pop()\n if (!lastProp) {\n return false\n }\n let thisProp\n while ((thisProp = props.shift())) {\n if (typeof obj[thisProp] === 'undefined') {\n obj[thisProp] = {}\n }\n\n // 直接按路径修改 this.state 可能会导致 nextProps 也被修改\n // 因此按路径寻找时,每一层都复制一遍\n if (Array.isArray(obj[thisProp])) {\n obj[thisProp] = [...obj[thisProp]]\n } else if (typeof obj[thisProp] === 'object') {\n obj[thisProp] = { ...obj[thisProp] }\n }\n\n obj = obj[thisProp]\n if (!obj || typeof obj !== 'object') {\n return false\n }\n }\n obj[lastProp] = value\n return true\n}\n\nexport function report (msg) {\n console.warn('[Taro Convert Warning] ' + msg)\n}\n\nexport const nonsupport = new Map([\n ['onError', '不支持 App 的 onError 生命周期方法。'],\n ['onPageNotFound', '不支持 App 的 onPageNotFound 生命周期方法。'],\n ['onUnhandledRejection', '不支持 App 的 onUnhandledRejection 生命周期方法。'],\n ['onThemeChange', '不支持 App 的 onThemeChange 生命周期方法。'],\n ['moved', '不支持自定义组件的 moved 生命周期。'],\n ['externalClasses', '不支持自定义组件的 externalClasses 功能。'],\n ['relations', '不支持自定义组件的 relations 功能。'],\n ['options', '不支持自定义组件的 options 功能。'],\n ['definitionFilter', '不支持自定义组件的 definitionFilter 功能。'],\n ['selectComponent', 'selectComponent 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectAllComponents', 'selectAllComponents 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectOwnerComponent', 'selectOwnerComponent 方法产生不到目标效果,请使用 React 语法重构。'],\n ['groupSetData', 'groupSetData 方法产生不到目标效果,请使用 React 语法重构。']\n])\n\nexport function flattenBehaviors (behavior, behaviorMap: Map<string, any[]>) {\n if (typeof behavior === 'string') {\n return report(`不支持使用内置 Behavior: [${behavior}]`)\n }\n const subBehaviors = behavior.behaviors\n if (subBehaviors?.length) {\n subBehaviors.forEach(subBehavior => flattenBehaviors(subBehavior, behaviorMap))\n }\n\n Object.keys(behavior).forEach(key => {\n // 不支持的属性\n if (nonsupport.has(key)) {\n const advise = nonsupport.get(key)\n return report(advise)\n }\n\n if (behaviorMap.has(key)) {\n const list = behaviorMap.get(key)!\n const value = behavior[key]\n list.push(value)\n }\n })\n}\n","import { Func, getCurrentInstance } from '@tarojs/runtime'\nimport { ComponentLifecycle, eventCenter, nextTick } from '@tarojs/taro'\n\nimport { clone } from './clone'\nimport { diff } from './diff'\nimport { appOptions, lifecycleMap, lifecycles, TaroLifeCycles, uniquePageLifecycle } from './lifecycle'\nimport { bind, flattenBehaviors, isEqual, nonsupport, report, safeGet, safeSet } from './utils'\n\ntype Observer = (newProps, oldProps, changePath: string) => void\n\ninterface ObserverProperties {\n name: string\n observer: string | Observer\n}\n\ninterface ComponentClass<P = Record<string, any>, S = Record<string, any>> extends ComponentLifecycle<P, S> {\n new (props: P)\n externalClasses: Record<string, unknown>\n defaultProps?: Partial<P>\n _observeProps?: ObserverProperties[]\n observers?: Record<string, Func>\n}\n\ninterface WxOptions {\n methods?: Record<string, Func>\n properties?: Record<string, Record<string, unknown> | Func>\n props?: Record<string, unknown>\n data?: Record<string, unknown>\n observers?: Record<string, Func>\n lifetimes?: Record<string, Func>\n behaviors?: any[]\n}\n\nfunction defineGetter (component, key: string, getter: string) {\n Object.defineProperty(component, key, {\n enumerable: true,\n configurable: true,\n get: () => {\n if (getter === 'props') {\n return component.props\n }\n return {\n ...component.state,\n ...component.props\n }\n }\n })\n}\n\nfunction isFunction (o): o is Func {\n return typeof o === 'function'\n}\n\nexport default function withWeapp (weappConf: WxOptions, isApp = false) {\n if (typeof weappConf === 'object' && Object.keys(weappConf).length === 0) {\n report('withWeapp 请传入“App/页面/组件“的配置对象。如果原生写法使用了基类,请将基类组合后的配置对象传入,详情请参考文档。')\n }\n return (ConnectComponent: ComponentClass<any, any>) => {\n const behaviorMap = new Map<string, any[]>([\n ['properties', []],\n ['data', []],\n ['methods', []],\n ['created', []],\n ['attached', []],\n ['ready', []],\n ['detached', []]\n ])\n const behaviorProperties = {}\n if (weappConf.behaviors?.length) {\n const { behaviors } = weappConf\n behaviors.forEach(behavior => flattenBehaviors(behavior, behaviorMap))\n\n const propertiesList = behaviorMap.get('properties')!\n if (propertiesList.length) {\n propertiesList.forEach(property => {\n Object.assign(behaviorProperties, property)\n })\n Object.keys(behaviorProperties).forEach(propName => {\n const propValue = behaviorProperties[propName]\n if (!weappConf.properties) {\n weappConf.properties = {}\n }\n if (!weappConf.properties.hasOwnProperty(propName)) {\n if (propValue && typeof propValue === 'object' && propValue.value) {\n propValue.value = clone(propValue.value)\n }\n weappConf.properties[propName] = propValue\n }\n })\n }\n }\n\n class BaseComponent<P = Record<string, any>, S = Record<string, any>> extends ConnectComponent {\n private _observeProps: ObserverProperties[] = []\n\n // mixins 可以多次调用生命周期\n private willMounts: Func[] = []\n\n private didMounts: Func[] = []\n\n private didHides: Func[] = []\n\n private didShows: Func[] = []\n\n private willUnmounts: Func[] = []\n\n private eventDestroyList: Func[] = []\n\n private current: any = getCurrentInstance()\n\n public observers?: Record<string, Func>\n\n public taroGlobalData: Record<any, any> = Object.create(null)\n\n public data: any\n\n constructor (props) {\n super(props)\n this.state = this.state || {}\n this.init(weappConf)\n defineGetter(this, 'data', 'state')\n defineGetter(this, 'properties', 'props')\n }\n\n private initProps (props: any) {\n for (const propKey in props) {\n if (props.hasOwnProperty(propKey)) {\n const propValue = props[propKey]\n // propValue 可能是 null, 构造函数, 对象\n if (propValue && !isFunction(propValue)) {\n if (propValue.observer) {\n this._observeProps.push({\n name: propKey,\n observer: propValue.observer\n })\n }\n }\n }\n }\n }\n\n private init (options: WxOptions) {\n // 处理 Behaviors\n if (options.behaviors?.length) {\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'created':\n case 'attached':\n case 'detached':\n case 'ready':\n list.forEach(fn => this.initLifeCycles(key, fn))\n break\n }\n }\n }\n\n for (const confKey in options) {\n // 不支持的属性\n if (nonsupport.has(confKey)) {\n const advise = nonsupport.get(confKey)\n report(advise)\n }\n\n const confValue = options[confKey]\n\n switch (confKey) {\n case 'behaviors':\n break\n case 'data': {\n if (isApp) {\n this[confKey] = confValue\n if (!appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n } else {\n this.state = {\n ...confValue,\n ...this.state\n }\n }\n break\n }\n case 'properties':\n this.initProps(Object.assign(behaviorProperties, confValue))\n break\n case 'methods':\n for (const key in confValue) {\n const method = confValue[key]\n this[key] = bind(method, this)\n }\n break\n case 'lifetimes':\n for (const key in confValue) {\n this.initLifeCycles(key, confValue[key])\n }\n break\n case 'pageLifetimes':\n for (const key in confValue) {\n const cb = confValue[key]\n switch (key) {\n case 'show': {\n this.initLifeCycleListener('show', cb)\n break\n }\n case 'hide': {\n this.initLifeCycleListener('hide', cb)\n break\n }\n case 'resize': {\n report('不支持组件所在页面的生命周期 pageLifetimes.resize。')\n break\n }\n }\n }\n break\n default:\n if (lifecycles.has(confKey)) {\n // 优先使用 lifetimes 中定义的生命周期\n if (options.lifetimes?.[confKey]) {\n break\n }\n\n const lifecycle = options[confKey]\n this.initLifeCycles(confKey, lifecycle)\n } else if (isFunction(confValue)) {\n this[confKey] = bind(confValue, this)\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n\n // 原生页面和 Taro 页面中共计只能定义一次的生命周期\n if (uniquePageLifecycle.includes(confKey) && ConnectComponent.prototype[confKey]) {\n report(`生命周期 ${confKey} 已在原生部分进行定义,React 部分的定义将不会被执行。`)\n }\n } else {\n this[confKey] = confValue\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n }\n\n break\n }\n }\n\n // 处理 Behaviors\n if (options.behaviors?.length) {\n const behaviorData = {}\n const methods = {}\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'data':\n [...list, this.state].forEach((dataObject, index) => {\n Object.keys(dataObject).forEach(dataKey => {\n const value = dataObject[dataKey]\n const preValue = behaviorData[dataKey]\n const valueType = typeof value\n const preValueType = typeof preValue\n if (valueType === 'object') {\n if (!value) {\n behaviorData[dataKey] = value\n } else if (preValueType !== 'object' || !preValueType || Array.isArray(value)) {\n behaviorData[dataKey] = index === list.length ? value : clone(value)\n } else {\n const newVal = Object.assign({}, preValue, value)\n behaviorData[dataKey] = index === list.length ? newVal : clone(newVal)\n }\n } else {\n behaviorData[dataKey] = value\n }\n })\n })\n this.state = behaviorData\n break\n case 'methods':\n list.forEach(methodsObject => {\n Object.assign(methods, methodsObject)\n })\n Object.keys(methods).forEach(methodName => {\n if (!this[methodName]) {\n const method = methods[methodName]\n this[methodName] = bind(method, this)\n }\n })\n break\n default:\n break\n }\n }\n }\n }\n\n private initLifeCycles (lifecycleName: string, lifecycle: Func) {\n // 不支持的生命周期\n if (nonsupport.has(lifecycleName)) {\n const advise = nonsupport.get(lifecycleName)\n return report(advise)\n }\n\n if (lifecycleName === 'ready') {\n // 如果组件是延时渲染的,页面 onReady 的事件已经 emit 了,因此使用 componentDidMount + nextTick 模拟\n if (this.current.page.onReady.called) {\n this.didMounts.push(function (...args: unknown[]) {\n nextTick(() => {\n if (isFunction(lifecycle)) {\n lifecycle.apply(this, args)\n }\n })\n })\n } else {\n this.initLifeCycleListener('ready', lifecycle)\n }\n } else {\n for (const lifecycleKey in lifecycleMap) {\n const cycleNames = lifecycleMap[lifecycleKey]\n if (cycleNames.indexOf(lifecycleName) !== -1) {\n switch (lifecycleKey) {\n case TaroLifeCycles.DidHide:\n this.didHides.push(lifecycle)\n break\n case TaroLifeCycles.DidMount:\n this.didMounts.push(lifecycle)\n break\n case TaroLifeCycles.DidShow:\n this.didShows.push(lifecycle)\n break\n case TaroLifeCycles.WillMount:\n this.willMounts.push(lifecycle)\n break\n case TaroLifeCycles.WillUnmount:\n this.willUnmounts.push(lifecycle)\n break\n default:\n break\n }\n }\n }\n }\n\n // mixins 不会覆盖已经设置的生命周期,加入到 this 是为了形如 this.created() 的调用\n if (!isFunction(this[lifecycleName])) {\n this[lifecycleName] = lifecycle\n }\n }\n\n private safeExecute = (func?: Func, ...args: unknown[]) => {\n if (isFunction(func)) func.apply(this, args)\n }\n\n private initLifeCycleListener (name: string, cb: (...args: any[]) => void) {\n // 组件的 ready、show、hide 需要利用页面事件触发\n const { router } = this.current\n const lifecycleName = `on${name[0].toUpperCase()}${name.slice(1)}`\n cb = cb.bind(this)\n router?.[lifecycleName] && eventCenter.on(router[lifecycleName], cb)\n // unMount 时需要取消事件监听\n this.eventDestroyList.push(() => eventCenter.off(router[lifecycleName], cb))\n }\n\n private executeLifeCycles (funcs: Func[], ...args: unknown[]) {\n for (let i = 0; i < funcs.length; i++) {\n const func = funcs[i]\n this.safeExecute(func, ...args)\n }\n }\n\n private triggerPropertiesObservers (prevProps, nextProps) {\n this._observeProps.forEach(({ name: key, observer }) => {\n const prop = prevProps?.[key]\n const nextProp = nextProps[key]\n // 小程序是深比较不同之后才 trigger observer\n if (!isEqual(prop, nextProp)) {\n if (typeof observer === 'string') {\n const ob = this[observer]\n if (isFunction(ob)) {\n ob.call(this, nextProp, prop, key)\n }\n } else if (isFunction(observer)) {\n observer.call(this, nextProp, prop, key)\n }\n }\n })\n }\n\n private triggerObservers (current, prev) {\n const observers = this.observers\n if (observers == null) {\n return\n }\n\n if (Object.keys(observers).length === 0) {\n return\n }\n\n const result = diff(current, prev)\n const resultKeys = Object.keys(result)\n if (resultKeys.length === 0) {\n return\n }\n\n for (const observerKey in observers) {\n if (/\\*\\*/.test(observerKey)) {\n report('数据监听器 observers 不支持使用通配符 **。')\n continue\n }\n\n const keys = observerKey.split(',').map(k => k.trim())\n let isModified = false\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n for (let j = 0; j < resultKeys.length; j++) {\n const resultKey = resultKeys[j]\n if (\n resultKey.startsWith(key) ||\n (key.startsWith(resultKey) && key.endsWith(']'))\n ) {\n isModified = true\n }\n }\n }\n if (isModified) {\n observers[observerKey].apply(this, keys.map(key => safeGet(current, key)))\n }\n }\n }\n\n private defineProperty (target, key, data) {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: true,\n set (value) {\n data[key] = value\n },\n get () {\n return data[key]\n }\n })\n }\n\n public privateStopNoop (...args) {\n let e\n let fn\n if (args.length === 2) {\n fn = args[0]\n e = args[1]\n } else if (args.length === 1) {\n e = args[0]\n }\n if (e.type === 'touchmove') {\n report('catchtouchmove 转换后只能停止回调函数的冒泡,不能阻止滚动穿透。如要阻止滚动穿透,可以手动给编译后的 View 组件加上 catchMove 属性')\n }\n e.stopPropagation()\n isFunction(fn) && fn(e)\n }\n\n // ================ React 生命周期 ================\n\n public componentWillMount () {\n this.safeExecute(super.componentWillMount)\n this.executeLifeCycles(this.willMounts, this.current.router || {})\n this.triggerObservers(this.data, BaseComponent.defaultProps)\n this.triggerPropertiesObservers(BaseComponent.defaultProps, this.props)\n }\n\n public componentDidMount () {\n this.safeExecute(super.componentDidMount)\n this.executeLifeCycles(this.didMounts)\n }\n\n public componentWillUnmount () {\n this.eventDestroyList.forEach(fn => fn())\n this.safeExecute(super.componentWillUnmount)\n this.executeLifeCycles(this.willUnmounts)\n }\n\n public componentDidHide () {\n this.safeExecute(super.componentDidHide)\n this.executeLifeCycles(this.didHides)\n }\n\n public componentDidShow () {\n this.safeExecute(super.componentDidShow, this.current.router || {})\n this.executeLifeCycles(this.didShows, this.current.router || {})\n }\n\n public componentWillReceiveProps (nextProps: P) {\n this.triggerObservers(nextProps, this.props)\n this.triggerPropertiesObservers(this.props, nextProps)\n this.safeExecute(super.componentWillReceiveProps)\n }\n\n // ================ 小程序 App, Page, Component 实例属性与方法 ================\n\n get is () {\n return this.current.page.is\n }\n\n get id () {\n return this.current.page.id\n }\n\n get dataset () {\n return this.current.page.dataset\n }\n\n public setData = (obj: S, callback?: () => void) => {\n let oldState\n if (this.observers && Object.keys(Object.keys(this.observers))) {\n oldState = clone(this.state)\n }\n Object.keys(obj).forEach(key => {\n safeSet(this.state, key, obj[key])\n })\n this.setState(this.state, () => {\n this.triggerObservers(this.state, oldState)\n if (callback) {\n callback.call(this)\n }\n })\n }\n\n public triggerEvent = (eventName: string, detail, options) => {\n if (options) {\n report('triggerEvent 不支持事件选项。')\n }\n\n // eventName support kebab case\n if (eventName.match(/[a-z]+-[a-z]+/g)) {\n eventName = eventName.replace(/-[a-z]/g, function (match) {\n return match[1].toUpperCase()\n })\n }\n\n const props = this.props\n const dataset = {}\n for (const key in props) {\n if (!key.startsWith('data-')) continue\n dataset[key.replace(/^data-/, '')] = props[key]\n }\n\n const func = props[`on${eventName[0].toUpperCase()}${eventName.slice(1)}`]\n if (isFunction(func)) {\n func.call(this, {\n type: eventName,\n detail,\n target: {\n id: props.id || '',\n dataset\n },\n currentTarget: {\n id: props.id || '',\n dataset\n }\n })\n }\n }\n\n private componentMethodsProxy (method: string) {\n return (...args: any[]) => {\n const page = this.current.page\n if (page?.[method]) {\n return page[method](...args)\n } else {\n console.error(`page 下没有 ${method} 方法`)\n }\n }\n }\n\n public hasBehavior = this.componentMethodsProxy('hasBehavior')\n public createSelectorQuery = this.componentMethodsProxy('createSelectorQuery')\n public createIntersectionObserver = this.componentMethodsProxy('createIntersectionObserver')\n public createMediaQueryObserver = this.componentMethodsProxy('createMediaQueryObserver')\n public getRelationNodes = this.componentMethodsProxy('getRelationNodes')\n public getTabBar = this.componentMethodsProxy('getTabBar')\n public getPageId = this.componentMethodsProxy('getPageId')\n public animate = this.componentMethodsProxy('animate')\n public clearAnimation = this.componentMethodsProxy('clearAnimation')\n public setUpdatePerformanceListener = this.componentMethodsProxy('setUpdatePerformanceListener')\n\n public selectComponent () {\n report(nonsupport.get('selectComponent'))\n }\n\n public selectAllComponents () {\n report(nonsupport.get('selectAllComponents'))\n }\n\n public selectOwnerComponent () {\n report(nonsupport.get('selectOwnerComponent'))\n }\n\n public groupSetData () {\n report(nonsupport.get('groupSetData'))\n }\n }\n\n const props = weappConf.properties\n\n if (props) {\n for (const propKey in props) {\n const propValue = props[propKey]\n if (propValue != null && !isFunction(propValue)) {\n if (propValue.value !== undefined) { // 如果是 null 也赋值到 defaultProps\n BaseComponent.defaultProps = {\n [propKey]: propValue.value,\n ...BaseComponent.defaultProps\n }\n }\n }\n }\n }\n\n const staticOptions = ['externalClasses', 'relations', 'options']\n\n staticOptions.forEach(option => {\n const value = weappConf[option]\n if (value != null) {\n BaseComponent[option] = value\n }\n })\n\n return BaseComponent\n }\n}\n"],"names":["TaroLifeCycles","lifecycleMap","WillMount","DidMount","DidShow","DidHide","WillUnmount","lifecycles","Set","key","lifecycle","forEach","l","add","uniquePageLifecycle","appOptions","bind","fn","ctx","boundFn","a","arguments","length","apply","call","_length","isEqual","obj1","obj2","JSON","stringify","safeGet","obj","propsArg","defaultValue","props","prop","Array","isArray","slice","replace","split","Error","shift","undefined","safeSet","value","lastProp","pop","thisProp","Object","assign","report","msg","console","warn","nonsupport","Map","flattenBehaviors","behavior","behaviorMap","subBehaviors","behaviors","subBehavior","keys","has","advise","get","list","push","defineGetter","component","getter","defineProperty","enumerable","configurable","state","isFunction","o","withWeapp","weappConf","isApp","ConnectComponent","behaviorProperties","_a","propertiesList","property","propName","propValue","properties","hasOwnProperty","clone","BaseComponent","_observeProps","willMounts","didMounts","didHides","didShows","willUnmounts","eventDestroyList","current","getCurrentInstance","taroGlobalData","create","safeExecute","func","args","setData","callback","oldState","observers","setState","triggerObservers","triggerEvent","eventName","detail","options","match","toUpperCase","dataset","startsWith","type","target","id","currentTarget","hasBehavior","componentMethodsProxy","createSelectorQuery","createIntersectionObserver","createMediaQueryObserver","getRelationNodes","getTabBar","getPageId","animate","clearAnimation","setUpdatePerformanceListener","init","propKey","observer","name","entries","initLifeCycles","confKey","confValue","includes","initProps","method","cb","initLifeCycleListener","lifetimes","_b","prototype","_c","behaviorData","methods","dataObject","index","dataKey","preValue","valueType","preValueType","newVal","methodsObject","methodName","lifecycleName","page","onReady","called","nextTick","lifecycleKey","cycleNames","indexOf","router","eventCenter","on","off","funcs","i","prevProps","nextProps","nextProp","ob","prev","result","diff","resultKeys","observerKey","test","map","k","trim","isModified","j","resultKey","endsWith","data","set","e","stopPropagation","executeLifeCycles","defaultProps","triggerPropertiesObservers","is","error","staticOptions","option"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -533,6 +533,13 @@ function withWeapp(weappConf) {
533
533
  _this.triggerEvent = function (eventName, detail, options) {
534
534
  if (options) {
535
535
  report('triggerEvent 不支持事件选项。');
536
+ } // eventName support kebab case
537
+
538
+
539
+ if (eventName.match(/[a-z]+-[a-z]+/g)) {
540
+ eventName = eventName.replace(/-[a-z]/g, function (match) {
541
+ return match[1].toUpperCase();
542
+ });
536
543
  }
537
544
 
538
545
  var props = _this.props;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/lifecycle.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":["interface LifecycleMap {\n [key: string]: string[]\n}\n\nexport enum TaroLifeCycles {\n WillMount = 'componentWillMount',\n DidMount = 'componentDidMount',\n DidShow = 'componentDidShow',\n DidHide = 'componentDidHide',\n WillUnmount = 'componentWillUnmount'\n}\n\nexport const lifecycleMap: LifecycleMap = {\n [TaroLifeCycles.WillMount]: ['created'],\n [TaroLifeCycles.DidMount]: ['attached'],\n [TaroLifeCycles.DidShow]: ['onShow'],\n [TaroLifeCycles.DidHide]: ['onHide'],\n [TaroLifeCycles.WillUnmount]: ['detached', 'onUnload']\n}\n\nexport const lifecycles = new Set<string>(['ready'])\n\nfor (const key in lifecycleMap) {\n const lifecycle = lifecycleMap[key]\n lifecycle.forEach(l => lifecycles.add(l))\n}\n\nexport const uniquePageLifecycle = [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onShareAppMessage',\n 'onShareTimeline',\n 'onAddToFavorites',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap'\n]\n\nexport const appOptions = [\n 'onLaunch',\n 'onShow',\n 'onHide',\n 'onError',\n 'onPageNotFound',\n 'onUnhandledRejection',\n 'onThemeChange'\n]\n","/**\n * Simple bind, faster than native\n */\nexport function bind (fn /*: Function */, ctx /*: Object */) /*: Function */ {\n if (!fn) return false\n\n function boundFn (a) {\n const l /*: number */ = arguments.length\n return l ? (l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a)) : fn.call(ctx)\n }\n\n // record original fn length\n boundFn._length = fn.length\n return boundFn\n}\n\nexport function isEqual (obj1, obj2) {\n return JSON.stringify(obj1) === JSON.stringify(obj2)\n}\n\nexport function noop (..._: unknown[]) {\n //\n}\n\nconst sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n}\n\nexport function proxy (target, sourceKey: string, key: string) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n }\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val\n }\n Object.defineProperty(target, key, sharedPropertyDefinition)\n}\n\nexport function safeGet (obj, propsArg, defaultValue?) {\n if (!obj) {\n return defaultValue\n }\n let props, prop\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0)\n }\n if (typeof propsArg === 'string') {\n props = propsArg.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof propsArg === 'symbol') {\n props = [propsArg]\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol')\n }\n while (props.length) {\n prop = props.shift()\n if (!obj) {\n return defaultValue\n }\n obj = obj[prop]\n if (obj === undefined) {\n return defaultValue\n }\n }\n return obj\n}\n\nexport function safeSet (obj, props, value) {\n if (typeof props === 'string') {\n props = props.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof props === 'symbol') {\n props = [props]\n }\n const lastProp = props.pop()\n if (!lastProp) {\n return false\n }\n let thisProp\n while ((thisProp = props.shift())) {\n if (typeof obj[thisProp] === 'undefined') {\n obj[thisProp] = {}\n }\n\n // 直接按路径修改 this.state 可能会导致 nextProps 也被修改\n // 因此按路径寻找时,每一层都复制一遍\n if (Array.isArray(obj[thisProp])) {\n obj[thisProp] = [...obj[thisProp]]\n } else if (typeof obj[thisProp] === 'object') {\n obj[thisProp] = { ...obj[thisProp] }\n }\n\n obj = obj[thisProp]\n if (!obj || typeof obj !== 'object') {\n return false\n }\n }\n obj[lastProp] = value\n return true\n}\n\nexport function report (msg) {\n console.warn('[Taro Convert Warning] ' + msg)\n}\n\nexport const nonsupport = new Map([\n ['onError', '不支持 App 的 onError 生命周期方法。'],\n ['onPageNotFound', '不支持 App 的 onPageNotFound 生命周期方法。'],\n ['onUnhandledRejection', '不支持 App 的 onUnhandledRejection 生命周期方法。'],\n ['onThemeChange', '不支持 App 的 onThemeChange 生命周期方法。'],\n ['moved', '不支持自定义组件的 moved 生命周期。'],\n ['externalClasses', '不支持自定义组件的 externalClasses 功能。'],\n ['relations', '不支持自定义组件的 relations 功能。'],\n ['options', '不支持自定义组件的 options 功能。'],\n ['definitionFilter', '不支持自定义组件的 definitionFilter 功能。'],\n ['selectComponent', 'selectComponent 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectAllComponents', 'selectAllComponents 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectOwnerComponent', 'selectOwnerComponent 方法产生不到目标效果,请使用 React 语法重构。'],\n ['groupSetData', 'groupSetData 方法产生不到目标效果,请使用 React 语法重构。']\n])\n\nexport function flattenBehaviors (behavior, behaviorMap: Map<string, any[]>) {\n if (typeof behavior === 'string') {\n return report(`不支持使用内置 Behavior: [${behavior}]`)\n }\n const subBehaviors = behavior.behaviors\n if (subBehaviors?.length) {\n subBehaviors.forEach(subBehavior => flattenBehaviors(subBehavior, behaviorMap))\n }\n\n Object.keys(behavior).forEach(key => {\n // 不支持的属性\n if (nonsupport.has(key)) {\n const advise = nonsupport.get(key)\n return report(advise)\n }\n\n if (behaviorMap.has(key)) {\n const list = behaviorMap.get(key)!\n const value = behavior[key]\n list.push(value)\n }\n })\n}\n","import { Func, getCurrentInstance } from '@tarojs/runtime'\nimport { ComponentLifecycle, eventCenter, nextTick } from '@tarojs/taro'\n\nimport { clone } from './clone'\nimport { diff } from './diff'\nimport { appOptions, lifecycleMap, lifecycles, TaroLifeCycles, uniquePageLifecycle } from './lifecycle'\nimport { bind, flattenBehaviors, isEqual, nonsupport, report, safeGet, safeSet } from './utils'\n\ntype Observer = (newProps, oldProps, changePath: string) => void\n\ninterface ObserverProperties {\n name: string\n observer: string | Observer\n}\n\ninterface ComponentClass<P = Record<string, any>, S = Record<string, any>> extends ComponentLifecycle<P, S> {\n new (props: P)\n externalClasses: Record<string, unknown>\n defaultProps?: Partial<P>\n _observeProps?: ObserverProperties[]\n observers?: Record<string, Func>\n}\n\ninterface WxOptions {\n methods?: Record<string, Func>\n properties?: Record<string, Record<string, unknown> | Func>\n props?: Record<string, unknown>\n data?: Record<string, unknown>\n observers?: Record<string, Func>\n lifetimes?: Record<string, Func>\n behaviors?: any[]\n}\n\nfunction defineGetter (component, key: string, getter: string) {\n Object.defineProperty(component, key, {\n enumerable: true,\n configurable: true,\n get: () => {\n if (getter === 'props') {\n return component.props\n }\n return {\n ...component.state,\n ...component.props\n }\n }\n })\n}\n\nfunction isFunction (o): o is Func {\n return typeof o === 'function'\n}\n\nexport default function withWeapp (weappConf: WxOptions, isApp = false) {\n if (typeof weappConf === 'object' && Object.keys(weappConf).length === 0) {\n report('withWeapp 请传入“App/页面/组件“的配置对象。如果原生写法使用了基类,请将基类组合后的配置对象传入,详情请参考文档。')\n }\n return (ConnectComponent: ComponentClass<any, any>) => {\n const behaviorMap = new Map<string, any[]>([\n ['properties', []],\n ['data', []],\n ['methods', []],\n ['created', []],\n ['attached', []],\n ['ready', []],\n ['detached', []]\n ])\n const behaviorProperties = {}\n if (weappConf.behaviors?.length) {\n const { behaviors } = weappConf\n behaviors.forEach(behavior => flattenBehaviors(behavior, behaviorMap))\n\n const propertiesList = behaviorMap.get('properties')!\n if (propertiesList.length) {\n propertiesList.forEach(property => {\n Object.assign(behaviorProperties, property)\n })\n Object.keys(behaviorProperties).forEach(propName => {\n const propValue = behaviorProperties[propName]\n if (!weappConf.properties) {\n weappConf.properties = {}\n }\n if (!weappConf.properties.hasOwnProperty(propName)) {\n if (propValue && typeof propValue === 'object' && propValue.value) {\n propValue.value = clone(propValue.value)\n }\n weappConf.properties[propName] = propValue\n }\n })\n }\n }\n\n class BaseComponent<P = Record<string, any>, S = Record<string, any>> extends ConnectComponent {\n private _observeProps: ObserverProperties[] = []\n\n // mixins 可以多次调用生命周期\n private willMounts: Func[] = []\n\n private didMounts: Func[] = []\n\n private didHides: Func[] = []\n\n private didShows: Func[] = []\n\n private willUnmounts: Func[] = []\n\n private eventDestroyList: Func[] = []\n\n private current: any = getCurrentInstance()\n\n public observers?: Record<string, Func>\n\n public taroGlobalData: Record<any, any> = Object.create(null)\n\n public data: any\n\n constructor (props) {\n super(props)\n this.state = this.state || {}\n this.init(weappConf)\n defineGetter(this, 'data', 'state')\n defineGetter(this, 'properties', 'props')\n }\n\n private initProps (props: any) {\n for (const propKey in props) {\n if (props.hasOwnProperty(propKey)) {\n const propValue = props[propKey]\n // propValue 可能是 null, 构造函数, 对象\n if (propValue && !isFunction(propValue)) {\n if (propValue.observer) {\n this._observeProps.push({\n name: propKey,\n observer: propValue.observer\n })\n }\n }\n }\n }\n }\n\n private init (options: WxOptions) {\n // 处理 Behaviors\n if (options.behaviors?.length) {\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'created':\n case 'attached':\n case 'detached':\n case 'ready':\n list.forEach(fn => this.initLifeCycles(key, fn))\n break\n }\n }\n }\n\n for (const confKey in options) {\n // 不支持的属性\n if (nonsupport.has(confKey)) {\n const advise = nonsupport.get(confKey)\n report(advise)\n }\n\n const confValue = options[confKey]\n\n switch (confKey) {\n case 'behaviors':\n break\n case 'data': {\n if (isApp) {\n this[confKey] = confValue\n if (!appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n } else {\n this.state = {\n ...confValue,\n ...this.state\n }\n }\n break\n }\n case 'properties':\n this.initProps(Object.assign(behaviorProperties, confValue))\n break\n case 'methods':\n for (const key in confValue) {\n const method = confValue[key]\n this[key] = bind(method, this)\n }\n break\n case 'lifetimes':\n for (const key in confValue) {\n this.initLifeCycles(key, confValue[key])\n }\n break\n case 'pageLifetimes':\n for (const key in confValue) {\n const cb = confValue[key]\n switch (key) {\n case 'show': {\n this.initLifeCycleListener('show', cb)\n break\n }\n case 'hide': {\n this.initLifeCycleListener('hide', cb)\n break\n }\n case 'resize': {\n report('不支持组件所在页面的生命周期 pageLifetimes.resize。')\n break\n }\n }\n }\n break\n default:\n if (lifecycles.has(confKey)) {\n // 优先使用 lifetimes 中定义的生命周期\n if (options.lifetimes?.[confKey]) {\n break\n }\n\n const lifecycle = options[confKey]\n this.initLifeCycles(confKey, lifecycle)\n } else if (isFunction(confValue)) {\n this[confKey] = bind(confValue, this)\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n\n // 原生页面和 Taro 页面中共计只能定义一次的生命周期\n if (uniquePageLifecycle.includes(confKey) && ConnectComponent.prototype[confKey]) {\n report(`生命周期 ${confKey} 已在原生部分进行定义,React 部分的定义将不会被执行。`)\n }\n } else {\n this[confKey] = confValue\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n }\n\n break\n }\n }\n\n // 处理 Behaviors\n if (options.behaviors?.length) {\n const behaviorData = {}\n const methods = {}\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'data':\n [...list, this.state].forEach((dataObject, index) => {\n Object.keys(dataObject).forEach(dataKey => {\n const value = dataObject[dataKey]\n const preValue = behaviorData[dataKey]\n const valueType = typeof value\n const preValueType = typeof preValue\n if (valueType === 'object') {\n if (!value) {\n behaviorData[dataKey] = value\n } else if (preValueType !== 'object' || !preValueType || Array.isArray(value)) {\n behaviorData[dataKey] = index === list.length ? value : clone(value)\n } else {\n const newVal = Object.assign({}, preValue, value)\n behaviorData[dataKey] = index === list.length ? newVal : clone(newVal)\n }\n } else {\n behaviorData[dataKey] = value\n }\n })\n })\n this.state = behaviorData\n break\n case 'methods':\n list.forEach(methodsObject => {\n Object.assign(methods, methodsObject)\n })\n Object.keys(methods).forEach(methodName => {\n if (!this[methodName]) {\n const method = methods[methodName]\n this[methodName] = bind(method, this)\n }\n })\n break\n default:\n break\n }\n }\n }\n }\n\n private initLifeCycles (lifecycleName: string, lifecycle: Func) {\n // 不支持的生命周期\n if (nonsupport.has(lifecycleName)) {\n const advise = nonsupport.get(lifecycleName)\n return report(advise)\n }\n\n if (lifecycleName === 'ready') {\n // 如果组件是延时渲染的,页面 onReady 的事件已经 emit 了,因此使用 componentDidMount + nextTick 模拟\n if (this.current.page.onReady.called) {\n this.didMounts.push(function (...args: unknown[]) {\n nextTick(() => {\n if (isFunction(lifecycle)) {\n lifecycle.apply(this, args)\n }\n })\n })\n } else {\n this.initLifeCycleListener('ready', lifecycle)\n }\n } else {\n for (const lifecycleKey in lifecycleMap) {\n const cycleNames = lifecycleMap[lifecycleKey]\n if (cycleNames.indexOf(lifecycleName) !== -1) {\n switch (lifecycleKey) {\n case TaroLifeCycles.DidHide:\n this.didHides.push(lifecycle)\n break\n case TaroLifeCycles.DidMount:\n this.didMounts.push(lifecycle)\n break\n case TaroLifeCycles.DidShow:\n this.didShows.push(lifecycle)\n break\n case TaroLifeCycles.WillMount:\n this.willMounts.push(lifecycle)\n break\n case TaroLifeCycles.WillUnmount:\n this.willUnmounts.push(lifecycle)\n break\n default:\n break\n }\n }\n }\n }\n\n // mixins 不会覆盖已经设置的生命周期,加入到 this 是为了形如 this.created() 的调用\n if (!isFunction(this[lifecycleName])) {\n this[lifecycleName] = lifecycle\n }\n }\n\n private safeExecute = (func?: Func, ...args: unknown[]) => {\n if (isFunction(func)) func.apply(this, args)\n }\n\n private initLifeCycleListener (name: string, cb: (...args: any[]) => void) {\n // 组件的 ready、show、hide 需要利用页面事件触发\n const { router } = this.current\n const lifecycleName = `on${name[0].toUpperCase()}${name.slice(1)}`\n cb = cb.bind(this)\n router?.[lifecycleName] && eventCenter.on(router[lifecycleName], cb)\n // unMount 时需要取消事件监听\n this.eventDestroyList.push(() => eventCenter.off(router[lifecycleName], cb))\n }\n\n private executeLifeCycles (funcs: Func[], ...args: unknown[]) {\n for (let i = 0; i < funcs.length; i++) {\n const func = funcs[i]\n this.safeExecute(func, ...args)\n }\n }\n\n private triggerPropertiesObservers (prevProps, nextProps) {\n this._observeProps.forEach(({ name: key, observer }) => {\n const prop = prevProps?.[key]\n const nextProp = nextProps[key]\n // 小程序是深比较不同之后才 trigger observer\n if (!isEqual(prop, nextProp)) {\n if (typeof observer === 'string') {\n const ob = this[observer]\n if (isFunction(ob)) {\n ob.call(this, nextProp, prop, key)\n }\n } else if (isFunction(observer)) {\n observer.call(this, nextProp, prop, key)\n }\n }\n })\n }\n\n private triggerObservers (current, prev) {\n const observers = this.observers\n if (observers == null) {\n return\n }\n\n if (Object.keys(observers).length === 0) {\n return\n }\n\n const result = diff(current, prev)\n const resultKeys = Object.keys(result)\n if (resultKeys.length === 0) {\n return\n }\n\n for (const observerKey in observers) {\n if (/\\*\\*/.test(observerKey)) {\n report('数据监听器 observers 不支持使用通配符 **。')\n continue\n }\n\n const keys = observerKey.split(',').map(k => k.trim())\n let isModified = false\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n for (let j = 0; j < resultKeys.length; j++) {\n const resultKey = resultKeys[j]\n if (\n resultKey.startsWith(key) ||\n (key.startsWith(resultKey) && key.endsWith(']'))\n ) {\n isModified = true\n }\n }\n }\n if (isModified) {\n observers[observerKey].apply(this, keys.map(key => safeGet(current, key)))\n }\n }\n }\n\n private defineProperty (target, key, data) {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: true,\n set (value) {\n data[key] = value\n },\n get () {\n return data[key]\n }\n })\n }\n\n public privateStopNoop (...args) {\n let e\n let fn\n if (args.length === 2) {\n fn = args[0]\n e = args[1]\n } else if (args.length === 1) {\n e = args[0]\n }\n if (e.type === 'touchmove') {\n report('catchtouchmove 转换后只能停止回调函数的冒泡,不能阻止滚动穿透。如要阻止滚动穿透,可以手动给编译后的 View 组件加上 catchMove 属性')\n }\n e.stopPropagation()\n isFunction(fn) && fn(e)\n }\n\n // ================ React 生命周期 ================\n\n public componentWillMount () {\n this.safeExecute(super.componentWillMount)\n this.executeLifeCycles(this.willMounts, this.current.router || {})\n this.triggerObservers(this.data, BaseComponent.defaultProps)\n this.triggerPropertiesObservers(BaseComponent.defaultProps, this.props)\n }\n\n public componentDidMount () {\n this.safeExecute(super.componentDidMount)\n this.executeLifeCycles(this.didMounts)\n }\n\n public componentWillUnmount () {\n this.eventDestroyList.forEach(fn => fn())\n this.safeExecute(super.componentWillUnmount)\n this.executeLifeCycles(this.willUnmounts)\n }\n\n public componentDidHide () {\n this.safeExecute(super.componentDidHide)\n this.executeLifeCycles(this.didHides)\n }\n\n public componentDidShow () {\n this.safeExecute(super.componentDidShow, this.current.router || {})\n this.executeLifeCycles(this.didShows, this.current.router || {})\n }\n\n public componentWillReceiveProps (nextProps: P) {\n this.triggerObservers(nextProps, this.props)\n this.triggerPropertiesObservers(this.props, nextProps)\n this.safeExecute(super.componentWillReceiveProps)\n }\n\n // ================ 小程序 App, Page, Component 实例属性与方法 ================\n\n get is () {\n return this.current.page.is\n }\n\n get id () {\n return this.current.page.id\n }\n\n get dataset () {\n return this.current.page.dataset\n }\n\n public setData = (obj: S, callback?: () => void) => {\n let oldState\n if (this.observers && Object.keys(Object.keys(this.observers))) {\n oldState = clone(this.state)\n }\n Object.keys(obj).forEach(key => {\n safeSet(this.state, key, obj[key])\n })\n this.setState(this.state, () => {\n this.triggerObservers(this.state, oldState)\n if (callback) {\n callback.call(this)\n }\n })\n }\n\n public triggerEvent = (eventName: string, detail, options) => {\n if (options) {\n report('triggerEvent 不支持事件选项。')\n }\n\n const props = this.props\n const dataset = {}\n for (const key in props) {\n if (!key.startsWith('data-')) continue\n dataset[key.replace(/^data-/, '')] = props[key]\n }\n\n const func = props[`on${eventName[0].toUpperCase()}${eventName.slice(1)}`]\n if (isFunction(func)) {\n func.call(this, {\n type: eventName,\n detail,\n target: {\n id: props.id || '',\n dataset\n },\n currentTarget: {\n id: props.id || '',\n dataset\n }\n })\n }\n }\n\n private componentMethodsProxy (method: string) {\n return (...args: any[]) => {\n const page = this.current.page\n if (page?.[method]) {\n return page[method](...args)\n } else {\n console.error(`page 下没有 ${method} 方法`)\n }\n }\n }\n\n public hasBehavior = this.componentMethodsProxy('hasBehavior')\n public createSelectorQuery = this.componentMethodsProxy('createSelectorQuery')\n public createIntersectionObserver = this.componentMethodsProxy('createIntersectionObserver')\n public createMediaQueryObserver = this.componentMethodsProxy('createMediaQueryObserver')\n public getRelationNodes = this.componentMethodsProxy('getRelationNodes')\n public getTabBar = this.componentMethodsProxy('getTabBar')\n public getPageId = this.componentMethodsProxy('getPageId')\n public animate = this.componentMethodsProxy('animate')\n public clearAnimation = this.componentMethodsProxy('clearAnimation')\n public setUpdatePerformanceListener = this.componentMethodsProxy('setUpdatePerformanceListener')\n\n public selectComponent () {\n report(nonsupport.get('selectComponent'))\n }\n\n public selectAllComponents () {\n report(nonsupport.get('selectAllComponents'))\n }\n\n public selectOwnerComponent () {\n report(nonsupport.get('selectOwnerComponent'))\n }\n\n public groupSetData () {\n report(nonsupport.get('groupSetData'))\n }\n }\n\n const props = weappConf.properties\n\n if (props) {\n for (const propKey in props) {\n const propValue = props[propKey]\n if (propValue != null && !isFunction(propValue)) {\n if (propValue.value !== undefined) { // 如果是 null 也赋值到 defaultProps\n BaseComponent.defaultProps = {\n [propKey]: propValue.value,\n ...BaseComponent.defaultProps\n }\n }\n }\n }\n }\n\n const staticOptions = ['externalClasses', 'relations', 'options']\n\n staticOptions.forEach(option => {\n const value = weappConf[option]\n if (value != null) {\n BaseComponent[option] = value\n }\n })\n\n return BaseComponent\n }\n}\n"],"names":["TaroLifeCycles","lifecycleMap","WillMount","DidMount","_defineProperty","DidShow","DidHide","WillUnmount","lifecycles","Set","key","lifecycle","forEach","l","add","uniquePageLifecycle","appOptions","bind","fn","ctx","boundFn","a","arguments","length","apply","call","_length","isEqual","obj1","obj2","JSON","stringify","safeGet","obj","propsArg","defaultValue","props","prop","Array","isArray","slice","replace","split","_typeof","Error","shift","undefined","safeSet","value","lastProp","pop","thisProp","Object","assign","report","msg","console","warn","nonsupport","Map","flattenBehaviors","behavior","behaviorMap","subBehaviors","behaviors","subBehavior","keys","has","advise","get","list","push","defineGetter","component","getter","defineProperty","enumerable","configurable","state","isFunction","o","withWeapp","weappConf","isApp","ConnectComponent","behaviorProperties","_a","propertiesList","property","propName","propValue","properties","hasOwnProperty","clone","BaseComponent","_inherits","_classCallCheck","_observeProps","willMounts","didMounts","didHides","didShows","willUnmounts","eventDestroyList","current","getCurrentInstance","taroGlobalData","create","safeExecute","func","args","_assertThisInitialized","setData","callback","oldState","observers","setState","triggerObservers","triggerEvent","eventName","detail","options","dataset","startsWith","toUpperCase","type","target","id","currentTarget","hasBehavior","componentMethodsProxy","createSelectorQuery","createIntersectionObserver","createMediaQueryObserver","getRelationNodes","getTabBar","getPageId","animate","clearAnimation","setUpdatePerformanceListener","init","_createClass","propKey","observer","name","entries","_slicedToArray","initLifeCycles","confKey","confValue","includes","initProps","method","cb","initLifeCycleListener","lifetimes","_b","prototype","_c","behaviorData","methods","_toConsumableArray","dataObject","index","dataKey","preValue","valueType","preValueType","newVal","methodsObject","methodName","lifecycleName","page","onReady","called","nextTick","lifecycleKey","cycleNames","indexOf","router","eventCenter","on","off","funcs","i","prevProps","nextProps","nextProp","ob","prev","result","diff","resultKeys","observerKey","test","map","k","trim","isModified","j","resultKey","endsWith","data","set","e","stopPropagation","_get","_getPrototypeOf","executeLifeCycles","defaultProps","triggerPropertiesObservers","is","error","staticOptions","option"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAYA,cAAZ,CAAA;;AAAA,CAAA,UAAYA,cAAZ,EAA0B;AACxBA,EAAAA,cAAA,CAAA,WAAA,CAAA,GAAA,oBAAA,CAAA;AACAA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,mBAAA,CAAA;AACAA,EAAAA,cAAA,CAAA,SAAA,CAAA,GAAA,kBAAA,CAAA;AACAA,EAAAA,cAAA,CAAA,SAAA,CAAA,GAAA,kBAAA,CAAA;AACAA,EAAAA,cAAA,CAAA,aAAA,CAAA,GAAA,sBAAA,CAAA;AACD,CAND,EAAYA,cAAc,KAAdA,cAAc,GAMzB,EANyB,CAA1B,CAAA,CAAA;;AAQO,IAAMC,YAAY,IACtBD,aAAAA,GAAAA,EAAAA,EAAAA,mCAAAA,CAAAA,aAAAA,EAAAA,cAAc,CAACE,SADO,EACK,CAAC,SAAD,CADL,sDAEtBF,cAAc,CAACG,QAFO,EAEI,CAAC,UAAD,CAFJ,CAAA,EAAAC,mCAAA,CAAA,aAAA,EAGtBJ,cAAc,CAACK,OAHO,EAGG,CAAC,QAAD,CAHH,CAItBL,EAAAA,mCAAAA,CAAAA,aAAAA,EAAAA,cAAc,CAACM,OAJO,EAIG,CAAC,QAAD,CAJH,sDAKtBN,cAAc,CAACO,WALO,EAKO,CAAC,UAAD,EAAa,UAAb,CALP,CAAlB,EAAA,aAAA,CAAA,CAAA;AAQA,IAAMC,UAAU,GAAG,IAAIC,GAAJ,CAAgB,CAAC,OAAD,CAAhB,CAAnB,CAAA;;AAEP,KAAK,IAAMC,GAAX,IAAkBT,YAAlB,EAAgC;AAC9B,EAAA,IAAMU,SAAS,GAAGV,YAAY,CAACS,GAAD,CAA9B,CAAA;AACAC,EAAAA,SAAS,CAACC,OAAV,CAAkB,UAAAC,CAAC,EAAA;AAAA,IAAA,OAAIL,UAAU,CAACM,GAAX,CAAeD,CAAf,CAAJ,CAAA;GAAnB,CAAA,CAAA;AACD,CAAA;;AAEM,IAAME,mBAAmB,GAAG,CACjC,mBADiC,EAEjC,eAFiC,EAGjC,mBAHiC,EAIjC,iBAJiC,EAKjC,kBALiC,EAMjC,cANiC,EAOjC,UAPiC,EAQjC,cARiC,CAA5B,CAAA;AAWA,IAAMC,UAAU,GAAG,CACxB,UADwB,EAExB,QAFwB,EAGxB,QAHwB,EAIxB,SAJwB,EAKxB,gBALwB,EAMxB,sBANwB,EAOxB,eAPwB,CAAnB;;ACtCP;;AAEG;AACG,SAAUC,IAAV,CAAgBC,EAAAA;AAAG;AAAnB,EAAoCC,GAAAA;AAAI;AAAxC,EAAqD;AACzD,EAAA,IAAI,CAACD,EAAL,EAAS,OAAO,KAAP,CAAA;;EAET,SAASE,OAAT,CAAkBC,CAAlB,EAAmB;IACjB,IAAMR,CAAAA;AAAE;MAAgBS,SAAS,CAACC,MAAlC,CAAA;AACA,IAAA,OAAOV,CAAC,GAAIA,CAAC,GAAG,CAAJ,GAAQK,EAAE,CAACM,KAAH,CAASL,GAAT,EAAcG,SAAd,CAAR,GAAmCJ,EAAE,CAACO,IAAH,CAAQN,GAAR,EAAaE,CAAb,CAAvC,GAA0DH,EAAE,CAACO,IAAH,CAAQN,GAAR,CAAlE,CAAA;AACD,GANwD;;;AASzDC,EAAAA,OAAO,CAACM,OAAR,GAAkBR,EAAE,CAACK,MAArB,CAAA;AACA,EAAA,OAAOH,OAAP,CAAA;AACD,CAAA;AAEe,SAAAO,OAAA,CAASC,IAAT,EAAeC,IAAf,EAAmB;EACjC,OAAOC,IAAI,CAACC,SAAL,CAAeH,IAAf,CAAyBE,KAAAA,IAAI,CAACC,SAAL,CAAeF,IAAf,CAAhC,CAAA;AACD,CAAA;SAuBeG,QAASC,KAAKC,UAAUC,cAAa;EACnD,IAAI,CAACF,GAAL,EAAU;AACR,IAAA,OAAOE,YAAP,CAAA;AACD,GAAA;;EACD,IAAIC,KAAJ,EAAWC,IAAX,CAAA;;AACA,EAAA,IAAIC,KAAK,CAACC,OAAN,CAAcL,QAAd,CAAJ,EAA6B;AAC3BE,IAAAA,KAAK,GAAGF,QAAQ,CAACM,KAAT,CAAe,CAAf,CAAR,CAAA;AACD,GAAA;;AACD,EAAA,IAAI,OAAON,QAAP,KAAoB,QAAxB,EAAkC;IAChCE,KAAK,GAAGF,QAAQ,CAACO,OAAT,CAAiB,YAAjB,EAA+B,KAA/B,CAAR,CAAA;AACAL,IAAAA,KAAK,GAAGA,KAAK,CAACM,KAAN,CAAY,GAAZ,CAAR,CAAA;AACD,GAAA;;AACD,EAAA,IAAIC,2BAAOT,CAAAA,QAAP,CAAoB,KAAA,QAAxB,EAAkC;IAChCE,KAAK,GAAG,CAACF,QAAD,CAAR,CAAA;AACD,GAAA;;AACD,EAAA,IAAI,CAACI,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAL,EAA2B;AACzB,IAAA,MAAM,IAAIQ,KAAJ,CAAU,kDAAV,CAAN,CAAA;AACD,GAAA;;EACD,OAAOR,KAAK,CAACb,MAAb,EAAqB;AACnBc,IAAAA,IAAI,GAAGD,KAAK,CAACS,KAAN,EAAP,CAAA;;IACA,IAAI,CAACZ,GAAL,EAAU;AACR,MAAA,OAAOE,YAAP,CAAA;AACD,KAAA;;AACDF,IAAAA,GAAG,GAAGA,GAAG,CAACI,IAAD,CAAT,CAAA;;IACA,IAAIJ,GAAG,KAAKa,SAAZ,EAAuB;AACrB,MAAA,OAAOX,YAAP,CAAA;AACD,KAAA;AACF,GAAA;;AACD,EAAA,OAAOF,GAAP,CAAA;AACD,CAAA;SAEec,QAASd,KAAKG,OAAOY,OAAK;AACxC,EAAA,IAAI,OAAOZ,KAAP,KAAiB,QAArB,EAA+B;IAC7BA,KAAK,GAAGA,KAAK,CAACK,OAAN,CAAc,YAAd,EAA4B,KAA5B,CAAR,CAAA;AACAL,IAAAA,KAAK,GAAGA,KAAK,CAACM,KAAN,CAAY,GAAZ,CAAR,CAAA;AACD,GAAA;;AACD,EAAA,IAAIC,2BAAOP,CAAAA,KAAP,CAAiB,KAAA,QAArB,EAA+B;IAC7BA,KAAK,GAAG,CAACA,KAAD,CAAR,CAAA;AACD,GAAA;;AACD,EAAA,IAAMa,QAAQ,GAAGb,KAAK,CAACc,GAAN,EAAjB,CAAA;;EACA,IAAI,CAACD,QAAL,EAAe;AACb,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AACD,EAAA,IAAIE,QAAJ,CAAA;;AACA,EAAA,OAAQA,QAAQ,GAAGf,KAAK,CAACS,KAAN,EAAnB,EAAmC;AACjC,IAAA,IAAI,OAAOZ,GAAG,CAACkB,QAAD,CAAV,KAAyB,WAA7B,EAA0C;AACxClB,MAAAA,GAAG,CAACkB,QAAD,CAAH,GAAgB,EAAhB,CAAA;AACD,KAHgC;AAMjC;;;IACA,IAAIb,KAAK,CAACC,OAAN,CAAcN,GAAG,CAACkB,QAAD,CAAjB,CAAJ,EAAkC;AAChClB,MAAAA,GAAG,CAACkB,QAAD,CAAH,0CAAoBlB,GAAG,CAACkB,QAAD,CAAvB,CAAA,CAAA;KADF,MAEO,IAAIR,2BAAOV,CAAAA,GAAG,CAACkB,QAAD,CAAV,CAAyB,KAAA,QAA7B,EAAuC;AAC5ClB,MAAAA,GAAG,CAACkB,QAAD,CAAH,GAAaC,MAAA,CAAAC,MAAA,CAAA,EAAA,EAAQpB,GAAG,CAACkB,QAAD,CAAX,CAAb,CAAA;AACD,KAAA;;AAEDlB,IAAAA,GAAG,GAAGA,GAAG,CAACkB,QAAD,CAAT,CAAA;;AACA,IAAA,IAAI,CAAClB,GAAD,IAAQU,4BAAOV,GAAP,CAAA,KAAe,QAA3B,EAAqC;AACnC,MAAA,OAAO,KAAP,CAAA;AACD,KAAA;AACF,GAAA;;AACDA,EAAAA,GAAG,CAACgB,QAAD,CAAH,GAAgBD,KAAhB,CAAA;AACA,EAAA,OAAO,IAAP,CAAA;AACD,CAAA;AAEK,SAAUM,MAAV,CAAkBC,GAAlB,EAAqB;AACzBC,EAAAA,OAAO,CAACC,IAAR,CAAa,yBAAA,GAA4BF,GAAzC,CAAA,CAAA;AACD,CAAA;AAEM,IAAMG,UAAU,GAAG,IAAIC,GAAJ,CAAQ,CAChC,CAAC,SAAD,EAAY,2BAAZ,CADgC,EAEhC,CAAC,gBAAD,EAAmB,kCAAnB,CAFgC,EAGhC,CAAC,sBAAD,EAAyB,wCAAzB,CAHgC,EAIhC,CAAC,eAAD,EAAkB,iCAAlB,CAJgC,EAKhC,CAAC,OAAD,EAAU,uBAAV,CALgC,EAMhC,CAAC,iBAAD,EAAoB,+BAApB,CANgC,EAOhC,CAAC,WAAD,EAAc,yBAAd,CAPgC,EAQhC,CAAC,SAAD,EAAY,uBAAZ,CARgC,EAShC,CAAC,kBAAD,EAAqB,gCAArB,CATgC,EAUhC,CAAC,iBAAD,EAAoB,kDAApB,CAVgC,EAWhC,CAAC,qBAAD,EAAwB,sDAAxB,CAXgC,EAYhC,CAAC,sBAAD,EAAyB,iDAAzB,CAZgC,EAahC,CAAC,cAAD,EAAiB,yCAAjB,CAbgC,CAAR,CAAnB,CAAA;AAgBS,SAAAC,gBAAA,CAAkBC,QAAlB,EAA4BC,WAA5B,EAA2D;AACzE,EAAA,IAAI,OAAOD,QAAP,KAAoB,QAAxB,EAAkC;IAChC,OAAOP,MAAM,CAAuBO,wDAAAA,CAAAA,MAAAA,CAAAA,QAAvB,EAAb,GAAA,CAAA,CAAA,CAAA;AACD,GAAA;;AACD,EAAA,IAAME,YAAY,GAAGF,QAAQ,CAACG,SAA9B,CAAA;;AACA,EAAA,IAAID,YAAY,KAAZ,IAAA,IAAAA,YAAY,WAAZ,SAAA,GAAAA,YAAY,CAAExC,MAAlB,EAA0B;AACxBwC,IAAAA,YAAY,CAACnD,OAAb,CAAqB,UAAAqD,WAAW,EAAA;AAAA,MAAA,OAAIL,gBAAgB,CAACK,WAAD,EAAcH,WAAd,CAApB,CAAA;KAAhC,CAAA,CAAA;AACD,GAAA;;EAEDV,MAAM,CAACc,IAAP,CAAYL,QAAZ,EAAsBjD,OAAtB,CAA8B,UAAAF,GAAG,EAAG;AAClC;AACA,IAAA,IAAIgD,UAAU,CAACS,GAAX,CAAezD,GAAf,CAAJ,EAAyB;AACvB,MAAA,IAAM0D,MAAM,GAAGV,UAAU,CAACW,GAAX,CAAe3D,GAAf,CAAf,CAAA;MACA,OAAO4C,MAAM,CAACc,MAAD,CAAb,CAAA;AACD,KAAA;;AAED,IAAA,IAAIN,WAAW,CAACK,GAAZ,CAAgBzD,GAAhB,CAAJ,EAA0B;AACxB,MAAA,IAAM4D,IAAI,GAAGR,WAAW,CAACO,GAAZ,CAAgB3D,GAAhB,CAAb,CAAA;AACA,MAAA,IAAMsC,KAAK,GAAGa,QAAQ,CAACnD,GAAD,CAAtB,CAAA;MACA4D,IAAI,CAACC,IAAL,CAAUvB,KAAV,CAAA,CAAA;AACD,KAAA;GAXH,CAAA,CAAA;AAaD;;;;;;;;;;;;ACpHD,SAASwB,YAAT,CAAuBC,SAAvB,EAAkC/D,GAAlC,EAA+CgE,MAA/C,EAA6D;AAC3DtB,EAAAA,MAAM,CAACuB,cAAP,CAAsBF,SAAtB,EAAiC/D,GAAjC,EAAsC;AACpCkE,IAAAA,UAAU,EAAE,IADwB;AAEpCC,IAAAA,YAAY,EAAE,IAFsB;AAGpCR,IAAAA,GAAG,EAAE,SAAK,GAAA,GAAA;MACR,IAAIK,MAAM,KAAK,OAAf,EAAwB;QACtB,OAAOD,SAAS,CAACrC,KAAjB,CAAA;AACD,OAAA;;AACD,MAAA,OAAAgB,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EACKoB,SAAS,CAACK,KADf,CAAA,EAEKL,SAAS,CAACrC,KAFf,CAAA,CAAA;AAID,KAAA;GAXH,CAAA,CAAA;AAaD,CAAA;;AAED,SAAS2C,UAAT,CAAqBC,CAArB,EAAsB;EACpB,OAAO,OAAOA,CAAP,KAAa,UAApB,CAAA;AACD,CAAA;;AAEuB,SAAAC,SAAA,CAAWC,SAAX,EAA8C;EAAA,IAAbC,KAAa,uEAAL,KAAK,CAAA;;AACpE,EAAA,IAAIxC,2BAAOuC,CAAAA,SAAP,CAAqB,KAAA,QAArB,IAAiC9B,MAAM,CAACc,IAAP,CAAYgB,SAAZ,CAAA,CAAuB3D,MAAvB,KAAkC,CAAvE,EAA0E;IACxE+B,MAAM,CAAC,mEAAD,CAAN,CAAA;AACD,GAAA;;EACD,OAAO,UAAC8B,gBAAD,EAA+C;;;IACpD,IAAMtB,WAAW,GAAG,IAAIH,GAAJ,CAAuB,CACzC,CAAC,YAAD,EAAe,EAAf,CADyC,EAEzC,CAAC,MAAD,EAAS,EAAT,CAFyC,EAGzC,CAAC,SAAD,EAAY,EAAZ,CAHyC,EAIzC,CAAC,SAAD,EAAY,EAAZ,CAJyC,EAKzC,CAAC,UAAD,EAAa,EAAb,CALyC,EAMzC,CAAC,OAAD,EAAU,EAAV,CANyC,EAOzC,CAAC,UAAD,EAAa,EAAb,CAPyC,CAAvB,CAApB,CAAA;IASA,IAAM0B,kBAAkB,GAAG,EAA3B,CAAA;;IACA,IAAI,MAAAH,SAAS,CAAClB,SAAV,MAAmB,IAAnB,IAAmBsB,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmBA,EAAA,CAAE/D,MAAzB,EAAiC;AAC/B,MAAA,IAAQyC,SAAR,GAAsBkB,SAAtB,CAAQlB,SAAR,CAAA;AACAA,MAAAA,SAAS,CAACpD,OAAV,CAAkB,UAAAiD,QAAQ,EAAA;AAAA,QAAA,OAAID,gBAAgB,CAACC,QAAD,EAAWC,WAAX,CAApB,CAAA;OAA1B,CAAA,CAAA;AAEA,MAAA,IAAMyB,cAAc,GAAGzB,WAAW,CAACO,GAAZ,CAAgB,YAAhB,CAAvB,CAAA;;MACA,IAAIkB,cAAc,CAAChE,MAAnB,EAA2B;AACzBgE,QAAAA,cAAc,CAAC3E,OAAf,CAAuB,UAAA4E,QAAQ,EAAG;AAChCpC,UAAAA,MAAM,CAACC,MAAP,CAAcgC,kBAAd,EAAkCG,QAAlC,CAAA,CAAA;SADF,CAAA,CAAA;QAGApC,MAAM,CAACc,IAAP,CAAYmB,kBAAZ,EAAgCzE,OAAhC,CAAwC,UAAA6E,QAAQ,EAAG;AACjD,UAAA,IAAMC,SAAS,GAAGL,kBAAkB,CAACI,QAAD,CAApC,CAAA;;AACA,UAAA,IAAI,CAACP,SAAS,CAACS,UAAf,EAA2B;YACzBT,SAAS,CAACS,UAAV,GAAuB,EAAvB,CAAA;AACD,WAAA;;UACD,IAAI,CAACT,SAAS,CAACS,UAAV,CAAqBC,cAArB,CAAoCH,QAApC,CAAL,EAAoD;YAClD,IAAIC,SAAS,IAAI/C,2BAAA,CAAO+C,SAAP,CAAA,KAAqB,QAAlC,IAA8CA,SAAS,CAAC1C,KAA5D,EAAmE;cACjE0C,SAAS,CAAC1C,KAAV,GAAkB6C,KAAK,CAACH,SAAS,CAAC1C,KAAX,CAAvB,CAAA;AACD,aAAA;;AACDkC,YAAAA,SAAS,CAACS,UAAV,CAAqBF,QAArB,IAAiCC,SAAjC,CAAA;AACD,WAAA;SAVH,CAAA,CAAA;AAYD,OAAA;AACF,KAAA;;AAjCmD,IAAA,IAmC9CI,aAnC8C,gBAAA,UAAA,iBAAA,EAAA;AAAA,MAAAC,6BAAA,CAAA,aAAA,EAAA,iBAAA,CAAA,CAAA;;AAAA,MAAA,IAAA,MAAA,GAAA,YAAA,CAAA,aAAA,CAAA,CAAA;;AA2DlD,MAAA,SAAA,aAAA,CAAa3D,KAAb,EAAkB;AAAA,QAAA,IAAA,KAAA,CAAA;;AAAA,QAAA4D,mCAAA,CAAA,IAAA,EAAA,aAAA,CAAA,CAAA;;AAChB,QAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM5D,KAAN,CAAA,CAAA;AAxBM,QAAA,KAAA,CAAa6D,aAAb,GAAsC,EAAtC,CAuBU;;QApBV,KAAUC,CAAAA,UAAV,GAAqB,EAArB,CAAA;QAEA,KAASC,CAAAA,SAAT,GAAoB,EAApB,CAAA;QAEA,KAAQC,CAAAA,QAAR,GAAmB,EAAnB,CAAA;QAEA,KAAQC,CAAAA,QAAR,GAAmB,EAAnB,CAAA;QAEA,KAAYC,CAAAA,YAAZ,GAAuB,EAAvB,CAAA;QAEA,KAAgBC,CAAAA,gBAAhB,GAA2B,EAA3B,CAAA;QAEA,KAAOC,CAAAA,OAAP,GAAeC,0BAAkB,EAAjC,CAAA;AAID,QAAA,KAAA,CAAAC,cAAA,GAAmCtD,MAAM,CAACuD,MAAP,CAAc,IAAd,CAAnC,CAAA;;AA2OC,QAAA,KAAA,CAAAC,WAAA,GAAc,UAACC,IAAD,EAAoC;AAAA,UAAA,KAAA,IAAA,IAAA,GAAA,SAAA,CAAA,MAAA,EAAnBC,IAAmB,GAAA,IAAA,KAAA,CAAA,IAAA,GAAA,CAAA,GAAA,IAAA,GAAA,CAAA,GAAA,CAAA,CAAA,EAAA,IAAA,GAAA,CAAA,EAAA,IAAA,GAAA,IAAA,EAAA,IAAA,EAAA,EAAA;YAAnBA,IAAmB,CAAA,IAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,IAAA,CAAA,CAAA;AAAA,WAAA;;UACxD,IAAI/B,UAAU,CAAC8B,IAAD,CAAd,EAAsBA,IAAI,CAACrF,KAAL,CAAAuF,0CAAA,CAAA,KAAA,CAAA,EAAiBD,IAAjB,CAAA,CAAA;SADhB,CAAA;;AAiKD,QAAA,KAAA,CAAAE,OAAA,GAAU,UAAC/E,GAAD,EAASgF,QAAT,EAAkC;AACjD,UAAA,IAAIC,QAAJ,CAAA;;AACA,UAAA,IAAI,KAAKC,CAAAA,SAAL,IAAkB/D,MAAM,CAACc,IAAP,CAAYd,MAAM,CAACc,IAAP,CAAY,KAAA,CAAKiD,SAAjB,CAAZ,CAAtB,EAAgE;AAC9DD,YAAAA,QAAQ,GAAGrB,KAAK,CAAC,KAAA,CAAKf,KAAN,CAAhB,CAAA;AACD,WAAA;;UACD1B,MAAM,CAACc,IAAP,CAAYjC,GAAZ,EAAiBrB,OAAjB,CAAyB,UAAAF,GAAG,EAAG;YAC7BqC,OAAO,CAAC,KAAK+B,CAAAA,KAAN,EAAapE,GAAb,EAAkBuB,GAAG,CAACvB,GAAD,CAArB,CAAP,CAAA;WADF,CAAA,CAAA;;AAGA,UAAA,KAAA,CAAK0G,QAAL,CAAc,KAAKtC,CAAAA,KAAnB,EAA0B,YAAK;AAC7B,YAAA,KAAA,CAAKuC,gBAAL,CAAsB,KAAKvC,CAAAA,KAA3B,EAAkCoC,QAAlC,CAAA,CAAA;;AACA,YAAA,IAAID,QAAJ,EAAc;AACZA,cAAAA,QAAQ,CAACxF,IAAT,CAAAsF,0CAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACD,aAAA;WAJH,CAAA,CAAA;SARK,CAAA;;QAgBA,KAAYO,CAAAA,YAAZ,GAAe,UAACC,SAAD,EAAoBC,MAApB,EAA4BC,OAA5B,EAAuC;AAC3D,UAAA,IAAIA,OAAJ,EAAa;YACXnE,MAAM,CAAC,uBAAD,CAAN,CAAA;AACD,WAAA;;UAED,IAAMlB,KAAK,GAAG,KAAA,CAAKA,KAAnB,CAAA;UACA,IAAMsF,OAAO,GAAG,EAAhB,CAAA;;AACA,UAAA,KAAK,IAAMhH,GAAX,IAAkB0B,KAAlB,EAAyB;AACvB,YAAA,IAAI,CAAC1B,GAAG,CAACiH,UAAJ,CAAe,OAAf,CAAL,EAA8B,SAAA;AAC9BD,YAAAA,OAAO,CAAChH,GAAG,CAAC+B,OAAJ,CAAY,QAAZ,EAAsB,EAAtB,CAAD,CAAP,GAAqCL,KAAK,CAAC1B,GAAD,CAA1C,CAAA;AACD,WAAA;;AAED,UAAA,IAAMmG,IAAI,GAAGzE,KAAK,aAAMmF,SAAS,CAAC,CAAD,CAAT,CAAaK,WAAb,EAAN,SAAmCL,SAAS,CAAC/E,KAAV,CAAgB,CAAhB,CAAnC,CAAlB,CAAA,CAAA;;AACA,UAAA,IAAIuC,UAAU,CAAC8B,IAAD,CAAd,EAAsB;YACpBA,IAAI,CAACpF,IAAL,CAAgBsF,0CAAA,CAAA,KAAA,CAAA,EAAA;AACdc,cAAAA,IAAI,EAAEN,SADQ;AAEdC,cAAAA,MAAM,EAANA,MAFc;AAGdM,cAAAA,MAAM,EAAE;AACNC,gBAAAA,EAAE,EAAE3F,KAAK,CAAC2F,EAAN,IAAY,EADV;AAENL,gBAAAA,OAAO,EAAPA,OAAAA;eALY;AAOdM,cAAAA,aAAa,EAAE;AACbD,gBAAAA,EAAE,EAAE3F,KAAK,CAAC2F,EAAN,IAAY,EADH;AAEbL,gBAAAA,OAAO,EAAPA,OAAAA;AAFa,eAAA;aAPjB,CAAA,CAAA;AAYD,WAAA;SA1BI,CAAA;;AAwCA,QAAA,KAAA,CAAAO,WAAA,GAAc,KAAA,CAAKC,qBAAL,CAA2B,aAA3B,CAAd,CAAA;AACA,QAAA,KAAA,CAAAC,mBAAA,GAAsB,KAAA,CAAKD,qBAAL,CAA2B,qBAA3B,CAAtB,CAAA;AACA,QAAA,KAAA,CAAAE,0BAAA,GAA6B,KAAA,CAAKF,qBAAL,CAA2B,4BAA3B,CAA7B,CAAA;AACA,QAAA,KAAA,CAAAG,wBAAA,GAA2B,KAAA,CAAKH,qBAAL,CAA2B,0BAA3B,CAA3B,CAAA;AACA,QAAA,KAAA,CAAAI,gBAAA,GAAmB,KAAA,CAAKJ,qBAAL,CAA2B,kBAA3B,CAAnB,CAAA;AACA,QAAA,KAAA,CAAAK,SAAA,GAAY,KAAA,CAAKL,qBAAL,CAA2B,WAA3B,CAAZ,CAAA;AACA,QAAA,KAAA,CAAAM,SAAA,GAAY,KAAA,CAAKN,qBAAL,CAA2B,WAA3B,CAAZ,CAAA;AACA,QAAA,KAAA,CAAAO,OAAA,GAAU,KAAA,CAAKP,qBAAL,CAA2B,SAA3B,CAAV,CAAA;AACA,QAAA,KAAA,CAAAQ,cAAA,GAAiB,KAAA,CAAKR,qBAAL,CAA2B,gBAA3B,CAAjB,CAAA;AACA,QAAA,KAAA,CAAAS,4BAAA,GAA+B,KAAA,CAAKT,qBAAL,CAA2B,8BAA3B,CAA/B,CAAA;AAvcL,QAAA,KAAA,CAAKpD,KAAL,GAAa,KAAKA,CAAAA,KAAL,IAAc,EAA3B,CAAA;;QACA,KAAK8D,CAAAA,IAAL,CAAU1D,SAAV,CAAA,CAAA;;AACAV,QAAAA,YAAY,CAAOuC,0CAAA,CAAA,KAAA,CAAA,EAAA,MAAP,EAAe,OAAf,CAAZ,CAAA;AACAvC,QAAAA,YAAY,CAAOuC,0CAAA,CAAA,KAAA,CAAA,EAAA,YAAP,EAAqB,OAArB,CAAZ,CAAA;AALgB,QAAA,OAAA,KAAA,CAAA;AAMjB,OAAA;;AAjEiD,MAAA8B,gCAAA,CAAA,aAAA,EAAA,CAAA;AAAA,QAAA,GAAA,EAAA,WAAA;QAAA,KAmE1C,EAAA,SAAA,SAAA,CAAWzG,KAAX,EAAqB;AAC3B,UAAA,KAAK,IAAM0G,OAAX,IAAsB1G,KAAtB,EAA6B;AAC3B,YAAA,IAAIA,KAAK,CAACwD,cAAN,CAAqBkD,OAArB,CAAJ,EAAmC;AACjC,cAAA,IAAMpD,SAAS,GAAGtD,KAAK,CAAC0G,OAAD,CAAvB,CADiC;;AAGjC,cAAA,IAAIpD,SAAS,IAAI,CAACX,UAAU,CAACW,SAAD,CAA5B,EAAyC;gBACvC,IAAIA,SAAS,CAACqD,QAAd,EAAwB;kBACtB,IAAK9C,CAAAA,aAAL,CAAmB1B,IAAnB,CAAwB;AACtByE,oBAAAA,IAAI,EAAEF,OADgB;oBAEtBC,QAAQ,EAAErD,SAAS,CAACqD,QAAAA;mBAFtB,CAAA,CAAA;AAID,iBAAA;AACF,eAAA;AACF,aAAA;AACF,WAAA;AACF,SAAA;AAlFiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,MAAA;QAAA,KAoF1C,EAAA,SAAA,IAAA,CAAMtB,OAAN,EAAwB;AAAA,UAAA,IAAA,MAAA,GAAA,IAAA,CAAA;;yBAAA;;;UAE9B,IAAI,MAAAA,OAAO,CAACzD,SAAR,MAAiB,IAAjB,IAAiBsB,EAAA,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAiBA,EAAA,CAAE/D,MAAvB,EAA+B;YAAA,IACHuC,SAAAA,GAAAA,0BAAAA,CAAAA,WAAW,CAACmF,OAAZ,EADG,CAAA;AAAA,gBAAA,KAAA,CAAA;;AAAA,YAAA,IAAA;AAAA,cAAA,IAAA,KAAA,GAAA,SAAA,KAAA,GAAA;AAAA,gBAAA,IAAA,WAAA,GAAAC,kCAAA,CAAA,KAAA,CAAA,KAAA,EAAA,CAAA,CAAA;AAAA,oBACjBxI,GADiB,GAAA,WAAA,CAAA,CAAA,CAAA;AAAA,oBACZ4D,IADY,GAAA,WAAA,CAAA,CAAA,CAAA,CAAA;;AAE3B,gBAAA,QAAQ5D,GAAR;AACE,kBAAA,KAAK,SAAL,CAAA;AACA,kBAAA,KAAK,UAAL,CAAA;AACA,kBAAA,KAAK,UAAL,CAAA;AACA,kBAAA,KAAK,OAAL;AACE4D,oBAAAA,IAAI,CAAC1D,OAAL,CAAa,UAAAM,EAAE,EAAA;AAAA,sBAAA,OAAI,MAAI,CAACiI,cAAL,CAAoBzI,GAApB,EAAyBQ,EAAzB,CAAJ,CAAA;qBAAf,CAAA,CAAA;AACA,oBAAA,MAAA;AANJ,iBAAA;AAF2B,eAAA,CAAA;;cAC7B,KAAiD,SAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,KAAA,GAAA,SAAA,CAAA,CAAA,EAAA,EAAA,IAAA,GAAA;AAAA,gBAAA,KAAA,EAAA,CAAA;AAShD,eAAA;AAV4B,aAAA,CAAA,OAAA,GAAA,EAAA;AAAA,cAAA,SAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,aAAA,SAAA;AAAA,cAAA,SAAA,CAAA,CAAA,EAAA,CAAA;AAAA,aAAA;AAW9B,WAAA;;AAED,UAAA,KAAK,IAAMkI,OAAX,IAAsB3B,OAAtB,EAA+B;AAC7B;AACA,YAAA,IAAI/D,UAAU,CAACS,GAAX,CAAeiF,OAAf,CAAJ,EAA6B;AAC3B,cAAA,IAAMhF,MAAM,GAAGV,UAAU,CAACW,GAAX,CAAe+E,OAAf,CAAf,CAAA;cACA9F,MAAM,CAACc,MAAD,CAAN,CAAA;AACD,aAAA;;AAED,YAAA,IAAMiF,SAAS,GAAG5B,OAAO,CAAC2B,OAAD,CAAzB,CAAA;;AAEA,YAAA,QAAQA,OAAR;AACE,cAAA,KAAK,WAAL;AACE,gBAAA,MAAA;;AACF,cAAA,KAAK,MAAL;AAAa,gBAAA;AACX,kBAAA,IAAIjE,KAAJ,EAAW;oBACT,IAAKiE,CAAAA,OAAL,IAAgBC,SAAhB,CAAA;;AACA,oBAAA,IAAI,CAACrI,UAAU,CAACsI,QAAX,CAAoBF,OAApB,CAAL,EAAmC;AACjC,sBAAA,IAAA,CAAKzE,cAAL,CAAoB,IAAA,CAAK+B,cAAzB,EAAyC0C,OAAzC,EAAkD,IAAlD,CAAA,CAAA;AACD,qBAAA;AACF,mBALD,MAKO;AACL,oBAAA,IAAA,CAAKtE,KAAL,GACK1B,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAA,EAAA,EAAAgG,SAAA,CAAA,EACA,IAAA,CAAKvE,KADL,CADL,CAAA;AAID,mBAAA;;AACD,kBAAA,MAAA;AACD,iBAAA;;AACD,cAAA,KAAK,YAAL;gBACE,IAAKyE,CAAAA,SAAL,CAAenG,MAAM,CAACC,MAAP,CAAcgC,kBAAd,EAAkCgE,SAAlC,CAAf,CAAA,CAAA;AACA,gBAAA,MAAA;;AACF,cAAA,KAAK,SAAL;AACE,gBAAA,KAAK,IAAM3I,GAAX,IAAkB2I,SAAlB,EAA6B;AAC3B,kBAAA,IAAMG,MAAM,GAAGH,SAAS,CAAC3I,GAAD,CAAxB,CAAA;AACA,kBAAA,IAAA,CAAKA,GAAL,CAAYO,GAAAA,IAAI,CAACuI,MAAD,EAAS,IAAT,CAAhB,CAAA;AACD,iBAAA;;AACD,gBAAA,MAAA;;AACF,cAAA,KAAK,WAAL;AACE,gBAAA,KAAK,IAAM9I,KAAX,IAAkB2I,SAAlB,EAA6B;AAC3B,kBAAA,IAAA,CAAKF,cAAL,CAAoBzI,KAApB,EAAyB2I,SAAS,CAAC3I,KAAD,CAAlC,CAAA,CAAA;AACD,iBAAA;;AACD,gBAAA,MAAA;;AACF,cAAA,KAAK,eAAL;AACE,gBAAA,KAAK,IAAMA,KAAX,IAAkB2I,SAAlB,EAA6B;AAC3B,kBAAA,IAAMI,EAAE,GAAGJ,SAAS,CAAC3I,KAAD,CAApB,CAAA;;AACA,kBAAA,QAAQA,KAAR;AACE,oBAAA,KAAK,MAAL;AAAa,sBAAA;AACX,wBAAA,IAAA,CAAKgJ,qBAAL,CAA2B,MAA3B,EAAmCD,EAAnC,CAAA,CAAA;AACA,wBAAA,MAAA;AACD,uBAAA;;AACD,oBAAA,KAAK,MAAL;AAAa,sBAAA;AACX,wBAAA,IAAA,CAAKC,qBAAL,CAA2B,MAA3B,EAAmCD,EAAnC,CAAA,CAAA;AACA,wBAAA,MAAA;AACD,uBAAA;;AACD,oBAAA,KAAK,QAAL;AAAe,sBAAA;wBACbnG,MAAM,CAAC,sCAAD,CAAN,CAAA;AACA,wBAAA,MAAA;AACD,uBAAA;AAZH,mBAAA;AAcD,iBAAA;;AACD,gBAAA,MAAA;;AACF,cAAA;AACE,gBAAA,IAAI9C,UAAU,CAAC2D,GAAX,CAAeiF,OAAf,CAAJ,EAA6B;AAC3B;kBACA,IAAI,MAAA3B,OAAO,CAACkC,SAAR,MAAoB,IAApB,IAAoBC,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoBA,EAAA,CAAAR,OAAA,CAAxB,EAAkC;AAChC,oBAAA,MAAA;AACD,mBAAA;;AAED,kBAAA,IAAMzI,SAAS,GAAG8G,OAAO,CAAC2B,OAAD,CAAzB,CAAA;AACA,kBAAA,IAAA,CAAKD,cAAL,CAAoBC,OAApB,EAA6BzI,SAA7B,CAAA,CAAA;AACD,iBARD,MAQO,IAAIoE,UAAU,CAACsE,SAAD,CAAd,EAA2B;AAChC,kBAAA,IAAA,CAAKD,OAAL,CAAgBnI,GAAAA,IAAI,CAACoI,SAAD,EAAY,IAAZ,CAApB,CAAA;;kBAEA,IAAIlE,KAAK,IAAI,CAACnE,UAAU,CAACsI,QAAX,CAAoBF,OAApB,CAAd,EAA4C;AAC1C,oBAAA,IAAA,CAAKzE,cAAL,CAAoB,IAAA,CAAK+B,cAAzB,EAAyC0C,OAAzC,EAAkD,IAAlD,CAAA,CAAA;AACD,mBAL+B;;;AAQhC,kBAAA,IAAIrI,mBAAmB,CAACuI,QAApB,CAA6BF,OAA7B,CAAA,IAAyChE,gBAAgB,CAACyE,SAAjB,CAA2BT,OAA3B,CAA7C,EAAkF;oBAChF9F,MAAM,CAAA,2BAAA,CAAA,MAAA,CAAS8F,OAAT,EAAN,mJAAA,CAAA,CAAA,CAAA;AACD,mBAAA;AACF,iBAXM,MAWA;kBACL,IAAKA,CAAAA,OAAL,IAAgBC,SAAhB,CAAA;;kBAEA,IAAIlE,KAAK,IAAI,CAACnE,UAAU,CAACsI,QAAX,CAAoBF,OAApB,CAAd,EAA4C;AAC1C,oBAAA,IAAA,CAAKzE,cAAL,CAAoB,IAAA,CAAK+B,cAAzB,EAAyC0C,OAAzC,EAAkD,IAAlD,CAAA,CAAA;AACD,mBAAA;AACF,iBAAA;;AAED,gBAAA,MAAA;AA9EJ,aAAA;AAgFD,WAxG6B;;;UA2G9B,IAAI,MAAA3B,OAAO,CAACzD,SAAR,MAAiB,IAAjB,IAAiB8F,EAAA,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAiBA,EAAA,CAAEvI,MAAvB,EAA+B;AAAA,YAAA,CAAA,YAAA;cAC7B,IAAMwI,YAAY,GAAG,EAArB,CAAA;cACA,IAAMC,OAAO,GAAG,EAAhB,CAAA;;cAF6B,IAGHlG,UAAAA,GAAAA,0BAAAA,CAAAA,WAAW,CAACmF,OAAZ,EAHG,CAAA;AAAA,kBAAA,MAAA,CAAA;;AAAA,cAAA,IAAA;AAAA,gBAAA,IAAA,MAAA,GAAA,SAAA,MAAA,GAAA;AAAA,kBAAA,IAAA,YAAA,GAAAC,kCAAA,CAAA,MAAA,CAAA,KAAA,EAAA,CAAA,CAAA;AAAA,sBAGjBxI,GAHiB,GAAA,YAAA,CAAA,CAAA,CAAA;AAAA,sBAGZ4D,IAHY,GAAA,YAAA,CAAA,CAAA,CAAA,CAAA;;AAI3B,kBAAA,QAAQ5D,GAAR;AACE,oBAAA,KAAK,MAAL;AACE,sBAAA,EAAA,CAAA,MAAA,CAAAuJ,sCAAA,CAAI3F,IAAJ,CAAA,EAAA,CAAU,MAAI,CAACQ,KAAf,CAAA,CAAA,CAAsBlE,OAAtB,CAA8B,UAACsJ,UAAD,EAAaC,KAAb,EAAsB;wBAClD/G,MAAM,CAACc,IAAP,CAAYgG,UAAZ,EAAwBtJ,OAAxB,CAAgC,UAAAwJ,OAAO,EAAG;AACxC,0BAAA,IAAMpH,KAAK,GAAGkH,UAAU,CAACE,OAAD,CAAxB,CAAA;AACA,0BAAA,IAAMC,QAAQ,GAAGN,YAAY,CAACK,OAAD,CAA7B,CAAA;;0BACA,IAAME,SAAS,GAAUtH,2BAAAA,CAAAA,KAAV,CAAf,CAAA;;0BACA,IAAMuH,YAAY,GAAUF,2BAAAA,CAAAA,QAAV,CAAlB,CAAA;;0BACA,IAAIC,SAAS,KAAK,QAAlB,EAA4B;4BAC1B,IAAI,CAACtH,KAAL,EAAY;AACV+G,8BAAAA,YAAY,CAACK,OAAD,CAAZ,GAAwBpH,KAAxB,CAAA;AACD,6BAFD,MAEO,IAAIuH,YAAY,KAAK,QAAjB,IAA6B,CAACA,YAA9B,IAA8CjI,KAAK,CAACC,OAAN,CAAcS,KAAd,CAAlD,EAAwE;AAC7E+G,8BAAAA,YAAY,CAACK,OAAD,CAAZ,GAAwBD,KAAK,KAAK7F,IAAI,CAAC/C,MAAf,GAAwByB,KAAxB,GAAgC6C,KAAK,CAAC7C,KAAD,CAA7D,CAAA;AACD,6BAFM,MAEA;8BACL,IAAMwH,MAAM,GAAGpH,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBgH,QAAlB,EAA4BrH,KAA5B,CAAf,CAAA;AACA+G,8BAAAA,YAAY,CAACK,OAAD,CAAZ,GAAwBD,KAAK,KAAK7F,IAAI,CAAC/C,MAAf,GAAwBiJ,MAAxB,GAAiC3E,KAAK,CAAC2E,MAAD,CAA9D,CAAA;AACD,6BAAA;AACF,2BATD,MASO;AACLT,4BAAAA,YAAY,CAACK,OAAD,CAAZ,GAAwBpH,KAAxB,CAAA;AACD,2BAAA;yBAhBH,CAAA,CAAA;uBADF,CAAA,CAAA;sBAoBA,MAAI,CAAC8B,KAAL,GAAaiF,YAAb,CAAA;AACA,sBAAA,MAAA;;AACF,oBAAA,KAAK,SAAL;AACEzF,sBAAAA,IAAI,CAAC1D,OAAL,CAAa,UAAA6J,aAAa,EAAG;AAC3BrH,wBAAAA,MAAM,CAACC,MAAP,CAAc2G,OAAd,EAAuBS,aAAvB,CAAA,CAAA;uBADF,CAAA,CAAA;sBAGArH,MAAM,CAACc,IAAP,CAAY8F,OAAZ,EAAqBpJ,OAArB,CAA6B,UAAA8J,UAAU,EAAG;AACxC,wBAAA,IAAI,CAAC,MAAI,CAACA,UAAD,CAAT,EAAuB;AACrB,0BAAA,IAAMlB,OAAM,GAAGQ,OAAO,CAACU,UAAD,CAAtB,CAAA;0BACA,MAAI,CAACA,UAAD,CAAJ,GAAmBzJ,IAAI,CAACuI,OAAD,EAAS,MAAT,CAAvB,CAAA;AACD,yBAAA;uBAJH,CAAA,CAAA;AAMA,sBAAA,MAAA;;AACF,oBAAA;AACE,sBAAA,MAAA;AApCJ,mBAAA;AAJ2B,iBAAA,CAAA;;gBAG7B,KAAiD,UAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,MAAA,GAAA,UAAA,CAAA,CAAA,EAAA,EAAA,IAAA,GAAA;AAAA,kBAAA,MAAA,EAAA,CAAA;AAuChD,iBAAA;AA1C4B,eAAA,CAAA,OAAA,GAAA,EAAA;AAAA,gBAAA,UAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,eAAA,SAAA;AAAA,gBAAA,UAAA,CAAA,CAAA,EAAA,CAAA;AAAA,eAAA;AAAA,aAAA,GAAA,CAAA;AA2C9B,WAAA;AACF,SAAA;AA3OiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,gBAAA;AAAA,QAAA,KAAA,EA6O1C,SAAgBmB,cAAAA,CAAAA,aAAhB,EAAuChK,SAAvC,EAAsD;AAC5D;AACA,UAAA,IAAI+C,UAAU,CAACS,GAAX,CAAewG,aAAf,CAAJ,EAAmC;AACjC,YAAA,IAAMvG,MAAM,GAAGV,UAAU,CAACW,GAAX,CAAesG,aAAf,CAAf,CAAA;YACA,OAAOrH,MAAM,CAACc,MAAD,CAAb,CAAA;AACD,WAAA;;UAED,IAAIuG,aAAa,KAAK,OAAtB,EAA+B;AAC7B;YACA,IAAI,IAAA,CAAKnE,OAAL,CAAaoE,IAAb,CAAkBC,OAAlB,CAA0BC,MAA9B,EAAsC;AACpC,cAAA,IAAA,CAAK3E,SAAL,CAAe5B,IAAf,CAAoB,YAA4B;AAAA,gBAAA,IAAA,MAAA,GAAA,IAAA,CAAA;;AAAA,gBAAA,KAAA,IAAA,KAAA,GAAA,SAAA,CAAA,MAAA,EAAfuC,IAAe,GAAA,IAAA,KAAA,CAAA,KAAA,CAAA,EAAA,KAAA,GAAA,CAAA,EAAA,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA;kBAAfA,IAAe,CAAA,KAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA,CAAA;AAAA,iBAAA;;AAC9CiE,gBAAAA,aAAQ,CAAC,YAAK;AACZ,kBAAA,IAAIhG,UAAU,CAACpE,SAAD,CAAd,EAA2B;AACzBA,oBAAAA,SAAS,CAACa,KAAV,CAAgB,MAAhB,EAAsBsF,IAAtB,CAAA,CAAA;AACD,mBAAA;AACF,iBAJO,CAAR,CAAA;eADF,CAAA,CAAA;AAOD,aARD,MAQO;AACL,cAAA,IAAA,CAAK4C,qBAAL,CAA2B,OAA3B,EAAoC/I,SAApC,CAAA,CAAA;AACD,aAAA;AACF,WAbD,MAaO;AACL,YAAA,KAAK,IAAMqK,YAAX,IAA2B/K,YAA3B,EAAyC;AACvC,cAAA,IAAMgL,UAAU,GAAGhL,YAAY,CAAC+K,YAAD,CAA/B,CAAA;;cACA,IAAIC,UAAU,CAACC,OAAX,CAAmBP,aAAnB,CAAsC,KAAA,CAAC,CAA3C,EAA8C;AAC5C,gBAAA,QAAQK,YAAR;kBACE,KAAKhL,cAAc,CAACM,OAApB;AACE,oBAAA,IAAA,CAAK8F,QAAL,CAAc7B,IAAd,CAAmB5D,SAAnB,CAAA,CAAA;AACA,oBAAA,MAAA;;kBACF,KAAKX,cAAc,CAACG,QAApB;AACE,oBAAA,IAAA,CAAKgG,SAAL,CAAe5B,IAAf,CAAoB5D,SAApB,CAAA,CAAA;AACA,oBAAA,MAAA;;kBACF,KAAKX,cAAc,CAACK,OAApB;AACE,oBAAA,IAAA,CAAKgG,QAAL,CAAc9B,IAAd,CAAmB5D,SAAnB,CAAA,CAAA;AACA,oBAAA,MAAA;;kBACF,KAAKX,cAAc,CAACE,SAApB;AACE,oBAAA,IAAA,CAAKgG,UAAL,CAAgB3B,IAAhB,CAAqB5D,SAArB,CAAA,CAAA;AACA,oBAAA,MAAA;;kBACF,KAAKX,cAAc,CAACO,WAApB;AACE,oBAAA,IAAA,CAAK+F,YAAL,CAAkB/B,IAAlB,CAAuB5D,SAAvB,CAAA,CAAA;AACA,oBAAA,MAAA;AAfJ,iBAAA;AAmBD,eAAA;AACF,aAAA;AACF,WA7C2D;;;AAgD5D,UAAA,IAAI,CAACoE,UAAU,CAAC,KAAK4F,aAAL,CAAD,CAAf,EAAsC;YACpC,IAAKA,CAAAA,aAAL,IAAsBhK,SAAtB,CAAA;AACD,WAAA;AACF,SAAA;AAhSiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,uBAAA;AAAA,QAAA,KAAA,EAsS1C,SAAuBqI,qBAAAA,CAAAA,IAAvB,EAAqCS,EAArC,EAAiE;AACvE;AACA,UAAA,IAAQ0B,MAAR,GAAmB,IAAK3E,CAAAA,OAAxB,CAAQ2E,MAAR,CAAA;AACA,UAAA,IAAMR,aAAa,GAAQ3B,IAAAA,CAAAA,MAAAA,CAAAA,IAAI,CAAC,CAAD,CAAJ,CAAQpB,WAAR,EAAR,CAAA,CAAA,MAAA,CAAgCoB,IAAI,CAACxG,KAAL,CAAW,CAAX,CAAhC,CAAnB,CAAA;AACAiH,UAAAA,EAAE,GAAGA,EAAE,CAACxI,IAAH,CAAQ,IAAR,CAAL,CAAA;AACA,UAAA,CAAAkK,MAAM,SAAN,IAAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAAA,MAAM,CAAGR,aAAH,CAAN,KAA2BS,gBAAW,CAACC,EAAZ,CAAeF,MAAM,CAACR,aAAD,CAArB,EAAsClB,EAAtC,CAA3B,CALuE;;UAOvE,IAAKlD,CAAAA,gBAAL,CAAsBhC,IAAtB,CAA2B,YAAA;YAAA,OAAM6G,gBAAW,CAACE,GAAZ,CAAgBH,MAAM,CAACR,aAAD,CAAtB,EAAuClB,EAAvC,CAAN,CAAA;WAA3B,CAAA,CAAA;AACD,SAAA;AA9SiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,mBAAA;QAAA,KAgT1C,EAAA,SAAA,iBAAA,CAAmB8B,KAAnB,EAAoD;AAAA,UAAA,KAAA,IAAA,KAAA,GAAA,SAAA,CAAA,MAAA,EAAfzE,IAAe,GAAA,IAAA,KAAA,CAAA,KAAA,GAAA,CAAA,GAAA,KAAA,GAAA,CAAA,GAAA,CAAA,CAAA,EAAA,KAAA,GAAA,CAAA,EAAA,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA;YAAfA,IAAe,CAAA,KAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA,CAAA;AAAA,WAAA;;AAC1D,UAAA,KAAK,IAAI0E,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,KAAK,CAAChK,MAA1B,EAAkCiK,CAAC,EAAnC,EAAuC;AACrC,YAAA,IAAM3E,IAAI,GAAG0E,KAAK,CAACC,CAAD,CAAlB,CAAA;AACA,YAAA,IAAA,CAAK5E,WAAL,CAAA,KAAA,CAAA,IAAA,EAAA,CAAiBC,IAAjB,CAAA,CAAA,MAAA,CAA0BC,IAA1B,CAAA,CAAA,CAAA;AACD,WAAA;AACF,SAAA;AArTiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,4BAAA;AAAA,QAAA,KAAA,EAuT1C,SAA4B2E,0BAAAA,CAAAA,SAA5B,EAAuCC,SAAvC,EAAgD;AAAA,UAAA,IAAA,MAAA,GAAA,IAAA,CAAA;;AACtD,UAAA,IAAA,CAAKzF,aAAL,CAAmBrF,OAAnB,CAA2B,UAA4B,IAAA,EAAA;YAAA,IAAnBF,GAAmB,QAAzBsI,IAAyB;gBAAdD,QAAc,QAAdA,QAAc,CAAA;AACrD,YAAA,IAAM1G,IAAI,GAAGoJ,SAAS,KAAT,IAAA,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAG/K,GAAH,CAAtB,CAAA;AACA,YAAA,IAAMiL,QAAQ,GAAGD,SAAS,CAAChL,GAAD,CAA1B,CAFqD;;AAIrD,YAAA,IAAI,CAACiB,OAAO,CAACU,IAAD,EAAOsJ,QAAP,CAAZ,EAA8B;AAC5B,cAAA,IAAI,OAAO5C,QAAP,KAAoB,QAAxB,EAAkC;AAChC,gBAAA,IAAM6C,EAAE,GAAG,MAAI,CAAC7C,QAAD,CAAf,CAAA;;AACA,gBAAA,IAAIhE,UAAU,CAAC6G,EAAD,CAAd,EAAoB;kBAClBA,EAAE,CAACnK,IAAH,CAAQ,MAAR,EAAckK,QAAd,EAAwBtJ,IAAxB,EAA8B3B,GAA9B,CAAA,CAAA;AACD,iBAAA;AACF,eALD,MAKO,IAAIqE,UAAU,CAACgE,QAAD,CAAd,EAA0B;gBAC/BA,QAAQ,CAACtH,IAAT,CAAc,MAAd,EAAoBkK,QAApB,EAA8BtJ,IAA9B,EAAoC3B,GAApC,CAAA,CAAA;AACD,eAAA;AACF,aAAA;WAbH,CAAA,CAAA;AAeD,SAAA;AAvUiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,kBAAA;AAAA,QAAA,KAAA,EAyU1C,SAAkB8F,gBAAAA,CAAAA,OAAlB,EAA2BqF,IAA3B,EAA+B;UACrC,IAAM1E,SAAS,GAAG,IAAA,CAAKA,SAAvB,CAAA;;UACA,IAAIA,SAAS,IAAI,IAAjB,EAAuB;AACrB,YAAA,OAAA;AACD,WAAA;;UAED,IAAI/D,MAAM,CAACc,IAAP,CAAYiD,SAAZ,CAAuB5F,CAAAA,MAAvB,KAAkC,CAAtC,EAAyC;AACvC,YAAA,OAAA;AACD,WAAA;;AAED,UAAA,IAAMuK,MAAM,GAAGC,IAAI,CAACvF,OAAD,EAAUqF,IAAV,CAAnB,CAAA;AACA,UAAA,IAAMG,UAAU,GAAG5I,MAAM,CAACc,IAAP,CAAY4H,MAAZ,CAAnB,CAAA;;AACA,UAAA,IAAIE,UAAU,CAACzK,MAAX,KAAsB,CAA1B,EAA6B;AAC3B,YAAA,OAAA;AACD,WAAA;;AAED,UAAA,KAAK,IAAM0K,WAAX,IAA0B9E,SAA1B,EAAqC;AACnC,YAAA,IAAI,MAAO+E,CAAAA,IAAP,CAAYD,WAAZ,CAAJ,EAA8B;cAC5B3I,MAAM,CAAC,8BAAD,CAAN,CAAA;AACA,cAAA,SAAA;AACD,aAAA;;YAED,IAAMY,IAAI,GAAG+H,WAAW,CAACvJ,KAAZ,CAAkB,GAAlB,CAAuByJ,CAAAA,GAAvB,CAA2B,UAAAC,CAAC,EAAA;cAAA,OAAIA,CAAC,CAACC,IAAF,EAAJ,CAAA;AAAA,aAA5B,CAAb,CAAA;YACA,IAAIC,UAAU,GAAG,KAAjB,CAAA;;AAEA,YAAA,KAAK,IAAId,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGtH,IAAI,CAAC3C,MAAzB,EAAiCiK,CAAC,EAAlC,EAAsC;AACpC,cAAA,IAAM9K,GAAG,GAAGwD,IAAI,CAACsH,CAAD,CAAhB,CAAA;;AACA,cAAA,KAAK,IAAIe,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,UAAU,CAACzK,MAA/B,EAAuCgL,CAAC,EAAxC,EAA4C;AAC1C,gBAAA,IAAMC,SAAS,GAAGR,UAAU,CAACO,CAAD,CAA5B,CAAA;;AACA,gBAAA,IACEC,SAAS,CAAC7E,UAAV,CAAqBjH,GAArB,CAAA,IACCA,GAAG,CAACiH,UAAJ,CAAe6E,SAAf,KAA6B9L,GAAG,CAAC+L,QAAJ,CAAa,GAAb,CAFhC,EAGE;AACAH,kBAAAA,UAAU,GAAG,IAAb,CAAA;AACD,iBAAA;AACF,eAAA;AACF,aAAA;;AACD,YAAA,IAAIA,UAAJ,EAAgB;AACdnF,cAAAA,SAAS,CAAC8E,WAAD,CAAT,CAAuBzK,KAAvB,CAA6B,IAA7B,EAAmC0C,IAAI,CAACiI,GAAL,CAAS,UAAAzL,GAAG,EAAA;AAAA,gBAAA,OAAIsB,OAAO,CAACwE,OAAD,EAAU9F,GAAV,CAAX,CAAA;AAAA,eAAZ,CAAnC,CAAA,CAAA;AACD,aAAA;AACF,WAAA;AACF,SAAA;AAlXiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,gBAAA;AAAA,QAAA,KAAA,EAoX1C,wBAAgBoH,MAAhB,EAAwBpH,GAAxB,EAA6BgM,IAA7B,EAAiC;AACvCtJ,UAAAA,MAAM,CAACuB,cAAP,CAAsBmD,MAAtB,EAA8BpH,GAA9B,EAAmC;AACjCmE,YAAAA,YAAY,EAAE,IADmB;AAEjCD,YAAAA,UAAU,EAAE,IAFqB;YAGjC+H,GAHiC,EAAA,SAAA,GAAA,CAG5B3J,KAH4B,EAGvB;AACR0J,cAAAA,IAAI,CAAChM,GAAD,CAAJ,GAAYsC,KAAZ,CAAA;aAJ+B;AAMjCqB,YAAAA,GANiC,EAM9B,SAAA,GAAA,GAAA;cACD,OAAOqI,IAAI,CAAChM,GAAD,CAAX,CAAA;AACD,aAAA;WARH,CAAA,CAAA;AAUD,SAAA;AA/XiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,iBAAA;AAAA,QAAA,KAAA,EAiY3C,SAAwB,eAAA,GAAA;AAC7B,UAAA,IAAIkM,CAAJ,CAAA;AACA,UAAA,IAAI1L,EAAJ,CAAA;;AACA,UAAA,IAAI,SAAKK,CAAAA,MAAL,KAAgB,CAApB,EAAuB;AACrBL,YAAAA,EAAE,GAAF,SAAA,CAAA,MAAA,IAAA,CAAA,GAAA,SAAA,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AACA0L,YAAAA,CAAC,GAAD,SAAA,CAAA,MAAA,IAAA,CAAA,GAAA,SAAA,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AACD,WAHD,MAGO,IAAI,SAAA,CAAKrL,MAAL,KAAgB,CAApB,EAAuB;AAC5BqL,YAAAA,CAAC,GAAD,SAAA,CAAA,MAAA,IAAA,CAAA,GAAA,SAAA,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AACD,WAAA;;AACD,UAAA,IAAIA,CAAC,CAAC/E,IAAF,KAAW,WAAf,EAA4B;YAC1BvE,MAAM,CAAC,kFAAD,CAAN,CAAA;AACD,WAAA;;AACDsJ,UAAAA,CAAC,CAACC,eAAF,EAAA,CAAA;AACA9H,UAAAA,UAAU,CAAC7D,EAAD,CAAV,IAAkBA,EAAE,CAAC0L,CAAD,CAApB,CAAA;AACD,SA/YiD;;AAAA,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,oBAAA;AAAA,QAAA,KAAA,EAmZ3C,SAAkB,kBAAA,GAAA;AACvB,UAAA,IAAA,CAAKhG,WAAL,CAAAkG,wBAAA,CAAAC,mCAAA,CAAA,aAAA,CAAA,SAAA,CAAA,EAAA,oBAAA,EAAA,IAAA,CAAA,CAAA,CAAA;UACA,IAAKC,CAAAA,iBAAL,CAAuB,IAAA,CAAK9G,UAA5B,EAAwC,KAAKM,OAAL,CAAa2E,MAAb,IAAuB,EAA/D,CAAA,CAAA;AACA,UAAA,IAAA,CAAK9D,gBAAL,CAAsB,IAAA,CAAKqF,IAA3B,EAAiC5G,aAAa,CAACmH,YAA/C,CAAA,CAAA;AACA,UAAA,IAAA,CAAKC,0BAAL,CAAgCpH,aAAa,CAACmH,YAA9C,EAA4D,KAAK7K,KAAjE,CAAA,CAAA;AACD,SAAA;AAxZiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,mBAAA;AAAA,QAAA,KAAA,EA0Z3C,SAAiB,iBAAA,GAAA;AACtB,UAAA,IAAA,CAAKwE,WAAL,CAAAkG,wBAAA,CAAAC,mCAAA,CAAA,aAAA,CAAA,SAAA,CAAA,EAAA,mBAAA,EAAA,IAAA,CAAA,CAAA,CAAA;UACA,IAAKC,CAAAA,iBAAL,CAAuB,IAAA,CAAK7G,SAA5B,CAAA,CAAA;AACD,SAAA;AA7ZiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,sBAAA;AAAA,QAAA,KAAA,EA+Z3C,SAAoB,oBAAA,GAAA;AACzB,UAAA,IAAA,CAAKI,gBAAL,CAAsB3F,OAAtB,CAA8B,UAAAM,EAAE,EAAA;AAAA,YAAA,OAAIA,EAAE,EAAN,CAAA;WAAhC,CAAA,CAAA;AACA,UAAA,IAAA,CAAK0F,WAAL,CAAAkG,wBAAA,CAAAC,mCAAA,CAAA,aAAA,CAAA,SAAA,CAAA,EAAA,sBAAA,EAAA,IAAA,CAAA,CAAA,CAAA;UACA,IAAKC,CAAAA,iBAAL,CAAuB,IAAA,CAAK1G,YAA5B,CAAA,CAAA;AACD,SAAA;AAnaiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,kBAAA;AAAA,QAAA,KAAA,EAqa3C,SAAgB,gBAAA,GAAA;AACrB,UAAA,IAAA,CAAKM,WAAL,CAAAkG,wBAAA,CAAAC,mCAAA,CAAA,aAAA,CAAA,SAAA,CAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA,CAAA;UACA,IAAKC,CAAAA,iBAAL,CAAuB,IAAA,CAAK5G,QAA5B,CAAA,CAAA;AACD,SAAA;AAxaiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,kBAAA;AAAA,QAAA,KAAA,EA0a3C,SAAgB,gBAAA,GAAA;AACrB,UAAA,IAAA,CAAKQ,WAAL,CAAyCkG,wBAAA,CAAAC,mCAAA,CAAA,aAAA,CAAA,SAAA,CAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,EAAA,IAAA,CAAKvG,OAAL,CAAa2E,MAAb,IAAuB,EAAhE,CAAA,CAAA;UACA,IAAK6B,CAAAA,iBAAL,CAAuB,IAAA,CAAK3G,QAA5B,EAAsC,KAAKG,OAAL,CAAa2E,MAAb,IAAuB,EAA7D,CAAA,CAAA;AACD,SAAA;AA7aiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,2BAAA;QAAA,KA+a3C,EAAA,SAAA,yBAAA,CAA2BO,SAA3B,EAAuC;AAC5C,UAAA,IAAA,CAAKrE,gBAAL,CAAsBqE,SAAtB,EAAiC,KAAKtJ,KAAtC,CAAA,CAAA;AACA,UAAA,IAAA,CAAK8K,0BAAL,CAAgC,IAAK9K,CAAAA,KAArC,EAA4CsJ,SAA5C,CAAA,CAAA;AACA,UAAA,IAAA,CAAK9E,WAAL,CAAAkG,wBAAA,CAAAC,mCAAA,CAAA,aAAA,CAAA,SAAA,CAAA,EAAA,2BAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AACD,SAnbiD;;AAAA,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,IAAA;AAAA,QAAA,GAAA,EAublD,SAAM,GAAA,GAAA;AACJ,UAAA,OAAO,IAAKvG,CAAAA,OAAL,CAAaoE,IAAb,CAAkBuC,EAAzB,CAAA;AACD,SAAA;AAzbiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,IAAA;AAAA,QAAA,GAAA,EA2blD,SAAM,GAAA,GAAA;AACJ,UAAA,OAAO,IAAK3G,CAAAA,OAAL,CAAaoE,IAAb,CAAkB7C,EAAzB,CAAA;AACD,SAAA;AA7biD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,SAAA;AAAA,QAAA,GAAA,EA+blD,SAAW,GAAA,GAAA;AACT,UAAA,OAAO,IAAKvB,CAAAA,OAAL,CAAaoE,IAAb,CAAkBlD,OAAzB,CAAA;AACD,SAAA;AAjciD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,uBAAA;QAAA,KAgf1C,EAAA,SAAA,qBAAA,CAAuB8B,MAAvB,EAAqC;AAAA,UAAA,IAAA,MAAA,GAAA,IAAA,CAAA;;AAC3C,UAAA,OAAO,YAAmB;AACxB,YAAA,IAAMoB,IAAI,GAAG,MAAI,CAACpE,OAAL,CAAaoE,IAA1B,CAAA;;AACA,YAAA,IAAIA,IAAI,SAAJ,IAAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAAA,IAAI,CAAGpB,MAAH,CAAR,EAAoB;AAClB,cAAA,OAAOoB,IAAI,CAACpB,MAAD,CAAJ,CAAA,KAAA,CAAAoB,IAAI,EAAX,SAAA,CAAA,CAAA;AACD,aAFD,MAEO;cACLpH,OAAO,CAAC4J,KAAR,CAAA,0BAAA,CAAA,MAAA,CAA0B5D,MAA1B,EAAA,eAAA,CAAA,CAAA,CAAA;AACD,aAAA;WANH,CAAA;AAQD,SAAA;AAzfiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,iBAAA;AAAA,QAAA,KAAA,EAsgB3C,SAAe,eAAA,GAAA;AACpBlG,UAAAA,MAAM,CAACI,UAAU,CAACW,GAAX,CAAe,iBAAf,CAAD,CAAN,CAAA;AACD,SAAA;AAxgBiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,qBAAA;AAAA,QAAA,KAAA,EA0gB3C,SAAmB,mBAAA,GAAA;AACxBf,UAAAA,MAAM,CAACI,UAAU,CAACW,GAAX,CAAe,qBAAf,CAAD,CAAN,CAAA;AACD,SAAA;AA5gBiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,sBAAA;AAAA,QAAA,KAAA,EA8gB3C,SAAoB,oBAAA,GAAA;AACzBf,UAAAA,MAAM,CAACI,UAAU,CAACW,GAAX,CAAe,sBAAf,CAAD,CAAN,CAAA;AACD,SAAA;AAhhBiD,OAAA,EAAA;AAAA,QAAA,GAAA,EAAA,cAAA;AAAA,QAAA,KAAA,EAkhB3C,SAAY,YAAA,GAAA;AACjBf,UAAAA,MAAM,CAACI,UAAU,CAACW,GAAX,CAAe,cAAf,CAAD,CAAN,CAAA;AACD,SAAA;AAphBiD,OAAA,CAAA,CAAA,CAAA;;AAAA,MAAA,OAAA,aAAA,CAAA;AAAA,KAAA,CAmC0Be,gBAnC1B,CAAA,CAAA;;AAuhBpD,IAAA,IAAMhD,KAAK,GAAG8C,SAAS,CAACS,UAAxB,CAAA;;AAEA,IAAA,IAAIvD,KAAJ,EAAW;AACT,MAAA,KAAK,IAAM0G,OAAX,IAAsB1G,KAAtB,EAA6B;AAC3B,QAAA,IAAMsD,SAAS,GAAGtD,KAAK,CAAC0G,OAAD,CAAvB,CAAA;;QACA,IAAIpD,SAAS,IAAI,IAAb,IAAqB,CAACX,UAAU,CAACW,SAAD,CAApC,EAAiD;AAC/C,UAAA,IAAIA,SAAS,CAAC1C,KAAV,KAAoBF,SAAxB,EAAmC;AAAE;AACnCgD,YAAAA,aAAa,CAACmH,YAAd,GACE7J,MAAA,CAAAC,MAAA,CAACyF,mCAAAA,CAAAA,EAAAA,EAAAA,OAAD,EAAWpD,SAAS,CAAC1C,KAArB,CAAA,EACG8C,aAAa,CAACmH,YADjB,CADF,CAAA;AAID,WAAA;AACF,SAAA;AACF,OAAA;AACF,KAAA;;IAED,IAAMI,aAAa,GAAG,CAAC,iBAAD,EAAoB,WAApB,EAAiC,SAAjC,CAAtB,CAAA;AAEAA,IAAAA,aAAa,CAACzM,OAAd,CAAsB,UAAA0M,MAAM,EAAG;AAC7B,MAAA,IAAMtK,KAAK,GAAGkC,SAAS,CAACoI,MAAD,CAAvB,CAAA;;MACA,IAAItK,KAAK,IAAI,IAAb,EAAmB;AACjB8C,QAAAA,aAAa,CAACwH,MAAD,CAAb,GAAwBtK,KAAxB,CAAA;AACD,OAAA;KAJH,CAAA,CAAA;AAOA,IAAA,OAAO8C,aAAP,CAAA;GAhjBF,CAAA;AAkjBD;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/lifecycle.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":["interface LifecycleMap {\n [key: string]: string[]\n}\n\nexport enum TaroLifeCycles {\n WillMount = 'componentWillMount',\n DidMount = 'componentDidMount',\n DidShow = 'componentDidShow',\n DidHide = 'componentDidHide',\n WillUnmount = 'componentWillUnmount'\n}\n\nexport const lifecycleMap: LifecycleMap = {\n [TaroLifeCycles.WillMount]: ['created'],\n [TaroLifeCycles.DidMount]: ['attached'],\n [TaroLifeCycles.DidShow]: ['onShow'],\n [TaroLifeCycles.DidHide]: ['onHide'],\n [TaroLifeCycles.WillUnmount]: ['detached', 'onUnload']\n}\n\nexport const lifecycles = new Set<string>(['ready'])\n\nfor (const key in lifecycleMap) {\n const lifecycle = lifecycleMap[key]\n lifecycle.forEach(l => lifecycles.add(l))\n}\n\nexport const uniquePageLifecycle = [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onShareAppMessage',\n 'onShareTimeline',\n 'onAddToFavorites',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap'\n]\n\nexport const appOptions = [\n 'onLaunch',\n 'onShow',\n 'onHide',\n 'onError',\n 'onPageNotFound',\n 'onUnhandledRejection',\n 'onThemeChange'\n]\n","/**\n * Simple bind, faster than native\n */\nexport function bind (fn /*: Function */, ctx /*: Object */) /*: Function */ {\n if (!fn) return false\n\n function boundFn (a) {\n const l /*: number */ = arguments.length\n return l ? (l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a)) : fn.call(ctx)\n }\n\n // record original fn length\n boundFn._length = fn.length\n return boundFn\n}\n\nexport function isEqual (obj1, obj2) {\n return JSON.stringify(obj1) === JSON.stringify(obj2)\n}\n\nexport function noop (..._: unknown[]) {\n //\n}\n\nconst sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n}\n\nexport function proxy (target, sourceKey: string, key: string) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n }\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val\n }\n Object.defineProperty(target, key, sharedPropertyDefinition)\n}\n\nexport function safeGet (obj, propsArg, defaultValue?) {\n if (!obj) {\n return defaultValue\n }\n let props, prop\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0)\n }\n if (typeof propsArg === 'string') {\n props = propsArg.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof propsArg === 'symbol') {\n props = [propsArg]\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol')\n }\n while (props.length) {\n prop = props.shift()\n if (!obj) {\n return defaultValue\n }\n obj = obj[prop]\n if (obj === undefined) {\n return defaultValue\n }\n }\n return obj\n}\n\nexport function safeSet (obj, props, value) {\n if (typeof props === 'string') {\n props = props.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof props === 'symbol') {\n props = [props]\n }\n const lastProp = props.pop()\n if (!lastProp) {\n return false\n }\n let thisProp\n while ((thisProp = props.shift())) {\n if (typeof obj[thisProp] === 'undefined') {\n obj[thisProp] = {}\n }\n\n // 直接按路径修改 this.state 可能会导致 nextProps 也被修改\n // 因此按路径寻找时,每一层都复制一遍\n if (Array.isArray(obj[thisProp])) {\n obj[thisProp] = [...obj[thisProp]]\n } else if (typeof obj[thisProp] === 'object') {\n obj[thisProp] = { ...obj[thisProp] }\n }\n\n obj = obj[thisProp]\n if (!obj || typeof obj !== 'object') {\n return false\n }\n }\n obj[lastProp] = value\n return true\n}\n\nexport function report (msg) {\n console.warn('[Taro Convert Warning] ' + msg)\n}\n\nexport const nonsupport = new Map([\n ['onError', '不支持 App 的 onError 生命周期方法。'],\n ['onPageNotFound', '不支持 App 的 onPageNotFound 生命周期方法。'],\n ['onUnhandledRejection', '不支持 App 的 onUnhandledRejection 生命周期方法。'],\n ['onThemeChange', '不支持 App 的 onThemeChange 生命周期方法。'],\n ['moved', '不支持自定义组件的 moved 生命周期。'],\n ['externalClasses', '不支持自定义组件的 externalClasses 功能。'],\n ['relations', '不支持自定义组件的 relations 功能。'],\n ['options', '不支持自定义组件的 options 功能。'],\n ['definitionFilter', '不支持自定义组件的 definitionFilter 功能。'],\n ['selectComponent', 'selectComponent 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectAllComponents', 'selectAllComponents 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectOwnerComponent', 'selectOwnerComponent 方法产生不到目标效果,请使用 React 语法重构。'],\n ['groupSetData', 'groupSetData 方法产生不到目标效果,请使用 React 语法重构。']\n])\n\nexport function flattenBehaviors (behavior, behaviorMap: Map<string, any[]>) {\n if (typeof behavior === 'string') {\n return report(`不支持使用内置 Behavior: [${behavior}]`)\n }\n const subBehaviors = behavior.behaviors\n if (subBehaviors?.length) {\n subBehaviors.forEach(subBehavior => flattenBehaviors(subBehavior, behaviorMap))\n }\n\n Object.keys(behavior).forEach(key => {\n // 不支持的属性\n if (nonsupport.has(key)) {\n const advise = nonsupport.get(key)\n return report(advise)\n }\n\n if (behaviorMap.has(key)) {\n const list = behaviorMap.get(key)!\n const value = behavior[key]\n list.push(value)\n }\n })\n}\n","import { Func, getCurrentInstance } from '@tarojs/runtime'\nimport { ComponentLifecycle, eventCenter, nextTick } from '@tarojs/taro'\n\nimport { clone } from './clone'\nimport { diff } from './diff'\nimport { appOptions, lifecycleMap, lifecycles, TaroLifeCycles, uniquePageLifecycle } from './lifecycle'\nimport { bind, flattenBehaviors, isEqual, nonsupport, report, safeGet, safeSet } from './utils'\n\ntype Observer = (newProps, oldProps, changePath: string) => void\n\ninterface ObserverProperties {\n name: string\n observer: string | Observer\n}\n\ninterface ComponentClass<P = Record<string, any>, S = Record<string, any>> extends ComponentLifecycle<P, S> {\n new (props: P)\n externalClasses: Record<string, unknown>\n defaultProps?: Partial<P>\n _observeProps?: ObserverProperties[]\n observers?: Record<string, Func>\n}\n\ninterface WxOptions {\n methods?: Record<string, Func>\n properties?: Record<string, Record<string, unknown> | Func>\n props?: Record<string, unknown>\n data?: Record<string, unknown>\n observers?: Record<string, Func>\n lifetimes?: Record<string, Func>\n behaviors?: any[]\n}\n\nfunction defineGetter (component, key: string, getter: string) {\n Object.defineProperty(component, key, {\n enumerable: true,\n configurable: true,\n get: () => {\n if (getter === 'props') {\n return component.props\n }\n return {\n ...component.state,\n ...component.props\n }\n }\n })\n}\n\nfunction isFunction (o): o is Func {\n return typeof o === 'function'\n}\n\nexport default function withWeapp (weappConf: WxOptions, isApp = false) {\n if (typeof weappConf === 'object' && Object.keys(weappConf).length === 0) {\n report('withWeapp 请传入“App/页面/组件“的配置对象。如果原生写法使用了基类,请将基类组合后的配置对象传入,详情请参考文档。')\n }\n return (ConnectComponent: ComponentClass<any, any>) => {\n const behaviorMap = new Map<string, any[]>([\n ['properties', []],\n ['data', []],\n ['methods', []],\n ['created', []],\n ['attached', []],\n ['ready', []],\n ['detached', []]\n ])\n const behaviorProperties = {}\n if (weappConf.behaviors?.length) {\n const { behaviors } = weappConf\n behaviors.forEach(behavior => flattenBehaviors(behavior, behaviorMap))\n\n const propertiesList = behaviorMap.get('properties')!\n if (propertiesList.length) {\n propertiesList.forEach(property => {\n Object.assign(behaviorProperties, property)\n })\n Object.keys(behaviorProperties).forEach(propName => {\n const propValue = behaviorProperties[propName]\n if (!weappConf.properties) {\n weappConf.properties = {}\n }\n if (!weappConf.properties.hasOwnProperty(propName)) {\n if (propValue && typeof propValue === 'object' && propValue.value) {\n propValue.value = clone(propValue.value)\n }\n weappConf.properties[propName] = propValue\n }\n })\n }\n }\n\n class BaseComponent<P = Record<string, any>, S = Record<string, any>> extends ConnectComponent {\n private _observeProps: ObserverProperties[] = []\n\n // mixins 可以多次调用生命周期\n private willMounts: Func[] = []\n\n private didMounts: Func[] = []\n\n private didHides: Func[] = []\n\n private didShows: Func[] = []\n\n private willUnmounts: Func[] = []\n\n private eventDestroyList: Func[] = []\n\n private current: any = getCurrentInstance()\n\n public observers?: Record<string, Func>\n\n public taroGlobalData: Record<any, any> = Object.create(null)\n\n public data: any\n\n constructor (props) {\n super(props)\n this.state = this.state || {}\n this.init(weappConf)\n defineGetter(this, 'data', 'state')\n defineGetter(this, 'properties', 'props')\n }\n\n private initProps (props: any) {\n for (const propKey in props) {\n if (props.hasOwnProperty(propKey)) {\n const propValue = props[propKey]\n // propValue 可能是 null, 构造函数, 对象\n if (propValue && !isFunction(propValue)) {\n if (propValue.observer) {\n this._observeProps.push({\n name: propKey,\n observer: propValue.observer\n })\n }\n }\n }\n }\n }\n\n private init (options: WxOptions) {\n // 处理 Behaviors\n if (options.behaviors?.length) {\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'created':\n case 'attached':\n case 'detached':\n case 'ready':\n list.forEach(fn => this.initLifeCycles(key, fn))\n break\n }\n }\n }\n\n for (const confKey in options) {\n // 不支持的属性\n if (nonsupport.has(confKey)) {\n const advise = nonsupport.get(confKey)\n report(advise)\n }\n\n const confValue = options[confKey]\n\n switch (confKey) {\n case 'behaviors':\n break\n case 'data': {\n if (isApp) {\n this[confKey] = confValue\n if (!appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n } else {\n this.state = {\n ...confValue,\n ...this.state\n }\n }\n break\n }\n case 'properties':\n this.initProps(Object.assign(behaviorProperties, confValue))\n break\n case 'methods':\n for (const key in confValue) {\n const method = confValue[key]\n this[key] = bind(method, this)\n }\n break\n case 'lifetimes':\n for (const key in confValue) {\n this.initLifeCycles(key, confValue[key])\n }\n break\n case 'pageLifetimes':\n for (const key in confValue) {\n const cb = confValue[key]\n switch (key) {\n case 'show': {\n this.initLifeCycleListener('show', cb)\n break\n }\n case 'hide': {\n this.initLifeCycleListener('hide', cb)\n break\n }\n case 'resize': {\n report('不支持组件所在页面的生命周期 pageLifetimes.resize。')\n break\n }\n }\n }\n break\n default:\n if (lifecycles.has(confKey)) {\n // 优先使用 lifetimes 中定义的生命周期\n if (options.lifetimes?.[confKey]) {\n break\n }\n\n const lifecycle = options[confKey]\n this.initLifeCycles(confKey, lifecycle)\n } else if (isFunction(confValue)) {\n this[confKey] = bind(confValue, this)\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n\n // 原生页面和 Taro 页面中共计只能定义一次的生命周期\n if (uniquePageLifecycle.includes(confKey) && ConnectComponent.prototype[confKey]) {\n report(`生命周期 ${confKey} 已在原生部分进行定义,React 部分的定义将不会被执行。`)\n }\n } else {\n this[confKey] = confValue\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n }\n\n break\n }\n }\n\n // 处理 Behaviors\n if (options.behaviors?.length) {\n const behaviorData = {}\n const methods = {}\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'data':\n [...list, this.state].forEach((dataObject, index) => {\n Object.keys(dataObject).forEach(dataKey => {\n const value = dataObject[dataKey]\n const preValue = behaviorData[dataKey]\n const valueType = typeof value\n const preValueType = typeof preValue\n if (valueType === 'object') {\n if (!value) {\n behaviorData[dataKey] = value\n } else if (preValueType !== 'object' || !preValueType || Array.isArray(value)) {\n behaviorData[dataKey] = index === list.length ? value : clone(value)\n } else {\n const newVal = Object.assign({}, preValue, value)\n behaviorData[dataKey] = index === list.length ? newVal : clone(newVal)\n }\n } else {\n behaviorData[dataKey] = value\n }\n })\n })\n this.state = behaviorData\n break\n case 'methods':\n list.forEach(methodsObject => {\n Object.assign(methods, methodsObject)\n })\n Object.keys(methods).forEach(methodName => {\n if (!this[methodName]) {\n const method = methods[methodName]\n this[methodName] = bind(method, this)\n }\n })\n break\n default:\n break\n }\n }\n }\n }\n\n private initLifeCycles (lifecycleName: string, lifecycle: Func) {\n // 不支持的生命周期\n if (nonsupport.has(lifecycleName)) {\n const advise = nonsupport.get(lifecycleName)\n return report(advise)\n }\n\n if (lifecycleName === 'ready') {\n // 如果组件是延时渲染的,页面 onReady 的事件已经 emit 了,因此使用 componentDidMount + nextTick 模拟\n if (this.current.page.onReady.called) {\n this.didMounts.push(function (...args: unknown[]) {\n nextTick(() => {\n if (isFunction(lifecycle)) {\n lifecycle.apply(this, args)\n }\n })\n })\n } else {\n this.initLifeCycleListener('ready', lifecycle)\n }\n } else {\n for (const lifecycleKey in lifecycleMap) {\n const cycleNames = lifecycleMap[lifecycleKey]\n if (cycleNames.indexOf(lifecycleName) !== -1) {\n switch (lifecycleKey) {\n case TaroLifeCycles.DidHide:\n this.didHides.push(lifecycle)\n break\n case TaroLifeCycles.DidMount:\n this.didMounts.push(lifecycle)\n break\n case TaroLifeCycles.DidShow:\n this.didShows.push(lifecycle)\n break\n case TaroLifeCycles.WillMount:\n this.willMounts.push(lifecycle)\n break\n case TaroLifeCycles.WillUnmount:\n this.willUnmounts.push(lifecycle)\n break\n default:\n break\n }\n }\n }\n }\n\n // mixins 不会覆盖已经设置的生命周期,加入到 this 是为了形如 this.created() 的调用\n if (!isFunction(this[lifecycleName])) {\n this[lifecycleName] = lifecycle\n }\n }\n\n private safeExecute = (func?: Func, ...args: unknown[]) => {\n if (isFunction(func)) func.apply(this, args)\n }\n\n private initLifeCycleListener (name: string, cb: (...args: any[]) => void) {\n // 组件的 ready、show、hide 需要利用页面事件触发\n const { router } = this.current\n const lifecycleName = `on${name[0].toUpperCase()}${name.slice(1)}`\n cb = cb.bind(this)\n router?.[lifecycleName] && eventCenter.on(router[lifecycleName], cb)\n // unMount 时需要取消事件监听\n this.eventDestroyList.push(() => eventCenter.off(router[lifecycleName], cb))\n }\n\n private executeLifeCycles (funcs: Func[], ...args: unknown[]) {\n for (let i = 0; i < funcs.length; i++) {\n const func = funcs[i]\n this.safeExecute(func, ...args)\n }\n }\n\n private triggerPropertiesObservers (prevProps, nextProps) {\n this._observeProps.forEach(({ name: key, observer }) => {\n const prop = prevProps?.[key]\n const nextProp = nextProps[key]\n // 小程序是深比较不同之后才 trigger observer\n if (!isEqual(prop, nextProp)) {\n if (typeof observer === 'string') {\n const ob = this[observer]\n if (isFunction(ob)) {\n ob.call(this, nextProp, prop, key)\n }\n } else if (isFunction(observer)) {\n observer.call(this, nextProp, prop, key)\n }\n }\n })\n }\n\n private triggerObservers (current, prev) {\n const observers = this.observers\n if (observers == null) {\n return\n }\n\n if (Object.keys(observers).length === 0) {\n return\n }\n\n const result = diff(current, prev)\n const resultKeys = Object.keys(result)\n if (resultKeys.length === 0) {\n return\n }\n\n for (const observerKey in observers) {\n if (/\\*\\*/.test(observerKey)) {\n report('数据监听器 observers 不支持使用通配符 **。')\n continue\n }\n\n const keys = observerKey.split(',').map(k => k.trim())\n let isModified = false\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n for (let j = 0; j < resultKeys.length; j++) {\n const resultKey = resultKeys[j]\n if (\n resultKey.startsWith(key) ||\n (key.startsWith(resultKey) && key.endsWith(']'))\n ) {\n isModified = true\n }\n }\n }\n if (isModified) {\n observers[observerKey].apply(this, keys.map(key => safeGet(current, key)))\n }\n }\n }\n\n private defineProperty (target, key, data) {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: true,\n set (value) {\n data[key] = value\n },\n get () {\n return data[key]\n }\n })\n }\n\n public privateStopNoop (...args) {\n let e\n let fn\n if (args.length === 2) {\n fn = args[0]\n e = args[1]\n } else if (args.length === 1) {\n e = args[0]\n }\n if (e.type === 'touchmove') {\n report('catchtouchmove 转换后只能停止回调函数的冒泡,不能阻止滚动穿透。如要阻止滚动穿透,可以手动给编译后的 View 组件加上 catchMove 属性')\n }\n e.stopPropagation()\n isFunction(fn) && fn(e)\n }\n\n // ================ React 生命周期 ================\n\n public componentWillMount () {\n this.safeExecute(super.componentWillMount)\n this.executeLifeCycles(this.willMounts, this.current.router || {})\n this.triggerObservers(this.data, BaseComponent.defaultProps)\n this.triggerPropertiesObservers(BaseComponent.defaultProps, this.props)\n }\n\n public componentDidMount () {\n this.safeExecute(super.componentDidMount)\n this.executeLifeCycles(this.didMounts)\n }\n\n public componentWillUnmount () {\n this.eventDestroyList.forEach(fn => fn())\n this.safeExecute(super.componentWillUnmount)\n this.executeLifeCycles(this.willUnmounts)\n }\n\n public componentDidHide () {\n this.safeExecute(super.componentDidHide)\n this.executeLifeCycles(this.didHides)\n }\n\n public componentDidShow () {\n this.safeExecute(super.componentDidShow, this.current.router || {})\n this.executeLifeCycles(this.didShows, this.current.router || {})\n }\n\n public componentWillReceiveProps (nextProps: P) {\n this.triggerObservers(nextProps, this.props)\n this.triggerPropertiesObservers(this.props, nextProps)\n this.safeExecute(super.componentWillReceiveProps)\n }\n\n // ================ 小程序 App, Page, Component 实例属性与方法 ================\n\n get is () {\n return this.current.page.is\n }\n\n get id () {\n return this.current.page.id\n }\n\n get dataset () {\n return this.current.page.dataset\n }\n\n public setData = (obj: S, callback?: () => void) => {\n let oldState\n if (this.observers && Object.keys(Object.keys(this.observers))) {\n oldState = clone(this.state)\n }\n Object.keys(obj).forEach(key => {\n safeSet(this.state, key, obj[key])\n })\n this.setState(this.state, () => {\n this.triggerObservers(this.state, oldState)\n if (callback) {\n callback.call(this)\n }\n })\n }\n\n public triggerEvent = (eventName: string, detail, options) => {\n if (options) {\n report('triggerEvent 不支持事件选项。')\n }\n\n // eventName support kebab case\n if (eventName.match(/[a-z]+-[a-z]+/g)) {\n eventName = eventName.replace(/-[a-z]/g, function (match) {\n return match[1].toUpperCase()\n })\n }\n\n const props = this.props\n const dataset = {}\n for (const key in props) {\n if (!key.startsWith('data-')) continue\n dataset[key.replace(/^data-/, '')] = props[key]\n }\n\n const func = props[`on${eventName[0].toUpperCase()}${eventName.slice(1)}`]\n if (isFunction(func)) {\n func.call(this, {\n type: eventName,\n detail,\n target: {\n id: props.id || '',\n dataset\n },\n currentTarget: {\n id: props.id || '',\n dataset\n }\n })\n }\n }\n\n private componentMethodsProxy (method: string) {\n return (...args: any[]) => {\n const page = this.current.page\n if (page?.[method]) {\n return page[method](...args)\n } else {\n console.error(`page 下没有 ${method} 方法`)\n }\n }\n }\n\n public hasBehavior = this.componentMethodsProxy('hasBehavior')\n public createSelectorQuery = this.componentMethodsProxy('createSelectorQuery')\n public createIntersectionObserver = this.componentMethodsProxy('createIntersectionObserver')\n public createMediaQueryObserver = this.componentMethodsProxy('createMediaQueryObserver')\n public getRelationNodes = this.componentMethodsProxy('getRelationNodes')\n public getTabBar = this.componentMethodsProxy('getTabBar')\n public getPageId = this.componentMethodsProxy('getPageId')\n public animate = this.componentMethodsProxy('animate')\n public clearAnimation = this.componentMethodsProxy('clearAnimation')\n public setUpdatePerformanceListener = this.componentMethodsProxy('setUpdatePerformanceListener')\n\n public selectComponent () {\n report(nonsupport.get('selectComponent'))\n }\n\n public selectAllComponents () {\n report(nonsupport.get('selectAllComponents'))\n }\n\n public selectOwnerComponent () {\n report(nonsupport.get('selectOwnerComponent'))\n }\n\n public groupSetData () {\n report(nonsupport.get('groupSetData'))\n }\n }\n\n const props = weappConf.properties\n\n if (props) {\n for (const propKey in props) {\n const propValue = props[propKey]\n if (propValue != null && !isFunction(propValue)) {\n if (propValue.value !== undefined) { // 如果是 null 也赋值到 defaultProps\n BaseComponent.defaultProps = {\n [propKey]: propValue.value,\n ...BaseComponent.defaultProps\n }\n }\n }\n }\n }\n\n const staticOptions = ['externalClasses', 'relations', 'options']\n\n staticOptions.forEach(option => {\n const value = weappConf[option]\n if (value != null) {\n BaseComponent[option] = value\n }\n })\n\n return BaseComponent\n }\n}\n"],"names":["TaroLifeCycles","lifecycleMap","WillMount","DidMount","_defineProperty","DidShow","DidHide","WillUnmount","lifecycles","Set","key","lifecycle","forEach","l","add","uniquePageLifecycle","appOptions","bind","fn","ctx","boundFn","a","arguments","length","apply","call","_length","isEqual","obj1","obj2","JSON","stringify","safeGet","obj","propsArg","defaultValue","props","prop","Array","isArray","slice","replace","split","_typeof","Error","shift","undefined","safeSet","value","lastProp","pop","thisProp","Object","assign","report","msg","console","warn","nonsupport","Map","flattenBehaviors","behavior","behaviorMap","subBehaviors","behaviors","subBehavior","keys","has","advise","get","list","push","defineGetter","component","getter","defineProperty","enumerable","configurable","state","isFunction","o","withWeapp","weappConf","isApp","ConnectComponent","behaviorProperties","_a","propertiesList","property","propName","propValue","properties","hasOwnProperty","clone","BaseComponent","_inherits","_classCallCheck","_observeProps","willMounts","didMounts","didHides","didShows","willUnmounts","eventDestroyList","current","getCurrentInstance","taroGlobalData","create","safeExecute","func","args","_assertThisInitialized","setData","callback","oldState","observers","setState","triggerObservers","triggerEvent","eventName","detail","options","match","toUpperCase","dataset","startsWith","type","target","id","currentTarget","hasBehavior","componentMethodsProxy","createSelectorQuery","createIntersectionObserver","createMediaQueryObserver","getRelationNodes","getTabBar","getPageId","animate","clearAnimation","setUpdatePerformanceListener","init","_createClass","propKey","observer","name","entries","_slicedToArray","initLifeCycles","confKey","confValue","includes","initProps","method","cb","initLifeCycleListener","lifetimes","_b","prototype","_c","behaviorData","methods","_toConsumableArray","dataObject","index","dataKey","preValue","valueType","preValueType","newVal","methodsObject","methodName","lifecycleName","page","onReady","called","nextTick","lifecycleKey","cycleNames","indexOf","router","eventCenter","on","off","funcs","i","prevProps","nextProps","nextProp","ob","prev","result","diff","resultKeys","observerKey","test","map","k","trim","isModified","j","resultKey","endsWith","data","set","e","stopPropagation","_get","_getPrototypeOf","executeLifeCycles","defaultProps","triggerPropertiesObservers","is","error","staticOptions","option"],"mappings":"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"}
@@ -521,6 +521,13 @@
521
521
  _this.triggerEvent = function (eventName, detail, options) {
522
522
  if (options) {
523
523
  report('triggerEvent 不支持事件选项。');
524
+ } // eventName support kebab case
525
+
526
+
527
+ if (eventName.match(/[a-z]+-[a-z]+/g)) {
528
+ eventName = eventName.replace(/-[a-z]/g, function (match) {
529
+ return match[1].toUpperCase();
530
+ });
524
531
  }
525
532
 
526
533
  var props = _this.props;
@@ -1 +1 @@
1
- {"version":3,"file":"with-weapp.js","sources":["../src/lifecycle.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":["interface LifecycleMap {\n [key: string]: string[]\n}\n\nexport enum TaroLifeCycles {\n WillMount = 'componentWillMount',\n DidMount = 'componentDidMount',\n DidShow = 'componentDidShow',\n DidHide = 'componentDidHide',\n WillUnmount = 'componentWillUnmount'\n}\n\nexport const lifecycleMap: LifecycleMap = {\n [TaroLifeCycles.WillMount]: ['created'],\n [TaroLifeCycles.DidMount]: ['attached'],\n [TaroLifeCycles.DidShow]: ['onShow'],\n [TaroLifeCycles.DidHide]: ['onHide'],\n [TaroLifeCycles.WillUnmount]: ['detached', 'onUnload']\n}\n\nexport const lifecycles = new Set<string>(['ready'])\n\nfor (const key in lifecycleMap) {\n const lifecycle = lifecycleMap[key]\n lifecycle.forEach(l => lifecycles.add(l))\n}\n\nexport const uniquePageLifecycle = [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onShareAppMessage',\n 'onShareTimeline',\n 'onAddToFavorites',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap'\n]\n\nexport const appOptions = [\n 'onLaunch',\n 'onShow',\n 'onHide',\n 'onError',\n 'onPageNotFound',\n 'onUnhandledRejection',\n 'onThemeChange'\n]\n","/**\n * Simple bind, faster than native\n */\nexport function bind (fn /*: Function */, ctx /*: Object */) /*: Function */ {\n if (!fn) return false\n\n function boundFn (a) {\n const l /*: number */ = arguments.length\n return l ? (l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a)) : fn.call(ctx)\n }\n\n // record original fn length\n boundFn._length = fn.length\n return boundFn\n}\n\nexport function isEqual (obj1, obj2) {\n return JSON.stringify(obj1) === JSON.stringify(obj2)\n}\n\nexport function noop (..._: unknown[]) {\n //\n}\n\nconst sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n}\n\nexport function proxy (target, sourceKey: string, key: string) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n }\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val\n }\n Object.defineProperty(target, key, sharedPropertyDefinition)\n}\n\nexport function safeGet (obj, propsArg, defaultValue?) {\n if (!obj) {\n return defaultValue\n }\n let props, prop\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0)\n }\n if (typeof propsArg === 'string') {\n props = propsArg.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof propsArg === 'symbol') {\n props = [propsArg]\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol')\n }\n while (props.length) {\n prop = props.shift()\n if (!obj) {\n return defaultValue\n }\n obj = obj[prop]\n if (obj === undefined) {\n return defaultValue\n }\n }\n return obj\n}\n\nexport function safeSet (obj, props, value) {\n if (typeof props === 'string') {\n props = props.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof props === 'symbol') {\n props = [props]\n }\n const lastProp = props.pop()\n if (!lastProp) {\n return false\n }\n let thisProp\n while ((thisProp = props.shift())) {\n if (typeof obj[thisProp] === 'undefined') {\n obj[thisProp] = {}\n }\n\n // 直接按路径修改 this.state 可能会导致 nextProps 也被修改\n // 因此按路径寻找时,每一层都复制一遍\n if (Array.isArray(obj[thisProp])) {\n obj[thisProp] = [...obj[thisProp]]\n } else if (typeof obj[thisProp] === 'object') {\n obj[thisProp] = { ...obj[thisProp] }\n }\n\n obj = obj[thisProp]\n if (!obj || typeof obj !== 'object') {\n return false\n }\n }\n obj[lastProp] = value\n return true\n}\n\nexport function report (msg) {\n console.warn('[Taro Convert Warning] ' + msg)\n}\n\nexport const nonsupport = new Map([\n ['onError', '不支持 App 的 onError 生命周期方法。'],\n ['onPageNotFound', '不支持 App 的 onPageNotFound 生命周期方法。'],\n ['onUnhandledRejection', '不支持 App 的 onUnhandledRejection 生命周期方法。'],\n ['onThemeChange', '不支持 App 的 onThemeChange 生命周期方法。'],\n ['moved', '不支持自定义组件的 moved 生命周期。'],\n ['externalClasses', '不支持自定义组件的 externalClasses 功能。'],\n ['relations', '不支持自定义组件的 relations 功能。'],\n ['options', '不支持自定义组件的 options 功能。'],\n ['definitionFilter', '不支持自定义组件的 definitionFilter 功能。'],\n ['selectComponent', 'selectComponent 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectAllComponents', 'selectAllComponents 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectOwnerComponent', 'selectOwnerComponent 方法产生不到目标效果,请使用 React 语法重构。'],\n ['groupSetData', 'groupSetData 方法产生不到目标效果,请使用 React 语法重构。']\n])\n\nexport function flattenBehaviors (behavior, behaviorMap: Map<string, any[]>) {\n if (typeof behavior === 'string') {\n return report(`不支持使用内置 Behavior: [${behavior}]`)\n }\n const subBehaviors = behavior.behaviors\n if (subBehaviors?.length) {\n subBehaviors.forEach(subBehavior => flattenBehaviors(subBehavior, behaviorMap))\n }\n\n Object.keys(behavior).forEach(key => {\n // 不支持的属性\n if (nonsupport.has(key)) {\n const advise = nonsupport.get(key)\n return report(advise)\n }\n\n if (behaviorMap.has(key)) {\n const list = behaviorMap.get(key)!\n const value = behavior[key]\n list.push(value)\n }\n })\n}\n","import { Func, getCurrentInstance } from '@tarojs/runtime'\nimport { ComponentLifecycle, eventCenter, nextTick } from '@tarojs/taro'\n\nimport { clone } from './clone'\nimport { diff } from './diff'\nimport { appOptions, lifecycleMap, lifecycles, TaroLifeCycles, uniquePageLifecycle } from './lifecycle'\nimport { bind, flattenBehaviors, isEqual, nonsupport, report, safeGet, safeSet } from './utils'\n\ntype Observer = (newProps, oldProps, changePath: string) => void\n\ninterface ObserverProperties {\n name: string\n observer: string | Observer\n}\n\ninterface ComponentClass<P = Record<string, any>, S = Record<string, any>> extends ComponentLifecycle<P, S> {\n new (props: P)\n externalClasses: Record<string, unknown>\n defaultProps?: Partial<P>\n _observeProps?: ObserverProperties[]\n observers?: Record<string, Func>\n}\n\ninterface WxOptions {\n methods?: Record<string, Func>\n properties?: Record<string, Record<string, unknown> | Func>\n props?: Record<string, unknown>\n data?: Record<string, unknown>\n observers?: Record<string, Func>\n lifetimes?: Record<string, Func>\n behaviors?: any[]\n}\n\nfunction defineGetter (component, key: string, getter: string) {\n Object.defineProperty(component, key, {\n enumerable: true,\n configurable: true,\n get: () => {\n if (getter === 'props') {\n return component.props\n }\n return {\n ...component.state,\n ...component.props\n }\n }\n })\n}\n\nfunction isFunction (o): o is Func {\n return typeof o === 'function'\n}\n\nexport default function withWeapp (weappConf: WxOptions, isApp = false) {\n if (typeof weappConf === 'object' && Object.keys(weappConf).length === 0) {\n report('withWeapp 请传入“App/页面/组件“的配置对象。如果原生写法使用了基类,请将基类组合后的配置对象传入,详情请参考文档。')\n }\n return (ConnectComponent: ComponentClass<any, any>) => {\n const behaviorMap = new Map<string, any[]>([\n ['properties', []],\n ['data', []],\n ['methods', []],\n ['created', []],\n ['attached', []],\n ['ready', []],\n ['detached', []]\n ])\n const behaviorProperties = {}\n if (weappConf.behaviors?.length) {\n const { behaviors } = weappConf\n behaviors.forEach(behavior => flattenBehaviors(behavior, behaviorMap))\n\n const propertiesList = behaviorMap.get('properties')!\n if (propertiesList.length) {\n propertiesList.forEach(property => {\n Object.assign(behaviorProperties, property)\n })\n Object.keys(behaviorProperties).forEach(propName => {\n const propValue = behaviorProperties[propName]\n if (!weappConf.properties) {\n weappConf.properties = {}\n }\n if (!weappConf.properties.hasOwnProperty(propName)) {\n if (propValue && typeof propValue === 'object' && propValue.value) {\n propValue.value = clone(propValue.value)\n }\n weappConf.properties[propName] = propValue\n }\n })\n }\n }\n\n class BaseComponent<P = Record<string, any>, S = Record<string, any>> extends ConnectComponent {\n private _observeProps: ObserverProperties[] = []\n\n // mixins 可以多次调用生命周期\n private willMounts: Func[] = []\n\n private didMounts: Func[] = []\n\n private didHides: Func[] = []\n\n private didShows: Func[] = []\n\n private willUnmounts: Func[] = []\n\n private eventDestroyList: Func[] = []\n\n private current: any = getCurrentInstance()\n\n public observers?: Record<string, Func>\n\n public taroGlobalData: Record<any, any> = Object.create(null)\n\n public data: any\n\n constructor (props) {\n super(props)\n this.state = this.state || {}\n this.init(weappConf)\n defineGetter(this, 'data', 'state')\n defineGetter(this, 'properties', 'props')\n }\n\n private initProps (props: any) {\n for (const propKey in props) {\n if (props.hasOwnProperty(propKey)) {\n const propValue = props[propKey]\n // propValue 可能是 null, 构造函数, 对象\n if (propValue && !isFunction(propValue)) {\n if (propValue.observer) {\n this._observeProps.push({\n name: propKey,\n observer: propValue.observer\n })\n }\n }\n }\n }\n }\n\n private init (options: WxOptions) {\n // 处理 Behaviors\n if (options.behaviors?.length) {\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'created':\n case 'attached':\n case 'detached':\n case 'ready':\n list.forEach(fn => this.initLifeCycles(key, fn))\n break\n }\n }\n }\n\n for (const confKey in options) {\n // 不支持的属性\n if (nonsupport.has(confKey)) {\n const advise = nonsupport.get(confKey)\n report(advise)\n }\n\n const confValue = options[confKey]\n\n switch (confKey) {\n case 'behaviors':\n break\n case 'data': {\n if (isApp) {\n this[confKey] = confValue\n if (!appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n } else {\n this.state = {\n ...confValue,\n ...this.state\n }\n }\n break\n }\n case 'properties':\n this.initProps(Object.assign(behaviorProperties, confValue))\n break\n case 'methods':\n for (const key in confValue) {\n const method = confValue[key]\n this[key] = bind(method, this)\n }\n break\n case 'lifetimes':\n for (const key in confValue) {\n this.initLifeCycles(key, confValue[key])\n }\n break\n case 'pageLifetimes':\n for (const key in confValue) {\n const cb = confValue[key]\n switch (key) {\n case 'show': {\n this.initLifeCycleListener('show', cb)\n break\n }\n case 'hide': {\n this.initLifeCycleListener('hide', cb)\n break\n }\n case 'resize': {\n report('不支持组件所在页面的生命周期 pageLifetimes.resize。')\n break\n }\n }\n }\n break\n default:\n if (lifecycles.has(confKey)) {\n // 优先使用 lifetimes 中定义的生命周期\n if (options.lifetimes?.[confKey]) {\n break\n }\n\n const lifecycle = options[confKey]\n this.initLifeCycles(confKey, lifecycle)\n } else if (isFunction(confValue)) {\n this[confKey] = bind(confValue, this)\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n\n // 原生页面和 Taro 页面中共计只能定义一次的生命周期\n if (uniquePageLifecycle.includes(confKey) && ConnectComponent.prototype[confKey]) {\n report(`生命周期 ${confKey} 已在原生部分进行定义,React 部分的定义将不会被执行。`)\n }\n } else {\n this[confKey] = confValue\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n }\n\n break\n }\n }\n\n // 处理 Behaviors\n if (options.behaviors?.length) {\n const behaviorData = {}\n const methods = {}\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'data':\n [...list, this.state].forEach((dataObject, index) => {\n Object.keys(dataObject).forEach(dataKey => {\n const value = dataObject[dataKey]\n const preValue = behaviorData[dataKey]\n const valueType = typeof value\n const preValueType = typeof preValue\n if (valueType === 'object') {\n if (!value) {\n behaviorData[dataKey] = value\n } else if (preValueType !== 'object' || !preValueType || Array.isArray(value)) {\n behaviorData[dataKey] = index === list.length ? value : clone(value)\n } else {\n const newVal = Object.assign({}, preValue, value)\n behaviorData[dataKey] = index === list.length ? newVal : clone(newVal)\n }\n } else {\n behaviorData[dataKey] = value\n }\n })\n })\n this.state = behaviorData\n break\n case 'methods':\n list.forEach(methodsObject => {\n Object.assign(methods, methodsObject)\n })\n Object.keys(methods).forEach(methodName => {\n if (!this[methodName]) {\n const method = methods[methodName]\n this[methodName] = bind(method, this)\n }\n })\n break\n default:\n break\n }\n }\n }\n }\n\n private initLifeCycles (lifecycleName: string, lifecycle: Func) {\n // 不支持的生命周期\n if (nonsupport.has(lifecycleName)) {\n const advise = nonsupport.get(lifecycleName)\n return report(advise)\n }\n\n if (lifecycleName === 'ready') {\n // 如果组件是延时渲染的,页面 onReady 的事件已经 emit 了,因此使用 componentDidMount + nextTick 模拟\n if (this.current.page.onReady.called) {\n this.didMounts.push(function (...args: unknown[]) {\n nextTick(() => {\n if (isFunction(lifecycle)) {\n lifecycle.apply(this, args)\n }\n })\n })\n } else {\n this.initLifeCycleListener('ready', lifecycle)\n }\n } else {\n for (const lifecycleKey in lifecycleMap) {\n const cycleNames = lifecycleMap[lifecycleKey]\n if (cycleNames.indexOf(lifecycleName) !== -1) {\n switch (lifecycleKey) {\n case TaroLifeCycles.DidHide:\n this.didHides.push(lifecycle)\n break\n case TaroLifeCycles.DidMount:\n this.didMounts.push(lifecycle)\n break\n case TaroLifeCycles.DidShow:\n this.didShows.push(lifecycle)\n break\n case TaroLifeCycles.WillMount:\n this.willMounts.push(lifecycle)\n break\n case TaroLifeCycles.WillUnmount:\n this.willUnmounts.push(lifecycle)\n break\n default:\n break\n }\n }\n }\n }\n\n // mixins 不会覆盖已经设置的生命周期,加入到 this 是为了形如 this.created() 的调用\n if (!isFunction(this[lifecycleName])) {\n this[lifecycleName] = lifecycle\n }\n }\n\n private safeExecute = (func?: Func, ...args: unknown[]) => {\n if (isFunction(func)) func.apply(this, args)\n }\n\n private initLifeCycleListener (name: string, cb: (...args: any[]) => void) {\n // 组件的 ready、show、hide 需要利用页面事件触发\n const { router } = this.current\n const lifecycleName = `on${name[0].toUpperCase()}${name.slice(1)}`\n cb = cb.bind(this)\n router?.[lifecycleName] && eventCenter.on(router[lifecycleName], cb)\n // unMount 时需要取消事件监听\n this.eventDestroyList.push(() => eventCenter.off(router[lifecycleName], cb))\n }\n\n private executeLifeCycles (funcs: Func[], ...args: unknown[]) {\n for (let i = 0; i < funcs.length; i++) {\n const func = funcs[i]\n this.safeExecute(func, ...args)\n }\n }\n\n private triggerPropertiesObservers (prevProps, nextProps) {\n this._observeProps.forEach(({ name: key, observer }) => {\n const prop = prevProps?.[key]\n const nextProp = nextProps[key]\n // 小程序是深比较不同之后才 trigger observer\n if (!isEqual(prop, nextProp)) {\n if (typeof observer === 'string') {\n const ob = this[observer]\n if (isFunction(ob)) {\n ob.call(this, nextProp, prop, key)\n }\n } else if (isFunction(observer)) {\n observer.call(this, nextProp, prop, key)\n }\n }\n })\n }\n\n private triggerObservers (current, prev) {\n const observers = this.observers\n if (observers == null) {\n return\n }\n\n if (Object.keys(observers).length === 0) {\n return\n }\n\n const result = diff(current, prev)\n const resultKeys = Object.keys(result)\n if (resultKeys.length === 0) {\n return\n }\n\n for (const observerKey in observers) {\n if (/\\*\\*/.test(observerKey)) {\n report('数据监听器 observers 不支持使用通配符 **。')\n continue\n }\n\n const keys = observerKey.split(',').map(k => k.trim())\n let isModified = false\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n for (let j = 0; j < resultKeys.length; j++) {\n const resultKey = resultKeys[j]\n if (\n resultKey.startsWith(key) ||\n (key.startsWith(resultKey) && key.endsWith(']'))\n ) {\n isModified = true\n }\n }\n }\n if (isModified) {\n observers[observerKey].apply(this, keys.map(key => safeGet(current, key)))\n }\n }\n }\n\n private defineProperty (target, key, data) {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: true,\n set (value) {\n data[key] = value\n },\n get () {\n return data[key]\n }\n })\n }\n\n public privateStopNoop (...args) {\n let e\n let fn\n if (args.length === 2) {\n fn = args[0]\n e = args[1]\n } else if (args.length === 1) {\n e = args[0]\n }\n if (e.type === 'touchmove') {\n report('catchtouchmove 转换后只能停止回调函数的冒泡,不能阻止滚动穿透。如要阻止滚动穿透,可以手动给编译后的 View 组件加上 catchMove 属性')\n }\n e.stopPropagation()\n isFunction(fn) && fn(e)\n }\n\n // ================ React 生命周期 ================\n\n public componentWillMount () {\n this.safeExecute(super.componentWillMount)\n this.executeLifeCycles(this.willMounts, this.current.router || {})\n this.triggerObservers(this.data, BaseComponent.defaultProps)\n this.triggerPropertiesObservers(BaseComponent.defaultProps, this.props)\n }\n\n public componentDidMount () {\n this.safeExecute(super.componentDidMount)\n this.executeLifeCycles(this.didMounts)\n }\n\n public componentWillUnmount () {\n this.eventDestroyList.forEach(fn => fn())\n this.safeExecute(super.componentWillUnmount)\n this.executeLifeCycles(this.willUnmounts)\n }\n\n public componentDidHide () {\n this.safeExecute(super.componentDidHide)\n this.executeLifeCycles(this.didHides)\n }\n\n public componentDidShow () {\n this.safeExecute(super.componentDidShow, this.current.router || {})\n this.executeLifeCycles(this.didShows, this.current.router || {})\n }\n\n public componentWillReceiveProps (nextProps: P) {\n this.triggerObservers(nextProps, this.props)\n this.triggerPropertiesObservers(this.props, nextProps)\n this.safeExecute(super.componentWillReceiveProps)\n }\n\n // ================ 小程序 App, Page, Component 实例属性与方法 ================\n\n get is () {\n return this.current.page.is\n }\n\n get id () {\n return this.current.page.id\n }\n\n get dataset () {\n return this.current.page.dataset\n }\n\n public setData = (obj: S, callback?: () => void) => {\n let oldState\n if (this.observers && Object.keys(Object.keys(this.observers))) {\n oldState = clone(this.state)\n }\n Object.keys(obj).forEach(key => {\n safeSet(this.state, key, obj[key])\n })\n this.setState(this.state, () => {\n this.triggerObservers(this.state, oldState)\n if (callback) {\n callback.call(this)\n }\n })\n }\n\n public triggerEvent = (eventName: string, detail, options) => {\n if (options) {\n report('triggerEvent 不支持事件选项。')\n }\n\n const props = this.props\n const dataset = {}\n for (const key in props) {\n if (!key.startsWith('data-')) continue\n dataset[key.replace(/^data-/, '')] = props[key]\n }\n\n const func = props[`on${eventName[0].toUpperCase()}${eventName.slice(1)}`]\n if (isFunction(func)) {\n func.call(this, {\n type: eventName,\n detail,\n target: {\n id: props.id || '',\n dataset\n },\n currentTarget: {\n id: props.id || '',\n dataset\n }\n })\n }\n }\n\n private componentMethodsProxy (method: string) {\n return (...args: any[]) => {\n const page = this.current.page\n if (page?.[method]) {\n return page[method](...args)\n } else {\n console.error(`page 下没有 ${method} 方法`)\n }\n }\n }\n\n public hasBehavior = this.componentMethodsProxy('hasBehavior')\n public createSelectorQuery = this.componentMethodsProxy('createSelectorQuery')\n public createIntersectionObserver = this.componentMethodsProxy('createIntersectionObserver')\n public createMediaQueryObserver = this.componentMethodsProxy('createMediaQueryObserver')\n public getRelationNodes = this.componentMethodsProxy('getRelationNodes')\n public getTabBar = this.componentMethodsProxy('getTabBar')\n public getPageId = this.componentMethodsProxy('getPageId')\n public animate = this.componentMethodsProxy('animate')\n public clearAnimation = this.componentMethodsProxy('clearAnimation')\n public setUpdatePerformanceListener = this.componentMethodsProxy('setUpdatePerformanceListener')\n\n public selectComponent () {\n report(nonsupport.get('selectComponent'))\n }\n\n public selectAllComponents () {\n report(nonsupport.get('selectAllComponents'))\n }\n\n public selectOwnerComponent () {\n report(nonsupport.get('selectOwnerComponent'))\n }\n\n public groupSetData () {\n report(nonsupport.get('groupSetData'))\n }\n }\n\n const props = weappConf.properties\n\n if (props) {\n for (const propKey in props) {\n const propValue = props[propKey]\n if (propValue != null && !isFunction(propValue)) {\n if (propValue.value !== undefined) { // 如果是 null 也赋值到 defaultProps\n BaseComponent.defaultProps = {\n [propKey]: propValue.value,\n ...BaseComponent.defaultProps\n }\n }\n }\n }\n }\n\n const staticOptions = ['externalClasses', 'relations', 'options']\n\n staticOptions.forEach(option => {\n const value = weappConf[option]\n if (value != null) {\n BaseComponent[option] = value\n }\n })\n\n return BaseComponent\n }\n}\n"],"names":["TaroLifeCycles","lifecycleMap","WillMount","DidMount","_defineProperty","DidShow","DidHide","WillUnmount","lifecycles","Set","key","lifecycle","forEach","l","add","uniquePageLifecycle","appOptions","bind","fn","ctx","boundFn","a","arguments","length","apply","call","_length","isEqual","obj1","obj2","JSON","stringify","safeGet","obj","propsArg","defaultValue","props","prop","Array","isArray","slice","replace","split","_typeof","Error","shift","undefined","safeSet","value","lastProp","pop","thisProp","Object","assign","report","msg","console","warn","nonsupport","Map","flattenBehaviors","behavior","behaviorMap","subBehaviors","behaviors","subBehavior","keys","has","advise","get","list","push","defineGetter","component","getter","defineProperty","enumerable","configurable","state","isFunction","o","withWeapp","weappConf","isApp","ConnectComponent","behaviorProperties","_a","propertiesList","property","propName","propValue","properties","hasOwnProperty","clone","BaseComponent","_inherits","_classCallCheck","_observeProps","willMounts","didMounts","didHides","didShows","willUnmounts","eventDestroyList","current","getCurrentInstance","taroGlobalData","create","safeExecute","func","args","_assertThisInitialized","setData","callback","oldState","observers","setState","triggerObservers","triggerEvent","eventName","detail","options","dataset","startsWith","toUpperCase","type","target","id","currentTarget","hasBehavior","componentMethodsProxy","createSelectorQuery","createIntersectionObserver","createMediaQueryObserver","getRelationNodes","getTabBar","getPageId","animate","clearAnimation","setUpdatePerformanceListener","init","_createClass","propKey","observer","name","entries","_slicedToArray","initLifeCycles","confKey","confValue","includes","initProps","method","cb","initLifeCycleListener","lifetimes","_b","prototype","_c","behaviorData","methods","_toConsumableArray","dataObject","index","dataKey","preValue","valueType","preValueType","newVal","methodsObject","methodName","lifecycleName","page","onReady","called","nextTick","lifecycleKey","cycleNames","indexOf","router","eventCenter","on","off","funcs","i","prevProps","nextProps","nextProp","ob","prev","result","diff","resultKeys","observerKey","test","map","k","trim","isModified","j","resultKey","endsWith","data","set","e","stopPropagation","_get","_getPrototypeOf","executeLifeCycles","defaultProps","triggerPropertiesObservers","is","error","staticOptions","option"],"mappings":"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"}
1
+ {"version":3,"file":"with-weapp.js","sources":["../src/lifecycle.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":["interface LifecycleMap {\n [key: string]: string[]\n}\n\nexport enum TaroLifeCycles {\n WillMount = 'componentWillMount',\n DidMount = 'componentDidMount',\n DidShow = 'componentDidShow',\n DidHide = 'componentDidHide',\n WillUnmount = 'componentWillUnmount'\n}\n\nexport const lifecycleMap: LifecycleMap = {\n [TaroLifeCycles.WillMount]: ['created'],\n [TaroLifeCycles.DidMount]: ['attached'],\n [TaroLifeCycles.DidShow]: ['onShow'],\n [TaroLifeCycles.DidHide]: ['onHide'],\n [TaroLifeCycles.WillUnmount]: ['detached', 'onUnload']\n}\n\nexport const lifecycles = new Set<string>(['ready'])\n\nfor (const key in lifecycleMap) {\n const lifecycle = lifecycleMap[key]\n lifecycle.forEach(l => lifecycles.add(l))\n}\n\nexport const uniquePageLifecycle = [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onShareAppMessage',\n 'onShareTimeline',\n 'onAddToFavorites',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap'\n]\n\nexport const appOptions = [\n 'onLaunch',\n 'onShow',\n 'onHide',\n 'onError',\n 'onPageNotFound',\n 'onUnhandledRejection',\n 'onThemeChange'\n]\n","/**\n * Simple bind, faster than native\n */\nexport function bind (fn /*: Function */, ctx /*: Object */) /*: Function */ {\n if (!fn) return false\n\n function boundFn (a) {\n const l /*: number */ = arguments.length\n return l ? (l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a)) : fn.call(ctx)\n }\n\n // record original fn length\n boundFn._length = fn.length\n return boundFn\n}\n\nexport function isEqual (obj1, obj2) {\n return JSON.stringify(obj1) === JSON.stringify(obj2)\n}\n\nexport function noop (..._: unknown[]) {\n //\n}\n\nconst sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n}\n\nexport function proxy (target, sourceKey: string, key: string) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n }\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val\n }\n Object.defineProperty(target, key, sharedPropertyDefinition)\n}\n\nexport function safeGet (obj, propsArg, defaultValue?) {\n if (!obj) {\n return defaultValue\n }\n let props, prop\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0)\n }\n if (typeof propsArg === 'string') {\n props = propsArg.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof propsArg === 'symbol') {\n props = [propsArg]\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol')\n }\n while (props.length) {\n prop = props.shift()\n if (!obj) {\n return defaultValue\n }\n obj = obj[prop]\n if (obj === undefined) {\n return defaultValue\n }\n }\n return obj\n}\n\nexport function safeSet (obj, props, value) {\n if (typeof props === 'string') {\n props = props.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof props === 'symbol') {\n props = [props]\n }\n const lastProp = props.pop()\n if (!lastProp) {\n return false\n }\n let thisProp\n while ((thisProp = props.shift())) {\n if (typeof obj[thisProp] === 'undefined') {\n obj[thisProp] = {}\n }\n\n // 直接按路径修改 this.state 可能会导致 nextProps 也被修改\n // 因此按路径寻找时,每一层都复制一遍\n if (Array.isArray(obj[thisProp])) {\n obj[thisProp] = [...obj[thisProp]]\n } else if (typeof obj[thisProp] === 'object') {\n obj[thisProp] = { ...obj[thisProp] }\n }\n\n obj = obj[thisProp]\n if (!obj || typeof obj !== 'object') {\n return false\n }\n }\n obj[lastProp] = value\n return true\n}\n\nexport function report (msg) {\n console.warn('[Taro Convert Warning] ' + msg)\n}\n\nexport const nonsupport = new Map([\n ['onError', '不支持 App 的 onError 生命周期方法。'],\n ['onPageNotFound', '不支持 App 的 onPageNotFound 生命周期方法。'],\n ['onUnhandledRejection', '不支持 App 的 onUnhandledRejection 生命周期方法。'],\n ['onThemeChange', '不支持 App 的 onThemeChange 生命周期方法。'],\n ['moved', '不支持自定义组件的 moved 生命周期。'],\n ['externalClasses', '不支持自定义组件的 externalClasses 功能。'],\n ['relations', '不支持自定义组件的 relations 功能。'],\n ['options', '不支持自定义组件的 options 功能。'],\n ['definitionFilter', '不支持自定义组件的 definitionFilter 功能。'],\n ['selectComponent', 'selectComponent 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectAllComponents', 'selectAllComponents 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectOwnerComponent', 'selectOwnerComponent 方法产生不到目标效果,请使用 React 语法重构。'],\n ['groupSetData', 'groupSetData 方法产生不到目标效果,请使用 React 语法重构。']\n])\n\nexport function flattenBehaviors (behavior, behaviorMap: Map<string, any[]>) {\n if (typeof behavior === 'string') {\n return report(`不支持使用内置 Behavior: [${behavior}]`)\n }\n const subBehaviors = behavior.behaviors\n if (subBehaviors?.length) {\n subBehaviors.forEach(subBehavior => flattenBehaviors(subBehavior, behaviorMap))\n }\n\n Object.keys(behavior).forEach(key => {\n // 不支持的属性\n if (nonsupport.has(key)) {\n const advise = nonsupport.get(key)\n return report(advise)\n }\n\n if (behaviorMap.has(key)) {\n const list = behaviorMap.get(key)!\n const value = behavior[key]\n list.push(value)\n }\n })\n}\n","import { Func, getCurrentInstance } from '@tarojs/runtime'\nimport { ComponentLifecycle, eventCenter, nextTick } from '@tarojs/taro'\n\nimport { clone } from './clone'\nimport { diff } from './diff'\nimport { appOptions, lifecycleMap, lifecycles, TaroLifeCycles, uniquePageLifecycle } from './lifecycle'\nimport { bind, flattenBehaviors, isEqual, nonsupport, report, safeGet, safeSet } from './utils'\n\ntype Observer = (newProps, oldProps, changePath: string) => void\n\ninterface ObserverProperties {\n name: string\n observer: string | Observer\n}\n\ninterface ComponentClass<P = Record<string, any>, S = Record<string, any>> extends ComponentLifecycle<P, S> {\n new (props: P)\n externalClasses: Record<string, unknown>\n defaultProps?: Partial<P>\n _observeProps?: ObserverProperties[]\n observers?: Record<string, Func>\n}\n\ninterface WxOptions {\n methods?: Record<string, Func>\n properties?: Record<string, Record<string, unknown> | Func>\n props?: Record<string, unknown>\n data?: Record<string, unknown>\n observers?: Record<string, Func>\n lifetimes?: Record<string, Func>\n behaviors?: any[]\n}\n\nfunction defineGetter (component, key: string, getter: string) {\n Object.defineProperty(component, key, {\n enumerable: true,\n configurable: true,\n get: () => {\n if (getter === 'props') {\n return component.props\n }\n return {\n ...component.state,\n ...component.props\n }\n }\n })\n}\n\nfunction isFunction (o): o is Func {\n return typeof o === 'function'\n}\n\nexport default function withWeapp (weappConf: WxOptions, isApp = false) {\n if (typeof weappConf === 'object' && Object.keys(weappConf).length === 0) {\n report('withWeapp 请传入“App/页面/组件“的配置对象。如果原生写法使用了基类,请将基类组合后的配置对象传入,详情请参考文档。')\n }\n return (ConnectComponent: ComponentClass<any, any>) => {\n const behaviorMap = new Map<string, any[]>([\n ['properties', []],\n ['data', []],\n ['methods', []],\n ['created', []],\n ['attached', []],\n ['ready', []],\n ['detached', []]\n ])\n const behaviorProperties = {}\n if (weappConf.behaviors?.length) {\n const { behaviors } = weappConf\n behaviors.forEach(behavior => flattenBehaviors(behavior, behaviorMap))\n\n const propertiesList = behaviorMap.get('properties')!\n if (propertiesList.length) {\n propertiesList.forEach(property => {\n Object.assign(behaviorProperties, property)\n })\n Object.keys(behaviorProperties).forEach(propName => {\n const propValue = behaviorProperties[propName]\n if (!weappConf.properties) {\n weappConf.properties = {}\n }\n if (!weappConf.properties.hasOwnProperty(propName)) {\n if (propValue && typeof propValue === 'object' && propValue.value) {\n propValue.value = clone(propValue.value)\n }\n weappConf.properties[propName] = propValue\n }\n })\n }\n }\n\n class BaseComponent<P = Record<string, any>, S = Record<string, any>> extends ConnectComponent {\n private _observeProps: ObserverProperties[] = []\n\n // mixins 可以多次调用生命周期\n private willMounts: Func[] = []\n\n private didMounts: Func[] = []\n\n private didHides: Func[] = []\n\n private didShows: Func[] = []\n\n private willUnmounts: Func[] = []\n\n private eventDestroyList: Func[] = []\n\n private current: any = getCurrentInstance()\n\n public observers?: Record<string, Func>\n\n public taroGlobalData: Record<any, any> = Object.create(null)\n\n public data: any\n\n constructor (props) {\n super(props)\n this.state = this.state || {}\n this.init(weappConf)\n defineGetter(this, 'data', 'state')\n defineGetter(this, 'properties', 'props')\n }\n\n private initProps (props: any) {\n for (const propKey in props) {\n if (props.hasOwnProperty(propKey)) {\n const propValue = props[propKey]\n // propValue 可能是 null, 构造函数, 对象\n if (propValue && !isFunction(propValue)) {\n if (propValue.observer) {\n this._observeProps.push({\n name: propKey,\n observer: propValue.observer\n })\n }\n }\n }\n }\n }\n\n private init (options: WxOptions) {\n // 处理 Behaviors\n if (options.behaviors?.length) {\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'created':\n case 'attached':\n case 'detached':\n case 'ready':\n list.forEach(fn => this.initLifeCycles(key, fn))\n break\n }\n }\n }\n\n for (const confKey in options) {\n // 不支持的属性\n if (nonsupport.has(confKey)) {\n const advise = nonsupport.get(confKey)\n report(advise)\n }\n\n const confValue = options[confKey]\n\n switch (confKey) {\n case 'behaviors':\n break\n case 'data': {\n if (isApp) {\n this[confKey] = confValue\n if (!appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n } else {\n this.state = {\n ...confValue,\n ...this.state\n }\n }\n break\n }\n case 'properties':\n this.initProps(Object.assign(behaviorProperties, confValue))\n break\n case 'methods':\n for (const key in confValue) {\n const method = confValue[key]\n this[key] = bind(method, this)\n }\n break\n case 'lifetimes':\n for (const key in confValue) {\n this.initLifeCycles(key, confValue[key])\n }\n break\n case 'pageLifetimes':\n for (const key in confValue) {\n const cb = confValue[key]\n switch (key) {\n case 'show': {\n this.initLifeCycleListener('show', cb)\n break\n }\n case 'hide': {\n this.initLifeCycleListener('hide', cb)\n break\n }\n case 'resize': {\n report('不支持组件所在页面的生命周期 pageLifetimes.resize。')\n break\n }\n }\n }\n break\n default:\n if (lifecycles.has(confKey)) {\n // 优先使用 lifetimes 中定义的生命周期\n if (options.lifetimes?.[confKey]) {\n break\n }\n\n const lifecycle = options[confKey]\n this.initLifeCycles(confKey, lifecycle)\n } else if (isFunction(confValue)) {\n this[confKey] = bind(confValue, this)\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n\n // 原生页面和 Taro 页面中共计只能定义一次的生命周期\n if (uniquePageLifecycle.includes(confKey) && ConnectComponent.prototype[confKey]) {\n report(`生命周期 ${confKey} 已在原生部分进行定义,React 部分的定义将不会被执行。`)\n }\n } else {\n this[confKey] = confValue\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n }\n\n break\n }\n }\n\n // 处理 Behaviors\n if (options.behaviors?.length) {\n const behaviorData = {}\n const methods = {}\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'data':\n [...list, this.state].forEach((dataObject, index) => {\n Object.keys(dataObject).forEach(dataKey => {\n const value = dataObject[dataKey]\n const preValue = behaviorData[dataKey]\n const valueType = typeof value\n const preValueType = typeof preValue\n if (valueType === 'object') {\n if (!value) {\n behaviorData[dataKey] = value\n } else if (preValueType !== 'object' || !preValueType || Array.isArray(value)) {\n behaviorData[dataKey] = index === list.length ? value : clone(value)\n } else {\n const newVal = Object.assign({}, preValue, value)\n behaviorData[dataKey] = index === list.length ? newVal : clone(newVal)\n }\n } else {\n behaviorData[dataKey] = value\n }\n })\n })\n this.state = behaviorData\n break\n case 'methods':\n list.forEach(methodsObject => {\n Object.assign(methods, methodsObject)\n })\n Object.keys(methods).forEach(methodName => {\n if (!this[methodName]) {\n const method = methods[methodName]\n this[methodName] = bind(method, this)\n }\n })\n break\n default:\n break\n }\n }\n }\n }\n\n private initLifeCycles (lifecycleName: string, lifecycle: Func) {\n // 不支持的生命周期\n if (nonsupport.has(lifecycleName)) {\n const advise = nonsupport.get(lifecycleName)\n return report(advise)\n }\n\n if (lifecycleName === 'ready') {\n // 如果组件是延时渲染的,页面 onReady 的事件已经 emit 了,因此使用 componentDidMount + nextTick 模拟\n if (this.current.page.onReady.called) {\n this.didMounts.push(function (...args: unknown[]) {\n nextTick(() => {\n if (isFunction(lifecycle)) {\n lifecycle.apply(this, args)\n }\n })\n })\n } else {\n this.initLifeCycleListener('ready', lifecycle)\n }\n } else {\n for (const lifecycleKey in lifecycleMap) {\n const cycleNames = lifecycleMap[lifecycleKey]\n if (cycleNames.indexOf(lifecycleName) !== -1) {\n switch (lifecycleKey) {\n case TaroLifeCycles.DidHide:\n this.didHides.push(lifecycle)\n break\n case TaroLifeCycles.DidMount:\n this.didMounts.push(lifecycle)\n break\n case TaroLifeCycles.DidShow:\n this.didShows.push(lifecycle)\n break\n case TaroLifeCycles.WillMount:\n this.willMounts.push(lifecycle)\n break\n case TaroLifeCycles.WillUnmount:\n this.willUnmounts.push(lifecycle)\n break\n default:\n break\n }\n }\n }\n }\n\n // mixins 不会覆盖已经设置的生命周期,加入到 this 是为了形如 this.created() 的调用\n if (!isFunction(this[lifecycleName])) {\n this[lifecycleName] = lifecycle\n }\n }\n\n private safeExecute = (func?: Func, ...args: unknown[]) => {\n if (isFunction(func)) func.apply(this, args)\n }\n\n private initLifeCycleListener (name: string, cb: (...args: any[]) => void) {\n // 组件的 ready、show、hide 需要利用页面事件触发\n const { router } = this.current\n const lifecycleName = `on${name[0].toUpperCase()}${name.slice(1)}`\n cb = cb.bind(this)\n router?.[lifecycleName] && eventCenter.on(router[lifecycleName], cb)\n // unMount 时需要取消事件监听\n this.eventDestroyList.push(() => eventCenter.off(router[lifecycleName], cb))\n }\n\n private executeLifeCycles (funcs: Func[], ...args: unknown[]) {\n for (let i = 0; i < funcs.length; i++) {\n const func = funcs[i]\n this.safeExecute(func, ...args)\n }\n }\n\n private triggerPropertiesObservers (prevProps, nextProps) {\n this._observeProps.forEach(({ name: key, observer }) => {\n const prop = prevProps?.[key]\n const nextProp = nextProps[key]\n // 小程序是深比较不同之后才 trigger observer\n if (!isEqual(prop, nextProp)) {\n if (typeof observer === 'string') {\n const ob = this[observer]\n if (isFunction(ob)) {\n ob.call(this, nextProp, prop, key)\n }\n } else if (isFunction(observer)) {\n observer.call(this, nextProp, prop, key)\n }\n }\n })\n }\n\n private triggerObservers (current, prev) {\n const observers = this.observers\n if (observers == null) {\n return\n }\n\n if (Object.keys(observers).length === 0) {\n return\n }\n\n const result = diff(current, prev)\n const resultKeys = Object.keys(result)\n if (resultKeys.length === 0) {\n return\n }\n\n for (const observerKey in observers) {\n if (/\\*\\*/.test(observerKey)) {\n report('数据监听器 observers 不支持使用通配符 **。')\n continue\n }\n\n const keys = observerKey.split(',').map(k => k.trim())\n let isModified = false\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n for (let j = 0; j < resultKeys.length; j++) {\n const resultKey = resultKeys[j]\n if (\n resultKey.startsWith(key) ||\n (key.startsWith(resultKey) && key.endsWith(']'))\n ) {\n isModified = true\n }\n }\n }\n if (isModified) {\n observers[observerKey].apply(this, keys.map(key => safeGet(current, key)))\n }\n }\n }\n\n private defineProperty (target, key, data) {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: true,\n set (value) {\n data[key] = value\n },\n get () {\n return data[key]\n }\n })\n }\n\n public privateStopNoop (...args) {\n let e\n let fn\n if (args.length === 2) {\n fn = args[0]\n e = args[1]\n } else if (args.length === 1) {\n e = args[0]\n }\n if (e.type === 'touchmove') {\n report('catchtouchmove 转换后只能停止回调函数的冒泡,不能阻止滚动穿透。如要阻止滚动穿透,可以手动给编译后的 View 组件加上 catchMove 属性')\n }\n e.stopPropagation()\n isFunction(fn) && fn(e)\n }\n\n // ================ React 生命周期 ================\n\n public componentWillMount () {\n this.safeExecute(super.componentWillMount)\n this.executeLifeCycles(this.willMounts, this.current.router || {})\n this.triggerObservers(this.data, BaseComponent.defaultProps)\n this.triggerPropertiesObservers(BaseComponent.defaultProps, this.props)\n }\n\n public componentDidMount () {\n this.safeExecute(super.componentDidMount)\n this.executeLifeCycles(this.didMounts)\n }\n\n public componentWillUnmount () {\n this.eventDestroyList.forEach(fn => fn())\n this.safeExecute(super.componentWillUnmount)\n this.executeLifeCycles(this.willUnmounts)\n }\n\n public componentDidHide () {\n this.safeExecute(super.componentDidHide)\n this.executeLifeCycles(this.didHides)\n }\n\n public componentDidShow () {\n this.safeExecute(super.componentDidShow, this.current.router || {})\n this.executeLifeCycles(this.didShows, this.current.router || {})\n }\n\n public componentWillReceiveProps (nextProps: P) {\n this.triggerObservers(nextProps, this.props)\n this.triggerPropertiesObservers(this.props, nextProps)\n this.safeExecute(super.componentWillReceiveProps)\n }\n\n // ================ 小程序 App, Page, Component 实例属性与方法 ================\n\n get is () {\n return this.current.page.is\n }\n\n get id () {\n return this.current.page.id\n }\n\n get dataset () {\n return this.current.page.dataset\n }\n\n public setData = (obj: S, callback?: () => void) => {\n let oldState\n if (this.observers && Object.keys(Object.keys(this.observers))) {\n oldState = clone(this.state)\n }\n Object.keys(obj).forEach(key => {\n safeSet(this.state, key, obj[key])\n })\n this.setState(this.state, () => {\n this.triggerObservers(this.state, oldState)\n if (callback) {\n callback.call(this)\n }\n })\n }\n\n public triggerEvent = (eventName: string, detail, options) => {\n if (options) {\n report('triggerEvent 不支持事件选项。')\n }\n\n // eventName support kebab case\n if (eventName.match(/[a-z]+-[a-z]+/g)) {\n eventName = eventName.replace(/-[a-z]/g, function (match) {\n return match[1].toUpperCase()\n })\n }\n\n const props = this.props\n const dataset = {}\n for (const key in props) {\n if (!key.startsWith('data-')) continue\n dataset[key.replace(/^data-/, '')] = props[key]\n }\n\n const func = props[`on${eventName[0].toUpperCase()}${eventName.slice(1)}`]\n if (isFunction(func)) {\n func.call(this, {\n type: eventName,\n detail,\n target: {\n id: props.id || '',\n dataset\n },\n currentTarget: {\n id: props.id || '',\n dataset\n }\n })\n }\n }\n\n private componentMethodsProxy (method: string) {\n return (...args: any[]) => {\n const page = this.current.page\n if (page?.[method]) {\n return page[method](...args)\n } else {\n console.error(`page 下没有 ${method} 方法`)\n }\n }\n }\n\n public hasBehavior = this.componentMethodsProxy('hasBehavior')\n public createSelectorQuery = this.componentMethodsProxy('createSelectorQuery')\n public createIntersectionObserver = this.componentMethodsProxy('createIntersectionObserver')\n public createMediaQueryObserver = this.componentMethodsProxy('createMediaQueryObserver')\n public getRelationNodes = this.componentMethodsProxy('getRelationNodes')\n public getTabBar = this.componentMethodsProxy('getTabBar')\n public getPageId = this.componentMethodsProxy('getPageId')\n public animate = this.componentMethodsProxy('animate')\n public clearAnimation = this.componentMethodsProxy('clearAnimation')\n public setUpdatePerformanceListener = this.componentMethodsProxy('setUpdatePerformanceListener')\n\n public selectComponent () {\n report(nonsupport.get('selectComponent'))\n }\n\n public selectAllComponents () {\n report(nonsupport.get('selectAllComponents'))\n }\n\n public selectOwnerComponent () {\n report(nonsupport.get('selectOwnerComponent'))\n }\n\n public groupSetData () {\n report(nonsupport.get('groupSetData'))\n }\n }\n\n const props = weappConf.properties\n\n if (props) {\n for (const propKey in props) {\n const propValue = props[propKey]\n if (propValue != null && !isFunction(propValue)) {\n if (propValue.value !== undefined) { // 如果是 null 也赋值到 defaultProps\n BaseComponent.defaultProps = {\n [propKey]: propValue.value,\n ...BaseComponent.defaultProps\n }\n }\n }\n }\n }\n\n const staticOptions = ['externalClasses', 'relations', 'options']\n\n staticOptions.forEach(option => {\n const value = weappConf[option]\n if (value != null) {\n BaseComponent[option] = value\n }\n })\n\n return BaseComponent\n }\n}\n"],"names":["TaroLifeCycles","lifecycleMap","WillMount","DidMount","_defineProperty","DidShow","DidHide","WillUnmount","lifecycles","Set","key","lifecycle","forEach","l","add","uniquePageLifecycle","appOptions","bind","fn","ctx","boundFn","a","arguments","length","apply","call","_length","isEqual","obj1","obj2","JSON","stringify","safeGet","obj","propsArg","defaultValue","props","prop","Array","isArray","slice","replace","split","_typeof","Error","shift","undefined","safeSet","value","lastProp","pop","thisProp","Object","assign","report","msg","console","warn","nonsupport","Map","flattenBehaviors","behavior","behaviorMap","subBehaviors","behaviors","subBehavior","keys","has","advise","get","list","push","defineGetter","component","getter","defineProperty","enumerable","configurable","state","isFunction","o","withWeapp","weappConf","isApp","ConnectComponent","behaviorProperties","_a","propertiesList","property","propName","propValue","properties","hasOwnProperty","clone","BaseComponent","_inherits","_classCallCheck","_observeProps","willMounts","didMounts","didHides","didShows","willUnmounts","eventDestroyList","current","getCurrentInstance","taroGlobalData","create","safeExecute","func","args","_assertThisInitialized","setData","callback","oldState","observers","setState","triggerObservers","triggerEvent","eventName","detail","options","match","toUpperCase","dataset","startsWith","type","target","id","currentTarget","hasBehavior","componentMethodsProxy","createSelectorQuery","createIntersectionObserver","createMediaQueryObserver","getRelationNodes","getTabBar","getPageId","animate","clearAnimation","setUpdatePerformanceListener","init","_createClass","propKey","observer","name","entries","_slicedToArray","initLifeCycles","confKey","confValue","includes","initProps","method","cb","initLifeCycleListener","lifetimes","_b","prototype","_c","behaviorData","methods","_toConsumableArray","dataObject","index","dataKey","preValue","valueType","preValueType","newVal","methodsObject","methodName","lifecycleName","page","onReady","called","nextTick","lifecycleKey","cycleNames","indexOf","router","eventCenter","on","off","funcs","i","prevProps","nextProps","nextProp","ob","prev","result","diff","resultKeys","observerKey","test","map","k","trim","isModified","j","resultKey","endsWith","data","set","e","stopPropagation","_get","_getPrototypeOf","executeLifeCycles","defaultProps","triggerPropertiesObservers","is","error","staticOptions","option"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/with-weapp",
3
- "version": "3.5.6-alpha.2",
3
+ "version": "3.5.7",
4
4
  "description": "taroize 之后的运行时",
5
5
  "main": "index.js",
6
6
  "files": [
@@ -17,8 +17,8 @@
17
17
  "license": "MIT",
18
18
  "dependencies": {
19
19
  "@babel/runtime": "^7.14.5",
20
- "@tarojs/runtime": "3.5.6-alpha.2",
21
- "@tarojs/taro": "3.5.6-alpha.2",
20
+ "@tarojs/runtime": "3.5.7",
21
+ "@tarojs/taro": "3.5.7",
22
22
  "lodash": "^4.17.21"
23
23
  },
24
24
  "scripts": {
package/src/index.ts CHANGED
@@ -527,6 +527,13 @@ export default function withWeapp (weappConf: WxOptions, isApp = false) {
527
527
  report('triggerEvent 不支持事件选项。')
528
528
  }
529
529
 
530
+ // eventName support kebab case
531
+ if (eventName.match(/[a-z]+-[a-z]+/g)) {
532
+ eventName = eventName.replace(/-[a-z]/g, function (match) {
533
+ return match[1].toUpperCase()
534
+ })
535
+ }
536
+
530
537
  const props = this.props
531
538
  const dataset = {}
532
539
  for (const key in props) {