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

28 lines
1023 B
Java

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var helper_1 = require("../helper");
function lookup(rows, options) {
var opts = helper_1.mergeOptions(options, { default: null, as: [] });
var as = opts.as, values = opts.values, field = opts.field, from = opts.from, key = opts.key;
return rows.map(function (row) {
var item = tslib_1.__assign({}, row);
var target = from.find(function (item) { return item[key] === row[field]; });
if (!values) {
if (!Array.isArray(as) || !as[0])
throw new Error('as is required when values is unspecified');
if (!target)
item[as[0]] = opts.default;
else
item[as[0]] = target;
}
else {
values.map(function (key, index) {
item[as[index] || key] = target ? target[key] : opts.default;
});
}
return item;
});
}
exports.lookup = lookup;