Simplified things by removing the PolyglotAdapter decorator
All checks were successful
Publish to Private NPM Registry / publish (push) Successful in 27s

This commit is contained in:
Alan Bridgeman 2026-07-21 15:24:44 -05:00
parent db22585fcb
commit c658fa3822
4 changed files with 2 additions and 22 deletions

View file

@ -1,6 +1,6 @@
{
"name": "@BridgemanAccessible/ba-polyglot-storage",
"version": "1.0.0",
"version": "1.0.1",
"description": "A shared utility library to support Polyglot Storage implementations",
"repository": "https://git.bridgemanaccessible.ca/Bridgeman-Accessible/ba-polyglot-storage",
"author": "Bridgeman Accessible<info@bridgemanaccessible.ca>",

View file

@ -1,11 +0,0 @@
import 'reflect-metadata';
/** Metadata key used to store the NoSQL adapter of an entity */
export const POLYGLOT_ADAPTER_META = Symbol('polyglot:adapter');
/** Links an Entity to its specific NoSQL Adapter class. */
export function PolyglotAdapter(adapterClass: any): ClassDecorator {
return (target) => {
Reflect.defineMetadata(POLYGLOT_ADAPTER_META, adapterClass, target);
};
}

View file

@ -1,7 +1,6 @@
import { PartitionKey } from './PartitionKey.js';
import { RowKey } from './RowKey.js';
import { PolyglotAdapter } from './PolyglotAdapter.js';
import { NoSQLRetrieve } from './NoSQLRetrieve.js';
import { NoSQLSave } from './NoSQLSave.js';
export { PartitionKey, RowKey, PolyglotAdapter, NoSQLRetrieve, NoSQLSave };
export { PartitionKey, RowKey, NoSQLRetrieve, NoSQLSave };

View file

@ -5,7 +5,6 @@ import logMessage, { LogLevel } from '@BridgemanAccessible/ba-logging';
import { PARTITION_KEY_META } from '../decorators/PartitionKey.js'
import { ROW_KEY_META } from '../decorators/RowKey.js';
import { POLYGLOT_ADAPTER_META } from '../decorators/PolyglotAdapter.js';
import { NOSQL_RETRIEVE_META } from '../decorators/NoSQLRetrieve.js';
import { NOSQL_SAVE_META } from '../decorators/NoSQLSave.js';
@ -42,13 +41,6 @@ export function createPolyglotRepository<TEntity extends IPolyglotEntity<TProps>
this.repo = repo;
// Extract Adapter Linkage
const AdapterClass = Reflect.getMetadata(POLYGLOT_ADAPTER_META, this.targetConstructor);
if(!AdapterClass) {
throw new Error(`Polyglot setup failed: ${this.targetConstructor.name} is missing @PolyglotAdapter()`);
}
this.nosql = nosqlStorage.getAdapter<TProps, any>(this.targetConstructor.name);
}