1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:17:35 +00:00

LibJS: Convert Intl.Segmenter, Segments and SegmentIterator to Utf16

This is a precursor to implementing the FindBoundary AO, which operates
on Utf16 code unit indexes.
This commit is contained in:
Idan Horowitz 2022-01-31 18:41:44 +02:00
parent 4967bcd4ce
commit b1d19b5917
6 changed files with 17 additions and 16 deletions

View file

@ -10,7 +10,7 @@
namespace JS::Intl {
// 18.6.1 CreateSegmentIterator ( segmenter, string ), https://tc39.es/ecma402/#sec-createsegmentsobject
SegmentIterator* SegmentIterator::create(GlobalObject& global_object, Segmenter& segmenter, String string)
SegmentIterator* SegmentIterator::create(GlobalObject& global_object, Segmenter& segmenter, Utf16View const& string)
{
// 1. Let internalSlotsList be « [[IteratingSegmenter]], [[IteratedString]], [[IteratedStringNextSegmentCodeUnitIndex]] ».
// 2. Let iterator be ! OrdinaryObjectCreate(%SegmentIteratorPrototype%, internalSlotsList).
@ -22,10 +22,10 @@ SegmentIterator* SegmentIterator::create(GlobalObject& global_object, Segmenter&
}
// 18.6 Segment Iterator Objects, https://tc39.es/ecma402/#sec-segment-iterator-objects
SegmentIterator::SegmentIterator(GlobalObject& global_object, Segmenter& segmenter, String string)
SegmentIterator::SegmentIterator(GlobalObject& global_object, Segmenter& segmenter, Utf16View const& string)
: Object(*global_object.intl_segment_iterator_prototype())
, m_iterating_segmenter(segmenter)
, m_iterated_string(move(string))
, m_iterated_string(string)
{
}