{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport warning from \"rc-util/es/warning\";\nimport { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport FieldContext, { HOOK_MARK } from \"./FieldContext\";\nimport { isFormInstance } from \"./utils/typeUtil\";\nimport { getNamePath, getValue } from \"./utils/valueUtil\";\nexport function stringify(value) {\n  try {\n    return JSON.stringify(value);\n  } catch (err) {\n    return Math.random();\n  }\n}\nvar useWatchWarning = process.env.NODE_ENV !== 'production' ? function (namePath) {\n  var fullyStr = namePath.join('__RC_FIELD_FORM_SPLIT__');\n  var nameStrRef = useRef(fullyStr);\n  warning(nameStrRef.current === fullyStr, '`useWatch` is not support dynamic `namePath`. Please provide static instead.');\n} : function () {};\nfunction useWatch() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n  var _args$ = args[0],\n    dependencies = _args$ === void 0 ? [] : _args$,\n    _args$2 = args[1],\n    _form = _args$2 === void 0 ? {} : _args$2;\n  var options = isFormInstance(_form) ? {\n    form: _form\n  } : _form;\n  var form = options.form;\n  var _useState = useState(),\n    _useState2 = _slicedToArray(_useState, 2),\n    value = _useState2[0],\n    setValue = _useState2[1];\n  var valueStr = useMemo(function () {\n    return stringify(value);\n  }, [value]);\n  var valueStrRef = useRef(valueStr);\n  valueStrRef.current = valueStr;\n  var fieldContext = useContext(FieldContext);\n  var formInstance = form || fieldContext;\n  var isValidForm = formInstance && formInstance._init;\n\n  // Warning if not exist form instance\n  if (process.env.NODE_ENV !== 'production') {\n    warning(args.length === 2 ? form ? isValidForm : true : isValidForm, 'useWatch requires a form instance since it can not auto detect from context.');\n  }\n  var namePath = getNamePath(dependencies);\n  var namePathRef = useRef(namePath);\n  namePathRef.current = namePath;\n  useWatchWarning(namePath);\n  useEffect(function () {\n    // Skip if not exist form instance\n    if (!isValidForm) {\n      return;\n    }\n    var getFieldsValue = formInstance.getFieldsValue,\n      getInternalHooks = formInstance.getInternalHooks;\n    var _getInternalHooks = getInternalHooks(HOOK_MARK),\n      registerWatch = _getInternalHooks.registerWatch;\n    var cancelRegister = registerWatch(function (values, allValues) {\n      var newValue = getValue(options.preserve ? allValues : values, namePathRef.current);\n      var nextValueStr = stringify(newValue);\n\n      // Compare stringify in case it's nest object\n      if (valueStrRef.current !== nextValueStr) {\n        valueStrRef.current = nextValueStr;\n        setValue(newValue);\n      }\n    });\n\n    // TODO: We can improve this perf in future\n    var initialValue = getValue(options.preserve ? getFieldsValue(true) : getFieldsValue(), namePathRef.current);\n\n    // React 18 has the bug that will queue update twice even the value is not changed\n    // ref: https://github.com/facebook/react/issues/27213\n    if (value !== initialValue) {\n      setValue(initialValue);\n    }\n    return cancelRegister;\n  },\n  // We do not need re-register since namePath content is the same\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  [isValidForm]);\n  return value;\n}\nexport default useWatch;","map":{"version":3,"names":["_slicedToArray","warning","useContext","useEffect","useMemo","useRef","useState","FieldContext","HOOK_MARK","isFormInstance","getNamePath","getValue","stringify","value","JSON","err","Math","random","useWatchWarning","process","env","NODE_ENV","namePath","fullyStr","join","nameStrRef","current","useWatch","_len","arguments","length","args","Array","_key","_args$","dependencies","_args$2","_form","options","form","_useState","_useState2","setValue","valueStr","valueStrRef","fieldContext","formInstance","isValidForm","_init","namePathRef","getFieldsValue","getInternalHooks","_getInternalHooks","registerWatch","cancelRegister","values","allValues","newValue","preserve","nextValueStr","initialValue"],"sources":["/var/www/gavt/node_modules/rc-field-form/es/useWatch.js"],"sourcesContent":["import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport warning from \"rc-util/es/warning\";\nimport { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport FieldContext, { HOOK_MARK } from \"./FieldContext\";\nimport { isFormInstance } from \"./utils/typeUtil\";\nimport { getNamePath, getValue } from \"./utils/valueUtil\";\nexport function stringify(value) {\n  try {\n    return JSON.stringify(value);\n  } catch (err) {\n    return Math.random();\n  }\n}\nvar useWatchWarning = process.env.NODE_ENV !== 'production' ? function (namePath) {\n  var fullyStr = namePath.join('__RC_FIELD_FORM_SPLIT__');\n  var nameStrRef = useRef(fullyStr);\n  warning(nameStrRef.current === fullyStr, '`useWatch` is not support dynamic `namePath`. Please provide static instead.');\n} : function () {};\nfunction useWatch() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n  var _args$ = args[0],\n    dependencies = _args$ === void 0 ? [] : _args$,\n    _args$2 = args[1],\n    _form = _args$2 === void 0 ? {} : _args$2;\n  var options = isFormInstance(_form) ? {\n    form: _form\n  } : _form;\n  var form = options.form;\n  var _useState = useState(),\n    _useState2 = _slicedToArray(_useState, 2),\n    value = _useState2[0],\n    setValue = _useState2[1];\n  var valueStr = useMemo(function () {\n    return stringify(value);\n  }, [value]);\n  var valueStrRef = useRef(valueStr);\n  valueStrRef.current = valueStr;\n  var fieldContext = useContext(FieldContext);\n  var formInstance = form || fieldContext;\n  var isValidForm = formInstance && formInstance._init;\n\n  // Warning if not exist form instance\n  if (process.env.NODE_ENV !== 'production') {\n    warning(args.length === 2 ? form ? isValidForm : true : isValidForm, 'useWatch requires a form instance since it can not auto detect from context.');\n  }\n  var namePath = getNamePath(dependencies);\n  var namePathRef = useRef(namePath);\n  namePathRef.current = namePath;\n  useWatchWarning(namePath);\n  useEffect(function () {\n    // Skip if not exist form instance\n    if (!isValidForm) {\n      return;\n    }\n    var getFieldsValue = formInstance.getFieldsValue,\n      getInternalHooks = formInstance.getInternalHooks;\n    var _getInternalHooks = getInternalHooks(HOOK_MARK),\n      registerWatch = _getInternalHooks.registerWatch;\n    var cancelRegister = registerWatch(function (values, allValues) {\n      var newValue = getValue(options.preserve ? allValues : values, namePathRef.current);\n      var nextValueStr = stringify(newValue);\n\n      // Compare stringify in case it's nest object\n      if (valueStrRef.current !== nextValueStr) {\n        valueStrRef.current = nextValueStr;\n        setValue(newValue);\n      }\n    });\n\n    // TODO: We can improve this perf in future\n    var initialValue = getValue(options.preserve ? getFieldsValue(true) : getFieldsValue(), namePathRef.current);\n\n    // React 18 has the bug that will queue update twice even the value is not changed\n    // ref: https://github.com/facebook/react/issues/27213\n    if (value !== initialValue) {\n      setValue(initialValue);\n    }\n    return cancelRegister;\n  },\n  // We do not need re-register since namePath content is the same\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  [isValidForm]);\n  return value;\n}\nexport default useWatch;"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}