Socket
Socket
Sign inDemoInstall

parsimmon

Package Overview
Dependencies
Maintainers
3
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

parsimmon - npm Package Compare versions

Comparing version 1.6.2 to 1.6.4

2

build/parsimmon.umd.min.js

@@ -1,1 +0,1 @@

!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Parsimmon=t():n.Parsimmon=t()}(this,function(){return function(n){function t(e){if(r[e])return r[e].exports;var u=r[e]={i:e,l:!1,exports:{}};return n[e].call(u.exports,u,u.exports,t),u.l=!0,u.exports}var r={};return t.m=n,t.c=r,t.i=function(n){return n},t.d=function(n,r,e){t.o(n,r)||Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:e})},t.n=function(n){var r=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(r,"a",r),r},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="",t(t.s=0)}([function(n,t,r){"use strict";function e(n){if(!(this instanceof e))return new e(n);this._=n}function u(n){return n instanceof e}function i(n){return"[object Array]"==={}.toString.call(n)}function o(n,t){return{status:!0,index:n,value:t,furthest:-1,expected:[]}}function a(n,t){return{status:!1,index:-1,value:null,furthest:n,expected:[t]}}function f(n,t){if(!t)return n;if(n.furthest>t.furthest)return n;var r=n.furthest===t.furthest?s(n.expected,t.expected):t.expected;return{status:n.status,index:n.index,value:n.value,furthest:t.furthest,expected:r}}function c(n,t){var r=n.slice(0,t).split("\n");return{offset:t,line:r.length,column:r[r.length-1].length+1}}function s(n,t){var r=n.length,e=t.length;if(0===r)return t;if(0===e)return n;for(var u={},i=0;i<r;i++)u[n[i]]=!0;for(var o=0;o<e;o++)u[t[o]]=!0;var a=[];for(var f in u)u.hasOwnProperty(f)&&a.push(f);return a.sort(),a}function l(n){if(!u(n))throw new Error("not a parser: "+n)}function h(n){if(!i(n))throw new Error("not an array: "+n)}function p(n){if("number"!=typeof n)throw new Error("not a number: "+n)}function d(n){if(!(n instanceof RegExp))throw new Error("not a regexp: "+n);for(var t=w(n),r=0;r<t.length;r++){var e=t.charAt(r);if("i"!==e&&"m"!==e&&"u"!==e)throw new Error('unsupported regexp flag "'+e+'": '+n)}}function v(n){if("function"!=typeof n)throw new Error("not a function: "+n)}function g(n){if("string"!=typeof n)throw new Error("not a string: "+n)}function m(n){return 1===n.length?n[0]:"one of "+n.join(", ")}function y(n,t){var r=t.index,e=r.offset;if(e===n.length)return", got the end of the input";var u=e>0?"'...":"'",i=n.length-e>12?"...'":"'";return" at line "+r.line+" column "+r.column+", got "+u+n.slice(e,e+12)+i}function x(n,t){return"expected "+m(t.expected)+y(n,t)}function w(n){var t=""+n;return t.slice(t.lastIndexOf("/")+1)}function E(n){return RegExp("^(?:"+n.source+")",w(n))}function _(){for(var n=[].slice.call(arguments),t=n.length,r=0;r<t;r+=1)l(n[r]);return e(function(r,e){for(var u,i=new Array(t),a=0;a<t;a+=1){if(u=f(n[a]._(r,e),u),!u.status)return u;i[a]=u.value,e=u.index}return f(o(e,i),u)})}function b(){for(var n={},t=0,r=[].slice.call(arguments),a=r.length,c=0;c<a;c+=1){var s=r[c];if(!u(s)){if(i(s)){if(2===s.length&&"string"==typeof s[0]&&u(s[1])){var l=s[0];if(n[l])throw new Error("seqObj: duplicate key "+l);n[l]=!0,t++;continue}}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(0===t)throw new Error("seqObj expects at least one named parser, found zero");return e(function(n,t){for(var e,u={},c=0;c<a;c+=1){var s,l;if(i(r[c])?(s=r[c][0],l=r[c][1]):(s=null,l=r[c]),e=f(l._(n,t),e),!e.status)return e;s&&(u[s]=e.value),t=e.index}return f(o(t,u),e)})}function O(){var n=[].slice.call(arguments);if(0===n.length)throw new Error("seqMap needs at least one argument");var t=n.pop();return v(t),_.apply(null,n).map(function(n){return t.apply(null,n)})}function k(n){var t={};for(var r in n)({}).hasOwnProperty.call(n,r)&&function(r){var e=function(){return n[r](t)};t[r]=G(e)}(r);return t}function j(){var n=[].slice.call(arguments),t=n.length;if(0===t)return F("zero alternates");for(var r=0;r<t;r+=1)l(n[r]);return e(function(t,r){for(var e,u=0;u<n.length;u+=1)if(e=f(n[u]._(t,r),e),e.status)return e;return e})}function P(n,t){return q(n,t).or(z([]))}function q(n,t){l(n),l(t);var r=t.then(n).many();return n.chain(function(n){return r.map(function(t){return[n].concat(t)})})}function A(n){g(n);var t="'"+n+"'";return e(function(r,e){var u=e+n.length,i=r.slice(e,u);return i===n?o(u,i):a(e,t)})}function B(n,t){d(n),arguments.length>=2?p(t):t=0;var r=E(n),u=""+n;return e(function(n,e){var i=r.exec(n.slice(e));if(i){if(0<=t&&t<=i.length){var f=i[0],c=i[t];return o(e+f.length,c)}return a(e,"valid match group (0 to "+i.length+") in "+u)}return a(e,u)})}function z(n){return e(function(t,r){return o(r,n)})}function F(n){return e(function(t,r){return a(r,n)})}function M(n){if(u(n))return e(function(t,r){var e=n._(t,r);return e.index=r,e.value="",e});if("string"==typeof n)return M(A(n));if(n instanceof RegExp)return M(B(n));throw new Error("not a string, regexp, or parser: "+n)}function R(n){return l(n),e(function(t,r){var e=n._(t,r),u=t.slice(r,e.index);return e.status?a(r,'not "'+u+'"'):o(r,null)})}function L(n){return v(n),e(function(t,r){var e=t.charAt(r);return r<t.length&&n(e)?o(r+1,e):a(r,"a character matching "+n)})}function S(n){return L(function(t){return n.indexOf(t)>=0})}function W(n){return L(function(t){return n.indexOf(t)<0})}function I(n){return e(n(o,a))}function C(n,t){return L(function(r){return n<=r&&r<=t}).desc(n+"-"+t)}function D(n){return v(n),e(function(t,r){for(var e=r;e<t.length&&n(t.charAt(e));)e++;return o(e,t.slice(r,e))})}function G(n,t){arguments.length<2&&(t=n,n=void 0);var r=e(function(n,e){return r._=t()._,r._(n,e)});return n?r.desc(n):r}function H(){return F("fantasy-land/empty")}var J=e.prototype;J.parse=function(n){if("string"!=typeof n)throw new Error(".parse must be called with a string as its argument");var t=this.skip(T)._(n,0);return t.status?{status:!0,value:t.value}:{status:!1,index:c(n,t.furthest),expected:t.expected}},J.tryParse=function(n){var t=this.parse(n);if(t.status)return t.value;var r=x(n,t),e=new Error(r);throw e.type="ParsimmonError",e.result=t,e},J.or=function(n){return j(this,n)},J.trim=function(n){return this.wrap(n,n)},J.wrap=function(n,t){return O(n,this,t,function(n,t){return t})},J.thru=function(n){return n(this)},J.then=function(n){return l(n),_(this,n).map(function(n){return n[1]})},J.many=function(){var n=this;return e(function(t,r){for(var e=[],u=void 0;;){if(u=f(n._(t,r),u),!u.status)return f(o(r,e),u);r=u.index,e.push(u.value)}})},J.tie=function(){return this.map(function(n){h(n);for(var t="",r=0;r<n.length;r++)g(n[r]),t+=n[r];return t})},J.times=function(n,t){var r=this;return arguments.length<2&&(t=n),p(n),p(t),e(function(e,u){for(var i=[],a=void 0,c=void 0,s=0;s<n;s+=1){if(a=r._(e,u),c=f(a,c),!a.status)return c;u=a.index,i.push(a.value)}for(;s<t&&(a=r._(e,u),c=f(a,c),a.status);s+=1)u=a.index,i.push(a.value);return f(o(u,i),c)})},J.result=function(n){return this.map(function(){return n})},J.atMost=function(n){return this.times(0,n)},J.atLeast=function(n){return O(this.times(n),this.many(),function(n,t){return n.concat(t)})},J.map=function(n){v(n);var t=this;return e(function(r,e){var u=t._(r,e);return u.status?f(o(u.index,n(u.value)),u):u})},J.skip=function(n){return _(this,n).map(function(n){return n[0]})},J.mark=function(){return O(K,this,K,function(n,t,r){return{start:n,value:t,end:r}})},J.node=function(n){return O(K,this,K,function(t,r,e){return{name:n,value:r,start:t,end:e}})},J.sepBy=function(n){return P(this,n)},J.sepBy1=function(n){return q(this,n)},J.lookahead=function(n){return this.skip(M(n))},J.notFollowedBy=function(n){return this.skip(R(n))},J.desc=function(n){var t=this;return e(function(r,e){var u=t._(r,e);return u.status||(u.expected=[n]),u})},J.fallback=function(n){return this.or(z(n))},J.ap=function(n){return O(n,this,function(n,t){return n(t)})},J.chain=function(n){var t=this;return e(function(r,e){var u=t._(r,e);return u.status?f(n(u.value)._(r,u.index),u):u})},J.concat=J.or,J.empty=H,J.of=z,J["fantasy-land/ap"]=J.ap,J["fantasy-land/chain"]=J.chain,J["fantasy-land/concat"]=J.concat,J["fantasy-land/empty"]=J.empty,J["fantasy-land/of"]=J.of,J["fantasy-land/map"]=J.map;var K=e(function(n,t){return o(t,c(n,t))}),N=e(function(n,t){return t>=n.length?a(t,"any character"):o(t+1,n.charAt(t))}),Q=e(function(n,t){return o(n.length,n.slice(t))}),T=e(function(n,t){return t<n.length?a(t,"EOF"):o(t,null)}),U=B(/[0-9]/).desc("a digit"),V=B(/[0-9]*/).desc("optional digits"),X=B(/[a-z]/i).desc("a letter"),Y=B(/[a-z]*/i).desc("optional letters"),Z=B(/\s*/).desc("optional whitespace"),$=B(/\s+/).desc("whitespace");e.all=Q,e.alt=j,e.any=N,e.createLanguage=k,e.custom=I,e.digit=U,e.digits=V,e.empty=H,e.eof=T,e.fail=F,e.formatError=x,e.index=K,e.isParser=u,e.lazy=G,e.letter=X,e.letters=Y,e.lookahead=M,e.makeFailure=a,e.makeSuccess=o,e.noneOf=W,e.notFollowedBy=R,e.of=z,e.oneOf=S,e.optWhitespace=Z,e.Parser=e,e.range=C,e.regex=B,e.regexp=B,e.sepBy=P,e.sepBy1=q,e.seq=_,e.seqMap=O,e.seqObj=b,e.string=A,e.succeed=z,e.takeWhile=D,e.test=L,e.whitespace=$,e["fantasy-land/empty"]=H,e["fantasy-land/of"]=z,n.exports=e}])});
!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Parsimmon=t():n.Parsimmon=t()}(this,function(){return function(n){function t(e){if(r[e])return r[e].exports;var u=r[e]={i:e,l:!1,exports:{}};return n[e].call(u.exports,u,u.exports,t),u.l=!0,u.exports}var r={};return t.m=n,t.c=r,t.i=function(n){return n},t.d=function(n,r,e){t.o(n,r)||Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:e})},t.n=function(n){var r=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(r,"a",r),r},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="",t(t.s=0)}([function(n,t,r){"use strict";function e(n){if(!(this instanceof e))return new e(n);this._=n}function u(n){return n instanceof e}function i(n){return"[object Array]"==={}.toString.call(n)}function o(n,t){return{status:!0,index:n,value:t,furthest:-1,expected:[]}}function a(n,t){return{status:!1,index:-1,value:null,furthest:n,expected:[t]}}function f(n,t){if(!t)return n;if(n.furthest>t.furthest)return n;var r=n.furthest===t.furthest?s(n.expected,t.expected):t.expected;return{status:n.status,index:n.index,value:n.value,furthest:t.furthest,expected:r}}function c(n,t){var r=n.slice(0,t).split("\n");return{offset:t,line:r.length,column:r[r.length-1].length+1}}function s(n,t){var r=n.length,e=t.length;if(0===r)return t;if(0===e)return n;for(var u={},i=0;i<r;i++)u[n[i]]=!0;for(var o=0;o<e;o++)u[t[o]]=!0;var a=[];for(var f in u)u.hasOwnProperty(f)&&a.push(f);return a.sort(),a}function l(n){if(!u(n))throw new Error("not a parser: "+n)}function h(n){if(!i(n))throw new Error("not an array: "+n)}function p(n){if("number"!=typeof n)throw new Error("not a number: "+n)}function d(n){if(!(n instanceof RegExp))throw new Error("not a regexp: "+n);for(var t=w(n),r=0;r<t.length;r++){var e=t.charAt(r);if("i"!==e&&"m"!==e&&"u"!==e)throw new Error('unsupported regexp flag "'+e+'": '+n)}}function v(n){if("function"!=typeof n)throw new Error("not a function: "+n)}function g(n){if("string"!=typeof n)throw new Error("not a string: "+n)}function y(n){return 1===n.length?n[0]:"one of "+n.join(", ")}function m(n,t){var r=t.index,e=r.offset;if(e===n.length)return", got the end of the input";var u=e>0?"'...":"'",i=n.length-e>12?"...'":"'";return" at line "+r.line+" column "+r.column+", got "+u+n.slice(e,e+12)+i}function x(n,t){return"expected "+y(t.expected)+m(n,t)}function w(n){var t=""+n;return t.slice(t.lastIndexOf("/")+1)}function E(n){return RegExp("^(?:"+n.source+")",w(n))}function _(){for(var n=[].slice.call(arguments),t=n.length,r=0;r<t;r+=1)l(n[r]);return e(function(r,e){for(var u,i=new Array(t),a=0;a<t;a+=1){if(u=f(n[a]._(r,e),u),!u.status)return u;i[a]=u.value,e=u.index}return f(o(e,i),u)})}function b(){for(var n={},t=0,r=[].slice.call(arguments),a=r.length,c=0;c<a;c+=1){var s=r[c];if(!u(s)){if(i(s)){if(2===s.length&&"string"==typeof s[0]&&u(s[1])){var l=s[0];if(n[l])throw new Error("seqObj: duplicate key "+l);n[l]=!0,t++;continue}}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(0===t)throw new Error("seqObj expects at least one named parser, found zero");return e(function(n,t){for(var e,u={},c=0;c<a;c+=1){var s,l;if(i(r[c])?(s=r[c][0],l=r[c][1]):(s=null,l=r[c]),e=f(l._(n,t),e),!e.status)return e;s&&(u[s]=e.value),t=e.index}return f(o(t,u),e)})}function O(){var n=[].slice.call(arguments);if(0===n.length)throw new Error("seqMap needs at least one argument");var t=n.pop();return v(t),_.apply(null,n).map(function(n){return t.apply(null,n)})}function k(n){var t={};for(var r in n)({}).hasOwnProperty.call(n,r)&&function(r){var e=function(){return n[r](t)};t[r]=G(e)}(r);return t}function j(){var n=[].slice.call(arguments),t=n.length;if(0===t)return F("zero alternates");for(var r=0;r<t;r+=1)l(n[r]);return e(function(t,r){for(var e,u=0;u<n.length;u+=1)if(e=f(n[u]._(t,r),e),e.status)return e;return e})}function P(n,t){return q(n,t).or(B([]))}function q(n,t){return l(n),l(t),O(n,t.then(n).many(),function(n,t){return[n].concat(t)})}function z(n){g(n);var t="'"+n+"'";return e(function(r,e){var u=e+n.length,i=r.slice(e,u);return i===n?o(u,i):a(e,t)})}function A(n,t){d(n),arguments.length>=2?p(t):t=0;var r=E(n),u=""+n;return e(function(n,e){var i=r.exec(n.slice(e));if(i){if(0<=t&&t<=i.length){var f=i[0],c=i[t];return o(e+f.length,c)}return a(e,"valid match group (0 to "+i.length+") in "+u)}return a(e,u)})}function B(n){return e(function(t,r){return o(r,n)})}function F(n){return e(function(t,r){return a(r,n)})}function M(n){if(u(n))return e(function(t,r){var e=n._(t,r);return e.index=r,e.value="",e});if("string"==typeof n)return M(z(n));if(n instanceof RegExp)return M(A(n));throw new Error("not a string, regexp, or parser: "+n)}function R(n){return l(n),e(function(t,r){var e=n._(t,r),u=t.slice(r,e.index);return e.status?a(r,'not "'+u+'"'):o(r,null)})}function L(n){return v(n),e(function(t,r){var e=t.charAt(r);return r<t.length&&n(e)?o(r+1,e):a(r,"a character matching "+n)})}function S(n){return L(function(t){return n.indexOf(t)>=0})}function W(n){return L(function(t){return n.indexOf(t)<0})}function I(n){return e(n(o,a))}function C(n,t){return L(function(r){return n<=r&&r<=t}).desc(n+"-"+t)}function D(n){return v(n),e(function(t,r){for(var e=r;e<t.length&&n(t.charAt(e));)e++;return o(e,t.slice(r,e))})}function G(n,t){arguments.length<2&&(t=n,n=void 0);var r=e(function(n,e){return r._=t()._,r._(n,e)});return n?r.desc(n):r}function H(){return F("fantasy-land/empty")}var J=e.prototype;J.parse=function(n){if("string"!=typeof n)throw new Error(".parse must be called with a string as its argument");var t=this.skip(T)._(n,0);return t.status?{status:!0,value:t.value}:{status:!1,index:c(n,t.furthest),expected:t.expected}},J.tryParse=function(n){var t=this.parse(n);if(t.status)return t.value;var r=x(n,t),e=new Error(r);throw e.type="ParsimmonError",e.result=t,e},J.or=function(n){return j(this,n)},J.trim=function(n){return this.wrap(n,n)},J.wrap=function(n,t){return O(n,this,t,function(n,t){return t})},J.thru=function(n){return n(this)},J.then=function(n){return l(n),_(this,n).map(function(n){return n[1]})},J.many=function(){var n=this;return e(function(t,r){for(var e=[],u=void 0;;){if(u=f(n._(t,r),u),!u.status)return f(o(r,e),u);if(r===u.index)throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");r=u.index,e.push(u.value)}})},J.tie=function(){return this.map(function(n){h(n);for(var t="",r=0;r<n.length;r++)g(n[r]),t+=n[r];return t})},J.times=function(n,t){var r=this;return arguments.length<2&&(t=n),p(n),p(t),e(function(e,u){for(var i=[],a=void 0,c=void 0,s=0;s<n;s+=1){if(a=r._(e,u),c=f(a,c),!a.status)return c;u=a.index,i.push(a.value)}for(;s<t&&(a=r._(e,u),c=f(a,c),a.status);s+=1)u=a.index,i.push(a.value);return f(o(u,i),c)})},J.result=function(n){return this.map(function(){return n})},J.atMost=function(n){return this.times(0,n)},J.atLeast=function(n){return O(this.times(n),this.many(),function(n,t){return n.concat(t)})},J.map=function(n){v(n);var t=this;return e(function(r,e){var u=t._(r,e);return u.status?f(o(u.index,n(u.value)),u):u})},J.skip=function(n){return _(this,n).map(function(n){return n[0]})},J.mark=function(){return O(K,this,K,function(n,t,r){return{start:n,value:t,end:r}})},J.node=function(n){return O(K,this,K,function(t,r,e){return{name:n,value:r,start:t,end:e}})},J.sepBy=function(n){return P(this,n)},J.sepBy1=function(n){return q(this,n)},J.lookahead=function(n){return this.skip(M(n))},J.notFollowedBy=function(n){return this.skip(R(n))},J.desc=function(n){var t=this;return e(function(r,e){var u=t._(r,e);return u.status||(u.expected=[n]),u})},J.fallback=function(n){return this.or(B(n))},J.ap=function(n){return O(n,this,function(n,t){return n(t)})},J.chain=function(n){var t=this;return e(function(r,e){var u=t._(r,e);return u.status?f(n(u.value)._(r,u.index),u):u})},J.concat=J.or,J.empty=H,J.of=B,J["fantasy-land/ap"]=J.ap,J["fantasy-land/chain"]=J.chain,J["fantasy-land/concat"]=J.concat,J["fantasy-land/empty"]=J.empty,J["fantasy-land/of"]=J.of,J["fantasy-land/map"]=J.map;var K=e(function(n,t){return o(t,c(n,t))}),N=e(function(n,t){return t>=n.length?a(t,"any character"):o(t+1,n.charAt(t))}),Q=e(function(n,t){return o(n.length,n.slice(t))}),T=e(function(n,t){return t<n.length?a(t,"EOF"):o(t,null)}),U=A(/[0-9]/).desc("a digit"),V=A(/[0-9]*/).desc("optional digits"),X=A(/[a-z]/i).desc("a letter"),Y=A(/[a-z]*/i).desc("optional letters"),Z=A(/\s*/).desc("optional whitespace"),$=A(/\s+/).desc("whitespace");e.all=Q,e.alt=j,e.any=N,e.createLanguage=k,e.custom=I,e.digit=U,e.digits=V,e.empty=H,e.eof=T,e.fail=F,e.formatError=x,e.index=K,e.isParser=u,e.lazy=G,e.letter=X,e.letters=Y,e.lookahead=M,e.makeFailure=a,e.makeSuccess=o,e.noneOf=W,e.notFollowedBy=R,e.of=B,e.oneOf=S,e.optWhitespace=Z,e.Parser=e,e.range=C,e.regex=A,e.regexp=A,e.sepBy=P,e.sepBy1=q,e.seq=_,e.seqMap=O,e.seqObj=b,e.string=z,e.succeed=B,e.takeWhile=D,e.test=L,e.whitespace=$,e["fantasy-land/empty"]=H,e["fantasy-land/of"]=B,n.exports=e}])});

@@ -0,1 +1,9 @@

## version 1.6.4 (2018-01-01)
* Fixes `parser.many()` to throw an error if it detects an infinite parse loop.
## version 1.6.3 (2018-01-01)
* Unpublished due to a Travis CI build issues.
## version 1.6.2 (2017-07-08)

@@ -2,0 +10,0 @@

{
"name": "parsimmon",
"version": "1.6.2",
"version": "1.6.4",
"description": "A monadic LL(infinity) parser combinator library",
"keywords": [
"parsing",
"parse",
"parser combinators"
],
"keywords": ["parsing", "parse", "parsers", "parser combinators"],
"author": "Jeanine Adkisson <jneen at jneen dot net>",
"contributors": [
"Brian Mock <brian@mockbrian.com>"
],
"repository": "git://github.com/jneen/parsimmon",
"files": [
"src",
"build"
],
"contributors": ["Brian Mock <brian@mockbrian.com>"],
"repository": "https://github.com/jneen/parsimmon",
"files": ["src", "build"],
"main": "src/parsimmon.js",

@@ -26,4 +17,4 @@ "browser": "build/parsimmon.umd.min.js",

"mocha": "^3.4.2",
"ncp": "^2.0.0",
"nyc": "^11.0.3",
"prettier": "1.7.4",
"rimraf": "^2.5.4",

@@ -37,11 +28,13 @@ "webpack": "^2.6.1"

"prepublishOnly": "npm run test && npm run build",
"lint": "eslint src test",
"lint:fix": "eslint --fix src test",
"lint":
"prettier --list-different '{examples,src,test}/**/*.js' webpack.config.js && eslint examples src test webpack.config.js",
"lint:fix":
"prettier --write '{examples,src,test}/**/*.js' webpack.config.js && eslint --fix examples src test webpack.config.js",
"precoverage": "npm run test",
"coverage": "nyc report --reporter=text-lcov | coveralls",
"pretest": "npm run lint",
"test": "nyc --reporter=lcov npm run test:mocha",
"test:mocha": "mocha -i src --ui tdd --reporter dot test/setup.js test/core/*.test.js test/laws/*.test.js",
"watch:test": "mocha --ui tdd --reporter min --watch test/setup.js test/core/*.test.js test/laws/*.test.js"
"test": "nyc --reporter=lcov --reporter=text-summary npm run test:mocha",
"test:mocha": "mocha --reporter dot",
"test:watch": "mocha --reporter min --watch"
}
}

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -19,3 +19,3 @@ function Parsimmon(action) {

function isArray(x) {
return {}.toString.call(x) === '[object Array]';
return {}.toString.call(x) === "[object Array]";
}

@@ -50,5 +50,6 @@

}
var expected = (result.furthest === last.furthest)
? unsafeUnion(result.expected, last.expected)
: last.expected;
var expected =
result.furthest === last.furthest
? unsafeUnion(result.expected, last.expected)
: last.expected;
return {

@@ -64,3 +65,3 @@ status: result.status,

function makeLineColumnIndex(input, i) {
var lines = input.slice(0, i).split('\n');
var lines = input.slice(0, i).split("\n");
// Note that unlike the character offset, the line and column offsets are

@@ -111,3 +112,3 @@ // 1-based.

if (!isParser(p)) {
throw new Error('not a parser: ' + p);
throw new Error("not a parser: " + p);
}

@@ -119,3 +120,3 @@ }

if (!isArray(x)) {
throw new Error('not an array: ' + x);
throw new Error("not an array: " + x);
}

@@ -125,4 +126,4 @@ }

function assertNumber(x) {
if (typeof x !== 'number') {
throw new Error('not a number: ' + x);
if (typeof x !== "number") {
throw new Error("not a number: " + x);
}

@@ -133,3 +134,3 @@ }

if (!(x instanceof RegExp)) {
throw new Error('not a regexp: '+x);
throw new Error("not a regexp: " + x);
}

@@ -142,3 +143,3 @@ var f = flags(x);

// future, this will need to be revisited.
if (c !== 'i' && c !== 'm' && c !== 'u') {
if (c !== "i" && c !== "m" && c !== "u") {
throw new Error('unsupported regexp flag "' + c + '": ' + x);

@@ -150,4 +151,4 @@ }

function assertFunction(x) {
if (typeof x !== 'function') {
throw new Error('not a function: ' + x);
if (typeof x !== "function") {
throw new Error("not a function: " + x);
}

@@ -157,4 +158,4 @@ }

function assertString(x) {
if (typeof x !== 'string') {
throw new Error('not a string: ' + x);
if (typeof x !== "string") {
throw new Error("not a string: " + x);
}

@@ -167,3 +168,3 @@ }

}
return 'one of ' + expected.join(', ');
return "one of " + expected.join(", ");
}

@@ -175,23 +176,29 @@

if (i === input.length) {
return ', got the end of the input';
return ", got the end of the input";
}
var prefix = (i > 0 ? '\'...' : '\'');
var suffix = (input.length - i > 12 ? '...\'' : '\'');
return ' at line ' + index.line + ' column ' + index.column
+ ', got ' + prefix + input.slice(i, i + 12) + suffix;
var prefix = i > 0 ? "'..." : "'";
var suffix = input.length - i > 12 ? "...'" : "'";
return (
" at line " +
index.line +
" column " +
index.column +
", got " +
prefix +
input.slice(i, i + 12) +
suffix
);
}
function formatError(input, error) {
return 'expected ' +
formatExpected(error.expected) +
formatGot(input, error);
return "expected " + formatExpected(error.expected) + formatGot(input, error);
}
function flags(re) {
var s = '' + re;
return s.slice(s.lastIndexOf('/') + 1);
var s = "" + re;
return s.slice(s.lastIndexOf("/") + 1);
}
function anchoredRegexp(re) {
return RegExp('^(?:' + re.source + ')', flags(re));
return RegExp("^(?:" + re.source + ")", flags(re));
}

@@ -234,9 +241,7 @@

var isWellFormed =
p.length === 2 &&
typeof p[0] === 'string' &&
isParser(p[1]);
p.length === 2 && typeof p[0] === "string" && isParser(p[1]);
if (isWellFormed) {
var key = p[0];
if (seenKeys[key]) {
throw new Error('seqObj: duplicate key ' + key);
throw new Error("seqObj: duplicate key " + key);
}

@@ -249,8 +254,7 @@ seenKeys[key] = true;

throw new Error(
'seqObj arguments must be parsers or ' +
'[string, parser] array pairs.'
"seqObj arguments must be parsers or [string, parser] array pairs."
);
}
if (totalKeys === 0) {
throw new Error('seqObj expects at least one named parser, found zero');
throw new Error("seqObj expects at least one named parser, found zero");
}

@@ -286,3 +290,3 @@ return Parsimmon(function(input, i) {

if (args.length === 0) {
throw new Error('seqMap needs at least one argument');
throw new Error("seqMap needs at least one argument");
}

@@ -306,3 +310,3 @@ var mapper = args.pop();

language[key] = lazy(func);
}(key));
})(key);
}

@@ -317,3 +321,3 @@ }

if (numParsers === 0) {
return fail('zero alternates');
return fail("zero alternates");
}

@@ -344,6 +348,4 @@ for (var j = 0; j < numParsers; j += 1) {

var pairs = separator.then(parser).many();
return parser.chain(function(r) {
return pairs.map(function(rs) {
return [r].concat(rs);
});
return seqMap(parser, pairs, function(r, rs) {
return [r].concat(rs);
});

@@ -355,4 +357,4 @@ }

_.parse = function(input) {
if (typeof input !== 'string') {
throw new Error('.parse must be called with a string as its argument');
if (typeof input !== "string") {
throw new Error(".parse must be called with a string as its argument");
}

@@ -382,3 +384,3 @@ var result = this.skip(eof)._(input, 0);

var err = new Error(msg);
err.type = 'ParsimmonError';
err.type = "ParsimmonError";
err.result = result;

@@ -398,10 +400,5 @@ throw err;

_.wrap = function(leftParser, rightParser) {
return seqMap(
leftParser,
this,
rightParser,
function(left, middle) {
return middle;
}
);
return seqMap(leftParser, this, rightParser, function(left, middle) {
return middle;
});
};

@@ -415,3 +412,5 @@

assertParser(next);
return seq(this, next).map(function(results) { return results[1]; });
return seq(this, next).map(function(results) {
return results[1];
});
};

@@ -429,2 +428,8 @@

if (result.status) {
if (i === result.index) {
throw new Error(
"infinite loop detected in .many() parser --- calling .many() on " +
"a parser which can accept zero characters is usually the cause"
);
}
i = result.index;

@@ -442,3 +447,3 @@ accum.push(result.value);

assertArray(args);
var s = '';
var s = "";
for (var i = 0; i < args.length; i++) {

@@ -516,3 +521,5 @@ assertString(args[i]);

_.skip = function(next) {
return seq(this, next).map(function(results) { return results[0]; });
return seq(this, next).map(function(results) {
return results[0];
});
};

@@ -594,3 +601,3 @@

assertString(str);
var expected = '\'' + str + '\'';
var expected = "'" + str + "'";
return Parsimmon(function(input, i) {

@@ -615,3 +622,3 @@ var j = i + str.length;

var anchored = anchoredRegexp(re);
var expected = '' + re;
var expected = "" + re;
return Parsimmon(function(input, i) {

@@ -626,3 +633,3 @@ var match = anchored.exec(input.slice(i));

var message =
'valid match group (0 to ' + match.length + ') in ' + expected;
"valid match group (0 to " + match.length + ") in " + expected;
return makeFailure(i, message);

@@ -651,6 +658,6 @@ }

result.index = i;
result.value = '';
result.value = "";
return result;
});
} else if (typeof x === 'string') {
} else if (typeof x === "string") {
return lookahead(string(x));

@@ -660,3 +667,3 @@ } else if (x instanceof RegExp) {

}
throw new Error('not a string, regexp, or parser: ' + x);
throw new Error("not a string, regexp, or parser: " + x);
}

@@ -682,3 +689,3 @@

} else {
return makeFailure(i, 'a character matching ' + predicate);
return makeFailure(i, "a character matching " + predicate);
}

@@ -708,3 +715,3 @@ });

return begin <= ch && ch <= end;
}).desc(begin + '-' + end);
}).desc(begin + "-" + end);
}

@@ -745,3 +752,3 @@

function empty() {
return fail('fantasy-land/empty');
return fail("fantasy-land/empty");
}

@@ -752,8 +759,8 @@

_.of = succeed;
_['fantasy-land/ap'] = _.ap;
_['fantasy-land/chain'] = _.chain;
_['fantasy-land/concat'] = _.concat;
_['fantasy-land/empty'] = _.empty;
_['fantasy-land/of'] = _.of;
_['fantasy-land/map'] = _.map;
_["fantasy-land/ap"] = _.ap;
_["fantasy-land/chain"] = _.chain;
_["fantasy-land/concat"] = _.concat;
_["fantasy-land/empty"] = _.empty;
_["fantasy-land/of"] = _.of;
_["fantasy-land/map"] = _.map;

@@ -768,3 +775,3 @@ // -*- Base Parsers -*-

if (i >= input.length) {
return makeFailure(i, 'any character');
return makeFailure(i, "any character");
}

@@ -780,3 +787,3 @@ return makeSuccess(i + 1, input.charAt(i));

if (i < input.length) {
return makeFailure(i, 'EOF');
return makeFailure(i, "EOF");
}

@@ -786,8 +793,8 @@ return makeSuccess(i, null);

var digit = regexp(/[0-9]/).desc('a digit');
var digits = regexp(/[0-9]*/).desc('optional digits');
var letter = regexp(/[a-z]/i).desc('a letter');
var letters = regexp(/[a-z]*/i).desc('optional letters');
var optWhitespace = regexp(/\s*/).desc('optional whitespace');
var whitespace = regexp(/\s+/).desc('whitespace');
var digit = regexp(/[0-9]/).desc("a digit");
var digits = regexp(/[0-9]*/).desc("optional digits");
var letter = regexp(/[a-z]/i).desc("a letter");
var letters = regexp(/[a-z]*/i).desc("optional letters");
var optWhitespace = regexp(/\s*/).desc("optional whitespace");
var whitespace = regexp(/\s+/).desc("whitespace");

@@ -832,5 +839,5 @@ Parsimmon.all = all;

Parsimmon.whitespace = whitespace;
Parsimmon['fantasy-land/empty'] = empty;
Parsimmon['fantasy-land/of'] = succeed;
Parsimmon["fantasy-land/empty"] = empty;
Parsimmon["fantasy-land/of"] = succeed;
module.exports = Parsimmon;
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc