Comparing version 2.1.2 to 2.1.4
@@ -1211,3 +1211,3 @@ require=(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){ | ||
var version = '2.1.2'; // replaced from package.js in build | ||
var version = '2.1.4'; // replaced from package.js in build | ||
@@ -1214,0 +1214,0 @@ |
@@ -1,1 +0,1 @@ | ||
require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&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||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";function peg$SyntaxError(message,expected,found,location){this.message=message,this.expected=expected,this.found=found,this.location=location,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(input,options){function peg$literalExpectation(text,ignoreCase){return{type:"literal",text:text,ignoreCase:ignoreCase}}function peg$classExpectation(parts,inverted,ignoreCase){return{type:"class",parts:parts,inverted:inverted,ignoreCase:ignoreCase}}function peg$otherExpectation(description){return{type:"other",description:description}}function peg$computePosDetails(pos){var p,details=peg$posDetailsCache[pos];if(details)return details;for(p=pos-1;!peg$posDetailsCache[p];)p--;for(details={line:(details=peg$posDetailsCache[p]).line,column:details.column};p<pos;)10===input.charCodeAt(p)?(details.line++,details.column=1):details.column++,p++;return peg$posDetailsCache[pos]=details,details}function peg$computeLocation(startPos,endPos){var startPosDetails=peg$computePosDetails(startPos),endPosDetails=peg$computePosDetails(endPos);return{start:{offset:startPos,line:startPosDetails.line,column:startPosDetails.column},end:{offset:endPos,line:endPosDetails.line,column:endPosDetails.column}}}function peg$fail(expected){peg$currPos<peg$maxFailPos||(peg$currPos>peg$maxFailPos&&(peg$maxFailPos=peg$currPos,peg$maxFailExpected=[]),peg$maxFailExpected.push(expected))}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location)}function peg$parseExpression(){var s0,s1,s2;return s0=peg$currPos,s1=peg$parseWhitespace(),s1!==peg$FAILED&&(s2=peg$parseExpList())!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c0(s2)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseForwardArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c2?(s0=peg$c2,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c3)),peg$silentFails--,s0===peg$FAILED&&(peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1)),s0}function peg$parseTwoWayArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c5?(s0=peg$c5,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c6)),peg$silentFails--,s0===peg$FAILED&&(peg$FAILED,0===peg$silentFails&&peg$fail(peg$c4)),s0}function peg$parseArrow(){var s0;return(s0=peg$parseForwardArrow())===peg$FAILED&&(s0=peg$parseTwoWayArrow()),s0}function peg$parseString(){var s0,s2,s3;if(peg$silentFails++,s0=peg$currPos,peg$parseQuoteMark()!==peg$FAILED){for(s2=[],s3=peg$parseChar();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseChar();s2!==peg$FAILED&&(s3=peg$parseQuoteMark())!==peg$FAILED?(peg$savedPos=s0,s0=peg$c8(s2)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&(peg$FAILED,0===peg$silentFails&&peg$fail(peg$c7)),s0}function peg$parseHexDigit(){var s0;return peg$c9.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c10)),s0}function peg$parseChar(){var s0,s2,s3,s4,s5,s6,s7,s8,s9;return(s0=peg$parseUnescaped())===peg$FAILED&&(s0=peg$currPos,peg$parseEscape()!==peg$FAILED?(34===input.charCodeAt(peg$currPos)?(s2=peg$c11,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c13,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c14)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c15,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c16)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c17,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c18)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c19()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c20,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c21)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c22()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c23,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c24)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c25()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c26,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c27)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c28()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c29,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c30)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c31()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c32,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c33)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c34()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c35,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c36)),s3!==peg$FAILED?(s4=peg$currPos,s5=peg$currPos,(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?s5=s6=[s6,s7,s8,s9]:(peg$currPos=s5,s5=peg$FAILED),(s4=s5!==peg$FAILED?input.substring(s4,peg$currPos):s5)!==peg$FAILED?(peg$savedPos=s2,s2=s3=peg$c37(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c38(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseEscape(){var s0;return 92===input.charCodeAt(peg$currPos)?(s0=peg$c13,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c14)),s0}function peg$parseQuoteMark(){var s0;return 34===input.charCodeAt(peg$currPos)?(s0=peg$c11,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),s0}function peg$parseUnescaped(){var s0;return peg$c39.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c40)),s0}function peg$parseLabel(){var s0,s1,s2;if(peg$silentFails++,s0=peg$currPos,s1=[],peg$c42.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c43)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c42.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c43));else s1=peg$FAILED;return s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c44(s1)),(s0=s1)===peg$FAILED&&(s0=peg$currPos,(s1=peg$parseString())!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c44(s1)),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c41)),s0}function peg$parseDescValue(){return peg$parseString()}function peg$parseDescItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,s1=peg$parseLabel(),s1!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c45,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c46)),s2!==peg$FAILED&&(s3=peg$parseDescValue())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c47,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),s4!==peg$FAILED?s0=s1=[s1,s2,s3,s4]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseDescItems(){var s0,s1;if(s0=[],(s1=peg$parseDescItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseDescItem();else s0=peg$FAILED;return s0}function peg$parseArrowDesc(){var s0,s1,s2,s3;return s0=peg$currPos,123===input.charCodeAt(peg$currPos)?(s1=peg$c49,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c50)),s1!==peg$FAILED?((s2=peg$parseDescItems())===peg$FAILED&&(s2=null),s2!==peg$FAILED?(125===input.charCodeAt(peg$currPos)?(s3=peg$c51,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c52)),s3!==peg$FAILED?s0=s1=[s1,s2,s3]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseSubexp(){var s0,s1,s2,s4,s6,s8,s10;return s0=peg$currPos,s1=peg$parseWhitespace(),s1!==peg$FAILED?((s2=peg$parseArrowDesc())===peg$FAILED&&(s2=null),s2!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED&&(s4=peg$parseArrow())!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED?((s6=peg$parseArrowDesc())===peg$FAILED&&(s6=null),s6!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED&&(s8=peg$parseLabel())!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED?((s10=peg$parseSubexp())===peg$FAILED&&(s10=null),s10!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c53(s2,s4,s6,s8,s10)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseExp(){var s0,s1,s2,s4;return s0=peg$currPos,s1=peg$parseLabel(),s1!==peg$FAILED&&(s2=peg$parseSubexp())!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c47,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),s4!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c54(s1,s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseExpList(){var s0,s1;for(s0=[],s1=peg$parseExp();s1!==peg$FAILED;)s0.push(s1),s1=peg$parseExp();return s0}function peg$parseWhitespace(){var s0,s1;for(peg$silentFails++,s0=[],peg$c56.test(input.charAt(peg$currPos))?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c57));s1!==peg$FAILED;)s0.push(s1),peg$c56.test(input.charAt(peg$currPos))?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c57));return peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c55)),s0}options=void 0!==options?options:{};var peg$result,peg$FAILED={},peg$startRuleFunctions={Expression:peg$parseExpression},peg$startRuleFunction=peg$parseExpression,peg$c0=function(e){return e},peg$c1=peg$otherExpectation("forward arrow"),peg$c2="->",peg$c3=peg$literalExpectation("->",!1),peg$c4=peg$otherExpectation("two way arrow"),peg$c5="<->",peg$c6=peg$literalExpectation("<->",!1),peg$c7=peg$otherExpectation("string"),peg$c8=function(chars){return chars.join("")},peg$c9=/^[0-9a-fA-F]/,peg$c10=peg$classExpectation([["0","9"],["a","f"],["A","F"]],!1,!1),peg$c11='"',peg$c12=peg$literalExpectation('"',!1),peg$c13="\\",peg$c14=peg$literalExpectation("\\",!1),peg$c15="/",peg$c16=peg$literalExpectation("/",!1),peg$c17="b",peg$c18=peg$literalExpectation("b",!1),peg$c19=function(){return"\b"},peg$c20="f",peg$c21=peg$literalExpectation("f",!1),peg$c22=function(){return"\f"},peg$c23="n",peg$c24=peg$literalExpectation("n",!1),peg$c25=function(){return"\n"},peg$c26="r",peg$c27=peg$literalExpectation("r",!1),peg$c28=function(){return"\r"},peg$c29="t",peg$c30=peg$literalExpectation("t",!1),peg$c31=function(){return"\t"},peg$c32="v",peg$c33=peg$literalExpectation("v",!1),peg$c34=function(){return"\v"},peg$c35="u",peg$c36=peg$literalExpectation("u",!1),peg$c37=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c38=function(Sequence){return Sequence},peg$c39=/^[ -!#-[\]-\u10FFFF]/,peg$c40=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],!1,!1),peg$c41=peg$otherExpectation("label"),peg$c42=/^[0-9a-zA-Z.+\-_&()%$#@!?<>,:;']/,peg$c43=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","-","_","&","(",")","%","$","#","@","!","?","<",">",",",":",";","'"],!1,!1),peg$c44=function(text){return text.join("")},peg$c45=":",peg$c46=peg$literalExpectation(":",!1),peg$c47=";",peg$c48=peg$literalExpectation(";",!1),peg$c49="{",peg$c50=peg$literalExpectation("{",!1),peg$c51="}",peg$c52=peg$literalExpectation("}",!1),peg$c53=function(ldesc,arrow,rdesc,label,tail){return{kind:arrow,to:label,se:tail===[]?void 0:tail}},peg$c54=function(label,se){return{from:label,se:se===[]?void 0:se}},peg$c55=peg$otherExpectation("whitespace"),peg$c56=/^[ \t\n\r\x0B]/,peg$c57=peg$classExpectation([" ","\t","\n","\r","\v"],!1,!1),peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0;if("startRule"in options){if(!(options.startRule in peg$startRuleFunctions))throw new Error("Can't start parsing from rule \""+options.startRule+'".');peg$startRuleFunction=peg$startRuleFunctions[options.startRule]}if((peg$result=peg$startRuleFunction())!==peg$FAILED&&peg$currPos===input.length)return peg$result;throw peg$result!==peg$FAILED&&peg$currPos<input.length&&peg$fail({type:"end"}),peg$buildStructuredError(peg$maxFailExpected,peg$maxFailPos<input.length?input.charAt(peg$maxFailPos):null,peg$maxFailPos<input.length?peg$computeLocation(peg$maxFailPos,peg$maxFailPos+1):peg$computeLocation(peg$maxFailPos,peg$maxFailPos))}!function(child,parent){function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor}(peg$SyntaxError,Error),peg$SyntaxError.buildMessage=function(expected,found){function hex(ch){return ch.charCodeAt(0).toString(16).toUpperCase()}function literalEscape(s){return s.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(ch){return"\\x0"+hex(ch)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(ch){return"\\x"+hex(ch)})}function classEscape(s){return s.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(ch){return"\\x0"+hex(ch)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(ch){return"\\x"+hex(ch)})}function describeExpectation(expectation){return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation)}var DESCRIBE_EXPECTATION_FNS={literal:function(expectation){return'"'+literalEscape(expectation.text)+'"'},class:function(expectation){var i,escapedParts="";for(i=0;i<expectation.parts.length;i++)escapedParts+=expectation.parts[i]instanceof Array?classEscape(expectation.parts[i][0])+"-"+classEscape(expectation.parts[i][1]):classEscape(expectation.parts[i]);return"["+(expectation.inverted?"^":"")+escapedParts+"]"},any:function(expectation){return"any character"},end:function(expectation){return"end of input"},other:function(expectation){return expectation.description}};return"Expected "+function(expected){var i,j,descriptions=new Array(expected.length);for(i=0;i<expected.length;i++)descriptions[i]=describeExpectation(expected[i]);if(descriptions.sort(),descriptions.length>0){for(i=1,j=1;i<descriptions.length;i++)descriptions[i-1]!==descriptions[i]&&(descriptions[j]=descriptions[i],j++);descriptions.length=j}switch(descriptions.length){case 1:return descriptions[0];case 2:return descriptions[0]+" or "+descriptions[1];default:return descriptions.slice(0,-1).join(", ")+", or "+descriptions[descriptions.length-1]}}(expected)+" but "+function(found){return found?'"'+literalEscape(found)+'"':"end of input"}(found)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse}},{}],2:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},rand_select=function(options){var probability_property=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"probability";if(!Array.isArray(options))throw new TypeError("options must be a non-empty array of objects");if("object"!==_typeof(options[0]))throw new TypeError("options must be a non-empty array of objects");for(var rnd=function(cap){return Math.random()*cap}(options.reduce(function(acc,val){return acc+val[probability_property]},0)),cursor=0,cursor_sum=0;(cursor_sum+=options[cursor++][probability_property])<=rnd;);return options[cursor-1]},seq=function(n){return new Array(n).fill(!0).map(function(_,i){return i})},histograph=function(a){return a.sort().reduce(function(m,v){return m.set(v,m.has(v)?m.get(v)+1:1),m},new Map)},sample_select=function(n,options,probability_property){return seq(n).map(function(i){return rand_select(options,probability_property)})},histo_key=function(n,options,probability_property,extract){return histograph(sample_select(n,options,probability_property).map(function(s){return s[extract]}))};exports.seq=seq,exports.histograph=histograph,exports.histo_key=histo_key,exports.rand_select=rand_select,exports.sample_select=sample_select},{}],jssm:[function(require,module,exports){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.histograph=exports.rand_select=exports.seq=exports.machine=exports.version=void 0;var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_jssmUtil=require("./jssm-util.js"),machine=(require("./jssm-dot.js").parse,function(){function machine(_ref){var _this=this,initial_state=_ref.initial_state,_ref$complete=_ref.complete,complete=void 0===_ref$complete?[]:_ref$complete,transitions=_ref.transitions;_classCallCheck(this,machine),this.set_viz_colors(),this._state=initial_state,this._states=new Map,this._edges=[],this._edge_map=new Map,this._named_transitions=new Map,this._actions=new Map,this._reverse_actions=new Map,this._reverse_action_targets=new Map,transitions.map(function(tr){if(void 0===tr.from)throw new Error("transition must define 'from': "+JSON.stringify(tr));if(void 0===tr.to)throw new Error("transition must define 'to': "+JSON.stringify(tr));var cursor_from=_this._states.get(tr.from);void 0===cursor_from&&(_this._new_state({name:tr.from,from:[],to:[],complete:complete.includes(tr.from)}),cursor_from=_this._states.get(tr.from));var cursor_to=_this._states.get(tr.to);if(void 0===cursor_to&&(_this._new_state({name:tr.to,from:[],to:[],complete:complete.includes(tr.to)}),cursor_to=_this._states.get(tr.to)),cursor_from.to.includes(tr.to))throw new Error("already has "+tr.from+" to "+tr.to);if(cursor_from.to.push(tr.to),cursor_to.from.includes(tr.from))throw new Error("already has "+tr.to+" from "+tr.from);cursor_to.from.push(tr.from),_this._edges.push(tr);var thisEdgeId=_this._edges.length-1;if(tr.name){if(_this._named_transitions.has(tr.name))throw new Error('named transition "'+tr.name+'" already created');_this._named_transitions.set(tr.name,thisEdgeId)}var from_mapping=_this._edge_map.get(tr.from);if(void 0===from_mapping&&(_this._edge_map.set(tr.from,new Map),from_mapping=_this._edge_map.get(tr.from)),from_mapping.get(tr.to))throw new Error("from -> to already exists "+tr.from+" "+tr.to);if(from_mapping.set(tr.to,thisEdgeId),tr.action){_this._actions.has(tr.action)||_this._actions.set(tr.action,new Map);var actionMap=_this._actions.get(tr.action);if(!actionMap)throw new Error("should be impossible, satisfying type checker that doesn't know .set precedes .get. severe error?");if(actionMap.has(tr.from))throw new Error("action "+tr.action+" already attached to origin "+tr.from);actionMap.set(tr.from,thisEdgeId),_this._reverse_actions.has(tr.from)||_this._reverse_actions.set(tr.from,new Map);var rActionMap=_this._reverse_actions.get(tr.from);if(!rActionMap)throw new Error("should be impossible, satisfying type checker that doesn't know .set precedes .get again. severe error?");if(rActionMap.has(tr.action))throw new Error("r-action "+tr.from+" already attached to action "+tr.action);rActionMap.set(tr.action,thisEdgeId),_this._reverse_action_targets.has(tr.to)||_this._reverse_action_targets.set(tr.to,new Map)}})}return _createClass(machine,[{key:"_new_state",value:function(state_config){if(this._states.has(state_config.name))throw new Error("state "+state_config.name+" already exists");return this._states.set(state_config.name,state_config),state_config.name}},{key:"state",value:function(){return this._state}},{key:"is_changing",value:function(){return!0}},{key:"state_is_final",value:function(whichState){return this.state_is_terminal(whichState)&&this.state_is_complete(whichState)}},{key:"is_final",value:function(){return!this.is_changing()&&this.state_is_final(this.state())}},{key:"machine_state",value:function(){return{internal_state_impl_version:1,actions:this._actions,edge_map:this._edge_map,edges:this._edges,named_transitions:this._named_transitions,reverse_actions:this._reverse_actions,state:this._state,states:this._states}}},{key:"load_machine_state",value:function(){return!1}},{key:"states",value:function(){return[].concat(_toConsumableArray(this._states.keys()))}},{key:"state_for",value:function(whichState){var state=this._states.get(whichState);if(state)return state;throw new Error("no such state "+JSON.stringify(state))}},{key:"list_transitions",value:function(){return this._edges}},{key:"list_named_transitions",value:function(){return this._named_transitions}},{key:"list_actions",value:function(){return[].concat(_toConsumableArray(this._actions.keys()))}},{key:"get_transition_by_id",value:function(from,to){return this._edge_map.has(from)?this._edge_map.get(from).get(to):void 0}},{key:"lookup_transition_for",value:function(from,to){var id=this.get_transition_by_id(from,to);return void 0===id?void 0:this._edges[id]}},{key:"list_transitions",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return{entrances:this.list_entrances(whichState),exits:this.list_exits(whichState)}}},{key:"list_entrances",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).from}},{key:"list_exits",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).to}},{key:"probable_exits_for",value:function(whichState){var _this2=this;return(this._states.get(whichState)||{to:[]}).to.map(function(ws){return _this2.lookup_transition_for(_this2.state(),ws)}).filter(function(defined){return defined})||[]}},{key:"probabilistic_transition",value:function(){var selected=(0,_jssmUtil.rand_select)(this.probable_exits_for(this.state()));return this.transition(selected.to)}},{key:"probabilistic_walk",value:function(n){var _this3=this;return(0,_jssmUtil.seq)(n-1).map(function(i){var state_was=_this3.state();return _this3.probabilistic_transition(),state_was}).concat([this.state()])}},{key:"probabilistic_histo_walk",value:function(n){return(0,_jssmUtil.histograph)(this.probabilistic_walk(n))}},{key:"actions",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),wstate=this._reverse_actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_states_having_action",value:function(whichState){var wstate=this._actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_exit_actions",value:function(){var _this4=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return[].concat(_toConsumableArray((this._reverse_actions.get(whichState)||new Map).values())).map(function(edgeId){return _this4._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return filtered.action})}},{key:"probable_action_exits",value:function(){var _this5=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return[].concat(_toConsumableArray((this._reverse_actions.get(whichState)||new Map).values())).map(function(edgeId){return _this5._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return{action:filtered.action,probability:filtered.probability}})}},{key:"is_unenterable",value:function(whichState){return 0===this.list_entrances(whichState).length}},{key:"has_unenterables",value:function(){return this.states.some(this.is_unenterable)}},{key:"is_terminal",value:function(){return this.state_is_terminal(this.state())}},{key:"state_is_terminal",value:function(whichState){return 0===this.list_exits(whichState).length}},{key:"has_terminals",value:function(){return this.states.some(this.state_is_terminal)}},{key:"is_complete",value:function(){return this.state_is_complete(this.state())}},{key:"state_is_complete",value:function(whichState){var wstate=this._states.get(whichState);if(wstate)return wstate.complete;throw new Error("No such state "+JSON.stringify(whichState))}},{key:"has_completes",value:function(){return this.states.some(this.state_is_complete)}},{key:"action",value:function(name,newData){if(this.valid_action(name,newData)){var edge=this.current_action_edge_for(name);if(!edge)throw new Error("Should be impossible - valid_action true, no edge in current_action_edge_for, in action("+JSON.stringify(name)+"...)");return this._state=edge.to,!0}return!1}},{key:"transition",value:function(newState,newData){return!!this.valid_transition(newState,newData)&&(this._state=newState,!0)}},{key:"force_transition",value:function(newState,newData){return!!this.valid_force_transition(newState,newData)&&(this._state=newState,!0)}},{key:"current_action_for",value:function(action){var action_base=this._actions.get(action);return action_base?action_base.get(this.state()):void 0}},{key:"current_action_edge_for",value:function(action){var idx=this.current_action_for(action);return void 0!==idx?this._edges[idx]:void 0}},{key:"valid_action",value:function(action,newData){return void 0!==this.current_action_for(action)}},{key:"valid_transition",value:function(newState,newData){return void 0!==this.lookup_transition_for(this.state(),newState)}},{key:"valid_force_transition",value:function(newState,newData){return!1}},{key:"set_viz_colors",value:function(){this._viz_colors={fill_final:"#eeeeff",fill_terminal:"#ffeeee",fill_complete:"#eeffee",normal_line_1:"#999999",normal_line_2:"#888888",normal_line_solo:"#888888",line_final_1:"#8888bb",line_final_2:"#7777aa",line_final_solo:"#7777aa",line_terminal_1:"#bb8888",line_terminal_2:"#aa7777",line_terminal_solo:"#aa7777",line_complete_1:"#88bb88",line_complete_2:"#77aa77",line_complete_solo:"#77aa77",text_final_1:"#000088",text_final_2:"#000088",text_final_solo:"#000088",text_terminal_1:"#880000",text_terminal_2:"#880000",text_terminal_solo:"#880000",text_complete_1:"#007700",text_complete_2:"#007700",text_complete_solo:"#007700"}}}]),machine}());exports.version="2.1.2",exports.machine=machine,exports.seq=_jssmUtil.seq,exports.rand_select=_jssmUtil.rand_select,exports.histograph=_jssmUtil.histograph},{"./jssm-dot.js":1,"./jssm-util.js":2}]},{},[]); | ||
require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&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||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";function peg$SyntaxError(message,expected,found,location){this.message=message,this.expected=expected,this.found=found,this.location=location,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(input,options){function peg$literalExpectation(text,ignoreCase){return{type:"literal",text:text,ignoreCase:ignoreCase}}function peg$classExpectation(parts,inverted,ignoreCase){return{type:"class",parts:parts,inverted:inverted,ignoreCase:ignoreCase}}function peg$otherExpectation(description){return{type:"other",description:description}}function peg$computePosDetails(pos){var p,details=peg$posDetailsCache[pos];if(details)return details;for(p=pos-1;!peg$posDetailsCache[p];)p--;for(details={line:(details=peg$posDetailsCache[p]).line,column:details.column};p<pos;)10===input.charCodeAt(p)?(details.line++,details.column=1):details.column++,p++;return peg$posDetailsCache[pos]=details,details}function peg$computeLocation(startPos,endPos){var startPosDetails=peg$computePosDetails(startPos),endPosDetails=peg$computePosDetails(endPos);return{start:{offset:startPos,line:startPosDetails.line,column:startPosDetails.column},end:{offset:endPos,line:endPosDetails.line,column:endPosDetails.column}}}function peg$fail(expected){peg$currPos<peg$maxFailPos||(peg$currPos>peg$maxFailPos&&(peg$maxFailPos=peg$currPos,peg$maxFailExpected=[]),peg$maxFailExpected.push(expected))}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location)}function peg$parseExpression(){var s0,s1,s2;return s0=peg$currPos,s1=peg$parseWhitespace(),s1!==peg$FAILED&&(s2=peg$parseExpList())!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c0(s2)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseForwardArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,2)===peg$c2?(s0=peg$c2,peg$currPos+=2):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c3)),peg$silentFails--,s0===peg$FAILED&&(peg$FAILED,0===peg$silentFails&&peg$fail(peg$c1)),s0}function peg$parseTwoWayArrow(){var s0;return peg$silentFails++,input.substr(peg$currPos,3)===peg$c5?(s0=peg$c5,peg$currPos+=3):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c6)),peg$silentFails--,s0===peg$FAILED&&(peg$FAILED,0===peg$silentFails&&peg$fail(peg$c4)),s0}function peg$parseArrow(){var s0;return(s0=peg$parseForwardArrow())===peg$FAILED&&(s0=peg$parseTwoWayArrow()),s0}function peg$parseString(){var s0,s2,s3;if(peg$silentFails++,s0=peg$currPos,peg$parseQuoteMark()!==peg$FAILED){for(s2=[],s3=peg$parseChar();s3!==peg$FAILED;)s2.push(s3),s3=peg$parseChar();s2!==peg$FAILED&&(s3=peg$parseQuoteMark())!==peg$FAILED?(peg$savedPos=s0,s0=peg$c8(s2)):(peg$currPos=s0,s0=peg$FAILED)}else peg$currPos=s0,s0=peg$FAILED;return peg$silentFails--,s0===peg$FAILED&&(peg$FAILED,0===peg$silentFails&&peg$fail(peg$c7)),s0}function peg$parseHexDigit(){var s0;return peg$c9.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c10)),s0}function peg$parseChar(){var s0,s2,s3,s4,s5,s6,s7,s8,s9;return(s0=peg$parseUnescaped())===peg$FAILED&&(s0=peg$currPos,peg$parseEscape()!==peg$FAILED?(34===input.charCodeAt(peg$currPos)?(s2=peg$c11,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),s2===peg$FAILED&&(92===input.charCodeAt(peg$currPos)?(s2=peg$c13,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c14)),s2===peg$FAILED&&(47===input.charCodeAt(peg$currPos)?(s2=peg$c15,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c16)),s2===peg$FAILED&&(s2=peg$currPos,98===input.charCodeAt(peg$currPos)?(s3=peg$c17,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c18)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c19()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,102===input.charCodeAt(peg$currPos)?(s3=peg$c20,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c21)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c22()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,110===input.charCodeAt(peg$currPos)?(s3=peg$c23,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c24)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c25()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,114===input.charCodeAt(peg$currPos)?(s3=peg$c26,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c27)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c28()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,116===input.charCodeAt(peg$currPos)?(s3=peg$c29,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c30)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c31()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,118===input.charCodeAt(peg$currPos)?(s3=peg$c32,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c33)),s3!==peg$FAILED&&(peg$savedPos=s2,s3=peg$c34()),(s2=s3)===peg$FAILED&&(s2=peg$currPos,117===input.charCodeAt(peg$currPos)?(s3=peg$c35,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c36)),s3!==peg$FAILED?(s4=peg$currPos,s5=peg$currPos,(s6=peg$parseHexDigit())!==peg$FAILED&&(s7=peg$parseHexDigit())!==peg$FAILED&&(s8=peg$parseHexDigit())!==peg$FAILED&&(s9=peg$parseHexDigit())!==peg$FAILED?s5=s6=[s6,s7,s8,s9]:(peg$currPos=s5,s5=peg$FAILED),(s4=s5!==peg$FAILED?input.substring(s4,peg$currPos):s5)!==peg$FAILED?(peg$savedPos=s2,s2=s3=peg$c37(s4)):(peg$currPos=s2,s2=peg$FAILED)):(peg$currPos=s2,s2=peg$FAILED)))))))))),s2!==peg$FAILED?(peg$savedPos=s0,s0=peg$c38(s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)),s0}function peg$parseEscape(){var s0;return 92===input.charCodeAt(peg$currPos)?(s0=peg$c13,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c14)),s0}function peg$parseQuoteMark(){var s0;return 34===input.charCodeAt(peg$currPos)?(s0=peg$c11,peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c12)),s0}function peg$parseUnescaped(){var s0;return peg$c39.test(input.charAt(peg$currPos))?(s0=input.charAt(peg$currPos),peg$currPos++):(s0=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c40)),s0}function peg$parseLabel(){var s0,s1,s2;if(peg$silentFails++,s0=peg$currPos,s1=[],peg$c42.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c43)),s2!==peg$FAILED)for(;s2!==peg$FAILED;)s1.push(s2),peg$c42.test(input.charAt(peg$currPos))?(s2=input.charAt(peg$currPos),peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c43));else s1=peg$FAILED;return s1!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c44(s1)),(s0=s1)===peg$FAILED&&(s0=peg$currPos,(s1=peg$parseString())!==peg$FAILED&&(peg$savedPos=s0,s1=peg$c44(s1)),s0=s1),peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c41)),s0}function peg$parseDescValue(){return peg$parseString()}function peg$parseDescItem(){var s0,s1,s2,s3,s4;return s0=peg$currPos,s1=peg$parseLabel(),s1!==peg$FAILED?(58===input.charCodeAt(peg$currPos)?(s2=peg$c45,peg$currPos++):(s2=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c46)),s2!==peg$FAILED&&(s3=peg$parseDescValue())!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c47,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),s4!==peg$FAILED?s0=s1=[s1,s2,s3,s4]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseDescItems(){var s0,s1;if(s0=[],(s1=peg$parseDescItem())!==peg$FAILED)for(;s1!==peg$FAILED;)s0.push(s1),s1=peg$parseDescItem();else s0=peg$FAILED;return s0}function peg$parseArrowDesc(){var s0,s1,s2,s3;return s0=peg$currPos,123===input.charCodeAt(peg$currPos)?(s1=peg$c49,peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c50)),s1!==peg$FAILED?((s2=peg$parseDescItems())===peg$FAILED&&(s2=null),s2!==peg$FAILED?(125===input.charCodeAt(peg$currPos)?(s3=peg$c51,peg$currPos++):(s3=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c52)),s3!==peg$FAILED?s0=s1=[s1,s2,s3]:(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseSubexp(){var s0,s1,s2,s4,s6,s8,s10;return s0=peg$currPos,s1=peg$parseWhitespace(),s1!==peg$FAILED?((s2=peg$parseArrowDesc())===peg$FAILED&&(s2=null),s2!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED&&(s4=peg$parseArrow())!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED?((s6=peg$parseArrowDesc())===peg$FAILED&&(s6=null),s6!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED&&(s8=peg$parseLabel())!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED?((s10=peg$parseSubexp())===peg$FAILED&&(s10=null),s10!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c53(s2,s4,s6,s8,s10)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseExp(){var s0,s1,s2,s4;return s0=peg$currPos,s1=peg$parseLabel(),s1!==peg$FAILED&&(s2=peg$parseSubexp())!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED?(59===input.charCodeAt(peg$currPos)?(s4=peg$c47,peg$currPos++):(s4=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c48)),s4!==peg$FAILED&&peg$parseWhitespace()!==peg$FAILED?(peg$savedPos=s0,s0=s1=peg$c54(s1,s2)):(peg$currPos=s0,s0=peg$FAILED)):(peg$currPos=s0,s0=peg$FAILED),s0}function peg$parseExpList(){var s0,s1;for(s0=[],s1=peg$parseExp();s1!==peg$FAILED;)s0.push(s1),s1=peg$parseExp();return s0}function peg$parseWhitespace(){var s0,s1;for(peg$silentFails++,s0=[],peg$c56.test(input.charAt(peg$currPos))?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c57));s1!==peg$FAILED;)s0.push(s1),peg$c56.test(input.charAt(peg$currPos))?(s1=input.charAt(peg$currPos),peg$currPos++):(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c57));return peg$silentFails--,s0===peg$FAILED&&(s1=peg$FAILED,0===peg$silentFails&&peg$fail(peg$c55)),s0}options=void 0!==options?options:{};var peg$result,peg$FAILED={},peg$startRuleFunctions={Expression:peg$parseExpression},peg$startRuleFunction=peg$parseExpression,peg$c0=function(e){return e},peg$c1=peg$otherExpectation("forward arrow"),peg$c2="->",peg$c3=peg$literalExpectation("->",!1),peg$c4=peg$otherExpectation("two way arrow"),peg$c5="<->",peg$c6=peg$literalExpectation("<->",!1),peg$c7=peg$otherExpectation("string"),peg$c8=function(chars){return chars.join("")},peg$c9=/^[0-9a-fA-F]/,peg$c10=peg$classExpectation([["0","9"],["a","f"],["A","F"]],!1,!1),peg$c11='"',peg$c12=peg$literalExpectation('"',!1),peg$c13="\\",peg$c14=peg$literalExpectation("\\",!1),peg$c15="/",peg$c16=peg$literalExpectation("/",!1),peg$c17="b",peg$c18=peg$literalExpectation("b",!1),peg$c19=function(){return"\b"},peg$c20="f",peg$c21=peg$literalExpectation("f",!1),peg$c22=function(){return"\f"},peg$c23="n",peg$c24=peg$literalExpectation("n",!1),peg$c25=function(){return"\n"},peg$c26="r",peg$c27=peg$literalExpectation("r",!1),peg$c28=function(){return"\r"},peg$c29="t",peg$c30=peg$literalExpectation("t",!1),peg$c31=function(){return"\t"},peg$c32="v",peg$c33=peg$literalExpectation("v",!1),peg$c34=function(){return"\v"},peg$c35="u",peg$c36=peg$literalExpectation("u",!1),peg$c37=function(digits){return String.fromCharCode(parseInt(digits,16))},peg$c38=function(Sequence){return Sequence},peg$c39=/^[ -!#-[\]-\u10FFFF]/,peg$c40=peg$classExpectation([[" ","!"],["#","["],["]","ჿ"],"F","F"],!1,!1),peg$c41=peg$otherExpectation("label"),peg$c42=/^[0-9a-zA-Z.+\-_&()%$#@!?<>,:;']/,peg$c43=peg$classExpectation([["0","9"],["a","z"],["A","Z"],".","+","-","_","&","(",")","%","$","#","@","!","?","<",">",",",":",";","'"],!1,!1),peg$c44=function(text){return text.join("")},peg$c45=":",peg$c46=peg$literalExpectation(":",!1),peg$c47=";",peg$c48=peg$literalExpectation(";",!1),peg$c49="{",peg$c50=peg$literalExpectation("{",!1),peg$c51="}",peg$c52=peg$literalExpectation("}",!1),peg$c53=function(ldesc,arrow,rdesc,label,tail){return{kind:arrow,to:label,se:tail===[]?void 0:tail}},peg$c54=function(label,se){return{from:label,se:se===[]?void 0:se}},peg$c55=peg$otherExpectation("whitespace"),peg$c56=/^[ \t\n\r\x0B]/,peg$c57=peg$classExpectation([" ","\t","\n","\r","\v"],!1,!1),peg$currPos=0,peg$savedPos=0,peg$posDetailsCache=[{line:1,column:1}],peg$maxFailPos=0,peg$maxFailExpected=[],peg$silentFails=0;if("startRule"in options){if(!(options.startRule in peg$startRuleFunctions))throw new Error("Can't start parsing from rule \""+options.startRule+'".');peg$startRuleFunction=peg$startRuleFunctions[options.startRule]}if((peg$result=peg$startRuleFunction())!==peg$FAILED&&peg$currPos===input.length)return peg$result;throw peg$result!==peg$FAILED&&peg$currPos<input.length&&peg$fail({type:"end"}),peg$buildStructuredError(peg$maxFailExpected,peg$maxFailPos<input.length?input.charAt(peg$maxFailPos):null,peg$maxFailPos<input.length?peg$computeLocation(peg$maxFailPos,peg$maxFailPos+1):peg$computeLocation(peg$maxFailPos,peg$maxFailPos))}!function(child,parent){function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor}(peg$SyntaxError,Error),peg$SyntaxError.buildMessage=function(expected,found){function hex(ch){return ch.charCodeAt(0).toString(16).toUpperCase()}function literalEscape(s){return s.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(ch){return"\\x0"+hex(ch)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(ch){return"\\x"+hex(ch)})}function classEscape(s){return s.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(ch){return"\\x0"+hex(ch)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(ch){return"\\x"+hex(ch)})}function describeExpectation(expectation){return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation)}var DESCRIBE_EXPECTATION_FNS={literal:function(expectation){return'"'+literalEscape(expectation.text)+'"'},class:function(expectation){var i,escapedParts="";for(i=0;i<expectation.parts.length;i++)escapedParts+=expectation.parts[i]instanceof Array?classEscape(expectation.parts[i][0])+"-"+classEscape(expectation.parts[i][1]):classEscape(expectation.parts[i]);return"["+(expectation.inverted?"^":"")+escapedParts+"]"},any:function(expectation){return"any character"},end:function(expectation){return"end of input"},other:function(expectation){return expectation.description}};return"Expected "+function(expected){var i,j,descriptions=new Array(expected.length);for(i=0;i<expected.length;i++)descriptions[i]=describeExpectation(expected[i]);if(descriptions.sort(),descriptions.length>0){for(i=1,j=1;i<descriptions.length;i++)descriptions[i-1]!==descriptions[i]&&(descriptions[j]=descriptions[i],j++);descriptions.length=j}switch(descriptions.length){case 1:return descriptions[0];case 2:return descriptions[0]+" or "+descriptions[1];default:return descriptions.slice(0,-1).join(", ")+", or "+descriptions[descriptions.length-1]}}(expected)+" but "+function(found){return found?'"'+literalEscape(found)+'"':"end of input"}(found)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse}},{}],2:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},rand_select=function(options){var probability_property=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"probability";if(!Array.isArray(options))throw new TypeError("options must be a non-empty array of objects");if("object"!==_typeof(options[0]))throw new TypeError("options must be a non-empty array of objects");for(var rnd=function(cap){return Math.random()*cap}(options.reduce(function(acc,val){return acc+val[probability_property]},0)),cursor=0,cursor_sum=0;(cursor_sum+=options[cursor++][probability_property])<=rnd;);return options[cursor-1]},seq=function(n){return new Array(n).fill(!0).map(function(_,i){return i})},histograph=function(a){return a.sort().reduce(function(m,v){return m.set(v,m.has(v)?m.get(v)+1:1),m},new Map)},sample_select=function(n,options,probability_property){return seq(n).map(function(i){return rand_select(options,probability_property)})},histo_key=function(n,options,probability_property,extract){return histograph(sample_select(n,options,probability_property).map(function(s){return s[extract]}))};exports.seq=seq,exports.histograph=histograph,exports.histo_key=histo_key,exports.rand_select=rand_select,exports.sample_select=sample_select},{}],jssm:[function(require,module,exports){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.histograph=exports.rand_select=exports.seq=exports.machine=exports.version=void 0;var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_jssmUtil=require("./jssm-util.js"),machine=(require("./jssm-dot.js").parse,function(){function machine(_ref){var _this=this,initial_state=_ref.initial_state,_ref$complete=_ref.complete,complete=void 0===_ref$complete?[]:_ref$complete,transitions=_ref.transitions;_classCallCheck(this,machine),this.set_viz_colors(),this._state=initial_state,this._states=new Map,this._edges=[],this._edge_map=new Map,this._named_transitions=new Map,this._actions=new Map,this._reverse_actions=new Map,this._reverse_action_targets=new Map,transitions.map(function(tr){if(void 0===tr.from)throw new Error("transition must define 'from': "+JSON.stringify(tr));if(void 0===tr.to)throw new Error("transition must define 'to': "+JSON.stringify(tr));var cursor_from=_this._states.get(tr.from);void 0===cursor_from&&(_this._new_state({name:tr.from,from:[],to:[],complete:complete.includes(tr.from)}),cursor_from=_this._states.get(tr.from));var cursor_to=_this._states.get(tr.to);if(void 0===cursor_to&&(_this._new_state({name:tr.to,from:[],to:[],complete:complete.includes(tr.to)}),cursor_to=_this._states.get(tr.to)),cursor_from.to.includes(tr.to))throw new Error("already has "+tr.from+" to "+tr.to);if(cursor_from.to.push(tr.to),cursor_to.from.includes(tr.from))throw new Error("already has "+tr.to+" from "+tr.from);cursor_to.from.push(tr.from),_this._edges.push(tr);var thisEdgeId=_this._edges.length-1;if(tr.name){if(_this._named_transitions.has(tr.name))throw new Error('named transition "'+tr.name+'" already created');_this._named_transitions.set(tr.name,thisEdgeId)}var from_mapping=_this._edge_map.get(tr.from);if(void 0===from_mapping&&(_this._edge_map.set(tr.from,new Map),from_mapping=_this._edge_map.get(tr.from)),from_mapping.get(tr.to))throw new Error("from -> to already exists "+tr.from+" "+tr.to);if(from_mapping.set(tr.to,thisEdgeId),tr.action){_this._actions.has(tr.action)||_this._actions.set(tr.action,new Map);var actionMap=_this._actions.get(tr.action);if(!actionMap)throw new Error("should be impossible, satisfying type checker that doesn't know .set precedes .get. severe error?");if(actionMap.has(tr.from))throw new Error("action "+tr.action+" already attached to origin "+tr.from);actionMap.set(tr.from,thisEdgeId),_this._reverse_actions.has(tr.from)||_this._reverse_actions.set(tr.from,new Map);var rActionMap=_this._reverse_actions.get(tr.from);if(!rActionMap)throw new Error("should be impossible, satisfying type checker that doesn't know .set precedes .get again. severe error?");if(rActionMap.has(tr.action))throw new Error("r-action "+tr.from+" already attached to action "+tr.action);rActionMap.set(tr.action,thisEdgeId),_this._reverse_action_targets.has(tr.to)||_this._reverse_action_targets.set(tr.to,new Map)}})}return _createClass(machine,[{key:"_new_state",value:function(state_config){if(this._states.has(state_config.name))throw new Error("state "+state_config.name+" already exists");return this._states.set(state_config.name,state_config),state_config.name}},{key:"state",value:function(){return this._state}},{key:"is_changing",value:function(){return!0}},{key:"state_is_final",value:function(whichState){return this.state_is_terminal(whichState)&&this.state_is_complete(whichState)}},{key:"is_final",value:function(){return!this.is_changing()&&this.state_is_final(this.state())}},{key:"machine_state",value:function(){return{internal_state_impl_version:1,actions:this._actions,edge_map:this._edge_map,edges:this._edges,named_transitions:this._named_transitions,reverse_actions:this._reverse_actions,state:this._state,states:this._states}}},{key:"load_machine_state",value:function(){return!1}},{key:"states",value:function(){return[].concat(_toConsumableArray(this._states.keys()))}},{key:"state_for",value:function(whichState){var state=this._states.get(whichState);if(state)return state;throw new Error("no such state "+JSON.stringify(state))}},{key:"list_transitions",value:function(){return this._edges}},{key:"list_named_transitions",value:function(){return this._named_transitions}},{key:"list_actions",value:function(){return[].concat(_toConsumableArray(this._actions.keys()))}},{key:"get_transition_by_id",value:function(from,to){return this._edge_map.has(from)?this._edge_map.get(from).get(to):void 0}},{key:"lookup_transition_for",value:function(from,to){var id=this.get_transition_by_id(from,to);return void 0===id?void 0:this._edges[id]}},{key:"list_transitions",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return{entrances:this.list_entrances(whichState),exits:this.list_exits(whichState)}}},{key:"list_entrances",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).from}},{key:"list_exits",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return(this._states.get(whichState)||{}).to}},{key:"probable_exits_for",value:function(whichState){var _this2=this;return(this._states.get(whichState)||{to:[]}).to.map(function(ws){return _this2.lookup_transition_for(_this2.state(),ws)}).filter(function(defined){return defined})||[]}},{key:"probabilistic_transition",value:function(){var selected=(0,_jssmUtil.rand_select)(this.probable_exits_for(this.state()));return this.transition(selected.to)}},{key:"probabilistic_walk",value:function(n){var _this3=this;return(0,_jssmUtil.seq)(n-1).map(function(i){var state_was=_this3.state();return _this3.probabilistic_transition(),state_was}).concat([this.state()])}},{key:"probabilistic_histo_walk",value:function(n){return(0,_jssmUtil.histograph)(this.probabilistic_walk(n))}},{key:"actions",value:function(){var whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state(),wstate=this._reverse_actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_states_having_action",value:function(whichState){var wstate=this._actions.get(whichState);if(wstate)return[].concat(_toConsumableArray(wstate.keys()));throw new Error("No such state "+JSON.stringify(whichState))}},{key:"list_exit_actions",value:function(){var _this4=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return[].concat(_toConsumableArray((this._reverse_actions.get(whichState)||new Map).values())).map(function(edgeId){return _this4._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return filtered.action})}},{key:"probable_action_exits",value:function(){var _this5=this,whichState=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state();return[].concat(_toConsumableArray((this._reverse_actions.get(whichState)||new Map).values())).map(function(edgeId){return _this5._edges[edgeId]}).filter(function(o){return o.from===whichState}).map(function(filtered){return{action:filtered.action,probability:filtered.probability}})}},{key:"is_unenterable",value:function(whichState){return 0===this.list_entrances(whichState).length}},{key:"has_unenterables",value:function(){return this.states.some(this.is_unenterable)}},{key:"is_terminal",value:function(){return this.state_is_terminal(this.state())}},{key:"state_is_terminal",value:function(whichState){return 0===this.list_exits(whichState).length}},{key:"has_terminals",value:function(){return this.states.some(this.state_is_terminal)}},{key:"is_complete",value:function(){return this.state_is_complete(this.state())}},{key:"state_is_complete",value:function(whichState){var wstate=this._states.get(whichState);if(wstate)return wstate.complete;throw new Error("No such state "+JSON.stringify(whichState))}},{key:"has_completes",value:function(){return this.states.some(this.state_is_complete)}},{key:"action",value:function(name,newData){if(this.valid_action(name,newData)){var edge=this.current_action_edge_for(name);if(!edge)throw new Error("Should be impossible - valid_action true, no edge in current_action_edge_for, in action("+JSON.stringify(name)+"...)");return this._state=edge.to,!0}return!1}},{key:"transition",value:function(newState,newData){return!!this.valid_transition(newState,newData)&&(this._state=newState,!0)}},{key:"force_transition",value:function(newState,newData){return!!this.valid_force_transition(newState,newData)&&(this._state=newState,!0)}},{key:"current_action_for",value:function(action){var action_base=this._actions.get(action);return action_base?action_base.get(this.state()):void 0}},{key:"current_action_edge_for",value:function(action){var idx=this.current_action_for(action);return void 0!==idx?this._edges[idx]:void 0}},{key:"valid_action",value:function(action,newData){return void 0!==this.current_action_for(action)}},{key:"valid_transition",value:function(newState,newData){return void 0!==this.lookup_transition_for(this.state(),newState)}},{key:"valid_force_transition",value:function(newState,newData){return!1}},{key:"set_viz_colors",value:function(){this._viz_colors={fill_final:"#eeeeff",fill_terminal:"#ffeeee",fill_complete:"#eeffee",normal_line_1:"#999999",normal_line_2:"#888888",normal_line_solo:"#888888",line_final_1:"#8888bb",line_final_2:"#7777aa",line_final_solo:"#7777aa",line_terminal_1:"#bb8888",line_terminal_2:"#aa7777",line_terminal_solo:"#aa7777",line_complete_1:"#88bb88",line_complete_2:"#77aa77",line_complete_solo:"#77aa77",text_final_1:"#000088",text_final_2:"#000088",text_final_solo:"#000088",text_terminal_1:"#880000",text_terminal_2:"#880000",text_terminal_solo:"#880000",text_complete_1:"#007700",text_complete_2:"#007700",text_complete_solo:"#007700"}}}]),machine}());exports.version="2.1.4",exports.machine=machine,exports.seq=_jssmUtil.seq,exports.rand_select=_jssmUtil.rand_select,exports.histograph=_jssmUtil.histograph},{"./jssm-dot.js":1,"./jssm-util.js":2}]},{},[]); |
{ | ||
"name": "jssm", | ||
"version": "2.1.2", | ||
"version": "2.1.4", | ||
"engines": { | ||
@@ -26,3 +26,3 @@ "node": ">=6.0.0" | ||
"audit": "echo \\\"major\\\" remaining. . : `grep major src/js/jssm*.js | wc -l`\\\\n\\\"wasteful\\\" remaining : `grep wasteful src/js/jssm*.js | wc -l`\\\\n\\\"any\\\" remaining. . . : `grep any src/js/jssm*.js | wc -l`\\\\n\\\"mixed\\\" remaining. . : `grep mixed src/js/jssm*.js | wc -l`\\\\n\\\"todo\\\" remaining . . : `grep todo src/js/jssm*.js | wc -l`\\\\n\\\"nextdo\\\" remaining . : `grep nextdo src/js/jssm*.js | wc -l`\\\\n\\\"whargarbl\\\" remaining: `grep whargarbl src/js/jssm*.js | wc -l`\\\\n\\\"comeback\\\" remaining : `grep comeback src/js/jssm*.js | wc -l`\\\\n\\\"fixme\\\" remaining. . : `grep fixme src/js/jssm*.js | wc -l`\\\\n\\\"stochable\\\" remaining: `grep stochable src/js/jssm*.js | wc -l`\\\\n\\\"checkme\\\" remaining. : `grep checkme src/js/jssm*.js | wc -l`", | ||
"build": "npm run make && npm run vet && npm run test-verbose && npm run audit && npm run minify && npm run site && npm run docs && npm run dist", | ||
"build": "npm run make && npm run vet && npm run test-verbose && npm run audit && npm run minify && npm run docs && npm run dist", | ||
"nyc-build": "npm run vet && npm run make && npm run test-verbose && npm run audit && npm run nyc-test", | ||
@@ -29,0 +29,0 @@ "postinstall": "npm run build", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3384481
215
8453