UNPKG

fp-ts-std

Version:

The missing pseudo-standard library for fp-ts.

33 lines (32 loc) 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.until = exports.pass = exports.traverseSeqArray_ = exports.traverseArray_ = exports.sequenceSeqArray_ = exports.sequenceArray_ = exports.unless = exports.when = exports.execute = exports.elapsed = exports.sleep = void 0; const T = require("fp-ts/Task"); const function_1 = require("fp-ts/function"); const Applicative_1 = require("./Applicative"); const Date_1 = require("./Date"); const Monad_1 = require("./Monad"); const sleep = (n) => () => new Promise(resolve => { setTimeout(resolve, Math.floor((0, Date_1.unMilliseconds)(n))); }); exports.sleep = sleep; const elapsed = (f) => (x) => async () => { const start = (0, Date_1.now)(); const y = await x(); const duration = Date_1.fieldMilliseconds.sub((0, Date_1.now)(), start); f(duration)(); return y; }; exports.elapsed = elapsed; const execute = (x) => x(); exports.execute = execute; exports.when = (0, Applicative_1.when)(T.ApplicativePar); exports.unless = (0, Applicative_1.unless)(T.ApplicativePar); exports.sequenceArray_ = (0, function_1.flow)(T.sequenceArray, T.map(function_1.constVoid)); exports.sequenceSeqArray_ = (0, function_1.flow)(T.sequenceSeqArray, T.map(function_1.constVoid)); const traverseArray_ = f => (0, function_1.flow)(T.traverseArray(f), T.map(function_1.constVoid)); exports.traverseArray_ = traverseArray_; const traverseSeqArray_ = f => (0, function_1.flow)(T.traverseSeqArray(f), T.map(function_1.constVoid)); exports.traverseSeqArray_ = traverseSeqArray_; exports.pass = (0, Applicative_1.pass)(T.ApplicativePar); exports.until = (0, Monad_1.until)(T.Monad);