UNPKG

vue3-dnd

Version:

Drag and Drop for Vue Composition API

32 lines (31 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useCollector = useCollector; var _fastDeepEqual = _interopRequireDefault(require("fast-deep-equal")); var _vueDemi = require("vue-demi"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function useCollector(monitor, collect, onUpdate) { var collected = (0, _vueDemi).ref((0, _vueDemi).unref(collect)((0, _vueDemi).unref(monitor))); var updateCollected = function() { var nextValue = (0, _vueDemi).unref(collect)((0, _vueDemi).unref(monitor)); // This needs to be a deep-equality check because some monitor-collected values // include XYCoord objects that may be equivalent, but do not have instance equality. if (!(0, _fastDeepEqual).default(collected.value, nextValue)) { collected.value = nextValue; if (onUpdate) { onUpdate(); } } }; (0, _vueDemi).watchEffect(updateCollected); return [ collected, updateCollected ]; }