@visactor/vtable 0.23.4 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/cjs/ListTable.d.ts +5 -1
  2. package/cjs/ListTable.js +20 -5
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.d.ts +1 -1
  5. package/cjs/PivotChart.js +5 -3
  6. package/cjs/PivotChart.js.map +1 -1
  7. package/cjs/PivotTable.d.ts +4 -1
  8. package/cjs/PivotTable.js +31 -14
  9. package/cjs/PivotTable.js.map +1 -1
  10. package/cjs/body-helper/body-helper.d.ts +2 -1
  11. package/cjs/body-helper/body-helper.js +4 -1
  12. package/cjs/body-helper/body-helper.js.map +1 -1
  13. package/cjs/body-helper/style/RadioStyle.d.ts +45 -0
  14. package/cjs/body-helper/style/RadioStyle.js +111 -0
  15. package/cjs/body-helper/style/RadioStyle.js.map +1 -0
  16. package/cjs/body-helper/style.js +3 -3
  17. package/cjs/body-helper/style.js.map +1 -1
  18. package/cjs/core/BaseTable.d.ts +3 -1
  19. package/cjs/core/BaseTable.js +16 -6
  20. package/cjs/core/BaseTable.js.map +1 -1
  21. package/cjs/core/TABLE_EVENT_TYPE.d.ts +1 -0
  22. package/cjs/core/TABLE_EVENT_TYPE.js +1 -0
  23. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  24. package/cjs/dataset/dataset.js +1 -1
  25. package/cjs/dataset/dataset.js.map +1 -1
  26. package/cjs/dataset/flatDataToObject.d.ts +1 -0
  27. package/cjs/dataset/flatDataToObject.js +7 -1
  28. package/cjs/dataset/flatDataToObject.js.map +1 -1
  29. package/cjs/edit/edit-manager.js +2 -0
  30. package/cjs/edit/edit-manager.js.map +1 -1
  31. package/cjs/event/event.js +1 -1
  32. package/cjs/event/event.js.map +1 -1
  33. package/cjs/event/listener/table-group.js +42 -0
  34. package/cjs/event/listener/table-group.js.map +1 -1
  35. package/cjs/event/util.d.ts +1 -0
  36. package/cjs/event/util.js +3 -2
  37. package/cjs/event/util.js.map +1 -1
  38. package/cjs/index.d.ts +1 -1
  39. package/cjs/index.js +1 -1
  40. package/cjs/index.js.map +1 -1
  41. package/cjs/layout/pivot-header-layout.d.ts +2 -2
  42. package/cjs/layout/pivot-header-layout.js +8 -11
  43. package/cjs/layout/pivot-header-layout.js.map +1 -1
  44. package/cjs/layout/tree-helper.js +6 -6
  45. package/cjs/layout/tree-helper.js.map +1 -1
  46. package/cjs/render/jsx/index.d.ts +3 -1
  47. package/cjs/render/jsx/index.js +10 -2
  48. package/cjs/render/jsx/index.js.map +1 -1
  49. package/cjs/render/layout/index.d.ts +1 -0
  50. package/cjs/render/layout/index.js +20 -6
  51. package/cjs/render/layout/index.js.map +1 -1
  52. package/cjs/scenegraph/component/custom.js +3 -3
  53. package/cjs/scenegraph/component/custom.js.map +1 -1
  54. package/cjs/scenegraph/group-creater/cell-helper.js +13 -11
  55. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  56. package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  57. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +20 -5
  58. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  59. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +1 -1
  60. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +24 -9
  61. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  62. package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +5 -5
  63. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +21 -5
  64. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  65. package/cjs/scenegraph/group-creater/cell-type/radio-cell.d.ts +5 -0
  66. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js +148 -0
  67. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -0
  68. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -1
  69. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +19 -4
  70. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  71. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  72. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +24 -8
  73. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  74. package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  75. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +21 -5
  76. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  77. package/cjs/scenegraph/group-creater/column-helper.d.ts +1 -1
  78. package/cjs/scenegraph/group-creater/column-helper.js +12 -2
  79. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  80. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  81. package/cjs/scenegraph/layout/compute-col-width.js +26 -6
  82. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  83. package/cjs/scenegraph/layout/compute-row-height.js +12 -34
  84. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  85. package/cjs/scenegraph/layout/height-util.d.ts +5 -0
  86. package/cjs/scenegraph/layout/height-util.js +88 -0
  87. package/cjs/scenegraph/layout/height-util.js.map +1 -0
  88. package/cjs/scenegraph/layout/update-height.js +1 -1
  89. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  90. package/cjs/scenegraph/layout/update-width.js +1 -1
  91. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  92. package/cjs/scenegraph/scenegraph.js +1 -1
  93. package/cjs/scenegraph/utils/break-string.d.ts +2 -1
  94. package/cjs/scenegraph/utils/break-string.js +13 -30
  95. package/cjs/scenegraph/utils/break-string.js.map +1 -1
  96. package/cjs/scenegraph/utils/text-icon-layout.js +7 -7
  97. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  98. package/cjs/state/checkbox/checkbox.d.ts +9 -0
  99. package/cjs/state/checkbox/checkbox.js +108 -0
  100. package/cjs/state/checkbox/checkbox.js.map +1 -0
  101. package/cjs/state/radio/radio.d.ts +6 -0
  102. package/cjs/state/radio/radio.js +80 -0
  103. package/cjs/state/radio/radio.js.map +1 -0
  104. package/cjs/state/state.d.ts +3 -0
  105. package/cjs/state/state.js +15 -71
  106. package/cjs/state/state.js.map +1 -1
  107. package/cjs/themes/component.js +1 -1
  108. package/cjs/themes/theme.d.ts +2 -0
  109. package/cjs/themes/theme.js +10 -1
  110. package/cjs/themes/theme.js.map +1 -1
  111. package/cjs/ts-types/base-table.d.ts +4 -1
  112. package/cjs/ts-types/base-table.js.map +1 -1
  113. package/cjs/ts-types/column/style.d.ts +20 -0
  114. package/cjs/ts-types/column/style.js.map +1 -1
  115. package/cjs/ts-types/column/type.d.ts +1 -1
  116. package/cjs/ts-types/column/type.js.map +1 -1
  117. package/cjs/ts-types/events.d.ts +4 -0
  118. package/cjs/ts-types/events.js.map +1 -1
  119. package/cjs/ts-types/list-table/define/index.d.ts +4 -2
  120. package/cjs/ts-types/list-table/define/index.js.map +1 -1
  121. package/cjs/ts-types/list-table/define/radio-define.d.ts +11 -0
  122. package/cjs/ts-types/list-table/define/radio-define.js +6 -0
  123. package/cjs/ts-types/list-table/define/radio-define.js.map +1 -0
  124. package/cjs/ts-types/list-table/layout-map/api.d.ts +1 -1
  125. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  126. package/cjs/ts-types/table-engine.d.ts +1 -1
  127. package/cjs/ts-types/table-engine.js.map +1 -1
  128. package/cjs/ts-types/theme.d.ts +2 -1
  129. package/cjs/ts-types/theme.js.map +1 -1
  130. package/cjs/vrender.js.map +1 -1
  131. package/dist/vtable.js +2286 -901
  132. package/dist/vtable.min.js +2 -2
  133. package/es/ListTable.d.ts +5 -1
  134. package/es/ListTable.js +23 -4
  135. package/es/ListTable.js.map +1 -1
  136. package/es/PivotChart.d.ts +1 -1
  137. package/es/PivotChart.js +5 -3
  138. package/es/PivotChart.js.map +1 -1
  139. package/es/PivotTable.d.ts +4 -1
  140. package/es/PivotTable.js +31 -14
  141. package/es/PivotTable.js.map +1 -1
  142. package/es/body-helper/body-helper.d.ts +2 -1
  143. package/es/body-helper/body-helper.js +5 -0
  144. package/es/body-helper/body-helper.js.map +1 -1
  145. package/es/body-helper/style/RadioStyle.d.ts +45 -0
  146. package/es/body-helper/style/RadioStyle.js +103 -0
  147. package/es/body-helper/style/RadioStyle.js.map +1 -0
  148. package/es/body-helper/style.js +4 -2
  149. package/es/body-helper/style.js.map +1 -1
  150. package/es/core/BaseTable.d.ts +3 -1
  151. package/es/core/BaseTable.js +16 -6
  152. package/es/core/BaseTable.js.map +1 -1
  153. package/es/core/TABLE_EVENT_TYPE.d.ts +1 -0
  154. package/es/core/TABLE_EVENT_TYPE.js +1 -0
  155. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  156. package/es/dataset/dataset.js +1 -1
  157. package/es/dataset/dataset.js.map +1 -1
  158. package/es/dataset/flatDataToObject.d.ts +1 -0
  159. package/es/dataset/flatDataToObject.js +7 -1
  160. package/es/dataset/flatDataToObject.js.map +1 -1
  161. package/es/edit/edit-manager.js +2 -0
  162. package/es/edit/edit-manager.js.map +1 -1
  163. package/es/event/event.js +1 -1
  164. package/es/event/event.js.map +1 -1
  165. package/es/event/listener/table-group.js +41 -1
  166. package/es/event/listener/table-group.js.map +1 -1
  167. package/es/event/util.d.ts +1 -0
  168. package/es/event/util.js +2 -0
  169. package/es/event/util.js.map +1 -1
  170. package/es/index.d.ts +1 -1
  171. package/es/index.js +1 -1
  172. package/es/index.js.map +1 -1
  173. package/es/layout/pivot-header-layout.d.ts +2 -2
  174. package/es/layout/pivot-header-layout.js +8 -11
  175. package/es/layout/pivot-header-layout.js.map +1 -1
  176. package/es/layout/tree-helper.js +6 -6
  177. package/es/layout/tree-helper.js.map +1 -1
  178. package/es/render/jsx/index.d.ts +3 -1
  179. package/es/render/jsx/index.js +9 -1
  180. package/es/render/jsx/index.js.map +1 -1
  181. package/es/render/layout/index.d.ts +1 -0
  182. package/es/render/layout/index.js +2 -0
  183. package/es/render/layout/index.js.map +1 -1
  184. package/es/scenegraph/component/custom.js +3 -3
  185. package/es/scenegraph/component/custom.js.map +1 -1
  186. package/es/scenegraph/group-creater/cell-helper.js +12 -10
  187. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  188. package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  189. package/es/scenegraph/group-creater/cell-type/chart-cell.js +20 -5
  190. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  191. package/es/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +1 -1
  192. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +23 -8
  193. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  194. package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +5 -5
  195. package/es/scenegraph/group-creater/cell-type/image-cell.js +21 -5
  196. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  197. package/es/scenegraph/group-creater/cell-type/radio-cell.d.ts +5 -0
  198. package/es/scenegraph/group-creater/cell-type/radio-cell.js +141 -0
  199. package/es/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -0
  200. package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -1
  201. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +19 -4
  202. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  203. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  204. package/es/scenegraph/group-creater/cell-type/text-cell.js +24 -8
  205. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  206. package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  207. package/es/scenegraph/group-creater/cell-type/video-cell.js +21 -5
  208. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  209. package/es/scenegraph/group-creater/column-helper.d.ts +1 -1
  210. package/es/scenegraph/group-creater/column-helper.js +13 -1
  211. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  212. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  213. package/es/scenegraph/layout/compute-col-width.js +22 -7
  214. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  215. package/es/scenegraph/layout/compute-row-height.js +12 -36
  216. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  217. package/es/scenegraph/layout/height-util.d.ts +5 -0
  218. package/es/scenegraph/layout/height-util.js +83 -0
  219. package/es/scenegraph/layout/height-util.js.map +1 -0
  220. package/es/scenegraph/layout/update-height.js +1 -1
  221. package/es/scenegraph/layout/update-height.js.map +1 -1
  222. package/es/scenegraph/layout/update-width.js +1 -1
  223. package/es/scenegraph/layout/update-width.js.map +1 -1
  224. package/es/scenegraph/scenegraph.js +1 -1
  225. package/es/scenegraph/utils/break-string.d.ts +2 -1
  226. package/es/scenegraph/utils/break-string.js +6 -27
  227. package/es/scenegraph/utils/break-string.js.map +1 -1
  228. package/es/scenegraph/utils/text-icon-layout.js +8 -8
  229. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  230. package/es/state/checkbox/checkbox.d.ts +9 -0
  231. package/es/state/checkbox/checkbox.js +99 -0
  232. package/es/state/checkbox/checkbox.js.map +1 -0
  233. package/es/state/radio/radio.d.ts +6 -0
  234. package/es/state/radio/radio.js +65 -0
  235. package/es/state/radio/radio.js.map +1 -0
  236. package/es/state/state.d.ts +3 -0
  237. package/es/state/state.js +18 -71
  238. package/es/state/state.js.map +1 -1
  239. package/es/themes/component.js +1 -1
  240. package/es/themes/theme.d.ts +2 -0
  241. package/es/themes/theme.js +9 -1
  242. package/es/themes/theme.js.map +1 -1
  243. package/es/ts-types/base-table.d.ts +4 -1
  244. package/es/ts-types/base-table.js.map +1 -1
  245. package/es/ts-types/column/style.d.ts +20 -0
  246. package/es/ts-types/column/style.js.map +1 -1
  247. package/es/ts-types/column/type.d.ts +1 -1
  248. package/es/ts-types/column/type.js.map +1 -1
  249. package/es/ts-types/events.d.ts +4 -0
  250. package/es/ts-types/events.js.map +1 -1
  251. package/es/ts-types/list-table/define/index.d.ts +4 -2
  252. package/es/ts-types/list-table/define/index.js.map +1 -1
  253. package/es/ts-types/list-table/define/radio-define.d.ts +11 -0
  254. package/es/ts-types/list-table/define/radio-define.js +2 -0
  255. package/es/ts-types/list-table/define/radio-define.js.map +1 -0
  256. package/es/ts-types/list-table/layout-map/api.d.ts +1 -1
  257. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  258. package/es/ts-types/table-engine.d.ts +1 -1
  259. package/es/ts-types/table-engine.js.map +1 -1
  260. package/es/ts-types/theme.d.ts +2 -1
  261. package/es/ts-types/theme.js.map +1 -1
  262. package/es/vrender.js.map +1 -1
  263. package/package.json +7 -7
  264. package/cjs/scenegraph/layout/auto-height.d.ts +0 -1
  265. package/cjs/scenegraph/layout/auto-height.js +0 -15
  266. package/cjs/scenegraph/layout/auto-height.js.map +0 -1
  267. package/es/scenegraph/layout/auto-height.d.ts +0 -1
  268. package/es/scenegraph/layout/auto-height.js +0 -11
  269. package/es/scenegraph/layout/auto-height.js.map +0 -1
