UNPKG

@masala/parser

Version:
46 lines (32 loc) 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _genlex = require("../../lib/genlex/genlex"); var _parsec = require("../../lib/parsec"); var _stream = require("../../lib/stream"); var _stream2 = _interopRequireDefault(_stream); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { setUp: function setUp(done) { done(); }, 'expect Genlex to be easy to use ': function expectGenlexToBeEasyToUse(test) { var genlex = new _genlex.GenLex(); var tkDate = genlex.tokenize(date(), 'date', 500); var tkNumber = genlex.tokenize(_parsec.N.number(), 'number', 700); var grammar = tkDate.then(tkNumber.rep()); var parser = genlex.use(grammar); var parsing = parser.parse(_stream2.default.ofString('10/12/2013 34 23')); test.ok(parsing.isAccepted()); test.done(); } }; function date() { return _parsec.N.digits().then(_parsec.C.charIn('-/').returns('-')).then(_parsec.N.digits()).then(_parsec.C.charIn('-/').returns('-')).then(_parsec.N.digits()).array().map(function (dateValues) { return dateValues[4] > 2000 ? dateValues.reverse() : dateValues; }).map(function (dateArray) { return dateArray.join(''); }); } //# sourceMappingURL=proposition.js.map