From cd394e57713e65405f7b900c70e959c5b30030ba Mon Sep 17 00:00:00 2001 From: Lachezar Lechev Date: Mon, 7 Aug 2023 09:30:49 +0300 Subject: [PATCH 1/2] chore: use new core crates setup Signed-off-by: Lachezar Lechev --- Cargo.lock | 106 +++++++++++++++++++++++++++++++++++------------------ Cargo.toml | 6 +-- 2 files changed, 71 insertions(+), 41 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e687dde..e6fbd49 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -273,6 +273,12 @@ version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1056f553da426e9c025a662efa48b52e62e0a3a7648aa2d15aeaaf7f0d329357" +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "flate2" version = "1.0.26" @@ -425,6 +431,12 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + [[package]] name = "heck" version = "0.4.1" @@ -488,6 +500,16 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown", +] + [[package]] name = "itertools" version = "0.10.5" @@ -497,6 +519,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.9" @@ -679,11 +710,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "proc-macro-crate" -version = "0.1.5" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ - "toml", + "once_cell", + "toml_edit", ] [[package]] @@ -697,13 +729,13 @@ dependencies = [ [[package]] name = "proc_macro_roids" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06675fa2c577f52bcf77fbb511123927547d154faa08097cc012c66ec3c9611a" +checksum = "d0c2a098cd8aaa29f66da27a684ad19f4b7bc886f576abf12f7df4a7391071c7" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.28", ] [[package]] @@ -905,23 +937,10 @@ dependencies = [ "maybe-uninit", ] -[[package]] -name = "stremio-analytics" -version = "0.1.0" -source = "git+https://github.com/Stremio/stremio-core?branch=development#18fcef7fca33f4dbff0a97a245855386ebe6869c" -dependencies = [ - "derivative", - "enclose", - "futures", - "serde", - "serde_json", - "stremio-core", -] - [[package]] name = "stremio-core" version = "0.1.0" -source = "git+https://github.com/Stremio/stremio-core?branch=development#18fcef7fca33f4dbff0a97a245855386ebe6869c" +source = "git+https://github.com/Stremio/stremio-core?branch=development#e4f10dea1c9e74e1367e0a410dc6bf28cce93c5e" dependencies = [ "anyhow", "base64 0.21.2", @@ -935,7 +954,7 @@ dependencies = [ "futures", "hex", "http", - "itertools", + "itertools 0.11.0", "lazy_static", "lazysort", "localsearch", @@ -976,7 +995,7 @@ dependencies = [ "getrandom", "hex", "http", - "itertools", + "itertools 0.10.5", "js-sys", "lazy_static", "regex", @@ -984,9 +1003,7 @@ dependencies = [ "serde", "serde_json", "serde_path_to_error", - "stremio-analytics", "stremio-core", - "stremio-derive", "tracing", "tracing-wasm", "url", @@ -998,14 +1015,14 @@ dependencies = [ [[package]] name = "stremio-derive" version = "0.1.0" -source = "git+https://github.com/Stremio/stremio-core?branch=development#18fcef7fca33f4dbff0a97a245855386ebe6869c" +source = "git+https://github.com/Stremio/stremio-core?branch=development#e4f10dea1c9e74e1367e0a410dc6bf28cce93c5e" dependencies = [ "case", "proc-macro-crate", "proc-macro2", "proc_macro_roids", "quote", - "syn 1.0.109", + "syn 2.0.28", ] [[package]] @@ -1028,7 +1045,7 @@ dependencies = [ [[package]] name = "stremio-watched-bitfield" version = "0.1.0" -source = "git+https://github.com/Stremio/stremio-core?branch=development#18fcef7fca33f4dbff0a97a245855386ebe6869c" +source = "git+https://github.com/Stremio/stremio-core?branch=development#e4f10dea1c9e74e1367e0a410dc6bf28cce93c5e" dependencies = [ "base64 0.13.1", "flate2", @@ -1043,24 +1060,24 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strum" -version = "0.24.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" dependencies = [ "strum_macros", ] [[package]] name = "strum_macros" -version = "0.24.3" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059" dependencies = [ "heck", "proc-macro2", "quote", "rustversion", - "syn 1.0.109", + "syn 2.0.28", ] [[package]] @@ -1142,12 +1159,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] -name = "toml" -version = "0.5.11" +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" + +[[package]] +name = "toml_edit" +version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ - "serde", + "indexmap", + "toml_datetime", + "winnow", ] [[package]] @@ -1433,3 +1458,12 @@ name = "windows_x86_64_msvc" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winnow" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acaaa1190073b2b101e15083c38ee8ec891b5e05cbee516521e94ec008f61e64" +dependencies = [ + "memchr", +] diff --git a/Cargo.toml b/Cargo.toml index e9b3020..177267c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,9 +12,7 @@ lto = true opt-level = 's' [dependencies] -stremio-core = { git = "https://github.com/Stremio/stremio-core", branch = "development" } -stremio-derive = { git = "https://github.com/Stremio/stremio-core", branch = "development" } -stremio-analytics = { git = "https://github.com/Stremio/stremio-core", branch = "development" } +stremio-core = { git = "https://github.com/Stremio/stremio-core", features = ["derive", "analytics"], branch = "development" } serde = { version = "1.0.*", features = ["derive"] } serde_json = "1.0.*" futures = "0.3.*" @@ -57,5 +55,3 @@ tracing-wasm = "0.2" # [patch.'https://github.com/Stremio/stremio-core'] # stremio-core = { path = "../core" } -# stremio-derive = { path = "../core/stremio-derive" } -# stremio-analytics = { path = "../core/stremio-analytics" } From 4978429fe7794e32ce00a26e158d0c07623983b5 Mon Sep 17 00:00:00 2001 From: Lachezar Lechev Date: Mon, 7 Aug 2023 09:35:26 +0300 Subject: [PATCH 2/2] chore: use derive Model and analytics from core Signed-off-by: Lachezar Lechev --- src/env.rs | 37 +++++++++++++++++++++---------------- src/model/model.rs | 2 +- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/env.rs b/src/env.rs index a6c78d3..93c6c89 100644 --- a/src/env.rs +++ b/src/env.rs @@ -1,25 +1,25 @@ -use crate::event::{UIEvent, WebEvent}; -use crate::model::WebModel; -use chrono::offset::TimeZone; -use chrono::{DateTime, Utc}; -use futures::future::Either; -use futures::{future, Future, FutureExt, TryFutureExt}; +use std::{collections::HashMap, sync::RwLock}; + +use chrono::{offset::TimeZone, DateTime, Utc}; +use futures::{ + future::{self, Either}, + Future, FutureExt, TryFutureExt, +}; use http::{Method, Request}; use lazy_static::lazy_static; use regex::Regex; use serde::{Deserialize, Serialize}; use serde_json::json; -use std::collections::HashMap; -use std::sync::RwLock; - -use stremio_analytics::Analytics; -use stremio_core::models::ctx::Ctx; -use stremio_core::models::streaming_server::StreamingServer; -use stremio_core::runtime::msg::{Action, ActionCtx, Event}; -use stremio_core::runtime::{Env, EnvError, EnvFuture, EnvFutureExt, TryEnvFuture}; -use stremio_core::types::api::AuthRequest; -use stremio_core::types::resource::StreamSource; +use stremio_core::{ + analytics::Analytics, + models::{ctx::Ctx, streaming_server::StreamingServer}, + runtime::{ + msg::{Action, ActionCtx, Event}, + Env, EnvError, EnvFuture, EnvFutureExt, TryEnvFuture, + }, + types::{api::AuthRequest, resource::StreamSource}, +}; use tracing::trace; use url::Url; @@ -30,6 +30,11 @@ use wasm_bindgen::{JsCast, JsValue}; use wasm_bindgen_futures::{spawn_local, JsFuture}; use web_sys::WorkerGlobalScope; +use crate::{ + event::{UIEvent, WebEvent}, + model::WebModel, +}; + const UNKNOWN_ERROR: &str = "Unknown Error"; const INSTALLATION_ID_STORAGE_KEY: &str = "installation_id"; diff --git a/src/model/model.rs b/src/model/model.rs index 4f3bc09..65838f2 100644 --- a/src/model/model.rs +++ b/src/model/model.rs @@ -25,8 +25,8 @@ use stremio_core::{ notifications::NotificationsBucket, profile::Profile, resource::MetaItemPreview, streams::StreamsBucket, }, + Model, }; -use stremio_derive::Model; use crate::{ env::WebEnv,