n8n-nodes-dataforseo
Version:
DataForSEO is an SEO and marketing data provider, empowering businesses with invaluable insights via APIs and databases.
109 lines • 3.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseFilters = parseFilters;
exports.parseMultiOptionItems = parseMultiOptionItems;
exports.parseOrderByString = parseOrderByString;
exports.parseCheckThreshold = parseCheckThreshold;
exports.parseKeywordFields = parseKeywordFields;
exports.parseSpecifications = parseSpecifications;
exports.parseLlmMentionsTarget = parseLlmMentionsTarget;
function parseFilters(filters) {
let parsedFilters = [];
if (filters && filters.trim().length) {
parsedFilters = JSON.parse(filters);
}
return parsedFilters;
}
function parseMultiOptionItems(items) {
let values = items.values;
let parsedItems = [];
if (values && values.length) {
parsedItems = values.reduce(function (result, item) {
result.push(item['value']);
return result;
}, []);
}
return parsedItems;
}
function parseOrderByString(orderBy) {
let values = orderBy.values;
let parsedOrderBy = new Array;
for (const key in values) {
if (Object.prototype.hasOwnProperty.call(values, key) && values[key] && values[key]['fieldName']) {
parsedOrderBy.push(values[key]['fieldName'] + ',' + values[key]['direction']);
}
}
return parsedOrderBy;
}
function parseCheckThreshold(checkThreshold) {
let thresholdValues = checkThreshold.thresholdValues;
let parsedThreshold = {};
if (thresholdValues && thresholdValues.length) {
parsedThreshold = thresholdValues.reduce(function (result, item) {
let key1 = Object.keys(item)[0];
let key2 = Object.keys(item)[1];
result[item[key1]] = item[key2];
return result;
}, {});
}
return parsedThreshold;
}
function parseKeywordFields(keywordFields) {
let fieldsdValues = keywordFields.values;
let parsedFields = {};
if (fieldsdValues && fieldsdValues.length) {
parsedFields = fieldsdValues.reduce(function (result, item) {
let key1 = Object.keys(item)[0];
let key2 = Object.keys(item)[1];
result[item[key1]] = item[key2];
return result;
}, {});
}
if (!Object.keys(parsedFields).length) {
return null;
}
return parsedFields;
}
function parseSpecifications(specifications) {
let fieldsdValues = specifications.values;
let parsedFields = {};
if (fieldsdValues && fieldsdValues.length) {
parsedFields = fieldsdValues.reduce(function (result, item) {
let key1 = Object.keys(item)[0];
let key2 = Object.keys(item)[1];
result[item[key1]] = item[key2];
return result;
}, {});
}
if (!Object.keys(parsedFields).length) {
return null;
}
return parsedFields;
}
function parseLlmMentionsTarget(target) {
let values = target.values;
let parsedTarget = [];
if (values && values.length) {
parsedTarget = values.reduce(function (result, item) {
if (item['domain']) {
result.push({
domain: item['domain'],
search_filter: item['search_filter'] ? item['search_filter'] : null,
search_scope: item['search_scope'].length ? item['search_scope'] : null,
include_subdomains: item['include_subdomains']
});
}
else {
result.push({
keyword: item['keyword'] ? item['keyword'] : null,
search_filter: item['search_filter'] ? item['search_filter'] : null,
search_scope: item['search_scope'].length ? item['search_scope'] : null,
match_type: item['match_type'] ? item['match_type'] : null
});
}
return result;
}, []);
}
return parsedTarget;
}
//# sourceMappingURL=generalFunctions.js.map