@masala/parser
Version:
85 lines (44 loc) • 47.9 kB
JavaScript
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.masalaParser = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});var _option=require("./option"),_option2=_interopRequireDefault(_option),_try=require("./try"),_try2=_interopRequireDefault(_try),_unit=require("./unit"),_unit2=_interopRequireDefault(_unit);exports.default={option:_option2.default,atry:_try2.default,unit:_unit2.default};
},{"./option":2,"./try":3,"./unit":5}],2:[function(require,module,exports){
;function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function someOrNone(e){return new Option(e)}function none(){return new Option(empty)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),empty={__MASALA_EMPTY__:"empty"},Option=function(){function e(t){_classCallCheck(this,e),this.value=t}return _createClass(e,[{key:"isPresent",value:function(){return this.value!==empty}},{key:"map",value:function(e){return this.isPresent()?someOrNone(e(this.value)):this}},{key:"flatMap",value:function(e){return this.isPresent()?e(this.value):this}},{key:"filter",value:function(t){return this.isPresent()&&t(this.value)?this:new e(empty)}},{key:"get",value:function(){return this.value}},{key:"orElse",value:function(e){return this.isPresent()?this.value:e}},{key:"orLazyElse",value:function(e){return this.isPresent()?this.value:e()}}]),e}();exports.default={some:someOrNone,none:none};
},{}],3:[function(require,module,exports){
;function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function success(e){return new Try(e,null)}function failure(e){return new Try(null,e)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,r){for(var t=0;t<r.length;t++){var u=r[t];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(e,u.key,u)}}return function(r,t,u){return t&&e(r.prototype,t),u&&e(r,u),r}}(),Try=function(){function e(r,t){_classCallCheck(this,e),this.value=r,this.error=t}return _createClass(e,[{key:"isSuccess",value:function(){return null===this.error}},{key:"isFailure",value:function(){return!this.isSuccess()}},{key:"onSuccess",value:function(e){return this.isSuccess()&&e(this.value),this}},{key:"onFailure",value:function(e){return this.isFailure()&&e(this.error),this}},{key:"map",value:function(e){if(!this.isSuccess())return this;try{return success(e(this.value))}catch(e){return failure(e)}}},{key:"flatMap",value:function(e){if(!this.isSuccess())return this;try{return e(this.value)}catch(e){return failure(e)}}},{key:"success",value:function(){return this.value}},{key:"failure",value:function(){return this.error}},{key:"recoverWith",value:function(e){return this.isSuccess()?this.value:e}},{key:"lazyRecoverWith",value:function(e){return this.isSuccess()?this.value:e(this.error)}},{key:"filter",value:function(e){return this.isSuccess()?e(this.value)?this:failure(new Error("invalid filter")):this}}]),e}();exports.default={success:success,failure:failure};
},{}],4:[function(require,module,exports){
;function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function isTuple(e){return e&&e.constructor&&"Tuple"===e.constructor.name}function tuple(e){return new Tuple(void 0===e?[]:e)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();exports.isTuple=isTuple,exports.tuple=tuple;var NEUTRAL=exports.NEUTRAL=Symbol("MASALA_NEUTRAL"),Tuple=exports.Tuple=function(){function e(t){_classCallCheck(this,e),void 0===t&&(t=[]),this.value=t}return _createClass(e,[{key:"at",value:function(e){return this.value[e]}},{key:"array",value:function(){return[].concat(_toConsumableArray(this.value))}},{key:"single",value:function(){return this.value[0]}},{key:"first",value:function(){return this.value[0]}},{key:"last",value:function(){return this.value[this.size()-1]}},{key:"join",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.value.join(e)}},{key:"append",value:function(t){return new e(t===NEUTRAL?[].concat(_toConsumableArray(this.value)):isTuple(t)?[].concat(_toConsumableArray(this.value),_toConsumableArray(t.value)):[].concat(_toConsumableArray(this.value),[t]))}},{key:"isEmpty",value:function(){return 0===this.size()}},{key:"size",value:function(){return this.value.length}}]),e}();
},{}],5:[function(require,module,exports){
;function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var Unit=function e(){_classCallCheck(this,e)};exports.default=new Unit;
},{}],6:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function getTokenParser(e){return e.parser.map(function(n){return new Token(e.name,n)})}function literal(e,n){return _parsec.F.parse(function(n,t){return n.get(t).map(function(r){return e(r).map(function(e){return _response2.default.accept(e,n,t+1,!0)}).orLazyElse(function(){return _response2.default.reject(n,t,!1)})}).lazyRecoverWith(function(){return _response2.default.reject(n,t,!1)})})}function defaultSpaces(){return _parsec.C.charIn(" \r\n\f\t").map(function(){return _unit2.default})}function getMathGenLex(){var e=new GenLex;return e.tokenize(_parsec.N.number(),"number",1100),e.tokenize(_parsec.C.char("+"),"plus",1e3),e.tokenize(_parsec.C.char("-"),"minus",1e3),e.tokenize(_parsec.C.char("*"),"mult",800),e.tokenize(_parsec.C.char("/"),"div",800),e.tokenize(_parsec.C.char("("),"open",1e3),e.tokenize(_parsec.C.char(")"),"close",1e3),e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.GenLex=exports.Token=exports.TokenDefinition=void 0;var _createClass=function(){function e(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(n,t,r){return t&&e(n.prototype,t),r&&e(n,r),n}}();exports.getMathGenLex=getMathGenLex;var _response=require("../parsec/response"),_response2=_interopRequireDefault(_response),_parsec=require("../parsec"),_unit=require("../data/unit"),_unit2=_interopRequireDefault(_unit),_option=require("../data/option"),_option2=_interopRequireDefault(_option),TokenDefinition=exports.TokenDefinition=function e(n,t,r){_classCallCheck(this,e),this.parser=n,this.name=t,this.precedence=r},Token=exports.Token=function(){function e(n,t){_classCallCheck(this,e),this.name=n,this.value=t}return _createClass(e,[{key:"accept",value:function(e){return this.name===e?_option2.default.some(this.value):_option2.default.none()}}]),e}(),GenLex=exports.GenLex=function(){function e(){_classCallCheck(this,e),this.spaces=defaultSpaces(),this.definitions=[],this.tokensMap={}}return _createClass(e,[{key:"tokenize",value:function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3;if("string"==typeof e)return void 0===n&&(n=e),this.tokenize(_parsec.C.string(e),n,t);var r=new TokenDefinition(e,n,t);this.definitions.push(r);var i=literal(function(e){return e.accept(n)},n);return this.tokensMap[n]=i,i}},{key:"keywords",value:function(e){var n=this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;return e.reduce(function(e,r){return e.concat(n.tokenize(r,r,t))},[])}},{key:"setSeparators",value:function(e){if("string"!=typeof e)throw"setSeparators needs a string as separators, such as ' \r\n\f\t' ; use setSeparatorsParser to declare a parser";this.spaces=_parsec.C.charIn(e).map(function(){return _unit2.default})}},{key:"setSeparatorsParser",value:function(e){this.spaces=e.map(function(){return _unit2.default})}},{key:"updatePrecedence",value:function(e,n){this.definitions.find(function(n){return n.name===e}).precedence=n}},{key:"buildTokenizer",value:function(){var e=this.findTokenByPrecedence();return this.spaces.optrep().drop().then(e).then(this.spaces.optrep().drop()).single()}},{key:"use",value:function(e){return this.buildTokenizer().chain(e)}},{key:"findTokenByPrecedence",value:function(){return this.definitions.sort(function(e,n){return n.precedence-e.precedence}).reduce(function(e,n){return _parsec.F.try(getTokenParser(n)).or(e)},_parsec.F.error())}},{key:"remove",value:function(e){this.definitions=this.definitions.filter(function(n){return n.name!==e}),delete this.tokensMap[e]}},{key:"tokens",value:function(){return this.tokensMap}},{key:"get",value:function(e){return this.tokensMap[e]}}]),e}();
},{"../data/option":2,"../data/unit":5,"../parsec":10,"../parsec/response":13}],7:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.NEUTRAL=exports.isTuple=exports.Tuple=exports.tuple=exports.MD=exports.JSON=exports.N=exports.C=exports.F=exports.Parser=exports.Streams=exports.standard=exports.parsec=exports.getMathGenLex=exports.GenLex=exports.reject=exports.accept=exports.data=void 0;var _index=require("./data/index"),_index2=_interopRequireDefault(_index),_genlex=require("./genlex/genlex"),_index3=require("./parsec/index"),_index4=_interopRequireDefault(_index3),_parser=require("./parsec/parser"),_parser2=_interopRequireDefault(_parser),_index5=require("./standard/index"),_index6=_interopRequireDefault(_index5),_index7=require("./stream/index"),_index8=_interopRequireDefault(_index7),_response=require("./parsec/response"),_tuple=require("./data/tuple"),JSON=_index6.default.jsonParser,MD=_index6.default.markdownBundle;exports.data=_index2.default,exports.accept=_response.accept,exports.reject=_response.reject,exports.GenLex=_genlex.GenLex,exports.getMathGenLex=_genlex.getMathGenLex,exports.parsec=_index4.default,exports.standard=_index6.default,exports.Streams=_index8.default,exports.Parser=_parser2.default,exports.F=_index3.F,exports.C=_index3.C,exports.N=_index3.N,exports.JSON=JSON,exports.MD=MD,exports.tuple=_tuple.tuple,exports.Tuple=_tuple.Tuple,exports.isTuple=_tuple.isTuple,exports.NEUTRAL=_tuple.NEUTRAL;
},{"./data/index":1,"./data/tuple":4,"./genlex/genlex":6,"./parsec/index":10,"./parsec/parser":12,"./parsec/response":13,"./standard/index":14,"./stream/index":18}],8:[function(require,module,exports){
;function _interopRequireDefault(D){return D&&D.__esModule?D:{default:D}}function isUtf8Letter(D){return D.toLowerCase()!==D.toUpperCase()}function isExtendedOccidental(D){return/(?![\u00F7\u00D7])[\u00C0-\u017F^\u00F7]/.test(D)}function letter(){var D=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(null===D||D===OCCIDENTAL_LETTER)return _flowBundle2.default.satisfy(function(D){return"a"<=D&&D<="z"||"A"<=D&&D<="Z"||isExtendedOccidental(D)});if(D===ASCII_LETTER)return _flowBundle2.default.satisfy(function(D){return"a"<=D&&D<="z"||"A"<=D&&D<="Z"});if(D===UTF8_LETTER)return _flowBundle2.default.satisfy(function(D){return"a"<=D&&D<="z"||"A"<=D&&D<="Z"||isUtf8Letter(D)});throw"Parameter "+D.toString()+" has wrong type : Should be C.OCCIDENTAL_LETTER, C.ASCII_LETTER or C.UTF8_LETTER"}function utf8Letter(){return _flowBundle2.default.satisfy(isUtf8Letter)}function emoji(){return _flowBundle2.default.satisfy(function(D){return!isUtf8Letter(D)&&isEmojiRegex(D)}).rep()}function letters(D){return letter(D).rep().map(function(D){return D.join("")})}function char(D){if(1!==D.length)throw new Error("Char parser must contains one character");return _flowBundle2.default.satisfy(function(u){return D===u})}function notChar(D){if(1!==D.length)throw new Error("Char parser must contains one character");return _flowBundle2.default.satisfy(function(u){return D!==u})}function charIn(D){return _flowBundle2.default.satisfy(function(u){return-1!==D.indexOf(u)})}function charNotIn(D){return _flowBundle2.default.satisfy(function(u){return-1===D.indexOf(u)})}function subString(D){return _flowBundle2.default.subStream(D).map(function(D){return D.join("")})}function stringIn(D){var u=function(D){return _flowBundle2.default.try((0,_flowBundle.string)(D))};if(0===D.length)return _flowBundle2.default.nop();if(1===D.length)return u(D[0]);var F=u(D[0]);return D.slice(1).reduce(function(D,F){return D.or(u(F))},F)}function notString(D){return _flowBundle2.default.not((0,_flowBundle.string)(D))}function stringLiteral(){var D=(0,_flowBundle.string)('\\"').or(notChar('"'));return char('"').thenRight(D.optrep()).thenLeft(char('"')).map(function(D){return D.join("")})}function charLiteral(){var D=(0,_flowBundle.string)("\\'").or(notChar("'"));return char("'").thenRight(D).thenLeft(char("'")).single()}function lowerCase(){return _flowBundle2.default.satisfy(function(D){return"a"<=D&&D<="z"})}function upperCase(){return _flowBundle2.default.satisfy(function(D){return"A"<=D&&D<="Z"})}function isEmojiRegex(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74)\uDB40\uDC7F|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC68(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92])|(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2695\u2696\u2708]\uFE0F|(?:\uD83C[\uDFFB-\uDFFF])\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]))|\uD83D\uDC69\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2695\u2696\u2708]|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83D\uDC69\u200D[\u2695\u2696\u2708])\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC68(?:\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92])|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDD1-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC69\uDC6E\uDC70-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD26\uDD30-\uDD39\uDD3D\uDD3E\uDDD1-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])?|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDEEB\uDEEC\uDEF4-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])\uFE0F/}Object.defineProperty(exports,"__esModule",{value:!0});var _flowBundle=require("./flow-bundle"),_flowBundle2=_interopRequireDefault(_flowBundle),ASCII_LETTER=Symbol("ASCII"),OCCIDENTAL_LETTER=Symbol("OCCIDENTAL"),UTF8_LETTER=Symbol("UTF8");exports.default={utf8Letter:utf8Letter,letter:letter,letterAs:letter,letters:letters,lettersAs:letters,emoji:emoji,notChar:notChar,char:char,charIn:charIn,charNotIn:charNotIn,subString:subString,string:_flowBundle.string,stringIn:stringIn,notString:notString,charLiteral:charLiteral,stringLiteral:stringLiteral,lowerCase:lowerCase,upperCase:upperCase,UTF8_LETTER:UTF8_LETTER,OCCIDENTAL_LETTER:OCCIDENTAL_LETTER,ASCII_LETTER:ASCII_LETTER};
},{"./flow-bundle":9}],9:[function(require,module,exports){
;function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function parse(r){return new _parser2.default(r)}function lazy(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e&&!Array.isArray(e))throw"Lazy(parser, [params]) function expect parser parameters to be packed into an array";return new _parser2.default(function(n){var u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return r.apply(t,e).parse(n,u)})}function returns(r){return new _parser2.default(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return _response2.default.accept(r,e,t,!1)})}function error(){return new _parser2.default(function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return _response2.default.reject(r,e,!1)})}function satisfy(r){return new _parser2.default(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.get(t).filter(r).map(function(r){return _response2.default.accept(r,e,t+1,!0)}).lazyRecoverWith(function(){return _response2.default.reject(e,t,!1)})})}function doTry(r){return new _parser2.default(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return r.parse(e,t).fold(function(r){return r},function(r){return _response2.default.reject(e,r.offset,!1)})})}function layer(r){return new _parser2.default(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return r.parse(e,t).fold(function(r){return _response2.default.accept((new _tuple.Tuple).append(r.value),e,t,!1)},function(r){return r})})}function any(){return satisfy(function(){return!0})}function nop(){return new _parser2.default(function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return _response2.default.accept(_tuple.NEUTRAL,r,e,!0)})}function not(r){return doTry(r).then(error()).or(any())}function subStream(r){return any().occurrence(r)}function startWith(r){return nop().returns(r)}function moveUntil(r){if("string"==typeof r)return searchStringStart(r);if(Array.isArray(r))return searchArrayStringStart(r);var e=Symbol("found-eos");return doTry(not(r).rep().then((0,_parser.eos)()).returns(e)).or(not(r).rep().map(function(r){return r.join("")})).filter(function(r){return r!==e})}function dropTo(r){return"string"==typeof r?moveUntil(r).then(string(r)).drop():moveUntil(r).then(r).drop()}function searchStringStart(r){return new _parser2.default(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if("string"!=typeof e.source)throw"Input source must be a String";var n=e.source.indexOf(r,t);return n>0?_response2.default.accept(e.source.substring(t,n),e,n,!0):_response2.default.reject(e,t,!1)})}function searchArrayStringStart(r){return new _parser2.default(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if("string"!=typeof e.source)throw"Input source must be a String";for(var n=-1,u=0;n<0&&u<r.length;){var o=r[u];if(n=e.source.indexOf(o,t),u++,n>0)break}return n>0?_response2.default.accept(e.source.substring(t,n),e,n,!0):_response2.default.reject(e,t,!1)})}function string(r){return new _parser2.default(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.subStreamAt(r.split(""),t)?_response2.default.accept(r,e,t+r.length,!0):_response2.default.reject(e,t,!1)})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.string=string;var _parser=require("./parser"),_parser2=_interopRequireDefault(_parser),_response=require("./response"),_response2=_interopRequireDefault(_response),_tuple=require("../data/tuple");exports.default={parse:parse,nop:nop,try:doTry,any:any,subStream:subStream,not:not,layer:layer,lazy:lazy,returns:returns,error:error,eos:_parser.eos,satisfy:satisfy,startWith:startWith,moveUntil:moveUntil,dropTo:dropTo};
},{"../data/tuple":4,"./parser":12,"./response":13}],10:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.N=exports.F=exports.C=void 0;var _parser=require("./parser"),_parser2=_interopRequireDefault(_parser),_response=require("./response"),_response2=_interopRequireDefault(_response),_flowBundle=require("./flow-bundle"),_flowBundle2=_interopRequireDefault(_flowBundle),_charsBundle=require("./chars-bundle"),_charsBundle2=_interopRequireDefault(_charsBundle),_numbersBundle=require("./numbers-bundle"),_numbersBundle2=_interopRequireDefault(_numbersBundle),C=exports.C=_charsBundle2.default,F=exports.F=_flowBundle2.default,N=exports.N=_numbersBundle2.default;exports.default={parser:_parser2.default,response:_response2.default};
},{"./chars-bundle":8,"./flow-bundle":9,"./numbers-bundle":11,"./parser":12,"./response":13}],11:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function number(){var e=function(e){return e.join("")},n=function(n){return n.map(e).orElse("")},r=digit().rep().map(e),t=_charsBundle2.default.charIn("+-").opt().then(r).array().map(function(e){return e[0].orElse("")+e[1]});return t.then(_charsBundle2.default.char(".").then(r).opt().map(n)).then(_charsBundle2.default.charIn("eE").then(t).opt().map(n)).array().map(function(e){return e[0]+e[1]+e[2]}).map(function(e){return parseFloat(e,10)})}function digit(){return _flowBundle2.default.satisfy(function(e){return"0"<=e&&e<="9"}).map(function(e){return parseInt(e)})}function digits(){return digit().rep().map(function(e){return parseInt(e.join(""))})}function integer(){var e=function(e){return e.join("")},n=digit().rep().map(e);return _charsBundle2.default.charIn("+-").opt().then(n).array().map(function(e){return e[0].orElse("")+e[1]}).map(function(e){return parseInt(e,10)})}Object.defineProperty(exports,"__esModule",{value:!0});var _charsBundle=require("./chars-bundle"),_charsBundle2=_interopRequireDefault(_charsBundle),_flowBundle=require("./flow-bundle"),_flowBundle2=_interopRequireDefault(_flowBundle);exports.default={number:number,digit:digit,digits:digits,integer:integer};
},{"./chars-bundle":8,"./flow-bundle":9}],12:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function bindAccepted(e,n){return n(e.value).parse(e.input,e.offset).fold(function(n){return _response2.default.accept(n.value,n.input,n.offset,e.consumed||n.consumed)},function(n){return _response2.default.reject(n.input,n.offset,e.consumed||n.consumed)})}function bind(e,n){return new Parser(function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.parse(t,r).fold(function(e){return bindAccepted(e,n)},function(e){return e})})}function choice(e,n){return new Parser(function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.parse(t,r).fold(function(e){return e},function(e){return e.consumed?e:n.parse(t,r)})})}function both(e,n){return new Parser(function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.parse(t,r).fold(function(e){return n.parse(t,r).map(function(n){return e.value.append(n)})},function(e){return e})})}function repeatable(e,n,t){return new Parser(function(r){for(var u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=!1,i=new _tuple.Tuple([]),a=u,f=e.parse(r,u),s=0;f.isAccepted()&&n(s);)s+=1,i=i.append(f.value),o=o||f.consumed,a=f.offset,f=e.parse(r,f.offset);return t(s)?_response2.default.accept(i,r,a,o):_response2.default.reject(r,a,o)})}function returns(e){return new Parser(function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return _response2.default.accept(e,n,t,!1)})}function eos(){return new Parser(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.endOfStream(n)?_response2.default.accept(_unit2.default,e,n,!1):_response2.default.reject(e,n,!1)})}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(n,t,r){return t&&e(n.prototype,t),r&&e(n,r),n}}();exports.eos=eos;var _index=require("../stream/index"),_index2=_interopRequireDefault(_index),_option=require("../data/option"),_option2=_interopRequireDefault(_option),_response=require("./response"),_response2=_interopRequireDefault(_response),_unit=require("../data/unit"),_unit2=_interopRequireDefault(_unit),_tuple=require("../data/tuple"),Parser=function(){function e(n){_classCallCheck(this,e),this.parse=n.bind(this)}return _createClass(e,[{key:"val",value:function(e){return this.parse(_index2.default.ofString(e)).value}},{key:"flatMap",value:function(e){return bind(this,e)}},{key:"map",value:function(n){var t=this;return new e(function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.parse(e,r).map(n)})}},{key:"filter",value:function(n){var t=this;return new e(function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.parse(e,r).filter(n)})}},{key:"match",value:function(e){return this.filter(function(n){return n===e})}},{key:"then",value:function(e){return this.flatMap(function(n){return e.map(function(e){return new _tuple.Tuple([]).append(n).append(e)})})}},{key:"single",value:function(){return this.map(function(e){return e.single()})}},{key:"last",value:function(){return this.map(function(e){return e.last()})}},{key:"first",value:function(){return this.map(function(e){return e.first()})}},{key:"array",value:function(){return this.map(function(e){if(!(0,_tuple.isTuple)(e))throw"array() is called only on TupleParser";return e.array()})}},{key:"thenEos",value:function(){return this.then(eos().drop())}},{key:"eos",value:function(){var n=this;return new e(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return n.parse(e,t).fold(function(n){return e.endOfStream(n.offset)?_response2.default.accept(n.value,n.input,n.offset,!0):_response2.default.reject(n.input,n.offset,n.consumed)},function(e){return _response2.default.reject(e.input,e.offset,e.consumed)})})}},{key:"concat",value:function(e){return this.then(e)}},{key:"drop",value:function(){return this.map(function(){return _tuple.NEUTRAL})}},{key:"thenLeft",value:function(e){return this.then(e.drop())}},{key:"thenRight",value:function(e){return this.drop().then(e)}},{key:"returns",value:function(e){return this.drop().map(function(){return e})}},{key:"or",value:function(e){return choice(this,e)}},{key:"and",value:function(e){return both(this,e)}},{key:"opt",value:function(){return this.map(_option2.default.some).or(returns(_option2.default.none()))}},{key:"rep",value:function(){return repeatable(this,function(){return!0},function(e){return 0!==e})}},{key:"occurrence",value:function(e){return repeatable(this,function(n){return n<e},function(n){return n===e})}},{key:"optrep",value:function(){return repeatable(this,function(){return!0},function(){return!0})}},{key:"chain",value:function(n){var t=this;return new e(function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return n.parse(_index2.default.buffered(_index2.default.ofParser(t,e)),r)})}},{key:"debug",value:function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=function(t){return n?console.log("[debug] : ",e,t):console.log("[debug] : ",e),t};return this.map(t)}}]),e}();exports.default=Parser;
},{"../data/option":2,"../data/tuple":4,"../data/unit":5,"../stream/index":18,"./response":13}],13:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.reject=exports.accept=void 0;var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),_try=require("../data/try.js"),_try2=_interopRequireDefault(_try),ParserResponse=function(){function e(t,r,n){_classCallCheck(this,e),this.input=t,this.offset=r,this.consumed=n}return _createClass(e,[{key:"isAccepted",value:function(){return this.fold(function(){return!0},function(){return!1})}},{key:"toTry",value:function(){return this.fold(function(e){return _try2.default.success(e.value)},function(e){return _try2.default.failure(new Error("parser error at "+e.offset))})}},{key:"isEos",value:function(){return!1}},{key:"getOffset",value:function(){return this.offset}},{key:"location",value:function(){return this.input.location(this.getOffset())}}]),e}(),Reject=function(e){function t(e,r,n){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,r,n))}return _inherits(t,e),_createClass(t,[{key:"fold",value:function(e,t){return t(this)}},{key:"map",value:function(){return this}},{key:"flatMap",value:function(){return this}},{key:"filter",value:function(){return new t(this.input,this.offset,!1)}}]),t}(ParserResponse),Accept=function(e){function t(e,r,n,o){_classCallCheck(this,t);var u=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,r,n,o));return u.value=e,u}return _inherits(t,e),_createClass(t,[{key:"isEos",value:function(){return this.input.endOfStream(this.offset)}},{key:"fold",value:function(e){return e(this)}},{key:"map",value:function(e){return new t(e(this.value),this.input,this.offset,this.consumed)}},{key:"flatMap",value:function(e){return e(this.value)}},{key:"filter",value:function(e){return e(this.value)?this:new Reject(this.input,this.offset,!1)}}]),t}(ParserResponse),accept=function(e,t,r,n){return new Accept(e,t,r,n)},reject=function(e,t,r){return new Reject(e,t,r)},response={accept:accept,reject:reject};exports.default=response,exports.accept=accept,exports.reject=reject;
},{"../data/try.js":3}],14:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});var _jsonparser=require("./json/jsonparser"),_jsonparser2=_interopRequireDefault(_jsonparser);exports.default={jsonParser:_jsonparser2.default};
},{"./json/jsonparser":15}],15:[function(require,module,exports){
;function tkKey(e){return genlex.get(e)}function arrayOrNothing(){var e=[],n=function(n){e=e.concat(n)},r=function(){return e},t=_index.F.lazy(expr).map(n);return t.then(tkKey(",").thenRight(t).optrep().array()).opt().map(r)}function objectOrNothing(){var e={},n=function(n){e[n[0]]=n[1]},r=function(){return e},t=string.thenLeft(tkKey(":")).then(_index.F.lazy(expr)).array().map(n);return t.thenLeft(tkKey(",").then(t).optrep()).array().opt().map(r)}function expr(){return number.or(string).or(tkKey("null").returns(null)).or(tkKey("true").returns(!0)).or(tkKey("false").returns(!1)).or(tkKey("[").thenRight(_index.F.lazy(arrayOrNothing)).thenLeft(tkKey("]")).single()).or(tkKey("{").thenRight(_index.F.lazy(objectOrNothing)).thenLeft(tkKey("}")).single())}Object.defineProperty(exports,"__esModule",{value:!0});var _genlex=require("../../genlex/genlex"),_index=require("../../parsec/index"),_parsec=require("../../parsec"),genlex=new _genlex.GenLex;genlex.keywords(["null","false","true","{","}","[","]",":",","]);var number=genlex.tokenize(_parsec.N.number(),"number",1100),string=genlex.tokenize(_parsec.C.stringLiteral(),"string",800);exports.default={parse:function(e){return genlex.use(expr().thenLeft(_index.F.eos()).single()).parse(e,0)}};
},{"../../genlex/genlex":6,"../../parsec":10,"../../parsec/index":10}],16:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function factory(e){return new ArrayStream(e)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),_stream=require("./stream"),_stream2=_interopRequireDefault(_stream),ArrayStream=function(e){function t(e){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.source=e,r}return _inherits(t,e),_createClass(t,[{key:"endOfStream",value:function(e){return e>=this.source.length}},{key:"unsafeGet",value:function(e){return this.source[e]}}]),t}(_stream2.default);exports.default=factory;
},{"./stream":20}],17:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function factory(e){return new BufferedStream(e)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),_stream=require("./stream"),_stream2=_interopRequireDefault(_stream),BufferedStream=function(e){function t(e){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.source=e,r.cache={},r}return _inherits(t,e),_createClass(t,[{key:"location",value:function(e){return this.source.location(e)}},{key:"endOfStream",value:function(e){return this.source.endOfStream(e)}},{key:"get",value:function(e){var t=this;return t.cache[e]||(t.cache[e]=t.source.get(e)),t.cache[e]}}]),t}(_stream2.default);exports.default=factory;
},{"./stream":20}],18:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});var _stringstream=require("./stringstream"),_stringstream2=_interopRequireDefault(_stringstream),_arraystream=require("./arraystream"),_arraystream2=_interopRequireDefault(_arraystream),_parserstream=require("./parserstream"),_parserstream2=_interopRequireDefault(_parserstream),_bufferedstream=require("./bufferedstream"),_bufferedstream2=_interopRequireDefault(_bufferedstream);exports.default={ofString:_stringstream2.default,ofArray:_arraystream2.default,ofParser:_parserstream2.default,buffered:_bufferedstream2.default};
},{"./arraystream":16,"./bufferedstream":17,"./parserstream":19,"./stringstream":21}],19:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function factory(e,t){return new ParserStream(e,t)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),_stream=require("./stream"),_stream2=_interopRequireDefault(_stream),_option=require("../data/option"),_option2=_interopRequireDefault(_option),ParserStream=function(e){function t(e,r){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.source=e,n.input=r,n.offsets=[0],n}return _inherits(t,e),_createClass(t,[{key:"getOffset",value:function(e){return e<this.offsets.length?_option2.default.some(this.offsets[e]):_option2.default.none()}},{key:"location",value:function(e){if(0===e)return 0;var t=this.getOffset(e);if(t.isPresent())return this.input.location(t.get());throw"No location has been found yet for index "+e}},{key:"endOfStream",value:function(e){var t=this.getOffset(e);if(t.isPresent())return this.input.endOfStream(t.get());var r=this.offsets[this.offsets.length-1];return this.input.endOfStream(r+1)}},{key:"unsafeGet",value:function(e){var t=void 0,r=this.getOffset(e);if(!r.isPresent())throw new Error;t=r.get();var n=this.source.parse(this.input,t);if(n.isAccepted())return this.offsets.push(n.offset),n.value;throw new Error}}]),t}(_stream2.default);exports.default=factory;
},{"../data/option":2,"./stream":20}],20:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),_try=require("../data/try"),_try2=_interopRequireDefault(_try),Stream=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"location",value:function(e){return e}},{key:"get",value:function(e){try{return this.endOfStream(e)?_try2.default.failure(new Error("End of stream reached")):_try2.default.success(this.unsafeGet(e))}catch(e){return _try2.default.failure(e)}}},{key:"subStreamAt",value:function(e,t){for(var r=0;r<e.length;r++){var n=this.get(r+t);if(!n.isSuccess()||n.success()!==e[r])return!1}return!0}}]),e}();exports.default=Stream;
},{"../data/try":3}],21:[function(require,module,exports){
;function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function factory(e){return new StringStream(e)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),_stream=require("./stream"),_stream2=_interopRequireDefault(_stream),StringStream=function(e){function t(e){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.source=e,r}return _inherits(t,e),_createClass(t,[{key:"endOfStream",value:function(e){return this.source.length<=e}},{key:"unsafeGet",value:function(e){return this.source.charAt(e)}}]),t}(_stream2.default);exports.default=factory;
},{"./stream":20}]},{},[7])(7)
});