UNPKG

usda-food-data-api-builder

Version:

USDA Food Data API database builder for self-hosted API access to the USDA Food Data database

36 lines (35 loc) 1 kB
import mongoose from "mongoose"; /** * Queues Documents and nested Documents for batch insertion via * `insertMany` */ export declare class DocumentBatcher { private limit; private count; private cache; private lock; /** * Configures the DocumentBatcher * @param limit The number of root level documents to queue */ constructor(limit?: number); /** * Queues a document in the given collection for an insertMany operation * @param name The collection name * @param doc The document to queue for batch insert */ add(name: string, doc: mongoose.Document): void; /** * Waits for the current save to finish, if saving */ waitForLock(): Promise<void>; /** * Saves and empties the document queue */ save(): Promise<void>; /** * Returns if the object batcher is allowing new entries * @returns true if allowed, else false */ allow(): boolean; }