ng-folktale
A collection of folktale data structures and other utilities for functional programming all wrapped into AngularJS service.
Last updated 4 years ago by izifortune .
ISC · Original npm · Tarball · package.json
$ cnpm install ng-folktale 
SYNC missed versions from official npm registry.

#ng-folktale

A collection of folktale data structures and other utilities for functional programming all wrapped into AngularJS service.

This is just a wrapper of https://github.com/folktale for AngularJS, with the addition of some utilities.

##Installation

npm i --save ng-folktale

Or if you are not using a module loader just include ng-folktale.min.js in your html.

##Use

import 'ng-folktale'; //If you use a module loader

angular.module('app', ['ng-folktale'])
...
.service('MyService', function(ngFolktale) {
  ngFolktale.Box(1);
});

##Data structures

###Box Box.

###Either Either structure represents the logical disjunction between. For any other information or usage:

https://github.com/folktale/data.either

###Maybe Maybe A structure for values that may not be present. For any other information or usage:

https://github.com/folktale/data.maybe

###Task

Task is a structure represents values that depend on time. For any other information or usage:

https://github.com/folktale/data.task

##Utils

###futurize

A small library to convert callback or promise based functions into Task;

To have a look on how to use it please follow: https://github.com/futurize/futurize

####fromNullable(value)

retuns a Left if the argument its null or undefined otherwise a Right.

Arguments:

  • value any, any value that needs to be checked against null or undefined.

Returns

Right if the value is different from undefined or null, Left otherwise.

eg:

...
ngFolktale.fromNullable(null) // Left(null)

ngFolktale.fromNullable(12) //Right(12)

####tryCatch(expression)

A functional try/catch when you really need to use it.

Arguments:

  • expression (Function), the function that needs to be evaluated inside the try/catch;

Returns

Right if there are no errors raised. Left if an error occurred.

eg:

...
var a = { b: 1 };
ngFolktale.tryCatch(() => a.testing); //Left(error)

ngFolktale.tryCatch(() => a.b); // Right(1)

####$http(arguments)

A version of AngularJS $http which is already wrapped into futurizeP.

Arguments:

  • arguments Object, all the arguments needed for the AngularJs $http

Returns

Task of the $http call.

Inspired by https://egghead.io/courses/professor-frisby-introduces-composable-functional-javascript.

Current Tags

  • 0.1.0                                ...           latest (4 years ago)

2 Versions

  • 0.1.0                                ...           4 years ago
  • 0.0.1                                ...           4 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (4)
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |