Commit Graph
2284 Commits
Author SHA1 Message Date
9d7ac2ee94 Guard APIs for .NET Standard 2.1 (#3167)
* Initial guard APIs added

* Added EqualTo and NotEqualTo APIs

* Added more Guard APIs

* New interval Guard APIs added

* Added Guard APIs for IEnumerable<T> values

* Renamed APIs

* Added Guard APIs for Stream values

* Added Guard APIs for ReadOnlySpan<T> values

* Added Guard APIs for ReadOnlyMemory<T> values

* Code refactoring

* Minor code refactoring

* Added Guard.IsBitwiseEqualTo<T> API

* Added Guard.IsNull API

* Code refactoring and optimizations

* Code refactoring

* Added Guard.HasSizeNotEqualTo<T> API

* Added Guard size API overloads for the string type

* Added Guard size API overloads for T[] arrays

* Code refactoring

* Removed unnecessary using directives

* Added Guard reference check APIs

* Added new Guaard APIs for string values

* Improved Guard.IsBitwiseEqualTo<T> API

* Improved Guard.IsNull APIs

* Added new size APIs for copy operations

* Added new type test APIs, minor code tweaks

* Minor bug fixes

* Added Guard APIs for Task values

* Minor code tweak

* Added new Guard.IsEmpty APIs

* Refactored code to remove unsafe requirement

* Added Guard.IsInRange<T> APIs

* Added missing type checks in Guard.IsBitwiseEqualTo API

* Added ValueTypeExtensions.ToHexString API

* Code refactoring

* Added ValueTypeExtensions tests

* Added general Guard tests

* Bug fixes in the Guard class

* Minor speed improvements

* Code refactoring

* Removed unnecessary using directives

* More speed improvements and API refactoring

* Refactored/fixed some Guard APIs

* More bug fixes

* Added Guard tests for array APIs

* Fixed the Guard.IsNotEmpty<T> array API

* Moved exception throwers to separate class

* Moved general Guard throwers to separate class

* Disabled warning for XML overload resolution

* Moved array Guard throwers to separate class

* Moved stream Guard throwers to separate class

* Fixed some XML docs

* Moved enumerable Guard throwers to separate class

* Moved task Guard throwers to separate class

* Added new Guard APIs for tasks

* Moved string Guard throwers to separate class

* Moved ReadOnlySpan<T> Guard throwers to separate class

* Added Span<T> APIs to the Guard class

* Moved ReadOnlyMemory<T> Guard throwers to separate class

* Added Memory<T> APIs to the Guard class

* Minor code refactoring

* Update file headers

* Removed unnecessary methods

* Added TypeExtensions.ToTypeString extension

* Improved error messages for general Guard APIs

* Improved error messages for Enumerable Guard APIs

* Improved error messages for stream Guard APIs

* Improved error messages for array Guard APIs

* Improved error messages for string Guard APIs

* Improved error messages for task Guard APIs

* Improved error messages for span Guard APIs

* Improved error messages for memory Guard APIs

* Improved type string for nullable types

* Improved type string for value tuple types

* Minor performance improvement

* Added numeric comparison T4 file

* Updated .gitignore to skip generated files

* Moved comparison Guard APIs to separate file

* Renamed template file, fixed incorrect XML doc

* Fixed missing blank line

* Removed unnecessary type parameters

* Moved enumerable Guard APIs to separate file

* Code refactoring in the enumerable T4 template

* Renamed a file

* Added empty template for ThrowHelper.Collection

* Code refactoring in the T4 templates

* Switched collection throw helpers to T4 generation

* Code refactoring

* Removed incorrect file header

* Added new Guard.IsInRangeFor API

* Updated .gitignore, added generated files to source control

* Added tests for Guard.IsInRangeFor

* Improved formatting of values in error messages

* Improved error messages

* More improvements to the error messages

* Minor code tweaks

* Added Guard.IsNotOfType APIs

* Added Guard.IsNotAssignableToType APIs

* Added Guard.IsDefault<T> APIs

* Fixed some XML docs

* Added missing [Pure] attribute

* Fixed typo in a comment

* Removed unnecessary comment after code changes

* Added XML comment for the T4 service

* Added more comments to ToHexString

* Suppressed an incorrect code style warning

* Added more tests for Guard.IsInRange

* Added Guard.IsNotInRangeFor APIs

* Added readme file for the T4 templates

* Changed generated files extension to .g.cs to avoid conflicts

* Added Guard.IsCloseTo and Guard.IsNotCloseTo APIs

* Added tests for IsCloseTo

* Updated ".g.cs" extension for generated files

Co-Authored-By: Michael Hawker MSFT (XAML Llama) <michael.hawker@outlook.com>

* Removed extra space (typo)

Co-Authored-By: Michael Hawker MSFT (XAML Llama) <michael.hawker@outlook.com>

* More tweakes to the Guard.md file

* Excluded TypeInfo.g.cs file from .ttinclude from checkout

* Added more info about target ranges for some APIs

* Added IsCloseTo overloads for long type

* Minor code tweaks

* Added comment to describe (uint) cast range check trick

* Added a nore about the .g.cs files being checked in

* Added .NET Standard 2.1 target, adjusted imported packages

* Added [NotNull] attributes when needed

* Added flow attributes to bool Guard APIs

* Added missing Guard APIs for the string type

* Added shared main unit test project

* Removed duplicate files from UWP unit test project

* Refactored UWP unit tests project (can't be in same folder as .shproj)

* Moved markdown tests back into UWP project

* Added UnitTests.NetCore project

* Fixed some styling issues in test projects

* Added .editorconfig file to UniTests.NetCore project too

* Moved .editorconfig file to Shared project folder

* Removed NetCore Tests compilation for Native Configuration.

* Update Windows Community Toolkit.sln

* Updated multiline comments style

* Renamed some Guard APIs

* Fixed collections tests, moved to shared project

* Removed unnecessary [SuppressMessage] attributes

* Added internal [NotNull] and [DoesNotReturnIf] attributes

* Removed build warnings

* Removed leftover compiler directives

* Added Guard.IsTrue/False overloads with custom message

* Fixed test file location after merge

* Fixed Span<T> and Unsafe package references

Co-authored-by: Michael Hawker MSFT (XAML Llama) <michael.hawker@outlook.com>
Co-authored-by: Alexandre Zollinger Chohfi <alzollin@microsoft.com>
Co-authored-by: Alexandre Zollinger Chohfi <chohfi@outlook.com>
Co-authored-by: Michael Hawker MSFT (XAML Llama) <24302614+michael-hawker@users.noreply.github.com>
2020-05-15 14:14:14 -07:00
Sergio Pedri 850aaac5d1 Minor code fixes 2020-05-15 00:45:07 +02:00
Sergio Pedri 530603896d Fixed file headers 2020-05-14 13:55:06 +02:00
Sergio Pedri 5b40aa3f82 Added note to refer to the ThirdPartyNotices.txt file 2020-05-14 11:56:39 +02:00
Sergio Pedri 5a69997135 Updated multiline comments style 2020-05-14 00:57:29 +02:00
Sergio Pedri d4fd98f466 Merge branch 'master2' into feature/mvvm-apis 2020-05-14 00:52:26 +02:00
Sergio Pedri a6ae774f2b Merge remote-tracking branch 'upstream/master' into master2 2020-05-13 23:28:27 +02:00
Sergio Pedri 21547f3712 Microsoft.Toolkit.HighPerformance package (part 2) (#3273)
* Added support for .NET Core 2.1 and 3.1 targets

* Fixed T[] dangerous accessors on .NET Standard

* Minor speed improvements to Array2DColumnEnumerable<T>

* Updated 2D array extensions

* Minor code tweaks

* Added DangerousGetLookupReferenceAt<T> extension

* Added BitHelper.HasLookupFlag APIs

* Added BitHelper.ExtractRange and SetRange APIs

* Added bool bitwise mask extensions

* Added StreamExtensions class on .NET Standard 2.0

* Added IBufferWriterExtensions type

* Added more Stream extensions

* Added object field offset extensions

* Minor code refactoring

* Improved description

* Switched managed count to IntPtr

* Refactored GetDjb2HashCode code, minor tweaks

* Unit tests fixes

* Refactored Count extensions, minor tweaks

* Fixed incorrect operators precedence

* Added SpanHelper.GetDjb2LikeByteHash method

* Minor code refactoring

* Code refactoring to HashCode<T>

* Minor style tweaks

* Updated comments styles to follow style convention

* Minor code tweaks to the Count method

* More code tweaks to the Count method

* Added tests for DangerousGetObjectDataByteOffset

* Fixed visibility of new object extensions

* Added tests for 64-bit extract/set range APIs

* Added tests for bool to bitwise mask APIs

* Fixed MemoryStream EOF exception type

* Enabled Stream extension tests on UWP

* Added StreamExtensions read/write value tests

* Minor code refactoring to IBufferWriter<T> extensions

* Added IBufferWriterExtensions tests

* Added MemoryBufferWriter<T> type

* Added IBuffer<T> interface

* Added MemoryBufferWriterDebugView<T> type

* Added MemoryBufferWriter<T> tests

* Fixed a unit test

* Fixed incorrect inlining attribute

* Removed leftover partial modifier

* Added missing readonly modifier for lock structs

* Improved summary for the Box<T> type

* Added comments for #pragma warning disable items

* Added info on (x << 5) + x over x * 33 optimization

* Improved XML docs for BitHelper APIs

* Fixed potentially misleading test method names

* Added comment for MemoryOwner<T>.Dispose test

* Fixed multi-target support for string extensions

* Improved IMemoryOwner.AsStream tests

* Added XML remarks to the HashCode<T> type

* Improved docs for ReadOnlySpanExtensions.GetDjb2HashCode<T>

* Tweaked an XML link

* Tweaked attributes for SpanHelper methods

* Minor optimizations to SpanHelper.Count

* Fixed an overflow bug in SpanHelper.Count

* Speed improvements to SpanHelper.Count

~35% speedup with large collections of byte-size values, ~10% with other types

* Updated .csproj description

* Added float/double support to SpanHelper.Count

* Added exception to the Box<T> constructor

* Removed unnecessary [SuppressMessage] attributes

* Removed [SuppressMessage] attributes

* Changed NullableRef<T>-s exceptions to follow Nullable<T>

* Added more operators to NullableRef<T> types

* Added missing in modifiers in ParallelHelper.For overloads

* Removed SIMD support for float/double count

It lacked proper handling of NaN values and both (signed) zeros

* Fixed compiler directives in SpanEnumerable<T>

* Updated ReadOnlySpanEnumerable<T> type

* Updated NuGet package tags

* Added HighPerformance package to readme.md list

* Added .NET Standard 1.4 target

* Added tests for implicit NullableRef<T> operators

* Removed unnecessary using directive

* Added missing sealed modifiers to MemoryStream methods

* Added Span<T>.IndexOf(ref T) extension

* Added ReadOnlySpan<T>.IndexOf<T>(in T) extension

* Added missing changes (incorrect commit)

* Removed unnecessary workaround (method is inlined)

* Added improved remarks for bool.ToBitwiseMask32/64

* Added internal NotNullWhen attribute when < .NET Standard 2.1

* Enabled .csproj-wide nullability annotations

* Minor code style tweaks

* Added [ReadOnly]NullableRef<T>.Null static properties
2020-05-13 12:32:20 -07:00
Sergio Pedri e8d6a14dee Merge remote-tracking branch 'upstream/master' into master2 2020-05-06 12:17:39 +02:00
h82258652 7f75d25469 Merge pull request #17 from windows-toolkit/master
merge original source
2020-05-06 15:00:45 +08:00
0c5c57edaa New Microsoft.Toolkit.HighPerformance package (#3128)
* Code refactoring

* Added StringExtensions tests

* Fixed test method names

* Added ArrayExtensions tests

* Removed MemoryPool<T>.Resize extension

* Added ArrayPoolExtensions tests

* Added SpinLockExtensions tests

* Moved HashCode<T> class to Helpers namespace

* Added ByReference<T> tests

* Changed visibility of one constructor

* Improved ByReference<T> tests

* Added ReadOnlyByReference<T> tests

* Fixed a small build error

* Added new List<T> extensions

* Added List<T> extensions tests

* Fixed a parameter name

* Fixed incorrect XML docs

* Added missing List<T> extension APIs

* Disabled warning

* Removed unnecessary type constraint

* Bug fixes to some List<T> extensions

* Improved some XML docs

* Added List<T>.DangerousAsSpan extension

* Added more unit tests

* Fixed a bug in the List<T>.DangerousAsSpan extension

* Minor tweaks to some docs

* Removed List<T> extensions (too hacky)

* Minor code tweaks (just in case)

* Fixed incorrect API visibility

* Added tests for the HashCode<T> type

* Added .NET Core 3.0 tests for HashCode<T>

* Added ParallelHelper.For tests

* Code refactoring

* Added ParallelHelper.For2D tests

* Fixed empty condition check for 2D loops

* Added ParallelHelper.ForEach in tests

* Added ParallelHelper.ForEach ref tests

* Fixed ParallelHelper.For2D tests

* Improved ParallelHelper.For/2D tests

* Switched HighPerformance tests to shared project

* Renamed HighPerformance.NetCore project

* Moved HighPerformance tests to subfolder

* Fixed incorrect namespaces

* Added empty HighPerformance.UWP test project

* Fixed shared project for UWP test project

* Added missing Unsafe NuGet package to UWP project

* Switched compile tile directives in HighPerformance project

* Added missing file headers

* Minor code refactoring to HashCode<T>

* Minor performance improvements

* Fixed HashCode<T>.Combine API for > int.MaxValue byte sizes

* Improved HashCode<T>.Combine performance on small spans

* Speed improvements in the GetDjb2HashCode<T> API

* Refactored HashCode<T> to facilitate extensions

* Fixed incorrect namespace

* Added HashCodeExtensions class

* Added HashCodeExtensions tests

* Minor code style tweaks

* Added SpanEnumerable<T> type

* Updated T[] and Span<T> Enumerate extensions

* Added SpanExtensions tests

* Fixed an issue in the DJB2 hash method

* Minor code refactoring

* Added EditorBrowsable attributes to enumerator types

* Added MemoryOwner<T> type

* Minor code refactoring

* More code refactoring

* Added MemoryOwner<T> Empty and Length properties

* Added missing header text

* Fixed a refactoring typo

* Added MemoryOwner<T> tests

* Minor code refactoring

* Fixed MemoryOwner<T> XML docs

* Minor optimization to GetDjb2HashCode

* Minor optimization to HashCode<T>.CombineValues

* Minor optimization to Count extension with managed types

* Added a Count test for the managed path

* Added BoolExtensions.ToInt API

* Removed automatically added rules

* Fixed incorrect XML docs

* Added MemoryOwner<T>.DangerousGetReference API

* Added extensions for some MemoryMarshal APIs

* Minor code tweaks

* Added MemoryOwner<T> method

* Added more XML comments

* Fixed an incorrect method prototype

* Code refactoring, added AllocationMode enum

* Added SpanOwner<T> type

* Added SpanOwner<T> tests

* Removed unnecessary check

* Removed unnecessary package reference on .NET Standard 2.1

* Improved tests for ReadOnlySpan<T>.Count

* Fixed a bug in ReadOnlySpan<T>.Count with managed types

* Updated two type constraints

* Minor optimizations to ParallelHelper

* Minor code tweaks

* Removed unnecessary APIs

* Added UInt32Extensions class

* Added unit tests for the UInt32Extensions class

* Fixed some comments

* Added some remarks to the new uint APIs

* Minor optimization

* Added UInt64Extensions class

* Added unit tests for UInt64Extensions type

* Fixed some typos and comments

* Fixed a unit test

* Minor performance improvements

* Added ToString() override and debug display to MemoryOwner<T>

* Added ToString() override and debug display to SpanOwner<T>

* Added MemoryOwner<T> debug proxy type

* Added SpanOwner<T> debug proxy type

* Added missing using directive

* Added info to the .csproj file

* Removed two APIs, for additional safety

* Refactored bit helpers into a separate class, added by ref overloads

* Minor code tweaks

* Added Box<T> type

* Added tests for the Box<T> type

* Added Box<T> object schema

* Added Box<T>.GetFrom(object) API

* Added more Box<T> tests, added more comments

* Fixed a copy paste fail

* Added ValueTypeExtensions type

* Added ValueTypeExtensions tests

* Added missing GC.SuppressFinalize call in MemoryOwner<T>

* Initial implementation of MemoryStream

* Implemented MemoryStream.Seek method

* Implemented ReadByte and WriteByte methods

* Added Memory<T> extension to create a Stream

* Implemented MemoryStream.Dispose method

* Fixed typos in a test class

* Added ReadAsync overrides

* Added WriteAsync overrides

* Code refactoring

* Added more .NET Standard 2.1 overrides

* Moved CopyToAsync method to .NET Standard 2.0

* Moved FlushAsync, reordered methods

* Added [ReadOnly]Memory<T> extension tests

* Added initial stream tests

* Fixed a bug in MemoryStream.Read

* Added unit tests for the MemoryStream type

* Added MemoryStream.[Read|Write]Byte tests, minor tweaks

* Updated .sln file

* Added IMemoryOwnerStream type

* Added IMemoryOwnerExtensions.AsStream type

* Minor tweaks to some XML comments

* Added IMemoryOwner extensions and stream tests

* Fixed an incorrect namespace

* Aadded ArrayPoolBufferWriter<T> type

* Minor code refactoring

* Added debug view and ToString override for ArrayPoolBufferWriter<T>

* Minor code refactoring

* Added destructor to ArrayPoolBufferWriter<T> type

* Added tests for ArrayPoolBufferWriter<T>

* Fixed some copy-paste fails

* Added IMemoryOwner<T> interface to ArrayPoolBufferWriter<T>

* Updated .csproj description

* Fixed some comments

* Updated sln

* Minor code style tweak

* Minor optimization, code style tweaks

* Fixed some tests not running on .NET Core 3.0

* Added initial Array2DExtensions type

* Added T[,].AsSpan extension

* Added Count<T> and Djb2 hashcode extensions for T[,] arrays

* Added tests for the 2D array extensions

* Code refactoring

* Added NullableByReference<T> type

* Minor code refactoring

* Added NullableReadOnlyByReference<T> type

* Added unit tests for new Nullable[ReadOnly]ByReference<T> types

* Fixed an XML comment

* Added T[,] array GetRow and GetColumn extensions

* Added Array2DColumnEnumerable<T>.ToArray() helper method

* Code refactoring

* Added T[,].GetRow support on .NET Standard 2.0

* Added and optimized T[,].Fill extension

* Added T[,].Fill tests

* Added tests for T[,].GetRow extension

* Bug fixes in the 2D array enumerators

* Added tests for T[,].GetColumn extension

* Fixed a typo

* Fixed duplicate using directives

* Fixed an XML comment

* Inverted precompiler conditional directive for clarity

* Fixed error in an XML comment

* Removed unnecessary using directive

* Fixed publisher name in UWP test project

* Added StyleCop.Analyzers package to UWP test project

* Resolved StyleCop warnings in unit tests

* Added StyleCop.Analyzers package to .NET Core test project

* Resolved .NET Core specific StyleCop warnings

* Updated Test SDK and packages in .NET Core unit test project

* Fixed object name in MemoryStream.ThrowObjectDisposedException()

* Minor code style tweak and optimization

* Added test for the argument name in ParallelHelper exceptions

* Fixed visibility modifiers

* Fixed Box<T> type on ARM devices

* Added MemoryStream tests for argument names in exceptions

* Minor improvements to some unit tests

* Removed duplicate System.Runtime.CompilerServices.Unsafe reference

* Removed unnecessary StyleCop reference and .ruleset file

* Resolved StyleCop warnings in unit tests

* Minor performance improvements in ByReference<T> types on x64

* Minor style tweaks

* Fixed missed refactoring

* Code refactoring

* Added missing readonly struct modifiers

* Enabgled running HighPerformance tests on build.

(cherry picked from commit c5524125391ca208586d0de09fffb89e3a01264d)

* Bug fixes in the Box<T> type on some runtimes

* Added missing "Pack" target in UWP test project

* Code refactoring, moved Box<T> extensions to same file for clarity

* Bumped System.Runtime.CompilerServices.Unsafe to 5.0.0-preview.2.20160.6

* Fixed Box<T>.ToString/GetHashCode issues on .NET Core 2.1 Release

* Updated comments on the Box<T>.GetReference() method

Also pushing this commit just to re-trigger the CI build, since GitHub went offline and caused the previous one to fail/half midway through

* Fixed package downgrade in UWP test project

* Aligned ref returns for ReadOnlySpan<T>/string to MemoryMarsha.GetReference

* Renamed ByReference<T> APIs

* Removed unnecessary preview package

Co-authored-by: Michael Hawker MSFT (XAML Llama) <michael.hawker@outlook.com>
Co-authored-by: Alexandre Zollinger Chohfi <alzollin@microsoft.com>
2020-05-05 16:44:11 -07:00
Sergio Pedri ab325c9dbb Merge remote-tracking branch 'upstream/master' into master2 2020-04-30 12:52:49 +02:00
Vincent 922a69a669 Merge pull request #3246 from vgromfeld/observableGroupExtensions
Observable group extensions
2020-04-30 12:33:00 +02:00
Vincent Gromfeld 64ad95bbd5 fix alignment 2020-04-30 11:59:35 +02:00
h82258652 96db3d0469 Merge pull request #16 from windows-toolkit/master
merge original source
2020-04-26 16:52:51 +08:00
Sergio Pedri 873f59c8a1 Merge remote-tracking branch 'upstream/master' into master2 2020-04-23 23:22:56 +02:00
Vincent 05cb6465a2 fix documentation 2020-04-23 00:55:07 +02:00
Vincent c268332a40 Merge branch 'observableGroupExtensions' of https://github.com/vgromfeld/WindowsCommunityToolkit into observableGroupExtensions 2020-04-23 00:53:34 +02:00
Vincent 4dd40556bd add first and elementat methods 2020-04-22 18:12:48 +02:00
Vincent 1efa21ab93 add SetItem + fix doc 2020-04-22 18:12:48 +02:00
Vincent a81e32ac5e Add insertitem method 2020-04-22 18:12:48 +02:00
Vincent 9db885ce42 add add/remove extension methods 2020-04-22 18:12:48 +02:00
Michael Hawker MSFT (XAML Llama) 83c22d285f Merge pull request #3201 from vgromfeld/u/vgromfeld/observableGroup
Add observable group API
2020-04-22 08:42:34 -07:00
Sergio Pedri a5abd5a4ca Added ValueChangedMessage<T> type 2020-04-22 15:19:36 +02:00
Sergio Pedri e8884de5b2 Added Set<T> overload with target expression 2020-04-22 13:48:50 +02:00
Vincent 9a8fbe55f8 add first and elementat methods 2020-04-21 23:12:02 +02:00
Vincent 75537d56a6 add SetItem + fix doc 2020-04-21 22:42:21 +02:00
Vincent 408c915ff1 Add insertitem method 2020-04-21 22:27:03 +02:00
Vincent 47f1bcc5ea add add/remove extension methods 2020-04-21 00:07:06 +02:00
Sergio Pedri 9497576f74 Minor code style tweaks 2020-04-20 21:48:12 +02:00
Sergio Pedri 9cca1a44d1 Code refactoring, improved API surface 2020-04-20 20:01:17 +02:00
Sergio Pedri 2a3aef0df5 Ioc optimization, ViewModelBase refactoring
🚀 Removed locking overhead in the Ioc.ServiceProvider property
✅ Removed IServiceProvider property from ViewModelBase to better follow the proper DI pattern (thanks @Aminator for the suggestion)
2020-04-20 19:44:35 +02:00
Sergio Pedri 621a1cb398 Updated project description 2020-04-19 19:33:07 +02:00
Sergio Pedri 75942b783d Added support for ServiceProviderOptions 2020-04-19 18:23:33 +02:00
Sergio Pedri 0591260a89 Refactored Ioc class to use ASP.NET service provider
Special thanks to @Aminator for the help designing the new APIs
2020-04-19 17:52:49 +02:00
Sergio Pedri b248c6e589 Code refactorings 2020-04-19 16:43:50 +02:00
Sergio Pedri e06eeb8713 Renamed some APIs 2020-04-19 16:04:40 +02:00
Sergio Pedri 3be8adf73f Added interoperability with IServiceProvider interface 2020-04-19 14:30:25 +02:00
Sergio Pedri c67ec98544 Added tests for the TaskExtensions class 2020-04-19 12:47:09 +02:00
Sergio Pedri f0cf7daa3c Added TaskExtensions class 2020-04-19 12:40:47 +02:00
Sergio Pedri a1a2421c47 Improved nullability handling in commands 2020-04-18 23:41:50 +02:00
Sergio Pedri bf090b9ea0 Added nullability attributes for uncostrained T parameters 2020-04-18 20:19:51 +02:00
Sergio Pedri 349abdfbd1 Fixed an XML comment 2020-04-18 20:19:36 +02:00
Sergio Pedri 4e460c1224 Added nullability notation to command parameters 2020-04-18 20:08:55 +02:00
Sergio Pedri 8cc8a9f94d Minor codegen improvement 2020-04-18 17:22:48 +02:00
Sergio Pedri ba2b57e644 Added IAsyncRelayCommand and IAsyncRelayCommand<T> interfaces 2020-04-18 17:10:04 +02:00
Sergio Pedri 63c2a78037 Improved internal documentation 2020-04-18 14:02:21 +02:00
Sergio Pedri f8b07bf87c Added more fail tests in unit tests, improved documentation 2020-04-18 00:14:57 +02:00
Sergio Pedri 3aa6fd0d2d Improved IMessenger XML docs 2020-04-17 23:59:23 +02:00
Sergio Pedri f0504c421e Renamed Commands folder to Input to follow namespace 2020-04-17 23:18:03 +02:00