@mic-rexjs/usecases-react
Version:
React-based solution for use usecases of Clean Architecture
23 lines (22 loc) • 924 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 _useContextUseCase2 = require("../useContextUseCase");
var useContext = exports.useContext = function useContext(usecase) {
var argumentTypes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _ArgumentTypes.ArgumentTypes.None;
var _useContextUseCase = (0, _useContextUseCase2.useContextUseCase)(),
registerUseCase = _useContextUseCase.registerUseCase,
unregisterUseCase = _useContextUseCase.unregisterUseCase;
var context = (0, _useConstant.useConstant)(function () {
return registerUseCase(usecase, argumentTypes);
});
(0, _ahooks.useUnmount)(function () {
unregisterUseCase(usecase, argumentTypes);
});
return context;
};