@tarojs/with-weapp 3.6.18 → 3.6.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -10,7 +10,7 @@ import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstruct
10
10
  import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
11
11
  import _typeof from '@babel/runtime/helpers/typeof';
12
12
  import { getCurrentInstance } from '@tarojs/runtime';
13
- import { nextTick, eventCenter } from '@tarojs/taro';
13
+ import { nextTick, eventCenter, createSelectorQuery, createIntersectionObserver, createMediaQueryObserver } from '@tarojs/taro';
14
14
 
15
15
  var json = JSON;
16
16
  var clone = function clone(obj) {
@@ -325,6 +325,80 @@ function flattenBehaviors(behavior, behaviorMap) {
325
325
  });
326
326
  }
327
327
 
328
+ /**
329
+ * 该模块仅存放 convert 转换时用到的工具函数或变量
330
+ */
331
+ var cacheOptions = {
332
+ cacheOptions: {},
333
+ setOptionsToCache: function setOptionsToCache(options) {
334
+ if (Object.keys(options).length !== 0) {
335
+ this.cacheOptions = options;
336
+ }
337
+ },
338
+ getOptionsFromCache: function getOptionsFromCache() {
339
+ return this.cacheOptions;
340
+ }
341
+ };
342
+ function toCamelCase(s) {
343
+ var camel = '';
344
+ var nextCap = false;
345
+ for (var i = 0; i < s.length; i++) {
346
+ if (s[i] !== '-') {
347
+ camel += nextCap ? s[i].toUpperCase() : s[i];
348
+ nextCap = false;
349
+ } else {
350
+ nextCap = true;
351
+ }
352
+ }
353
+ return camel;
354
+ }
355
+ var convertToArray = function convertToArray(value, fn) {
356
+ if (value instanceof Array) {
357
+ return value.map(fn);
358
+ } else if (typeof value === 'number') {
359
+ return Array.from({
360
+ length: value
361
+ }, function (_, index) {
362
+ return index;
363
+ }).map(fn);
364
+ } else if (typeof value === 'string') {
365
+ return Array.from(value).map(fn);
366
+ } else if (_typeof(value) === 'object' && value !== null && Object.getPrototypeOf(value) === Object.prototype) {
367
+ var result = Object.keys(value).map(function (item) {
368
+ return fn(value[item], item);
369
+ });
370
+ return result;
371
+ }
372
+ };
373
+ var getTarget = function getTarget(target, Taro) {
374
+ if (!target) {
375
+ return {
376
+ dataset: {}
377
+ };
378
+ }
379
+ if (Taro.getEnv() === Taro.ENV_TYPE.MPHARMONY || Taro.getEnv() === Taro.ENV_TYPE.WEB) {
380
+ if (target.fullDataset) {
381
+ return {
382
+ dataset: target.fullDataset
383
+ };
384
+ }
385
+ var fullDataset = {};
386
+ // 获取元素的所有属性
387
+ var targetAttrKeys = Object.keys(target);
388
+ // 遍历所有属性
389
+ for (var i = 0; i < targetAttrKeys.length; i++) {
390
+ if (targetAttrKeys[i].startsWith('data-')) {
391
+ fullDataset[toCamelCase(targetAttrKeys[i].replace(/^data-/, '').toLowerCase())] = target[targetAttrKeys[i]];
392
+ }
393
+ }
394
+ target.fullDataset = fullDataset;
395
+ return {
396
+ dataset: fullDataset
397
+ };
398
+ }
399
+ return target;
400
+ };
401
+
328
402
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
329
403
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
330
404
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
@@ -352,7 +426,7 @@ function withWeapp(weappConf) {
352
426
  }
353
427
  return function (ConnectComponent) {
354
428
  var _a;
355
- var behaviorMap = new Map([['properties', []], ['data', []], ['methods', []], ['created', []], ['attached', []], ['ready', []], ['detached', []]]);
429
+ var behaviorMap = new Map([['properties', []], ['data', []], ['methods', []], ['created', []], ['attached', []], ['ready', []], ['detached', []], ['lifetimes', []]]);
356
430
  var behaviorProperties = {};
357
431
  if ((_a = weappConf.behaviors) === null || _a === void 0 ? void 0 : _a.length) {
358
432
  var behaviors = weappConf.behaviors;
@@ -646,6 +720,13 @@ function withWeapp(weappConf) {
646
720
  }
647
721
  });
648
722
  break;
723
+ case 'lifetimes':
724
+ list.forEach(function (lifetimesObject) {
725
+ for (var _key4 in lifetimesObject) {
726
+ _this2.initLifeCycles(_key4, lifetimesObject[_key4]);
727
+ }
728
+ });
729
+ break;
649
730
  default:
650
731
  break;
651
732
  }
