UNPKG

@barchart/common-node-js

Version:

Common classes, utilities, and functions for building Node.js servers

47 lines (34 loc) 1.3 kB
const log4js = require('log4js'); const attributes = require('@barchart/common-js/lang/attributes'), is = require('@barchart/common-js/lang/is'); const MutateResultProcessor = require('./MutateResultProcessor'); module.exports = (() => { 'use strict'; const logger = log4js.getLogger('data/processors/SplitResultProcessor'); class SplitResultProcessor extends MutateResultProcessor { constructor(configuration) { super(configuration); } _processItem(resultItemToProcess, configurationToUse) { const configuration = this._getConfiguration(); const propertyName = configurationToUse.propertyName; const propertyValue = attributes.read(resultItemToProcess, propertyName); if (is.string(propertyValue)) { let splitResult; if (is.string(configurationToUse.separatorString)) { splitResult = propertyValue.split(configurationToUse.separatorString); } else if (is.string(configurationToUse.separatorRegex)) { splitResult = propertyValue.split(new RegExp(configurationToUse.separatorRegex)); } else { splitResult = propertyValue; } attributes.write(resultItemToProcess, propertyName, splitResult); } return resultItemToProcess; } toString() { return '[SplitResultProcessor]'; } } return SplitResultProcessor; })();