NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/@antv/data-set/lib/basic-transform/fold.js
2023-09-14 14:47:11 +08:00

24 lines
1017 B
Java

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var helper_1 = require("../helper");
function fold(rows, options) {
var _a = helper_1.mergeOptions(options, { as: ['key', 'value'] }), fields = _a.fields, as = _a.as;
helper_1.assert(fields, "fold: fields is required.");
helper_1.assert(Array.isArray(fields), "fold: fields must be an array.");
helper_1.assert(fields.length === 0, "fold: fields's length must be great than 0.");
if (!as || !Array.isArray(as) || as.length < 2) {
throw new TypeError("Invalid as: as must be an array which has two item");
}
var result = [];
var _b = tslib_1.__read(as, 2), key = _b[0], value = _b[1];
rows.forEach(function (row) {
fields.forEach(function (field) {
var _a;
result.push(tslib_1.__assign(tslib_1.__assign({}, row), (_a = {}, _a[key] = field, _a[value] = row[field], _a)));
});
});
return result;
}
exports.fold = fold;