@boteteam/utils 0.0.15 → 0.0.18

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.
Files changed (59) hide show
  1. package/dist/cjs/file.js +10 -1
  2. package/dist/cjs/file.js.map +2 -2
  3. package/dist/cjs/formatModule/formatModuleData.js +31 -1
  4. package/dist/cjs/formatModule/formatModuleData.js.map +2 -2
  5. package/dist/cjs/formatModule/helpers/formatChartsProps.d.ts +13 -0
  6. package/dist/cjs/formatModule/helpers/formatChartsProps.js +48 -0
  7. package/dist/cjs/formatModule/helpers/formatChartsProps.js.map +7 -0
  8. package/dist/cjs/formatModule/helpers/formatFormProps.js +20 -27
  9. package/dist/cjs/formatModule/helpers/formatFormProps.js.map +2 -2
  10. package/dist/cjs/formatModule/helpers/formatStepsProps.d.ts +23 -0
  11. package/dist/cjs/formatModule/helpers/formatStepsProps.js +88 -0
  12. package/dist/cjs/formatModule/helpers/formatStepsProps.js.map +7 -0
  13. package/dist/cjs/formatModule/helpers/formatTableProps.d.ts +11 -0
  14. package/dist/cjs/formatModule/helpers/formatTableProps.js +76 -6
  15. package/dist/cjs/formatModule/helpers/formatTableProps.js.map +2 -2
  16. package/dist/cjs/formatModule/helpers/index.d.ts +3 -1
  17. package/dist/cjs/formatModule/helpers/index.js +6 -0
  18. package/dist/cjs/formatModule/helpers/index.js.map +3 -3
  19. package/dist/cjs/formatModule/helpers/stringPramarsValTransition.d.ts +1 -1
  20. package/dist/cjs/index.d.ts +2 -1
  21. package/dist/cjs/index.js +9 -0
  22. package/dist/cjs/index.js.map +2 -2
  23. package/dist/cjs/securityUtils.d.ts +28 -0
  24. package/dist/cjs/securityUtils.js +103 -0
  25. package/dist/cjs/securityUtils.js.map +7 -0
  26. package/dist/cjs/treeUtils.d.ts +1 -1
  27. package/dist/cjs/treeUtils.js +4 -1
  28. package/dist/cjs/treeUtils.js.map +2 -2
  29. package/dist/esm/file.js +10 -3
  30. package/dist/esm/file.js.map +1 -1
  31. package/dist/esm/formatModule/formatModuleData.js +27 -7
  32. package/dist/esm/formatModule/formatModuleData.js.map +1 -1
  33. package/dist/esm/formatModule/helpers/formatChartsProps.d.ts +13 -0
  34. package/dist/esm/formatModule/helpers/formatChartsProps.js +12 -0
  35. package/dist/esm/formatModule/helpers/formatChartsProps.js.map +1 -0
  36. package/dist/esm/formatModule/helpers/formatFormProps.js +25 -32
  37. package/dist/esm/formatModule/helpers/formatFormProps.js.map +1 -1
  38. package/dist/esm/formatModule/helpers/formatStepsProps.d.ts +23 -0
  39. package/dist/esm/formatModule/helpers/formatStepsProps.js +58 -0
  40. package/dist/esm/formatModule/helpers/formatStepsProps.js.map +1 -0
  41. package/dist/esm/formatModule/helpers/formatTableProps.d.ts +11 -0
  42. package/dist/esm/formatModule/helpers/formatTableProps.js +73 -6
  43. package/dist/esm/formatModule/helpers/formatTableProps.js.map +1 -1
  44. package/dist/esm/formatModule/helpers/index.d.ts +3 -1
  45. package/dist/esm/formatModule/helpers/index.js +3 -1
  46. package/dist/esm/formatModule/helpers/index.js.map +1 -1
  47. package/dist/esm/formatModule/helpers/stringPramarsValTransition.d.ts +1 -1
  48. package/dist/esm/index.d.ts +2 -1
  49. package/dist/esm/index.js +2 -1
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/securityUtils.d.ts +28 -0
  52. package/dist/esm/securityUtils.js +101 -0
  53. package/dist/esm/securityUtils.js.map +1 -0
  54. package/dist/esm/treeUtils.d.ts +1 -1
  55. package/dist/esm/treeUtils.js +5 -0
  56. package/dist/esm/treeUtils.js.map +1 -1
  57. package/dist/umd/index.min.js +1 -1
  58. package/dist/umd/index.min.js.map +1 -1
  59. package/package.json +2 -2
@@ -1,3 +1,9 @@
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 ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
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); }
1
7
  import { getDataArr } from "../../treeUtils";
2
8
  import { stringScriptExecution } from "./stringScriptExecution";
3
9
  // import stringPramarsValTransition from './stringPramarsValTransition';
@@ -8,10 +14,47 @@ var formatTableProps = function formatTableProps(_ref) {
8
14
  _ref$options = _ref.options,
9
15
  options = _ref$options === void 0 ? {} : _ref$options;
10
16
  var attrs = options.attrs,
11
- dataSource = options.dataSource;
12
- var columns = [];
17
+ dataSource = options.dataSource,
18
+ columns = options.columns,
19
+ columnWidth = options.columnWidth,
20
+ columnMinWidth = options.columnMinWidth,
21
+ columnMaxWidth = options.columnMaxWidth,
22
+ tableBodyHeight = options.tableBodyHeight;
23
+ var _columns = [];
13
24
  var dataList = [];
14
- if (Array.isArray(attrs) && attrs.length > 0) {
25
+ var scroll = {};
26
+ if (typeof columns === 'string' && columns) {
27
+ var columnsArr = getDataArr(columns);
28
+ var columnsList = get(parameters, columnsArr);
29
+ if (Array.isArray(columnsList)) {
30
+ columnsList.forEach(function (colItem) {
31
+ var colObj = {
32
+ key: colItem === null || colItem === void 0 ? void 0 : colItem.dataIndex,
33
+ title: colItem === null || colItem === void 0 ? void 0 : colItem.title,
34
+ dataIndex: colItem === null || colItem === void 0 ? void 0 : colItem.dataIndex
35
+ };
36
+ var colWidth = (colItem === null || colItem === void 0 ? void 0 : colItem.width) || columnWidth;
37
+ var colMinWidth = (colItem === null || colItem === void 0 ? void 0 : colItem.minWidth) || columnMinWidth;
38
+ var colMaxWidth = (colItem === null || colItem === void 0 ? void 0 : colItem.maxWidth) || columnMaxWidth;
39
+ if (colWidth) {
40
+ colObj.style = _objectSpread(_objectSpread({}, colObj.style || {}), {}, {
41
+ width: colWidth
42
+ });
43
+ }
44
+ if (colMinWidth) {
45
+ colObj.style = _objectSpread(_objectSpread({}, colObj.style || {}), {}, {
46
+ minWidth: colMinWidth
47
+ });
48
+ }
49
+ if (colMaxWidth) {
50
+ colObj.style = _objectSpread(_objectSpread({}, colObj.style || {}), {}, {
51
+ maxWidth: colMaxWidth
52
+ });
53
+ }
54
+ _columns.push(colObj);
55
+ });
56
+ }
57
+ } else if (Array.isArray(attrs) && attrs.length > 0) {
15
58
  attrs.forEach(function (attrItem) {
16
59
  var attrsDisplay = true;
17
60
  if (typeof (attrItem === null || attrItem === void 0 ? void 0 : attrItem.display) === 'boolean' || typeof (attrItem === null || attrItem === void 0 ? void 0 : attrItem.display) === 'string') {
@@ -28,9 +71,27 @@ var formatTableProps = function formatTableProps(_ref) {
28
71
  key: attrItem === null || attrItem === void 0 ? void 0 : attrItem.attrCode,
29
72
  title: attrItem === null || attrItem === void 0 ? void 0 : attrItem.attrName
30
73
  };
74
+ var colWidth = (attrItem === null || attrItem === void 0 ? void 0 : attrItem.attrWidth) || columnWidth;
75
+ var colMinWidth = (attrItem === null || attrItem === void 0 ? void 0 : attrItem.attrMinWidth) || columnMinWidth;
76
+ var colMaxWidth = (attrItem === null || attrItem === void 0 ? void 0 : attrItem.attrMaxWidth) || columnMaxWidth;
31
77
  if (typeof (attrItem === null || attrItem === void 0 ? void 0 : attrItem.attrWidth) === 'string') {
32
78
  colObj.width = attrItem === null || attrItem === void 0 ? void 0 : attrItem.attrWidth;
33
79
  }
80
+ if (colWidth) {
81
+ colObj.style = _objectSpread(_objectSpread({}, colObj.style || {}), {}, {
82
+ width: colWidth
83
+ });
84
+ }
85
+ if (colMinWidth) {
86
+ colObj.style = _objectSpread(_objectSpread({}, colObj.style || {}), {}, {
87
+ minWidth: colMinWidth
88
+ });
89
+ }
90
+ if (colMaxWidth) {
91
+ colObj.style = _objectSpread(_objectSpread({}, colObj.style || {}), {}, {
92
+ maxWidth: colMaxWidth
93
+ });
94
+ }
34
95
  var dataIndexArr = getDataArr(attrItem === null || attrItem === void 0 ? void 0 : attrItem.defaultValue);
35
96
  if (Array.isArray(dataIndexArr) && dataIndexArr.length > 0) {
36
97
  var _dataIndexArr$slice;
@@ -42,7 +103,7 @@ var formatTableProps = function formatTableProps(_ref) {
42
103
  return (staticCodeMap === null || staticCodeMap === void 0 || (_staticCodeMap$attrIt = staticCodeMap[attrItem === null || attrItem === void 0 ? void 0 : attrItem.staticCode]) === null || _staticCodeMap$attrIt === void 0 ? void 0 : _staticCodeMap$attrIt[val]) || val;
43
104
  };
44
105
  }
45
- columns.push(colObj);
106
+ _columns.push(colObj);
46
107
  }
47
108
  });
48
109
  }
@@ -55,9 +116,15 @@ var formatTableProps = function formatTableProps(_ref) {
55
116
  }
56
117
  }
57
118
  }
