UNPKG

n8n-nodes-databricks

Version:

Databricks node for n8n

67 lines 2.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.N8nJsonLoader = void 0; const json_1 = require("langchain/document_loaders/fs/json"); const text_1 = require("langchain/document_loaders/fs/text"); const n8n_workflow_1 = require("n8n-workflow"); const helpers_1 = require("./helpers"); class N8nJsonLoader { constructor(context, optionsPrefix = '', textSplitter) { this.context = context; this.optionsPrefix = optionsPrefix; this.textSplitter = textSplitter; } async processAll(items) { const docs = []; if (!items) return []; for (let itemIndex = 0; itemIndex < items.length; itemIndex++) { const processedDocuments = await this.processItem(items[itemIndex], itemIndex); docs.push(...processedDocuments); } return docs; } async processItem(item, itemIndex) { var _a; const mode = this.context.getNodeParameter('jsonMode', itemIndex, 'allInputData'); const pointers = this.context.getNodeParameter(`${this.optionsPrefix}pointers`, itemIndex, ''); const pointersArray = pointers.split(',').map((pointer) => pointer.trim()); const metadata = (_a = (0, helpers_1.getMetadataFiltersValues)(this.context, itemIndex)) !== null && _a !== void 0 ? _a : []; if (!item) return []; let documentLoader = null; if (mode === 'allInputData') { const itemString = JSON.stringify(item.json); const itemBlob = new Blob([itemString], { type: 'application/json' }); documentLoader = new json_1.JSONLoader(itemBlob, pointersArray); } if (mode === 'expressionData') { const dataString = this.context.getNodeParameter('jsonData', itemIndex); if (typeof dataString === 'object') { const itemBlob = new Blob([JSON.stringify(dataString)], { type: 'application/json' }); documentLoader = new json_1.JSONLoader(itemBlob, pointersArray); } if (typeof dataString === 'string') { const itemBlob = new Blob([dataString], { type: 'text/plain' }); documentLoader = new text_1.TextLoader(itemBlob); } } if (documentLoader === null) { throw new n8n_workflow_1.NodeOperationError(this.context.getNode(), 'Document loader is not initialized'); } const docs = this.textSplitter ? await this.textSplitter.splitDocuments(await documentLoader.load()) : await documentLoader.load(); if (metadata) { docs.forEach((doc) => { doc.metadata = { ...doc.metadata, ...metadata, }; }); } return docs; } } exports.N8nJsonLoader = N8nJsonLoader; //# sourceMappingURL=N8nJsonLoader.js.map