ingenious-flow-designer
Version:
[演示地址](http://antd-vben5-pro.madong.tech/)
62 lines (61 loc) • 1.59 kB
JavaScript
import { _ as _extends } from "./index-33HV6VHr.js";
const initDefaultProps = (types, defaultProps) => {
const propTypes = _extends({}, types);
Object.keys(defaultProps).forEach((k) => {
const prop = propTypes[k];
if (prop) {
if (prop.type || prop.default) {
prop.default = defaultProps[k];
} else if (prop.def) {
prop.def(defaultProps[k]);
} else {
propTypes[k] = {
type: prop,
default: defaultProps[k]
};
}
} else {
throw new Error(`not have ${k} prop`);
}
});
return propTypes;
};
let raf = (callback) => setTimeout(callback, 16);
let caf = (num) => clearTimeout(num);
if (typeof window !== "undefined" && "requestAnimationFrame" in window) {
raf = (callback) => window.requestAnimationFrame(callback);
caf = (handle) => window.cancelAnimationFrame(handle);
}
let rafUUID = 0;
const rafIds = /* @__PURE__ */ new Map();
function cleanup(id) {
rafIds.delete(id);
}
function wrapperRaf(callback) {
let times = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
rafUUID += 1;
const id = rafUUID;
function callRef(leftTimes) {
if (leftTimes === 0) {
cleanup(id);
callback();
} else {
const realId = raf(() => {
callRef(leftTimes - 1);
});
rafIds.set(id, realId);
}
}
callRef(times);
return id;
}
wrapperRaf.cancel = (id) => {
const realId = rafIds.get(id);
cleanup(realId);
return caf(realId);
};
export {
initDefaultProps as i,
wrapperRaf as w
};
//# sourceMappingURL=raf-5zkQ7Vyi.js.map