Commit Graph
60 Commits
Author SHA1 Message Date
Sergio Pedri f6b604a824 Add dot to exception messages in remaining call sites 2021-12-20 13:15:20 +01:00
Sergio Pedri 68b715f688 Remove unnecessary null warning suppressions 2021-12-14 10:40:18 +01:00
Sergio Pedri aee23b8935 Add unit tests for ComponentModel checks 2021-12-14 10:35:14 +01:00
Sergio Pedri 5fef9ab55f Add parameter null validation to Messaging APIs 2021-12-14 10:35:13 +01:00
Sergio Pedri 61f92f309c Move MessageHandler to separate file 2021-12-14 10:33:06 +01:00
Sergio Pedri 113d1a2134 Add parameter null validation to Input APIs 2021-12-14 10:33:06 +01:00
Sergio Pedri d18998a054 Add parameter null validation to DependencyInjection API 2021-12-14 10:33:06 +01:00
Sergio Pedri 9af66c4a8d Add parameter null validation to ComponentModel APIs 2021-12-14 10:33:06 +01:00
Sergio Pedri 796c1e218b Add polyfill for ArgumentNullException.ThrowIfNull 2021-12-14 10:33:05 +01:00
Sergio Pedri c010ca5f11 Minor code refactoring 2021-12-14 10:33:05 +01:00
Sergio Pedri 216b403759 Add more documentation to unsupported paths 2021-12-13 13:36:29 +01:00
Sergio Pedri aa560fe256 Break down documentation into paragraphs 2021-12-13 13:36:29 +01:00
Sergio Pedri 56fb755f14 Fix a bug in StrongReferenceMessenger.IsRegistered 2021-12-13 13:36:29 +01:00
Sergio Pedri 3d59fd019b Remove unnecessary generic type parameters 2021-12-13 13:36:29 +01:00
Sergio Pedri fa7042fd80 Update StrongReferenceMessenger internal documentation 2021-12-13 13:36:28 +01:00
Sergio Pedri 8b2cad51f8 Add Unit type specialization to StrongReferenceMessenger 2021-12-13 13:36:28 +01:00
Sergio Pedri 6b02f86f0a Enable IRecipient<TMessage> optimization for StrongReferenceMessenger 2021-12-13 13:36:28 +01:00
Sergio Pedri 48ae66cdd7 Use MessageHandlerDispatcher handlers in StrongReferenceMessenger 2021-12-13 13:36:28 +01:00
Sergio Pedri 96dee08dc6 Merge pull request #48 from CommunityToolkit/dev/appcontext-switches
Enable INotifyPropertyChanging AppContext switch
2021-12-13 13:35:48 +01:00
Sergio Pedri 32a27ee157 Merge pull request #44 from CommunityToolkit/dev/weak-messenger-opts
Optimize WeakReferenceMessenger
2021-12-10 01:12:28 +01:00
Sergio Pedri b26db77f48 Enable IsINotifyPropertyChangingDisabled switch in ObservableObject 2021-12-10 01:03:19 +01:00
Sergio Pedri ffaacbad9f Add Configuration type 2021-12-10 01:03:19 +01:00
Sergio Pedri 75c51164b3 Add concurrency control setting to [ICommand] attribute 2021-12-10 00:08:12 +01:00
Sergio Pedri a6160f2126 Remove unnecessary async state machine allocations 2021-12-10 00:02:22 +01:00
Sergio Pedri 01d7102ea9 Add cancellation support to AsyncRelayCommand<T> 2021-12-10 00:02:22 +01:00
Sergio Pedri 03989131d1 Add cancellation support to AsyncRelayCommand 2021-12-10 00:02:22 +01:00
Sergio Pedri 5dc526aa10 Add [AlsoNotifyCanExecuteFor] attribute type 2021-12-09 21:01:30 +01:00
Sergio Pedri 7046476d51 Minor codegen improvements
Removed type checks from guarded devirtualization when broadcasting
2021-12-09 11:35:26 +01:00
Sergio Pedri 2b690d7f60 Tweak StrongReferenceMessenger.Send to remove null suppression 2021-12-09 11:01:17 +01:00
Sergio Pedri 1b66760d67 Add initial support for [ICommand] CanExecute property 2021-12-09 10:49:58 +01:00
Sergio Pedri 6cb7e571d4 Add more comments and XML docs 2021-12-02 18:04:04 +01:00
Sergio Pedri 27ed92db88 Skip array covariance checks in ArrayPoolBufferWriter<T> 2021-12-02 18:04:04 +01:00
Sergio Pedri 39388b1c1e Optimize ConditionalWeakTable2<,>.Enumerator
Also done some refactoring to streamline code across targets
2021-12-02 18:04:04 +01:00
Sergio Pedri 75869de313 Optimize WeakReferenceMessenger broadcast loop 2021-12-02 18:04:04 +01:00
Sergio Pedri 96606f208d Enable fast paths for IRecipient<TMessage> recipients 2021-12-02 18:04:04 +01:00
Sergio Pedri c0f1704aed Remove Unsafe.As<T>(object) delegate type aliasing 2021-12-02 18:04:04 +01:00
Sergio Pedri 416653a2aa Enable Unit type specialization for WeakReferenceMessenger 2021-12-02 18:04:03 +01:00
Sergio Pedri 316557b683 Fix a bug in Dictionary2<TKey, TValue>.Enumerator.MoveNext() 2021-12-02 18:04:03 +01:00
Sergio Pedri dd2a827694 Switch messengers to new dictionary, code refactoring 2021-12-02 18:04:03 +01:00
Sergio Pedri 622be37d5c Specialize Dictionary<TKey, TValue> for the messenger types 2021-12-02 18:04:03 +01:00
Sergio Pedri 7c2bc7f0ed Port Dictionary<TKey, TValue> from .NET 6 2021-12-02 18:04:03 +01:00
Sergio Pedri a86eb44474 Hoist enumeration lock for custom conditional table 2021-12-02 18:04:03 +01:00
Sergio Pedri a6f5dc5ff2 Remove tracking of multiple active enumerators 2021-12-02 18:04:03 +01:00
Sergio Pedri c2a8731452 Switch .NET table GetEnumerator() to ref struct enumerator 2021-12-02 18:04:02 +01:00
Sergio Pedri 03032c7a1a Moved .NET Stadard 2.0 ConditionalWeakTable type 2021-12-02 18:04:02 +01:00
Sergio Pedri 65e6746c57 Initial refactor pass for .NET 6 ConditionalWeakTable 2021-12-02 18:04:02 +01:00
Sergio Pedri aaecb7176b Port ConditionalWeakTable<TKey, TValue> from .NET 6 2021-12-02 18:04:02 +01:00
Sergio Pedri 35b034fc62 Fix StrongReferenceMessenger.Unregister, add concurrent unit tests 2021-11-29 14:21:08 +01:00
Sergio Pedri 32c23450f9 Fix some bugs in StrongReferenceMessenger.Unregister[All] APIs 2021-11-29 13:31:49 +01:00
Sergio Pedri 1910995151 Update CommunityToolkit.Mvvm to .NET 6 2021-11-22 17:37:34 +01:00