@eluvio/elv-js-helpers
Version:
A collection of Javascript helper functions used by several Eluvio libraries.
35 lines (31 loc) • 862 B
JavaScript
const isResult = require('./isResult')
const either = require('../Functional/either')
const F = require('../Functional/F')
const T = require('../Functional/T')
/**
* Returns `true` if passed a [Crocks Ok](https://crocks.dev/docs/crocks/Result.html#ok) instance.
* Returns `false` if passed anything else
*
* @function
* @category Boolean
* @sig a -> Boolean
* @param {*} x - The value to test
* @returns {Boolean}
* @example
*
* 'use strict'
* const isOk = require('@eluvio/elv-js-helpers/Boolean/isOk')
*
* const Err = require('@eluvio/elv-js-helpers/ADT/Err')
* const Ok = require('@eluvio/elv-js-helpers/ADT/Ok')
*
* isOk(Err(['invalid query'])) //=> false
*
* isOk(Ok(42)) //=> true
*
* isOk('foo') //=> false
*
*/
const isOk = x => isResult(x) && either(F, T, x)
module.exports = isOk