@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/with-weapp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-weapp.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":"with-weapp.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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/with-weapp",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.9",
|
|
4
4
|
"description": "taroize 之后的运行时",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@babel/runtime": "^7.14.5",
|
|
20
20
|
"lodash": "^4.17.21",
|
|
21
|
-
"@tarojs/runtime": "4.0.0-beta.
|
|
22
|
-
"@tarojs/taro": "4.0.0-beta.
|
|
21
|
+
"@tarojs/runtime": "4.0.0-beta.9",
|
|
22
|
+
"@tarojs/taro": "4.0.0-beta.9"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@babel/core": "^7.14.5",
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"lint": "eslint src --ext .js --ext .jsx --ext .ts --ext .tsx",
|
|
48
48
|
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx}\" && eslint src --ext .js --ext .jsx --ext .ts --ext .tsx --fix",
|
|
49
49
|
"test": "jest",
|
|
50
|
+
"test:ci": "cross-env NODE_ENV=test jest --ci -i --silent",
|
|
50
51
|
"test:coverage": "jest --coverage"
|
|
51
52
|
}
|
|
52
53
|
}
|