UNPKG

purs-pkg-deps

Version:

Query package dependencies in PureScript package-sets

285 lines (284 loc) 19.3 kB
// Generated by purs version 0.14.3 "use strict"; var $foreign = require("./foreign.js"); var Control_Alt = require("../Control.Alt/index.js"); var Control_Applicative = require("../Control.Applicative/index.js"); var Control_Apply = require("../Control.Apply/index.js"); var Control_Bind = require("../Control.Bind/index.js"); var Control_Monad_Error_Class = require("../Control.Monad.Error.Class/index.js"); var Control_Monad_Trans_Class = require("../Control.Monad.Trans.Class/index.js"); var Control_Parallel = require("../Control.Parallel/index.js"); var Control_Parallel_Class = require("../Control.Parallel.Class/index.js"); var Data_Array = require("../Data.Array/index.js"); var Data_Array_NonEmpty = require("../Data.Array.NonEmpty/index.js"); var Data_DateTime_Instant = require("../Data.DateTime.Instant/index.js"); var Data_Either = require("../Data.Either/index.js"); var Data_Foldable = require("../Data.Foldable/index.js"); var Data_Function = require("../Data.Function/index.js"); var Data_Functor = require("../Data.Functor/index.js"); var Data_Identity = require("../Data.Identity/index.js"); var Data_Int = require("../Data.Int/index.js"); var Data_Maybe = require("../Data.Maybe/index.js"); var Data_Monoid = require("../Data.Monoid/index.js"); var Data_Newtype = require("../Data.Newtype/index.js"); var Data_Ring = require("../Data.Ring/index.js"); var Data_Semigroup = require("../Data.Semigroup/index.js"); var Data_Show = require("../Data.Show/index.js"); var Data_Time_Duration = require("../Data.Time.Duration/index.js"); var Data_Traversable = require("../Data.Traversable/index.js"); var Data_Unit = require("../Data.Unit/index.js"); var Effect = require("../Effect/index.js"); var Effect_Aff = require("../Effect.Aff/index.js"); var Effect_Aff_AVar = require("../Effect.Aff.AVar/index.js"); var Effect_Class = require("../Effect.Class/index.js"); var Effect_Exception = require("../Effect.Exception/index.js"); var Effect_Now = require("../Effect.Now/index.js"); var Pipes = require("../Pipes/index.js"); var Pipes_Core = require("../Pipes.Core/index.js"); var Pipes_Internal = require("../Pipes.Internal/index.js"); var Test_Spec = require("../Test.Spec/index.js"); var Test_Spec_Console = require("../Test.Spec.Console/index.js"); var Test_Spec_Result = require("../Test.Spec.Result/index.js"); var Test_Spec_Runner_Event = require("../Test.Spec.Runner.Event/index.js"); var Test_Spec_Speed = require("../Test.Spec.Speed/index.js"); var Test_Spec_Style = require("../Test.Spec.Style/index.js"); var Test_Spec_Summary = require("../Test.Spec.Summary/index.js"); var Test_Spec_Tree = require("../Test.Spec.Tree/index.js"); var mergeProducers = function (dictTraversable) { return function (ps) { return Control_Bind.bind(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Pipes_Internal.monadTransProxy)(Effect_Aff.monadAff)(Effect_Aff_AVar.empty))(function ($$var) { return Control_Bind.bind(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Pipes_Internal.monadTransProxy)(Effect_Aff.monadAff)(Effect_Aff.forkAff((function () { var consumer = function (i) { return Control_Apply.applySecond(Pipes_Internal.applyProxy(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Pipes_Internal.monadTransProxy)(Effect_Aff.monadAff)(Effect_Aff_AVar.put(i)($$var)))(Control_Applicative.pure(Pipes_Internal.applicativeProxy(Effect_Aff.monadAff))(Data_Unit.unit)); }; return Control_Bind.bind(Effect_Aff.bindAff)(Control_Parallel.parTraverse(Effect_Aff.parallelAff)(dictTraversable)(function (p) { return Pipes_Core.runEffectRec(Effect_Aff.monadRecAff)(Pipes_Core.composeResponse(Effect_Aff.monadAff)(p)(consumer)); })(ps))(function (x) { return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Aff_AVar.kill(Effect_Exception.error("finished"))($$var))(function () { return Control_Applicative.pure(Effect_Aff.applicativeAff)(x); }); }); })())))(function (fib) { var loop = Control_Bind.bind(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Pipes_Internal.monadTransProxy)(Effect_Aff.monadAff)(Control_Monad_Error_Class["try"](Effect_Aff.monadErrorAff)(Effect_Aff_AVar.take($$var))))(function (res) { if (res instanceof Data_Either.Left) { return Control_Monad_Trans_Class.lift(Pipes_Internal.monadTransProxy)(Effect_Aff.monadAff)(Effect_Aff.joinFiber(fib)); }; if (res instanceof Data_Either.Right) { return Control_Bind.discard(Control_Bind.discardUnit)(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Pipes["yield"](Effect_Aff.monadAff)(res.value0))(function () { return loop; }); }; throw new Error("Failed pattern match at Test.Spec.Runner (line 154, column 7 - line 158, column 15): " + [ res.constructor.name ]); }); return loop; }); }); }; }; var makeTimeout = function (v) { return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Aff.delay(v))(function () { return Effect_Aff.makeAff(function (cb) { return Data_Functor.voidRight(Effect.functorEffect)(Data_Monoid.mempty(Effect_Aff.monoidCanceler))(cb(Data_Either.Left.create(Effect_Exception.error("test timed out after " + (Data_Show.show(Data_Show.showInt)(Data_Int.round(v)) + "ms"))))); }); }); }; var timeout = function (time) { return function (t) { return Control_Bind.bind(Effect_Aff.bindAff)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Alt.alt(Effect_Aff.altParAff)(Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Monad_Error_Class["try"](Effect_Aff.monadErrorAff)(makeTimeout(time))))(Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Monad_Error_Class["try"](Effect_Aff.monadErrorAff)(t)))))(Data_Either.either(Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff))(Control_Applicative.pure(Effect_Aff.applicativeAff))); }; }; var defaultConfig = { slow: 75.0, timeout: Data_Maybe.Just.create(2000.0), exit: true }; var _run = function (dictFunctor) { return function (config) { var runGroup = function (v) { if (v.test instanceof Test_Spec_Tree.Leaf && v.test.value1 instanceof Data_Maybe.Just) { return Control_Bind.discard(Control_Bind.discardUnit)(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Pipes["yield"](Effect_Aff.monadAff)(new Test_Spec_Runner_Event.Test((function () { if (v.isParallelizable) { return Test_Spec_Runner_Event.Parallel.value; }; return Test_Spec_Runner_Event.Sequential.value; })(), v.path, v.test.value0)))(function () { var example = v.test.value1.value0.example(function (a) { return a(Data_Unit.unit); }); return Control_Bind.bind(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Pipes_Internal.monadTransProxy)(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Now.now)))(function (start) { return Control_Bind.bind(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Pipes_Internal.monadTransProxy)(Effect_Aff.monadAff)(Effect_Aff.attempt((function () { if (config.timeout instanceof Data_Maybe.Just) { return timeout(config.timeout.value0)(example); }; return example; })())))(function (e) { return Control_Bind.bind(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Effect_Class.liftEffect(Pipes_Internal.proxyMonadEffect(Effect_Aff.monadEffectAff))(Effect_Now.now))(function (end) { var duration = Data_Time_Duration.Milliseconds(Data_Function.on(Data_Ring.sub(Data_Ring.ringNumber))((function () { var $41 = Data_Newtype.un()(Data_Time_Duration.Milliseconds); return function ($42) { return $41(Data_DateTime_Instant.unInstant($42)); }; })())(end)(start)); var res = Data_Either.either(Test_Spec_Result.Failure.create)(Data_Function["const"](new Test_Spec_Result.Success(Test_Spec_Speed.speedOf(config.slow)(duration), duration)))(e); return Control_Bind.discard(Control_Bind.discardUnit)(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Pipes["yield"](Effect_Aff.monadAff)(new Test_Spec_Runner_Event.TestEnd(v.path, v.test.value0, res)))(function () { return Control_Applicative.pure(Pipes_Internal.applicativeProxy(Effect_Aff.monadAff))([ Test_Spec_Tree.Leaf.create(v.test.value0)(new Data_Maybe.Just(res)) ]); }); }); }); }); }); }; if (v.test instanceof Test_Spec_Tree.Leaf && v.test.value1 instanceof Data_Maybe.Nothing) { return Control_Bind.discard(Control_Bind.discardUnit)(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Pipes["yield"](Effect_Aff.monadAff)(new Test_Spec_Runner_Event.Pending(v.path, v.test.value0)))(function () { return Control_Applicative.pure(Pipes_Internal.applicativeProxy(Effect_Aff.monadAff))([ new Test_Spec_Tree.Leaf(v.test.value0, Data_Maybe.Nothing.value) ]); }); }; if (v.test instanceof Test_Spec_Tree.Node && v.test.value0 instanceof Data_Either.Right) { var indexer = function (index) { return function (x) { return { test: x, path: Data_Semigroup.append(Data_Semigroup.semigroupArray)(v.path)([ { name: Data_Maybe.Nothing.value, index: index } ]) }; }; }; return Control_Apply.applyFirst(Pipes_Internal.applyProxy(Effect_Aff.monadAff))(loop(Data_Array.mapWithIndex(indexer)(v.test.value1)))(Control_Monad_Trans_Class.lift(Pipes_Internal.monadTransProxy)(Effect_Aff.monadAff)(v.test.value0.value0(Data_Unit.unit))); }; if (v.test instanceof Test_Spec_Tree.Node && v.test.value0 instanceof Data_Either.Left) { return Control_Bind.discard(Control_Bind.discardUnit)(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Pipes["yield"](Effect_Aff.monadAff)(new Test_Spec_Runner_Event.Suite((function () { if (v.isParallelizable) { return Test_Spec_Runner_Event.Parallel.value; }; return Test_Spec_Runner_Event.Sequential.value; })(), v.path, v.test.value0.value0)))(function () { var indexer = function (index) { return function (x) { return { test: x, path: Data_Semigroup.append(Data_Semigroup.semigroupArray)(v.path)([ { name: new Data_Maybe.Just(v.test.value0.value0), index: index } ]) }; }; }; return Control_Bind.bind(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(loop(Data_Array.mapWithIndex(indexer)(v.test.value1)))(function (res) { return Control_Bind.discard(Control_Bind.discardUnit)(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Pipes["yield"](Effect_Aff.monadAff)(new Test_Spec_Runner_Event.SuiteEnd(v.path)))(function () { return Control_Applicative.pure(Pipes_Internal.applicativeProxy(Effect_Aff.monadAff))([ new Test_Spec_Tree.Node(new Data_Either.Left(v.test.value0.value0), res) ]); }); }); }); }; throw new Error("Failed pattern match at Test.Spec.Runner (line 114, column 47 - line 138, column 38): " + [ v.test.constructor.name ]); }; var loop = function (tests) { var noteWithIsAllParallelizable = Data_Functor.map(Data_Functor.functorArray)(function (v) { return { isParallelizable: Test_Spec_Tree.isAllParallelizable(v.test), test: v.test, path: v.path }; }); var groupByIsParallelizable = Data_Array.groupBy(function (a) { return function (b) { return a.isParallelizable && b.isParallelizable; }; }); return Data_Functor.map(Pipes_Internal.functorProxy(Effect_Aff.monadAff))(Control_Bind.join(Control_Bind.bindArray))(Data_Traversable["for"](Pipes_Internal.applicativeProxy(Effect_Aff.monadAff))(Data_Traversable.traversableArray)(groupByIsParallelizable(noteWithIsAllParallelizable(tests)))(function (g) { return Data_Functor.map(Pipes_Internal.functorProxy(Effect_Aff.monadAff))(Control_Bind.join(Control_Bind.bindArray))((function () { var $35 = (Data_Array_NonEmpty.head(g)).isParallelizable; if ($35) { return mergeProducers(Data_Traversable.traversableArray)(Data_Functor.map(Data_Functor.functorArray)(runGroup)(Data_Array_NonEmpty.toArray(g))); }; return Data_Traversable["for"](Pipes_Internal.applicativeProxy(Effect_Aff.monadAff))(Data_Traversable.traversableArray)(Data_Array_NonEmpty.toArray(g))(runGroup); })()); })); }; var $43 = Data_Functor.map(dictFunctor)(function (tests) { return Control_Bind.discard(Control_Bind.discardUnit)(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Pipes["yield"](Effect_Aff.monadAff)(new Test_Spec_Runner_Event.Start(Test_Spec_Tree.countTests(tests))))(function () { var indexer = function (index) { return function (test) { return { test: test, path: [ { name: Data_Maybe.Nothing.value, index: index } ] }; }; }; return Control_Bind.bind(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(loop(Data_Array.mapWithIndex(indexer)(tests)))(function (r) { return Control_Bind.discard(Control_Bind.discardUnit)(Pipes_Internal.bindProxy(Effect_Aff.monadAff))(Pipes["yield"](Effect_Aff.monadAff)(new Test_Spec_Runner_Event.End(r)))(function () { return Control_Applicative.pure(Pipes_Internal.applicativeProxy(Effect_Aff.monadAff))(r); }); }); }); }); var $44 = Test_Spec.collect(dictFunctor); return function ($45) { return $43($44($45)); }; }; }; var runSpecT = function (dictFunctor) { return function (config) { return function (reporters) { return function (spec) { return Data_Functor.mapFlipped(dictFunctor)(_run(dictFunctor)(config)(spec))(function (runner) { var events = Data_Foldable.foldl(Data_Foldable.foldableArray)(Pipes.composePipes(Effect_Aff.monadAff))(runner)(reporters); var drain = Data_Function["const"](Control_Applicative.pure(Pipes_Internal.applicativeProxy(Effect_Aff.monadAff))(Data_Unit.unit)); var reportedEvents = Pipes_Core.runEffectRec(Effect_Aff.monadRecAff)(Pipes_Core.composeResponse(Effect_Aff.monadAff)(events)(drain)); if (config.exit) { return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Error_Class["try"](Effect_Aff.monadErrorAff)(reportedEvents))(function (v) { if (v instanceof Data_Either.Left) { return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Test_Spec_Console.write(Test_Spec_Style.styled(Test_Spec_Style.red)(Data_Show.show(Effect_Exception.showError)(v.value0) + "\x0a"))))(function () { return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)($foreign.exit(1)))(function () { return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(v.value0); }); }); }; if (v instanceof Data_Either.Right) { return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)((function () { var code = (function () { var $39 = Test_Spec_Summary.successful(v.value0); if ($39) { return 0; }; return 1; })(); return function __do() { $foreign.exit(code)(); return v.value0; }; })()); }; throw new Error("Failed pattern match at Test.Spec.Runner (line 182, column 33 - line 190, column 21): " + [ v.constructor.name ]); }); }; return reportedEvents; }); }; }; }; }; var runSpec$prime = function (config) { return function (reporters) { return function (spec) { return Data_Functor["void"](Effect_Aff.functorAff)(Data_Newtype.un()(Data_Identity.Identity)(runSpecT(Data_Identity.functorIdentity)(config)(reporters)(spec))); }; }; }; var run = function (dictWarn) { return runSpec$prime(defaultConfig); }; var runSpec = runSpec$prime(defaultConfig); module.exports = { run: run, runSpecT: runSpecT, runSpec: runSpec, "runSpec'": runSpec$prime, defaultConfig: defaultConfig };