UNPKG

isaacscript-common

Version:

Helper functions and features for IsaacScript mods.

23 lines 788 B
/** * Helper type to add two other types. * * From: https://gist.github.com/ryandabler/8b4ff4f36aed47bc09acc03174638468 */ export type Add<A extends number, B extends number> = Length<[ ...BuildTuple<A>, ...BuildTuple<B> ]>; /** * Helper type to subtract two other types. * * From: https://gist.github.com/ryandabler/8b4ff4f36aed47bc09acc03174638468 */ export type Subtract<A extends number, B extends number> = A extends A ? BuildTuple<A> extends [...infer U, ...BuildTuple<B>] ? Length<U> : never : never; type BuildTuple<L extends number, T extends unknown[] = []> = T extends { length: L; } ? T : BuildTuple<L, [...T, unknown]>; type Length<T extends unknown[]> = T extends { length: infer L; } ? L : never; export {}; //# sourceMappingURL=AddSubtract.d.ts.map