"use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkEBISTSVAjs = require('./chunk-EBISTSVA.js');


var _chunkSQA7G4TEjs = require('./chunk-SQA7G4TE.js');


var _chunk6C3VEZWHjs = require('./chunk-6C3VEZWH.js');

// src/FromTask.ts
var FromTask_exports = {};
_chunk6C3VEZWHjs.__export.call(void 0, FromTask_exports, {
  chainFirstTaskK: () => chainFirstTaskK,
  chainTaskK: () => chainTaskK,
  fromTaskK: () => fromTaskK,
  tapTask: () => tapTask
});
function fromTaskK(F) {
  return (f) => _chunkSQA7G4TEjs.flow.call(void 0, f, F.fromTask);
}
function chainTaskK(F, M) {
  return (f) => {
    const g = _chunkSQA7G4TEjs.flow.call(void 0, f, F.fromTask);
    return (first) => M.chain(first, g);
  };
}
function chainFirstTaskK(F, M) {
  const tapTaskM = tapTask(F, M);
  return (f) => (first) => tapTaskM(first, f);
}
function tapTask(F, M) {
  const tapM = _chunkEBISTSVAjs.tap.call(void 0, M);
  return (self, f) => tapM(self, _chunkSQA7G4TEjs.flow.call(void 0, f, F.fromTask));
}







exports.fromTaskK = fromTaskK; exports.chainTaskK = chainTaskK; exports.chainFirstTaskK = chainFirstTaskK; exports.tapTask = tapTask; exports.FromTask_exports = FromTask_exports;
