Skip to content

Commit c5c34ec

Browse files
committed
fix: serialization places with serde_wasm_bindgen
Signed-off-by: Lachezar Lechev <[email protected]>
1 parent 82c8c28 commit c5c34ec

File tree

2 files changed

+30
-11
lines changed

2 files changed

+30
-11
lines changed

stremio-core-web/src/model/model.rs

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
#[cfg(feature = "wasm")]
2-
use {serde_wasm_bindgen, wasm_bindgen::JsValue};
1+
use {serde::Serialize, wasm_bindgen::JsValue};
32

43
use super::*;
54

6-
#[cfg(debug_assertions)]
7-
use serde::Serialize;
8-
95
use stremio_core::{
106
models::{
117
addon_details::AddonDetails,
@@ -33,7 +29,7 @@ use stremio_core::{
3329
};
3430

3531
use super::SerializeModel;
36-
use crate::env::WebEnv;
32+
use crate::{env::WebEnv, SERIALIZER};
3733

3834
#[derive(Model, Clone)]
3935
#[cfg_attr(debug_assertions, derive(Serialize))]
@@ -125,11 +121,32 @@ impl WebModel {
125121
)
126122
}
127123
pub fn get_state(&self, field: &WebModelField) -> JsValue {
124+
// return match field {
125+
// WebModelField::Ctx => serialize_ctx(&self.ctx),
126+
// WebModelField::AuthLink => JsValue::NULL,
127+
// WebModelField::DataExport => JsValue::NULL,
128+
// WebModelField::ContinueWatchingPreview => JsValue::NULL,
129+
// WebModelField::Board => JsValue::NULL,
130+
// WebModelField::Discover => JsValue::NULL,
131+
// WebModelField::Library => JsValue::NULL,
132+
// WebModelField::ContinueWatching => JsValue::NULL,
133+
// WebModelField::Calendar => JsValue::NULL,
134+
// WebModelField::Search => JsValue::NULL,
135+
// WebModelField::LocalSearch => JsValue::NULL,
136+
// WebModelField::MetaDetails => JsValue::NULL,
137+
// WebModelField::RemoteAddons => JsValue::NULL,
138+
// WebModelField::InstalledAddons => JsValue::NULL,
139+
// WebModelField::AddonDetails => JsValue::NULL,
140+
// WebModelField::StreamingServer => JsValue::NULL,
141+
// WebModelField::Player => JsValue::NULL,
142+
// };
143+
128144
match field {
129145
WebModelField::Ctx => serialize_ctx(&self.ctx),
130-
WebModelField::AuthLink => {
131-
serde_wasm_bindgen::to_value(&self.auth_link).expect("JsValue from AuthLink")
132-
}
146+
WebModelField::AuthLink => self
147+
.auth_link
148+
.serialize(&SERIALIZER)
149+
.expect("JsValue from AuthLink"),
133150
WebModelField::DataExport => serialize_data_export(&self.data_export),
134151
WebModelField::ContinueWatchingPreview => serialize_continue_watching_preview(
135152
&self.continue_watching_preview,
@@ -179,7 +196,9 @@ impl WebModel {
179196
),
180197
WebModelField::RemoteAddons => serialize_remote_addons(&self.remote_addons, &self.ctx),
181198
WebModelField::InstalledAddons => serialize_installed_addons(&self.installed_addons),
182-
WebModelField::AddonDetails => serde_wasm_bindgen::to_value(&self.addon_details)
199+
WebModelField::AddonDetails => self
200+
.addon_details
201+
.serialize(&SERIALIZER)
183202
.expect("JsValue from AddonDetails"),
184203
WebModelField::StreamingServer => serialize_streaming_server(&self.streaming_server),
185204
WebModelField::Player => {

stremio-core-web/src/model/serialize_catalogs_with_extra.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ impl super::SerializeModel<wasm_bindgen::JsValue> for CatalogsWithExtra<'_> {
137137
type Error = serde_wasm_bindgen::Error;
138138

139139
fn serialize_model(&self) -> Result<wasm_bindgen::JsValue, Self::Error> {
140-
wasm_bindgen::JsValue::try_from(self)
140+
self.serialize(&crate::SERIALIZER)
141141
}
142142
}
143143

0 commit comments

Comments
 (0)