119
+ if (typeof tableBodyHeight === 'string' && tableBodyHeight) {
120
+ scroll = {
121
+ y: tableBodyHeight
122
+ };
123
+ }
58
124
  return {
59
- columns: columns,
60
- dataSource: dataList
125
+ columns: _columns,
126
+ dataSource: dataList,
127
+ scroll: scroll
61
128
  };
62
129
  };
63
130
  export default formatTableProps;
@@ -1 +1 @@
1
- {"version":3,"names":["getDataArr","stringScriptExecution","get","formatTableProps","_ref","staticCodeMap","parameters","_ref$options","options","attrs","dataSource","columns","dataList","Array","isArray","length","forEach","attrItem","attrsDisplay","display","codeExtendVal","colObj","key","attrCode","title","attrName","attrWidth","width","dataIndexArr","defaultValue","_dataIndexArr$slice","dataIndex","slice","staticCode","render","val","_staticCodeMap$attrIt","push","dataSourceArr","dataSourceList"],"sources":["../../../../src/formatModule/helpers/formatTableProps.ts"],"sourcesContent":["import { getDataArr } from '../../treeUtils';\nimport { stringScriptExecution } from './stringScriptExecution';\n// import stringPramarsValTransition from './stringPramarsValTransition';\nimport { get } from 'lodash';\n\nexport type formatTablePropsType = {\n options?: {\n attrs?: {[key:string]: any}[];\n dataSource?: string;\n }\n staticCodeMap?: {[key:string]: any};\n parameters?: {[key:string]: any};\n}\n\nexport type formatTablePropsExportType = {\n columns: {[key: string]: any}[]\n dataSource: {[key: string]: any}[]\n}\n\nconst formatTableProps = ({\n staticCodeMap,\n parameters,\n options = {},\n}: formatTablePropsType): formatTablePropsExportType => {\n const {\n attrs,\n dataSource,\n } = options;\n const columns: {[key: string]: any}[] = [];\n let dataList: {[key: string]: any}[] = [];\n if (Array.isArray(attrs) && attrs.length > 0) {\n attrs.forEach((attrItem) => {\n let attrsDisplay: boolean = true;\n if (typeof attrItem?.display === 'boolean' || typeof attrItem?.display === 'string') {\n if (typeof attrItem?.display === 'boolean') {\n attrsDisplay = attrItem?.display;\n } else if (typeof attrItem?.display === 'string' && attrItem?.display) {\n // const scriptCodeStr = stringPramarsValTransition(attrItem?.display, parameters || {});\n const codeExtendVal = stringScriptExecution(\n attrItem?.display,\n parameters || {},\n );\n attrsDisplay = codeExtendVal;\n }\n }\n\n if (attrsDisplay) {\n const colObj: { [key: string]: any } = {\n key: attrItem?.attrCode,\n title: attrItem?.attrName,\n };\n if (typeof attrItem?.attrWidth === 'string') {\n colObj.width = attrItem?.attrWidth;\n }\n const dataIndexArr = getDataArr(attrItem?.defaultValue);\n if (Array.isArray(dataIndexArr) && dataIndexArr.length > 0) {\n colObj.dataIndex = dataIndexArr.slice(-1)?.[0];\n }\n if (\n attrItem?.staticCode &&\n staticCodeMap?.[attrItem?.staticCode]\n ) {\n colObj.render = (val: string) => {\n return staticCodeMap?.[attrItem?.staticCode]?.[val] || val;\n };\n }\n columns.push(colObj);\n }\n });\n }\n if (dataSource) {\n const dataSourceArr = getDataArr(dataSource);\n if (parameters) {\n const dataSourceList = get(\n parameters,\n dataSourceArr,\n );\n if (Array.isArray(dataSourceList)) {\n dataList = dataSourceList;\n }\n }\n }\n return {\n columns,\n dataSource: dataList,\n };\n};\n\nexport default formatTableProps;\n"],"mappings":"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"}
1
+ {"version":3,"names":["getDataArr","stringScriptExecution","get","formatTableProps","_ref","staticCodeMap","parameters","_ref$options","options","attrs","dataSource","columns","columnWidth","columnMinWidth","columnMaxWidth","tableBodyHeight","_columns","dataList","scroll","columnsArr","columnsList","Array","isArray","forEach","colItem","colObj","key","dataIndex","title","colWidth","width","colMinWidth","minWidth","colMaxWidth","maxWidth","style","_objectSpread","push","length","attrItem","attrsDisplay","display","codeExtendVal","attrCode","attrName","attrWidth","attrMinWidth","attrMaxWidth","dataIndexArr","defaultValue","_dataIndexArr$slice","slice","staticCode","render","val","_staticCodeMap$attrIt","dataSourceArr","dataSourceList","y"],"sources":["../../../../src/formatModule/helpers/formatTableProps.ts"],"sourcesContent":["import { getDataArr } from '../../treeUtils';\nimport { stringScriptExecution } from './stringScriptExecution';\n// import stringPramarsValTransition from './stringPramarsValTransition';\nimport { get } from 'lodash';\n\nexport type formatTablePropsType = {\n options?: {\n attrs?: {[key:string]: any}[];\n columns?: {[key: string]: any}[];\n dataSource?: string;\n columnWidth?: string;\n columnMinWidth?: string;\n columnMaxWidth?: string;\n tableBodyHeight?: string;\n }\n staticCodeMap?: {[key:string]: any};\n parameters?: {[key:string]: any};\n}\n\nexport type formatTablePropsExportType = {\n columns: {[key: string]: any}[]\n dataSource: {[key: string]: any}[]\n scroll?: { y?: string, x?: string };\n}\n\nconst formatTableProps = ({\n staticCodeMap,\n parameters,\n options = {},\n}: formatTablePropsType): formatTablePropsExportType => {\n const {\n attrs,\n dataSource,\n columns,\n columnWidth,\n columnMinWidth,\n columnMaxWidth,\n tableBodyHeight,\n } = options;\n const _columns: {[key: string]: any}[] = [];\n let dataList: {[key: string]: any}[] = [];\n let scroll: { y?: string, x?: string } = {};\n\n if (typeof columns === 'string' && columns) {\n const columnsArr = getDataArr(columns);\n const columnsList = get(\n parameters,\n columnsArr,\n );\n if (Array.isArray(columnsList)) {\n columnsList.forEach((colItem) => {\n const colObj: { [key: string]: any } = {\n key: colItem?.dataIndex,\n title: colItem?.title,\n dataIndex: colItem?.dataIndex,\n };\n const colWidth = colItem?.width || columnWidth;\n const colMinWidth = colItem?.minWidth || columnMinWidth;\n const colMaxWidth = colItem?.maxWidth || columnMaxWidth;\n if (colWidth) {\n colObj.style = {\n ...(colObj.style || {}),\n width: colWidth,\n };\n }\n if (colMinWidth) {\n colObj.style = {\n ...(colObj.style || {}),\n minWidth: colMinWidth,\n };\n }\n if (colMaxWidth) {\n colObj.style = {\n ...(colObj.style || {}),\n maxWidth: colMaxWidth,\n };\n }\n _columns.push(colObj);\n });\n }\n } else if (Array.isArray(attrs) && attrs.length > 0) {\n attrs.forEach((attrItem) => {\n let attrsDisplay: boolean = true;\n if (typeof attrItem?.display === 'boolean' || typeof attrItem?.display === 'string') {\n if (typeof attrItem?.display === 'boolean') {\n attrsDisplay = attrItem?.display;\n } else if (typeof attrItem?.display === 'string' && attrItem?.display) {\n // const scriptCodeStr = stringPramarsValTransition(attrItem?.display, parameters || {});\n const codeExtendVal = stringScriptExecution(\n attrItem?.display,\n parameters || {},\n );\n attrsDisplay = codeExtendVal;\n }\n }\n\n if (attrsDisplay) {\n const colObj: { [key: string]: any } = {\n key: attrItem?.attrCode,\n title: attrItem?.attrName,\n };\n const colWidth = attrItem?.attrWidth || columnWidth;\n const colMinWidth = attrItem?.attrMinWidth || columnMinWidth;\n const colMaxWidth = attrItem?.attrMaxWidth || columnMaxWidth;\n if (typeof attrItem?.attrWidth === 'string') {\n colObj.width = attrItem?.attrWidth;\n }\n if (colWidth) {\n colObj.style = {\n ...(colObj.style || {}),\n width: colWidth,\n };\n }\n if (colMinWidth) {\n colObj.style = {\n ...(colObj.style || {}),\n minWidth: colMinWidth,\n };\n }\n if (colMaxWidth) {\n colObj.style = {\n ...(colObj.style || {}),\n maxWidth: colMaxWidth,\n };\n }\n const dataIndexArr = getDataArr(attrItem?.defaultValue);\n if (Array.isArray(dataIndexArr) && dataIndexArr.length > 0) {\n colObj.dataIndex = dataIndexArr.slice(-1)?.[0];\n }\n if (\n attrItem?.staticCode &&\n staticCodeMap?.[attrItem?.staticCode]\n ) {\n colObj.render = (val: string) => {\n return staticCodeMap?.[attrItem?.staticCode]?.[val] || val;\n };\n }\n _columns.push(colObj);\n }\n });\n }\n if (dataSource) {\n const dataSourceArr = getDataArr(dataSource);\n if (parameters) {\n const dataSourceList = get(\n parameters,\n dataSourceArr,\n );\n if (Array.isArray(dataSourceList)) {\n dataList = dataSourceList;\n }\n }\n }\n if (typeof tableBodyHeight === 'string' && tableBodyHeight) {\n scroll = {\n y: tableBodyHeight,\n };\n }\n return {\n columns: _columns,\n dataSource: dataList,\n scroll,\n };\n};\n\nexport default formatTableProps;\n"],"mappings":";;;;;;AAAA,SAASA,UAAU;AACnB,SAASC,qBAAqB;AAC9B;AACA,SAASC,GAAG,QAAQ,QAAQ;AAsB5B,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAIkC;EAAA,IAHtDC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAAC,YAAA,GAAAH,IAAA,CACVI,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;EAEZ,IACEE,KAAK,GAOHD,OAAO,CAPTC,KAAK;IACLC,UAAU,GAMRF,OAAO,CANTE,UAAU;IACVC,OAAO,GAKLH,OAAO,CALTG,OAAO;IACPC,WAAW,GAITJ,OAAO,CAJTI,WAAW;IACXC,cAAc,GAGZL,OAAO,CAHTK,cAAc;IACdC,cAAc,GAEZN,OAAO,CAFTM,cAAc;IACdC,eAAe,GACbP,OAAO,CADTO,eAAe;EAEjB,IAAMC,QAAgC,GAAG,EAAE;EAC3C,IAAIC,QAAgC,GAAG,EAAE;EACzC,IAAIC,MAAkC,GAAG,CAAC,CAAC;EAE3C,IAAI,OAAOP,OAAO,KAAK,QAAQ,IAAIA,OAAO,EAAE;IAC1C,IAAMQ,UAAU,GAAGnB,UAAU,CAACW,OAAO,CAAC;IACtC,IAAMS,WAAW,GAAGlB,GAAG,CACrBI,UAAU,EACVa,UACF,CAAC;IACD,IAAIE,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,EAAE;MAC9BA,WAAW,CAACG,OAAO,CAAC,UAACC,OAAO,EAAK;QAC/B,IAAMC,MAA8B,GAAG;UACrCC,GAAG,EAAEF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,SAAS;UACvBC,KAAK,EAAEJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,KAAK;UACrBD,SAAS,EAAEH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG;QACtB,CAAC;QACD,IAAME,QAAQ,GAAG,CAAAL,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,KAAK,KAAIlB,WAAW;QAC9C,IAAMmB,WAAW,GAAG,CAAAP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,QAAQ,KAAInB,cAAc;QACvD,IAAMoB,WAAW,GAAG,CAAAT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEU,QAAQ,KAAIpB,cAAc;QACvD,IAAIe,QAAQ,EAAE;UACZJ,MAAM,CAACU,KAAK,GAAAC,aAAA,CAAAA,aAAA,KACNX,MAAM,CAACU,KAAK,IAAI,CAAC,CAAC;YACtBL,KAAK,EAAED;UAAQ,EAChB;QACH;QACA,IAAIE,WAAW,EAAE;UACfN,MAAM,CAACU,KAAK,GAAAC,aAAA,CAAAA,aAAA,KACNX,MAAM,CAACU,KAAK,IAAI,CAAC,CAAC;YACtBH,QAAQ,EAAED;UAAW,EACtB;QACH;QACA,IAAIE,WAAW,EAAE;UACfR,MAAM,CAACU,KAAK,GAAAC,aAAA,CAAAA,aAAA,KACNX,MAAM,CAACU,KAAK,IAAI,CAAC,CAAC;YACtBD,QAAQ,EAAED;UAAW,EACtB;QACH;QACAjB,QAAQ,CAACqB,IAAI,CAACZ,MAAM,CAAC;MACvB,CAAC,CAAC;IACJ;EACF,CAAC,MAAM,IAAIJ,KAAK,CAACC,OAAO,CAACb,KAAK,CAAC,IAAIA,KAAK,CAAC6B,MAAM,GAAG,CAAC,EAAE;IACnD7B,KAAK,CAACc,OAAO,CAAC,UAACgB,QAAQ,EAAK;MAC1B,IAAIC,YAAqB,GAAG,IAAI;MAChC,IAAI,QAAOD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,OAAO,MAAK,SAAS,IAAI,QAAOF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,OAAO,MAAK,QAAQ,EAAE;QACnF,IAAI,QAAOF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,OAAO,MAAK,SAAS,EAAE;UAC1CD,YAAY,GAAGD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,OAAO;QAClC,CAAC,MAAM,IAAI,QAAOF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,OAAO,MAAK,QAAQ,IAAIF,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEE,OAAO,EAAE;UACrE;UACA,IAAMC,aAAa,GAAGzC,qBAAqB,CACzCsC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,OAAO,EACjBnC,UAAU,IAAI,CAAC,CACjB,CAAC;UACDkC,YAAY,GAAGE,aAAa;QAC9B;MACF;MAEA,IAAIF,YAAY,EAAE;QAChB,IAAMf,MAA8B,GAAG;UACrCC,GAAG,EAAEa,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEI,QAAQ;UACvBf,KAAK,EAAEW,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEK;QACnB,CAAC;QACD,IAAMf,QAAQ,GAAG,CAAAU,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEM,SAAS,KAAIjC,WAAW;QACnD,IAAMmB,WAAW,GAAG,CAAAQ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEO,YAAY,KAAIjC,cAAc;QAC5D,IAAMoB,WAAW,GAAG,CAAAM,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEQ,YAAY,KAAIjC,cAAc;QAC5D,IAAI,QAAOyB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEM,SAAS,MAAK,QAAQ,EAAE;UAC3CpB,MAAM,CAACK,KAAK,GAAGS,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEM,SAAS;QACpC;QACA,IAAIhB,QAAQ,EAAE;UACZJ,MAAM,CAACU,KAAK,GAAAC,aAAA,CAAAA,aAAA,KACNX,MAAM,CAACU,KAAK,IAAI,CAAC,CAAC;YACtBL,KAAK,EAAED;UAAQ,EAChB;QACH;QACA,IAAIE,WAAW,EAAE;UACfN,MAAM,CAACU,KAAK,GAAAC,aAAA,CAAAA,aAAA,KACNX,MAAM,CAACU,KAAK,IAAI,CAAC,CAAC;YACtBH,QAAQ,EAAED;UAAW,EACtB;QACH;QACA,IAAIE,WAAW,EAAE;UACfR,MAAM,CAACU,KAAK,GAAAC,aAAA,CAAAA,aAAA,KACNX,MAAM,CAACU,KAAK,IAAI,CAAC,CAAC;YACtBD,QAAQ,EAAED;UAAW,EACtB;QACH;QACA,IAAMe,YAAY,GAAGhD,UAAU,CAACuC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEU,YAAY,CAAC;QACvD,IAAI5B,KAAK,CAACC,OAAO,CAAC0B,YAAY,CAAC,IAAIA,YAAY,CAACV,MAAM,GAAG,CAAC,EAAE;UAAA,IAAAY,mBAAA;UAC1DzB,MAAM,CAACE,SAAS,IAAAuB,mBAAA,GAAGF,YAAY,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC,cAAAD,mBAAA,uBAAtBA,mBAAA,CAAyB,CAAC,CAAC;QAChD;QACA,IACEX,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEa,UAAU,IACd/C,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAGkC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEa,UAAU,CAAC,EAC3C;UACA3B,MAAM,CAAC4B,MAAM,GAAG,UAACC,GAAW,EAAK;YAAA,IAAAC,qBAAA;YAC/B,OAAO,CAAAlD,aAAa,aAAbA,aAAa,gBAAAkD,qBAAA,GAAblD,aAAa,CAAGkC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEa,UAAU,CAAC,cAAAG,qBAAA,uBAArCA,qBAAA,CAAwCD,GAAG,CAAC,KAAIA,GAAG;UAC5D,CAAC;QACH;QACAtC,QAAQ,CAACqB,IAAI,CAACZ,MAAM,CAAC;MACvB;IACF,CAAC,CAAC;EACJ;EACA,IAAIf,UAAU,EAAE;IACd,IAAM8C,aAAa,GAAGxD,UAAU,CAACU,UAAU,CAAC;IAC5C,IAAIJ,UAAU,EAAE;MACd,IAAMmD,cAAc,GAAGvD,GAAG,CACxBI,UAAU,EACVkD,aACF,CAAC;MACD,IAAInC,KAAK,CAACC,OAAO,CAACmC,cAAc,CAAC,EAAE;QACjCxC,QAAQ,GAAGwC,cAAc;MAC3B;IACF;EACF;EACA,IAAI,OAAO1C,eAAe,KAAK,QAAQ,IAAIA,eAAe,EAAE;IAC1DG,MAAM,GAAG;MACPwC,CAAC,EAAE3C;IACL,CAAC;EACH;EACA,OAAO;IACLJ,OAAO,EAAEK,QAAQ;IACjBN,UAAU,EAAEO,QAAQ;IACpBC,MAAM,EAANA;EACF,CAAC;AACH,CAAC;AAED,eAAef,gBAAgB"}
@@ -10,9 +10,11 @@ import formatHighCodeProps from './formatHighCodeProps';
10
10
  import formatFormProps from './formatFormProps';
