diff --git a/packages/effect/src/Record.ts b/packages/effect/src/Record.ts index 79d1912105d..31fc391b060 100644 --- a/packages/effect/src/Record.ts +++ b/packages/effect/src/Record.ts @@ -168,10 +168,21 @@ export const fromIterableWith: { * @category constructors * @since 2.0.0 */ -export const fromIterableBy = ( - items: Iterable, - f: (a: A) => K -): Record, A> => fromIterableWith(items, (a) => [f(a), a]) +export const fromIterableBy: { + ( + f: (a: A) => K + ): (self: Iterable) => Record, A> + ( + self: Iterable, + f: (a: A) => K + ): Record, A> +} = dual( + 2, + ( + self: Iterable, + f: (a: A) => K + ): Record, A> => fromIterableWith(self, (a) => [f(a), a]) +) /** * Builds a record from an iterable of key-value pairs.