From edb9d19840df2a7af1007f6ee93f10ec8891365f Mon Sep 17 00:00:00 2001 From: daimond113 Date: Sun, 17 Aug 2025 19:33:24 +0200 Subject: [PATCH 1/2] Use mapped types for iterating objects --- include/lua.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/lua.d.ts b/include/lua.d.ts index 5672dffa0..c92b6d7bc 100644 --- a/include/lua.d.ts +++ b/include/lua.d.ts @@ -806,7 +806,7 @@ declare function next>( declare function next(object: ReadonlyArray, index?: number): LuaTuple<[number, T]>; declare function next(object: ReadonlySet, index?: T): LuaTuple<[T, true]>; declare function next(object: ReadonlyMap, index?: K): LuaTuple<[K, V]>; -declare function next(object: T, index?: keyof T): LuaTuple<[keyof T, T[keyof T]]>; +declare function next(object: T, index?: keyof T): { [K in keyof T]-?: LuaTuple<[K, Exclude]>; }[keyof T]; declare function next(object: object, index?: unknown): LuaTuple<[unknown, unknown]>; declare function pairs(object: ReadonlyArray): IterableFunction]>>; @@ -818,6 +818,6 @@ declare function pairs( object: T, ): keyof T extends never ? IterableFunction> - : IterableFunction]>>; + : IterableFunction<{ [K in keyof T]-?: LuaTuple<[K, Exclude]>; }[keyof T]>; declare function ipairs(object: ReadonlyArray): IterableFunction]>>; From e1430dcdef3743508b00276112d8686d974b73e4 Mon Sep 17 00:00:00 2001 From: daimond113 Date: Sun, 17 Aug 2025 19:40:42 +0200 Subject: [PATCH 2/2] Run ESLint --- include/lua.d.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/lua.d.ts b/include/lua.d.ts index c92b6d7bc..bad54ffd4 100644 --- a/include/lua.d.ts +++ b/include/lua.d.ts @@ -806,7 +806,10 @@ declare function next>( declare function next(object: ReadonlyArray, index?: number): LuaTuple<[number, T]>; declare function next(object: ReadonlySet, index?: T): LuaTuple<[T, true]>; declare function next(object: ReadonlyMap, index?: K): LuaTuple<[K, V]>; -declare function next(object: T, index?: keyof T): { [K in keyof T]-?: LuaTuple<[K, Exclude]>; }[keyof T]; +declare function next( + object: T, + index?: keyof T, +): { [K in keyof T]-?: LuaTuple<[K, Exclude]> }[keyof T]; declare function next(object: object, index?: unknown): LuaTuple<[unknown, unknown]>; declare function pairs(object: ReadonlyArray): IterableFunction]>>; @@ -818,6 +821,6 @@ declare function pairs( object: T, ): keyof T extends never ? IterableFunction> - : IterableFunction<{ [K in keyof T]-?: LuaTuple<[K, Exclude]>; }[keyof T]>; + : IterableFunction<{ [K in keyof T]-?: LuaTuple<[K, Exclude]> }[keyof T]>; declare function ipairs(object: ReadonlyArray): IterableFunction]>>;