react-obsidian
Version:
Dependency injection framework for React and React Native applications
17 lines • 831 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useInjectionToken = void 0;
const react_1 = require("react");
const graphContext_1 = require("./graphContext");
const uniqueId_1 = require("../../utils/uniqueId");
const isString_1 = require("../../utils/isString");
const useInjectionToken = (keyOrGraph) => {
const ctx = (0, react_1.useContext)(graphContext_1.GraphContext);
const [injectionToken] = (0, react_1.useState)(() => {
var _a;
return (_a = ctx === null || ctx === void 0 ? void 0 : ctx.injectionToken) !== null && _a !== void 0 ? _a : (0, uniqueId_1.uniqueId)((0, isString_1.isString)(keyOrGraph) ? keyOrGraph : keyOrGraph.name);
});
return injectionToken;
};
exports.useInjectionToken = useInjectionToken;
//# sourceMappingURL=useInjectionToken.js.map