@@ -673,8 +754,8 @@ function withWeapp(weappConf) {
673
754
  if (this.current.page.onReady.called) {
674
755
  this.didMounts.push(function () {
675
756
  var _this3 = this;
676
- for (var _len2 = arguments.length, args = new Array(_len2), _key4 = 0; _key4 < _len2; _key4++) {
677
- args[_key4] = arguments[_key4];
757
+ for (var _len2 = arguments.length, args = new Array(_len2), _key5 = 0; _key5 < _len2; _key5++) {
758
+ args[_key5] = arguments[_key5];
678
759
  }
679
760
  nextTick(function () {
680
761
  if (isFunction(lifecycle)) {
@@ -730,8 +811,8 @@ function withWeapp(weappConf) {
730
811
  }, {
731
812
  key: "executeLifeCycles",
732
813
  value: function executeLifeCycles(funcs) {
733
- for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key5 = 1; _key5 < _len3; _key5++) {
734
- args[_key5 - 1] = arguments[_key5];
814
+ for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key6 = 1; _key6 < _len3; _key6++) {
815
+ args[_key6 - 1] = arguments[_key6];
735
816
  }
736
817
  for (var i = 0; i < funcs.length; i++) {
737
818
  var func = funcs[i];
@@ -898,6 +979,13 @@ function withWeapp(weappConf) {
898
979
  var page = _this5.current.page;
899
980
  if (page === null || page === void 0 ? void 0 : page[method]) {
900
981
  return page[method].apply(page, arguments);
982
+ } else if (method === 'createSelectorQuery') {
983
+ return createSelectorQuery();
984
+ } else if (method === 'createIntersectionObserver') {
985
+ // @ts-ignore
986
+ return createIntersectionObserver.apply(void 0, arguments);
987
+ } else if (method === 'createMediaQueryObserver') {
988
+ return createMediaQueryObserver();
901
989
  } else {
902
990
  console.error("page \u4E0B\u6CA1\u6709 ".concat(method, " \u65B9\u6CD5"));
903
991
  }
@@ -949,5 +1037,5 @@ function withWeapp(weappConf) {
949
1037
  };
950
1038
  }
951
1039
 
952
- export { withWeapp as default };
1040
+ export { cacheOptions, convertToArray, withWeapp as default, getTarget };
953
1041
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/lifecycle.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":["interface LifecycleMap {\n [key: string]: string[]\n}\n\nexport enum TaroLifeCycles {\n WillMount = 'componentWillMount',\n DidMount = 'componentDidMount',\n DidShow = 'componentDidShow',\n DidHide = 'componentDidHide',\n WillUnmount = 'componentWillUnmount'\n}\n\nexport const lifecycleMap: LifecycleMap = {\n [TaroLifeCycles.WillMount]: ['created'],\n [TaroLifeCycles.DidMount]: ['attached'],\n [TaroLifeCycles.DidShow]: ['onShow'],\n [TaroLifeCycles.DidHide]: ['onHide'],\n [TaroLifeCycles.WillUnmount]: ['detached', 'onUnload']\n}\n\nexport const lifecycles = new Set<string>(['ready'])\n\nfor (const key in lifecycleMap) {\n const lifecycle = lifecycleMap[key]\n lifecycle.forEach(l => lifecycles.add(l))\n}\n\nexport const uniquePageLifecycle = [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onShareAppMessage',\n 'onShareTimeline',\n 'onAddToFavorites',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap'\n]\n\nexport const appOptions = [\n 'onLaunch',\n 'onShow',\n 'onHide',\n 'onError',\n 'onPageNotFound',\n 'onUnhandledRejection',\n 'onThemeChange'\n]\n","/**\n * Simple bind, faster than native\n */\nexport function bind (fn /*: Function */, ctx /*: Object */) /*: Function */ {\n if (!fn) return false\n\n function boundFn (a) {\n const l /*: number */ = arguments.length\n return l ? (l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a)) : fn.call(ctx)\n }\n\n // record original fn length\n boundFn._length = fn.length\n return boundFn\n}\n\nexport function isEqual (obj1, obj2) {\n return JSON.stringify(obj1) === JSON.stringify(obj2)\n}\n\nexport function noop (..._: unknown[]) {\n //\n}\n\nconst sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n}\n\nexport function proxy (target, sourceKey: string, key: string) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n }\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val\n }\n Object.defineProperty(target, key, sharedPropertyDefinition)\n}\n\nexport function safeGet (obj, propsArg, defaultValue?) {\n if (!obj) {\n return defaultValue\n }\n let props, prop\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0)\n }\n if (typeof propsArg === 'string') {\n props = propsArg.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof propsArg === 'symbol') {\n props = [propsArg]\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol')\n }\n while (props.length) {\n prop = props.shift()\n if (!obj) {\n return defaultValue\n }\n obj = obj[prop]\n if (obj === undefined) {\n return defaultValue\n }\n }\n return obj\n}\n\nexport function safeSet (obj, props, value) {\n if (typeof props === 'string') {\n props = props.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof props === 'symbol') {\n props = [props]\n }\n const lastProp = props.pop()\n if (!lastProp) {\n return false\n }\n let thisProp\n while ((thisProp = props.shift())) {\n if (typeof obj[thisProp] === 'undefined') {\n obj[thisProp] = {}\n }\n\n // 直接按路径修改 this.state 可能会导致 nextProps 也被修改\n // 因此按路径寻找时,每一层都复制一遍\n if (Array.isArray(obj[thisProp])) {\n obj[thisProp] = [...obj[thisProp]]\n } else if (typeof obj[thisProp] === 'object') {\n obj[thisProp] = { ...obj[thisProp] }\n }\n\n obj = obj[thisProp]\n if (!obj || typeof obj !== 'object') {\n return false\n }\n }\n obj[lastProp] = value\n return true\n}\n\nexport function report (msg) {\n console.warn('[Taro Convert Warning] ' + msg)\n}\n\nexport const nonsupport = new Map([\n ['onError', '不支持 App 的 onError 生命周期方法。'],\n ['onPageNotFound', '不支持 App 的 onPageNotFound 生命周期方法。'],\n ['onUnhandledRejection', '不支持 App 的 onUnhandledRejection 生命周期方法。'],\n ['onThemeChange', '不支持 App 的 onThemeChange 生命周期方法。'],\n ['moved', '不支持自定义组件的 moved 生命周期。'],\n ['externalClasses', '不支持自定义组件的 externalClasses 功能。'],\n ['relations', '不支持自定义组件的 relations 功能。'],\n ['options', '不支持自定义组件的 options 功能。'],\n ['definitionFilter', '不支持自定义组件的 definitionFilter 功能。'],\n ['selectComponent', 'selectComponent 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectAllComponents', 'selectAllComponents 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectOwnerComponent', 'selectOwnerComponent 方法产生不到目标效果,请使用 React 语法重构。'],\n ['groupSetData', 'groupSetData 方法产生不到目标效果,请使用 React 语法重构。']\n])\n\nexport function flattenBehaviors (behavior, behaviorMap: Map<string, any[]>) {\n if (typeof behavior === 'string') {\n return report(`不支持使用内置 Behavior: [${behavior}]`)\n }\n const subBehaviors = behavior.behaviors\n if (subBehaviors?.length) {\n subBehaviors.forEach(subBehavior => flattenBehaviors(subBehavior, behaviorMap))\n }\n\n Object.keys(behavior).forEach(key => {\n // 不支持的属性\n if (nonsupport.has(key)) {\n const advise = nonsupport.get(key)\n return report(advise)\n }\n\n if (behaviorMap.has(key)) {\n const list = behaviorMap.get(key)!\n const value = behavior[key]\n list.push(value)\n }\n })\n}\n","import { Func, getCurrentInstance } from '@tarojs/runtime'\nimport { ComponentLifecycle, eventCenter, nextTick } from '@tarojs/taro'\n\nimport { clone } from './clone'\nimport { diff } from './diff'\nimport { appOptions, lifecycleMap, lifecycles, TaroLifeCycles, uniquePageLifecycle } from './lifecycle'\nimport { bind, flattenBehaviors, isEqual, nonsupport, report, safeGet, safeSet } from './utils'\n\ntype Observer = (newProps, oldProps, changePath: string) => void\n\ninterface ObserverProperties {\n name: string\n observer: string | Observer\n}\n\ninterface ComponentClass<P = Record<string, any>, S = Record<string, any>> extends ComponentLifecycle<P, S> {\n new (props: P)\n externalClasses: Record<string, unknown>\n defaultProps?: Partial<P>\n _observeProps?: ObserverProperties[]\n observers?: Record<string, Func>\n}\n\ninterface WxOptions {\n methods?: Record<string, Func>\n properties?: Record<string, Record<string, unknown> | Func>\n props?: Record<string, unknown>\n data?: Record<string, unknown>\n observers?: Record<string, Func>\n lifetimes?: Record<string, Func>\n behaviors?: any[]\n}\n\nfunction defineGetter (component, key: string, getter: string) {\n Object.defineProperty(component, key, {\n enumerable: true,\n configurable: true,\n get: () => {\n if (getter === 'props') {\n return component.props\n }\n return {\n ...component.state,\n ...component.props\n }\n }\n })\n}\n\nfunction isFunction (o): o is Func {\n return typeof o === 'function'\n}\n\nexport default function withWeapp (weappConf: WxOptions, isApp = false) {\n if (typeof weappConf === 'object' && Object.keys(weappConf).length === 0) {\n report('withWeapp 请传入“App/页面/组件“的配置对象。如果原生写法使用了基类,请将基类组合后的配置对象传入,详情请参考文档。')\n }\n return (ConnectComponent: ComponentClass<any, any>) => {\n const behaviorMap = new Map<string, any[]>([\n ['properties', []],\n ['data', []],\n ['methods', []],\n ['created', []],\n ['attached', []],\n ['ready', []],\n ['detached', []]\n ])\n const behaviorProperties = {}\n if (weappConf.behaviors?.length) {\n const { behaviors } = weappConf\n behaviors.forEach(behavior => flattenBehaviors(behavior, behaviorMap))\n\n const propertiesList = behaviorMap.get('properties')!\n if (propertiesList.length) {\n propertiesList.forEach(property => {\n Object.assign(behaviorProperties, property)\n })\n Object.keys(behaviorProperties).forEach(propName => {\n const propValue = behaviorProperties[propName]\n if (!weappConf.properties) {\n weappConf.properties = {}\n }\n if (!weappConf.properties.hasOwnProperty(propName)) {\n if (propValue && typeof propValue === 'object' && propValue.value) {\n propValue.value = clone(propValue.value)\n }\n weappConf.properties[propName] = propValue\n }\n })\n }\n }\n\n class BaseComponent<P = Record<string, any>, S 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 for (const propKey in props) {\n if (props.hasOwnProperty(propKey)) {\n const propValue = props[propKey]\n // propValue 可能是 null, 构造函数, 对象\n if (propValue && !isFunction(propValue)) {\n if (propValue.observer) {\n this._observeProps.push({\n name: propKey,\n observer: propValue.observer\n })\n }\n }\n }\n }\n }\n\n private init (options: WxOptions) {\n // 处理 Behaviors\n if (options.behaviors?.length) {\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'created':\n case 'attached':\n case 'detached':\n case 'ready':\n list.forEach(fn => this.initLifeCycles(key, fn))\n break\n }\n }\n }\n\n for (const confKey in options) {\n // 不支持的属性\n if (nonsupport.has(confKey)) {\n const advise = nonsupport.get(confKey)\n report(advise)\n }\n\n const confValue = options[confKey]\n\n switch (confKey) {\n case 'behaviors':\n break\n case 'data': {\n if (isApp) {\n this[confKey] = confValue\n if (!appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n } else {\n this.state = {\n ...confValue,\n ...this.state\n }\n }\n break\n }\n case 'properties':\n this.initProps(Object.assign(behaviorProperties, confValue))\n break\n case 'methods':\n for (const key in confValue) {\n const method = confValue[key]\n this[key] = bind(method, this)\n }\n break\n case 'lifetimes':\n for (const key in confValue) {\n this.initLifeCycles(key, confValue[key])\n }\n break\n case 'pageLifetimes':\n for (const key in confValue) {\n const cb = confValue[key]\n switch (key) {\n case 'show': {\n this.initLifeCycleListener('show', cb)\n break\n }\n case 'hide': {\n this.initLifeCycleListener('hide', cb)\n break\n }\n case 'resize': {\n report('不支持组件所在页面的生命周期 pageLifetimes.resize。')\n break\n }\n }\n }\n break\n default:\n if (lifecycles.has(confKey)) {\n // 优先使用 lifetimes 中定义的生命周期\n if (options.lifetimes?.[confKey]) {\n break\n }\n\n const lifecycle = options[confKey]\n this.initLifeCycles(confKey, lifecycle)\n } else if (isFunction(confValue)) {\n this[confKey] = bind(confValue, this)\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n\n // 原生页面和 Taro 页面中共计只能定义一次的生命周期\n if (uniquePageLifecycle.includes(confKey) && ConnectComponent.prototype[confKey]) {\n report(`生命周期 ${confKey} 已在原生部分进行定义,React 部分的定义将不会被执行。`)\n }\n } else {\n this[confKey] = confValue\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n }\n\n break\n }\n }\n\n // 处理 Behaviors\n if (options.behaviors?.length) {\n const behaviorData = {}\n const methods = {}\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'data':\n [...list, this.state].forEach((dataObject, index) => {\n Object.keys(dataObject).forEach(dataKey => {\n const value = dataObject[dataKey]\n const preValue = behaviorData[dataKey]\n const valueType = typeof value\n const preValueType = typeof preValue\n if (valueType === 'object') {\n if (!value) {\n behaviorData[dataKey] = value\n } else if (preValueType !== 'object' || !preValueType || Array.isArray(value)) {\n behaviorData[dataKey] = index === list.length ? value : clone(value)\n } else {\n const newVal = Object.assign({}, preValue, value)\n behaviorData[dataKey] = index === list.length ? newVal : clone(newVal)\n }\n } else {\n behaviorData[dataKey] = value\n }\n })\n })\n this.state = behaviorData\n break\n case 'methods':\n list.forEach(methodsObject => {\n Object.assign(methods, methodsObject)\n })\n Object.keys(methods).forEach(methodName => {\n if (!this[methodName]) {\n const method = methods[methodName]\n this[methodName] = bind(method, this)\n }\n })\n break\n default:\n break\n }\n }\n }\n }\n\n private initLifeCycles (lifecycleName: string, lifecycle: Func) {\n // 不支持的生命周期\n if (nonsupport.has(lifecycleName)) {\n const advise = nonsupport.get(lifecycleName)\n return report(advise)\n }\n\n if (lifecycleName === 'ready') {\n // 如果组件是延时渲染的,页面 onReady 的事件已经 emit 了,因此使用 componentDidMount + nextTick 模拟\n if (this.current.page.onReady.called) {\n this.didMounts.push(function (...args: unknown[]) {\n nextTick(() => {\n if (isFunction(lifecycle)) {\n lifecycle.apply(this, args)\n }\n })\n })\n } else {\n this.initLifeCycleListener('ready', lifecycle)\n }\n } else {\n for (const lifecycleKey in lifecycleMap) {\n const cycleNames = lifecycleMap[lifecycleKey]\n if (cycleNames.indexOf(lifecycleName) !== -1) {\n switch (lifecycleKey) {\n case TaroLifeCycles.DidHide:\n this.didHides.push(lifecycle)\n break\n case TaroLifeCycles.DidMount:\n this.didMounts.push(lifecycle)\n break\n case TaroLifeCycles.DidShow:\n this.didShows.push(lifecycle)\n break\n case TaroLifeCycles.WillMount:\n this.willMounts.push(lifecycle)\n break\n case TaroLifeCycles.WillUnmount:\n this.willUnmounts.push(lifecycle)\n break\n default:\n break\n }\n }\n }\n }\n\n // mixins 不会覆盖已经设置的生命周期,加入到 this 是为了形如 this.created() 的调用\n if (!isFunction(this[lifecycleName])) {\n this[lifecycleName] = lifecycle\n }\n }\n\n private safeExecute = (func?: Func, ...args: unknown[]) => {\n if (isFunction(func)) func.apply(this, args)\n }\n\n private initLifeCycleListener (name: string, cb: (...args: any[]) => void) {\n // 组件的 ready、show、hide 需要利用页面事件触发\n const { router } = this.current\n const lifecycleName = `on${name[0].toUpperCase()}${name.slice(1)}`\n cb = cb.bind(this)\n router?.[lifecycleName] && eventCenter.on(router[lifecycleName], cb)\n // unMount 时需要取消事件监听\n this.eventDestroyList.push(() => eventCenter.off(router[lifecycleName], cb))\n }\n\n private executeLifeCycles (funcs: Func[], ...args: unknown[]) {\n for (let i = 0; i < funcs.length; i++) {\n const func = funcs[i]\n this.safeExecute(func, ...args)\n }\n }\n\n private triggerPropertiesObservers (prevProps, nextProps) {\n this._observeProps.forEach(({ name: key, observer }) => {\n const prop = prevProps?.[key]\n const nextProp = nextProps[key]\n // 小程序是深比较不同之后才 trigger observer\n if (!isEqual(prop, nextProp)) {\n if (typeof observer === 'string') {\n const ob = this[observer]\n if (isFunction(ob)) {\n ob.call(this, nextProp, prop, key)\n }\n } else if (isFunction(observer)) {\n observer.call(this, nextProp, prop, key)\n }\n }\n })\n }\n\n private triggerObservers (current, prev) {\n const observers = this.observers\n if (observers == null) {\n return\n }\n\n if (Object.keys(observers).length === 0) {\n return\n }\n\n const result = diff(current, prev)\n const resultKeys = Object.keys(result)\n if (resultKeys.length === 0) {\n return\n }\n\n for (const observerKey in observers) {\n if (/\\*\\*/.test(observerKey)) {\n report('数据监听器 observers 不支持使用通配符 **。')\n continue\n }\n\n const keys = observerKey.split(',').map(k => k.trim())\n let isModified = false\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n for (let j = 0; j < resultKeys.length; j++) {\n const resultKey = resultKeys[j]\n if (\n resultKey.startsWith(key) ||\n (key.startsWith(resultKey) && key.endsWith(']'))\n ) {\n isModified = true\n }\n }\n }\n if (isModified) {\n observers[observerKey].apply(this, keys.map(key => safeGet(current, key)))\n }\n }\n }\n\n private defineProperty (target, key, data) {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: true,\n set (value) {\n data[key] = value\n },\n get () {\n return data[key]\n }\n })\n }\n\n public privateStopNoop (...args) {\n let e\n let fn\n if (args.length === 2) {\n fn = args[0]\n e = args[1]\n } else if (args.length === 1) {\n e = args[0]\n }\n if (e.type === 'touchmove') {\n report('catchtouchmove 转换后只能停止回调函数的冒泡,不能阻止滚动穿透。如要阻止滚动穿透,可以手动给编译后的 View 组件加上 catchMove 属性')\n }\n e.stopPropagation()\n isFunction(fn) && fn(e)\n }\n\n // ================ React 生命周期 ================\n\n public componentWillMount () {\n this.safeExecute(super.componentWillMount)\n this.executeLifeCycles(this.willMounts, this.current.router || {})\n this.triggerObservers(this.data, BaseComponent.defaultProps)\n this.triggerPropertiesObservers(BaseComponent.defaultProps, this.props)\n }\n\n public componentDidMount () {\n this.safeExecute(super.componentDidMount)\n this.executeLifeCycles(this.didMounts)\n }\n\n public componentWillUnmount () {\n this.eventDestroyList.forEach(fn => fn())\n this.safeExecute(super.componentWillUnmount)\n this.executeLifeCycles(this.willUnmounts)\n }\n\n public componentDidHide () {\n this.safeExecute(super.componentDidHide)\n this.executeLifeCycles(this.didHides)\n }\n\n public componentDidShow () {\n this.safeExecute(super.componentDidShow, this.current.router || {})\n this.executeLifeCycles(this.didShows, this.current.router || {})\n }\n\n public componentWillReceiveProps (nextProps: P) {\n this.triggerObservers(nextProps, this.props)\n this.triggerPropertiesObservers(this.props, nextProps)\n this.safeExecute(super.componentWillReceiveProps)\n }\n\n // ================ 小程序 App, Page, Component 实例属性与方法 ================\n\n get is () {\n return this.current.page.is\n }\n\n get id () {\n return this.current.page.id\n }\n\n get dataset () {\n return this.current.page.dataset\n }\n\n public setData = (obj: S, callback?: () => void) => {\n let oldState\n if (this.observers && Object.keys(Object.keys(this.observers))) {\n oldState = clone(this.state)\n }\n Object.keys(obj).forEach(key => {\n safeSet(this.state, key, obj[key])\n })\n this.setState(this.state, () => {\n this.triggerObservers(this.state, oldState)\n if (callback) {\n callback.call(this)\n }\n })\n }\n\n public triggerEvent = (eventName: string, detail, options) => {\n if (options) {\n report('triggerEvent 不支持事件选项。')\n }\n\n // eventName support kebab case\n if (eventName.match(/[a-z]+-[a-z]+/g)) {\n eventName = eventName.replace(/-[a-z]/g, function (match) {\n return match[1].toUpperCase()\n })\n }\n\n const props = this.props\n const dataset = {}\n for (const key in props) {\n if (!key.startsWith('data-')) continue\n dataset[key.replace(/^data-/, '')] = props[key]\n }\n\n const func = props[`on${eventName[0].toUpperCase()}${eventName.slice(1)}`]\n if (isFunction(func)) {\n func.call(this, {\n type: eventName,\n detail,\n target: {\n id: props.id || '',\n dataset\n },\n currentTarget: {\n id: props.id || '',\n dataset\n }\n })\n }\n }\n\n private componentMethodsProxy (method: string) {\n return (...args: any[]) => {\n const page = this.current.page\n if (page?.[method]) {\n return page[method](...args)\n } else {\n console.error(`page 下没有 ${method} 方法`)\n }\n }\n }\n\n public hasBehavior = this.componentMethodsProxy('hasBehavior')\n public createSelectorQuery = this.componentMethodsProxy('createSelectorQuery')\n public createIntersectionObserver = this.componentMethodsProxy('createIntersectionObserver')\n public createMediaQueryObserver = this.componentMethodsProxy('createMediaQueryObserver')\n public getRelationNodes = this.componentMethodsProxy('getRelationNodes')\n public getTabBar = this.componentMethodsProxy('getTabBar')\n public getPageId = this.componentMethodsProxy('getPageId')\n public animate = this.componentMethodsProxy('animate')\n public clearAnimation = this.componentMethodsProxy('clearAnimation')\n public setUpdatePerformanceListener = this.componentMethodsProxy('setUpdatePerformanceListener')\n\n public selectComponent () {\n report(nonsupport.get('selectComponent'))\n }\n\n public selectAllComponents () {\n report(nonsupport.get('selectAllComponents'))\n }\n\n public selectOwnerComponent () {\n report(nonsupport.get('selectOwnerComponent'))\n }\n\n public groupSetData () {\n report(nonsupport.get('groupSetData'))\n }\n }\n\n const props = weappConf.properties\n\n if (props) {\n for (const propKey in props) {\n const propValue = props[propKey]\n if (propValue != null && !isFunction(propValue)) {\n if (propValue.value !== undefined) { // 如果是 null 也赋值到 defaultProps\n BaseComponent.defaultProps = {\n [propKey]: propValue.value,\n ...BaseComponent.defaultProps\n }\n }\n }\n }\n }\n\n const staticOptions = ['externalClasses', 'relations', 'options']\n\n staticOptions.forEach(option => {\n const value = weappConf[option]\n if (value != null) {\n BaseComponent[option] = value\n }\n })\n\n return BaseComponent\n }\n}\n"],"names":["TaroLifeCycles","lifecycleMap","_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","defineGetter","component","getter","defineProperty","enumerable","configurable","state","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","options","match","toUpperCase","dataset","startsWith","type","target","id","currentTarget","hasBehavior","componentMethodsProxy","createSelectorQuery","createIntersectionObserver","createMediaQueryObserver","getRelationNodes","getTabBar","getPageId","animate","clearAnimation","setUpdatePerformanceListener","init","_createClass","initProps","propKey","observer","name","_this2","_iterator","_createForOfIteratorHelper","entries","_step","_loop","_step$value","_slicedToArray","initLifeCycles","s","n","done","err","e","f","confKey","confValue","includes","method","cb","initLifeCycleListener","lifetimes","_b","prototype","_c","behaviorData","methods","_iterator2","_step2","_loop2","_step2$value","dataObject","index","dataKey","preValue","valueType","preValueType","newVal","methodsObject","methodName","lifecycleName","page","onReady","called","_this3","_len2","_key4","nextTick","lifecycleKey","cycleNames","indexOf","router","eventCenter","on","off","executeLifeCycles","funcs","_len3","_key5","i","triggerPropertiesObservers","prevProps","nextProps","_this4","_ref","nextProp","ob","prev","result","diff","resultKeys","observerKey","test","map","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.esm.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.MPHARMONY || 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}","import { Func, 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\ntype Observer = (newProps, oldProps, changePath: string) => void\n\ninterface ObserverProperties {\n name: string\n observer: string | Observer\n}\n\ninterface ComponentClass<P = Record<string, any>, S = Record<string, any>> extends ComponentLifecycle<P, S> {\n new (props: P)\n externalClasses: Record<string, unknown>\n defaultProps?: Partial<P>\n _observeProps?: ObserverProperties[]\n observers?: Record<string, Func>\n}\n\ninterface WxOptions {\n methods?: Record<string, Func>\n properties?: Record<string, Record<string, unknown> | Func>\n props?: Record<string, unknown>\n data?: Record<string, unknown>\n observers?: Record<string, Func>\n lifetimes?: Record<string, Func>\n behaviors?: any[]\n}\n\nfunction defineGetter (component, key: string, getter: string) {\n Object.defineProperty(component, key, {\n enumerable: true,\n configurable: true,\n get: () => {\n if (getter === 'props') {\n return component.props\n }\n return {\n ...component.state,\n ...component.props\n }\n }\n })\n}\n\nfunction isFunction (o): o is Func {\n return typeof o === 'function'\n} \n\nexport default function withWeapp (weappConf: WxOptions, isApp = false) {\n if (typeof weappConf === 'object' && Object.keys(weappConf).length === 0) {\n report('withWeapp 请传入“App/页面/组件“的配置对象。如果原生写法使用了基类,请将基类组合后的配置对象传入,详情请参考文档。')\n }\n return (ConnectComponent: ComponentClass<any, any>) => {\n const behaviorMap = new Map<string, any[]>([\n ['properties', []],\n ['data', []],\n ['methods', []],\n ['created', []],\n ['attached', []],\n ['ready', []],\n ['detached', []],\n ['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 for (const propKey in props) {\n if (props.hasOwnProperty(propKey)) {\n const propValue = props[propKey]\n // propValue 可能是 null, 构造函数, 对象\n if (propValue && !isFunction(propValue)) {\n if (propValue.observer) {\n this._observeProps.push({\n name: propKey,\n observer: propValue.observer\n })\n }\n }\n }\n }\n }\n\n private init (options: WxOptions) {\n // 处理 Behaviors\n if (options.behaviors?.length) {\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'created':\n case 'attached':\n case 'detached':\n case 'ready':\n list.forEach(fn => this.initLifeCycles(key, fn))\n break\n }\n }\n }\n\n for (const confKey in options) {\n // 不支持的属性\n if (nonsupport.has(confKey)) {\n const advise = nonsupport.get(confKey)\n report(advise)\n }\n\n const confValue = options[confKey]\n\n switch (confKey) {\n case 'behaviors':\n break\n case 'data': {\n if (isApp) {\n this[confKey] = confValue\n if (!appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n } else {\n this.state = {\n ...confValue,\n ...this.state\n }\n }\n break\n }\n case 'properties':\n this.initProps(Object.assign(behaviorProperties, confValue))\n break\n case 'methods':\n for (const key in confValue) {\n const method = confValue[key]\n this[key] = bind(method, this)\n }\n break\n case 'lifetimes':\n for (const key in confValue) {\n this.initLifeCycles(key, confValue[key])\n }\n break\n case 'pageLifetimes':\n for (const key in confValue) {\n const cb = confValue[key]\n switch (key) {\n case 'show': {\n this.initLifeCycleListener('show', cb)\n break\n }\n case 'hide': {\n this.initLifeCycleListener('hide', cb)\n break\n }\n case 'resize': {\n report('不支持组件所在页面的生命周期 pageLifetimes.resize。')\n break\n }\n }\n }\n break\n default:\n if (lifecycles.has(confKey)) {\n // 优先使用 lifetimes 中定义的生命周期\n if (options.lifetimes?.[confKey]) {\n break\n }\n\n const lifecycle = options[confKey]\n this.initLifeCycles(confKey, lifecycle)\n } else if (isFunction(confValue)) {\n this[confKey] = bind(confValue, this)\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n\n // 原生页面和 Taro 页面中共计只能定义一次的生命周期\n if (uniquePageLifecycle.includes(confKey) && ConnectComponent.prototype[confKey]) {\n report(`生命周期 ${confKey} 已在原生部分进行定义,React 部分的定义将不会被执行。`)\n }\n } else {\n this[confKey] = confValue\n\n if (isApp && !appOptions.includes(confKey)) {\n this.defineProperty(this.taroGlobalData, confKey, this)\n }\n }\n\n break\n }\n }\n\n // 处理 Behaviors\n if (options.behaviors?.length) {\n const behaviorData = {}\n const methods = {}\n for (const [key, list] of behaviorMap.entries()) {\n switch (key) {\n case 'data':\n [...list, this.state].forEach((dataObject, index) => {\n Object.keys(dataObject).forEach(dataKey => {\n const value = dataObject[dataKey]\n const preValue = behaviorData[dataKey]\n const valueType = typeof value\n const preValueType = typeof preValue\n if (valueType === 'object') {\n if (!value) {\n behaviorData[dataKey] = value\n } else if (preValueType !== 'object' || !preValueType || Array.isArray(value)) {\n behaviorData[dataKey] = index === list.length ? value : clone(value)\n } else {\n const newVal = Object.assign({}, preValue, value)\n behaviorData[dataKey] = index === list.length ? newVal : clone(newVal)\n }\n } else {\n behaviorData[dataKey] = value\n }\n })\n })\n this.state = behaviorData\n break\n case 'methods':\n list.forEach(methodsObject => {\n Object.assign(methods, methodsObject)\n })\n Object.keys(methods).forEach(methodName => {\n if (!this[methodName]) {\n const method = methods[methodName]\n this[methodName] = bind(method, this)\n }\n })\n break\n 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, observer }) => {\n const prop = prevProps?.[key]\n const nextProp = nextProps[key]\n // 小程序是深比较不同之后才 trigger observer\n if (!isEqual(prop, nextProp)) {\n if (typeof observer === 'string') {\n const ob = this[observer]\n if (isFunction(ob)) {\n ob.call(this, nextProp, prop, key)\n }\n } else if (isFunction(observer)) {\n observer.call(this, nextProp, prop, key)\n }\n }\n })\n }\n\n private triggerObservers (current, prev) {\n const observers = this.observers\n if (observers == null) {\n return\n }\n\n if (Object.keys(observers).length === 0) {\n return\n }\n\n const result = diff(current, prev)\n const resultKeys = Object.keys(result)\n if (resultKeys.length === 0) {\n return\n }\n\n for (const observerKey in observers) {\n if (/\\*\\*/.test(observerKey)) {\n report('数据监听器 observers 不支持使用通配符 **。')\n continue\n }\n\n const keys = observerKey.split(',').map(k => k.trim())\n let isModified = false\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n for (let j = 0; j < resultKeys.length; j++) {\n const resultKey = resultKeys[j]\n if (\n resultKey.startsWith(key) ||\n (key.startsWith(resultKey) && key.endsWith(']'))\n ) {\n isModified = true\n }\n }\n }\n if (isModified) {\n observers[observerKey].apply(this, keys.map(key => safeGet(current, key)))\n }\n }\n }\n\n private defineProperty (target, key, data) {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: true,\n set (value) {\n data[key] = value\n },\n get () {\n return data[key]\n }\n })\n }\n\n public privateStopNoop (...args) {\n let e\n let fn\n if (args.length === 2) {\n fn = args[0]\n e = args[1]\n } else if (args.length === 1) {\n e = args[0]\n }\n if (e.type === 'touchmove') {\n report('catchtouchmove 转换后只能停止回调函数的冒泡,不能阻止滚动穿透。如要阻止滚动穿透,可以手动给编译后的 View 组件加上 catchMove 属性')\n }\n e.stopPropagation()\n isFunction(fn) && fn(e)\n }\n\n // ================ React 生命周期 ================\n\n public componentWillMount () {\n this.safeExecute(super.componentWillMount)\n this.executeLifeCycles(this.willMounts, this.current.router || {})\n this.triggerObservers(this.data, BaseComponent.defaultProps)\n this.triggerPropertiesObservers(BaseComponent.defaultProps, this.props)\n }\n\n public componentDidMount () {\n this.safeExecute(super.componentDidMount)\n this.executeLifeCycles(this.didMounts)\n }\n\n public componentWillUnmount () {\n this.eventDestroyList.forEach(fn => fn())\n this.safeExecute(super.componentWillUnmount)\n this.executeLifeCycles(this.willUnmounts)\n }\n\n public componentDidHide () {\n this.safeExecute(super.componentDidHide)\n this.executeLifeCycles(this.didHides)\n }\n\n public componentDidShow () {\n this.safeExecute(super.componentDidShow, this.current.router || {})\n this.executeLifeCycles(this.didShows, this.current.router || {})\n }\n\n public componentWillReceiveProps (nextProps: P) {\n this.triggerObservers(nextProps, this.props)\n this.triggerPropertiesObservers(this.props, nextProps)\n this.safeExecute(super.componentWillReceiveProps)\n }\n\n // ================ 小程序 App, Page, Component 实例属性与方法 ================\n\n get is () {\n return this.current.page.is\n }\n\n get id () {\n return this.current.page.id\n }\n\n get dataset () {\n return this.current.page.dataset\n }\n\n public setData = (obj: S, callback?: () => void) => {\n let oldState\n if (this.observers && Object.keys(Object.keys(this.observers))) {\n oldState = clone(this.state)\n }\n Object.keys(obj).forEach(key => {\n safeSet(this.state, key, obj[key])\n })\n this.setState(this.state, () => {\n this.triggerObservers(this.state, oldState)\n if (callback) {\n callback.call(this)\n }\n })\n }\n\n public triggerEvent = (eventName: string, detail, options) => {\n if (options) {\n report('triggerEvent 不支持事件选项。')\n }\n\n // eventName support kebab case\n if (eventName.match(/[a-z]+-[a-z]+/g)) {\n eventName = eventName.replace(/-[a-z]/g, function (match) {\n return match[1].toUpperCase()\n })\n }\n\n const props = this.props\n const dataset = {}\n for (const key in props) {\n if (!key.startsWith('data-')) continue\n dataset[key.replace(/^data-/, '')] = props[key]\n }\n\n const func = props[`on${eventName[0].toUpperCase()}${eventName.slice(1)}`]\n if (isFunction(func)) {\n func.call(this, {\n type: eventName,\n detail,\n target: {\n id: props.id || '',\n dataset\n },\n currentTarget: {\n id: props.id || '',\n dataset\n }\n })\n }\n }\n\n private componentMethodsProxy (method: string) {\n return (...args: any[]) => {\n const page = this.current.page\n if (page?.[method]) {\n return page[method](...args)\n } else 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'"],"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","MPHARMONY","WEB","fullDataset","targetAttrKeys","startsWith","toLowerCase","defineGetter","component","getter","defineProperty","enumerable","configurable","state","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","observer","name","_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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"}
package/dist/index.js CHANGED
@@ -343,6 +343,80 @@ function flattenBehaviors(behavior, behaviorMap) {
343
343
  });
344
344
  }
345
345
 
346
+ /**
347
+ * 该模块仅存放 convert 转换时用到的工具函数或变量
348
+ */
349
+ var cacheOptions = {
350
+ cacheOptions: {},
351
+ setOptionsToCache: function setOptionsToCache(options) {
352
+ if (Object.keys(options).length !== 0) {
353
+ this.cacheOptions = options;
354
+ }
355
+ },
356
+ getOptionsFromCache: function getOptionsFromCache() {
357
+ return this.cacheOptions;
358
+ }
359
+ };
360
+ function toCamelCase(s) {
361
+ var camel = '';
362
+ var nextCap = false;
363
+ for (var i = 0; i < s.length; i++) {
364
+ if (s[i] !== '-') {
365
+ camel += nextCap ? s[i].toUpperCase() : s[i];
366
+ nextCap = false;
367
+ } else {
368
+ nextCap = true;
369
+ }
370
+ }
371
+ return camel;
372
+ }
373
+ var convertToArray = function convertToArray(value, fn) {
374
+ if (value instanceof Array) {
375
+ return value.map(fn);
376
+ } else if (typeof value === 'number') {
377
+ return Array.from({
378
+ length: value
379
+ }, function (_, index) {
380
+ return index;
381
+ }).map(fn);
382
+ } else if (typeof value === 'string') {
383
+ return Array.from(value).map(fn);
384
+ } else if (_typeof__default["default"](value) === 'object' && value !== null && Object.getPrototypeOf(value) === Object.prototype) {
385
+ var result = Object.keys(value).map(function (item) {
386
+ return fn(value[item], item);
387
+ });
388
+ return result;
389
+ }
390
+ };
391
+ var getTarget = function getTarget(target, Taro) {
392
+ if (!target) {
393
+ return {
394
+ dataset: {}
395
+ };
396
+ }
397
+ if (Taro.getEnv() === Taro.ENV_TYPE.MPHARMONY || Taro.getEnv() === Taro.ENV_TYPE.WEB) {
398
+ if (target.fullDataset) {
399
+ return {
400
+ dataset: target.fullDataset
401
+ };
402
+ }
403
+ var fullDataset = {};
404
+ // 获取元素的所有属性
405
+ var targetAttrKeys = Object.keys(target);
406
+ // 遍历所有属性
407
+ for (var i = 0; i < targetAttrKeys.length; i++) {
408
+ if (targetAttrKeys[i].startsWith('data-')) {
409
+ fullDataset[toCamelCase(targetAttrKeys[i].replace(/^data-/, '').toLowerCase())] = target[targetAttrKeys[i]];
410
+ }
411
+ }
412
+ target.fullDataset = fullDataset;
413
+ return {
414
+ dataset: fullDataset
415
+ };
416
+ }
417
+ return target;
418
+ };
419
+
346
420
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
347
421
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
348
422
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
@@ -370,7 +444,7 @@ function withWeapp(weappConf) {
370
444
  }
371
445
  return function (ConnectComponent) {
372
446
  var _a;
373
- var behaviorMap = new Map([['properties', []], ['data', []], ['methods', []], ['created', []], ['attached', []], ['ready', []], ['detached', []]]);
447
+ var behaviorMap = new Map([['properties', []], ['data', []], ['methods', []], ['created', []], ['attached', []], ['ready', []], ['detached', []], ['lifetimes', []]]);
374
448
  var behaviorProperties = {};
375
449
  if ((_a = weappConf.behaviors) === null || _a === void 0 ? void 0 : _a.length) {
376
450
  var behaviors = weappConf.behaviors;
@@ -664,6 +738,13 @@ function withWeapp(weappConf) {
664
738
  }
665
739
  });
666
740
  break;
741
+ case 'lifetimes':
742
+ list.forEach(function (lifetimesObject) {
743
+ for (var _key4 in lifetimesObject) {
744
+ _this2.initLifeCycles(_key4, lifetimesObject[_key4]);
745
+ }
746
+ });
747
+ break;
667
748
  default:
668
749
  break;
669
750
  }
@@ -691,8 +772,8 @@ function withWeapp(weappConf) {
691
772
  if (this.current.page.onReady.called) {
692
773
  this.didMounts.push(function () {
693
774
  var _this3 = this;
694
- for (var _len2 = arguments.length, args = new Array(_len2), _key4 = 0; _key4 < _len2; _key4++) {
695
- args[_key4] = arguments[_key4];
775
+ for (var _len2 = arguments.length, args = new Array(_len2), _key5 = 0; _key5 < _len2; _key5++) {
776
+ args[_key5] = arguments[_key5];
696
777
  }
697
778
  taro.nextTick(function () {
698
779
  if (isFunction(lifecycle)) {
@@ -748,8 +829,8 @@ function withWeapp(weappConf) {
748
829
  }, {
749
830
  key: "executeLifeCycles",
750
831
  value: function executeLifeCycles(funcs) {
751
- for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key5 = 1; _key5 < _len3; _key5++) {
752
- args[_key5 - 1] = arguments[_key5];
832
+ for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key6 = 1; _key6 < _len3; _key6++) {
833
+ args[_key6 - 1] = arguments[_key6];
753
834
  }
754
835
  for (var i = 0; i < funcs.length; i++) {
755
836
  var func = funcs[i];
@@ -916,6 +997,13 @@ function withWeapp(weappConf) {
916
997
  var page = _this5.current.page;
917
998
  if (page === null || page === void 0 ? void 0 : page[method]) {
918
999
  return page[method].apply(page, arguments);
1000
+ } else if (method === 'createSelectorQuery') {
1001
+ return taro.createSelectorQuery();
1002
+ } else if (method === 'createIntersectionObserver') {
1003
+ // @ts-ignore
1004
+ return taro.createIntersectionObserver.apply(void 0, arguments);
1005
+ } else if (method === 'createMediaQueryObserver') {
1006
+ return taro.createMediaQueryObserver();
919
1007
  } else {
920
1008
  console.error("page \u4E0B\u6CA1\u6709 ".concat(method, " \u65B9\u6CD5"));
921
1009
  }
@@ -967,5 +1055,8 @@ function withWeapp(weappConf) {
967
1055
  };
968
1056
  }
969
1057
 
1058
+ exports.cacheOptions = cacheOptions;
1059
+ exports.convertToArray = convertToArray;
970
1060
  exports["default"] = withWeapp;
1061
+ exports.getTarget = getTarget;
971
1062
  //# sourceMappingURL=index.js.map