blob: c7c71db0b3fa98fd8a799f353a2198e1999a7841 [file] [log] [blame]
// Copyright 2022 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include 'src/objects/js-duration-format.h'
type JSDurationFormatStyle extends int32
constexpr 'JSDurationFormat::Style';
type JSDurationFormatSeparator extends int32
constexpr 'JSDurationFormat::Separator';
type JSDurationFormatFieldStyle extends int32
constexpr 'JSDurationFormat::FieldStyle';
type JSDurationFormatDisplay extends int32
constexpr 'JSDurationFormat::Display';
bitfield struct JSDurationFormatStyleFlags extends uint31 {
style: JSDurationFormatStyle: 2 bit;
years_style: JSDurationFormatFieldStyle: 2 bit;
months_style: JSDurationFormatFieldStyle: 2 bit;
weeks_style: JSDurationFormatFieldStyle: 2 bit;
days_style: JSDurationFormatFieldStyle: 2 bit;
hours_style: JSDurationFormatFieldStyle: 3 bit;
minutes_style: JSDurationFormatFieldStyle: 3 bit;
seconds_style: JSDurationFormatFieldStyle: 3 bit;
milliseconds_style: JSDurationFormatFieldStyle: 2 bit;
microseconds_style: JSDurationFormatFieldStyle: 2 bit;
nanoseconds_style: JSDurationFormatFieldStyle: 2 bit;
separator: JSDurationFormatSeparator: 2 bit;
}
bitfield struct JSDurationFormatDisplayFlags extends uint31 {
years_display: JSDurationFormatDisplay: 1 bit;
months_display: JSDurationFormatDisplay: 1 bit;
weeks_display: JSDurationFormatDisplay: 1 bit;
days_display: JSDurationFormatDisplay: 1 bit;
hours_display: JSDurationFormatDisplay: 1 bit;
minutes_display: JSDurationFormatDisplay: 1 bit;
seconds_display: JSDurationFormatDisplay: 1 bit;
milliseconds_display: JSDurationFormatDisplay: 1 bit;
microseconds_display: JSDurationFormatDisplay: 1 bit;
nanoseconds_display: JSDurationFormatDisplay: 1 bit;
fractional_digits: int32: 4 bit;
}
extern class JSDurationFormat extends JSObject {
style_flags: SmiTagged<JSDurationFormatStyleFlags>;
display_flags: SmiTagged<JSDurationFormatDisplayFlags>;
icu_locale: Foreign; // Managed<icu::Locale>
icu_number_formatter:
Foreign; // Managed<icu::number::LocalizedNumberFormatter>
}