@cornerstonejs/core
Version:
Cornerstone3D Core
27 lines (26 loc) • 697 B
JavaScript
import { addProvider } from '../metaData.js';
import { deepClone } from './deepClone.js';
let state = {};
const metadataProvider = {
add: (imageId, payload) => {
metadataProvider.addRaw(imageId, {
...payload,
metadata: deepClone(payload.metadata),
});
},
addRaw: (imageId, payload) => {
const type = payload.type;
if (!state[imageId]) {
state[imageId] = {};
}
state[imageId][type] = payload.metadata;
},
get: (type, imageId) => {
return state[imageId]?.[type];
},
clear: () => {
state = {};
},
};
addProvider(metadataProvider.get);
export default metadataProvider;