From f43705a39b7862b2ad9163bd39699aeb4dcd20db Mon Sep 17 00:00:00 2001 From: Chau Tran Date: Sun, 15 Aug 2021 22:03:30 -0500 Subject: [PATCH] refactor(pojos): clean up typings --- packages/pojos/src/lib/pojos.ts | 35 +++---------------- .../src/lib/utils/explore-metadata.util.ts | 15 ++++++++ packages/pojos/src/lib/utils/index.ts | 1 + 3 files changed, 21 insertions(+), 30 deletions(-) create mode 100644 packages/pojos/src/lib/utils/explore-metadata.util.ts diff --git a/packages/pojos/src/lib/pojos.ts b/packages/pojos/src/lib/pojos.ts index fbf375fdd..b0ef79a03 100644 --- a/packages/pojos/src/lib/pojos.ts +++ b/packages/pojos/src/lib/pojos.ts @@ -1,33 +1,22 @@ import { createInitialMapping } from '@automapper/core'; -import type { - CreateMapOptions, - Dictionary, - MapPluginInitializer, -} from '@automapper/types'; +import type { MapPluginInitializer } from '@automapper/types'; import { MappingClassId } from '@automapper/types'; import { PojosMappingStorage, PojosMetadataStorage, pojosSymbolStorage, } from './storages'; -import { instantiate } from './utils'; +import { exploreMetadata, instantiate } from './utils'; export const pojos: MapPluginInitializer = (errorHandler) => { const metadataStorage = new PojosMetadataStorage(); const mappingStorage = new PojosMappingStorage(); return { - instantiate = any>( - model: string, - obj?: TModel - ) { + instantiate(model, obj?) { return instantiate(metadataStorage, model, obj); }, - initializeMapping( - source: string, - destination: string, - options?: CreateMapOptions - ) { + initializeMapping(source, destination, options?) { if (mappingStorage.has(source, destination)) { errorHandler.handle( `Mapping for source ${source} and destination ${destination} already exists` @@ -57,7 +46,7 @@ export const pojos: MapPluginInitializer = (errorHandler) => { } ); }, - getMapping(source: string, destination: string) { + getMapping(source, destination) { const mapping = mappingStorage.get(source, destination); if (!mapping) { errorHandler.handle( @@ -79,17 +68,3 @@ export const pojos: MapPluginInitializer = (errorHandler) => { }, }; }; - -function exploreMetadata( - metadataStorage: PojosMetadataStorage, - ...keys: string[] -) { - keys.forEach((key) => { - if (!metadataStorage.has(key)) { - const metadataList = pojosSymbolStorage.get(Symbol.for(key)); - for (const [propertyKey, metadata] of metadataList) { - metadataStorage.addMetadata(key, [[propertyKey], () => metadata]); - } - } - }); -} diff --git a/packages/pojos/src/lib/utils/explore-metadata.util.ts b/packages/pojos/src/lib/utils/explore-metadata.util.ts new file mode 100644 index 000000000..e24c810e8 --- /dev/null +++ b/packages/pojos/src/lib/utils/explore-metadata.util.ts @@ -0,0 +1,15 @@ +import { PojosMetadataStorage, pojosSymbolStorage } from '../storages'; + +export function exploreMetadata( + metadataStorage: PojosMetadataStorage, + ...keys: string[] +) { + keys.forEach((key) => { + if (!metadataStorage.has(key)) { + const metadataList = pojosSymbolStorage.get(Symbol.for(key)); + for (const [propertyKey, metadata] of metadataList) { + metadataStorage.addMetadata(key, [[propertyKey], () => metadata]); + } + } + }); +} diff --git a/packages/pojos/src/lib/utils/index.ts b/packages/pojos/src/lib/utils/index.ts index f1e1c8824..812b4a7ce 100644 --- a/packages/pojos/src/lib/utils/index.ts +++ b/packages/pojos/src/lib/utils/index.ts @@ -1 +1,2 @@ export * from './instantiate.util'; +export * from './explore-metadata.util';