Skip to content

Commit

Permalink
Merge pull request #6 from neuroglia-io/flux
Browse files Browse the repository at this point in the history
Flux
  • Loading branch information
cdavernas authored Mar 14, 2022
2 parents 9cd9f4e + 160eade commit 2860f94
Show file tree
Hide file tree
Showing 51 changed files with 447 additions and 310 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia aspnet core json patch</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia framework asp core</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia caching abstractions</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia caching memory</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia caching redis</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
6 changes: 3 additions & 3 deletions src/Core/Neuroglia.Core/Neuroglia.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia framework core</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
6 changes: 3 additions & 3 deletions src/Data/Neuroglia.Data.Csv/Neuroglia.Data.Csv.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia framework data csv</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia framework data entity ef</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia framework data entity ef</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia framework data event sourcing eventstore es</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia framework data event sourcing</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia framework data expressions jq</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia framework data expression</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
16 changes: 8 additions & 8 deletions src/Data/Neuroglia.Data.Flux/Extensions/IStoreExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ public static class IStoreExtensions
/// <summary>
/// Adds a new <see cref="IFeature"/> to the store
/// </summary>
/// <typeparam name="TFeature">The type of <see cref="IFeature"/> to add</typeparam>
/// <typeparam name="TState">The type of state managed by the <see cref="IFeature"/> to add</typeparam>
/// <param name="store">The <see cref="IStore"/> to add the <see cref="IFeature"/> to</param>
/// <param name="featureValue">The value of the <see cref="IFeature"/> to add</param>
/// <param name="state">The value of the <see cref="IFeature"/> to add</param>
/// <param name="reducers">An array that contains the <see cref="IReducer"/>s to initialize the <see cref="IFeature"/> to add with</param>
public static void AddFeature<TFeature>(this IStore store, TFeature featureValue, params IReducer[] reducers)
public static void AddFeature<TState>(this IStore store, TState state, params IReducer<TState>[] reducers)
{
var feature = new Feature<TFeature>(featureValue);
var feature = new Feature<TState>(state);
foreach (var reducer in reducers)
{
feature.AddReducer(reducer);
Expand All @@ -44,12 +44,12 @@ public static void AddFeature<TFeature>(this IStore store, TFeature featureValue
/// <summary>
/// Adds a new <see cref="IFeature"/> to the store
/// </summary>
/// <typeparam name="TFeature">The type of <see cref="IFeature"/> to add</typeparam>
/// <typeparam name="TState">The type of state of the <see cref="IFeature"/> to add</typeparam>
/// <param name="store">The <see cref="IStore"/> to add the <see cref="IFeature"/> to</param>
/// <param name="reducers">An array that contains the <see cref="IReducer"/>s to initialize the <see cref="IFeature"/> to add with</param>
public static void AddFeature<TFeature>(this IStore store, params IReducer[] reducers)
public static void AddFeature<TState>(this IStore store, params IReducer<TState>[] reducers)
{
store.AddFeature(Activator.CreateInstance<TFeature>(), reducers);
store.AddFeature(Activator.CreateInstance<TState>(), reducers);
}

/// <summary>
Expand All @@ -60,7 +60,7 @@ public static void AddFeature<TFeature>(this IStore store, params IReducer[] red
public static void AddMiddleware<TMiddleware>(this IStore store)
where TMiddleware : IMiddleware
{
store.AddMiddleware(Activator.CreateInstance<TMiddleware>());
store.AddMiddleware(typeof(TMiddleware));
}

/// <summary>
Expand Down
6 changes: 3 additions & 3 deletions src/Data/Neuroglia.Data.Flux/Neuroglia.Data.Flux.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
<RepositoryUrl>https://github.com/neuroglia-io/framework</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>neuroglia framework data flux</PackageTags>
<Version>2.0.1.42</Version>
<AssemblyVersion>2.0.1.42</AssemblyVersion>
<FileVersion>2.0.1.42</FileVersion>
<Version>2.0.1.43</Version>
<AssemblyVersion>2.0.1.43</AssemblyVersion>
<FileVersion>2.0.1.43</FileVersion>
<NeutralLanguage>en</NeutralLanguage>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
Expand Down
51 changes: 51 additions & 0 deletions src/Data/Neuroglia.Data.Flux/Services/ActionContext.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*
* Copyright © 2021 Neuroglia SPRL. All rights reserved.
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/

namespace Neuroglia.Data.Flux
{
/// <summary>
/// Represents the default implementation of the <see cref="IActionContext"/> interface
/// </summary>
public class ActionContext
: IActionContext
{

/// <summary>
/// Initializes a new <see cref="ActionContext"/>
/// </summary>
/// <param name="services">The current <see cref="IServiceProvider"/></param>
/// <param name="store">The current <see cref="IStore"/></param>
/// <param name="action">The action to dispatch</param>
public ActionContext(IServiceProvider services, IStore store, object action)
{
this.Services = services;
this.Store = store;
this.Action = action;
}

/// <inheritdoc/>
public IServiceProvider Services { get; }

/// <inheritdoc/>
public IStore Store { get; }

/// <inheritdoc/>
public object Action { get; set; }

}

}
28 changes: 28 additions & 0 deletions src/Data/Neuroglia.Data.Flux/Services/DispatchDelegate.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* Copyright © 2021 Neuroglia SPRL. All rights reserved.
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/

namespace Neuroglia.Data.Flux
{

/// <summary>
/// Represents the delegate method used to dispatch an action
/// </summary>
/// <param name="context">The <see cref="IActionContext"/> in which to invoke the delegate</param>
/// <returns>The result of the dispatched action</returns>
public delegate Task<object> DispatchDelegate(IActionContext context);

}
Loading

0 comments on commit 2860f94

Please sign in to comment.