@@ -23,7 +23,7 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
23
23
  set header(header: ColumnsDefine);
24
24
  get transpose(): boolean;
25
25
  set transpose(transpose: boolean);
26
- getCellValue(col: number, row: number): FieldData;
26
+ getCellValue(col: number, row: number, skipCustomMerge?: boolean): FieldData;
27
27
  getCellOriginValue(col: number, row: number): FieldData;
28
28
  getCellRawValue(col: number, row: number): FieldData;
29
29
  getRecordShowIndexByCell(col: number, row: number): number;
@@ -60,6 +60,10 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
60
60
  updateFilterRules(filterRules: FilterRules): void;
61
61
  getCheckboxState(field?: string | number): boolean[] | Record<string | number, boolean>[];
62
62
  getCellCheckboxState(col: number, row: number): boolean;
63
+ getRadioState(field?: string | number): number | Record<string | number, number | Record<number, number>>;
64
+ getCellRadioState(col: number, row: number): boolean | number;
65
+ setCellCheckboxState(col: number, row: number, checked: boolean): void;
66
+ setCellRadioState(col: number, row: number, index?: number): void;
63
67
  setRecords(records: Array<any>, option?: {
64
68
  sortState?: SortState | SortState[];
65
69
  }): void;
package/cjs/ListTable.js CHANGED
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "__esModule", {
29
29
  value: !0
30
30
  }), exports.ListTable = void 0;
