import { get as u } from "../utils/js_utils.js";
import { reduce as o } from "./dirtyHandlerIds.js";
import { reduce as f } from "./dragOffset.js";
import { reduce as a } from "./dragOperation.js";
import { reduce as p } from "./refCount.js";
import { reduce as c } from "./stateId.js";
function i(r, e, t) {
  return e in r ? Object.defineProperty(r, e, {
    value: t,
    enumerable: !0,
    configurable: !0,
    writable: !0
  }) : r[e] = t, r;
}
function m(r) {
  for (var e = 1; e < arguments.length; e++) {
    var t = arguments[e] != null ? arguments[e] : {}, d = Object.keys(t);
    typeof Object.getOwnPropertySymbols == "function" && (d = d.concat(Object.getOwnPropertySymbols(t).filter(function(n) {
      return Object.getOwnPropertyDescriptor(t, n).enumerable;
    }))), d.forEach(function(n) {
      i(r, n, t[n]);
    });
  }
  return r;
}
function I(r = {}, e) {
  return {
    dirtyHandlerIds: o(r.dirtyHandlerIds, {
      type: e.type,
      payload: m({}, e.payload, {
        prevTargetIds: u(r, "dragOperation.targetIds", [])
      })
    }),
    dragOffset: f(r.dragOffset, e),
    refCount: p(r.refCount, e),
    dragOperation: a(r.dragOperation, e),
    stateId: c(r.stateId)
  };
}
export {
  I as reduce
};
//# sourceMappingURL=index.js.map