11
11
  import formatEchartLineProps from './formatEchartLineProps';
12
12
  import formatEchartPieProps from './formatEchartPieProps';
13
+ import formatChartsProps from './formatChartsProps';
13
14
  import formatLoopProps from './formatLoopProps';
14
15
  import formatStyleProps from './formatStyleProps';
16
+ import formatStepsProps from './formatStepsProps';
15
17
  import formRulsRegMap from './formRulsRegMap';
16
18
  import urlPrefix from './urlPrefix';
17
19
  import { stringScriptExecution } from './stringScriptExecution';
18
- export { urlPrefix, formRulsRegMap, formatListProps, formatTableProps, formatCarouselProps, formatImageProps, formatDescriptionsProps, formatFormProps, formatHighCodeProps, formatEchartLineProps, formatEchartPieProps, formatLoopProps, formatStyleProps, staticCodeAssemble, patternTransitionRegExp, stringPramarsValTransition, stringScriptExecution, };
20
+ export { urlPrefix, formRulsRegMap, formatListProps, formatTableProps, formatCarouselProps, formatImageProps, formatDescriptionsProps, formatFormProps, formatHighCodeProps, formatEchartLineProps, formatEchartPieProps, formatChartsProps, formatLoopProps, formatStyleProps, formatStepsProps, staticCodeAssemble, patternTransitionRegExp, stringPramarsValTransition, stringScriptExecution, };
@@ -10,10 +10,12 @@ import formatHighCodeProps from "./formatHighCodeProps";
10
10
  import formatFormProps from "./formatFormProps";
