From d22c5dfcdbfbbc77b3298db9723725a88aad509a Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Thu, 17 Sep 2026 12:55:04 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=94=B9=E5=86=99=E6=95=B0=E7=BB=84?= =?UTF-8?q?=E5=9F=9F=E6=B3=A8=E9=87=8A=E5=B9=B6=E6=B8=85=E9=99=A4=E9=81=97?= =?UTF-8?q?=E7=95=99=E4=B9=B1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 改动点: - array/common.rs:require_callback 文档与上一函数之间补空行,与同文件其余条目的空行分隔格式一致。 - array/immutable.rs:array_to_sorted、array_to_spliced 两处文档前补空行;删除 array_to_spliced 体内与文档重复的缺省规则注释,缺省规则由函数文档的「边界与前提」唯一承载。 - 派单清单所列数组面注释绝大多数已由数组工具族注释批次落地,本批补齐 toSpliced 文档去重与三处空行,纯注释零逻辑。 --- crates/oxide_builtins/src/array/common.rs | 1 + crates/oxide_builtins/src/array/immutable.rs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/oxide_builtins/src/array/common.rs b/crates/oxide_builtins/src/array/common.rs index 050bbff7..96eeda4c 100644 --- a/crates/oxide_builtins/src/array/common.rs +++ b/crates/oxide_builtins/src/array/common.rs @@ -195,6 +195,7 @@ pub(crate) fn is_constructor_value(c: JsValue) -> bool { && !c_obj.is_arrow() && !(c_obj.native_fn().is_some() && c_obj.type_tag != JsObject::OBJ_TYPE_CONSTRUCTOR) } + /// 校验回调参数为可调用函数对象(判空与 is_function 均须通过),不是则抛 TypeError。 pub(crate) fn require_callback(vm: &mut H, callback_val: JsValue) -> Result { if !callback_val.is_object() { diff --git a/crates/oxide_builtins/src/array/immutable.rs b/crates/oxide_builtins/src/array/immutable.rs index c6ee22fe..e166a0ed 100644 --- a/crates/oxide_builtins/src/array/immutable.rs +++ b/crates/oxide_builtins/src/array/immutable.rs @@ -69,6 +69,7 @@ pub fn array_with(vm: &mut H, args: &[u8]) -> NativeResult { } NativeResult::Ok(JsValue::from_js_object(new_arr)) } + /// 返回按比较语义排序的新数组,原数组不变(`Array.prototype.toSorted`)。 /// /// # 边界与前提 @@ -112,6 +113,7 @@ pub fn array_to_sorted(vm: &mut H, args: &[u8]) -> NativeResult { } NativeResult::Ok(JsValue::from_js_object(new_arr)) } + /// 按 start/deleteCount/插入值三元 splice 语义返回新数组,原数组不变 ///(`Array.prototype.toSpliced`)。 /// @@ -141,7 +143,6 @@ pub fn array_to_spliced(vm: &mut H, args: &[u8]) -> NativeResult { } else { relative_start.min(n as f64) as usize }; - // 缺省规则:start 与 deleteCount 都缺省 -> 拷贝;仅缺省 deleteCount -> 删到末尾。 let delete_count = if args.len() <= 1 { 0 } else if args.len() == 2 {