From 3d3e377dbce8d2532cfcfea3ad8e903547c163c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Gru=CC=88nwald?= Date: Sun, 23 Jun 2024 16:00:22 +0200 Subject: [PATCH 1/3] clean up pattern match abomination --- src/chrobot.gleam | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/chrobot.gleam b/src/chrobot.gleam index 12fbc78..976ca9c 100644 --- a/src/chrobot.gleam +++ b/src/chrobot.gleam @@ -689,16 +689,8 @@ pub fn select_all(on page: Page, matching selector: String) { list.filter_map(property_descriptors, fn(prop_descriptor) { case prop_descriptor { runtime.PropertyDescriptor( - _, - Some(runtime.RemoteObject(_, _, _, _, _, _, Some(object_id))), - _, - _, - _, - _, - _, - _, - _, - _, + value: Some(runtime.RemoteObject(_, _, _, _, _, _, Some(object_id))), + .. ) -> { Ok(object_id) } From 4c3006d1ad2233a9e72f836ff0edde3690b3643d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Gru=CC=88nwald?= Date: Sun, 23 Jun 2024 16:05:59 +0200 Subject: [PATCH 2/3] simplify pattern matches --- src/chrobot.gleam | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/chrobot.gleam b/src/chrobot.gleam index 976ca9c..e257e71 100644 --- a/src/chrobot.gleam +++ b/src/chrobot.gleam @@ -689,8 +689,11 @@ pub fn select_all(on page: Page, matching selector: String) { list.filter_map(property_descriptors, fn(prop_descriptor) { case prop_descriptor { runtime.PropertyDescriptor( - value: Some(runtime.RemoteObject(_, _, _, _, _, _, Some(object_id))), - .. + value: Some(runtime.RemoteObject( + object_id: Some(object_id), + .., + )), + .., ) -> { Ok(object_id) } @@ -888,7 +891,7 @@ fn handle_eval_response(eval_response) { fn handle_object_id_response(response) { case response { - Ok(runtime.RemoteObject(_, _, _, _, _, _, Some(remote_object_id))) -> { + Ok(runtime.RemoteObject(object_id: Some(remote_object_id), ..)) -> { Ok(remote_object_id) } Ok(_) -> { @@ -977,7 +980,10 @@ pub fn call_custom_function_on( )) } runtime.CallFunctionOnResponse( - runtime.RemoteObject(_, _, _, Some(value), _, _, _), + runtime.RemoteObject( + value: Some(value), + .., + ), None, ) -> { value_decoder(value) From 27462a25217ee6b7e77e4c3d0ef9d7d6ed63c3fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Gru=CC=88nwald?= Date: Sun, 23 Jun 2024 16:28:33 +0200 Subject: [PATCH 3/3] more pattern match cleanup --- src/chrobot.gleam | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/chrobot.gleam b/src/chrobot.gleam index e257e71..14d2a8f 100644 --- a/src/chrobot.gleam +++ b/src/chrobot.gleam @@ -361,7 +361,7 @@ pub fn as_value( decoder, ) { case result { - Ok(runtime.RemoteObject(_, _, _, Some(value), _, _, _)) -> { + Ok(runtime.RemoteObject(value: Some(value), ..)) -> { decoder(value) |> result.replace_error(chrome.ProtocolError) } @@ -661,7 +661,7 @@ pub fn select_all(on page: Page, matching selector: String) { let selector_code = "window.document.querySelectorAll(\"" <> selector <> "\")" let result = eval(page, selector_code) case result { - Ok(runtime.RemoteObject(_, _, _, _, _, _, Some(remote_object_id))) -> { + Ok(runtime.RemoteObject(object_id: Some(remote_object_id), ..)) -> { use result_properties <- result.try(runtime.get_properties( page_caller(page), remote_object_id,