react-obsidian
Version:
Dependency injection framework for React and React Native applications
36 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Reflect = void 0;
const getGlobal_1 = require("./getGlobal");
const globalReflect_1 = require("./globalReflect");
const metadataStore = getStore();
exports.Reflect = {
defineMetadata,
getMetadata,
hasMetadata,
get: globalReflect_1.GlobalReflect.get,
set: globalReflect_1.GlobalReflect.set,
construct: globalReflect_1.GlobalReflect.construct,
};
function defineMetadata(key, value, target) {
let metadata = metadataStore.get(target);
if (!metadata) {
metadata = {};
metadataStore.set(target, metadata);
}
metadata[key] = value;
}
function getMetadata(key, target) {
const metadata = metadataStore.get(target);
return metadata ? metadata[key] : undefined;
}
function hasMetadata(key, target) {
const metadata = metadataStore.get(target);
return metadata ? metadata[key] !== undefined : false;
}
function getStore() {
const global = (0, getGlobal_1.getGlobal)();
global.obsidianMetadataStore = global.obsidianMetadataStore || new WeakMap();
return global.obsidianMetadataStore;
}
//# sourceMappingURL=reflect.js.map