@difizen/mana-core
Version:
14 lines • 689 B
JavaScript
import { ObservableContext } from '@difizen/mana-observable';
import { GlobalContainer } from '@difizen/mana-syringe';
import * as React from 'react';
import { ManaContext } from "../module/mana-module-context";
export var useCreateManaContext = function useCreateManaContext(context, asChild) {
var observableContext = React.useContext(ObservableContext);
var container = (context === null || context === void 0 ? void 0 : context.container) || observableContext.getContainer() || GlobalContainer;
return React.useMemo(function () {
if (asChild) {
return new ManaContext(container.createChild());
}
return new ManaContext(container);
}, [asChild, container]);
};