11
11
  import formatEchartLineProps from "./formatEchartLineProps";
12
12
  import formatEchartPieProps from "./formatEchartPieProps";
13
+ import formatChartsProps from "./formatChartsProps";
13
14
  import formatLoopProps from "./formatLoopProps";
14
15
  import formatStyleProps from "./formatStyleProps";
16
+ import formatStepsProps from "./formatStepsProps";
15
17
  import formRulsRegMap from "./formRulsRegMap";
16
18
  import urlPrefix from "./urlPrefix";
17
19
  import { stringScriptExecution } from "./stringScriptExecution";
18
- export { urlPrefix, formRulsRegMap, formatListProps, formatTableProps, formatCarouselProps, formatImageProps, formatDescriptionsProps, formatFormProps, formatHighCodeProps, formatEchartLineProps, formatEchartPieProps, formatLoopProps, formatStyleProps, staticCodeAssemble, patternTransitionRegExp, stringPramarsValTransition, stringScriptExecution };
20
+ export { urlPrefix, formRulsRegMap, formatListProps, formatTableProps, formatCarouselProps, formatImageProps, formatDescriptionsProps, formatFormProps, formatHighCodeProps, formatEchartLineProps, formatEchartPieProps, formatChartsProps, formatLoopProps, formatStyleProps, formatStepsProps, staticCodeAssemble, patternTransitionRegExp, stringPramarsValTransition, stringScriptExecution };
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["stringPramarsValTransition","patternTransitionRegExp","staticCodeAssemble","formatTableProps","formatListProps","formatImageProps","formatCarouselProps","formatDescriptionsProps","formatHighCodeProps","formatFormProps","formatEchartLineProps","formatEchartPieProps","formatLoopProps","formatStyleProps","formRulsRegMap","urlPrefix","stringScriptExecution"],"sources":["../../../../src/formatModule/helpers/index.ts"],"sourcesContent":["import stringPramarsValTransition from './stringPramarsValTransition';\nimport patternTransitionRegExp from './patternTransitionRegExp';\nimport staticCodeAssemble from './staticCodeAssemble';\nimport formatTableProps from './formatTableProps';\nimport formatListProps from './formatListProps';\nimport formatImageProps from './formatImageProps';\nimport formatCarouselProps from './formatCarouselProps';\nimport formatDescriptionsProps from './formatDescriptionsProps';\nimport formatHighCodeProps from './formatHighCodeProps';\nimport formatFormProps from './formatFormProps';\nimport formatEchartLineProps from './formatEchartLineProps';\nimport formatEchartPieProps from './formatEchartPieProps';\nimport formatLoopProps from './formatLoopProps';\nimport formatStyleProps from './formatStyleProps';\nimport formRulsRegMap from './formRulsRegMap';\nimport urlPrefix from './urlPrefix';\nimport { stringScriptExecution } from './stringScriptExecution';\n\nexport {\n urlPrefix,\n formRulsRegMap,\n formatListProps,\n formatTableProps,\n formatCarouselProps,\n formatImageProps,\n formatDescriptionsProps,\n formatFormProps,\n formatHighCodeProps,\n formatEchartLineProps,\n formatEchartPieProps,\n formatLoopProps,\n formatStyleProps,\n staticCodeAssemble,\n patternTransitionRegExp,\n stringPramarsValTransition,\n stringScriptExecution,\n};\n"],"mappings":"AAAA,OAAOA,0BAA0B;AACjC,OAAOC,uBAAuB;AAC9B,OAAOC,kBAAkB;AACzB,OAAOC,gBAAgB;AACvB,OAAOC,eAAe;AACtB,OAAOC,gBAAgB;AACvB,OAAOC,mBAAmB;AAC1B,OAAOC,uBAAuB;AAC9B,OAAOC,mBAAmB;AAC1B,OAAOC,eAAe;AACtB,OAAOC,qBAAqB;AAC5B,OAAOC,oBAAoB;AAC3B,OAAOC,eAAe;AACtB,OAAOC,gBAAgB;AACvB,OAAOC,cAAc;AACrB,OAAOC,SAAS;AAChB,SAASC,qBAAqB;AAE9B,SACED,SAAS,EACTD,cAAc,EACdV,eAAe,EACfD,gBAAgB,EAChBG,mBAAmB,EACnBD,gBAAgB,EAChBE,uBAAuB,EACvBE,eAAe,EACfD,mBAAmB,EACnBE,qBAAqB,EACrBC,oBAAoB,EACpBC,eAAe,EACfC,gBAAgB,EAChBX,kBAAkB,EAClBD,uBAAuB,EACvBD,0BAA0B,EAC1BgB,qBAAqB"}
1
+ {"version":3,"names":["stringPramarsValTransition","patternTransitionRegExp","staticCodeAssemble","formatTableProps","formatListProps","formatImageProps","formatCarouselProps","formatDescriptionsProps","formatHighCodeProps","formatFormProps","formatEchartLineProps","formatEchartPieProps","formatChartsProps","formatLoopProps","formatStyleProps","formatStepsProps","formRulsRegMap","urlPrefix","stringScriptExecution"],"sources":["../../../../src/formatModule/helpers/index.ts"],"sourcesContent":["import stringPramarsValTransition from './stringPramarsValTransition';\nimport patternTransitionRegExp from './patternTransitionRegExp';\nimport staticCodeAssemble from './staticCodeAssemble';\nimport formatTableProps from './formatTableProps';\nimport formatListProps from './formatListProps';\nimport formatImageProps from './formatImageProps';\nimport formatCarouselProps from './formatCarouselProps';\nimport formatDescriptionsProps from './formatDescriptionsProps';\nimport formatHighCodeProps from './formatHighCodeProps';\nimport formatFormProps from './formatFormProps';\nimport formatEchartLineProps from './formatEchartLineProps';\nimport formatEchartPieProps from './formatEchartPieProps';\nimport formatChartsProps from './formatChartsProps';\nimport formatLoopProps from './formatLoopProps';\nimport formatStyleProps from './formatStyleProps';\nimport formatStepsProps from './formatStepsProps';\nimport formRulsRegMap from './formRulsRegMap';\nimport urlPrefix from './urlPrefix';\nimport { stringScriptExecution } from './stringScriptExecution';\n\nexport {\n urlPrefix,\n formRulsRegMap,\n formatListProps,\n formatTableProps,\n formatCarouselProps,\n formatImageProps,\n formatDescriptionsProps,\n formatFormProps,\n formatHighCodeProps,\n formatEchartLineProps,\n formatEchartPieProps,\n formatChartsProps,\n formatLoopProps,\n formatStyleProps,\n formatStepsProps,\n staticCodeAssemble,\n patternTransitionRegExp,\n stringPramarsValTransition,\n stringScriptExecution,\n};\n"],"mappings":"AAAA,OAAOA,0BAA0B;AACjC,OAAOC,uBAAuB;AAC9B,OAAOC,kBAAkB;AACzB,OAAOC,gBAAgB;AACvB,OAAOC,eAAe;AACtB,OAAOC,gBAAgB;AACvB,OAAOC,mBAAmB;AAC1B,OAAOC,uBAAuB;AAC9B,OAAOC,mBAAmB;AAC1B,OAAOC,eAAe;AACtB,OAAOC,qBAAqB;AAC5B,OAAOC,oBAAoB;AAC3B,OAAOC,iBAAiB;AACxB,OAAOC,eAAe;AACtB,OAAOC,gBAAgB;AACvB,OAAOC,gBAAgB;AACvB,OAAOC,cAAc;AACrB,OAAOC,SAAS;AAChB,SAASC,qBAAqB;AAE9B,SACED,SAAS,EACTD,cAAc,EACdZ,eAAe,EACfD,gBAAgB,EAChBG,mBAAmB,EACnBD,gBAAgB,EAChBE,uBAAuB,EACvBE,eAAe,EACfD,mBAAmB,EACnBE,qBAAqB,EACrBC,oBAAoB,EACpBC,iBAAiB,EACjBC,eAAe,EACfC,gBAAgB,EAChBC,gBAAgB,EAChBb,kBAAkB,EAClBD,uBAAuB,EACvBD,0BAA0B,EAC1BkB,qBAAqB"}
@@ -1,4 +1,4 @@
1
1
  declare const stringPramarsValTransition: (contentStr: string, pararms?: {
2
2
  [key: string]: any;
3
- }) => string;
3
+ }, isObject2String?: boolean) => string;
4
4
  export default stringPramarsValTransition;
