js-marketplace-2014/tr.js

55 lines
1.5 KiB
JavaScript
Raw Normal View History

var util = require('util');
var r = require("./route.js");
function dump(x) {
console.log(util.inspect(x, { depth: null }));
return x;
}
function dumpM(m) {
console.log(r.prettyMatcher(m));
console.log();
return m;
}
mAny = r.compilePattern(r.newSet('mAny'), r.__);
mAAny = r.compilePattern(r.newSet('mAAny'), ['A', r.__]);
dumpM(mAny);
dumpM(mAAny);
dump("mAny:");
dump(r.matchValue(mAny, 'hi'));
dump(r.matchValue(mAny, ['A', 'hi']));
dump(r.matchValue(mAny, ['B', 'hi']));
dump(r.matchValue(mAny, ['A', [['hi']]]));
dump("mAAny:");
dump(r.matchValue(mAAny, 'hi'));
dump(r.matchValue(mAAny, ['A', 'hi']));
dump(r.matchValue(mAAny, ['B', 'hi']));
dump(r.matchValue(mAAny, ['A', [['hi']]]));
console.log("unions");
dumpM(r.union(r.compilePattern(r.newSet('A'), [r.__, 'A']),
r.compilePattern(r.newSet('B'), [r.__, 'B'])));
dumpM(r.union(r.compilePattern(r.newSet('A'), [r.__, 'A']),
r.compilePattern(r.newSet('W'), r.__)));
console.log("projections");
dumpM(r.project(r.union(r.compilePattern(r.newSet('A'), r.__),
r.compilePattern(r.newSet('B'), ['b'])),
r.compileProjection(r._$([[r.__]]))));
dumpM(r.project(r.union(r.compilePattern(r.newSet('A'), [1, 2]),
r.compilePattern(r.newSet('C'), [1, 3]),
r.compilePattern(r.newSet('B'), [3, 4])),
r.compileProjection([r._$(), r._$()])));
dump(r.matcherKeys(r.project(r.union(r.compilePattern(r.newSet('A'), [1, 2]),
r.compilePattern(r.newSet('C'), [1, 3]),
r.compilePattern(r.newSet('B'), [3, 4])),
r.compileProjection([r._$(), r._$()]))));