Skip to content

Commit 9c4c495

Browse files
committed
Minor refactoring
1 parent f908297 commit 9c4c495

File tree

11 files changed

+23
-26
lines changed

11 files changed

+23
-26
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
## Overview
44

5-
This repository contains a context-generic version of the `serde` crate, to support modular serialization using [context-generic programming](https://contextgeneric.dev) (CGP).
5+
`cgp-serde` provides a context-generic version of the `serde` crate, to support modular serialization using [context-generic programming](https://contextgeneric.dev) (CGP).

crates/cgp-serde-extra/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ repository = { workspace = true }
77
authors = { workspace = true }
88
rust-version = { workspace = true }
99
keywords = { workspace = true }
10-
description = "CGP-enabled serde implementation"
10+
description = "Extra providers for Serde serialization of bytes and dates"
1111

1212
[dependencies]
1313
cgp = { workspace = true }

crates/cgp-serde-json/src/impls/from_reader.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ use serde_json::{Deserializer, Error};
55

66
use crate::code::DeserializeJson;
77

8-
#[cgp_new_provider]
9-
impl<Context, Value, R, 'de> TryComputer<Context, DeserializeJson<Value>, R>
10-
for DeserializeFromJsonReader
8+
#[cgp_impl(new DeserializeFromJsonReader)]
9+
impl<Context, Value, R, 'de> TryComputer<DeserializeJson<Value>, R> for Context
1110
where
1211
R: Read<'de>,
1312
Context: CanDeserializeValue<'de, Value> + CanRaiseError<Error>,

crates/cgp-serde-json/src/impls/to_string.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ use cgp_serde::components::CanSerializeValue;
55
use cgp_serde::types::SerializeWithContext;
66
use serde_json::Error;
77

8-
#[cgp_new_provider]
9-
impl<Context, Code, Value> TryComputer<Context, Code, &Value> for SerializeToJsonString
8+
#[cgp_impl(new SerializeToJsonString)]
9+
impl<Context, Code, Value> TryComputer<Code, &Value> for Context
1010
where
1111
Context: CanSerializeValue<Value> + CanRaiseError<Error>,
1212
{

crates/cgp-serde/src/providers/bytes.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ impl<Context, Value> ValueSerializer<Value> for Context
1414
where
1515
Value: AsRef<[u8]>,
1616
{
17-
fn serialize<S>(_context: &Context, value: &Value, serializer: S) -> Result<S::Ok, S::Error>
17+
fn serialize<S>(&self, value: &Value, serializer: S) -> Result<S::Ok, S::Error>
1818
where
1919
S: serde::Serializer,
2020
{
@@ -27,7 +27,7 @@ impl<'a, Context, Value> ValueDeserializer<'a, Value> for Context
2727
where
2828
Value: From<&'a [u8]>,
2929
{
30-
fn deserialize<D>(_context: &Context, deserializer: D) -> Result<Value, D::Error>
30+
fn deserialize<D>(&self, deserializer: D) -> Result<Value, D::Error>
3131
where
3232
D: serde::Deserializer<'a>,
3333
{

crates/cgp-serde/src/providers/default.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@ use serde::de::Visitor;
33

44
use crate::components::{ValueDeserializer, ValueDeserializerComponent};
55

6-
#[cgp_new_provider]
7-
impl<'a, Context, Value, Provider> ValueDeserializer<'a, Context, Value>
8-
for DeserializeDefault<Provider>
6+
#[cgp_impl(new DeserializeDefault<Provider>)]
7+
impl<'a, Context, Value, Provider> ValueDeserializer<'a, Value> for Context
98
where
109
Value: Default,
1110
Provider: ValueDeserializer<'a, Context, Value>,

crates/cgp-serde/src/providers/deref.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ use cgp::prelude::*;
44

55
use crate::components::{CanSerializeValue, ValueSerializer, ValueSerializerComponent};
66

7-
#[cgp_new_provider]
8-
impl<Context, Value> ValueSerializer<Context, Value> for SerializeDeref
7+
#[cgp_impl(new SerializeDeref)]
8+
impl<Context, Value> ValueSerializer<Value> for Context
99
where
1010
Value: Deref,
1111
Context: CanSerializeValue<Value::Target>,

crates/cgp-serde/src/providers/display.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,26 @@ use core::fmt::Display;
33
use core::str::FromStr;
44

55
use cgp::prelude::*;
6+
use serde::Serializer;
67
use serde::de::Error;
78

89
use crate::components::{
910
CanDeserializeValue, CanSerializeValue, ValueDeserializer, ValueDeserializerComponent,
1011
ValueSerializer, ValueSerializerComponent,
1112
};
1213

13-
#[cgp_new_provider]
14-
impl<Context, Value> ValueSerializer<Context, Value> for SerializeWithDisplay
14+
#[cgp_impl(new SerializeWithDisplay)]
15+
impl<Context, Value> ValueSerializer<Value> for Context
1516
where
1617
Context: CanSerializeValue<String>,
1718
Value: Display,
1819
{
19-
fn serialize<S>(context: &Context, value: &Value, serializer: S) -> Result<S::Ok, S::Error>
20+
fn serialize<S>(&self, value: &Value, serializer: S) -> Result<S::Ok, S::Error>
2021
where
21-
S: serde::Serializer,
22+
S: Serializer,
2223
{
2324
let str_value = value.to_string();
24-
context.serialize(&str_value, serializer)
25+
self.serialize(&str_value, serializer)
2526
}
2627
}
2728

crates/cgp-serde/src/providers/fields.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ use serde::ser::SerializeMap;
55
use crate::components::{CanSerializeValue, ValueSerializer, ValueSerializerComponent};
66
use crate::types::SerializeWithContext;
77

8-
#[cgp_new_provider]
9-
impl<Context, Value> ValueSerializer<Context, Value> for SerializeFields
8+
#[cgp_impl(new SerializeFields)]
9+
impl<Context, Value> ValueSerializer<Value> for Context
1010
where
1111
Value: HasFields,
1212
Value::Fields: FieldsSerializer<Context, Value>,

crates/cgp-serde/src/providers/iterator.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ use serde::ser::SerializeSeq;
44
use crate::components::{CanSerializeValue, ValueSerializer, ValueSerializerComponent};
55
use crate::types::SerializeWithContext;
66

7-
pub struct SerializeIterator;
8-
9-
#[cgp_impl(SerializeIterator)]
7+
#[cgp_impl(new SerializeIterator)]
108
impl<Context, Value> ValueSerializer<Value> for Context
119
where
1210
for<'a> &'a Value: IntoIterator,

0 commit comments

Comments
 (0)