All checks were successful
Publish to Private NPM Registry / publish (push) Successful in 56s
23 lines
No EOL
880 B
Markdown
23 lines
No EOL
880 B
Markdown
# 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, Properties>(Entity);
|
|
|
|
// 2. Export the initialization wrapper
|
|
export const EntityRepo = async (
|
|
db: DB = DB.getDefaultDB(),
|
|
nosqlStorage: NoSQLStorage<any, any> = NoSQLStorage.getDefaultNoSQLStorage()
|
|
) => {
|
|
// Invoke the static method on the generated class
|
|
return await EventRepoClass.getRepo(db, nosqlStorage);
|
|
};
|
|
``` |