@boteteam/utils 0.0.28 → 0.0.30
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/README.md +23 -23
- package/dist/cjs/CookieUtils.js.map +1 -1
- package/dist/cjs/asyncStorage.js.map +1 -1
- package/dist/cjs/environment.js.map +1 -1
- package/dist/cjs/file.js.map +1 -1
- package/dist/cjs/fileToBase64.js.map +1 -1
- package/dist/cjs/formatModule/formatModuleData.js +99 -9
- package/dist/cjs/formatModule/formatModuleData.js.map +2 -2
- package/dist/cjs/formatModule/helpers/formRulsRegMap.js.map +1 -1
- package/dist/cjs/formatModule/helpers/formatCarouselProps.js.map +1 -1
- package/dist/cjs/formatModule/helpers/formatChartsProps.js.map +1 -1
- package/dist/cjs/formatModule/helpers/formatControlBtn.d.ts +8 -0
- package/dist/cjs/formatModule/helpers/formatControlBtn.js +67 -0
- package/dist/cjs/formatModule/helpers/formatControlBtn.js.map +7 -0
- package/dist/cjs/formatModule/helpers/formatDescriptionsProps.js.map +1 -1
- package/dist/cjs/formatModule/helpers/formatEchartCommonProps.js.map +1 -1
- package/dist/cjs/formatModule/helpers/formatEchartLineProps.js.map +1 -1
- package/dist/cjs/formatModule/helpers/formatEchartPieProps.js.map +1 -1
- package/dist/cjs/formatModule/helpers/formatFormProps.d.ts +4 -1
- package/dist/cjs/formatModule/helpers/formatFormProps.js +51 -28
- package/dist/cjs/formatModule/helpers/formatFormProps.js.map +2 -2
- package/dist/cjs/formatModule/helpers/formatHighCodeProps.js.map +1 -1
- package/dist/cjs/formatModule/helpers/formatIconProps.d.ts +16 -0
- package/dist/cjs/formatModule/helpers/formatIconProps.js +49 -0
- package/dist/cjs/formatModule/helpers/formatIconProps.js.map +7 -0
- package/dist/cjs/formatModule/helpers/formatImageProps.js.map +1 -1
- package/dist/cjs/formatModule/helpers/formatListProps.js +69 -44
- package/dist/cjs/formatModule/helpers/formatListProps.js.map +3 -3
- package/dist/cjs/formatModule/helpers/formatLoopProps.d.ts +26 -2
- package/dist/cjs/formatModule/helpers/formatLoopProps.js +17 -10
- package/dist/cjs/formatModule/helpers/formatLoopProps.js.map +3 -3
- package/dist/cjs/formatModule/helpers/formatPanelProps.d.ts +8 -0
- package/dist/cjs/formatModule/helpers/formatPanelProps.js +67 -0
- package/dist/cjs/formatModule/helpers/formatPanelProps.js.map +7 -0
- package/dist/cjs/formatModule/helpers/formatStepsProps.js.map +1 -1
- package/dist/cjs/formatModule/helpers/formatStyleProps.js.map +1 -1
- package/dist/cjs/formatModule/helpers/formatTableProps.d.ts +5 -0
- package/dist/cjs/formatModule/helpers/formatTableProps.js +20 -0
- package/dist/cjs/formatModule/helpers/formatTableProps.js.map +3 -3
- package/dist/cjs/formatModule/helpers/index.d.ts +4 -1
- package/dist/cjs/formatModule/helpers/index.js +9 -0
- package/dist/cjs/formatModule/helpers/index.js.map +3 -3
- package/dist/cjs/formatModule/helpers/patternTransitionRegExp.js.map +1 -1
- package/dist/cjs/formatModule/helpers/staticCodeAssemble.js.map +1 -1
- package/dist/cjs/formatModule/helpers/stringPramarsValTransition.js.map +1 -1
- package/dist/cjs/formatModule/helpers/stringScriptExecution.js.map +1 -1
- package/dist/cjs/formatModule/helpers/urlPrefix.js.map +1 -1
- package/dist/cjs/getValueByPath.d.ts +10 -0
- package/dist/cjs/getValueByPath.js +69 -0
- package/dist/cjs/getValueByPath.js.map +7 -0
- package/dist/cjs/http.d.ts +8 -0
- package/dist/cjs/http.js +37 -1
- package/dist/cjs/http.js.map +2 -2
- package/dist/cjs/index.d.ts +5 -2
- package/dist/cjs/index.js +17 -0
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/loopPageServiceApiMap.d.ts +17 -0
- package/dist/cjs/loopPageServiceApiMap.js +54 -0
- package/dist/cjs/loopPageServiceApiMap.js.map +7 -0
- package/dist/cjs/loopPageStaticCodeMap.js.map +1 -1
- package/dist/cjs/markdownEscape.js.map +1 -1
- package/dist/cjs/pathArgsUtils.js.map +1 -1
- package/dist/cjs/scriptExecution.js.map +1 -1
- package/dist/cjs/securityUtils.js +1 -1
- package/dist/cjs/securityUtils.js.map +2 -2
- package/dist/cjs/stringUtils.js.map +1 -1
- package/dist/cjs/timeFormat.d.ts +44 -0
- package/dist/cjs/timeFormat.js +127 -0
- package/dist/cjs/timeFormat.js.map +7 -0
- package/dist/cjs/treeUtils.js.map +1 -1
- package/dist/cjs/watchMatchMedia.js.map +1 -1
- package/dist/esm/CookieUtils.js.map +1 -1
- package/dist/esm/asyncStorage.js +4 -4
- package/dist/esm/asyncStorage.js.map +1 -1
- package/dist/esm/environment.js +3 -3
- package/dist/esm/environment.js.map +1 -1
- package/dist/esm/file.js +32 -32
- package/dist/esm/file.js.map +1 -1
- package/dist/esm/fileToBase64.js +4 -4
- package/dist/esm/fileToBase64.js.map +1 -1
- package/dist/esm/formatModule/formatModuleData.js +118 -26
- package/dist/esm/formatModule/formatModuleData.js.map +1 -1
- package/dist/esm/formatModule/helpers/formRulsRegMap.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatCarouselProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatChartsProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatControlBtn.d.ts +8 -0
- package/dist/esm/formatModule/helpers/formatControlBtn.js +41 -0
- package/dist/esm/formatModule/helpers/formatControlBtn.js.map +1 -0
- package/dist/esm/formatModule/helpers/formatDescriptionsProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatEchartCommonProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatEchartLineProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatEchartPieProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatFormProps.d.ts +4 -1
- package/dist/esm/formatModule/helpers/formatFormProps.js +93 -31
- package/dist/esm/formatModule/helpers/formatFormProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatHighCodeProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatIconProps.d.ts +16 -0
- package/dist/esm/formatModule/helpers/formatIconProps.js +25 -0
- package/dist/esm/formatModule/helpers/formatIconProps.js.map +1 -0
- package/dist/esm/formatModule/helpers/formatImageProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatListProps.js +69 -44
- package/dist/esm/formatModule/helpers/formatListProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatLoopProps.d.ts +26 -2
- package/dist/esm/formatModule/helpers/formatLoopProps.js +35 -7
- package/dist/esm/formatModule/helpers/formatLoopProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatPanelProps.d.ts +8 -0
- package/dist/esm/formatModule/helpers/formatPanelProps.js +41 -0
- package/dist/esm/formatModule/helpers/formatPanelProps.js.map +1 -0
- package/dist/esm/formatModule/helpers/formatStepsProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatStyleProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/formatTableProps.d.ts +5 -0
- package/dist/esm/formatModule/helpers/formatTableProps.js +12 -0
- package/dist/esm/formatModule/helpers/formatTableProps.js.map +1 -1
- package/dist/esm/formatModule/helpers/index.d.ts +4 -1
- package/dist/esm/formatModule/helpers/index.js +4 -1
- package/dist/esm/formatModule/helpers/index.js.map +1 -1
- package/dist/esm/formatModule/helpers/patternTransitionRegExp.js.map +1 -1
- package/dist/esm/formatModule/helpers/staticCodeAssemble.js +4 -4
- package/dist/esm/formatModule/helpers/staticCodeAssemble.js.map +1 -1
- package/dist/esm/formatModule/helpers/stringPramarsValTransition.js.map +1 -1
- package/dist/esm/formatModule/helpers/stringScriptExecution.js.map +1 -1
- package/dist/esm/formatModule/helpers/urlPrefix.js.map +1 -1
- package/dist/esm/getValueByPath.d.ts +10 -0
- package/dist/esm/getValueByPath.js +87 -0
- package/dist/esm/getValueByPath.js.map +1 -0
- package/dist/esm/http.d.ts +8 -0
- package/dist/esm/http.js +97 -58
- package/dist/esm/http.js.map +1 -1
- package/dist/esm/index.d.ts +5 -2
- package/dist/esm/index.js +5 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loopPageServiceApiMap.d.ts +17 -0
- package/dist/esm/loopPageServiceApiMap.js +40 -0
- package/dist/esm/loopPageServiceApiMap.js.map +1 -0
- package/dist/esm/loopPageStaticCodeMap.js.map +1 -1
- package/dist/esm/markdownEscape.js.map +1 -1
- package/dist/esm/pathArgsUtils.js +8 -8
- package/dist/esm/pathArgsUtils.js.map +1 -1
- package/dist/esm/scriptExecution.js.map +1 -1
- package/dist/esm/securityUtils.js +20 -20
- package/dist/esm/securityUtils.js.map +1 -1
- package/dist/esm/stringUtils.js.map +1 -1
- package/dist/esm/timeFormat.d.ts +44 -0
- package/dist/esm/timeFormat.js +121 -0
- package/dist/esm/timeFormat.js.map +1 -0
- package/dist/esm/treeUtils.js +8 -8
- package/dist/esm/treeUtils.js.map +1 -1
- package/dist/esm/watchMatchMedia.js.map +1 -1
- package/dist/umd/index.min.js +1 -1
- package/dist/umd/index.min.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
4
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import dayjs from 'dayjs';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 时间格式化工具类
|
|
11
|
+
* 基于dayjs实现时间格式化功能
|
|
12
|
+
*/
|
|
13
|
+
export var TimeFormatUtils = /*#__PURE__*/function () {
|
|
14
|
+
function TimeFormatUtils() {
|
|
15
|
+
_classCallCheck(this, TimeFormatUtils);
|
|
16
|
+
}
|
|
17
|
+
_createClass(TimeFormatUtils, null, [{
|
|
18
|
+
key: "formatTime",
|
|
19
|
+
value:
|
|
20
|
+
/**
|
|
21
|
+
* 格式化时间显示
|
|
22
|
+
* 如果是当天,返回 HH:mm 格式
|
|
23
|
+
* 如果不是当天,返回 yyyy-MM-dd HH:mm 格式
|
|
24
|
+
*
|
|
25
|
+
* @param time 时间参数,可以是字符串、Date对象、dayjs对象或时间戳
|
|
26
|
+
* @returns 格式化后的时间字符串
|
|
27
|
+
*/
|
|
28
|
+
function formatTime(time) {
|
|
29
|
+
var targetTime = dayjs(time);
|
|
30
|
+
var now = dayjs();
|
|
31
|
+
|
|
32
|
+
// 检查是否是同一天
|
|
33
|
+
if (targetTime.isSame(now, 'day')) {
|
|
34
|
+
// 当天,返回 HH:mm 格式
|
|
35
|
+
return targetTime.format('HH:mm');
|
|
36
|
+
}
|
|
37
|
+
// 不是当天,返回 yyyy-MM-dd HH:mm 格式
|
|
38
|
+
return targetTime.format('YYYY-MM-DD HH:mm');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* 格式化时间显示(支持自定义格式)
|
|
43
|
+
*
|
|
44
|
+
* @param time 时间参数
|
|
45
|
+
* @param sameDayFormat 当天的格式,默认为 'HH:mm'
|
|
46
|
+
* @param otherDayFormat 非当天的格式,默认为 'YYYY-MM-DD HH:mm'
|
|
47
|
+
* @returns 格式化后的时间字符串
|
|
48
|
+
*/
|
|
49
|
+
}, {
|
|
50
|
+
key: "formatTimeCustom",
|
|
51
|
+
value: function formatTimeCustom(time) {
|
|
52
|
+
var sameDayFormat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'HH:mm';
|
|
53
|
+
var otherDayFormat = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'YYYY-MM-DD HH:mm';
|
|
54
|
+
var targetTime = dayjs(time);
|
|
55
|
+
var now = dayjs();
|
|
56
|
+
if (targetTime.isSame(now, 'day')) {
|
|
57
|
+
return targetTime.format(sameDayFormat);
|
|
58
|
+
}
|
|
59
|
+
return targetTime.format(otherDayFormat);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* 检查时间是否是今天
|
|
64
|
+
*
|
|
65
|
+
* @param time 时间参数
|
|
66
|
+
* @returns 是否是今天
|
|
67
|
+
*/
|
|
68
|
+
}, {
|
|
69
|
+
key: "isToday",
|
|
70
|
+
value: function isToday(time) {
|
|
71
|
+
var targetTime = dayjs(time);
|
|
72
|
+
var now = dayjs();
|
|
73
|
+
return targetTime.isSame(now, 'day');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* 获取相对时间描述
|
|
78
|
+
* 如:刚刚、5分钟前、2小时前、昨天、3天前等
|
|
79
|
+
*
|
|
80
|
+
* @param time 时间参数
|
|
81
|
+
* @returns 相对时间描述
|
|
82
|
+
*/
|
|
83
|
+
}, {
|
|
84
|
+
key: "getRelativeTime",
|
|
85
|
+
value: function getRelativeTime(time) {
|
|
86
|
+
var targetTime = dayjs(time);
|
|
87
|
+
var now = dayjs();
|
|
88
|
+
var diffInMinutes = now.diff(targetTime, 'minute');
|
|
89
|
+
var diffInHours = now.diff(targetTime, 'hour');
|
|
90
|
+
var diffInDays = now.diff(targetTime, 'day');
|
|
91
|
+
if (diffInMinutes < 1) {
|
|
92
|
+
return '刚刚';
|
|
93
|
+
}
|
|
94
|
+
if (diffInMinutes < 60) {
|
|
95
|
+
return "".concat(diffInMinutes, "\u5206\u949F\u524D");
|
|
96
|
+
}
|
|
97
|
+
if (diffInHours < 24) {
|
|
98
|
+
return "".concat(diffInHours, "\u5C0F\u65F6\u524D");
|
|
99
|
+
}
|
|
100
|
+
if (diffInDays === 1) {
|
|
101
|
+
return '昨天';
|
|
102
|
+
}
|
|
103
|
+
if (diffInDays < 7) {
|
|
104
|
+
return "".concat(diffInDays, "\u5929\u524D");
|
|
105
|
+
}
|
|
106
|
+
return targetTime.format('YYYY-MM-DD');
|
|
107
|
+
}
|
|
108
|
+
}]);
|
|
109
|
+
return TimeFormatUtils;
|
|
110
|
+
}();
|
|
111
|
+
|
|
112
|
+
// 导出便捷函数
|
|
113
|
+
var formatTime = TimeFormatUtils.formatTime;
|
|
114
|
+
export { formatTime };
|
|
115
|
+
var formatTimeCustom = TimeFormatUtils.formatTimeCustom;
|
|
116
|
+
export { formatTimeCustom };
|
|
117
|
+
var isToday = TimeFormatUtils.isToday;
|
|
118
|
+
export { isToday };
|
|
119
|
+
var getRelativeTime = TimeFormatUtils.getRelativeTime;
|
|
120
|
+
export { getRelativeTime };
|
|
121
|
+
//# sourceMappingURL=timeFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["dayjs","TimeFormatUtils","_classCallCheck","_createClass","key","value","formatTime","time","targetTime","now","isSame","format","formatTimeCustom","sameDayFormat","arguments","length","undefined","otherDayFormat","isToday","getRelativeTime","diffInMinutes","diff","diffInHours","diffInDays","concat"],"sources":["../../src/timeFormat.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\n/**\n * 时间格式化工具类\n * 基于dayjs实现时间格式化功能\n */\nexport class TimeFormatUtils {\n /**\n * 格式化时间显示\n * 如果是当天,返回 HH:mm 格式\n * 如果不是当天,返回 yyyy-MM-dd HH:mm 格式\n *\n * @param time 时间参数,可以是字符串、Date对象、dayjs对象或时间戳\n * @returns 格式化后的时间字符串\n */\n static formatTime(time: string | Date | dayjs.Dayjs | number): string {\n const targetTime = dayjs(time);\n const now = dayjs();\n \n // 检查是否是同一天\n if (targetTime.isSame(now, 'day')) {\n // 当天,返回 HH:mm 格式\n return targetTime.format('HH:mm');\n }\n // 不是当天,返回 yyyy-MM-dd HH:mm 格式\n return targetTime.format('YYYY-MM-DD HH:mm');\n }\n\n /**\n * 格式化时间显示(支持自定义格式)\n *\n * @param time 时间参数\n * @param sameDayFormat 当天的格式,默认为 'HH:mm'\n * @param otherDayFormat 非当天的格式,默认为 'YYYY-MM-DD HH:mm'\n * @returns 格式化后的时间字符串\n */\n static formatTimeCustom(\n time: string | Date | dayjs.Dayjs | number,\n sameDayFormat: string = 'HH:mm',\n otherDayFormat: string = 'YYYY-MM-DD HH:mm'\n ): string {\n const targetTime = dayjs(time);\n const now = dayjs();\n \n if (targetTime.isSame(now, 'day')) {\n return targetTime.format(sameDayFormat);\n }\n return targetTime.format(otherDayFormat);\n }\n\n /**\n * 检查时间是否是今天\n *\n * @param time 时间参数\n * @returns 是否是今天\n */\n static isToday(time: string | Date | dayjs.Dayjs | number): boolean {\n const targetTime = dayjs(time);\n const now = dayjs();\n return targetTime.isSame(now, 'day');\n }\n\n /**\n * 获取相对时间描述\n * 如:刚刚、5分钟前、2小时前、昨天、3天前等\n *\n * @param time 时间参数\n * @returns 相对时间描述\n */\n static getRelativeTime(time: string | Date | dayjs.Dayjs | number): string {\n const targetTime = dayjs(time);\n const now = dayjs();\n \n const diffInMinutes = now.diff(targetTime, 'minute');\n const diffInHours = now.diff(targetTime, 'hour');\n const diffInDays = now.diff(targetTime, 'day');\n \n if (diffInMinutes < 1) {\n return '刚刚';\n } if (diffInMinutes < 60) {\n return `${diffInMinutes}分钟前`;\n } if (diffInHours < 24) {\n return `${diffInHours}小时前`;\n } if (diffInDays === 1) {\n return '昨天';\n } if (diffInDays < 7) {\n return `${diffInDays}天前`;\n }\n return targetTime.format('YYYY-MM-DD');\n }\n}\n\n// 导出便捷函数\nexport const { formatTime } = TimeFormatUtils;\nexport const { formatTimeCustom } = TimeFormatUtils;\nexport const { isToday } = TimeFormatUtils;\nexport const { getRelativeTime } = TimeFormatUtils;\n"],"mappings":"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"}
|
package/dist/esm/treeUtils.js
CHANGED
|
@@ -209,14 +209,14 @@ var getParamsContentByParamKeysForEvent = function getParamsContentByParamKeysFo
|
|
|
209
209
|
return paramNameList.length > 0 ? loopNodeByParamsPath(paramNameList, data) || '' : paramNames;
|
|
210
210
|
};
|
|
211
211
|
|
|
212
|
-
/**
|
|
213
|
-
* 提供给事件参数转换那边的方法
|
|
214
|
-
* 和replaceParamsValue 区别,
|
|
215
|
-
* 1、不能去掉pageParams那一层
|
|
216
|
-
* 2、字符串拼对象,需要把对象做JSON.stringify转换
|
|
217
|
-
* 3、如果替换不成功,需要返回字符串原始的值
|
|
218
|
-
* @param contentStr "你好" ,"你$好, ${pageParams.userName}" , "${pageData}, ${pageParams.userList[0]}"
|
|
219
|
-
* @param data 数据
|
|
212
|
+
/**
|
|
213
|
+
* 提供给事件参数转换那边的方法
|
|
214
|
+
* 和replaceParamsValue 区别,
|
|
215
|
+
* 1、不能去掉pageParams那一层
|
|
216
|
+
* 2、字符串拼对象,需要把对象做JSON.stringify转换
|
|
217
|
+
* 3、如果替换不成功,需要返回字符串原始的值
|
|
218
|
+
* @param contentStr "你好" ,"你$好, ${pageParams.userName}" , "${pageData}, ${pageParams.userList[0]}"
|
|
219
|
+
* @param data 数据
|
|
220
220
|
*/
|
|
221
221
|
export var replaceParamsValueForEvent = function replaceParamsValueForEvent(contentStr) {
|
|
222
222
|
var _Object$keys2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["get","cloneDeep","escapeString","getDataArr","content","matchArr","_matchs","_matchArr","escapeRegex","regex","matchs","exec","split","_matchs2","filter","item","idx","includes","loopNodeByParamsPath","paramsArr","data","escape","arguments","length","undefined","Array","isArray","_iterator","_createForOfIteratorHelper","_step","_loop","_nextParamsArr5","keyword","value","dataNode","nextParamsArr","slice","_nextParamsArr","_nextParamsArr3","idxRegex","test","_nextParamsArr2","idxNum","replace","Number","Object","v","map","_nextParamsArr4","_ret","s","n","done","err","e","f","getParamsContentByParamKeys","paramNames","_Object$keys","keys","paramNameList","replaceLoopBodyParamsValue","contentStr","options","_ref","_ref$loopParams","loopParams","_ref$loopSourceArr","loopSourceArr","_ref$loopData","loopData","_ref$parameters","parameters","nowTemp","match","paramsPath","itemKey","filedVal","_parameters","forEach","sourceKey","replaceParamsValue","pararms","isObject2String","nowContent","_typeof","JSON","stringify","splitStringWithTemplateLiteral","input","templateRegex","matches","result","Boolean","index","splice","getParamsContentByParamKeysForEvent","_matchs$","replaceParamsValueForEvent","_Object$keys2","valueArr","_unused"],"sources":["../../src/treeUtils.ts"],"sourcesContent":["import { get, cloneDeep } from 'lodash';\r\nimport escapeString from './markdownEscape';\r\n\r\nexport const getDataArr = (content: string) => {\r\n let matchArr:string[] = [];\r\n if (content && typeof content === 'string') {\r\n const escapeRegex = /\\$\\{\\{([^}]+)\\}\\}/gi; // 变量正则表达式,${{xxx}}\r\n const regex = /\\$\\{(.+?)\\}/gi; // 变量正则表达式,${xxx}\r\n let matchs = escapeRegex.exec(content);\r\n if (matchs?.[1]) {\r\n matchArr = matchs[1].split('.');\r\n } else {\r\n matchs = regex.exec(content);\r\n if (matchs?.[1]) {\r\n matchArr = matchs[1].split('.');\r\n }\r\n }\r\n return matchArr?.filter((item, idx) => !(idx === 0 && ['root', 'pageParams'].includes(item)) && !(idx === 1 && ['pageParams'].includes(item))); // 过滤掉第一个root,pageParams\r\n }\r\n return matchArr;\r\n};\r\n\r\nconst loopNodeByParamsPath:any = (\r\n paramsArr:string[],\r\n data: {[key:string]: any},\r\n escape:boolean = false\r\n) => {\r\n if (Array.isArray(paramsArr) && paramsArr.length > 0) {\r\n for (const keyword of paramsArr) {\r\n const dataNode = get(data, keyword);\r\n let nextParamsArr = paramsArr.slice(1); // 取下一个节点字段\r\n if (Array.isArray(dataNode)) {\r\n // 如果当前节点是数组,且下一个节点是数字,则取下标对应的值\r\n const idxRegex = /^\\[.*\\]$|^\\d+$/;\r\n if (idxRegex.test(nextParamsArr?.[0])) {\r\n const idxNum = nextParamsArr?.[0].replace(/\\[|\\]/g, '');\r\n if (dataNode?.[Number(idxNum)] instanceof Object) {\r\n return loopNodeByParamsPath(nextParamsArr.slice(1), dataNode?.[Number(idxNum)], escape);\r\n }\r\n return escape ? escapeString(dataNode?.[Number(idxNum)]) : dataNode?.[Number(idxNum)];\r\n }\r\n // 否则或缺中间节点,直接往下取值\r\n nextParamsArr = nextParamsArr.slice(1);\r\n if (nextParamsArr?.length >= 1) {\r\n return dataNode.map((item:any) => {\r\n // 如果数组节点是对象,则继续递归取值\r\n if (item instanceof Object && nextParamsArr?.length >= 1) {\r\n return loopNodeByParamsPath(nextParamsArr, item, escape);\r\n }\r\n // 否则直接返回数组值\r\n return escape ? escapeString(item) : item;\r\n });\r\n }\r\n return dataNode;\r\n } if (nextParamsArr?.length >= 1) {\r\n return loopNodeByParamsPath(nextParamsArr, dataNode, escape);\r\n }\r\n return escape ? escapeString(dataNode) : dataNode;\r\n }\r\n }\r\n return '';\r\n};\r\n\r\n\r\nexport const getParamsContentByParamKeys = (paramNames: string, data: {[key:string]: any} = {}) => {\r\n if (!paramNames || !data || Object.keys(data)?.length <= 0) {\r\n return undefined;\r\n }\r\n const escapeRegex = /\\$\\{\\{([^}]+)\\}\\}/gi; // 匹配${{}}格式的参数,属于需转义内容\r\n const paramNameList = getDataArr(paramNames);\r\n return loopNodeByParamsPath(paramNameList, data, escapeRegex.test(paramNames));\r\n};\r\n\r\n// 获取替换循环体内的参数值\r\nexport const replaceLoopBodyParamsValue = (\r\n contentStr: string,\r\n options: {\r\n loopParams: { [key: string]: any } // 循环体参数\r\n loopSourceArr: string[], // 循环体数据源\r\n loopData: {[key: string]: any}[], // 循环数据源数据\r\n parameters?: {[key: string]: any}, // 全量参数\r\n staticCodeMap?: {[key: string]: any}, // 静态数据\r\n },\r\n) => {\r\n const {\r\n loopParams = {},\r\n loopSourceArr = [],\r\n loopData = [],\r\n parameters = {},\r\n } = options || {};\r\n let nowTemp = '';\r\n if (typeof contentStr === 'string' && contentStr && loopParams) {\r\n nowTemp = contentStr.replace(/\\$\\{(.+?)\\}/gi, (match) => {\r\n const paramsPath = getDataArr(match).filter((itemKey) => !loopSourceArr.includes(itemKey));\r\n let filedVal:any = '';\r\n // 如果当前节点是数组,且下一个节点是数字,则取下标对应的值\r\n const idxRegex = /^\\[.*\\]$|^\\d+$/;\r\n if (idxRegex.test(paramsPath?.[0])) {\r\n const idxNum = paramsPath?.[0].replace(/\\[|\\]/g, '');\r\n if (loopData?.[Number(idxNum)] instanceof Object) {\r\n filedVal = loopNodeByParamsPath(paramsPath.slice(1), loopData?.[Number(idxNum)]);\r\n } else {\r\n filedVal = loopData?.[Number(idxNum)] || '';\r\n }\r\n } else {\r\n filedVal = loopNodeByParamsPath(paramsPath.slice(1), loopParams);\r\n\r\n // 循环体内查找不到,则从参数中取值,但忽略循环体本身\r\n if (!filedVal && parameters) {\r\n const _parameters = cloneDeep(parameters);\r\n if (Array.isArray(loopSourceArr) && loopSourceArr.length > 0) {\r\n loopSourceArr.forEach((sourceKey:string) => {\r\n delete _parameters[sourceKey];\r\n });\r\n }\r\n const paramNameList = getDataArr(match);\r\n filedVal = loopNodeByParamsPath(paramNameList, _parameters);\r\n }\r\n }\r\n return filedVal || '';\r\n });\r\n }\r\n return nowTemp;\r\n};\r\n\r\nexport const replaceParamsValue = (\r\n contentStr: string,\r\n pararms: { [key: string]: any } = {},\r\n isObject2String: boolean = false,\r\n) => {\r\n let nowContent:string = '';\r\n if (typeof contentStr === 'string' && contentStr && pararms) {\r\n nowContent = contentStr.replace(/\\$\\{\\{?[^{}]+}?\\}/g, (match) => {\r\n const filedVal = getParamsContentByParamKeys(match, pararms);\r\n if (isObject2String && typeof filedVal === 'object') {\r\n return JSON.stringify(filedVal);\r\n }\r\n return filedVal || '';\r\n });\r\n }\r\n return nowContent;\r\n};\r\n\r\n\r\n/** ======下面几个方法主要提供给事件参数使用 勿共用 ===== */\r\nconst splitStringWithTemplateLiteral = (input: string) => {\r\n // 正则表达式:匹配 ${...} 模式\r\n const templateRegex = /\\$\\{[^}]*\\}/;\r\n\r\n // 检查字符串是否包含 ${...}\r\n if (!templateRegex.test(input)) {\r\n return [input]; // 返回原始字符串\r\n }\r\n\r\n // 匹配所有 ${...} 模式\r\n const matches = input.match(templateRegex);\r\n\r\n if (!matches || matches.length === 0) {\r\n return [input]; // 返回原始字符串\r\n }\r\n\r\n // 分割字符串,同时保留 ${...} 模式\r\n const result = input.split(templateRegex).filter(Boolean); // 去掉空字符串\r\n\r\n // 将匹配到的 ${...} 模式重新插入到结果数组中\r\n matches.forEach((match, index) => {\r\n result.splice(index * 2 + 1, 0, match); // 插入到对应位置\r\n });\r\n\r\n return result;\r\n};\r\n\r\nconst getParamsContentByParamKeysForEvent = (\r\n paramNames: string,\r\n data: { [key: string]: any } = {},\r\n) => {\r\n let paramNameList: string[] = [];\r\n const regex = /\\$\\{(.+?)\\}/gi; // 变量正则表达式,${xxx}\r\n if (paramNames && typeof paramNames === 'string') {\r\n const matchs = regex.exec(paramNames);\r\n if (matchs?.[1]) {\r\n paramNameList = matchs?.[1]?.split('.');\r\n }\r\n }\r\n\r\n // 如果替换不成功,需要返回字符串原始的值\r\n return paramNameList.length > 0\r\n ? loopNodeByParamsPath(paramNameList, data) || ''\r\n : paramNames;\r\n};\r\n\r\n\r\n/**\r\n * 提供给事件参数转换那边的方法\r\n * 和replaceParamsValue 区别,\r\n * 1、不能去掉pageParams那一层\r\n * 2、字符串拼对象,需要把对象做JSON.stringify转换\r\n * 3、如果替换不成功,需要返回字符串原始的值\r\n * @param contentStr \"你好\" ,\"你$好, ${pageParams.userName}\" , \"${pageData}, ${pageParams.userList[0]}\"\r\n * @param data 数据\r\n */\r\nexport const replaceParamsValueForEvent = (\r\n contentStr: string,\r\n data: { [key: string]: any } = {},\r\n) => {\r\n if (!contentStr || !data || Object.keys(data)?.length <= 0) {\r\n return undefined;\r\n }\r\n\r\n const valueArr = splitStringWithTemplateLiteral(contentStr);\r\n // 单个字符串, 没有拼接\r\n if (valueArr.length === 1) {\r\n return getParamsContentByParamKeysForEvent(valueArr[0], data);\r\n }\r\n\r\n\r\n let nowTemp = '';\r\n if (typeof contentStr === 'string' && contentStr && data) {\r\n nowTemp = contentStr.replace(/\\$\\{(.+?)\\}/g, (match) => {\r\n const filedVal = getParamsContentByParamKeysForEvent(match, data);\r\n if (typeof filedVal === 'string') {\r\n return filedVal;\r\n }\r\n // 字符串拼对象,需要把对象做JSON.stringify转换\r\n try {\r\n return JSON.stringify(filedVal);\r\n } catch {\r\n return '';\r\n }\r\n });\r\n }\r\n return nowTemp;\r\n};\r\n\r\n/** ======上面几个方法主要提供给事件参数使用 勿共用 ===== */\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["get","cloneDeep","escapeString","getDataArr","content","matchArr","_matchs","_matchArr","escapeRegex","regex","matchs","exec","split","_matchs2","filter","item","idx","includes","loopNodeByParamsPath","paramsArr","data","escape","arguments","length","undefined","Array","isArray","_iterator","_createForOfIteratorHelper","_step","_loop","_nextParamsArr5","keyword","value","dataNode","nextParamsArr","slice","_nextParamsArr","_nextParamsArr3","idxRegex","test","_nextParamsArr2","idxNum","replace","Number","Object","v","map","_nextParamsArr4","_ret","s","n","done","err","e","f","getParamsContentByParamKeys","paramNames","_Object$keys","keys","paramNameList","replaceLoopBodyParamsValue","contentStr","options","_ref","_ref$loopParams","loopParams","_ref$loopSourceArr","loopSourceArr","_ref$loopData","loopData","_ref$parameters","parameters","nowTemp","match","paramsPath","itemKey","filedVal","_parameters","forEach","sourceKey","replaceParamsValue","pararms","isObject2String","nowContent","_typeof","JSON","stringify","splitStringWithTemplateLiteral","input","templateRegex","matches","result","Boolean","index","splice","getParamsContentByParamKeysForEvent","_matchs$","replaceParamsValueForEvent","_Object$keys2","valueArr","_unused"],"sources":["../../src/treeUtils.ts"],"sourcesContent":["import { get, cloneDeep } from 'lodash';\nimport escapeString from './markdownEscape';\n\nexport const getDataArr = (content: string) => {\n let matchArr:string[] = [];\n if (content && typeof content === 'string') {\n const escapeRegex = /\\$\\{\\{([^}]+)\\}\\}/gi; // 变量正则表达式,${{xxx}}\n const regex = /\\$\\{(.+?)\\}/gi; // 变量正则表达式,${xxx}\n let matchs = escapeRegex.exec(content);\n if (matchs?.[1]) {\n matchArr = matchs[1].split('.');\n } else {\n matchs = regex.exec(content);\n if (matchs?.[1]) {\n matchArr = matchs[1].split('.');\n }\n }\n return matchArr?.filter((item, idx) => !(idx === 0 && ['root', 'pageParams'].includes(item)) && !(idx === 1 && ['pageParams'].includes(item))); // 过滤掉第一个root,pageParams\n }\n return matchArr;\n};\n\nconst loopNodeByParamsPath:any = (\n paramsArr:string[],\n data: {[key:string]: any},\n escape:boolean = false\n) => {\n if (Array.isArray(paramsArr) && paramsArr.length > 0) {\n for (const keyword of paramsArr) {\n const dataNode = get(data, keyword);\n let nextParamsArr = paramsArr.slice(1); // 取下一个节点字段\n if (Array.isArray(dataNode)) {\n // 如果当前节点是数组,且下一个节点是数字,则取下标对应的值\n const idxRegex = /^\\[.*\\]$|^\\d+$/;\n if (idxRegex.test(nextParamsArr?.[0])) {\n const idxNum = nextParamsArr?.[0].replace(/\\[|\\]/g, '');\n if (dataNode?.[Number(idxNum)] instanceof Object) {\n return loopNodeByParamsPath(nextParamsArr.slice(1), dataNode?.[Number(idxNum)], escape);\n }\n return escape ? escapeString(dataNode?.[Number(idxNum)]) : dataNode?.[Number(idxNum)];\n }\n // 否则或缺中间节点,直接往下取值\n nextParamsArr = nextParamsArr.slice(1);\n if (nextParamsArr?.length >= 1) {\n return dataNode.map((item:any) => {\n // 如果数组节点是对象,则继续递归取值\n if (item instanceof Object && nextParamsArr?.length >= 1) {\n return loopNodeByParamsPath(nextParamsArr, item, escape);\n }\n // 否则直接返回数组值\n return escape ? escapeString(item) : item;\n });\n }\n return dataNode;\n } if (nextParamsArr?.length >= 1) {\n return loopNodeByParamsPath(nextParamsArr, dataNode, escape);\n }\n return escape ? escapeString(dataNode) : dataNode;\n }\n }\n return '';\n};\n\n\nexport const getParamsContentByParamKeys = (paramNames: string, data: {[key:string]: any} = {}) => {\n if (!paramNames || !data || Object.keys(data)?.length <= 0) {\n return undefined;\n }\n const escapeRegex = /\\$\\{\\{([^}]+)\\}\\}/gi; // 匹配${{}}格式的参数,属于需转义内容\n const paramNameList = getDataArr(paramNames);\n return loopNodeByParamsPath(paramNameList, data, escapeRegex.test(paramNames));\n};\n\n// 获取替换循环体内的参数值\nexport const replaceLoopBodyParamsValue = (\n contentStr: string,\n options: {\n loopParams: { [key: string]: any } // 循环体参数\n loopSourceArr: string[], // 循环体数据源\n loopData: {[key: string]: any}[], // 循环数据源数据\n parameters?: {[key: string]: any}, // 全量参数\n staticCodeMap?: {[key: string]: any}, // 静态数据\n },\n) => {\n const {\n loopParams = {},\n loopSourceArr = [],\n loopData = [],\n parameters = {},\n } = options || {};\n let nowTemp = '';\n if (typeof contentStr === 'string' && contentStr && loopParams) {\n nowTemp = contentStr.replace(/\\$\\{(.+?)\\}/gi, (match) => {\n const paramsPath = getDataArr(match).filter((itemKey) => !loopSourceArr.includes(itemKey));\n let filedVal:any = '';\n // 如果当前节点是数组,且下一个节点是数字,则取下标对应的值\n const idxRegex = /^\\[.*\\]$|^\\d+$/;\n if (idxRegex.test(paramsPath?.[0])) {\n const idxNum = paramsPath?.[0].replace(/\\[|\\]/g, '');\n if (loopData?.[Number(idxNum)] instanceof Object) {\n filedVal = loopNodeByParamsPath(paramsPath.slice(1), loopData?.[Number(idxNum)]);\n } else {\n filedVal = loopData?.[Number(idxNum)] || '';\n }\n } else {\n filedVal = loopNodeByParamsPath(paramsPath.slice(1), loopParams);\n\n // 循环体内查找不到,则从参数中取值,但忽略循环体本身\n if (!filedVal && parameters) {\n const _parameters = cloneDeep(parameters);\n if (Array.isArray(loopSourceArr) && loopSourceArr.length > 0) {\n loopSourceArr.forEach((sourceKey:string) => {\n delete _parameters[sourceKey];\n });\n }\n const paramNameList = getDataArr(match);\n filedVal = loopNodeByParamsPath(paramNameList, _parameters);\n }\n }\n return filedVal || '';\n });\n }\n return nowTemp;\n};\n\nexport const replaceParamsValue = (\n contentStr: string,\n pararms: { [key: string]: any } = {},\n isObject2String: boolean = false,\n) => {\n let nowContent:string = '';\n if (typeof contentStr === 'string' && contentStr && pararms) {\n nowContent = contentStr.replace(/\\$\\{\\{?[^{}]+}?\\}/g, (match) => {\n const filedVal = getParamsContentByParamKeys(match, pararms);\n if (isObject2String && typeof filedVal === 'object') {\n return JSON.stringify(filedVal);\n }\n return filedVal || '';\n });\n }\n return nowContent;\n};\n\n\n/** ======下面几个方法主要提供给事件参数使用 勿共用 ===== */\nconst splitStringWithTemplateLiteral = (input: string) => {\n // 正则表达式:匹配 ${...} 模式\n const templateRegex = /\\$\\{[^}]*\\}/;\n\n // 检查字符串是否包含 ${...}\n if (!templateRegex.test(input)) {\n return [input]; // 返回原始字符串\n }\n\n // 匹配所有 ${...} 模式\n const matches = input.match(templateRegex);\n\n if (!matches || matches.length === 0) {\n return [input]; // 返回原始字符串\n }\n\n // 分割字符串,同时保留 ${...} 模式\n const result = input.split(templateRegex).filter(Boolean); // 去掉空字符串\n\n // 将匹配到的 ${...} 模式重新插入到结果数组中\n matches.forEach((match, index) => {\n result.splice(index * 2 + 1, 0, match); // 插入到对应位置\n });\n\n return result;\n};\n\nconst getParamsContentByParamKeysForEvent = (\n paramNames: string,\n data: { [key: string]: any } = {},\n) => {\n let paramNameList: string[] = [];\n const regex = /\\$\\{(.+?)\\}/gi; // 变量正则表达式,${xxx}\n if (paramNames && typeof paramNames === 'string') {\n const matchs = regex.exec(paramNames);\n if (matchs?.[1]) {\n paramNameList = matchs?.[1]?.split('.');\n }\n }\n\n // 如果替换不成功,需要返回字符串原始的值\n return paramNameList.length > 0\n ? loopNodeByParamsPath(paramNameList, data) || ''\n : paramNames;\n};\n\n\n/**\n * 提供给事件参数转换那边的方法\n * 和replaceParamsValue 区别,\n * 1、不能去掉pageParams那一层\n * 2、字符串拼对象,需要把对象做JSON.stringify转换\n * 3、如果替换不成功,需要返回字符串原始的值\n * @param contentStr \"你好\" ,\"你$好, ${pageParams.userName}\" , \"${pageData}, ${pageParams.userList[0]}\"\n * @param data 数据\n */\nexport const replaceParamsValueForEvent = (\n contentStr: string,\n data: { [key: string]: any } = {},\n) => {\n if (!contentStr || !data || Object.keys(data)?.length <= 0) {\n return undefined;\n }\n\n const valueArr = splitStringWithTemplateLiteral(contentStr);\n // 单个字符串, 没有拼接\n if (valueArr.length === 1) {\n return getParamsContentByParamKeysForEvent(valueArr[0], data);\n }\n\n\n let nowTemp = '';\n if (typeof contentStr === 'string' && contentStr && data) {\n nowTemp = contentStr.replace(/\\$\\{(.+?)\\}/g, (match) => {\n const filedVal = getParamsContentByParamKeysForEvent(match, data);\n if (typeof filedVal === 'string') {\n return filedVal;\n }\n // 字符串拼对象,需要把对象做JSON.stringify转换\n try {\n return JSON.stringify(filedVal);\n } catch {\n return '';\n }\n });\n }\n return nowTemp;\n};\n\n/** ======上面几个方法主要提供给事件参数使用 勿共用 ===== */\n"],"mappings":";;;;AAAA,SAASA,GAAG,EAAEC,SAAS,QAAQ,QAAQ;AACvC,OAAOC,YAAY;AAEnB,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAIC,OAAe,EAAK;EAC7C,IAAIC,QAAiB,GAAG,EAAE;EAC1B,IAAID,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;IAAA,IAAAE,OAAA,EAAAC,SAAA;IAC1C,IAAMC,WAAW,GAAG,qBAAqB,CAAC,CAAC;IAC3C,IAAMC,KAAK,GAAG,eAAe,CAAC,CAAC;IAC/B,IAAIC,MAAM,GAAGF,WAAW,CAACG,IAAI,CAACP,OAAO,CAAC;IACtC,KAAAE,OAAA,GAAII,MAAM,cAAAJ,OAAA,eAANA,OAAA,CAAS,CAAC,CAAC,EAAE;MACfD,QAAQ,GAAGK,MAAM,CAAC,CAAC,CAAC,CAACE,KAAK,CAAC,GAAG,CAAC;IACjC,CAAC,MAAM;MAAA,IAAAC,QAAA;MACLH,MAAM,GAAGD,KAAK,CAACE,IAAI,CAACP,OAAO,CAAC;MAC5B,KAAAS,QAAA,GAAIH,MAAM,cAAAG,QAAA,eAANA,QAAA,CAAS,CAAC,CAAC,EAAE;QACfR,QAAQ,GAAGK,MAAM,CAAC,CAAC,CAAC,CAACE,KAAK,CAAC,GAAG,CAAC;MACjC;IACF;IACA,QAAAL,SAAA,GAAOF,QAAQ,cAAAE,SAAA,uBAARA,SAAA,CAAUO,MAAM,CAAC,UAACC,IAAI,EAAEC,GAAG;MAAA,OAAK,EAAEA,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAACC,QAAQ,CAACF,IAAI,CAAC,CAAC,IAAI,EAAEC,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAACC,QAAQ,CAACF,IAAI,CAAC,CAAC;IAAA,EAAC,CAAC,CAAC;EAClJ;EACA,OAAOV,QAAQ;AACjB,CAAC;AAED,IAAMa,oBAAwB,GAAG,SAA3BA,oBAAwBA,CAC5BC,SAAkB,EAClBC,IAAyB,EAEtB;EAAA,IADHC,MAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEtB,IAAIG,KAAK,CAACC,OAAO,CAACP,SAAS,CAAC,IAAIA,SAAS,CAACI,MAAM,GAAG,CAAC,EAAE;IAAA,IAAAI,SAAA,GAAAC,0BAAA,CAC9BT,SAAS;MAAAU,KAAA;IAAA;MAAA,IAAAC,KAAA,YAAAA,MAAA,EAAE;UAAA,IAAAC,eAAA;UAAA,IAAtBC,OAAO,GAAAH,KAAA,CAAAI,KAAA;UAChB,IAAMC,QAAQ,GAAGlC,GAAG,CAACoB,IAAI,EAAEY,OAAO,CAAC;UACnC,IAAIG,aAAa,GAAGhB,SAAS,CAACiB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UACxC,IAAIX,KAAK,CAACC,OAAO,CAACQ,QAAQ,CAAC,EAAE;YAAA,IAAAG,cAAA,EAAAC,eAAA;YAC3B;YACA,IAAMC,QAAQ,GAAG,gBAAgB;YACjC,IAAIA,QAAQ,CAACC,IAAI,EAAAH,cAAA,GAACF,aAAa,cAAAE,cAAA,uBAAbA,cAAA,CAAgB,CAAC,CAAC,CAAC,EAAE;cAAA,IAAAI,eAAA;cACrC,IAAMC,MAAM,IAAAD,eAAA,GAAGN,aAAa,cAAAM,eAAA,uBAAbA,eAAA,CAAgB,CAAC,CAAC,CAACE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;cACvD,IAAI,CAAAT,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGU,MAAM,CAACF,MAAM,CAAC,CAAC,aAAYG,MAAM,EAAE;gBAAA;kBAAAC,CAAA,EACzC5B,oBAAoB,CAACiB,aAAa,CAACC,KAAK,CAAC,CAAC,CAAC,EAAEF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGU,MAAM,CAACF,MAAM,CAAC,CAAC,EAAErB,MAAM;gBAAC;cACzF;cAAC;gBAAAyB,CAAA,EACMzB,MAAM,GAAGnB,YAAY,CAACgC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGU,MAAM,CAACF,MAAM,CAAC,CAAC,CAAC,GAAGR,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGU,MAAM,CAACF,MAAM,CAAC;cAAC;YACvF;YACA;YACAP,aAAa,GAAGA,aAAa,CAACC,KAAK,CAAC,CAAC,CAAC;YACtC,IAAI,EAAAE,eAAA,GAAAH,aAAa,cAAAG,eAAA,uBAAbA,eAAA,CAAef,MAAM,KAAI,CAAC,EAAE;cAAA;gBAAAuB,CAAA,EACvBZ,QAAQ,CAACa,GAAG,CAAC,UAAChC,IAAQ,EAAK;kBAAA,IAAAiC,eAAA;kBAChC;kBACA,IAAIjC,IAAI,YAAY8B,MAAM,IAAI,EAAAG,eAAA,GAAAb,aAAa,cAAAa,eAAA,uBAAbA,eAAA,CAAezB,MAAM,KAAI,CAAC,EAAE;oBACxD,OAAOL,oBAAoB,CAACiB,aAAa,EAAEpB,IAAI,EAAEM,MAAM,CAAC;kBAC1D;kBACA;kBACA,OAAOA,MAAM,GAAGnB,YAAY,CAACa,IAAI,CAAC,GAAGA,IAAI;gBAC3C,CAAC;cAAC;YACJ;YAAC;cAAA+B,CAAA,EACMZ;YAAQ;UACjB;UAAE,IAAI,EAAAH,eAAA,GAAAI,aAAa,cAAAJ,eAAA,uBAAbA,eAAA,CAAeR,MAAM,KAAI,CAAC,EAAE;YAAA;cAAAuB,CAAA,EACzB5B,oBAAoB,CAACiB,aAAa,EAAED,QAAQ,EAAEb,MAAM;YAAC;UAC9D;UAAC;YAAAyB,CAAA,EACMzB,MAAM,GAAGnB,YAAY,CAACgC,QAAQ,CAAC,GAAGA;UAAQ;QACnD,CAAC;QAAAe,IAAA;MA9BD,KAAAtB,SAAA,CAAAuB,CAAA,MAAArB,KAAA,GAAAF,SAAA,CAAAwB,CAAA,IAAAC,IAAA;QAAAH,IAAA,GAAAnB,KAAA;QAAA,IAAAmB,IAAA,SAAAA,IAAA,CAAAH,CAAA;MAAA;IA8BC,SAAAO,GAAA;MAAA1B,SAAA,CAAA2B,CAAA,CAAAD,GAAA;IAAA;MAAA1B,SAAA,CAAA4B,CAAA;IAAA;EACH;EACA,OAAO,EAAE;AACX,CAAC;AAGD,OAAO,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIC,UAAkB,EAAqC;EAAA,IAAAC,YAAA;EAAA,IAAnCtC,IAAyB,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC5F,IAAI,CAACmC,UAAU,IAAI,CAACrC,IAAI,IAAI,EAAAsC,YAAA,GAAAb,MAAM,CAACc,IAAI,CAACvC,IAAI,CAAC,cAAAsC,YAAA,uBAAjBA,YAAA,CAAmBnC,MAAM,KAAI,CAAC,EAAE;IAC1D,OAAOC,SAAS;EAClB;EACA,IAAMhB,WAAW,GAAG,qBAAqB,CAAC,CAAC;EAC3C,IAAMoD,aAAa,GAAGzD,UAAU,CAACsD,UAAU,CAAC;EAC5C,OAAOvC,oBAAoB,CAAC0C,aAAa,EAAExC,IAAI,EAAEZ,WAAW,CAACgC,IAAI,CAACiB,UAAU,CAAC,CAAC;AAChF,CAAC;;AAED;AACA,OAAO,IAAMI,0BAA0B,GAAG,SAA7BA,0BAA0BA,CACrCC,UAAkB,EAClBC,OAMC,EACE;EACH,IAAAC,IAAA,GAKID,OAAO,IAAI,CAAC,CAAC;IAAAE,eAAA,GAAAD,IAAA,CAJfE,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,CAAC,CAAC,GAAAA,eAAA;IAAAE,kBAAA,GAAAH,IAAA,CACfI,aAAa;IAAbA,aAAa,GAAAD,kBAAA,cAAG,EAAE,GAAAA,kBAAA;IAAAE,aAAA,GAAAL,IAAA,CAClBM,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAAE,eAAA,GAAAP,IAAA,CACbQ,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,CAAC,CAAC,GAAAA,eAAA;EAEjB,IAAIE,OAAO,GAAG,EAAE;EAChB,IAAI,OAAOX,UAAU,KAAK,QAAQ,IAAIA,UAAU,IAAII,UAAU,EAAE;IAC9DO,OAAO,GAAGX,UAAU,CAACnB,OAAO,CAAC,eAAe,EAAE,UAAC+B,KAAK,EAAK;MACvD,IAAMC,UAAU,GAAGxE,UAAU,CAACuE,KAAK,CAAC,CAAC5D,MAAM,CAAC,UAAC8D,OAAO;QAAA,OAAK,CAACR,aAAa,CAACnD,QAAQ,CAAC2D,OAAO,CAAC;MAAA,EAAC;MAC1F,IAAIC,QAAY,GAAG,EAAE;MACrB;MACA,IAAMtC,QAAQ,GAAG,gBAAgB;MACjC,IAAIA,QAAQ,CAACC,IAAI,CAACmC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAG,CAAC,CAAC,CAAC,EAAE;QAClC,IAAMjC,MAAM,GAAGiC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAG,CAAC,CAAC,CAAChC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpD,IAAI,CAAA2B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG1B,MAAM,CAACF,MAAM,CAAC,CAAC,aAAYG,MAAM,EAAE;UAChDgC,QAAQ,GAAG3D,oBAAoB,CAACyD,UAAU,CAACvC,KAAK,CAAC,CAAC,CAAC,EAAEkC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG1B,MAAM,CAACF,MAAM,CAAC,CAAC,CAAC;QAClF,CAAC,MAAM;UACLmC,QAAQ,GAAG,CAAAP,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG1B,MAAM,CAACF,MAAM,CAAC,CAAC,KAAI,EAAE;QAC7C;MACF,CAAC,MAAM;QACLmC,QAAQ,GAAG3D,oBAAoB,CAACyD,UAAU,CAACvC,KAAK,CAAC,CAAC,CAAC,EAAE8B,UAAU,CAAC;;QAEhE;QACA,IAAI,CAACW,QAAQ,IAAIL,UAAU,EAAE;UAC3B,IAAMM,WAAW,GAAG7E,SAAS,CAACuE,UAAU,CAAC;UACzC,IAAI/C,KAAK,CAACC,OAAO,CAAC0C,aAAa,CAAC,IAAIA,aAAa,CAAC7C,MAAM,GAAG,CAAC,EAAE;YAC5D6C,aAAa,CAACW,OAAO,CAAC,UAACC,SAAgB,EAAK;cAC1C,OAAOF,WAAW,CAACE,SAAS,CAAC;YAC/B,CAAC,CAAC;UACJ;UACA,IAAMpB,aAAa,GAAGzD,UAAU,CAACuE,KAAK,CAAC;UACvCG,QAAQ,GAAG3D,oBAAoB,CAAC0C,aAAa,EAAEkB,WAAW,CAAC;QAC7D;MACF;MACA,OAAOD,QAAQ,IAAI,EAAE;IACvB,CAAC,CAAC;EACJ;EACA,OAAOJ,OAAO;AAChB,CAAC;AAED,OAAO,IAAMQ,kBAAkB,GAAG,SAArBA,kBAAkBA,CAC7BnB,UAAkB,EAGf;EAAA,IAFHoB,OAA+B,GAAA5D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IACpC6D,eAAwB,GAAA7D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEhC,IAAI8D,UAAiB,GAAG,EAAE;EAC1B,IAAI,OAAOtB,UAAU,KAAK,QAAQ,IAAIA,UAAU,IAAIoB,OAAO,EAAE;IAC3DE,UAAU,GAAGtB,UAAU,CAACnB,OAAO,CAAC,oBAAoB,EAAE,UAAC+B,KAAK,EAAK;MAC/D,IAAMG,QAAQ,GAAGrB,2BAA2B,CAACkB,KAAK,EAAEQ,OAAO,CAAC;MAC5D,IAAIC,eAAe,IAAIE,OAAA,CAAOR,QAAQ,MAAK,QAAQ,EAAE;QACnD,OAAOS,IAAI,CAACC,SAAS,CAACV,QAAQ,CAAC;MACjC;MACA,OAAOA,QAAQ,IAAI,EAAE;IACvB,CAAC,CAAC;EACJ;EACA,OAAOO,UAAU;AACnB,CAAC;;AAGD;AACA,IAAMI,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAIC,KAAa,EAAK;EACxD;EACA,IAAMC,aAAa,GAAG,aAAa;;EAEnC;EACA,IAAI,CAACA,aAAa,CAAClD,IAAI,CAACiD,KAAK,CAAC,EAAE;IAC9B,OAAO,CAACA,KAAK,CAAC,CAAC,CAAC;EAClB;;EAEA;EACA,IAAME,OAAO,GAAGF,KAAK,CAACf,KAAK,CAACgB,aAAa,CAAC;EAE1C,IAAI,CAACC,OAAO,IAAIA,OAAO,CAACpE,MAAM,KAAK,CAAC,EAAE;IACpC,OAAO,CAACkE,KAAK,CAAC,CAAC,CAAC;EAClB;;EAEA;EACA,IAAMG,MAAM,GAAGH,KAAK,CAAC7E,KAAK,CAAC8E,aAAa,CAAC,CAAC5E,MAAM,CAAC+E,OAAO,CAAC,CAAC,CAAC;;EAE3D;EACAF,OAAO,CAACZ,OAAO,CAAC,UAACL,KAAK,EAAEoB,KAAK,EAAK;IAChCF,MAAM,CAACG,MAAM,CAACD,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAEpB,KAAK,CAAC,CAAC,CAAC;EAC1C,CAAC,CAAC;EAEF,OAAOkB,MAAM;AACf,CAAC;AAED,IAAMI,mCAAmC,GAAG,SAAtCA,mCAAmCA,CACvCvC,UAAkB,EAEf;EAAA,IADHrC,IAA4B,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEjC,IAAIsC,aAAuB,GAAG,EAAE;EAChC,IAAMnD,KAAK,GAAG,eAAe,CAAC,CAAC;EAC/B,IAAIgD,UAAU,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;IAChD,IAAM/C,MAAM,GAAGD,KAAK,CAACE,IAAI,CAAC8C,UAAU,CAAC;IACrC,IAAI/C,MAAM,aAANA,MAAM,eAANA,MAAM,CAAG,CAAC,CAAC,EAAE;MAAA,IAAAuF,QAAA;MACfrC,aAAa,GAAGlD,MAAM,aAANA,MAAM,gBAAAuF,QAAA,GAANvF,MAAM,CAAG,CAAC,CAAC,cAAAuF,QAAA,uBAAXA,QAAA,CAAarF,KAAK,CAAC,GAAG,CAAC;IACzC;EACF;;EAEA;EACA,OAAOgD,aAAa,CAACrC,MAAM,GAAG,CAAC,GAC3BL,oBAAoB,CAAC0C,aAAa,EAAExC,IAAI,CAAC,IAAI,EAAE,GAC/CqC,UAAU;AAChB,CAAC;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMyC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CACrCpC,UAAkB,EAEf;EAAA,IAAAqC,aAAA;EAAA,IADH/E,IAA4B,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEjC,IAAI,CAACwC,UAAU,IAAI,CAAC1C,IAAI,IAAI,EAAA+E,aAAA,GAAAtD,MAAM,CAACc,IAAI,CAACvC,IAAI,CAAC,cAAA+E,aAAA,uBAAjBA,aAAA,CAAmB5E,MAAM,KAAI,CAAC,EAAE;IAC1D,OAAOC,SAAS;EAClB;EAEA,IAAM4E,QAAQ,GAAGZ,8BAA8B,CAAC1B,UAAU,CAAC;EAC3D;EACA,IAAIsC,QAAQ,CAAC7E,MAAM,KAAK,CAAC,EAAE;IACzB,OAAOyE,mCAAmC,CAACI,QAAQ,CAAC,CAAC,CAAC,EAAEhF,IAAI,CAAC;EAC/D;EAGA,IAAIqD,OAAO,GAAG,EAAE;EAChB,IAAI,OAAOX,UAAU,KAAK,QAAQ,IAAIA,UAAU,IAAI1C,IAAI,EAAE;IACxDqD,OAAO,GAAGX,UAAU,CAACnB,OAAO,CAAC,cAAc,EAAE,UAAC+B,KAAK,EAAK;MACtD,IAAMG,QAAQ,GAAGmB,mCAAmC,CAACtB,KAAK,EAAEtD,IAAI,CAAC;MACjE,IAAI,OAAOyD,QAAQ,KAAK,QAAQ,EAAE;QAChC,OAAOA,QAAQ;MACjB;MACA;MACA,IAAI;QACF,OAAOS,IAAI,CAACC,SAAS,CAACV,QAAQ,CAAC;MACjC,CAAC,CAAC,OAAAwB,OAAA,EAAM;QACN,OAAO,EAAE;MACX;IACF,CAAC,CAAC;EACJ;EACA,OAAO5B,OAAO;AAChB,CAAC;;AAED"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["theme","watchMatchMedia","mobileWidth","miniWidth","tabletWidth","compactWidth","middleWidth","largeWidth","defaultMatches","matches","_ref","window","matchMedia","concat","mobileMatches","_ref2","miniMatches","_ref3","tabletMatches","_ref4","compactMatches","_ref5","middleMatches","_ref6","largeMatches","pageSize"],"sources":["../../src/watchMatchMedia.ts"],"sourcesContent":["import theme from '@boteteam/theme/bin/default/theme.json';\
|
|
1
|
+
{"version":3,"names":["theme","watchMatchMedia","mobileWidth","miniWidth","tabletWidth","compactWidth","middleWidth","largeWidth","defaultMatches","matches","_ref","window","matchMedia","concat","mobileMatches","_ref2","miniMatches","_ref3","tabletMatches","_ref4","compactMatches","_ref5","middleMatches","_ref6","largeMatches","pageSize"],"sources":["../../src/watchMatchMedia.ts"],"sourcesContent":["import theme from '@boteteam/theme/bin/default/theme.json';\n\ntype pageSizeType = 'default' | 'mobile' | 'mini' | 'compact' | 'middle' | 'large' | 'tablet';\n\nconst watchMatchMedia = () => {\n const mobileWidth = theme['media-mobile-width'];\n const miniWidth = theme['media-mini-width'];\n const tabletWidth = theme['media-tablet-width'];\n const compactWidth = theme['media-compact-width'];\n const middleWidth = theme['media-middle-width'];\n const largeWidth = theme['media-large-width'];\n const defaultMatches = { matches: false };\n const { matches: mobileMatches } = mobileWidth ? window.matchMedia(`(max-width: ${mobileWidth})`) : defaultMatches; // 移动端: 小于等于移动端尺寸才适配\n const { matches: miniMatches } = miniWidth ? window.matchMedia(`(max-width: ${miniWidth})`) : defaultMatches; // 迷你: 小于等于迷你尺寸才适配\n const { matches: tabletMatches } = tabletWidth ? window.matchMedia(`(max-width: ${tabletWidth})`) : defaultMatches; // 平板: 小于等于平板尺寸才适配\n const { matches: compactMatches } = compactWidth ? window.matchMedia(`(max-width: ${compactWidth})`) : defaultMatches; // 紧凑: 小于等于紧凑尺寸才适配\n const { matches: middleMatches } = middleWidth ? window.matchMedia(`(max-width: ${middleWidth})`) : defaultMatches; // 中: 大于紧凑尺寸,且小于等于中尺寸才适配\n const { matches: largeMatches } = largeWidth ? window.matchMedia(`(min-width: ${largeWidth})`) : defaultMatches; // 宽松: 大于等于宽松尺寸才适配\n let pageSize: pageSizeType = 'default';\n switch (true) {\n case largeMatches:\n pageSize = 'large';\n break;\n case mobileMatches:\n pageSize = 'mobile';\n break;\n case miniMatches:\n pageSize = 'mini';\n break;\n case tabletMatches:\n pageSize = 'tablet';\n break;\n case compactMatches:\n pageSize = 'compact';\n break;\n case middleMatches:\n pageSize = 'middle';\n break;\n default:\n pageSize = 'default';\n break;\n }\n return pageSize;\n};\n\nexport {\n type pageSizeType,\n};\n\nexport default watchMatchMedia;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,wCAAwC;AAI1D,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;EAC5B,IAAMC,WAAW,GAAGF,KAAK,CAAC,oBAAoB,CAAC;EAC/C,IAAMG,SAAS,GAAGH,KAAK,CAAC,kBAAkB,CAAC;EAC3C,IAAMI,WAAW,GAAGJ,KAAK,CAAC,oBAAoB,CAAC;EAC/C,IAAMK,YAAY,GAAGL,KAAK,CAAC,qBAAqB,CAAC;EACjD,IAAMM,WAAW,GAAGN,KAAK,CAAC,oBAAoB,CAAC;EAC/C,IAAMO,UAAU,GAAGP,KAAK,CAAC,mBAAmB,CAAC;EAC7C,IAAMQ,cAAc,GAAG;IAAEC,OAAO,EAAE;EAAM,CAAC;EACzC,IAAAC,IAAA,GAAmCR,WAAW,GAAGS,MAAM,CAACC,UAAU,gBAAAC,MAAA,CAAgBX,WAAW,MAAG,CAAC,GAAGM,cAAc;IAAjGM,aAAa,GAAAJ,IAAA,CAAtBD,OAAO,CAAoG,CAAC;EACpH,IAAAM,KAAA,GAAiCZ,SAAS,GAAGQ,MAAM,CAACC,UAAU,gBAAAC,MAAA,CAAgBV,SAAS,MAAG,CAAC,GAAGK,cAAc;IAA3FQ,WAAW,GAAAD,KAAA,CAApBN,OAAO,CAA8F,CAAC;EAC9G,IAAAQ,KAAA,GAAmCb,WAAW,GAAGO,MAAM,CAACC,UAAU,gBAAAC,MAAA,CAAgBT,WAAW,MAAG,CAAC,GAAGI,cAAc;IAAjGU,aAAa,GAAAD,KAAA,CAAtBR,OAAO,CAAoG,CAAC;EACpH,IAAAU,KAAA,GAAoCd,YAAY,GAAGM,MAAM,CAACC,UAAU,gBAAAC,MAAA,CAAgBR,YAAY,MAAG,CAAC,GAAGG,cAAc;IAApGY,cAAc,GAAAD,KAAA,CAAvBV,OAAO,CAAuG,CAAC;EACvH,IAAAY,KAAA,GAAmCf,WAAW,GAAGK,MAAM,CAACC,UAAU,gBAAAC,MAAA,CAAgBP,WAAW,MAAG,CAAC,GAAGE,cAAc;IAAjGc,aAAa,GAAAD,KAAA,CAAtBZ,OAAO,CAAoG,CAAC;EACpH,IAAAc,KAAA,GAAkChB,UAAU,GAAGI,MAAM,CAACC,UAAU,gBAAAC,MAAA,CAAgBN,UAAU,MAAG,CAAC,GAAGC,cAAc;IAA9FgB,YAAY,GAAAD,KAAA,CAArBd,OAAO,CAAiG,CAAC;EACjH,IAAIgB,QAAsB,GAAG,SAAS;EACtC,QAAQ,IAAI;IACV,KAAKD,YAAY;MACfC,QAAQ,GAAG,OAAO;MAClB;IACF,KAAKX,aAAa;MAChBW,QAAQ,GAAG,QAAQ;MACnB;IACF,KAAKT,WAAW;MACdS,QAAQ,GAAG,MAAM;MACjB;IACF,KAAKP,aAAa;MAChBO,QAAQ,GAAG,QAAQ;MACnB;IACF,KAAKL,cAAc;MACjBK,QAAQ,GAAG,SAAS;MACpB;IACF,KAAKH,aAAa;MAChBG,QAAQ,GAAG,QAAQ;MACnB;IACF;MACEA,QAAQ,GAAG,SAAS;MACpB;EACJ;EACA,OAAOA,QAAQ;AACjB,CAAC;AAMD,eAAexB,eAAe"}
|