+16
CHANGELOG.md
+16
CHANGELOG.md
···
+38
-38
Cargo.lock
+38
-38
Cargo.lock
············-source = "git+https://tangled.org/@nonbinary.computer/jacquard#8c229615c802488f3310f1cb35e7b79683289893"+source = "git+https://tangled.org/@nonbinary.computer/jacquard#77915fd4920b282b4b1342749dcdad9dce30cadf"·········-source = "git+https://tangled.org/@nonbinary.computer/jacquard#8c229615c802488f3310f1cb35e7b79683289893"+source = "git+https://tangled.org/@nonbinary.computer/jacquard#77915fd4920b282b4b1342749dcdad9dce30cadf"······-source = "git+https://tangled.org/@nonbinary.computer/jacquard#8c229615c802488f3310f1cb35e7b79683289893"+source = "git+https://tangled.org/@nonbinary.computer/jacquard#77915fd4920b282b4b1342749dcdad9dce30cadf"······-source = "git+https://tangled.org/@nonbinary.computer/jacquard#8c229615c802488f3310f1cb35e7b79683289893"+source = "git+https://tangled.org/@nonbinary.computer/jacquard#77915fd4920b282b4b1342749dcdad9dce30cadf"··················
+13
-13
crates/jacquard-common/src/lib.rs
+13
-13
crates/jacquard-common/src/lib.rs
···//! Here is the entire text of `XrpcCall::send()`. [`build_http_request()`](https://tangled.org/@nonbinary.computer/jacquard/blob/main/crates/jacquard-common/src/xrpc.rs#L400) and [`process_response()`](https://tangled.org/@nonbinary.computer/jacquard/blob/main/crates/jacquard-common/src/xrpc.rs#L344) are public functions and can be used in other crates. The first does more or less what it says on the tin. The second does less than you might think. It mostly surfaces authentication errors at an earlier level so you don't have to fully parse the response to know if there was an error or not.···//! So how does this work? How does `send()` and its helper functions know what to do? The answer shouldn't be surprising to anyone familiar with Rust. It's traits! Specifically, the following traits, which have generated implementations for every lexicon type ingested by Jacquard's API code generation, but which honestly aren't hard to just implement yourself (more tedious than anything). XrpcResp is always implemented on a unit/marker struct with no fields. They provide all the request-specific instructions to the functions.·········//!// .update_vec() with a modifier function or .update_vec_item() with a single item you want to set.
+2
-1
crates/jacquard-common/src/types/value/tests.rs
+2
-1
crates/jacquard-common/src/types/value/tests.rs
······