react-moveable
Version:
A React Component that create Moveable, Draggable, Resizable, Scalable, Rotatable, Warpable, Pinchable, Groupable.
14 lines (12 loc) • 434 B
text/typescript
import { Able } from "../types";
export function makeAble<
Name extends string,
AbleObject extends Partial<Able<any, any>>,
>(name: Name, able: AbleObject) {
return {
events: [] as AbleObject["events"] extends readonly any[] ? AbleObject["events"] : readonly [],
props: [] as AbleObject["props"] extends readonly any[] ? AbleObject["props"] : readonly [],
name,
...able,
} as const;
}