31
31
 
32
- const ts_types_1 = require("./ts-types"), layout_1 = require("./layout"), vutils_1 = require("@visactor/vutils"), tableHelper_1 = require("./core/tableHelper"), core_1 = require("./core"), TABLE_EVENT_TYPE_1 = require("./core/TABLE_EVENT_TYPE"), title_1 = require("./components/title/title"), env_1 = require("./tools/env"), editors = __importStar(require("./edit/editors")), edit_manager_1 = require("./edit/edit-manager"), compute_col_width_1 = require("./scenegraph/layout/compute-col-width"), compute_row_height_1 = require("./scenegraph/layout/compute-row-height"), util_1 = require("./tools/util"), vutils_extension_1 = require("@visactor/vutils-extension");
32
+ const ts_types_1 = require("./ts-types"), layout_1 = require("./layout"), vutils_1 = require("@visactor/vutils"), tableHelper_1 = require("./core/tableHelper"), core_1 = require("./core"), TABLE_EVENT_TYPE_1 = require("./core/TABLE_EVENT_TYPE"), title_1 = require("./components/title/title"), env_1 = require("./tools/env"), editors = __importStar(require("./edit/editors")), edit_manager_1 = require("./edit/edit-manager"), compute_col_width_1 = require("./scenegraph/layout/compute-col-width"), compute_row_height_1 = require("./scenegraph/layout/compute-row-height"), util_1 = require("./tools/util"), radio_1 = require("./state/radio/radio"), vutils_extension_1 = require("@visactor/vutils-extension"), checkbox_1 = require("./state/checkbox/checkbox");
33
33
 
