/// import AdmZip from 'adm-zip'; import { GTFSFeedReaderBase } from './reader-base.js'; import { GTFSFeedBase } from '../../feed/base.js'; import type { GTFSAsyncIterableFeed, GTFSIterableFeed } from '../../feed/iterable.d.ts'; import type { GTFSLoadedFeed } from '../../feed/loaded.d.ts'; import type { GTFSFileInfo } from '../../file-info.d.ts'; import type { GTFSAsyncFileRecords, GTFSFileContent, GTFSFileRecords } from '../../types.d.ts'; /** * GTFS file object to read */ type GTFSFile = { /** File information */ info: GTFSFileInfo; /** File content array buffer */ content: Buffer; }; /** * Feed Reader with input in memory. */ declare abstract class GTFSFeedReaderFromMemoryBase | Promise>> extends GTFSFeedReaderBase { /** Zip object */ protected zip?: AdmZip; /** File objects */ protected files?: GTFSFile[]; /** * Constructor, the object of this class is to be created by static methods. * The constructor is limited for internal calling. * @param zip Zip file path or buffer * @param directoryPath Directory path * @param fileContents Array of file content objects */ protected constructor(zip?: string | Buffer | ArrayBuffer, fileContents?: GTFSFileContent[]); /** * Get records from an AdmZip entry. * @param info File information * @param entry Zip entry */ protected abstract getRecordsFromZipEntry(info: GTFSFileInfo, entry: AdmZip.IZipEntry): RecordsType; /** * Get records from file content. * @param info File information * @param content File content buffer */ protected abstract getRecordsFromFileContent(info: GTFSFileInfo, content: Buffer): RecordsType; abstract loadFeed(): GTFSLoadedFeed | Promise; abstract getFeed(): FeedType; getRecords(info: GTFSFileInfo): RecordsType | undefined; } /** * Synchronous Feed Reader from Data in Memory */ export declare class GTFSFeedReader extends GTFSFeedReaderFromMemoryBase { protected getRecordsFromZipEntry(info: GTFSFileInfo, entry: AdmZip.IZipEntry): GTFSFileRecords; protected getRecordsFromFileContent(info: GTFSFileInfo, content: Buffer): GTFSFileRecords; getFeed(): GTFSIterableFeed; loadFeed(): GTFSLoadedFeed; /** * Create an instance of GTFSFeedWriter from zip file. * @param zip Zip file path or content buffer * @returns GTFSFeedWriter instance */ static fromZip(zip: string | Buffer | ArrayBuffer): GTFSFeedReader; /** * Create an instance of GTFSFeedWriter from in-memory file contents. * @param files Feed files object * @returns GTFSFeedWriter instance */ static fromFileContents(files: GTFSFileContent[]): GTFSFeedReader; } /** * Asynchronous Feed Reader from Data in Memory */ export declare class GTFSAsyncFeedReader extends GTFSFeedReaderFromMemoryBase { protected getRecordsFromZipEntry(info: GTFSFileInfo, entry: AdmZip.IZipEntry): GTFSAsyncFileRecords; protected getRecordsFromFileContent(info: GTFSFileInfo, content: Buffer): GTFSAsyncFileRecords; getFeed(): GTFSAsyncIterableFeed; loadFeed(): Promise; /** * Create an instance of GTFSFeedWriter from zip file. * @param zip Zip file path or content buffer * @returns GTFSFeedWriter instance */ static fromZip(zip: string | Buffer | ArrayBuffer): GTFSAsyncFeedReader; /** * Create an instance of GTFSFeedWriter from in-memory file contents. * @param files Feed files object * @returns GTFSFeedWriter instance */ static fromFileContents(files: GTFSFileContent[]): GTFSAsyncFeedReader; } export {}; //# sourceMappingURL=reader-memory.d.ts.map