mirror of
https://github.com/pjh456/OxideJS.git
synced 2026-10-23 18:21:13 +08:00
style: 自动格式化
This commit is contained in:
@@ -987,9 +987,7 @@ pub(crate) fn parse_time_zone_string(value: &str) -> Option<String> {
|
||||
/// # 边界与前提
|
||||
/// - 字符串接受面与规范一致:UTC/Z、整数分钟偏移串、IANA 区名、带注解与尾偏移的
|
||||
/// 日期时间串;亚分钟偏移拒绝。
|
||||
pub(crate) fn to_temporal_time_zone_identifier<H: VmHost>(
|
||||
vm: &mut H, value: JsValue,
|
||||
) -> Result<String, JsValue> {
|
||||
pub(crate) fn to_temporal_time_zone_identifier<H: VmHost>(vm: &mut H, value: JsValue) -> Result<String, JsValue> {
|
||||
if value.is_object() {
|
||||
let ptr = value.as_js_object_ptr();
|
||||
if !ptr.is_null() {
|
||||
@@ -1005,8 +1003,7 @@ pub(crate) fn to_temporal_time_zone_identifier<H: VmHost>(
|
||||
}
|
||||
if value.is_string() {
|
||||
let input = to_string(value);
|
||||
return parse_time_zone_string(&input)
|
||||
.ok_or_else(|| crate::error::create_range_error(vm, "invalid time zone"));
|
||||
return parse_time_zone_string(&input).ok_or_else(|| crate::error::create_range_error(vm, "invalid time zone"));
|
||||
}
|
||||
Err(crate::error::create_type_error(vm, "invalid time zone"))
|
||||
}
|
||||
|
||||
@@ -717,8 +717,8 @@ pub fn plain_date_to_zoned_datetime<H: VmHost>(vm: &mut H, args: &[u8]) -> Nativ
|
||||
let time_zone_id = native_try!(to_temporal_time_zone_identifier(vm, time_zone_like));
|
||||
let time_ns = native_try!(plain_time_like_ns(vm, temporal_time));
|
||||
if temporal_time.is_undefined() {
|
||||
let epoch = get_start_of_day_epoch_ns(&time_zone_id, year, month, day)
|
||||
.map_err(|error| map_add_zoned_error(vm, error));
|
||||
let epoch =
|
||||
get_start_of_day_epoch_ns(&time_zone_id, year, month, day).map_err(|error| map_add_zoned_error(vm, error));
|
||||
let epoch_ns = native_try!(epoch);
|
||||
return make_zoned_date_time(vm, epoch_ns, &time_zone_id, &calendar);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,9 @@ use oxide_types::object::JsObject;
|
||||
use oxide_types::value::JsValue;
|
||||
|
||||
use super::common::native_try;
|
||||
use super::zoned_date_time::{
|
||||
disambiguate_possible_epoch_nanoseconds, get_possible_epoch_nanoseconds, map_add_zoned_error,
|
||||
};
|
||||
use super::{
|
||||
civil_from_days, days_from_civil, days_in_month, days_in_month_iso, difference_core, duration_component_integer,
|
||||
duration_like_values, ensure_plain_date_time, format_iso_year, get_calendar_id, get_double_prop,
|
||||
@@ -18,9 +21,6 @@ use super::{
|
||||
temporal_overflow, to_temporal_time_zone_identifier, valid_iso_date, valid_plain_date_time_range, valid_plain_time,
|
||||
zoned_date_time_plain_parts, DateTimeParts, FractionalSecondDigitsInput, IsoDateTime,
|
||||
};
|
||||
use super::zoned_date_time::{
|
||||
disambiguate_possible_epoch_nanoseconds, get_possible_epoch_nanoseconds, map_add_zoned_error,
|
||||
};
|
||||
// ───────────────────── PlainDateTime 基础方法 ─────────────────────
|
||||
|
||||
/// `Temporal.PlainDateTime` 构造器:保存 ISO 日期与午夜后纳秒。
|
||||
|
||||
@@ -26,8 +26,8 @@ use super::instant::{
|
||||
round_instant_ns, InstantRoundingMode,
|
||||
};
|
||||
use super::time_zone::{
|
||||
named_zone_possible_epoch_ns, tz_gap_offsets, tz_gap_transition_epoch, tz_next_transition,
|
||||
tz_prev_transition, zone_offset_seconds,
|
||||
named_zone_possible_epoch_ns, tz_gap_offsets, tz_gap_transition_epoch, tz_next_transition, tz_prev_transition,
|
||||
zone_offset_seconds,
|
||||
};
|
||||
use super::{
|
||||
days_in_month_iso, duration_like_values, duration_time_only_nanoseconds, is_leap_year_iso, make_duration,
|
||||
@@ -1662,18 +1662,12 @@ pub fn zoned_date_time_get_time_zone_transition<H: VmHost>(vm: &mut H, args: &[u
|
||||
} else if direction_param.is_object() {
|
||||
let ptr = direction_param.as_js_object_ptr();
|
||||
if ptr.is_null() {
|
||||
return NativeResult::Err(crate::error::create_type_error(
|
||||
vm,
|
||||
"direction must be a string or an object",
|
||||
));
|
||||
return NativeResult::Err(crate::error::create_type_error(vm, "direction must be a string or an object"));
|
||||
}
|
||||
let options = unsafe { &*ptr };
|
||||
native_try!(temporal_option_value(vm, options, direction_param, "direction"))
|
||||
} else {
|
||||
return NativeResult::Err(crate::error::create_type_error(
|
||||
vm,
|
||||
"direction must be a string or an object",
|
||||
));
|
||||
return NativeResult::Err(crate::error::create_type_error(vm, "direction must be a string or an object"));
|
||||
};
|
||||
let direction = if direction_raw.is_undefined() {
|
||||
return NativeResult::Err(crate::error::create_range_error(vm, "direction is required"));
|
||||
|
||||
Reference in New Issue
Block a user