All files / packages/core/src/utilities imageRetrieveMetadataProvider.ts

80% Statements 8/10
100% Branches 2/2
60% Functions 3/5
80% Lines 8/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37    1x   1x         1x                           44x 11x 22x 22x         1x          
import { addProvider } from '../metaData';
 
const retrieveConfigurationState = new Map<string, any>();
 
const IMAGE_RETRIEVE_CONFIGURATION = 'imageRetrieveConfiguration';
 
/**
 * Simple metadataProvider object to store metadata for the image retrieval.
 */
const imageRetrieveMetadataProvider = {
  IMAGE_RETRIEVE_CONFIGURATION,
 
  /** Empty the metadata state */
  clear: () => {
    retrieveConfigurationState.clear();
  },
 
  /* Adding a new entry to the state object. */
  add: (key: string, payload): void => {
    retrieveConfigurationState.set(key, payload);
  },
 
  get: (type: string, ...queries: string[]) => {
    if (type === IMAGE_RETRIEVE_CONFIGURATION) {
      return queries
        .map((query) => retrieveConfigurationState.get(query))
        .find((it) => it !== undefined);
    }
  },
};
 
addProvider(
  imageRetrieveMetadataProvider.get.bind(imageRetrieveMetadataProvider)
);
 
export default imageRetrieveMetadataProvider;