@@ -9,5 +9,6 @@ import { patternTransitionRegExp, stringPramarsValTransition, stringScriptExecut
9
9
  import loopPageStaticCodeMap from './loopPageStaticCodeMap';
10
10
  import scriptExecution, { type scriptExecutionType } from './scriptExecution';
11
11
  import { getFileUrlById, getRemoteComponentUrlByCode, getRemoteComponentUrlById } from './file';
12
+ import { isValidUrl, sanitizeRedirectUrl, safeRedirect, sanitizeEventHandler } from './securityUtils';
12
13
  export type { fileToBase64Type, asyncLocalStorageType, asyncSessionStorageType, scriptExecutionType, };
13
- export { fileToBase64, CookieUtils, argsToString, argsToObject, getSearchObj, asyncLocalStorage, asyncSessionStorage, camelToSnake, underscoreToCamelCase, generateRandom18Int, formatModuleData, patternTransitionRegExp, stringPramarsValTransition, loopPageStaticCodeMap, getDataArr, replaceParamsValue, replaceParamsValueForEvent, getParamsContentByParamKeys, getFileUrlById, getRemoteComponentUrlByCode, getRemoteComponentUrlById, stringScriptExecution, scriptExecution, };
14
+ export { fileToBase64, CookieUtils, argsToString, argsToObject, getSearchObj, asyncLocalStorage, asyncSessionStorage, camelToSnake, underscoreToCamelCase, generateRandom18Int, formatModuleData, patternTransitionRegExp, stringPramarsValTransition, loopPageStaticCodeMap, getDataArr, replaceParamsValue, replaceParamsValueForEvent, getParamsContentByParamKeys, getFileUrlById, getRemoteComponentUrlByCode, getRemoteComponentUrlById, stringScriptExecution, scriptExecution, isValidUrl, sanitizeRedirectUrl, safeRedirect, sanitizeEventHandler, };
package/dist/esm/index.js CHANGED
@@ -9,9 +9,10 @@ import { patternTransitionRegExp, stringPramarsValTransition, stringScriptExecut
9
9
  import loopPageStaticCodeMap from "./loopPageStaticCodeMap";
10
10
  import scriptExecution from "./scriptExecution";
11
11
  import { getFileUrlById, getRemoteComponentUrlByCode, getRemoteComponentUrlById } from "./file";
12
+ import { isValidUrl, sanitizeRedirectUrl, safeRedirect, sanitizeEventHandler } from "./securityUtils";
12
13
 
13
14
  // 避免 _对象 和其他库冲突
14
15
  var _ = require('lodash');
15
16
  _.noConflict();
16
- export { fileToBase64, CookieUtils, argsToString, argsToObject, getSearchObj, asyncLocalStorage, asyncSessionStorage, camelToSnake, underscoreToCamelCase, generateRandom18Int, formatModuleData, patternTransitionRegExp, stringPramarsValTransition, loopPageStaticCodeMap, getDataArr, replaceParamsValue, replaceParamsValueForEvent, getParamsContentByParamKeys, getFileUrlById, getRemoteComponentUrlByCode, getRemoteComponentUrlById, stringScriptExecution, scriptExecution };
17
+ export { fileToBase64, CookieUtils, argsToString, argsToObject, getSearchObj, asyncLocalStorage, asyncSessionStorage, camelToSnake, underscoreToCamelCase, generateRandom18Int, formatModuleData, patternTransitionRegExp, stringPramarsValTransition, loopPageStaticCodeMap, getDataArr, replaceParamsValue, replaceParamsValueForEvent, getParamsContentByParamKeys, getFileUrlById, getRemoteComponentUrlByCode, getRemoteComponentUrlById, stringScriptExecution, scriptExecution, isValidUrl, sanitizeRedirectUrl, safeRedirect, sanitizeEventHandler };
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["fileToBase64","CookieUtils","argsToString","argsToObject","getSearchObj","asyncLocalStorage","asyncSessionStorage","camelToSnake","underscoreToCamelCase","generateRandom18Int","getDataArr","replaceParamsValue","getParamsContentByParamKeys","replaceParamsValueForEvent","formatModuleData","patternTransitionRegExp","stringPramarsValTransition","stringScriptExecution","loopPageStaticCodeMap","scriptExecution","getFileUrlById","getRemoteComponentUrlByCode","getRemoteComponentUrlById","_","require","noConflict"],"sources":["../../src/index.ts"],"sourcesContent":["import fileToBase64, { type fileToBase64Type } from './fileToBase64';\nimport CookieUtils from './CookieUtils';\nimport { argsToString, argsToObject, getSearchObj } from './pathArgsUtils';\nimport {\n asyncLocalStorage,\n asyncSessionStorage,\n type asyncLocalStorageType,\n type asyncSessionStorageType,\n} from './asyncStorage';\nimport {\n camelToSnake,\n underscoreToCamelCase,\n generateRandom18Int,\n} from './stringUtils';\nimport {\n getDataArr,\n replaceParamsValue,\n getParamsContentByParamKeys,\n replaceParamsValueForEvent,\n} from './treeUtils';\nimport formatModuleData from './formatModule/formatModuleData';\nimport {\n patternTransitionRegExp,\n stringPramarsValTransition,\n stringScriptExecution,\n} from './formatModule/helpers';\nimport loopPageStaticCodeMap from './loopPageStaticCodeMap';\nimport scriptExecution, { type scriptExecutionType } from './scriptExecution';\nimport {\n getFileUrlById,\n getRemoteComponentUrlByCode,\n getRemoteComponentUrlById,\n} from './file';\n\n\n// 避免 _对象 和其他库冲突\nconst _ = require('lodash');\n\n_.noConflict();\n\nexport type {\n fileToBase64Type,\n asyncLocalStorageType,\n asyncSessionStorageType,\n scriptExecutionType,\n};\n\nexport {\n fileToBase64,\n CookieUtils,\n argsToString,\n argsToObject,\n getSearchObj,\n asyncLocalStorage,\n asyncSessionStorage,\n camelToSnake,\n underscoreToCamelCase,\n generateRandom18Int,\n formatModuleData,\n patternTransitionRegExp,\n stringPramarsValTransition,\n loopPageStaticCodeMap,\n getDataArr,\n replaceParamsValue,\n replaceParamsValueForEvent,\n getParamsContentByParamKeys,\n getFileUrlById,\n getRemoteComponentUrlByCode,\n getRemoteComponentUrlById,\n stringScriptExecution,\n scriptExecution,\n};\n"],"mappings":"AAAA,OAAOA,YAAY;AACnB,OAAOC,WAAW;AAClB,SAASC,YAAY,EAAEC,YAAY,EAAEC,YAAY;AACjD,SACEC,iBAAiB,EACjBC,mBAAmB;AAIrB,SACEC,YAAY,EACZC,qBAAqB,EACrBC,mBAAmB;AAErB,SACEC,UAAU,EACVC,kBAAkB,EAClBC,2BAA2B,EAC3BC,0BAA0B;AAE5B,OAAOC,gBAAgB;AACvB,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,qBAAqB;AAEvB,OAAOC,qBAAqB;AAC5B,OAAOC,eAAe;AACtB,SACEC,cAAc,EACdC,2BAA2B,EAC3BC,yBAAyB;;AAI3B;AACA,IAAMC,CAAC,GAAGC,OAAO,CAAC,QAAQ,CAAC;AAE3BD,CAAC,CAACE,UAAU,CAAC,CAAC;AASd,SACEzB,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,YAAY,EACZC,YAAY,EACZC,iBAAiB,EACjBC,mBAAmB,EACnBC,YAAY,EACZC,qBAAqB,EACrBC,mBAAmB,EACnBK,gBAAgB,EAChBC,uBAAuB,EACvBC,0BAA0B,EAC1BE,qBAAqB,EACrBR,UAAU,EACVC,kBAAkB,EAClBE,0BAA0B,EAC1BD,2BAA2B,EAC3BQ,cAAc,EACdC,2BAA2B,EAC3BC,yBAAyB,EACzBL,qBAAqB,EACrBE,eAAe"}
1
+ {"version":3,"names":["fileToBase64","CookieUtils","argsToString","argsToObject","getSearchObj","asyncLocalStorage","asyncSessionStorage","camelToSnake","underscoreToCamelCase","generateRandom18Int","getDataArr","replaceParamsValue","getParamsContentByParamKeys","replaceParamsValueForEvent","formatModuleData","patternTransitionRegExp","stringPramarsValTransition","stringScriptExecution","loopPageStaticCodeMap","scriptExecution","getFileUrlById","getRemoteComponentUrlByCode","getRemoteComponentUrlById","isValidUrl","sanitizeRedirectUrl","safeRedirect","sanitizeEventHandler","_","require","noConflict"],"sources":["../../src/index.ts"],"sourcesContent":["import fileToBase64, { type fileToBase64Type } from './fileToBase64';\nimport CookieUtils from './CookieUtils';\nimport { argsToString, argsToObject, getSearchObj } from './pathArgsUtils';\nimport {\n asyncLocalStorage,\n asyncSessionStorage,\n type asyncLocalStorageType,\n type asyncSessionStorageType,\n} from './asyncStorage';\nimport {\n camelToSnake,\n underscoreToCamelCase,\n generateRandom18Int,\n} from './stringUtils';\nimport {\n getDataArr,\n replaceParamsValue,\n getParamsContentByParamKeys,\n replaceParamsValueForEvent,\n} from './treeUtils';\nimport formatModuleData from './formatModule/formatModuleData';\nimport {\n patternTransitionRegExp,\n stringPramarsValTransition,\n stringScriptExecution,\n} from './formatModule/helpers';\nimport loopPageStaticCodeMap from './loopPageStaticCodeMap';\nimport scriptExecution, { type scriptExecutionType } from './scriptExecution';\nimport {\n getFileUrlById,\n getRemoteComponentUrlByCode,\n getRemoteComponentUrlById,\n} from './file';\nimport {\n isValidUrl,\n sanitizeRedirectUrl,\n safeRedirect,\n sanitizeEventHandler,\n} from './securityUtils';\n\n// 避免 _对象 和其他库冲突\nconst _ = require('lodash');\n\n_.noConflict();\n\nexport type {\n fileToBase64Type,\n asyncLocalStorageType,\n asyncSessionStorageType,\n scriptExecutionType,\n};\n\nexport {\n fileToBase64,\n CookieUtils,\n argsToString,\n argsToObject,\n getSearchObj,\n asyncLocalStorage,\n asyncSessionStorage,\n camelToSnake,\n underscoreToCamelCase,\n generateRandom18Int,\n formatModuleData,\n patternTransitionRegExp,\n stringPramarsValTransition,\n loopPageStaticCodeMap,\n getDataArr,\n replaceParamsValue,\n replaceParamsValueForEvent,\n getParamsContentByParamKeys,\n getFileUrlById,\n getRemoteComponentUrlByCode,\n getRemoteComponentUrlById,\n stringScriptExecution,\n scriptExecution,\n isValidUrl,\n sanitizeRedirectUrl,\n safeRedirect,\n sanitizeEventHandler,\n};\n"],"mappings":"AAAA,OAAOA,YAAY;AACnB,OAAOC,WAAW;AAClB,SAASC,YAAY,EAAEC,YAAY,EAAEC,YAAY;AACjD,SACEC,iBAAiB,EACjBC,mBAAmB;AAIrB,SACEC,YAAY,EACZC,qBAAqB,EACrBC,mBAAmB;AAErB,SACEC,UAAU,EACVC,kBAAkB,EAClBC,2BAA2B,EAC3BC,0BAA0B;AAE5B,OAAOC,gBAAgB;AACvB,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,qBAAqB;AAEvB,OAAOC,qBAAqB;AAC5B,OAAOC,eAAe;AACtB,SACEC,cAAc,EACdC,2BAA2B,EAC3BC,yBAAyB;AAE3B,SACEC,UAAU,EACVC,mBAAmB,EACnBC,YAAY,EACZC,oBAAoB;;AAGtB;AACA,IAAMC,CAAC,GAAGC,OAAO,CAAC,QAAQ,CAAC;AAE3BD,CAAC,CAACE,UAAU,CAAC,CAAC;AASd,SACE7B,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,YAAY,EACZC,YAAY,EACZC,iBAAiB,EACjBC,mBAAmB,EACnBC,YAAY,EACZC,qBAAqB,EACrBC,mBAAmB,EACnBK,gBAAgB,EAChBC,uBAAuB,EACvBC,0BAA0B,EAC1BE,qBAAqB,EACrBR,UAAU,EACVC,kBAAkB,EAClBE,0BAA0B,EAC1BD,2BAA2B,EAC3BQ,cAAc,EACdC,2BAA2B,EAC3BC,yBAAyB,EACzBL,qBAAqB,EACrBE,eAAe,EACfI,UAAU,EACVC,mBAAmB,EACnBC,YAAY,EACZC,oBAAoB"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * 安全工具函数,用于防止XSS等安全漏洞
3
+ */
4
+ /**
5
+ * 验证URL是否安全,防止XSS攻击
6
+ * @param url 待验证的URL
7
+ * @returns 是否为安全的URL
8
+ */
9
+ export declare const isValidUrl: (url: string) => boolean;
10
+ /**
11
+ * 清理和验证重定向URL,确保安全
12
+ * @param url 待清理的URL
13
+ * @param allowedDomains 允许的域名列表,为空时允许同源URL
14
+ * @returns 清理后的安全URL,如果不安全则返回默认URL
15
+ */
16
+ export declare const sanitizeRedirectUrl: (url: string, allowedDomains?: string[], defaultUrl?: string) => string;
17
+ /**
18
+ * 安全地设置window.location.href,防止XSS攻击
19
+ * @param url 目标URL
20
+ * @param allowedDomains 允许的域名列表
21
+ */
22
+ export declare const safeRedirect: (url: string, allowedDomains?: string[]) => void;
23
+ /**
24
+ * 验证和清理事件处理器,防止恶意代码注入
25
+ * @param handler 事件处理函数
26
+ * @returns 安全的事件处理函数
27
+ */
28
+ export declare const sanitizeEventHandler: (handler: Function) => Function;
@@ -0,0 +1,101 @@
1
+ /**
2
+ * 安全工具函数,用于防止XSS等安全漏洞
3
+ */
4
+
5
+ /**
6
+ * 验证URL是否安全,防止XSS攻击
7
+ * @param url 待验证的URL
8
+ * @returns 是否为安全的URL
9
+ */
10
+ export var isValidUrl = function isValidUrl(url) {
11
+ if (!url || typeof url !== 'string') {
12
+ return false;
13
+ }
14
+ try {
15
+ var urlObj = new URL(url, window.location.origin);
16
+
17
+ // 只允许http和https协议,防止javascript:等危险协议
18
+ if (!['http:', 'https:'].includes(urlObj.protocol)) {
19
+ return false;
20
+ }
21
+
22
+ // 检查是否包含危险字符
23
+ var dangerousPatterns = [/javascript:/i, /vbscript:/i, /data:/i, /file:/i, /<script/i, /onload=/i, /onerror=/i, /onclick=/i];
24
+ return !dangerousPatterns.some(function (pattern) {
25
+ return pattern.test(url);
26
+ });
27
+ } catch (_unused) {
28
+ return false;
29
+ }
30
+ };
31
+
32
+ /**
33
+ * 清理和验证重定向URL,确保安全
34
+ * @param url 待清理的URL
35
+ * @param allowedDomains 允许的域名列表,为空时允许同源URL
36
+ * @returns 清理后的安全URL,如果不安全则返回默认URL
37
+ */
38
+ export var sanitizeRedirectUrl = function sanitizeRedirectUrl(url) {
39
+ var allowedDomains = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
40
+ var defaultUrl = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '/';
41
+ if (!url || typeof url !== 'string') {
42
+ return defaultUrl;
43
+ }
44
+
45
+ // 基本URL验证
46
+ if (!isValidUrl(url)) {
47
+ return defaultUrl;
48
+ }
49
+ try {
50
+ var urlObj = new URL(url, window.location.origin);
51
+ var currentHost = window.location.hostname;
52
+
53
+ // 如果没有指定允许的域名,只允许同源URL
54
+ if (allowedDomains.length === 0) {
55
+ if (urlObj.hostname !== currentHost) {
56
+ return defaultUrl;
57
+ }
58
+ } else {
59
+ // 检查是否在允许的域名列表中
60
+ var isAllowedDomain = allowedDomains.some(function (domain) {
61
+ return urlObj.hostname === domain || urlObj.hostname.endsWith(".".concat(domain));
62
+ });
63
+ if (!isAllowedDomain && urlObj.hostname !== currentHost) {
64
+ return defaultUrl;
65
+ }
66
+ }
67
+ return urlObj.toString();
68
+ } catch (_unused2) {
69
+ return defaultUrl;
70
+ }
71
+ };
72
+
73
+ /**
74
+ * 安全地设置window.location.href,防止XSS攻击
75
+ * @param url 目标URL
76
+ * @param allowedDomains 允许的域名列表
77
+ */
78
+ export var safeRedirect = function safeRedirect(url) {
79
+ var allowedDomains = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
80
+ var safeUrl = sanitizeRedirectUrl(url, allowedDomains);
81
+ window.location.href = safeUrl;
82
+ };
83
+
84
+ /**
85
+ * 验证和清理事件处理器,防止恶意代码注入
86
+ * @param handler 事件处理函数
87
+ * @returns 安全的事件处理函数
88
+ */
89
+ export var sanitizeEventHandler = function sanitizeEventHandler(handler) {
90
+ if (typeof handler !== 'function') {
91
+ return function () {};
92
+ }
93
+ return function () {
94
+ try {
95
+ handler.apply(void 0, arguments);
96
+ } catch (error) {
97
+ console.error('Event handler error:', error);
98
+ }
99
+ };
100
+ };
101
+ //# sourceMappingURL=securityUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isValidUrl","url","urlObj","URL","window","location","origin","includes","protocol","dangerousPatterns","some","pattern","test","_unused","sanitizeRedirectUrl","allowedDomains","arguments","length","undefined","defaultUrl","currentHost","hostname","isAllowedDomain","domain","endsWith","concat","toString","_unused2","safeRedirect","safeUrl","href","sanitizeEventHandler","handler","apply","error","console"],"sources":["../../src/securityUtils.ts"],"sourcesContent":["/**\n * 安全工具函数,用于防止XSS等安全漏洞\n */\n\n/**\n * 验证URL是否安全,防止XSS攻击\n * @param url 待验证的URL\n * @returns 是否为安全的URL\n */\nexport const isValidUrl = (url: string): boolean => {\n if (!url || typeof url !== 'string') {\n return false;\n }\n\n try {\n const urlObj = new URL(url, window.location.origin);\n \n // 只允许http和https协议,防止javascript:等危险协议\n if (!['http:', 'https:'].includes(urlObj.protocol)) {\n return false;\n }\n\n // 检查是否包含危险字符\n const dangerousPatterns = [\n /javascript:/i,\n /vbscript:/i,\n /data:/i,\n /file:/i,\n /<script/i,\n /onload=/i,\n /onerror=/i,\n /onclick=/i,\n ];\n\n return !dangerousPatterns.some(pattern => pattern.test(url));\n } catch {\n return false;\n }\n};\n\n/**\n * 清理和验证重定向URL,确保安全\n * @param url 待清理的URL\n * @param allowedDomains 允许的域名列表,为空时允许同源URL\n * @returns 清理后的安全URL,如果不安全则返回默认URL\n */\nexport const sanitizeRedirectUrl = (\n url: string,\n allowedDomains: string[] = [],\n defaultUrl: string = '/'\n): string => {\n if (!url || typeof url !== 'string') {\n return defaultUrl;\n }\n\n // 基本URL验证\n if (!isValidUrl(url)) {\n return defaultUrl;\n }\n\n try {\n const urlObj = new URL(url, window.location.origin);\n const currentHost = window.location.hostname;\n\n // 如果没有指定允许的域名,只允许同源URL\n if (allowedDomains.length === 0) {\n if (urlObj.hostname !== currentHost) {\n return defaultUrl;\n }\n } else {\n // 检查是否在允许的域名列表中\n const isAllowedDomain = allowedDomains.some(domain =>\n urlObj.hostname === domain || urlObj.hostname.endsWith(`.${domain}`)\n );\n \n if (!isAllowedDomain && urlObj.hostname !== currentHost) {\n return defaultUrl;\n }\n }\n\n return urlObj.toString();\n } catch {\n return defaultUrl;\n }\n};\n\n/**\n * 安全地设置window.location.href,防止XSS攻击\n * @param url 目标URL\n * @param allowedDomains 允许的域名列表\n */\nexport const safeRedirect = (url: string, allowedDomains: string[] = []): void => {\n const safeUrl = sanitizeRedirectUrl(url, allowedDomains);\n window.location.href = safeUrl;\n};\n\n/**\n * 验证和清理事件处理器,防止恶意代码注入\n * @param handler 事件处理函数\n * @returns 安全的事件处理函数\n */\nexport const sanitizeEventHandler = (handler: Function): Function => {\n if (typeof handler !== 'function') {\n return () => {};\n }\n \n return (...args: any[]) => {\n try {\n handler(...args);\n } catch (error) {\n console.error('Event handler error:', error);\n }\n };\n};\n"],"mappings":"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"}
@@ -19,7 +19,7 @@ export declare const replaceLoopBodyParamsValue: (contentStr: string, options: {
19
19
  }) => string;
20
20
  export declare const replaceParamsValue: (contentStr: string, pararms?: {
21
21
  [key: string]: any;
22
- }) => string;
22
+ }, isObject2String?: boolean) => string;
23
23
  /**
24
24
  * 提供给事件参数转换那边的方法
25
25
  * 和replaceParamsValue 区别,
@@ -1,3 +1,4 @@
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); }
1
2
  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; } } }; }
2
3
  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); }
3
4
  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; }
@@ -153,10 +154,14 @@ export var replaceLoopBodyParamsValue = function replaceLoopBodyParamsValue(cont
153
154
  };
154
155
  export var replaceParamsValue = function replaceParamsValue(contentStr) {
155
156
  var pararms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
157
+ var isObject2String = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
156
158
  var nowContent = '';
157
159
  if (typeof contentStr === 'string' && contentStr && pararms) {
158
160
  nowContent = contentStr.replace(/\$\{\{?[^{}]+}?\}/g, function (match) {
159
161
  var filedVal = getParamsContentByParamKeys(match, pararms);
162
+ if (isObject2String && _typeof(filedVal) === 'object') {
163
+ return JSON.stringify(filedVal);
164
+ }
160
165
  return filedVal || '';
161
166
  });
162
167
  }
@@ -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","nowContent","splitStringWithTemplateLiteral","input","templateRegex","matches","result","Boolean","index","splice","getParamsContentByParamKeysForEvent","_matchs$","replaceParamsValueForEvent","_Object$keys2","valueArr","JSON","stringify","_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) => {\n let nowContent:string = '';\n if (typeof contentStr === 'string' && contentStr && pararms) {\n nowContent = contentStr.replace(/\\$\\{\\{?[^{}]+}?\\}/g, (match) => {\n const filedVal = getParamsContentByParamKeys(match, pararms);\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":"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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"}