Coverage Report

Created: 2026-02-14 08:01

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/Userland/Libraries/LibJS/Runtime/Intl/Segments.h
Line
Count
Source
1
/*
2
 * Copyright (c) 2022, Idan Horowitz <idan.horowitz@serenityos.org>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#pragma once
8
9
#include <AK/Utf16View.h>
10
#include <LibJS/Runtime/Intl/Segmenter.h>
11
#include <LibJS/Runtime/Object.h>
12
#include <LibLocale/Segmenter.h>
13
14
namespace JS::Intl {
15
16
class Segments final : public Object {
17
    JS_OBJECT(Segments, Object);
18
    JS_DECLARE_ALLOCATOR(Segments);
19
20
public:
21
    static NonnullGCPtr<Segments> create(Realm&, ::Locale::Segmenter const&, Utf16String);
22
23
0
    virtual ~Segments() override = default;
24
25
0
    ::Locale::Segmenter& segments_segmenter() const { return *m_segments_segmenter; }
26
27
0
    Utf16View segments_string() const { return m_segments_string.view(); }
28
29
private:
30
    Segments(Realm&, ::Locale::Segmenter const&, Utf16String);
31
32
    NonnullOwnPtr<::Locale::Segmenter> m_segments_segmenter; // [[SegmentsSegmenter]]
33
    Utf16String m_segments_string;                           // [[SegmentsString]]
34
};
35
36
}