Skip to content

Instantly share code, notes, and snippets.

View P-nutsK's full-sized avatar

P_nutsK P-nutsK

View GitHub Profile
@mst-mkt
mst-mkt / nabeatsu.d.ts
Last active September 6, 2024 04:32
TypeScriptの型で世界のナベアツ
type Natural = 0[];
type Zero = [];
type One = [0];
type AhoSuffix = '(アホ)';
type Length<Array extends unknown[]> = Extract<Array['length'], number>;
type Add<N1 extends Natural, N2 extends Natural> = [...N1, ...N2];
type AddNum<N1 extends number, N2 extends number> = Length<[...NumToNat<N1>, ...NumToNat<N2>]>;
type Sub<N1 extends Natural, N2 extends Natural> = N1 extends [...N2, ...infer M]
? M