yoni-mcscripts-lib
Version:
为 Minecraft Script API 中的部分接口创建了 wrapper,并提供简单的事件管理器和任务管理器,另附有一些便于代码编写的一些小工具。
14 lines (13 loc) • 612 B
TypeScript
export type DumpTupleRecordEntriesToUnion<T> = {
[id in keyof T]-?: T[id] extends [infer Event, infer EventOpt] ? T[id] : never;
}[keyof T];
type UnionToIntersection<U> = (U extends any ? (a: (k: U) => void) => void : never) extends (a: infer I) => void ? I : never;
type UnionLast<U> = UnionToIntersection<U> extends (a: infer I) => void ? I : never;
export type UnionToTuple<U> = [
U
] extends [never] ? [] : [
...UnionToTuple<Exclude<U, UnionLast<U>>>,
UnionLast<U>
];
export type Equals<X, Y> = (<T>() => T extends X ? 1 : 2) extends (<T>() => T extends Y ? 1 : 2) ? true : false;
export {};