Skip to content

Commit ce4c4b1

Browse files
committed
Serialise all config
1 parent d78bb6a commit ce4c4b1

3 files changed

+33
-44
lines changed

compiler-core/src/config.rs

+10-41
Original file line numberDiff line numberDiff line change
@@ -724,91 +724,61 @@ where
724724

725725
#[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Default, Clone)]
726726
pub struct DenoConfig {
727-
#[serde(
728-
default,
729-
skip_serializing_if = "is_default",
730-
deserialize_with = "bool_or_seq_string_to_deno_flag"
731-
)]
727+
#[serde(default, deserialize_with = "bool_or_seq_string_to_deno_flag")]
732728
pub allow_env: DenoFlag,
733-
#[serde(default, skip_serializing_if = "is_default")]
729+
#[serde(default)]
734730
pub allow_sys: bool,
735-
#[serde(default, skip_serializing_if = "is_default")]
731+
#[serde(default)]
736732
pub allow_hrtime: bool,
737-
#[serde(
738-
default,
739-
skip_serializing_if = "is_default",
740-
deserialize_with = "bool_or_seq_string_to_deno_flag"
741-
)]
733+
#[serde(default, deserialize_with = "bool_or_seq_string_to_deno_flag")]
742734
pub allow_net: DenoFlag,
743-
#[serde(default, skip_serializing_if = "is_default")]
735+
#[serde(default)]
744736
pub allow_ffi: bool,
745-
#[serde(
746-
default,
747-
skip_serializing_if = "is_default",
748-
deserialize_with = "bool_or_seq_string_to_deno_flag"
749-
)]
737+
#[serde(default, deserialize_with = "bool_or_seq_string_to_deno_flag")]
750738
pub allow_read: DenoFlag,
751-
#[serde(
752-
default,
753-
skip_serializing_if = "is_default",
754-
deserialize_with = "bool_or_seq_string_to_deno_flag"
755-
)]
739+
#[serde(default, deserialize_with = "bool_or_seq_string_to_deno_flag")]
756740
pub allow_run: DenoFlag,
757-
#[serde(
758-
default,
759-
skip_serializing_if = "is_default",
760-
deserialize_with = "bool_or_seq_string_to_deno_flag"
761-
)]
741+
#[serde(default, deserialize_with = "bool_or_seq_string_to_deno_flag")]
762742
pub allow_write: DenoFlag,
763-
#[serde(default, skip_serializing_if = "is_default")]
743+
#[serde(default)]
764744
pub allow_all: bool,
765-
#[serde(default, skip_serializing_if = "is_default")]
745+
#[serde(default)]
766746
pub unstable: bool,
767747
#[serde(
768748
default,
769749
serialize_with = "uri_serde::serialize_option",
770750
deserialize_with = "uri_serde::deserialize_option"
771751
)]
772-
#[serde(skip_serializing_if = "Option::is_none")]
773752
pub location: Option<Uri>,
774753
}
775754

776-
fn is_default<T: Default + PartialEq>(t: &T) -> bool {
777-
*t == Default::default()
778-
}
779-
780755
#[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone)]
781756
#[serde(tag = "type", rename_all = "lowercase")]
782757
pub enum Repository {
783758
GitHub {
784759
user: String,
785760
repo: String,
786-
#[serde(skip_serializing_if = "Option::is_none")]
787761
path: Option<String>,
788762
},
789763
GitLab {
790764
user: String,
791765
repo: String,
792-
#[serde(skip_serializing_if = "Option::is_none")]
793766
path: Option<String>,
794767
},
795768
BitBucket {
796769
user: String,
797770
repo: String,
798-
#[serde(skip_serializing_if = "Option::is_none")]
799771
path: Option<String>,
800772
},
801773
Codeberg {
802774
user: String,
803775
repo: String,
804-
#[serde(skip_serializing_if = "Option::is_none")]
805776
path: Option<String>,
806777
},
807778
#[serde(alias = "forgejo")]
808779
Gitea {
809780
user: String,
810781
repo: String,
811-
#[serde(skip_serializing_if = "Option::is_none")]
812782
path: Option<String>,
813783
#[serde(
814784
serialize_with = "uri_serde::serialize",
@@ -819,7 +789,6 @@ pub enum Repository {
819789
SourceHut {
820790
user: String,
821791
repo: String,
822-
#[serde(skip_serializing_if = "Option::is_none")]
823792
path: Option<String>,
824793
},
825794
Custom {

compiler-core/src/snapshots/gleam_core__config__barebones_package_config_to_json.snap

+13-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,19 @@ version = "1.0.0"
3232
"javascript": {
3333
"typescript_declarations": false,
3434
"runtime": "nodejs",
35-
"deno": {}
35+
"deno": {
36+
"allow_env": [],
37+
"allow_sys": false,
38+
"allow_hrtime": false,
39+
"allow_net": [],
40+
"allow_ffi": false,
41+
"allow_read": [],
42+
"allow_run": [],
43+
"allow_write": [],
44+
"allow_all": false,
45+
"unstable": false,
46+
"location": null
47+
}
3648
},
3749
"target": "erlang",
3850
"internal_modules": null

compiler-core/src/snapshots/gleam_core__config__package_config_to_json.snap

+10-2
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ allow_read = ["./database.sqlite"]
7676
"repository": {
7777
"type": "github",
7878
"user": "example",
79-
"repo": "my_dep"
79+
"repo": "my_dep",
80+
"path": null
8081
},
8182
"links": [
8283
{
@@ -98,13 +99,20 @@ allow_read = ["./database.sqlite"]
9899
"allow_env": [
99100
"DATABASE_URL"
100101
],
102+
"allow_sys": false,
103+
"allow_hrtime": false,
101104
"allow_net": [
102105
"example.com:443"
103106
],
104107
"allow_ffi": true,
105108
"allow_read": [
106109
"./database.sqlite"
107-
]
110+
],
111+
"allow_run": [],
112+
"allow_write": [],
113+
"allow_all": false,
114+
"unstable": false,
115+
"location": null
108116
}
109117
},
110118
"target": "erlang",

0 commit comments

Comments
 (0)