UNPKG

@grnsft/if-core

Version:

If core utilities.

90 lines 10.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mapOutputIfNeeded = exports.mapConfigIfNeeded = exports.removeMappedInputParameter = exports.mapInputIfNeeded = void 0; const arithmetic_helper_1 = require("./arithmetic-helper"); /** * Maps input data if the mapping has valid data. */ const mapInputIfNeeded = (input, mapping) => { const newInput = Object.assign({}, input); Object.entries(mapping || {}).forEach(([key, value]) => { if (value in newInput) { const mappedParamValue = input[value]; newInput[key] = mappedParamValue; } }); return newInput; }; exports.mapInputIfNeeded = mapInputIfNeeded; /** * Removes input parameters based on a provided mapping. */ const removeMappedInputParameter = (input, mapping) => { const newInput = Object.assign({}, input); Object.entries(mapping || {}).forEach(([key, value]) => { if (value in newInput) { delete newInput[key]; } }); return newInput; }; exports.removeMappedInputParameter = removeMappedInputParameter; /** * Maps config data if the mapping hass valid data. */ const mapConfigIfNeeded = (config, mapping) => { if (!mapping) { return config; } if (typeof config !== 'object' || config === null) { return config; } const result = Array.isArray(config) ? [] : {}; const parametersToRemove = []; Object.entries(config).forEach(([key, value]) => { const mappedKey = mapping[key] || key; if (typeof value === 'object' && value !== null) { result[mappedKey] = (0, exports.mapConfigIfNeeded)(value, mapping); } else { if (typeof value === 'string' && value.includes('=')) { const extractedValue = (0, arithmetic_helper_1.getParameterFromArithmeticExpression)(value); if (extractedValue in mapping) { value = value.replace(extractedValue, mapping[extractedValue]); } result[mappedKey] = value; parametersToRemove.push(extractedValue); } else { result[mappedKey] = typeof value === 'string' && value in mapping ? mapping[value] : value; parametersToRemove.push(value); } } }); parametersToRemove.forEach(value => delete mapping[value]); return result; }; exports.mapConfigIfNeeded = mapConfigIfNeeded; /** * Maps the output parameter of the plugin if the `mapping` parameter is provided. */ const mapOutputIfNeeded = (output, mapping) => { if (!mapping) { return output; } ; return Object.entries(output).reduce((acc, [key, value]) => { if (key in mapping) { acc[mapping[key]] = value; } else { acc[key] = value; } return acc; }, {}); }; exports.mapOutputIfNeeded = mapOutputIfNeeded; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLDJEQUF5RTtBQUV6RTs7R0FFRztBQUNJLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDOUIsS0FBbUIsRUFDbkIsT0FBc0IsRUFDdEIsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDckQsSUFBSSxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQWRXLFFBQUEsZ0JBQWdCLG9CQWMzQjtBQUVGOztHQUVHO0FBQ0ksTUFBTSwwQkFBMEIsR0FBRyxDQUN4QyxLQUFtQixFQUNuQixPQUFzQixFQUN0QixFQUFFO0lBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUNyRCxJQUFJLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUN0QixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixDQUFDO0lBQ0gs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TSxDQUFDO1lBQ04sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNuQixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQUUsRUFBa0IsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQWhCVyxRQUFBLGlCQUFpQixxQkFnQjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYXBwaW5nUGFyYW1zLCBQbHVnaW5QYXJhbXN9IGZyb20gJy4uL3R5cGVzJztcblxuaW1wb3J0IHtnZXRQYXJhbWV0ZXJGcm9tQXJpdGhtZXRpY0V4cHJlc3Npb259IGZyb20gJy4vYXJpdGhtZXRpYy1oZWxwZXInO1xuXG4vKipcbiAqIE1hcHMgaW5wdXQgZGF0YSBpZiB0aGUgbWFwcGluZyBoYXMgdmFsaWQgZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IG1hcElucHV0SWZOZWVkZWQgPSAoXG4gIGlucHV0OiBQbHVnaW5QYXJhbXMsXG4gIG1hcHBpbmc6IE1hcHBpbmdQYXJhbXNcbikgPT4ge1xuICBjb25zdCBuZXdJbnB1dCA9IE9iamVjdC5hc3NpZ24oe30sIGlucHV0KTtcblxuICBPYmplY3QuZW50cmllcyhtYXBwaW5nIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICBpZiAodmFsdWUgaW4gbmV3SW5wdXQpIHtcbiAgICAgIGNvbnN0IG1hcHBlZFBhcmFtVmFsdWUgPSBpbnB1dFt2YWx1ZV07XG4gICAgICBuZXdJbnB1dFtrZXldID0gbWFwcGVkUGFyYW1WYWx1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBuZXdJbnB1dDtcbn07XG5cbi8qKlxuICogUmVtb3ZlcyBpbnB1dCBwYXJhbWV0ZXJzIGJhc2VkIG9uIGEgcHJvdmlkZWQgbWFwcGluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbW92ZU1hcHBlZElucHV0UGFyYW1ldGVyID0gKFxuICBpbnB1dDogUGx1Z2luUGFyYW1zLFxuICBtYXBwaW5nOiBNYXBwaW5nUGFyYW1zXG4pID0+IHtcbiAgY29uc3QgbmV3SW5wdXQgPSBPYmplY3QuYXNzaWduKHt9LCBpbnB1dCk7XG5cbiAgT2JqZWN0LmVudHJpZXMobWFwcGluZyB8fCB7fSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgaWYgKHZhbHVlIGluIG5ld0lucHV0KSB7XG4gICAgICBkZWxldGUgbmV3SW5wdXRba2V5XTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBuZXdJbnB1dDtcbn07XG5cbi8qKlxuICogTWFwcyBjb25maWcgZGF0YSBpZiB0aGUgbWFwcGluZyBoYXNzIHZhbGlkIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBtYXBDb25maWdJZk5lZWRlZCA9IChjb25maWc6IGFueSwgbWFwcGluZzogTWFwcGluZ1BhcmFtcykgPT4ge1xuICBpZiAoIW1hcHBpbmcpIHtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBjb25maWcgIT09ICdvYmplY3QnIHx8IGNvbmZpZyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSBBcnJheS5pc0FycmF5KGNvbmZpZykgPyBbXSA6IHt9O1xuICBjb25zdCBwYXJhbWV0ZXJzVG9SZW1vdmU6IHN0cmluZ1tdID0gW107XG5cbiAgT2JqZWN0LmVudHJpZXMoY29uZmlnKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICBjb25zdCBtYXBwZWRLZXkgPSBtYXBwaW5nW2tleV0gfHwga2V5O1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICByZXN1bHRbbWFwcGVkS2V5XSA9IG1hcENvbmZpZ0lmTmVlZGVkKHZhbHVlLCBtYXBwaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUuaW5jbHVkZXMoJz0nKSkge1xuICAgICAgICBjb25zdCBleHRyYWN0ZWRWYWx1ZSA9IGdldFBhcmFtZXRlckZyb21Bcml0aG1ldGljRXhwcmVzc2lvbih2YWx1ZSk7XG4gICAgICAgIGlmIChleHRyYWN0ZWRWYWx1ZSBpbiBtYXBwaW5nKSB7XG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKGV4dHJhY3RlZFZhbHVlLCBtYXBwaW5nW2V4dHJhY3RlZFZhbHVlXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0W21hcHBlZEtleV0gPSB2YWx1ZTtcbiAgICAgICAgcGFyYW1ldGVyc1RvUmVtb3ZlLnB1c2goZXh0cmFjdGVkVmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0W21hcHBlZEtleV0gPVxuICAgICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUgaW4gbWFwcGluZ1xuICAgICAgICAgICAgPyBtYXBwaW5nW3ZhbHVlXVxuICAgICAgICAgICAgOiB2YWx1ZTtcblxuICAgICAgICBwYXJhbWV0ZXJzVG9SZW1vdmUucHVzaCh2YWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcGFyYW1ldGVyc1RvUmVtb3ZlLmZvckVhY2godmFsdWUgPT4gZGVsZXRlIG1hcHBpbmdbdmFsdWVdKTtcblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuLyoqXG4gKiBNYXBzIHRoZSBvdXRwdXQgcGFyYW1ldGVyIG9mIHRoZSBwbHVnaW4gaWYgdGhlIGBtYXBwaW5nYCBwYXJhbWV0ZXIgaXMgcHJvdmlkZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBtYXBPdXRwdXRJZk5lZWRlZCA9IChcbiAgb3V0cHV0OiBQbHVnaW5QYXJhbXMsXG4gIG1hcHBpbmc6IE1hcHBpbmdQYXJhbXNcbikgPT4ge1xuICBpZiAoIW1hcHBpbmcpIHtcbiAgICByZXR1cm4gb3V0cHV0XG4gIH07XG5cbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG91dHB1dCkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmIChrZXkgaW4gbWFwcGluZykge1xuICAgICAgYWNjW21hcHBpbmdba2V5XV0gPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgYWNjW2tleV0gPSB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUGx1Z2luUGFyYW1zKTtcbn07XG4iXX0=