{"version":3,"file":"base.cjs","names":["x: any"],"sources":["../../../src/retrievers/document_compressors/base.ts"],"sourcesContent":["import { Callbacks } from \"../../callbacks/manager.js\";\nimport { DocumentInterface } from \"../../documents/document.js\";\n\n/**\n * Base Document Compression class. All compressors should extend this class.\n */\nexport abstract class BaseDocumentCompressor {\n  /**\n   * Abstract method that must be implemented by any class that extends\n   * `BaseDocumentCompressor`. This method takes an array of `Document`\n   * objects and a query string as parameters and returns a Promise that\n   * resolves with an array of compressed `Document` objects.\n   * @param documents An array of `Document` objects to be compressed.\n   * @param query A query string.\n   * @returns A Promise that resolves with an array of compressed `Document` objects.\n   */\n  abstract compressDocuments(\n    documents: DocumentInterface[],\n    query: string,\n    callbacks?: Callbacks\n  ): Promise<DocumentInterface[]>;\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  static isBaseDocumentCompressor(x: any): x is BaseDocumentCompressor {\n    return x?.compressDocuments !== undefined;\n  }\n}\n"],"mappings":";;;;;;;;AAMA,IAAsB,yBAAtB,MAA6C;CAiB3C,OAAO,yBAAyBA,GAAqC;AACnE,SAAO,GAAG,sBAAsB;CACjC;AACF"}