// Generated by purs version 0.13.6 "use strict"; var Data_FoldableWithIndex = require("../Data.FoldableWithIndex/index.js"); var Data_FunctorWithIndex = require("../Data.FunctorWithIndex/index.js"); var Data_Traversable = require("../Data.Traversable/index.js"); var TraversableWithIndex = function (FoldableWithIndex1, FunctorWithIndex0, Traversable2, traverseWithIndex) { this.FoldableWithIndex1 = FoldableWithIndex1; this.FunctorWithIndex0 = FunctorWithIndex0; this.Traversable2 = Traversable2; this.traverseWithIndex = traverseWithIndex; }; var traverseWithIndexDefault = function (dictTraversableWithIndex) { return function (dictApplicative) { return function (f) { var $295 = Data_Traversable.sequence(dictTraversableWithIndex.Traversable2())(dictApplicative); var $296 = Data_FunctorWithIndex.mapWithIndex(dictTraversableWithIndex.FunctorWithIndex0())(f); return function ($297) { return $295($296($297)); }; }; }; }; var traverseWithIndex = function (dict) { return dict.traverseWithIndex; }; var traversableWithIndexArray = new TraversableWithIndex(function ($dollar__unused) { return Data_FoldableWithIndex.foldableWithIndexArray; }, function ($dollar__unused) { return Data_FunctorWithIndex.functorWithIndexArray; }, function ($dollar__unused) { return Data_Traversable.traversableArray; }, function (dictApplicative) { return traverseWithIndexDefault(traversableWithIndexArray)(dictApplicative); }); module.exports = { TraversableWithIndex: TraversableWithIndex, traverseWithIndex: traverseWithIndex, traverseWithIndexDefault: traverseWithIndexDefault, traversableWithIndexArray: traversableWithIndexArray };