UNPKG

n8n-nodes-duckduckgo-search

Version:

Integrate DuckDuckGo search seamlessly into your n8n workflows with advanced pagination and human-like behavior. Get more results without hitting rate limits.

108 lines (107 loc) 3.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.processError = exports.processVideoSearchResults = exports.processNewsSearchResults = exports.processImageSearchResults = exports.processWebSearchResults = void 0; const utils_1 = require("./utils"); function processWebSearchResults(results, itemIndex) { return results.map((item) => ({ json: { title: (0, utils_1.decodeHtmlEntities)(item.title), description: (0, utils_1.decodeHtmlEntities)(item.description), url: item.url, hostname: item.hostname, favicon: item.icon, sourceType: 'web', }, pairedItem: { item: itemIndex, }, })); } exports.processWebSearchResults = processWebSearchResults; function processImageSearchResults(results, itemIndex) { return results.map((item) => ({ json: { title: (0, utils_1.decodeHtmlEntities)(item.title), description: null, url: item.url, imageUrl: item.image, thumbnailUrl: item.thumbnail, width: item.width, height: item.height, source: item.source, sourceType: 'image', }, pairedItem: { item: itemIndex, }, })); } exports.processImageSearchResults = processImageSearchResults; function processNewsSearchResults(results, itemIndex) { return results.map((item) => ({ json: { title: (0, utils_1.decodeHtmlEntities)(item.title), description: (0, utils_1.decodeHtmlEntities)(item.excerpt), url: item.url, imageUrl: item.image, date: (0, utils_1.formatDate)(item.date), relativeTime: item.relativeTime, syndicate: item.syndicate, isOld: item.isOld, sourceType: 'news', }, pairedItem: { item: itemIndex, }, })); } exports.processNewsSearchResults = processNewsSearchResults; function processVideoSearchResults(results, itemIndex) { return results.map((item) => ({ json: { title: (0, utils_1.decodeHtmlEntities)(item.title), description: (0, utils_1.decodeHtmlEntities)(item.description), url: item.url, imageUrl: item.image, duration: item.duration, published: item.published, publishedOn: item.publishedOn, publisher: item.publisher, viewCount: item.viewCount, sourceType: 'video', }, pairedItem: { item: itemIndex, }, })); } exports.processVideoSearchResults = processVideoSearchResults; function processError(error, itemData, itemIndex, debug = false, operation, options) { const errorMessage = error.message || 'Unknown error occurred'; const errorObject = { ...itemData, success: false, error: errorMessage, timestamp: new Date().toISOString(), }; if (operation) { errorObject.operation = operation; } if (debug) { errorObject.errorDetails = { stack: error.stack, name: error.name, cause: error.cause, }; if (options) { errorObject.requestOptions = options; } } return { json: errorObject, pairedItem: { item: itemIndex, }, }; } exports.processError = processError;