Skip to content

DigiDNA/FunctionalSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FunctionalSharp

Build Status Issues Status License
Contact

About

A set of convenience functional-style utilities to make C# code more similar to Swift.

Array:

U[] Map       < T, U >( Func< T, U > f );
U[] FlatMap   < T, U >( Func< T, ICollection< U > > f );
U[] CompactMap< T, U >( Func< T, U? > f );
T[] Filter    < T    >( Func< T, bool > f );
U   Reduce    < T, U >( U initialResult, Func< U, T, U > f );
T[] Sorted    < T    >( Func< T, T, bool > predicate );

Dictionary:

Dictionary< TK, U >  MapValues       < TK, TV, U >( Func< KeyValuePair< TK, TV >, U > f );
List< U >            Map             < TK, TV, U >( Func< KeyValuePair< TK, TV >, U > f );
List< U >            FlatMap         < TK, TV, U >( Func< KeyValuePair< TK, TV >, ICollection< U > > f );
List< U >            CompactMap      < TK, TV, U >( Func< KeyValuePair< TK, TV >, U? > f );
Dictionary< TK, U >  CompactMapValues< TK, TV, U >( Func< KeyValuePair< TK, TV >, U? > f );
Dictionary< TK, TV > Filter          < TK, TV    >( Func< KeyValuePair< TK, TV >, bool > f );
U                    Reduce          < TK, TV, U >( U initialResult, Func< U, KeyValuePair< TK, TV >, U > f );

HashSet:

HashSet< U > Map       < T, U >( Func< T, U > f );
HashSet< U > FlatMap   < T, U >( Func< T, ICollection< U > > f );
HashSet< U > CompactMap< T, U >( Func< T, U? > f );
HashSet< T > Filter    < T    >( Func< T, bool > f );
U            Reduce    < T, U >( U initialResult, Func< U, T, U > f );

LinkedList:

LinkedList< U > Map       < T, U >( Func< T, U > f );
LinkedList< U > FlatMap   < T, U >( Func< T, ICollection< U > > f );
LinkedList< U > CompactMap< T, U >( Func< T, U? > f );
LinkedList< T > Filter    < T    >( Func< T, bool > f );
U               Reduce    < T, U >( U initialResult, Func< U, T, U > f );

List:

List< U > Map       < T, U >( Func< T, U > f );
List< U > FlatMap   < T, U >( Func< T, ICollection< U > > f );
List< U > CompactMap< T, U >( Func< T, U? > f );
List< T > Filter    < T    >( Func< T, bool > f );
U         Reduce    < T, U >( U initialResult, Func< U, T, U > f );
List< T > Sorted    < T    >( Func< T, T, bool > predicate );

SortedSet:

SortedSet< U > Map       < T, U >( Func< T, U > f );
SortedSet< U > FlatMap   < T, U >( Func< T, ICollection< U > > f );
SortedSet< U > CompactMap< T, U >( Func< T, U? > f );
SortedSet< T > Filter    < T    >( Func< T, bool > f );
U              Reduce    < T, U >( U initialResult, Func< U, T, U > f );

License

Project is released under the terms of the MIT License.

Repository Infos

Owner:   DigiDNA
Web:     www.digidna.net
Blog:    imazing.com/blog
Twitter: @DigiDNA
GitHub:  github.com/DigiDNA

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages