Skip to content

Commit 35a3428

Browse files
committed
Merge branch 'main' into alpha
2 parents ee383e0 + 610d3ec commit 35a3428

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

index.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,19 @@ export function takeWhileFn<T>(
171171
return array => takeWhile(array, predicate);
172172
}
173173

174+
export function takeUntil<T>(
175+
array: ArrayLike<T>,
176+
predicate: (element: T, index: number) => boolean
177+
): T[] {
178+
return takeWhile(array, (element, index) => !predicate(element, index));
179+
}
180+
181+
export function takeUntilFn<T>(
182+
predicate: (element: T, index: number) => boolean
183+
): (array: ArrayLike<T>) => T[] {
184+
return array => takeUntil(array, predicate);
185+
}
186+
174187
export function dropWhile<T>(
175188
array: ArrayLike<T>,
176189
predicate: (element: T, index: number) => boolean
@@ -188,6 +201,19 @@ export function dropWhileFn<T>(
188201
return array => dropWhile(array, predicate);
189202
}
190203

204+
export function dropUntil<T>(
205+
array: ArrayLike<T>,
206+
predicate: (element: T, index: number) => boolean
207+
): T[] {
208+
return dropWhile(array, (element, index) => !predicate(element, index));
209+
}
210+
211+
export function dropUntilFn<T>(
212+
predicate: (element: T, index: number) => boolean
213+
): (array: ArrayLike<T>) => T[] {
214+
return array => dropWhile(array, predicate);
215+
}
216+
191217
export function equal<T>(
192218
a: ArrayLike<T>,
193219
b: ArrayLike<T>,

0 commit comments

Comments
 (0)