fairmont
Advanced tools
Comparing version 1.0.0-beta-14 to 1.0.0-beta-15
@@ -82,7 +82,7 @@ // Generated by CoffeeScript 1.9.3 | ||
ls = async(function*(path) { | ||
var file, j, len, ref1, results; | ||
var file, i, len, ref1, results; | ||
ref1 = (yield readdir(path)); | ||
results = []; | ||
for (j = 0, len = ref1.length; j < len; j++) { | ||
file = ref1[j]; | ||
for (i = 0, len = ref1.length; i < len; i++) { | ||
file = ref1[i]; | ||
results.push(join(path, file)); | ||
@@ -95,3 +95,3 @@ } | ||
lsR = lsr = async(function*(path, visited) { | ||
var childPath, info, j, len, ref1; | ||
var childPath, i, info, len, ref1; | ||
if (visited == null) { | ||
@@ -101,4 +101,4 @@ visited = []; | ||
ref1 = (yield ls(path)); | ||
for (j = 0, len = ref1.length; j < len; j++) { | ||
childPath = ref1[j]; | ||
for (i = 0, len = ref1.length; i < len; i++) { | ||
childPath = ref1[i]; | ||
if (!(indexOf.call(visited, childPath) >= 0)) { | ||
@@ -123,3 +123,3 @@ info = (yield FS.lstat(childPath)); | ||
glob = async(function*(pattern, path) { | ||
var _path, j, len, match, minimatch, ref1, results; | ||
var _path, i, len, match, minimatch, ref1, results; | ||
minimatch = new Minimatch(pattern); | ||
@@ -131,4 +131,4 @@ match = function(path) { | ||
results = []; | ||
for (j = 0, len = ref1.length; j < len; j++) { | ||
_path = ref1[j]; | ||
for (i = 0, len = ref1.length; i < len; i++) { | ||
_path = ref1[i]; | ||
if (match(_path)) { | ||
@@ -145,57 +145,2 @@ results.push(_path); | ||
}); | ||
stream = (function(arg) { | ||
var promise, reject, resolve; | ||
promise = arg.promise, reject = arg.reject, resolve = arg.resolve; | ||
return function(s) { | ||
return (function(pending, resolved, _resolve, _reject) { | ||
_resolve = function(x) { | ||
if (pending.length === 0) { | ||
return resolved.push(resolve(x)); | ||
} else { | ||
return pending.shift().resolve(x); | ||
} | ||
}; | ||
_reject = function(x) { | ||
if (pending.length === 0) { | ||
return resolved.push(reject(x)); | ||
} else { | ||
return pending.shift().reject(x); | ||
} | ||
}; | ||
s.on("data", function(data) { | ||
return _resolve({ | ||
value: data.toString(), | ||
done: false | ||
}); | ||
}); | ||
s.on("end", function() { | ||
return _resolve({ | ||
done: true | ||
}); | ||
}); | ||
s.on("error", function() { | ||
return _reject(error); | ||
}); | ||
return function() { | ||
if (resolved.length === 0) { | ||
return promise(function(resolve, reject) { | ||
return pending.push({ | ||
resolve: resolve, | ||
reject: reject | ||
}); | ||
}); | ||
} else { | ||
return resolved.shift(); | ||
} | ||
}; | ||
})([], [], null, null); | ||
}; | ||
})(require("when")); | ||
context.test("stream", function*() { | ||
var createReadStream, i; | ||
createReadStream = require("fs").createReadStream; | ||
i = stream(createReadStream("test/lines.txt")); | ||
assert(((yield i())).value === "one\ntwo\nthree\n"); | ||
return assert(((yield i())).done); | ||
}); | ||
write = function(path, content) { | ||
@@ -283,3 +228,2 @@ return FS.writeFile(path, content); | ||
write: write, | ||
stream: stream, | ||
rm: rm, | ||
@@ -286,0 +230,0 @@ stat: stat, |
@@ -161,5 +161,6 @@ // Generated by CoffeeScript 1.9.3 | ||
include(module.exports, require("./generator")); | ||
return include(module.exports, require("./multimethods")); | ||
include(module.exports, require("./multimethods")); | ||
return include(module.exports, require("./reactive")); | ||
}); | ||
}).call(this); |
@@ -9,3 +9,3 @@ // Generated by CoffeeScript 1.9.3 | ||
describe("Iterator functions", function(context) { | ||
var $, Method, _flatten, add, all, any, assoc, async, asyncIterator, average, binary, cat, collect, compact, compose, curry, delimit, each, either, events, filter, first, flatten, fold, foldr, has, identity, isAsyncIterable, isAsyncIterator, isAsyncIteratorFunction, isDefined, isFunction, isGenerator, isIterable, isIterator, isIteratorFunction, isSource, iterator, iteratorFunction, join, lines, map, negate, partition, project, promise, property, query, reduce, reduceRight, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, reject, repeat, resolve, second, select, split, sum, take, takeN, ternary, unzip, where, zip; | ||
var $, Method, _flatten, add, all, any, assoc, async, asyncIterator, average, binary, cat, collect, compact, compose, curry, delimit, each, either, events, filter, first, flatten, fold, foldr, has, identity, isAsyncIterable, isAsyncIterator, isAsyncIteratorFunction, isDefined, isFunction, isGenerator, isIterable, isIterator, isIteratorFunction, isSource, iterator, iteratorFunction, join, lines, map, negate, partition, project, promise, property, query, reduce, reduceRight, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9, reject, repeat, resolve, second, select, split, stream, sum, take, takeN, ternary, unzip, where, zip; | ||
isIterable = function(x) { | ||
@@ -166,3 +166,3 @@ return (x != null ? x[Symbol.iterator] : void 0) != null; | ||
Method.define(map, Function, isAsyncIteratorFunction, function(f, i) { | ||
iterator(function*() { | ||
return iterator(function*() { | ||
var done, ref2, value; | ||
@@ -181,4 +181,5 @@ ref2 = (yield i()), done = ref2.done, value = ref2.value; | ||
}); | ||
return map = curry(binary(map)); | ||
}); | ||
ref2 = require("./core"), curry = ref2.curry, binary = ref2.binary; | ||
map = curry(binary(map)); | ||
context.test("map", function() { | ||
@@ -192,3 +193,3 @@ var i; | ||
}); | ||
ref2 = require("./core"), curry = ref2.curry, compose = ref2.compose, binary = ref2.binary; | ||
ref3 = require("./core"), curry = ref3.curry, compose = ref3.compose, binary = ref3.binary; | ||
each = curry(binary(compose(collect, map))); | ||
@@ -202,3 +203,3 @@ context.test("each", function() { | ||
}); | ||
ref3 = require("./core"), curry = ref3.curry, ternary = ref3.ternary; | ||
ref4 = require("./core"), curry = ref4.curry, ternary = ref4.ternary; | ||
fold = Method.create(); | ||
@@ -209,5 +210,5 @@ Method.define(fold, $, Function, $, function(x, f, y) { | ||
Method.define(fold, $, Function, isIteratorFunction, function(x, f, i) { | ||
var done, ref4, value; | ||
var done, ref5, value; | ||
while (true) { | ||
ref4 = i(), done = ref4.done, value = ref4.value; | ||
ref5 = i(), done = ref5.done, value = ref5.value; | ||
if (done) { | ||
@@ -221,5 +222,5 @@ break; | ||
Method.define(fold, $, Function, isAsyncIteratorFunction, async(function*(x, f, i) { | ||
var done, ref4, value; | ||
var done, ref5, value; | ||
while (true) { | ||
ref4 = (yield i()), done = ref4.done, value = ref4.value; | ||
ref5 = (yield i()), done = ref5.done, value = ref5.value; | ||
if (done) { | ||
@@ -239,3 +240,3 @@ break; | ||
}); | ||
ref4 = require("./core"), curry = ref4.curry, ternary = ref4.ternary; | ||
ref5 = require("./core"), curry = ref5.curry, ternary = ref5.ternary; | ||
foldr = Method.create(); | ||
@@ -262,5 +263,5 @@ Method.define(foldr, $, Function, $, function(x, f, y) { | ||
return iterator(function() { | ||
var done, ref5, value; | ||
var done, ref6, value; | ||
while (true) { | ||
ref5 = i(), done = ref5.done, value = ref5.value; | ||
ref6 = i(), done = ref6.done, value = ref6.value; | ||
if (done || (f(value))) { | ||
@@ -284,5 +285,5 @@ break; | ||
return iterator(function() { | ||
var done, ref5, value; | ||
var done, ref6, value; | ||
while (true) { | ||
ref5 = i(), done = ref5.done, value = ref5.value; | ||
ref6 = i(), done = ref6.done, value = ref6.value; | ||
if (done || (f(value))) { | ||
@@ -304,3 +305,3 @@ break; | ||
}); | ||
ref5 = require("./core"), binary = ref5.binary, curry = ref5.curry; | ||
ref6 = require("./core"), binary = ref6.binary, curry = ref6.curry; | ||
select = filter = curry(binary(select)); | ||
@@ -330,5 +331,5 @@ context.test("select", function() { | ||
Method.define(any, Function, isIteratorFunction, function(f, i) { | ||
var done, ref6, value; | ||
var done, ref7, value; | ||
while (true) { | ||
ref6 = i(), done = ref6.done, value = ref6.value; | ||
ref7 = i(), done = ref7.done, value = ref7.value; | ||
if (done || (f(value))) { | ||
@@ -341,5 +342,5 @@ break; | ||
Method.define(any, Function, isAsyncIteratorFunction, async(function*(f, i) { | ||
var done, ref6, value; | ||
var done, ref7, value; | ||
while (true) { | ||
ref6 = (yield i()), done = ref6.done, value = ref6.value; | ||
ref7 = (yield i()), done = ref7.done, value = ref7.value; | ||
if (done || (f(value))) { | ||
@@ -351,3 +352,3 @@ break; | ||
})); | ||
ref6 = require("./core"), curry = ref6.curry, binary = ref6.binary; | ||
ref7 = require("./core"), curry = ref7.curry, binary = ref7.binary; | ||
any = curry(binary(any)); | ||
@@ -427,3 +428,3 @@ context.test("any", function() { | ||
}); | ||
ref7 = require("./array"), first = ref7.first, second = ref7.second; | ||
ref8 = require("./array"), first = ref8.first, second = ref8.second; | ||
assoc = Method.create(); | ||
@@ -434,6 +435,6 @@ Method.define(assoc, $, function(x) { | ||
Method.define(assoc, isIteratorFunction, function(i) { | ||
var done, ref8, result, value; | ||
var done, ref9, result, value; | ||
result = {}; | ||
while (true) { | ||
ref8 = i(), done = ref8.done, value = ref8.value; | ||
ref9 = i(), done = ref9.done, value = ref9.value; | ||
if (done) { | ||
@@ -447,6 +448,6 @@ break; | ||
Method.define(assoc, isAsyncIteratorFunction, function*(i) { | ||
var done, ref8, result, value; | ||
var done, ref9, result, value; | ||
result = {}; | ||
while (true) { | ||
ref8 = (yield i()), done = ref8.done, value = ref8.value; | ||
ref9 = (yield i()), done = ref9.done, value = ref9.value; | ||
if (done) { | ||
@@ -499,6 +500,6 @@ break; | ||
return iterator(function() { | ||
var batch, done, ref8, value; | ||
var batch, done, ref9, value; | ||
batch = []; | ||
while (true) { | ||
ref8 = i(), done = ref8.done, value = ref8.value; | ||
ref9 = i(), done = ref9.done, value = ref9.value; | ||
if (done) { | ||
@@ -526,6 +527,6 @@ break; | ||
return iterator(function*() { | ||
var batch, done, ref8, value; | ||
var batch, done, ref9, value; | ||
batch = []; | ||
while (true) { | ||
ref8 = (yield i()), done = ref8.done, value = ref8.value; | ||
ref9 = (yield i()), done = ref9.done, value = ref9.value; | ||
if (done) { | ||
@@ -580,5 +581,5 @@ break; | ||
return iterator(function() { | ||
var done, ref8, value; | ||
var done, ref9, value; | ||
if (!done) { | ||
ref8 = i(), done = ref8.done, value = ref8.value; | ||
ref9 = i(), done = ref9.done, value = ref9.value; | ||
if (!done && (f(value))) { | ||
@@ -655,2 +656,79 @@ return { | ||
}); | ||
ref9 = require("when"), promise = ref9.promise, reject = ref9.reject, resolve = ref9.resolve; | ||
has = require("./object").has; | ||
events = Method.create(); | ||
isSource = compose(isFunction, property("on")); | ||
Method.define(events, String, isSource, function(name, source) { | ||
return events({ | ||
name: name, | ||
end: "end", | ||
error: "error" | ||
}, source); | ||
}); | ||
Method.define(events, Object, isSource, function(map, source) { | ||
var dequeue, done, end, enqueue, error, name, pending, resolved; | ||
name = map.name, end = map.end, error = map.error; | ||
done = false; | ||
pending = []; | ||
resolved = []; | ||
enqueue = function(x) { | ||
var p; | ||
if (pending.length === 0) { | ||
return resolved.push(x); | ||
} else { | ||
p = pending.shift(); | ||
return x.then(p.resolve)["catch"](p.reject); | ||
} | ||
}; | ||
dequeue = function() { | ||
if (resolved.length === 0) { | ||
if (!done) { | ||
return promise(function(resolve, reject) { | ||
return pending.push({ | ||
resolve: resolve, | ||
reject: reject | ||
}); | ||
}); | ||
} else { | ||
return resolve({ | ||
done: done | ||
}); | ||
} | ||
} else { | ||
return resolved.shift(); | ||
} | ||
}; | ||
source.on(name, function() { | ||
var ax, value; | ||
ax = 1 <= arguments.length ? slice.call(arguments, 0) : []; | ||
value = ax.length < 2 ? ax[0] : ax; | ||
return enqueue(resolve({ | ||
done: done, | ||
value: value | ||
})); | ||
}); | ||
source.on(end, function(error) { | ||
return done = true; | ||
}); | ||
source.on(error, function(error) { | ||
return enqueue(reject(error)); | ||
}); | ||
return asyncIterator(dequeue); | ||
}); | ||
events = curry(binary(events)); | ||
context.test("events", function*() { | ||
var createReadStream, i; | ||
createReadStream = require("fs").createReadStream; | ||
i = events("data", createReadStream("test/lines.txt")); | ||
assert(((yield i())).value.toString() === "one\ntwo\nthree\n"); | ||
return console.log((yield i())); | ||
}); | ||
stream = events("data"); | ||
context.test("stream", function*() { | ||
var createReadStream, i; | ||
createReadStream = require("fs").createReadStream; | ||
i = stream(createReadStream("test/lines.txt")); | ||
assert(((yield i())).value === "one\ntwo\nthree\n"); | ||
return assert(((yield i())).done); | ||
}); | ||
split = Method.create(); | ||
@@ -665,3 +743,3 @@ Method.define(split, Function, $, function(f, x) { | ||
return iterator(function() { | ||
var done, k, last, ref8, ref9, value; | ||
var done, k, last, ref10, ref11, value; | ||
if (lines.length > 0) { | ||
@@ -673,5 +751,5 @@ return { | ||
} else { | ||
ref8 = i(), value = ref8.value, done = ref8.done; | ||
ref10 = i(), value = ref10.value, done = ref10.done; | ||
if (!done) { | ||
ref9 = f(value), first = ref9[0], lines = 3 <= ref9.length ? slice.call(ref9, 1, k = ref9.length - 1) : (k = 1, []), last = ref9[k++]; | ||
ref11 = f(value), first = ref11[0], lines = 3 <= ref11.length ? slice.call(ref11, 1, k = ref11.length - 1) : (k = 1, []), last = ref11[k++]; | ||
first = remainder + first; | ||
@@ -698,3 +776,3 @@ remainder = last; | ||
}); | ||
Method.define(split, Function, isIteratorFunction, function(f, i) { | ||
Method.define(split, Function, isAsyncIteratorFunction, function(f, i) { | ||
var lines, remainder; | ||
@@ -704,3 +782,3 @@ lines = []; | ||
return iterator(function*() { | ||
var done, k, last, ref8, ref9, value; | ||
var done, k, last, ref10, ref11, value; | ||
if (lines.length > 0) { | ||
@@ -712,5 +790,5 @@ return { | ||
} else { | ||
ref8 = (yield i()), value = ref8.value, done = ref8.done; | ||
ref10 = (yield i()), value = ref10.value, done = ref10.done; | ||
if (!done) { | ||
ref9 = f(value), first = ref9[0], lines = 3 <= ref9.length ? slice.call(ref9, 1, k = ref9.length - 1) : (k = 1, []), last = ref9[k++]; | ||
ref11 = f(value), first = ref11[0], lines = 3 <= ref11.length ? slice.call(ref11, 1, k = ref11.length - 1) : (k = 1, []), last = ref11[k++]; | ||
first = remainder + first; | ||
@@ -750,7 +828,6 @@ remainder = last; | ||
lines = split(function(s) { | ||
return s.split("\n"); | ||
return s.toString().split("\n"); | ||
}); | ||
context.test("lines", function*() { | ||
var createReadStream, i, stream; | ||
stream = require("./fs").stream; | ||
var createReadStream, i; | ||
createReadStream = require("fs").createReadStream; | ||
@@ -763,68 +840,2 @@ i = lines(stream(createReadStream("test/lines.txt"))); | ||
}); | ||
ref8 = require("when"), promise = ref8.promise, reject = ref8.reject, resolve = ref8.resolve; | ||
has = require("./object").has; | ||
events = Method.create(); | ||
isSource = compose(isFunction, property("on")); | ||
Method.define(events, String, isSource, function(name, source) { | ||
return events({ | ||
name: name, | ||
end: "end", | ||
error: "error" | ||
}, source); | ||
}); | ||
Method.define(events, Object, isSource, function(map, source) { | ||
var dequeue, done, end, enqueue, error, name, pending, resolved; | ||
name = map.name, end = map.end, error = map.error; | ||
done = false; | ||
pending = []; | ||
resolved = []; | ||
enqueue = function(x) { | ||
var ref9; | ||
if (pending.length === 0) { | ||
return resolved.push(x); | ||
} else { | ||
ref9 = pending.shift(), resolve = ref9.resolve, reject = ref9.reject; | ||
return x.then(resolve)["catch"](reject); | ||
} | ||
}; | ||
dequeue = function() { | ||
if (resolved.length === 0) { | ||
if (!done) { | ||
return promise(function(resolve, reject) { | ||
return pending.push({ | ||
resolve: resolve, | ||
reject: reject | ||
}); | ||
}); | ||
} else { | ||
return resolve({ | ||
done: done | ||
}); | ||
} | ||
} else { | ||
return resolved.shift(); | ||
} | ||
}; | ||
source.on(name, function(value) { | ||
return enqueue(resolve({ | ||
done: done, | ||
value: value | ||
})); | ||
}); | ||
source.on(end, function() { | ||
return done = true; | ||
}); | ||
source.on(error, function() { | ||
return enqueue(reject(error)); | ||
}); | ||
return asyncIterator(dequeue); | ||
}); | ||
events = curry(binary(events)); | ||
context.test("events", function*() { | ||
var createReadStream, i; | ||
createReadStream = require("fs").createReadStream; | ||
i = events("data", createReadStream("test/lines.txt")); | ||
assert(((yield i())).value.toString() === "one\ntwo\nthree\n"); | ||
return console.log((yield i())); | ||
}); | ||
return module.exports = { | ||
@@ -861,6 +872,8 @@ isIterable: isIterable, | ||
where: where, | ||
take: take, | ||
takeN: takeN, | ||
events: events, | ||
stream: stream, | ||
lines: lines, | ||
split: split, | ||
take: take, | ||
takeN: takeN | ||
split: split | ||
}; | ||
@@ -867,0 +880,0 @@ }); |
@@ -26,11 +26,16 @@ // Generated by CoffeeScript 1.9.3 | ||
p += 5; | ||
} else if ((term != null ? term.constructor : void 0) === Function) { | ||
if (term === arg.constructor) { | ||
p += 4; | ||
} else if (arg instanceof term) { | ||
p += 2; | ||
} else if (arg.prototype instanceof term) { | ||
p += 1; | ||
} else if (term !== Boolean && (term(arg)) === true) { | ||
p += 5; | ||
} else if (arg != null) { | ||
if ((term != null ? term.constructor : void 0) === Function) { | ||
if (term === arg.constructor) { | ||
p += 4; | ||
} else if (arg instanceof term) { | ||
p += 2; | ||
} else if (arg.prototype instanceof term) { | ||
p += 1; | ||
} else if (term !== Boolean && (term(arg)) === true) { | ||
p += 5; | ||
} else { | ||
p = 0; | ||
break; | ||
} | ||
} else { | ||
@@ -37,0 +42,0 @@ p = 0; |
{ | ||
"name": "fairmont", | ||
"version": "1.0.0-beta-14", | ||
"version": "1.0.0-beta-15", | ||
"description": "A collection of useful functions and utilities.", | ||
@@ -5,0 +5,0 @@ "files": [ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
153004
33
2742
7