# Polyglot Persistence Utilities Library This library is intended to provide utilities to help make creating polyglot storage / persistence implementations easier. ## Example Usage The following shows how to use the library ```ts import { createPolyglotRepository } from '@BridgemanAccessible/ba-polyglot-storage/repos'; import { Entity } from './entity/Entity.js'; import type { Properties } from './types/Properties.js'; // 1. Generate the custom class using the factory function const EventRepoClass = createPolyglotRepository(Entity); // 2. Export the initialization wrapper export const EntityRepo = async ( db: DB = DB.getDefaultDB(), nosqlStorage: NoSQLStorage = NoSQLStorage.getDefaultNoSQLStorage() ) => { // Invoke the static method on the generated class return await EventRepoClass.getRepo(db, nosqlStorage); }; ```