UNPKG

mldong-flow-designer-plus

Version:

本项目包含了作者为B站课堂视频[《工作流设计器开发最佳实践》](https://www.bilibili.com/cheese/play/ss24484)的过程源码。教程中开发的组件也可用于实际生产环境中。以下是和使用文档和课程章节说明。 ## 实战项目 [演示地址](https://flow-pro.mldong.com/)

62 lines (61 loc) 1.59 kB
import { _ as _extends } from "./index-DwKsTObm.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-0P1My3fX.js.map