summaryrefslogtreecommitdiff
path: root/src/prelude
diff options
context:
space:
mode:
authorAya Morisawa <AyaMorisawa4869@gmail.com>2018-12-02 20:28:22 +0900
committerGitHub <noreply@github.com>2018-12-02 20:28:22 +0900
commit928d359dd29be509c1cb2ebeca7c4dea4e550089 (patch)
tree32e8aa9432a49e544fa4de073ee05345f1cc643b /src/prelude
parentRemove self-assignment (#3476) (diff)
downloadsharkey-928d359dd29be509c1cb2ebeca7c4dea4e550089.tar.gz
sharkey-928d359dd29be509c1cb2ebeca7c4dea4e550089.tar.bz2
sharkey-928d359dd29be509c1cb2ebeca7c4dea4e550089.zip
Use takeWhile instead of some (#3475)
Diffstat (limited to 'src/prelude')
-rw-r--r--src/prelude/array.ts12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/prelude/array.ts b/src/prelude/array.ts
index 09457d2d0a..5f694b1d31 100644
--- a/src/prelude/array.ts
+++ b/src/prelude/array.ts
@@ -57,3 +57,15 @@ export function lessThan(xs: number[], ys: number[]): boolean {
}
return xs.length < ys.length;
}
+
+export function takeWhile<T>(f: (x: T) => boolean, xs: T[]): T[] {
+ const ys = [];
+ for (const x of xs) {
+ if (f(x)) {
+ ys.push(x);
+ } else {
+ break;
+ }
+ }
+ return ys;
+}