aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2023-10-04 12:51:06 +0200
committerHampusM <hampus@hampusmat.com>2023-10-04 12:52:22 +0200
commit0f2756536e8fc311119da2af5b4dcc33f41bec6e (patch)
tree0964efe0eaf855017c67fae52da8672a47becc65 /examples
parentc936439bfac9e35958f685a52abb51d781e70a7c (diff)
refactor!: remove factory & declare_default_factory macros
BREAKING CHANGE: The factory and the declare_default_factory macros have been removed. They are no longer needed to use factories
Diffstat (limited to 'examples')
-rw-r--r--examples/async-factory/main.rs5
-rw-r--r--examples/async/bootstrap.rs4
-rw-r--r--examples/async/interfaces/food.rs2
-rw-r--r--examples/factory/interfaces/user.rs2
-rw-r--r--examples/with-3rd-party/bootstrap.rs4
5 files changed, 3 insertions, 14 deletions
diff --git a/examples/async-factory/main.rs b/examples/async-factory/main.rs
index 83f79f0..2b796cc 100644
--- a/examples/async-factory/main.rs
+++ b/examples/async-factory/main.rs
@@ -7,7 +7,7 @@ use std::time::Duration;
use anyhow::Result;
use syrette::future::BoxFuture;
use syrette::ptr::TransientPtr;
-use syrette::{declare_default_factory, factory, AsyncDIContainer};
+use syrette::AsyncDIContainer;
use tokio::time::sleep;
trait IFoo: Send + Sync
@@ -15,7 +15,6 @@ trait IFoo: Send + Sync
fn bar(&self);
}
-#[factory(threadsafe = true)]
type IFooFactory =
dyn Fn(i32) -> BoxFuture<'static, TransientPtr<dyn IFoo>> + Send + Sync;
@@ -68,8 +67,6 @@ impl IPerson for Person
}
}
-declare_default_factory!(dyn IPerson, async = true);
-
#[tokio::main]
async fn main() -> Result<()>
{
diff --git a/examples/async/bootstrap.rs b/examples/async/bootstrap.rs
index 6fbe831..07e1bf8 100644
--- a/examples/async/bootstrap.rs
+++ b/examples/async/bootstrap.rs
@@ -1,5 +1,5 @@
use syrette::ptr::TransientPtr;
-use syrette::{declare_default_factory, AsyncDIContainer};
+use syrette::AsyncDIContainer;
use crate::animals::cat::Cat;
use crate::animals::dog::Dog;
@@ -10,8 +10,6 @@ use crate::interfaces::dog::IDog;
use crate::interfaces::food::{IFood, IFoodFactory};
use crate::interfaces::human::IHuman;
-declare_default_factory!(dyn ICat, threadsafe = true);
-
pub async fn bootstrap() -> Result<AsyncDIContainer, anyhow::Error>
{
let mut di_container = AsyncDIContainer::new();
diff --git a/examples/async/interfaces/food.rs b/examples/async/interfaces/food.rs
index 9d88083..21ea568 100644
--- a/examples/async/interfaces/food.rs
+++ b/examples/async/interfaces/food.rs
@@ -1,4 +1,3 @@
-use syrette::factory;
use syrette::ptr::TransientPtr;
pub trait IFood: Send + Sync
@@ -6,5 +5,4 @@ pub trait IFood: Send + Sync
fn eat(&self);
}
-#[factory(threadsafe = true)]
pub type IFoodFactory = dyn Fn() -> TransientPtr<dyn IFood> + Send + Sync;
diff --git a/examples/factory/interfaces/user.rs b/examples/factory/interfaces/user.rs
index aafd0cb..5a60317 100644
--- a/examples/factory/interfaces/user.rs
+++ b/examples/factory/interfaces/user.rs
@@ -1,4 +1,3 @@
-use syrette::factory;
use syrette::ptr::TransientPtr;
pub trait IUser
@@ -8,6 +7,5 @@ pub trait IUser
fn get_password(&self) -> &'static str;
}
-#[factory]
pub type IUserFactory =
dyn Fn(&'static str, &'static str, &'static str) -> TransientPtr<dyn IUser>;
diff --git a/examples/with-3rd-party/bootstrap.rs b/examples/with-3rd-party/bootstrap.rs
index 5cd0f85..26386f5 100644
--- a/examples/with-3rd-party/bootstrap.rs
+++ b/examples/with-3rd-party/bootstrap.rs
@@ -1,14 +1,12 @@
use std::error::Error;
use syrette::ptr::TransientPtr;
-use syrette::{declare_default_factory, DIContainer};
+use syrette::DIContainer;
use third_party_lib::Shuriken;
use crate::interfaces::ninja::INinja;
use crate::ninja::Ninja;
-declare_default_factory!(Shuriken);
-
pub fn bootstrap() -> Result<DIContainer, Box<dyn Error>>
{
let mut di_container = DIContainer::new();