functional 0.9.2 copy "functional: ^0.9.2" to clipboard
functional: ^0.9.2 copied to clipboard

outdated

A dart package which helps to use varius functional paradigms like function currying, piping.

Functional #

Utilities for functional programimng in dart.

Install #

Add this in dependencies of pubspec.yaml

functional:any

Import #

import 'package:functional/functional.dart';

Usage #

Currying
int add(int a, int b) => a + b;

void main() {
  final inc = add % 1;
  final dec = add % -1;

  print(inc(5)); // Same as add(1, 5);
  print(dec(5)); // Same as add(-1, 5);
}
Function Piping
String toUpperCase(String s) => s.toUpperCase();

void main() {
  final convertToUppercaseAndPrint = toUpperCase | print;
  convertToUppercaseAndPrint('Hello'); 
    // Same as print(toUpperCase('Hello'));
}
Collection Piping
int inc(int a) => a++;

void main() {
    
  [1, 2, 3, 4, 5, 6] | print;
  // Same as [1, 2, 3, 4, 5, 6].forEach((int value) => print(value));

  final incrementedList = [1, 2, 3, 4, 5, 6] ^ inc;
  // Same as [1, 2, 3, 4, 5, 6].map((int value)=> inc(value));

  print(incrementedList);
  // Will print : (2, 3, 4, 5, 6, 7)

  incrementedList | print;
  /* Will print : 
     2
     3
     4
     5
     6
     7
  */
}
11
likes
0
pub points
0%
popularity

Publisher

unverified uploader

A dart package which helps to use varius functional paradigms like function currying, piping.

Repository
View/report issues

More

Packages that depend on functional