UNPKG

use-form

Version:
32 lines (31 loc) 1.16 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; exports.__esModule = true; var react_1 = require("react"); var api_1 = __importDefault(require("../api")); var useSubscription_1 = __importDefault(require("../hooks/useSubscription")); var useForm = function (props) { var initialValues = props.initialValues, initialErrors = props.initialErrors, validate = props.validate, onSubmit = props.onSubmit; var api = react_1.useMemo(function () { return new api_1["default"]({ initialValues: initialValues, initialErrors: initialErrors, validate: validate, onSubmit: onSubmit }); }, []); var state = useSubscription_1["default"](react_1.useMemo(function () { return ({ getState: api.getState, subscribe: function (callback) { api.listener.on('subscribe', callback); return function () { return api.listener.off('subscribe'); }; } }); }, [])); return { api: api, state: state }; }; exports["default"] = useForm;