34
34
  class ListTable extends core_1.BaseTable {
35
35
  constructor(container, options) {
@@ -102,10 +102,12 @@ class ListTable extends core_1.BaseTable {
102
102
  this.options.transpose = transpose, this.internalProps.layoutMap && (this.internalProps.layoutMap.transpose = transpose,
103
103
  this.refreshRowColCount(), this._resetFrozenColCount(), this.renderAsync()));
104
104
  }
105
- getCellValue(col, row) {
105
+ getCellValue(col, row, skipCustomMerge) {
106
106
  if (-1 === col || -1 === row) return null;
107
- const customMergeText = this.getCustomMergeValue(col, row);
108
- if (customMergeText) return customMergeText;
107
+ if (!skipCustomMerge) {
108
+ const customMergeText = this.getCustomMergeValue(col, row);
109
+ if (customMergeText) return customMergeText;
110
+ }
109
111
  const table = this;
110
112
  if (table.internalProps.layoutMap.isSeriesNumber(col, row)) {
111
113
  if (table.internalProps.layoutMap.isSeriesNumberInHeader(col, row)) {
@@ -214,7 +216,8 @@ class ListTable extends core_1.BaseTable {
214
216
  var _a, _b;
215
217
  const internalProps = this.internalProps;
216
218
  return super.updateOption(options), internalProps.frozenColDragHeaderMode = options.frozenColDragHeaderMode,
217
- this.pagination = options.pagination, internalProps.dataConfig = {}, this.showHeader = null === (_a = options.showHeader) || void 0 === _a || _a,
219
+ this.pagination = options.pagination, internalProps.sortState = options.sortState,
220
+ internalProps.dataConfig = {}, this.showHeader = null === (_a = options.showHeader) || void 0 === _a || _a,
218
221
  internalProps.columns = options.columns ? (0, vutils_extension_1.cloneDeepSpec)(options.columns) : options.header ? (0,
219
222
  vutils_extension_1.cloneDeepSpec)(options.header) : [], options.columns.forEach(((colDefine, index) => {
220
223
  colDefine.editor && (internalProps.columns[index].editor = colDefine.editor);
@@ -433,6 +436,18 @@ class ListTable extends core_1.BaseTable {
433
436
  return this.stateManager.checkedState[dataIndex][field];
434
437
  }
435
438
  }
439
+ getRadioState(field) {
440
+ return (0, vutils_1.isValid)(field) ? this.stateManager.radioState[field] : this.stateManager.radioState;
441
+ }
442
+ getCellRadioState(col, row) {
443
+ return (0, radio_1.getCellRadioState)(col, row, this);
444
+ }
445
+ setCellCheckboxState(col, row, checked) {
446
+ (0, checkbox_1.setCellCheckboxState)(col, row, checked, this);
447
+ }
448
+ setCellRadioState(col, row, index) {
449
+ (0, radio_1.setCellRadioState)(col, row, index, this);
450
+ }
436
451
  setRecords(records, option) {
437
452
  var _a, _b, _c;
438
453
  let sort;