(
docs: Document[],
_omitMetadataKeys: string,
metadata: object | string = {},
sourceIdKey?: string
)
| 1369 | } |
| 1370 | |
| 1371 | export const handleDocumentLoaderMetadata = ( |
| 1372 | docs: Document[], |
| 1373 | _omitMetadataKeys: string, |
| 1374 | metadata: object | string = {}, |
| 1375 | sourceIdKey?: string |
| 1376 | ) => { |
| 1377 | let omitMetadataKeys: string[] = [] |
| 1378 | if (_omitMetadataKeys) { |
| 1379 | omitMetadataKeys = _omitMetadataKeys.split(',').map((key) => key.trim()) |
| 1380 | } |
| 1381 | |
| 1382 | metadata = parseDocumentLoaderMetadata(metadata) |
| 1383 | |
| 1384 | return docs.map((doc) => ({ |
| 1385 | ...doc, |
| 1386 | metadata: |
| 1387 | _omitMetadataKeys === '*' |
| 1388 | ? metadata |
| 1389 | : omit( |
| 1390 | { |
| 1391 | ...metadata, |
| 1392 | ...doc.metadata, |
| 1393 | ...(sourceIdKey ? { [sourceIdKey]: doc.metadata[sourceIdKey] || sourceIdKey } : undefined) |
| 1394 | }, |
| 1395 | omitMetadataKeys |
| 1396 | ) |
| 1397 | })) |
| 1398 | } |
| 1399 | |
| 1400 | export const handleDocumentLoaderDocuments = async (loader: DocumentLoader, textSplitter?: TextSplitter) => { |
| 1401 | let docs: Document[] = [] |
no test coverage detected