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._$()]))));