@tarojs/with-weapp 4.0.0-beta.8 → 4.0.0-beta.9
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 +527 -651
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +527 -665
- package/dist/index.js.map +1 -1
- package/dist/with-weapp.js +531 -658
- package/dist/with-weapp.js.map +1 -1
- package/package.json +4 -3
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/lifecycle.ts","../src/utils.ts","../src/convert-tools.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","/**\n * 该模块仅存放 convert 转换时用到的工具函数或变量\n */\n\nexport const cacheOptions = {\n cacheOptions: {},\n setOptionsToCache: function (options) {\n if (Object.keys(options).length !== 0) {\n this.cacheOptions = options\n }\n },\n getOptionsFromCache: function () {\n return this.cacheOptions\n }\n}\n\nfunction toCamelCase (s) {\n let camel = ''\n let nextCap = false\n for (let i = 0; i < s.length; i++) {\n if (s[i] !== '-') {\n camel += nextCap ? s[i].toUpperCase() : s[i]\n nextCap = false\n } else {\n nextCap = true\n }\n }\n return camel\n}\n\nexport const convertToArray = function (value, fn) {\n if (value instanceof Array) {\n return value.map(fn)\n } else if (typeof value === 'number') {\n return Array.from({\n length: value\n }, (_, index) => index).map(fn)\n } else if (typeof value === 'string') {\n return Array.from(value).map(fn)\n } else if (typeof value === 'object' && value !== null && Object.getPrototypeOf(value) === Object.prototype) {\n const result = Object.keys(value).map((item) => {\n return fn(value[item], item)\n })\n return result\n }\n}\n\nexport const getTarget = (target, Taro) => {\n if (!target) {\n return { dataset: {} }\n }\n if (Taro.getEnv() === Taro.ENV_TYPE.HARMONYHYBRID || Taro.getEnv() === Taro.ENV_TYPE.WEB) {\n if (target.fullDataset) {\n return { dataset: target.fullDataset }\n }\n const fullDataset = {}\n // 获取元素的所有属性\n const targetAttrKeys = Object.keys(target)\n // 遍历所有属性\n for (let i = 0; i < targetAttrKeys.length; i++) {\n if (targetAttrKeys[i].startsWith('data-')) {\n fullDataset[toCamelCase(targetAttrKeys[i].replace(/^data-/, '').toLowerCase())] = target[targetAttrKeys[i]]\n }\n }\n target.fullDataset = fullDataset\n return { dataset: fullDataset }\n }\n return target\n}\n","import { getCurrentInstance } from '@tarojs/runtime'\nimport { ComponentLifecycle, createIntersectionObserver, createMediaQueryObserver, createSelectorQuery, 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\nimport type { Func } from '@tarojs/taro/types/compile'\n\ntype Observer = (newProps, oldProps, changePath: string) => void\n\ninterface ObserverProperties {\n name: string\n observers: (string | Observer)[]\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 component.state\n // return {\n // ...component.state,\n // ...component.props\n // }\n }\n })\n}\n\nfunction propToState (newValue, _oldValue, key: string) {\n this.state[key] = newValue\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 ['lifetimes', []]\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 extends Record<string, any> = 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 const properties = {}\n for (const propKey in props) {\n if (props.hasOwnProperty(propKey)) {\n const propValue = props[propKey]\n // propValue 可能是 null, 构造函数, 对象\n const observers = [propToState]\n if (propValue === null || propValue === undefined){ // propValue为null、undefined情况\n properties[propKey] = null\n }\n else if (isFunction(propValue)) { // propValue为Function,即Array、String、Boolean等情况时\n if (propValue.name === 'Array') {\n properties[propKey] = []\n } else if (propValue.name === 'String'){\n properties[propKey] = ''\n } else if (propValue.name === 'Boolean'){\n properties[propKey] = false\n } else if (propValue.name === 'Number') {\n properties[propKey] = 0\n } else {\n properties[propKey] = null\n }\n }\n else if (typeof propValue === 'object') { // propValue为对象时\n properties[propKey] = propValue.value\n if (propValue.observer) {\n observers.push(propValue.observer)\n }\n }\n else {\n properties[propKey] = null\n }\n this._observeProps.push({\n name: propKey,\n observers: observers\n })\n }\n }\n this.state = {\n ...properties,\n ...this.state\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 case 'lifetimes':\n list.forEach(lifetimesObject => {\n for (const key in lifetimesObject) {\n this.initLifeCycles(key, lifetimesObject[key])\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, observers }) => {\n const prop = prevProps?.[key]\n const nextProp = nextProps[key]\n // 小程序是深比较不同之后才 trigger observer\n if (!isEqual(prop, nextProp)) {\n observers.forEach((observer)=>{\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\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 if (method === 'createSelectorQuery') {\n return createSelectorQuery()\n } else if (method === 'createIntersectionObserver') {\n // @ts-ignore\n return createIntersectionObserver(...args)\n } else if (method === 'createMediaQueryObserver') {\n return createMediaQueryObserver()\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\nexport * from './convert-tools'\n"],"names":["TaroLifeCycles","lifecycleMap","_lifecycleMap","_defineProperty","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","_typeof","Error","shift","undefined","safeSet","value","lastProp","pop","thisProp","_toConsumableArray","Object","assign","report","msg","console","warn","nonsupport","Map","flattenBehaviors","behavior","behaviorMap","concat","subBehaviors","behaviors","subBehavior","keys","has","advise","get","list","push","cacheOptions","setOptionsToCache","options","getOptionsFromCache","toCamelCase","s","camel","nextCap","i","toUpperCase","convertToArray","map","from","_","index","getPrototypeOf","prototype","result","item","getTarget","target","Taro","dataset","getEnv","ENV_TYPE","HARMONYHYBRID","WEB","fullDataset","targetAttrKeys","startsWith","toLowerCase","defineGetter","component","getter","defineProperty","enumerable","configurable","state","propToState","newValue","_oldValue","isFunction","o","withWeapp","weappConf","isApp","ConnectComponent","behaviorProperties","_a","propertiesList","property","propName","propValue","properties","hasOwnProperty","clone","BaseComponent","_ConnectComponent","_inherits","_super","_createSuper","_this","_classCallCheck","_observeProps","willMounts","didMounts","didHides","didShows","willUnmounts","eventDestroyList","current","getCurrentInstance","taroGlobalData","create","safeExecute","func","_len","args","_key","_assertThisInitialized","setData","callback","oldState","observers","setState","triggerObservers","triggerEvent","eventName","detail","match","type","id","currentTarget","hasBehavior","componentMethodsProxy","createSelectorQuery","createIntersectionObserver","createMediaQueryObserver","getRelationNodes","getTabBar","getPageId","animate","clearAnimation","setUpdatePerformanceListener","init","_createClass","initProps","propKey","name","observer","_this2","_iterator","_createForOfIteratorHelper","entries","_step","_loop","_step$value","_slicedToArray","initLifeCycles","n","done","err","e","f","confKey","confValue","includes","method","cb","initLifeCycleListener","lifetimes","_b","_c","behaviorData","methods","_iterator2","_step2","_loop2","_step2$value","dataObject","dataKey","preValue","valueType","preValueType","newVal","methodsObject","methodName","lifetimesObject","lifecycleName","page","onReady","called","_this3","_len2","_key5","nextTick","lifecycleKey","cycleNames","indexOf","router","eventCenter","on","off","executeLifeCycles","funcs","_len3","_key6","triggerPropertiesObservers","prevProps","nextProps","_this4","_ref","nextProp","ob","prev","diff","resultKeys","observerKey","test","k","trim","isModified","j","resultKey","endsWith","data","set","privateStopNoop","stopPropagation","componentWillMount","_get","_getPrototypeOf","defaultProps","componentDidMount","componentWillUnmount","componentDidHide","componentDidShow","componentWillReceiveProps","is","_this5","error","selectComponent","selectAllComponents","selectOwnerComponent","groupSetData","staticOptions","option"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/lifecycle.ts","../src/utils.ts","../src/convert-tools.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","/**\n * 该模块仅存放 convert 转换时用到的工具函数或变量\n */\n\nexport const cacheOptions = {\n cacheOptions: {},\n setOptionsToCache: function (options) {\n if (Object.keys(options).length !== 0) {\n this.cacheOptions = options\n }\n },\n getOptionsFromCache: function () {\n return this.cacheOptions\n }\n}\n\nfunction toCamelCase (s) {\n let camel = ''\n let nextCap = false\n for (let i = 0; i < s.length; i++) {\n if (s[i] !== '-') {\n camel += nextCap ? s[i].toUpperCase() : s[i]\n nextCap = false\n } else {\n nextCap = true\n }\n }\n return camel\n}\n\nexport const convertToArray = function (value, fn) {\n if (value instanceof Array) {\n return value.map(fn)\n } else if (typeof value === 'number') {\n return Array.from({\n length: value\n }, (_, index) => index).map(fn)\n } else if (typeof value === 'string') {\n return Array.from(value).map(fn)\n } else if (typeof value === 'object' && value !== null && Object.getPrototypeOf(value) === Object.prototype) {\n const result = Object.keys(value).map((item) => {\n return fn(value[item], item)\n })\n return result\n }\n}\n\nexport const getTarget = (target, Taro) => {\n if (!target) {\n return { dataset: {} }\n }\n if (Taro.getEnv() === Taro.ENV_TYPE.HARMONYHYBRID || Taro.getEnv() === Taro.ENV_TYPE.WEB) {\n if (target.fullDataset) {\n return { dataset: target.fullDataset }\n }\n const fullDataset = {}\n // 获取元素的所有属性\n const targetAttrKeys = Object.keys(target)\n // 遍历所有属性\n for (let i = 0; i < targetAttrKeys.length; i++) {\n if (targetAttrKeys[i].startsWith('data-')) {\n fullDataset[toCamelCase(targetAttrKeys[i].replace(/^data-/, '').toLowerCase())] = target[targetAttrKeys[i]]\n }\n }\n target.fullDataset = fullDataset\n return { dataset: fullDataset }\n }\n return target\n}\n","import { getCurrentInstance } from '@tarojs/runtime'\nimport { ComponentLifecycle, createIntersectionObserver, createMediaQueryObserver, createSelectorQuery, 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\nimport type { Func } from '@tarojs/taro/types/compile'\n\ntype Observer = (newProps, oldProps, changePath: string) => void\n\ninterface ObserverProperties {\n name: string\n observers: (string | Observer)[]\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 component.state\n // return {\n // ...component.state,\n // ...component.props\n // }\n }\n })\n}\n\nfunction propToState (newValue, _oldValue, key: string) {\n this.state[key] = newValue\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 ['lifetimes', []]\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 extends Record<string, any> = 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 const properties = {}\n for (const propKey in props) {\n if (props.hasOwnProperty(propKey)) {\n const propValue = props[propKey]\n // propValue 可能是 null, 构造函数, 对象\n const observers = [propToState]\n if (propValue === null || propValue === undefined){ // propValue为null、undefined情况\n properties[propKey] = null\n }\n else if (isFunction(propValue)) { // propValue为Function,即Array、String、Boolean等情况时\n if (propValue.name === 'Array') {\n properties[propKey] = []\n } else if (propValue.name === 'String'){\n properties[propKey] = ''\n } else if (propValue.name === 'Boolean'){\n properties[propKey] = false\n } else if (propValue.name === 'Number') {\n properties[propKey] = 0\n } else {\n properties[propKey] = null\n }\n }\n else if (typeof propValue === 'object') { // propValue为对象时\n properties[propKey] = propValue.value\n if (propValue.observer) {\n observers.push(propValue.observer)\n }\n }\n else {\n properties[propKey] = null\n }\n this._observeProps.push({\n name: propKey,\n observers: observers\n })\n }\n }\n this.state = {\n ...properties,\n ...this.state\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 case 'lifetimes':\n list.forEach(lifetimesObject => {\n for (const key in lifetimesObject) {\n this.initLifeCycles(key, lifetimesObject[key])\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, observers }) => {\n const prop = prevProps?.[key]\n const nextProp = nextProps[key]\n // 小程序是深比较不同之后才 trigger observer\n if (!isEqual(prop, nextProp)) {\n observers.forEach((observer)=>{\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\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 if (method === 'createSelectorQuery') {\n return createSelectorQuery()\n } else if (method === 'createIntersectionObserver') {\n // @ts-ignore\n return createIntersectionObserver(...args)\n } else if (method === 'createMediaQueryObserver') {\n return createMediaQueryObserver()\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\nexport * from './convert-tools'\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","cacheOptions","setOptionsToCache","options","getOptionsFromCache","toCamelCase","s","camel","nextCap","i","toUpperCase","convertToArray","map","from","_","index","getPrototypeOf","prototype","result","item","getTarget","target","Taro","dataset","getEnv","ENV_TYPE","HARMONYHYBRID","WEB","fullDataset","targetAttrKeys","startsWith","toLowerCase","defineGetter","component","getter","defineProperty","enumerable","configurable","state","propToState","newValue","_oldValue","isFunction","o","withWeapp","weappConf","isApp","ConnectComponent","behaviorProperties","_a","propertiesList","property","propName","propValue","properties","hasOwnProperty","clone","BaseComponent","constructor","_observeProps","willMounts","didMounts","didHides","didShows","willUnmounts","eventDestroyList","current","getCurrentInstance","taroGlobalData","create","safeExecute","func","args","setData","callback","oldState","observers","setState","triggerObservers","triggerEvent","eventName","detail","match","type","id","currentTarget","hasBehavior","componentMethodsProxy","createSelectorQuery","createIntersectionObserver","createMediaQueryObserver","getRelationNodes","getTabBar","getPageId","animate","clearAnimation","setUpdatePerformanceListener","init","initProps","propKey","name","observer","entries","initLifeCycles","confKey","confValue","includes","method","cb","initLifeCycleListener","lifetimes","_b","_c","behaviorData","methods","dataObject","dataKey","preValue","valueType","preValueType","newVal","methodsObject","methodName","lifetimesObject","lifecycleName","page","onReady","called","nextTick","lifecycleKey","cycleNames","indexOf","router","eventCenter","on","off","executeLifeCycles","funcs","triggerPropertiesObservers","prevProps","nextProps","nextProp","ob","prev","diff","resultKeys","observerKey","test","k","trim","isModified","j","resultKey","endsWith","data","set","privateStopNoop","e","stopPropagation","componentWillMount","defaultProps","componentDidMount","componentWillUnmount","componentDidHide","componentDidShow","componentWillReceiveProps","is","error","selectComponent","selectAllComponents","selectOwnerComponent","groupSetData","staticOptions","option"],"mappings":"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"}
|