@tarojs/with-weapp 3.8.0-canary.0 → 4.0.0-alpha.0
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 +143 -21
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +144 -19
- package/dist/index.js.map +1 -1
- package/dist/with-weapp.js +144 -19
- package/dist/with-weapp.js.map +1 -1
- package/package.json +15 -8
- package/src/convert-tools.ts +69 -0
- package/src/index.ts +72 -20
package/dist/with-weapp.js
CHANGED
|
@@ -331,6 +331,80 @@
|
|
|
331
331
|
});
|
|
332
332
|
}
|
|
333
333
|
|
|
334
|
+
/**
|
|
335
|
+
* 该模块仅存放 convert 转换时用到的工具函数或变量
|
|
336
|
+
*/
|
|
337
|
+
var cacheOptions = {
|
|
338
|
+
cacheOptions: {},
|
|
339
|
+
setOptionsToCache: function setOptionsToCache(options) {
|
|
340
|
+
if (Object.keys(options).length !== 0) {
|
|
341
|
+
this.cacheOptions = options;
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
getOptionsFromCache: function getOptionsFromCache() {
|
|
345
|
+
return this.cacheOptions;
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
function toCamelCase(s) {
|
|
349
|
+
var camel = '';
|
|
350
|
+
var nextCap = false;
|
|
351
|
+
for (var i = 0; i < s.length; i++) {
|
|
352
|
+
if (s[i] !== '-') {
|
|
353
|
+
camel += nextCap ? s[i].toUpperCase() : s[i];
|
|
354
|
+
nextCap = false;
|
|
355
|
+
} else {
|
|
356
|
+
nextCap = true;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
return camel;
|
|
360
|
+
}
|
|
361
|
+
var convertToArray = function convertToArray(value, fn) {
|
|
362
|
+
if (value instanceof Array) {
|
|
363
|
+
return value.map(fn);
|
|
364
|
+
} else if (typeof value === 'number') {
|
|
365
|
+
return Array.from({
|
|
366
|
+
length: value
|
|
367
|
+
}, function (_, index) {
|
|
368
|
+
return index;
|
|
369
|
+
}).map(fn);
|
|
370
|
+
} else if (typeof value === 'string') {
|
|
371
|
+
return Array.from(value).map(fn);
|
|
372
|
+
} else if (_typeof__default["default"](value) === 'object' && value !== null && Object.getPrototypeOf(value) === Object.prototype) {
|
|
373
|
+
var result = Object.keys(value).map(function (item) {
|
|
374
|
+
return fn(value[item], item);
|
|
375
|
+
});
|
|
376
|
+
return result;
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
var getTarget = function getTarget(target, Taro) {
|
|
380
|
+
if (!target) {
|
|
381
|
+
return {
|
|
382
|
+
dataset: {}
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
if (Taro.getEnv() === Taro.ENV_TYPE.MPHARMONY || Taro.getEnv() === Taro.ENV_TYPE.WEB) {
|
|
386
|
+
if (target.fullDataset) {
|
|
387
|
+
return {
|
|
388
|
+
dataset: target.fullDataset
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
var fullDataset = {};
|
|
392
|
+
// 获取元素的所有属性
|
|
393
|
+
var targetAttrKeys = Object.keys(target);
|
|
394
|
+
// 遍历所有属性
|
|
395
|
+
for (var i = 0; i < targetAttrKeys.length; i++) {
|
|
396
|
+
if (targetAttrKeys[i].startsWith('data-')) {
|
|
397
|
+
fullDataset[toCamelCase(targetAttrKeys[i].replace(/^data-/, '').toLowerCase())] = target[targetAttrKeys[i]];
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
target.fullDataset = fullDataset;
|
|
401
|
+
return {
|
|
402
|
+
dataset: fullDataset
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
return target;
|
|
406
|
+
};
|
|
407
|
+
|
|
334
408
|
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; } } }; }
|
|
335
409
|
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); }
|
|
336
410
|
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; }
|
|
@@ -344,10 +418,18 @@
|
|
|
344
418
|
if (getter === 'props') {
|
|
345
419
|
return component.props;
|
|
346
420
|
}
|
|
347
|
-
return
|
|
421
|
+
return component.state;
|
|
422
|
+
// return {
|
|
423
|
+
// ...component.state,
|
|
424
|
+
// ...component.props
|
|
425
|
+
// }
|
|
348
426
|
}
|
|
349
427
|
});
|
|
350
428
|
}
|
|
429
|
+
|
|
430
|
+
function propToState(newValue, _oldValue, key) {
|
|
431
|
+
this.state[key] = newValue;
|
|
432
|
+
}
|
|
351
433
|
function isFunction(o) {
|
|
352
434
|
return typeof o === 'function';
|
|
353
435
|
}
|
|
@@ -358,7 +440,7 @@
|
|
|
358
440
|
}
|
|
359
441
|
return function (ConnectComponent) {
|
|
360
442
|
var _a;
|
|
361
|
-
var behaviorMap = new Map([['properties', []], ['data', []], ['methods', []], ['created', []], ['attached', []], ['ready', []], ['detached', []]]);
|
|
443
|
+
var behaviorMap = new Map([['properties', []], ['data', []], ['methods', []], ['created', []], ['attached', []], ['ready', []], ['detached', []], ['lifetimes', []]]);
|
|
362
444
|
var behaviorProperties = {};
|
|
363
445
|
if ((_a = weappConf.behaviors) === null || _a === void 0 ? void 0 : _a.length) {
|
|
364
446
|
var behaviors = weappConf.behaviors;
|
|
@@ -473,20 +555,44 @@
|
|
|
473
555
|
_createClass__default["default"](BaseComponent, [{
|
|
474
556
|
key: "initProps",
|
|
475
557
|
value: function initProps(props) {
|
|
558
|
+
var properties = {};
|
|
476
559
|
for (var propKey in props) {
|
|
477
560
|
if (props.hasOwnProperty(propKey)) {
|
|
478
561
|
var propValue = props[propKey];
|
|
479
562
|
// propValue 可能是 null, 构造函数, 对象
|
|
480
|
-
|
|
563
|
+
var observers = [propToState];
|
|
564
|
+
if (propValue === null || propValue === undefined) {
|
|
565
|
+
// propValue为null、undefined情况
|
|
566
|
+
properties[propKey] = null;
|
|
567
|
+
} else if (isFunction(propValue)) {
|
|
568
|
+
// propValue为Function,即Array、String、Boolean等情况时
|
|
569
|
+
if (propValue.name === 'Array') {
|
|
570
|
+
properties[propKey] = [];
|
|
571
|
+
} else if (propValue.name === 'String') {
|
|
572
|
+
properties[propKey] = '';
|
|
573
|
+
} else if (propValue.name === 'Boolean') {
|
|
574
|
+
properties[propKey] = false;
|
|
575
|
+
} else if (propValue.name === 'Number') {
|
|
576
|
+
properties[propKey] = 0;
|
|
577
|
+
} else {
|
|
578
|
+
properties[propKey] = null;
|
|
579
|
+
}
|
|
580
|
+
} else if (_typeof__default["default"](propValue) === 'object') {
|
|
581
|
+
// propValue为对象时
|
|
582
|
+
properties[propKey] = propValue.value;
|
|
481
583
|
if (propValue.observer) {
|
|
482
|
-
|
|
483
|
-
name: propKey,
|
|
484
|
-
observer: propValue.observer
|
|
485
|
-
});
|
|
584
|
+
observers.push(propValue.observer);
|
|
486
585
|
}
|
|
586
|
+
} else {
|
|
587
|
+
properties[propKey] = null;
|
|
487
588
|
}
|
|
589
|
+
this._observeProps.push({
|
|
590
|
+
name: propKey,
|
|
591
|
+
observers: observers
|
|
592
|
+
});
|
|
488
593
|
}
|
|
489
594
|
}
|
|
595
|
+
this.state = Object.assign(Object.assign({}, properties), this.state);
|
|
490
596
|
}
|
|
491
597
|
}, {
|
|
492
598
|
key: "init",
|
|
@@ -652,6 +758,13 @@
|
|
|
652
758
|
}
|
|
653
759
|
});
|
|
654
760
|
break;
|
|
761
|
+
case 'lifetimes':
|
|
762
|
+
list.forEach(function (lifetimesObject) {
|
|
763
|
+
for (var _key4 in lifetimesObject) {
|
|
764
|
+
_this2.initLifeCycles(_key4, lifetimesObject[_key4]);
|
|
765
|
+
}
|
|
766
|
+
});
|
|
767
|
+
break;
|
|
655
768
|
default:
|
|
656
769
|
break;
|
|
657
770
|
}
|
|
@@ -679,8 +792,8 @@
|
|
|
679
792
|
if (this.current.page.onReady.called) {
|
|
680
793
|
this.didMounts.push(function () {
|
|
681
794
|
var _this3 = this;
|
|
682
|
-
for (var _len2 = arguments.length, args = new Array(_len2),
|
|
683
|
-
args[
|
|
795
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key5 = 0; _key5 < _len2; _key5++) {
|
|
796
|
+
args[_key5] = arguments[_key5];
|
|
684
797
|
}
|
|
685
798
|
taro.nextTick(function () {
|
|
686
799
|
if (isFunction(lifecycle)) {
|
|
@@ -736,8 +849,8 @@
|
|
|
736
849
|
}, {
|
|
737
850
|
key: "executeLifeCycles",
|
|
738
851
|
value: function executeLifeCycles(funcs) {
|
|
739
|
-
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0),
|
|
740
|
-
args[
|
|
852
|
+
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key6 = 1; _key6 < _len3; _key6++) {
|
|
853
|
+
args[_key6 - 1] = arguments[_key6];
|
|
741
854
|
}
|
|
742
855
|
for (var i = 0; i < funcs.length; i++) {
|
|
743
856
|
var func = funcs[i];
|
|
@@ -750,19 +863,21 @@
|
|
|
750
863
|
var _this4 = this;
|
|
751
864
|
this._observeProps.forEach(function (_ref) {
|
|
752
865
|
var key = _ref.name,
|
|
753
|
-
|
|
866
|
+
observers = _ref.observers;
|
|
754
867
|
var prop = prevProps === null || prevProps === void 0 ? void 0 : prevProps[key];
|
|
755
868
|
var nextProp = nextProps[key];
|
|
756
869
|
// 小程序是深比较不同之后才 trigger observer
|
|
757
870
|
if (!isEqual(prop, nextProp)) {
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
ob
|
|
871
|
+
observers.forEach(function (observer) {
|
|
872
|
+
if (typeof observer === 'string') {
|
|
873
|
+
var ob = _this4[observer];
|
|
874
|
+
if (isFunction(ob)) {
|
|
875
|
+
ob.call(_this4, nextProp, prop, key);
|
|
876
|
+
}
|
|
877
|
+
} else if (isFunction(observer)) {
|
|
878
|
+
observer.call(_this4, nextProp, prop, key);
|
|
762
879
|
}
|
|
763
|
-
}
|
|
764
|
-
observer.call(_this4, nextProp, prop, key);
|
|
765
|
-
}
|
|
880
|
+
});
|
|
766
881
|
}
|
|
767
882
|
});
|
|
768
883
|
}
|
|
@@ -904,6 +1019,13 @@
|
|
|
904
1019
|
var page = _this5.current.page;
|
|
905
1020
|
if (page === null || page === void 0 ? void 0 : page[method]) {
|
|
906
1021
|
return page[method].apply(page, arguments);
|
|
1022
|
+
} else if (method === 'createSelectorQuery') {
|
|
1023
|
+
return taro.createSelectorQuery();
|
|
1024
|
+
} else if (method === 'createIntersectionObserver') {
|
|
1025
|
+
// @ts-ignore
|
|
1026
|
+
return taro.createIntersectionObserver.apply(void 0, arguments);
|
|
1027
|
+
} else if (method === 'createMediaQueryObserver') {
|
|
1028
|
+
return taro.createMediaQueryObserver();
|
|
907
1029
|
} else {
|
|
908
1030
|
console.error("page \u4E0B\u6CA1\u6709 ".concat(method, " \u65B9\u6CD5"));
|
|
909
1031
|
}
|
|
@@ -955,7 +1077,10 @@
|
|
|
955
1077
|
};
|
|
956
1078
|
}
|
|
957
1079
|
|
|
1080
|
+
exports.cacheOptions = cacheOptions;
|
|
1081
|
+
exports.convertToArray = convertToArray;
|
|
958
1082
|
exports["default"] = withWeapp;
|
|
1083
|
+
exports.getTarget = getTarget;
|
|
959
1084
|
|
|
960
1085
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
961
1086
|
|
package/dist/with-weapp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-weapp.js","sources":["../src/lifecycle.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":["interface LifecycleMap {\n [key: string]: string[]\n}\n\nexport enum TaroLifeCycles {\n WillMount = 'componentWillMount',\n DidMount = 'componentDidMount',\n DidShow = 'componentDidShow',\n DidHide = 'componentDidHide',\n WillUnmount = 'componentWillUnmount'\n}\n\nexport const lifecycleMap: LifecycleMap = {\n [TaroLifeCycles.WillMount]: ['created'],\n [TaroLifeCycles.DidMount]: ['attached'],\n [TaroLifeCycles.DidShow]: ['onShow'],\n [TaroLifeCycles.DidHide]: ['onHide'],\n [TaroLifeCycles.WillUnmount]: ['detached', 'onUnload']\n}\n\nexport const lifecycles = new Set<string>(['ready'])\n\nfor (const key in lifecycleMap) {\n const lifecycle = lifecycleMap[key]\n lifecycle.forEach(l => lifecycles.add(l))\n}\n\nexport const uniquePageLifecycle = [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onShareAppMessage',\n 'onShareTimeline',\n 'onAddToFavorites',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap'\n]\n\nexport const appOptions = [\n 'onLaunch',\n 'onShow',\n 'onHide',\n 'onError',\n 'onPageNotFound',\n 'onUnhandledRejection',\n 'onThemeChange'\n]\n","/**\n * Simple bind, faster than native\n */\nexport function bind (fn /*: Function */, ctx /*: Object */) /*: Function */ {\n if (!fn) return false\n\n function boundFn (a) {\n const l /*: number */ = arguments.length\n return l ? (l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a)) : fn.call(ctx)\n }\n\n // record original fn length\n boundFn._length = fn.length\n return boundFn\n}\n\nexport function isEqual (obj1, obj2) {\n return JSON.stringify(obj1) === JSON.stringify(obj2)\n}\n\nexport function noop (..._: unknown[]) {\n //\n}\n\nconst sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n}\n\nexport function proxy (target, sourceKey: string, key: string) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n }\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val\n }\n Object.defineProperty(target, key, sharedPropertyDefinition)\n}\n\nexport function safeGet (obj, propsArg, defaultValue?) {\n if (!obj) {\n return defaultValue\n }\n let props, prop\n if (Array.isArray(propsArg)) {\n props = propsArg.slice(0)\n }\n if (typeof propsArg === 'string') {\n props = propsArg.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof propsArg === 'symbol') {\n props = [propsArg]\n }\n if (!Array.isArray(props)) {\n throw new Error('props arg must be an array, a string or a symbol')\n }\n while (props.length) {\n prop = props.shift()\n if (!obj) {\n return defaultValue\n }\n obj = obj[prop]\n if (obj === undefined) {\n return defaultValue\n }\n }\n return obj\n}\n\nexport function safeSet (obj, props, value) {\n if (typeof props === 'string') {\n props = props.replace(/\\[(.+?)\\]/g, '.$1')\n props = props.split('.')\n }\n if (typeof props === 'symbol') {\n props = [props]\n }\n const lastProp = props.pop()\n if (!lastProp) {\n return false\n }\n let thisProp\n while ((thisProp = props.shift())) {\n if (typeof obj[thisProp] === 'undefined') {\n obj[thisProp] = {}\n }\n\n // 直接按路径修改 this.state 可能会导致 nextProps 也被修改\n // 因此按路径寻找时,每一层都复制一遍\n if (Array.isArray(obj[thisProp])) {\n obj[thisProp] = [...obj[thisProp]]\n } else if (typeof obj[thisProp] === 'object') {\n obj[thisProp] = { ...obj[thisProp] }\n }\n\n obj = obj[thisProp]\n if (!obj || typeof obj !== 'object') {\n return false\n }\n }\n obj[lastProp] = value\n return true\n}\n\nexport function report (msg) {\n console.warn('[Taro Convert Warning] ' + msg)\n}\n\nexport const nonsupport = new Map([\n ['onError', '不支持 App 的 onError 生命周期方法。'],\n ['onPageNotFound', '不支持 App 的 onPageNotFound 生命周期方法。'],\n ['onUnhandledRejection', '不支持 App 的 onUnhandledRejection 生命周期方法。'],\n ['onThemeChange', '不支持 App 的 onThemeChange 生命周期方法。'],\n ['moved', '不支持自定义组件的 moved 生命周期。'],\n ['externalClasses', '不支持自定义组件的 externalClasses 功能。'],\n ['relations', '不支持自定义组件的 relations 功能。'],\n ['options', '不支持自定义组件的 options 功能。'],\n ['definitionFilter', '不支持自定义组件的 definitionFilter 功能。'],\n ['selectComponent', 'selectComponent 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectAllComponents', 'selectAllComponents 方法产生不到目标效果,请使用 React 的 ref 进行重构。'],\n ['selectOwnerComponent', 'selectOwnerComponent 方法产生不到目标效果,请使用 React 语法重构。'],\n ['groupSetData', 'groupSetData 方法产生不到目标效果,请使用 React 语法重构。']\n])\n\nexport function flattenBehaviors (behavior, behaviorMap: Map<string, any[]>) {\n if (typeof behavior === 'string') {\n return report(`不支持使用内置 Behavior: [${behavior}]`)\n }\n const subBehaviors = behavior.behaviors\n if (subBehaviors?.length) {\n subBehaviors.forEach(subBehavior => flattenBehaviors(subBehavior, behaviorMap))\n }\n\n Object.keys(behavior).forEach(key => {\n // 不支持的属性\n if (nonsupport.has(key)) {\n const advise = nonsupport.get(key)\n return report(advise)\n }\n\n if (behaviorMap.has(key)) {\n const list = behaviorMap.get(key)!\n const value = behavior[key]\n list.push(value)\n }\n })\n}\n","import { Func, getCurrentInstance } from '@tarojs/runtime'\nimport { ComponentLifecycle, eventCenter, nextTick } from '@tarojs/taro'\n\nimport { clone } from './clone'\nimport { diff } from './diff'\nimport { appOptions, lifecycleMap, lifecycles, TaroLifeCycles, uniquePageLifecycle } from './lifecycle'\nimport { bind, flattenBehaviors, isEqual, nonsupport, report, safeGet, safeSet } from './utils'\n\ntype Observer = (newProps, oldProps, changePath: string) => void\n\ninterface ObserverProperties {\n name: string\n observer: string | Observer\n}\n\ninterface ComponentClass<P = Record<string, any>, S = Record<string, any>> extends ComponentLifecycle<P, S> {\n new (props: P)\n externalClasses: Record<string, unknown>\n defaultProps?: Partial<P>\n _observeProps?: ObserverProperties[]\n observers?: Record<string, Func>\n}\n\ninterface WxOptions {\n methods?: Record<string, Func>\n properties?: Record<string, Record<string, unknown> | Func>\n props?: Record<string, unknown>\n data?: Record<string, unknown>\n observers?: Record<string, Func>\n lifetimes?: Record<string, Func>\n behaviors?: any[]\n}\n\nfunction defineGetter (component, key: string, getter: string) {\n Object.defineProperty(component, key, {\n enumerable: true,\n configurable: true,\n get: () => {\n if (getter === 'props') {\n return component.props\n }\n return {\n ...component.state,\n ...component.props\n }\n }\n })\n}\n\nfunction isFunction (o): o is Func {\n return typeof o === 'function'\n}\n\nexport default function withWeapp (weappConf: WxOptions, isApp = false) {\n if (typeof weappConf === 'object' && Object.keys(weappConf).length === 0) {\n report('withWeapp 请传入“App/页面/组件“的配置对象。如果原生写法使用了基类,请将基类组合后的配置对象传入,详情请参考文档。')\n }\n return (ConnectComponent: ComponentClass<any, any>) => {\n const behaviorMap = new Map<string, any[]>([\n ['properties', []],\n ['data', []],\n ['methods', []],\n ['created', []],\n ['attached', []],\n ['ready', []],\n ['detached', []]\n ])\n const behaviorProperties = {}\n if (weappConf.behaviors?.length) {\n const { behaviors } = weappConf\n behaviors.forEach(behavior => flattenBehaviors(behavior, behaviorMap))\n\n const propertiesList = behaviorMap.get('properties')!\n if (propertiesList.length) {\n propertiesList.forEach(property => {\n Object.assign(behaviorProperties, property)\n })\n Object.keys(behaviorProperties).forEach(propName => {\n const propValue = behaviorProperties[propName]\n if (!weappConf.properties) {\n weappConf.properties = {}\n }\n if (!weappConf.properties.hasOwnProperty(propName)) {\n if (propValue && typeof propValue === 'object' && propValue.value) {\n propValue.value = clone(propValue.value)\n }\n weappConf.properties[propName] = propValue\n }\n })\n }\n }\n\n class BaseComponent<P = Record<string, any>, S 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":"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.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 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'"],"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","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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/with-weapp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-alpha.0",
|
|
4
4
|
"description": "taroize 之后的运行时",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -18,18 +18,18 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@babel/runtime": "^7.14.5",
|
|
20
20
|
"lodash": "^4.17.21",
|
|
21
|
-
"@tarojs/runtime": "
|
|
22
|
-
"@tarojs/taro": "
|
|
21
|
+
"@tarojs/runtime": "4.0.0-alpha.0",
|
|
22
|
+
"@tarojs/taro": "4.0.0-alpha.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@babel/core": "^7.14.5",
|
|
26
|
-
"@rollup/plugin-babel": "^
|
|
27
|
-
"@rollup/plugin-commonjs": "^
|
|
28
|
-
"@rollup/plugin-node-resolve": "^
|
|
26
|
+
"@rollup/plugin-babel": "^6.0.3",
|
|
27
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
28
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
29
29
|
"@types/sinon": "^7.5.0",
|
|
30
30
|
"jest": "^29.3.1",
|
|
31
31
|
"jest-cli": "^29.3.1",
|
|
32
|
-
"jest-environment-jsdom": "^29.
|
|
32
|
+
"jest-environment-jsdom": "^29.6.4",
|
|
33
33
|
"jsdom": "^21.1.0",
|
|
34
34
|
"rollup": "^2.79.0",
|
|
35
35
|
"rollup-plugin-ts": "^3.0.2",
|
|
@@ -37,9 +37,16 @@
|
|
|
37
37
|
"ts-jest": "^29.0.5",
|
|
38
38
|
"typescript": "^4.7.4"
|
|
39
39
|
},
|
|
40
|
+
"exports": {
|
|
41
|
+
".": "./dist/index.esm.js"
|
|
42
|
+
},
|
|
40
43
|
"scripts": {
|
|
41
44
|
"build": "rollup -c rollup.config.js",
|
|
42
45
|
"dev": "rollup -c -w rollup.config.js",
|
|
43
|
-
"tsc": "tsc"
|
|
46
|
+
"tsc": "tsc",
|
|
47
|
+
"lint": "eslint src --ext .js --ext .jsx --ext .ts --ext .tsx",
|
|
48
|
+
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx}\" && eslint src --ext .js --ext .jsx --ext .ts --ext .tsx --fix",
|
|
49
|
+
"test": "jest",
|
|
50
|
+
"test:coverage": "jest --coverage"
|
|
44
51
|
}
|
|
45
52
|
}
|