simple-redact
Version:
A simple redact lib
35 lines (34 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildConfig = void 0;
var separator = '.';
var buildConfig = function (config) {
var result = [];
config.forEach(function (field) {
var splittedField = [field];
if (field.includes(separator)) {
splittedField = field.split(separator);
}
buildFieldConfig(splittedField, result);
});
return result;
};
exports.buildConfig = buildConfig;
var buildFieldConfig = function (splittedField, result, index) {
if (index === void 0) { index = 0; }
if (index >= splittedField.length) {
return;
}
var simpleFieldConfig = result.find(function (x) { return x.field === splittedField[index]; });
if (!simpleFieldConfig) {
var configToAdd = {
field: splittedField[index],
data: [],
};
var configIndex = result.push(configToAdd) - 1;
buildFieldConfig(splittedField, result[configIndex].data, index + 1);
return;
}
buildFieldConfig(splittedField, simpleFieldConfig.data, index + 1);
return;
};