VimUnDoT*8bӛ)iPjTDGBݠ3զvar end = require("./end")PJ/_PP 5_ VP\ M/*jshint asi: true undef: true es5: true node: true browser: true devel: true9 forin: true latedef: false globalstrict: true */ 'use strict';*var accumulated = require("./accumulated")*var transformer = require("./transformer")&var transform = require("./transform")function take(source, n) { /**H Returns sequence of first `n` items of the given `source`. If `source`J contains less items than `n` then that's how much items return sequence will contain.8 print(take([ 1, 2, 3, 4, 5 ], 2)) // => 4 print(take([ 1, 2, 3 ], 5)) // =>  **// return transformer(source, function(source) {% var count = n >= 0 ? n : Infinity< return transform(source, function(next, value, result) { count = count - 1E return count === 0 ? next(accumulated(), next(value, result)) :. count > 0 ? next(value, result) :4 next(accumulated(), result) }) })}module.exports = take5_  !VP] 5_  vP   function take(source, n) { /**H Returns sequence of first `n` items of the given `source`. If `source`J contains less items than `n` then that's how much items return sequence will contain.8 print(take([ 1, 2, 3, 4, 5 ], 2)) // => 4 print(take([ 1, 2, 3 ], 5)) // =>  **// return transformer(source, function(source) {% var count = n >= 0 ? n : Infinity< return transform(source, function(next, value, result) { count = count - 1E return count === 0 ? next(accumulated(), next(value, result)) :. count > 0 ? next(value, result) :4 next(accumulated(), result) }) })}5_ vP*var transformer = require("./transformer")5_ vPmodule.exports = take5_  vP  *  5_   vP = Returns a lazy sequence of successive items from coll while5_ 2 vP 8 Returns a sequence of successive items from coll while5_  vP < Returns a sequence of successive items from `source` while<(pred item) returns true. pred must be free of side-effects. <(pred item) returns true. pred must be free of side-effects.5_ C vP y Returns a sequence of successive items from `source` while (pred item) returns true. pred must be free of side-effects.5_ = vP } Returns a sequence of successive items from `source` while predicate(item) returns true. pred must be free of side-effects.5_  M vP ~ Returns a sequence of successive items from `source` while `predicate(item) returns true. pred must be free of side-effects.5_   vP 2 returns true. pred must be free of side-effects.5_  vP 3 returns `true. pred must be free of side-effects.5_  vP 4 returns `true`. pred must be free of side-effects.5_  vP  9 returns `true`. predicate must be free of side-effects.5_  vP : returns `true`. `predicate must be free of side-effects.5_ vP J Composes version of given `source` containing only firs `n` items of it.5_  vP&    5_ vP(#var digits = take(function(value) {5_ vP+% var digits = take(function(value) {5_%v%P0' var numbers = list(10, 23, 2, 7, 17)5_%v%P1 var numbers = list()5_%v%P4* var digits = takeWhile(function(value) {5_+%v%P6< var digits = takeWhile([10, 23, 2, 7, 17]function(value) {5_%v%P9> var digits = takeWhile([10, 23, 2, 7, 17], function(value) {5_+%v%P<? var digits = takeWhile([ 10, 23, 2, 7, 17], function(value) {5_%v%P>return value >= 105_%v%P? }, numbers)5_  %v%PU  }, numbers)5_! vPz@ var digits = takeWhile([ 10, 23, 2, 7, 17 ], function(value) {5_ "!1vP F var digits = takeWhile([ 2, 7, 10, 23, 2, 7, 17 ], function(value) {5_!#"vP  return value >= 105_"$#vP 5_#%$VP5_$&% VP5_%'&PJM/*jshint asi: true undef: true es5: true node: true browser: true devel: true5_&(' PJ9 forin: true latedef: false globalstrict: true */5_')(PJ5_(*)PJ 'use strict';5_)+* PJ "use strict';5_*,+PN*var accumulated = require("./accumulated")5_+-,$PR&var reduced = require("./accumulated")5_,.-.PW8 next(accumulated(), state)5_-/.vP<"var reduced = require("./reduced")&var transform = require("./transform")5_.0/vP=5_/10 vPa& print(digits) // => 5_021vPd 5_132vPi return reducible()5_243vPj return reducible(function())5_354)vPm* return reducible(function(next, source))5_465+vPn- return reducible(function(next, source) {})5_576vPo 5_687vPs return reduced()5_798vPt return reduce()5_8:9#vPx% return reduce(source, function())5_9;:vP+ return reducible(function(next, source) {5_:<;"vP% return reduce(source, function())5_;=<:vP; return reduce(source, function reduceTakeWhileSource())5_<>=<vP> return reduce(source, function reduceTakeWhileSource() {})5_=?>vPfunction transformation5_>@?vPfunction transformation()5_?A@ vPfunction transformation(fu)5_@BAvPvar transformation(fu)5_ACBvPvar transformation(function())5_BDCvP!var transformation(function() {})5_CEDvP var transformation(function() {5_DFE,vP!  5_EGF vP! reduce()5_FHGvP! reduce(source, function())5_GIHvP ! reduce(source, function() {})5_HJIvP" reduce(source, function() {5_IKJvP."0var transformation(function(source, predicate) {5_JLK vP0":var takeWhile transformation(function(source, predicate) {5_KMLvP3"!4 var filter = reducer(function())5_prq !vP?"4#var filter = reducer(function() {})5_qsr!vP@!#55_rts vPQ!6!var filter = reducer(function() {5_sut &vP!62var filter = reducer(function(source, predicate) {5_tvu vP "7  "65_uwv!vP "7 return function()5_vxw!vP #7 return function() {}5_wyx!vP "8 return function() {5_xzy!vP "8 return function reduce() {5_y{z 'vP!8*var filter = reducer(function(predicate) {5_z|{!(vP!#9 !#85_{}|"vP!#9 predicate()5_|~}"vP!#9 predicate(value)5_}~"vP!#9 predicate(value) ? next()5_~")vP!#9) predicate(value) ? next(value, state)5_"2vP!#92 predicate(value) ? next(value, state) : next()5_"4vP!#95 predicate(value) ? next(value, state) : reduced()5_8vP95_9vP:< return reduce(source, function reduceTakeWhileSource() {5_FvP:I return reduce(source, function reduceTakeWhileSource(result, value) {5_vP:5_vP: return predicate()5_vP: return predicate(value)5_%vP:& return predicate(value) : next()5_3vP:3 return predicate(value) : next(result, value)5_vP:5 return predicate(value) : next(result, value) :5_vP; :5_vP; reduced()5_vP; print(digits) // => < 2 7 />5_vP9 return transform(source, function(next, value, state) {5_vP2 return predicate(value) ? next(value, state) :5_vP4 next(reduced(), state)5_vP })5_vP0var filter = reducer(function(predicate, next) {) return function reduce(value, result) {: predicate(value) ? next(value, state) : reduced(state) }})(function filter(predicate, collection) {; return folder(collection, function(next, result, value) { if (predicate(value)) return next(result, value) else return result })}(defcurried filter? "Retains values in the reduction of coll for which (pred val) returns logical true. Foldable." {:added "1.5"} [pred coll] (folder coll (fn [f1] (rfn [f1 k] ([ret k v] (if (pred k v) (f1 ret k v) ret))))))5_8vPs; return reducible(function reduceTakeWhile(next, source) {5_0vP}3 return reducible(function reduceTakeWhile(next) {5_vP })5_vP "use strict"; var reduce = require("./reduce")"var reduced = require("./reduced")&var reducible = require("./reducible")'function takeWhile(source, predicate) { /**N Returns a sequence of successive items from `source` while `predicate(item)`; returns `true`. `predicate` must be free of side-effects. ## Example< var digits = takeWhile([ 2, 7, 10, 23 ], function(value) { return value < 10 }) print(digits) // => < 2 7 > **/< return reducible(function reduceTakeWhile(next, initial) {I return reduce(source, function reduceTakeWhileSource(result, value) {5 return predicate(value) ? next(result, value) : reduced(result) }, initial) })}module.exports = takeWhile5_vP5_vP 9 return transform(source, function(next, value, state) {5_,vP 4 next(reduced(), state)5_,vP!  5_vP! if ()5_6vP!9 return reducible(source, function(next, value, state) {5_ vP!& print(digits) // => 5_vP! if (predicate)5_vP! if (predicate) return next()5_+vP!, if (predicate) return next(value, state)5_+vP" !5_vP"- if (predicate) return next(value, result)5_vP"/ if (predicate()) return next(value, result)5_vP"5_ vP" next()5_vP# "5_vP # next(end, state)5_ vP# return 5_vP# return reduced()5_vP$2 return predicate(value) ? next(value, state) :5_vP% . next(end, state)5_vPA" !5_vPH" print(digits) // => < 2 7 />5_vPI" // If predicate 5_vP^(var accumulate = require("./accumulate")5_vPo!: return reducible(source, function(next, value, result) {5_vP! next(end, result)5_!vP!4 if (predicate(value)) return next(value, result)5_vP!- if (predicate(value)) next(value, result)5_vP!4 return if (predicate(value)) next(value, result)5_vP!0 return predicate(value)) next(value, result)5_ vP! return next(end, result)5_vP! return reduced(result)5_ vP "var reduced = require("./reduced")5_vP&var reducible = require("./reducible")5_vP'var isReduced = require("./is-reduced")5_vP5_vP5_vP"var reduced = require("./reduced")5_vP&var transform = require("./transform")5_vP'function takeWhile(source, predicate) {5_vP""var reducer = require("./reduced")5_+vP?var takeWhile = reducer(function takeWhile(source, predicate) {5_4vPJvar takeWhile = reducer(function takeWhile(predicate, source, predicate) {5_GvPJvar takeWhile = reducer(function takeWhile(predicate, source, predicate) {5_vP8 return reducer(source, function(next, value, result) {5_vP( // If predicate returns `true` pass 5_vP1 return predicate(value) ? next(value, result)5_vP })5_vP/ return predicate(value) ? next(value, result): next(end, result)/ : next(end, result)5_2vP#C return predicate(value) ? next(value, result) : next(end, result)5_vP%}5_9vP < var digits = takeWhile([ 2, 7, 10, 23 ], function(value) {5_vP 8 var digits = takeWhile([ 2, 7, 10, 23 ], function(x) {return value < 10 return value < 105_EvP J var digits = takeWhile([ 2, 7, 10, 23 ], function(x) { return value < 105_vP' F var digits = takeWhile([ 2, 7, 10, 23 ], function(x) { return x < 10}) })5_0vP2 5_ vP> // predicate returns5_vP? // Predicate returns5_1vPK4 // Predicate returned `false` just pass end5_5vPK5 // Predicate returned `false` just pass `end5_8vP[@ // Predicate returned `false` just pass `end`. reducer 5_@vP]+& // care of returning `reduced@ // Predicate returned `false` just pass `end`. Reducer 5_vP, next(end, result)5_PJ/var end = require("./end")5_PJ*var reducer = require("reducible/reducer")5_PJ-"var end = require("reducible/end")5_vPb5