https://github.com/pksilen/optional-js-flow
JavaScript Optional type for functional programming with Flow
https://github.com/pksilen/optional-js-flow
flow javascript javascript-library optional type
Last synced: 3 months ago
JSON representation
JavaScript Optional type for functional programming with Flow
- Host: GitHub
- URL: https://github.com/pksilen/optional-js-flow
- Owner: pksilen
- License: mit
- Created: 2019-10-23T11:11:25.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-19T11:02:21.000Z (over 1 year ago)
- Last Synced: 2024-04-13T19:17:01.977Z (about 1 year ago)
- Topics: flow, javascript, javascript-library, optional, type
- Language: JavaScript
- Homepage:
- Size: 1.41 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# optional-js-flow
JavaScript Optional type for functional programming with Flow[![version][version-badge]][package]
[![build][build]][circleci]
[![coverage][coverage]][codecov]
[![MIT License][license-badge]][license]## Installation
npm install --save optional-js-flow
## Import library
import OptionalFactory from 'optional-js-flow';
import type { Optional } from 'optional-js-flow';
## Create Optional type
OptionalFactory.makeOptionalOf(value: T | null | void): Optional
OptionalFactory.makeEmptyOptional(): Optional## Use Optional type
map(map: (value: T) => U): Optional;
orElse(elseValue: T): T;
ifPresent(consume: (value: T) => void): void;
orElseSupplyValue(supplyElseValue: () => T): T;
ifPresentOrElse(consume: (value: T) => void, performAction: () => void): void;
filter(isTrue: (value: T) => boolean): Optional;
flatMap(map: (value: T) => Optional): Optional;## License
MIT License[license-badge]: https://img.shields.io/badge/license-MIT-green
[license]: https://github.com/pksilen/optional-js-flow/blob/master/LICENSE
[version-badge]: https://img.shields.io/npm/v/optional-js-flow.svg?style=flat-square
[package]: https://www.npmjs.com/package/optional-js-flow
[build]: https://img.shields.io/circleci/project/github/pksilen/optional-js-flow/master.svg?style=flat-square
[circleci]: https://circleci.com/gh/pksilen/optional-j-flows/tree/master
[coverage]: https://img.shields.io/codecov/c/github/pksilen/optional-js-flow/master.svg?style=flat-square
[codecov]: https://codecov.io/gh/pksilen/optional-js-flow