Clean up iterable utilities

This commit is contained in:
Evan Hahn 2021-03-31 11:15:49 -05:00 committed by Josh Perez
parent bd48dea613
commit 1a9c6b9385
6 changed files with 105 additions and 68 deletions

View file

@ -1,13 +1,9 @@
// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { size } from './iterables';
export function count(str: string): number {
const segments = new Intl.Segmenter().segment(str);
const iterator = segments[Symbol.iterator]();
let result = -1;
for (let done = false; !done; result += 1) {
done = Boolean(iterator.next().done);
}
return result;
return size(segments);
}