@mic-rexjs/usecases-react
Version:
React-based solution for use usecases of Clean Architecture
24 lines (23 loc) • 989 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useContext = void 0;
var _useConstant = require("../useConstant");
var _ahooks = require("ahooks");
var _ArgumentTypes = require("../../enums/ArgumentTypes");
var _contextUseCase3 = require("../../usecases/contextUseCase");
var useContext = exports.useContext = function useContext(usecase) {
var argumentTypes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _ArgumentTypes.ArgumentTypes.None;
var context = (0, _useConstant.useConstant)(function () {
var _contextUseCase = (0, _contextUseCase3.contextUseCase)(),
registerUseCase = _contextUseCase.registerUseCase;
return registerUseCase(usecase, argumentTypes);
});
(0, _ahooks.useUnmount)(function () {
var _contextUseCase2 = (0, _contextUseCase3.contextUseCase)(),
unregisterUseCase = _contextUseCase2.unregisterUseCase;
unregisterUseCase(usecase, argumentTypes);
});
return context;
};