|
1 |
| -#[cfg(feature = "wasm")] |
2 |
| -use {serde_wasm_bindgen, wasm_bindgen::JsValue}; |
| 1 | +use {serde::Serialize, wasm_bindgen::JsValue}; |
3 | 2 |
|
4 | 3 | use super::*;
|
5 | 4 |
|
6 |
| -#[cfg(debug_assertions)] |
7 |
| -use serde::Serialize; |
8 |
| - |
9 | 5 | use stremio_core::{
|
10 | 6 | models::{
|
11 | 7 | addon_details::AddonDetails,
|
@@ -33,7 +29,7 @@ use stremio_core::{
|
33 | 29 | };
|
34 | 30 |
|
35 | 31 | use super::SerializeModel;
|
36 |
| -use crate::env::WebEnv; |
| 32 | +use crate::{env::WebEnv, SERIALIZER}; |
37 | 33 |
|
38 | 34 | #[derive(Model, Clone)]
|
39 | 35 | #[cfg_attr(debug_assertions, derive(Serialize))]
|
@@ -125,11 +121,32 @@ impl WebModel {
|
125 | 121 | )
|
126 | 122 | }
|
127 | 123 | 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 | + |
128 | 144 | match field {
|
129 | 145 | 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"), |
133 | 150 | WebModelField::DataExport => serialize_data_export(&self.data_export),
|
134 | 151 | WebModelField::ContinueWatchingPreview => serialize_continue_watching_preview(
|
135 | 152 | &self.continue_watching_preview,
|
@@ -179,7 +196,9 @@ impl WebModel {
|
179 | 196 | ),
|
180 | 197 | WebModelField::RemoteAddons => serialize_remote_addons(&self.remote_addons, &self.ctx),
|
181 | 198 | 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) |
183 | 202 | .expect("JsValue from AddonDetails"),
|
184 | 203 | WebModelField::StreamingServer => serialize_streaming_server(&self.streaming_server),
|
185 | 204 | WebModelField::Player => {
|
|
0 commit comments