UNPKG

@vue-widget/hooks

Version:

hooks from react to vue

35 lines (34 loc) 1.07 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useMemoizedFn = useMemoizedFn; var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _utils = require("../utils"); var _isDev = _interopRequireDefault(require("../utils/isDev")); var _useMemo = require("../useMemo"); var _vue = require("vue"); function useMemoizedFn(fn) { if (_isDev["default"]) { if (!(0, _utils.isFunction)(fn)) { console.error("useMemoizedFn expected parameter is a function, got ".concat((0, _typeof2["default"])(fn))); } } var fnRef = (0, _useMemo.useMemo)(function () { return fn; }, [function () { return fn; }]); var memoizedFn = (0, _vue.ref)(); if (!memoizedFn.value) { memoizedFn.value = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return fnRef.value.apply(this, args); }; } return memoizedFn.value; }