state-machine-cat 10.1.3 → 10.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/commonjs/bundle.js +14 -14
- package/package.json +28 -52
- package/src/cli/normalize.mjs +32 -17
- package/src/parse/parser-helpers.mjs +2 -2
- package/src/parse/scxml/index.mjs +47 -34
- package/src/parse/scxml/normalize-machine.mjs +27 -21
- package/src/render/dot/README.md +12 -0
- package/src/render/scjson/index.mjs +4 -4
- package/src/render/scxml/index.mjs +2 -2
- package/src/transform/utl.mjs +3 -3
- package/src/version.mjs +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
_write beautiful state charts_
|
|
4
4
|
|
|
5
|
-
[](https://github.com/sverweij/state-machine-cat/actions/workflows/ci.yml)
|
|
6
6
|
[](https://gitlab.com/sverweij/state-machine-cat/builds)
|
|
7
7
|
[](https://snyk.io/test/github/sverweij/state-machine-cat?targetFile=package.json)
|
|
8
8
|
[](https://codeclimate.com/github/sverweij/state-machine-cat/maintainability)
|
package/dist/commonjs/bundle.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
var Ba=Object.create;var ge=Object.defineProperty;var Ha=Object.getOwnPropertyDescriptor;var
|
|
1
|
+
var Ba=Object.create;var ge=Object.defineProperty;var Ha=Object.getOwnPropertyDescriptor;var qa=Object.getOwnPropertyNames;var Da=Object.getPrototypeOf,Ia=Object.prototype.hasOwnProperty;var U=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),La=(t,e)=>{for(var n in e)ge(t,n,{get:e[n],enumerable:!0})},en=(t,e,n,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of qa(e))!Ia.call(t,r)&&r!==n&&ge(t,r,{get:()=>e[r],enumerable:!(d=Ha(e,r))||d.enumerable});return t};var R=(t,e,n)=>(n=t!=null?Ba(Da(t)):{},en(e||!t||!t.__esModule?ge(n,"default",{value:t,enumerable:!0}):n,t)),Na=t=>en(ge({},"__esModule",{value:!0}),t);var An=U(()=>{var Be=require("handlebars/dist/handlebars.runtime"),yo=Be.template,vo=Be.templates=Be.templates||{};vo["smcat.template.hbs"]=yo({1:function(t,e,n,d,r){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",v=t.hooks.blockHelperMissing,m=t.lookupProperty||function(k,$){if(Object.prototype.hasOwnProperty.call(k,$))return k[$]},p="",a=(a=m(n,"note")||(e!=null?m(e,"note"):e))!=null?a:i,b={name:"note",hash:{},fn:t.program(2,r,0),inverse:t.noop,data:r,loc:{start:{line:2,column:0},end:{line:4,column:9}}},u=typeof a==f?a.call(c,b):a;return(u=m(n,"note")?u:v.call(e,u,b))!=null&&(p+=u),p+=(u=(m(n,"quotifyState")||e&&m(e,"quotifyState")||i).call(c,e!=null?m(e,"name"):e,{name:"quotifyState",hash:{},fn:t.program(4,r,0),inverse:t.noop,data:r,loc:{start:{line:5,column:0},end:{line:5,column:40}}}))!=null?u:"",a=(a=m(n,"hasExtendedAttributes")||(e!=null?m(e,"hasExtendedAttributes"):e))!=null?a:i,b={name:"hasExtendedAttributes",hash:{},fn:t.program(6,r,0),inverse:t.noop,data:r,loc:{start:{line:6,column:4},end:{line:6,column:270}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"hasExtendedAttributes")?u:v.call(e,u,b))!=null&&(p+=u),p+=(u=m(n,"if").call(c,e!=null?m(e,"actions"):e,{name:"if",hash:{},fn:t.program(18,r,0),inverse:t.noop,data:r,loc:{start:{line:7,column:4},end:{line:7,column:28}}}))!=null?u:"",a=(a=m(n,"actions")||(e!=null?m(e,"actions"):e))!=null?a:i,b={name:"actions",hash:{},fn:t.program(20,r,0),inverse:t.noop,data:r,loc:{start:{line:7,column:28},end:{line:7,column:93}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"actions")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"statemachine")||(e!=null?m(e,"statemachine"):e))!=null?a:i,b={name:"statemachine",hash:{},fn:t.program(22,r,0),inverse:t.noop,data:r,loc:{start:{line:8,column:4},end:{line:10,column:19}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"statemachine")?u:v.call(e,u,b))!=null&&(p+=u),p+((u=m(n,"if").call(c,r&&m(r,"last"),{name:"if",hash:{},fn:t.program(24,r,0),inverse:t.program(26,r,0),data:r,loc:{start:{line:11,column:0},end:{line:11,column:30}}}))!=null?u:"")+`
|
|
2
2
|
`},2:function(t,e,n,d,r){return"# "+((t=t.lambda(e,e))!=null?t:"")+`
|
|
3
3
|
`},4:function(t,e,n,d,r){return""},6:function(t,e,n,d,r){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",v=t.hooks.blockHelperMissing,m=t.lookupProperty||function(k,$){if(Object.prototype.hasOwnProperty.call(k,$))return k[$]},p=" [",a=(a=m(n,"typeExplicitlySet")||(e!=null?m(e,"typeExplicitlySet"):e))!=null?a:i,b={name:"typeExplicitlySet",hash:{},fn:t.program(7,r,0),inverse:t.noop,data:r,loc:{start:{line:6,column:32},end:{line:6,column:107}}},u=typeof a==f?a.call(c,b):a;return(u=m(n,"typeExplicitlySet")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"label")||(e!=null?m(e,"label"):e))!=null?a:i,b={name:"label",hash:{},fn:t.program(10,r,0),inverse:t.noop,data:r,loc:{start:{line:6,column:107},end:{line:6,column:142}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"label")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"color")||(e!=null?m(e,"color"):e))!=null?a:i,b={name:"color",hash:{},fn:t.program(12,r,0),inverse:t.noop,data:r,loc:{start:{line:6,column:142},end:{line:6,column:178}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"color")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"class")||(e!=null?m(e,"class"):e))!=null?a:i,b={name:"class",hash:{},fn:t.program(14,r,0),inverse:t.noop,data:r,loc:{start:{line:6,column:178},end:{line:6,column:214}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"class")?u:v.call(e,u,b))!=null&&(p+=u),p+((u=m(n,"if").call(c,e!=null?m(e,"active"):e,{name:"if",hash:{},fn:t.program(16,r,0),inverse:t.noop,data:r,loc:{start:{line:6,column:214},end:{line:6,column:242}}}))!=null?u:"")+"]"},7:function(t,e,n,d,i){var c=t.lookupProperty||function(v,m){if(Object.prototype.hasOwnProperty.call(v,m))return v[m]},f=(f=c(n,"type")||(e!=null?c(e,"type"):e))!=null?f:t.hooks.helperMissing,i={name:"type",hash:{},fn:t.program(8,i,0),inverse:t.noop,data:i,loc:{start:{line:6,column:54},end:{line:6,column:85}}},f=typeof f=="function"?f.call(e??(t.nullContext||{}),i):f;return(f=c(n,"type")?f:t.hooks.blockHelperMissing.call(e,f,i))!=null?f:""},8:function(t,e,n,d,r){return"type="+((t=t.lambda(e,e))!=null?t:"")+" "},10:function(t,e,n,d,r){return'label="'+((t=t.lambda(e,e))!=null?t:"")+'"'},12:function(t,e,n,d,r){return' color="'+((t=t.lambda(e,e))!=null?t:"")+'"'},14:function(t,e,n,d,r){return' class="'+((t=t.lambda(e,e))!=null?t:"")+'"'},16:function(t,e,n,d,r){return" active"},18:function(t,e,n,d,r){return": "},20:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return(n=(c(n,"quotifyActions")||e&&c(e,"quotifyActions")||t.hooks.helperMissing).call(e??(t.nullContext||{}),e,{name:"quotifyActions",hash:{},fn:t.program(4,r,0),inverse:t.noop,data:r,loc:{start:{line:7,column:40},end:{line:7,column:80}}}))!=null?n:""},22:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return` {
|
|
4
4
|
`+((c=t.invokePartial(c(d,"smcat.template.hbs"),e,{name:"smcat.template.hbs",data:r,indent:" ",helpers:n,partials:d,decorators:t.decorators}))!=null?c:"")+"}"},24:function(t,e,n,d,r){return";"},26:function(t,e,n,d,r){return","},28:function(t,e,n,d,r){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",v=t.hooks.blockHelperMissing,m=t.lookupProperty||function(k,$){if(Object.prototype.hasOwnProperty.call(k,$))return k[$]},p="",a=(a=m(n,"note")||(e!=null?m(e,"note"):e))!=null?a:i,b={name:"note",hash:{},fn:t.program(2,r,0),inverse:t.noop,data:r,loc:{start:{line:15,column:0},end:{line:17,column:9}}},u=typeof a==f?a.call(c,b):a;return(u=m(n,"note")?u:v.call(e,u,b))!=null&&(p+=u),p+=((u=(m(n,"quotifyState")||e&&m(e,"quotifyState")||i).call(c,e!=null?m(e,"from"):e,{name:"quotifyState",hash:{},fn:t.program(4,r,0),inverse:t.noop,data:r,loc:{start:{line:18,column:0},end:{line:18,column:39}}}))!=null?u:"")+" => "+((u=(m(n,"quotifyState")||e&&m(e,"quotifyState")||i).call(c,e!=null?m(e,"to"):e,{name:"quotifyState",hash:{},fn:t.program(4,r,0),inverse:t.noop,data:r,loc:{start:{line:18,column:43},end:{line:18,column:81}}}))!=null?u:""),a=(a=m(n,"hasExtendedAttributes")||(e!=null?m(e,"hasExtendedAttributes"):e))!=null?a:i,b={name:"hasExtendedAttributes",hash:{},fn:t.program(29,r,0),inverse:t.noop,data:r,loc:{start:{line:19,column:4},end:{line:19,column:130}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"hasExtendedAttributes")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"label")||(e!=null?m(e,"label"):e))!=null?a:i,b={name:"label",hash:{},fn:t.program(34,r,0),inverse:t.noop,data:r,loc:{start:{line:20,column:4},end:{line:20,column:62}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"label")?u:v.call(e,u,b))!=null&&(p+=u),p+`;
|
|
5
5
|
`},29:function(t,e,n,d,r){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",v=t.hooks.blockHelperMissing,m=t.lookupProperty||function(k,$){if(Object.prototype.hasOwnProperty.call(k,$))return k[$]},p=" [",a=(a=m(n,"color")||(e!=null?m(e,"color"):e))!=null?a:i,b={name:"color",hash:{},fn:t.program(30,r,0),inverse:t.noop,data:r,loc:{start:{line:19,column:32},end:{line:19,column:68}}},u=typeof a==f?a.call(c,b):a;return(u=m(n,"color")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"type")||(e!=null?m(e,"type"):e))!=null?a:i,b={name:"type",hash:{},fn:t.program(32,r,0),inverse:t.noop,data:r,loc:{start:{line:19,column:69},end:{line:19,column:102}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"type")?u:v.call(e,u,b))!=null&&(p+=u),p+"]"},30:function(t,e,n,d,r){return'color="'+((t=t.lambda(e,e))!=null?t:"")+'"'},32:function(t,e,n,d,r){return" type="+((t=t.lambda(e,e))!=null?t:"")},34:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return": "+((n=(c(n,"quotifyLabel")||e&&c(e,"quotifyLabel")||t.hooks.helperMissing).call(e??(t.nullContext||{}),e,{name:"quotifyLabel",hash:{},fn:t.program(4,r,0),inverse:t.noop,data:r,loc:{start:{line:20,column:16},end:{line:20,column:52}}}))!=null?n:"")},compiler:[8,">= 4.3.0"],main:function(t,e,n,d,m){var c=e??(t.nullContext||{}),i=t.lookupProperty||function(a,b){if(Object.prototype.hasOwnProperty.call(a,b))return a[b]},f=((p=i(n,"each").call(c,e!=null?i(e,"states"):e,{name:"each",hash:{},fn:t.program(1,m,0),inverse:t.noop,data:m,loc:{start:{line:1,column:0},end:{line:12,column:9}}}))!=null?p:"")+`
|
|
6
|
-
`,v=(v=i(n,"transitions")||(e!=null?i(e,"transitions"):e))!=null?v:t.hooks.helperMissing,m={name:"transitions",hash:{},fn:t.program(28,m,0),inverse:t.noop,data:m,loc:{start:{line:14,column:0},end:{line:21,column:16}}},p=typeof v=="function"?v.call(c,m):v;return(p=i(n,"transitions")?p:t.hooks.blockHelperMissing.call(e,p,m))!=null&&(f+=p),f},usePartial:!0,useData:!0})});var En=U((si,On)=>{var M=require("handlebars/dist/handlebars.runtime.js"),Pn=require("lodash/cloneDeep.js");An();var bo=/;|,|{| |\[/,$o=/;|,|{/,xo=/;|{/;function
|
|
7
|
-
`)}}function Ao(t){return(Object.prototype.hasOwnProperty.call(t,"label")||Object.prototype.hasOwnProperty.call(t,"typeExplicitlySet")||Object.prototype.hasOwnProperty.call(t,"color")||Object.prototype.hasOwnProperty.call(t,"active")||Object.prototype.hasOwnProperty.call(t,"class"))&&(t.hasExtendedAttributes=!0),t}function Cn(t){return t.map(Ao).filter(e=>e.statemachine).forEach(e=>{e.statemachine.states=Cn(e.statemachine.states)}),t.map(wo)}function Po(t){return(Object.prototype.hasOwnProperty.call(t,"type")||Object.prototype.hasOwnProperty.call(t,"color")||Object.prototype.hasOwnProperty.call(t,"class"))&&(t.hasExtendedAttributes=!0),t}function Co(t){return t.map(Po)}M.registerHelper("quotifyState",t=>
|
|
6
|
+
`,v=(v=i(n,"transitions")||(e!=null?i(e,"transitions"):e))!=null?v:t.hooks.helperMissing,m={name:"transitions",hash:{},fn:t.program(28,m,0),inverse:t.noop,data:m,loc:{start:{line:14,column:0},end:{line:21,column:16}}},p=typeof v=="function"?v.call(c,m):v;return(p=i(n,"transitions")?p:t.hooks.blockHelperMissing.call(e,p,m))!=null&&(f+=p),f},usePartial:!0,useData:!0})});var En=U((si,On)=>{var M=require("handlebars/dist/handlebars.runtime.js"),Pn=require("lodash/cloneDeep.js");An();var bo=/;|,|{| |\[/,$o=/;|,|{/,xo=/;|{/;function He(t,e){return t.test(e)?`"${e}"`:e}M.registerPartial("smcat.template.hbs",M.templates["smcat.template.hbs"]);function ko(t){return t==="activity"?"":`${t}/ `}function wo(t){return{...t,actions:(t.actions||[]).map(e=>`${ko(e.type)}${e.body}`).join(`
|
|
7
|
+
`)}}function Ao(t){return(Object.prototype.hasOwnProperty.call(t,"label")||Object.prototype.hasOwnProperty.call(t,"typeExplicitlySet")||Object.prototype.hasOwnProperty.call(t,"color")||Object.prototype.hasOwnProperty.call(t,"active")||Object.prototype.hasOwnProperty.call(t,"class"))&&(t.hasExtendedAttributes=!0),t}function Cn(t){return t.map(Ao).filter(e=>e.statemachine).forEach(e=>{e.statemachine.states=Cn(e.statemachine.states)}),t.map(wo)}function Po(t){return(Object.prototype.hasOwnProperty.call(t,"type")||Object.prototype.hasOwnProperty.call(t,"color")||Object.prototype.hasOwnProperty.call(t,"class"))&&(t.hasExtendedAttributes=!0),t}function Co(t){return t.map(Po)}M.registerHelper("quotifyState",t=>He(bo,t));M.registerHelper("quotifyLabel",t=>He(xo,t));M.registerHelper("quotifyActions",t=>He($o,t));On.exports=function(e){return M.templates["smcat.template.hbs"]({...e,states:Cn(Pn(e.states)),transitions:Co(Pn(e.transitions||[]))})}});var Fn=U(()=>{var Ie=require("handlebars/dist/handlebars.runtime"),Wo=Ie.template,Yo=Ie.templates=Ie.templates||{};Yo["dot.template.hbs"]=Wo({1:function(t,e,n,d,r,c,i){var f=e??(t.nullContext||{}),v=t.hooks.helperMissing,m="function",p=t.hooks.blockHelperMissing,a=t.lookupProperty||function(D,I){if(Object.prototype.hasOwnProperty.call(D,I))return D[I]},b="",u=(u=a(n,"noteName")||(e!=null?a(e,"noteName"):e))!=null?u:v,k={name:"noteName",hash:{},fn:t.noop,inverse:t.program(2,r,0,c,i),data:r,loc:{start:{line:9,column:2},end:{line:26,column:15}}},$=typeof u==m?u.call(f,k):u;return($=a(n,"noteName")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"noteName")||(e!=null?a(e,"noteName"):e))!=null?u:v,k={name:"noteName",hash:{},fn:t.program(19,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:27,column:2},end:{line:37,column:15}}},$=typeof u==m?u.call(f,k):u,($=a(n,"noteName")?$:p.call(e,$,k))!=null&&(b+=$),b},2:function(t,e,n,d,r){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",v=t.hooks.blockHelperMissing,m=t.lookupProperty||function(k,$){if(Object.prototype.hasOwnProperty.call(k,$))return k[$]},p="",a=(a=m(n,"isCompositeSelf")||(e!=null?m(e,"isCompositeSelf"):e))!=null?a:i,b={name:"isCompositeSelf",hash:{},fn:t.noop,inverse:t.program(3,r,0),data:r,loc:{start:{line:10,column:4},end:{line:16,column:24}}},u=typeof a==f?a.call(c,b):a;return(u=m(n,"isCompositeSelf")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"isCompositeSelf")||(e!=null?m(e,"isCompositeSelf"):e))!=null?a:i,b={name:"isCompositeSelf",hash:{},fn:t.program(14,r,0),inverse:t.noop,data:r,loc:{start:{line:17,column:4},end:{line:25,column:24}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"isCompositeSelf")?u:v.call(e,u,b))!=null&&(p+=u),p},3:function(t,e,n,d,r){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",v=t.hooks.blockHelperMissing,m=t.lookupProperty||function(k,$){if(Object.prototype.hasOwnProperty.call(k,$))return k[$]},p=' "'+((u=typeof(a=(a=m(n,"from")||(e!=null?m(e,"from"):e))!=null?a:i)==f?a.call(c,{name:"from",hash:{},data:r,loc:{start:{line:11,column:5},end:{line:11,column:15}}}):a)!=null?u:"")+'" -> "'+((u=typeof(a=(a=m(n,"to")||(e!=null?m(e,"to"):e))!=null?a:i)==f?a.call(c,{name:"to",hash:{},data:r,loc:{start:{line:11,column:21},end:{line:11,column:29}}}):a)!=null?u:"")+'" [label="',a=(a=m(n,"label")||(e!=null?m(e,"label"):e))!=null?a:i,b={name:"label",hash:{},fn:t.noop,inverse:t.program(4,r,0),data:r,loc:{start:{line:11,column:39},end:{line:11,column:60}}},u=typeof a==f?a.call(c,b):a;return(u=m(n,"label")?u:v.call(e,u,b))!=null&&(p+=u),p+=((u=typeof(a=(a=m(n,"label")||(e!=null?m(e,"label"):e))!=null?a:i)==f?a.call(c,{name:"label",hash:{},data:r,loc:{start:{line:11,column:60},end:{line:11,column:71}}}):a)!=null?u:"")+'"',a=(a=m(n,"fromComposite")||(e!=null?m(e,"fromComposite"):e))!=null?a:i,b={name:"fromComposite",hash:{},fn:t.program(6,r,0),inverse:t.noop,data:r,loc:{start:{line:12,column:28},end:{line:12,column:92}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"fromComposite")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"toComposite")||(e!=null?m(e,"toComposite"):e))!=null?a:i,b={name:"toComposite",hash:{},fn:t.program(8,r,0),inverse:t.noop,data:r,loc:{start:{line:13,column:28},end:{line:13,column:86}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"toComposite")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"color")||(e!=null?m(e,"color"):e))!=null?a:i,b={name:"color",hash:{},fn:t.program(10,r,0),inverse:t.noop,data:r,loc:{start:{line:14,column:28},end:{line:14,column:85}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"color")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"width")||(e!=null?m(e,"width"):e))!=null?a:i,b={name:"width",hash:{},fn:t.program(12,r,0),inverse:t.noop,data:r,loc:{start:{line:15,column:28},end:{line:15,column:68}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"width")?u:v.call(e,u,b))!=null&&(p+=u),p+' class="'+((u=typeof(a=(a=m(n,"class")||(e!=null?m(e,"class"):e))!=null?a:i)==f?a.call(c,{name:"class",hash:{},data:r,loc:{start:{line:15,column:76},end:{line:15,column:87}}}):a)!=null?u:"")+`"]
|
|
8
8
|
`},4:function(t,e,n,d,r){return" "},6:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return' ltail="cluster_'+((c=typeof(n=(n=c(n,"from")||(e!=null?c(e,"from"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"from",hash:{},data:r,loc:{start:{line:12,column:63},end:{line:12,column:73}}}):n)!=null?c:"")+'"'},8:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return' lhead="cluster_'+((c=typeof(n=(n=c(n,"to")||(e!=null?c(e,"to"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"to",hash:{},data:r,loc:{start:{line:13,column:61},end:{line:13,column:69}}}):n)!=null?c:"")+'"'},10:function(i,e,n,d,r){var c,i=i.lambda;return' color="'+((c=i(e,e))!=null?c:"")+'" fontcolor="'+((c=i(e,e))!=null?c:"")+'"'},12:function(t,e,n,d,r){return' penwidth="'+((t=t.lambda(e,e))!=null?t:"")+'"'},14:function(t,e,n,d,r){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",v=t.hooks.blockHelperMissing,m=t.lookupProperty||function(k,$){if(Object.prototype.hasOwnProperty.call(k,$))return k[$]},p=' "'+((u=typeof(a=(a=m(n,"from")||(e!=null?m(e,"from"):e))!=null?a:i)==f?a.call(c,{name:"from",hash:{},data:r,loc:{start:{line:18,column:7},end:{line:18,column:17}}}):a)!=null?u:"")+'" -> "self_'+((u=typeof(a=(a=m(n,"name")||(e!=null?m(e,"name"):e))!=null?a:i)==f?a.call(c,{name:"name",hash:{},data:r,loc:{start:{line:18,column:28},end:{line:18,column:38}}}):a)!=null?u:"")+'" [label="',a=(a=m(n,"label")||(e!=null?m(e,"label"):e))!=null?a:i,b={name:"label",hash:{},fn:t.noop,inverse:t.program(4,r,0),data:r,loc:{start:{line:18,column:48},end:{line:18,column:69}}},u=typeof a==f?a.call(c,b):a;return(u=m(n,"label")?u:v.call(e,u,b))!=null&&(p+=u),p+=((u=typeof(a=(a=m(n,"label")||(e!=null?m(e,"label"):e))!=null?a:i)==f?a.call(c,{name:"label",hash:{},data:r,loc:{start:{line:18,column:69},end:{line:18,column:80}}}):a)!=null?u:"")+'" arrowhead=none',a=(a=m(n,"tailportflags")||(e!=null?m(e,"tailportflags"):e))!=null?a:i,b={name:"tailportflags",hash:{},fn:t.program(15,r,0),inverse:t.noop,data:r,loc:{start:{line:19,column:28},end:{line:19,column:73}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"tailportflags")?u:v.call(e,u,b))!=null&&(p+=u),p+=' ltail="cluster_'+((u=typeof(a=(a=m(n,"from")||(e!=null?m(e,"from"):e))!=null?a:i)==f?a.call(c,{name:"from",hash:{},data:r,loc:{start:{line:19,column:89},end:{line:19,column:99}}}):a)!=null?u:"")+'"',a=(a=m(n,"color")||(e!=null?m(e,"color"):e))!=null?a:i,b={name:"color",hash:{},fn:t.program(10,r,0),inverse:t.noop,data:r,loc:{start:{line:20,column:28},end:{line:20,column:85}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"color")?u:v.call(e,u,b))!=null&&(p+=u),p+=' class="'+((u=typeof(a=(a=m(n,"class")||(e!=null?m(e,"class"):e))!=null?a:i)==f?a.call(c,{name:"class",hash:{},data:r,loc:{start:{line:20,column:93},end:{line:20,column:104}}}):a)!=null?u:"")+`"]
|
|
9
9
|
"self_`+((u=typeof(a=(a=m(n,"name")||(e!=null?m(e,"name"):e))!=null?a:i)==f?a.call(c,{name:"name",hash:{},data:r,loc:{start:{line:21,column:12},end:{line:21,column:22}}}):a)!=null?u:"")+'" -> "'+((u=typeof(a=(a=m(n,"from")||(e!=null?m(e,"from"):e))!=null?a:i)==f?a.call(c,{name:"from",hash:{},data:r,loc:{start:{line:21,column:28},end:{line:21,column:38}}}):a)!=null?u:"")+'" [lhead="cluster_'+((u=typeof(a=(a=m(n,"from")||(e!=null?m(e,"from"):e))!=null?a:i)==f?a.call(c,{name:"from",hash:{},data:r,loc:{start:{line:21,column:56},end:{line:21,column:66}}}):a)!=null?u:"")+'"',a=(a=m(n,"headportflags")||(e!=null?m(e,"headportflags"):e))!=null?a:i,b={name:"headportflags",hash:{},fn:t.program(15,r,0),inverse:t.noop,data:r,loc:{start:{line:22,column:28},end:{line:22,column:73}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"headportflags")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"color")||(e!=null?m(e,"color"):e))!=null?a:i,b={name:"color",hash:{},fn:t.program(17,r,0),inverse:t.noop,data:r,loc:{start:{line:23,column:28},end:{line:23,column:65}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"color")?u:v.call(e,u,b))!=null&&(p+=u),a=(a=m(n,"width")||(e!=null?m(e,"width"):e))!=null?a:i,b={name:"width",hash:{},fn:t.program(12,r,0),inverse:t.noop,data:r,loc:{start:{line:24,column:28},end:{line:24,column:68}}},u=typeof a==f?a.call(c,b):a,(u=m(n,"width")?u:v.call(e,u,b))!=null&&(p+=u),p+' class="'+((u=typeof(a=(a=m(n,"class")||(e!=null?m(e,"class"):e))!=null?a:i)==f?a.call(c,{name:"class",hash:{},data:r,loc:{start:{line:24,column:76},end:{line:24,column:87}}}):a)!=null?u:"")+`"]
|
|
10
10
|
`},15:function(t,e,n,d,r){return" "+((t=t.lambda(e,e))!=null?t:"")},17:function(t,e,n,d,r){return' color="'+((t=t.lambda(e,e))!=null?t:"")+'"'},19:function(t,e,n,d,r,c,i){var f,v=t.lambda,m=t.hooks.blockHelperMissing,p=t.lookupProperty||function(a,b){if(Object.prototype.hasOwnProperty.call(a,b))return a[b]};return' "i_'+((f=v(e,e))!=null?f:"")+`" [shape=point style=invis margin=0 width=0 height=0 fixedsize=true]
|
|
@@ -19,7 +19,7 @@ var Ba=Object.create;var ge=Object.defineProperty;var Ha=Object.getOwnPropertyDe
|
|
|
19
19
|
|
|
20
20
|
`+((u=t.invokePartial(m(p,"dot.states.template.hbs"),e,{name:"dot.states.template.hbs",data:r,indent:" ",helpers:n,partials:p,decorators:t.decorators}))!=null?u:"")+`
|
|
21
21
|
`,a=(a=m(n,"transitions")||(e!=null?m(e,"transitions"):e))!=null?a:b,b={name:"transitions",hash:{},fn:t.program(1,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:8,column:2},end:{line:38,column:18}}},u=typeof a==v?a.call(f,b):a;return(u=m(n,"transitions")?u:t.hooks.blockHelperMissing.call(e,u,b))!=null&&(p+=u),p+`}
|
|
22
|
-
`},usePartial:!0,useData:!0,useDepths:!0})});var Tn=U(()=>{var
|
|
22
|
+
`},usePartial:!0,useData:!0,useDepths:!0})});var Tn=U(()=>{var Le=require("handlebars/dist/handlebars.runtime"),Zo=Le.template,Ko=Le.templates=Le.templates||{};Ko["dot.states.template.hbs"]=Zo({1:function(t,e,n,d,f){var c=t.lookupProperty||function(m,p){if(Object.prototype.hasOwnProperty.call(m,p))return m[p]},i="",v=(v=c(n,"nestedExternalSelfTransitions")||(e!=null?c(e,"nestedExternalSelfTransitions"):e))!=null?v:t.hooks.helperMissing,f={name:"nestedExternalSelfTransitions",hash:{},fn:t.program(2,f,0),inverse:t.noop,data:f,loc:{start:{line:2,column:2},end:{line:4,column:36}}},v=typeof v=="function"?v.call(e??(t.nullContext||{}),f):v;return(v=c(n,"nestedExternalSelfTransitions")?v:t.hooks.blockHelperMissing.call(e,v,f))!=null&&(i+=v),i},2:function(t,e,n,d,r){return' "self_'+((t=t.lambda(e,e))!=null?t:"")+`" [shape=point style=invis width=0 height=0 fixedsize=true]
|
|
23
23
|
`},4:function(t,e,n,d,r){var c,i,f=e??(t.nullContext||{}),v=t.hooks.helperMissing,m="function",p=t.lookupProperty||function(a,b){if(Object.prototype.hasOwnProperty.call(a,b))return a[b]};return' "'+((c=typeof(i=(i=p(n,"name")||(e!=null?p(e,"name"):e))!=null?i:v)==m?i.call(f,{name:"name",hash:{},data:r,loc:{start:{line:7,column:3},end:{line:7,column:13}}}):i)!=null?c:"")+'" [shape=circle style=filled class="'+((c=typeof(i=(i=p(n,"class")||(e!=null?p(e,"class"):e))!=null?i:v)==m?i.call(f,{name:"class",hash:{},data:r,loc:{start:{line:7,column:49},end:{line:7,column:60}}}):i)!=null?c:"")+'" '+((c=p(n,"if").call(f,e!=null?p(e,"color"):e,{name:"if",hash:{},fn:t.program(5,r,0),inverse:t.program(7,r,0),data:r,loc:{start:{line:7,column:62},end:{line:7,column:150}}}))!=null?c:"")+((c=p(n,"if").call(f,e!=null?p(e,"active"):e,{name:"if",hash:{},fn:t.program(9,r,0),inverse:t.noop,data:r,loc:{start:{line:7,column:150},end:{line:7,column:184}}}))!=null?c:"")+`fixedsize=true height=0.15 label=""]
|
|
24
24
|
`},5:function(p,e,n,d,r){var c,i,f=e??(p.nullContext||{}),v=p.hooks.helperMissing,m="function",p=p.lookupProperty||function(a,b){if(Object.prototype.hasOwnProperty.call(a,b))return a[b]};return'color="'+((c=typeof(i=(i=p(n,"color")||(e!=null?p(e,"color"):e))!=null?i:v)==m?i.call(f,{name:"color",hash:{},data:r,loc:{start:{line:7,column:82},end:{line:7,column:93}}}):i)!=null?c:"")+'" fillcolor="'+((c=typeof(i=(i=p(n,"color")||(e!=null?p(e,"color"):e))!=null?i:v)==m?i.call(f,{name:"color",hash:{},data:r,loc:{start:{line:7,column:106},end:{line:7,column:117}}}):i)!=null?c:"")+'" '},7:function(t,e,n,d,r){return"fillcolor=black "},9:function(t,e,n,d,r){return"penwidth=3.0 "},11:function(t,e,n,d,r){var c=e??(t.nullContext||{}),p=t.hooks.helperMissing,i="function",f=t.lookupProperty||function(b,u){if(Object.prototype.hasOwnProperty.call(b,u))return b[u]},v=' "'+((a=typeof(m=(m=f(n,"name")||(e!=null?f(e,"name"):e))!=null?m:p)==i?m.call(c,{name:"name",hash:{},data:r,loc:{start:{line:10,column:3},end:{line:10,column:13}}}):m)!=null?a:"")+'" [margin=0 class="'+((a=typeof(m=(m=f(n,"class")||(e!=null?f(e,"class"):e))!=null?m:p)==i?m.call(c,{name:"class",hash:{},data:r,loc:{start:{line:10,column:32},end:{line:10,column:43}}}):m)!=null?a:"")+'" '+((a=f(n,"if").call(c,e!=null?f(e,"color"):e,{name:"if",hash:{},fn:t.program(12,r,0),inverse:t.noop,data:r,loc:{start:{line:10,column:45},end:{line:10,column:85}}}))!=null?a:"")+((a=f(n,"if").call(c,e!=null?f(e,"active"):e,{name:"if",hash:{},fn:t.program(14,r,0),inverse:t.noop,data:r,loc:{start:{line:10,column:85},end:{line:10,column:134}}}))!=null?a:"")+`label= <
|
|
25
25
|
<table align="center" cellborder="0" border="2" style="rounded" width="48">
|
|
@@ -30,7 +30,7 @@ var Ba=Object.create;var ge=Object.defineProperty;var Ha=Object.getOwnPropertyDe
|
|
|
30
30
|
<tr><td align="left" cellpadding="2">`+t.escapeExpression(t.lambda(e,e))+`</td></tr>
|
|
31
31
|
`},25:function(t,e,n,d,r){return"<hr/>"},27:function(t,e,n,d,r){var c,i,f=e??(t.nullContext||{}),v=t.hooks.helperMissing,m="function",p=t.lookupProperty||function(a,b){if(Object.prototype.hasOwnProperty.call(a,b))return a[b]};return' "'+((c=typeof(i=(i=p(n,"name")||(e!=null?p(e,"name"):e))!=null?i:v)==m?i.call(f,{name:"name",hash:{},data:r,loc:{start:{line:21,column:3},end:{line:21,column:13}}}):i)!=null?c:"")+'" [shape=circle class="'+((c=typeof(i=(i=p(n,"class")||(e!=null?p(e,"class"):e))!=null?i:v)==m?i.call(f,{name:"class",hash:{},data:r,loc:{start:{line:21,column:36},end:{line:21,column:47}}}):i)!=null?c:"")+'" '+((c=p(n,"if").call(f,e!=null?p(e,"color"):e,{name:"if",hash:{},fn:t.program(12,r,0),inverse:t.noop,data:r,loc:{start:{line:21,column:49},end:{line:21,column:89}}}))!=null?c:"")+((c=p(n,"if").call(f,e!=null?p(e,"active"):e,{name:"if",hash:{},fn:t.program(9,r,0),inverse:t.noop,data:r,loc:{start:{line:21,column:89},end:{line:21,column:123}}}))!=null?c:"")+`label="H"]
|
|
32
32
|
`},29:function(t,e,n,d,r){var c,i,f=e??(t.nullContext||{}),v=t.hooks.helperMissing,m="function",p=t.lookupProperty||function(a,b){if(Object.prototype.hasOwnProperty.call(a,b))return a[b]};return' "'+((c=typeof(i=(i=p(n,"name")||(e!=null?p(e,"name"):e))!=null?i:v)==m?i.call(f,{name:"name",hash:{},data:r,loc:{start:{line:24,column:3},end:{line:24,column:13}}}):i)!=null?c:"")+'" [shape=circle class="'+((c=typeof(i=(i=p(n,"class")||(e!=null?p(e,"class"):e))!=null?i:v)==m?i.call(f,{name:"class",hash:{},data:r,loc:{start:{line:24,column:36},end:{line:24,column:47}}}):i)!=null?c:"")+'" '+((c=p(n,"if").call(f,e!=null?p(e,"color"):e,{name:"if",hash:{},fn:t.program(12,r,0),inverse:t.noop,data:r,loc:{start:{line:24,column:49},end:{line:24,column:89}}}))!=null?c:"")+((c=p(n,"if").call(f,e!=null?p(e,"active"):e,{name:"if",hash:{},fn:t.program(9,r,0),inverse:t.noop,data:r,loc:{start:{line:24,column:89},end:{line:24,column:123}}}))!=null?c:"")+`label="H*"]
|
|
33
|
-
`},31:function(t,e,n,d,r,c,i){var f=e??(t.nullContext||{}),v=t.hooks.helperMissing,m="function",p=t.hooks.blockHelperMissing,a=t.lookupProperty||function(
|
|
33
|
+
`},31:function(t,e,n,d,r,c,i){var f=e??(t.nullContext||{}),v=t.hooks.helperMissing,m="function",p=t.hooks.blockHelperMissing,a=t.lookupProperty||function(D,I){if(Object.prototype.hasOwnProperty.call(D,I))return D[I]},b=' "'+(($=typeof(u=(u=a(n,"name")||(e!=null?a(e,"name"):e))!=null?u:v)==m?u.call(f,{name:"name",hash:{},data:r,loc:{start:{line:27,column:3},end:{line:27,column:13}}}):u)!=null?$:"")+'" [shape=diamond fixedsize=true width=0.35 height=0.35 fontsize=10 class="'+(($=typeof(u=(u=a(n,"class")||(e!=null?a(e,"class"):e))!=null?u:v)==m?u.call(f,{name:"class",hash:{},data:r,loc:{start:{line:27,column:87},end:{line:27,column:98}}}):u)!=null?$:"")+'" '+(($=a(n,"if").call(f,e!=null?a(e,"color"):e,{name:"if",hash:{},fn:t.program(12,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:27,column:100},end:{line:27,column:140}}}))!=null?$:"")+(($=a(n,"if").call(f,e!=null?a(e,"active"):e,{name:"if",hash:{},fn:t.program(9,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:27,column:140},end:{line:27,column:174}}}))!=null?$:"")+`label=" "]
|
|
34
34
|
"`+(($=typeof(u=(u=a(n,"name")||(e!=null?a(e,"name"):e))!=null?u:v)==m?u.call(f,{name:"name",hash:{},data:r,loc:{start:{line:28,column:3},end:{line:28,column:13}}}):u)!=null?$:"")+'" -> "'+(($=typeof(u=(u=a(n,"name")||(e!=null?a(e,"name"):e))!=null?u:v)==m?u.call(f,{name:"name",hash:{},data:r,loc:{start:{line:28,column:19},end:{line:28,column:29}}}):u)!=null?$:"")+'" [label=<',u=(u=a(n,"actions")||(e!=null?a(e,"actions"):e))!=null?u:v,k={name:"actions",hash:{},fn:t.program(32,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:28,column:39},end:{line:28,column:144}}},$=typeof u==m?u.call(f,k):u;return($=a(n,"actions")?$:p.call(e,$,k))!=null&&(b+=$),b+='> color="#FFFFFF01"',u=(u=a(n,"color")||(e!=null?a(e,"color"):e))!=null?u:v,k={name:"color",hash:{},fn:t.program(41,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:28,column:163},end:{line:28,column:203}}},$=typeof u==m?u.call(f,k):u,($=a(n,"color")?$:p.call(e,$,k))!=null&&(b+=$),b+' class="'+(($=typeof(u=(u=a(n,"class")||(e!=null?a(e,"class"):e))!=null?u:v)==m?u.call(f,{name:"class",hash:{},data:r,loc:{start:{line:28,column:211},end:{line:28,column:222}}}):u)!=null?$:"")+`"];
|
|
35
35
|
`},32:function(t,v,n,d,r,c,i){var f,v=v??(t.nullContext||{}),m=t.lookupProperty||function(p,a){if(Object.prototype.hasOwnProperty.call(p,a))return p[a]};return((f=m(n,"if").call(v,r&&m(r,"first"),{name:"if",hash:{},fn:t.program(33,r,0,c,i),inverse:t.program(35,r,0,c,i),data:r,loc:{start:{line:28,column:51},end:{line:28,column:82}}}))!=null?f:"")+((f=m(n,"if").call(v,i[1]!=null?m(i[1],"active"):i[1],{name:"if",hash:{},fn:t.program(37,r,0,c,i),inverse:t.program(39,r,0,c,i),data:r,loc:{start:{line:28,column:82},end:{line:28,column:131}}}))!=null?f:"")},33:function(t,e,n,d,r){return""},35:function(t,e,n,d,r){return"\\n"},37:function(t,e,n,d,r){return"<i>"+t.escapeExpression(t.lambda(e,e))+"</i>"},39:function(t,e,n,d,r){return t.escapeExpression(t.lambda(e,e))},41:function(t,e,n,d,r){return' fontcolor="'+((t=t.lambda(e,e))!=null?t:"")+'"'},43:function(t,e,n,d,r){var c,i,f=e??(t.nullContext||{}),v=t.hooks.helperMissing,m="function",p=t.lookupProperty||function(a,b){if(Object.prototype.hasOwnProperty.call(a,b))return a[b]};return' "'+((c=typeof(i=(i=p(n,"name")||(e!=null?p(e,"name"):e))!=null?i:v)==m?i.call(f,{name:"name",hash:{},data:r,loc:{start:{line:31,column:3},end:{line:31,column:13}}}):i)!=null?c:"")+'" [shape=rect class="'+((c=typeof(i=(i=p(n,"class")||(e!=null?p(e,"class"):e))!=null?i:v)==m?i.call(f,{name:"class",hash:{},data:r,loc:{start:{line:31,column:34},end:{line:31,column:45}}}):i)!=null?c:"")+'" '+((c=p(n,"if").call(f,e!=null?p(e,"color"):e,{name:"if",hash:{},fn:t.program(5,r,0),inverse:t.program(7,r,0),data:r,loc:{start:{line:31,column:47},end:{line:31,column:135}}}))!=null?c:"")+((c=p(n,"if").call(f,e!=null?p(e,"active"):e,{name:"if",hash:{},fn:t.program(9,r,0),inverse:t.noop,data:r,loc:{start:{line:31,column:135},end:{line:31,column:169}}}))!=null?c:"")+'label=" " fixedsize=true style=filled '+((c=typeof(i=(i=p(n,"sizingExtras")||(e!=null?p(e,"sizingExtras"):e))!=null?i:v)==m?i.call(f,{name:"sizingExtras",hash:{},data:r,loc:{start:{line:31,column:207},end:{line:31,column:225}}}):i)!=null?c:"")+`]
|
|
36
36
|
`},45:function(t,e,n,d,r){var c,i,f=e??(t.nullContext||{}),v=t.hooks.helperMissing,m="function",p=t.lookupProperty||function(a,b){if(Object.prototype.hasOwnProperty.call(a,b))return a[b]};return' "'+((c=typeof(i=(i=p(n,"name")||(e!=null?p(e,"name"):e))!=null?i:v)==m?i.call(f,{name:"name",hash:{},data:r,loc:{start:{line:37,column:3},end:{line:37,column:13}}}):i)!=null?c:"")+`" [label= <
|
|
@@ -53,10 +53,10 @@ var Ba=Object.create;var ge=Object.defineProperty;var Ha=Object.getOwnPropertyDe
|
|
|
53
53
|
<tr><td align="left">`+t.escapeExpression(t.lambda(e,e))+`</td></tr>
|
|
54
54
|
`},53:function(t,e,n,d,r){return'style="dashed" penwidth=1'},55:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return"style=rounded "+((n=c(n,"if").call(e??(t.nullContext||{}),e!=null?c(e,"active"):e,{name:"if",hash:{},fn:t.program(56,r,0),inverse:t.program(58,r,0),data:r,loc:{start:{line:57,column:77},end:{line:57,column:130}}}))!=null?n:"")},56:function(t,e,n,d,r){return"penwidth=3.0"},58:function(t,e,n,d,r){return"penwidth=2.0"},60:function(t,e,n,d,r,p,a){var f=t.lookupProperty||function(b,u){if(Object.prototype.hasOwnProperty.call(b,u))return b[u]},v="",m=(m=f(n,"noteName")||(e!=null?f(e,"noteName"):e))!=null?m:t.hooks.helperMissing,p={name:"noteName",hash:{},fn:t.program(61,r,0,p,a),inverse:t.noop,data:r,loc:{start:{line:63,column:4},end:{line:66,column:17}}},a=typeof m=="function"?m.call(e??(t.nullContext||{}),p):m;return(a=f(n,"noteName")?a:t.hooks.blockHelperMissing.call(e,a,p))!=null&&(v+=a),v},61:function(m,e,n,d,r,c,i){var f,v=m.lambda,m=m.lookupProperty||function(p,a){if(Object.prototype.hasOwnProperty.call(p,a))return p[a]};return' "'+((f=v(e,e))!=null?f:"")+'" [color=black fontcolor=black label="'+((f=v(i[1]!=null?m(i[1],"noteFlattened"):i[1],e))!=null?f:"")+`" shape=note fontsize=10 fillcolor="#ffffcc" penwidth=1.0]
|
|
55
55
|
"`+((f=v(i[1]!=null?m(i[1],"name"):i[1],e))!=null?f:"")+'" -> "'+((f=v(e,e))!=null?f:"")+`" [style=dashed arrowtail=none arrowhead=none]
|
|
56
|
-
`},compiler:[8,">= 4.3.0"],main:function(t,e,n,d,r,c,i){var f=e??(t.nullContext||{}),v=t.hooks.helperMissing,m="function",p=t.hooks.blockHelperMissing,a=t.lookupProperty||function(
|
|
56
|
+
`},compiler:[8,">= 4.3.0"],main:function(t,e,n,d,r,c,i){var f=e??(t.nullContext||{}),v=t.hooks.helperMissing,m="function",p=t.hooks.blockHelperMissing,a=t.lookupProperty||function(D,I){if(Object.prototype.hasOwnProperty.call(D,I))return D[I]},b="",u=(u=a(n,"compositeStates")||(e!=null?a(e,"compositeStates"):e))!=null?u:v,k={name:"compositeStates",hash:{},fn:t.program(1,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:1,column:0},end:{line:5,column:20}}},$=typeof u==m?u.call(f,k):u;return($=a(n,"compositeStates")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"initialStates")||(e!=null?a(e,"initialStates"):e))!=null?u:v,k={name:"initialStates",hash:{},fn:t.program(4,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:6,column:0},end:{line:8,column:18}}},$=typeof u==m?u.call(f,k):u,($=a(n,"initialStates")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"regularStates")||(e!=null?a(e,"regularStates"):e))!=null?u:v,k={name:"regularStates",hash:{},fn:t.program(11,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:9,column:0},end:{line:19,column:18}}},$=typeof u==m?u.call(f,k):u,($=a(n,"regularStates")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"historyStates")||(e!=null?a(e,"historyStates"):e))!=null?u:v,k={name:"historyStates",hash:{},fn:t.program(27,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:20,column:0},end:{line:22,column:18}}},$=typeof u==m?u.call(f,k):u,($=a(n,"historyStates")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"deepHistoryStates")||(e!=null?a(e,"deepHistoryStates"):e))!=null?u:v,k={name:"deepHistoryStates",hash:{},fn:t.program(29,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:23,column:0},end:{line:25,column:22}}},$=typeof u==m?u.call(f,k):u,($=a(n,"deepHistoryStates")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"choiceStates")||(e!=null?a(e,"choiceStates"):e))!=null?u:v,k={name:"choiceStates",hash:{},fn:t.program(31,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:26,column:0},end:{line:29,column:17}}},$=typeof u==m?u.call(f,k):u,($=a(n,"choiceStates")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"forkjoinStates")||(e!=null?a(e,"forkjoinStates"):e))!=null?u:v,k={name:"forkjoinStates",hash:{},fn:t.program(43,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:30,column:0},end:{line:32,column:19}}},$=typeof u==m?u.call(f,k):u,($=a(n,"forkjoinStates")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"junctionStates")||(e!=null?a(e,"junctionStates"):e))!=null?u:v,k={name:"junctionStates",hash:{},fn:t.program(4,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:33,column:0},end:{line:35,column:19}}},$=typeof u==m?u.call(f,k):u,($=a(n,"junctionStates")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"terminateStates")||(e!=null?a(e,"terminateStates"):e))!=null?u:v,k={name:"terminateStates",hash:{},fn:t.program(45,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:36,column:0},end:{line:43,column:20}}},$=typeof u==m?u.call(f,k):u,($=a(n,"terminateStates")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"finalStates")||(e!=null?a(e,"finalStates"):e))!=null?u:v,k={name:"finalStates",hash:{},fn:t.program(48,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:44,column:0},end:{line:46,column:16}}},$=typeof u==m?u.call(f,k):u,($=a(n,"finalStates")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"compositeStates")||(e!=null?a(e,"compositeStates"):e))!=null?u:v,k={name:"compositeStates",hash:{},fn:t.program(50,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:47,column:0},end:{line:61,column:20}}},$=typeof u==m?u.call(f,k):u,($=a(n,"compositeStates")?$:p.call(e,$,k))!=null&&(b+=$),u=(u=a(n,"states")||(e!=null?a(e,"states"):e))!=null?u:v,k={name:"states",hash:{},fn:t.program(60,r,0,c,i),inverse:t.noop,data:r,loc:{start:{line:62,column:0},end:{line:67,column:11}}},$=typeof u==m?u.call(f,k):u,($=a(n,"states")?$:p.call(e,$,k))!=null&&(b+=$),b},useData:!0,useDepths:!0})});var Bn=U((bi,Rn)=>{var ie=require("handlebars/dist/handlebars.runtime.js");Fn();Tn();ie.registerPartial("dot.states.template.hbs",ie.templates["dot.states.template.hbs"]);ie.registerHelper("stateSection",t=>ie.templates["dot.states.template.hbs"](es(t)));function G(t){return e=>e.type===t}function Mo(t){return e=>t.includes(e.type)}function es(t){return t.initialStates=t.states.filter(G("initial")),t.regularStates=t.states.filter(e=>G("regular")(e)&&!e.statemachine),t.historyStates=t.states.filter(G("history")),t.deepHistoryStates=t.states.filter(G("deephistory")),t.choiceStates=t.states.filter(G("choice")),t.forkjoinStates=t.states.filter(Mo(["fork","join","forkjoin"])),t.junctionStates=t.states.filter(G("junction")),t.terminateStates=t.states.filter(G("terminate")),t.finalStates=t.states.filter(G("final")),t.compositeStates=t.states.filter(e=>e.statemachine),t}Rn.exports=function(e){return ie.templates["dot.template.hbs"](e)}});var zn=U(()=>{var Se=require("handlebars/dist/handlebars.runtime"),Ps=Se.template,Cs=Se.templates=Se.templates||{};Cs["scxml.template.hbs"]=Ps({1:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return'initial="'+t.escapeExpression(typeof(n=(n=c(n,"initial")||(e!=null?c(e,"initial"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"initial",hash:{},data:r,loc:{start:{line:2,column:71},end:{line:2,column:82}}}):n)+'" '},compiler:[8,">= 4.3.0"],main:function(t,e,n,d,r){var c,i=t.lookupProperty||function(f,v){if(Object.prototype.hasOwnProperty.call(f,v))return f[v]};return`<?xml version="1.0" encoding="UTF-8"?>
|
|
57
57
|
<scxml xmlns="http://www.w3.org/2005/07/scxml" `+((c=i(n,"if").call(e??(t.nullContext||{}),e!=null?i(e,"initial"):e,{name:"if",hash:{},fn:t.program(1,r,0),inverse:t.noop,data:r,loc:{start:{line:2,column:47},end:{line:2,column:91}}}))!=null?c:"")+`version="1.0">
|
|
58
58
|
`+((c=t.invokePartial(i(d,"scxml.states.template.hbs"),e,{name:"scxml.states.template.hbs",data:r,helpers:n,partials:d,decorators:t.decorators}))!=null?c:"")+`</scxml>
|
|
59
|
-
`},usePartial:!0,useData:!0})});var Un=U(()=>{var
|
|
59
|
+
`},usePartial:!0,useData:!0})});var Un=U(()=>{var ze=require("handlebars/dist/handlebars.runtime"),Os=ze.template,Es=ze.templates=ze.templates||{};Es["scxml.states.template.hbs"]=Os({1:function(t,e,n,d,r){var c,i,f=e??(t.nullContext||{}),v=t.hooks.helperMissing,m="function",p=t.escapeExpression,a=t.lookupProperty||function(b,u){if(Object.prototype.hasOwnProperty.call(b,u))return b[u]};return" <"+p(typeof(i=(i=a(n,"kind")||(e!=null?a(e,"kind"):e))!=null?i:v)==m?i.call(f,{name:"kind",hash:{},data:r,loc:{start:{line:2,column:5},end:{line:2,column:13}}}):i)+' id="'+p(typeof(i=(i=a(n,"id")||(e!=null?a(e,"id"):e))!=null?i:v)==m?i.call(f,{name:"id",hash:{},data:r,loc:{start:{line:2,column:18},end:{line:2,column:24}}}):i)+'"'+((c=a(n,"if").call(f,e!=null?a(e,"initial"):e,{name:"if",hash:{},fn:t.program(2,r,0),inverse:t.noop,data:r,loc:{start:{line:2,column:25},end:{line:2,column:69}}}))!=null?c:"")+((c=a(n,"if").call(f,e!=null?a(e,"type"):e,{name:"if",hash:{},fn:t.program(4,r,0),inverse:t.noop,data:r,loc:{start:{line:2,column:69},end:{line:2,column:104}}}))!=null?c:"")+`>
|
|
60
60
|
`+((c=t.invokePartial(a(d,"scxml.states.template.hbs"),e,{name:"scxml.states.template.hbs",data:r,indent:" ",helpers:n,partials:d,decorators:t.decorators}))!=null?c:"")+((c=a(n,"each").call(f,e!=null?a(e,"onentries"):e,{name:"each",hash:{},fn:t.program(6,r,0),inverse:t.noop,data:r,loc:{start:{line:4,column:4},end:{line:6,column:13}}}))!=null?c:"")+((c=a(n,"each").call(f,e!=null?a(e,"onexits"):e,{name:"each",hash:{},fn:t.program(8,r,0),inverse:t.noop,data:r,loc:{start:{line:7,column:4},end:{line:9,column:13}}}))!=null?c:"")+((c=a(n,"each").call(f,e!=null?a(e,"transitions"):e,{name:"each",hash:{},fn:t.program(10,r,0),inverse:t.noop,data:r,loc:{start:{line:10,column:4},end:{line:18,column:13}}}))!=null?c:"")+" </"+p(typeof(i=(i=a(n,"kind")||(e!=null?a(e,"kind"):e))!=null?i:v)==m?i.call(f,{name:"kind",hash:{},data:r,loc:{start:{line:19,column:6},end:{line:19,column:14}}}):i)+`>
|
|
61
61
|
`},2:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return' initial="'+t.escapeExpression(typeof(n=(n=c(n,"initial")||(e!=null?c(e,"initial"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"initial",hash:{},data:r,loc:{start:{line:2,column:50},end:{line:2,column:61}}}):n)+'"'},4:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return' type="'+t.escapeExpression(typeof(n=(n=c(n,"type")||(e!=null?c(e,"type"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"type",hash:{},data:r,loc:{start:{line:2,column:88},end:{line:2,column:96}}}):n)+'"'},6:function(t,e,n,d,r){return" <onentry>"+t.escapeExpression(t.lambda(e,e))+`</onentry>
|
|
62
62
|
`},8:function(t,e,n,d,r){return" <onexit>"+t.escapeExpression(t.lambda(e,e))+`</onexit>
|
|
@@ -64,16 +64,16 @@ var Ba=Object.create;var ge=Object.defineProperty;var Ha=Object.getOwnPropertyDe
|
|
|
64
64
|
`+m(typeof(t=(t=p(n,"action")||(e!=null?p(e,"action"):e))!=null?t:f)==v?t.call(i,{name:"action",hash:{},data:r,loc:{start:{line:13,column:12},end:{line:13,column:22}}}):t)+`
|
|
65
65
|
</transition>
|
|
66
66
|
`},12:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return'event="'+t.escapeExpression(typeof(n=(n=c(n,"event")||(e!=null?c(e,"event"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"event",hash:{},data:r,loc:{start:{line:12,column:40},end:{line:12,column:49}}}):n)+'" '},14:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return'cond="'+t.escapeExpression(typeof(n=(n=c(n,"cond")||(e!=null?c(e,"cond"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"cond",hash:{},data:r,loc:{start:{line:12,column:76},end:{line:12,column:84}}}):n)+'" '},16:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return'type="'+t.escapeExpression(typeof(n=(n=c(n,"type")||(e!=null?c(e,"type"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"type",hash:{},data:r,loc:{start:{line:12,column:111},end:{line:12,column:119}}}):n)+'" '},18:function(t,e,n,d,r){var c,i=e??(t.nullContext||{}),f=t.lookupProperty||function(v,m){if(Object.prototype.hasOwnProperty.call(v,m))return v[m]};return" <transition "+((c=f(n,"if").call(i,e!=null?f(e,"event"):e,{name:"if",hash:{},fn:t.program(12,r,0),inverse:t.noop,data:r,loc:{start:{line:16,column:20},end:{line:16,column:58}}}))!=null?c:"")+((c=f(n,"if").call(i,e!=null?f(e,"cond"):e,{name:"if",hash:{},fn:t.program(14,r,0),inverse:t.noop,data:r,loc:{start:{line:16,column:58},end:{line:16,column:93}}}))!=null?c:"")+((c=f(n,"if").call(i,e!=null?f(e,"type"):e,{name:"if",hash:{},fn:t.program(16,r,0),inverse:t.noop,data:r,loc:{start:{line:16,column:93},end:{line:16,column:128}}}))!=null?c:"")+'target="'+t.escapeExpression(typeof(c=(c=f(n,"target")||(e!=null?f(e,"target"):e))!=null?c:t.hooks.helperMissing)=="function"?c.call(i,{name:"target",hash:{},data:r,loc:{start:{line:16,column:136},end:{line:16,column:146}}}):c)+`"/>
|
|
67
|
-
`},compiler:[8,">= 4.3.0"],main:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return(n=c(n,"each").call(e??(t.nullContext||{}),e!=null?c(e,"states"):e,{name:"each",hash:{},fn:t.program(1,r,0),inverse:t.noop,data:r,loc:{start:{line:1,column:0},end:{line:20,column:9}}}))!=null?n:""},usePartial:!0,useData:!0})});var Xn=U((
|
|
67
|
+
`},compiler:[8,">= 4.3.0"],main:function(t,e,n,d,r){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return(n=c(n,"each").call(e??(t.nullContext||{}),e!=null?c(e,"states"):e,{name:"each",hash:{},fn:t.program(1,r,0),inverse:t.noop,data:r,loc:{start:{line:1,column:0},end:{line:20,column:9}}}))!=null?n:""},usePartial:!0,useData:!0})});var Xn=U((Vi,Gn)=>{var Ue=require("handlebars/dist/handlebars.runtime.js");zn();Un();Ue.registerPartial("scxml.states.template.hbs",Ue.templates["scxml.states.template.hbs"]);Gn.exports=function(e){return Ue.templates["scxml.template.hbs"](e)}});var _s={};La(_s,{default:()=>js,getAllowedValues:()=>Mn,render:()=>Zn,version:()=>Kn});module.exports=Na(_s);var tn=Object.freeze({inputType:{default:"smcat",values:[{name:"smcat"},{name:"json"},{name:"scxml"}]},outputType:{default:"svg",values:[{name:"ast"},{name:"dot"},{name:"eps"},{name:"json"},{name:"oldeps"},{name:"oldps"},{name:"oldps2"},{name:"oldsvg"},{name:"pdf"},{name:"png"},{name:"ps"},{name:"ps2"},{name:"scjson"},{name:"scxml"},{name:"smcat"},{name:"svg"}]},engine:{default:"dot",values:[{name:"dot"},{name:"circo"},{name:"fdp"},{name:"neato"},{name:"osage"},{name:"twopi"}]},direction:{default:"top-down",values:[{name:"top-down"},{name:"bottom-top"},{name:"left-right"},{name:"right-left"}]},desugar:{default:!1,values:[{name:!0},{name:!1}]}});function Va(t,e){return(t==null?void 0:t[e])??tn[e].default}function Sa(){return tn}var H={getAllowedValues:Sa,getOptionValue:Va};var bn=R(require("ajv"),1);function nn(t,e=!1){let n=[];return t.filter(d=>Boolean(d.statemachine)).forEach(d=>{Object.prototype.hasOwnProperty.call(d.statemachine,"states")&&(n=n.concat(nn(d.statemachine.states,!0)))}),n.concat(t.map(d=>({name:d.name,type:d.type,statemachine:Boolean(d.statemachine),hasParent:e})))}function ln(t){let e=[];return Object.prototype.hasOwnProperty.call(t,"transitions")&&(e=t.transitions),Object.prototype.hasOwnProperty.call(t,"states")&&t.states.filter(n=>Boolean(n.statemachine)).forEach(n=>{e=e.concat(ln(n.statemachine))}),e}var q=class{constructor(e){this._flattenedStates=nn(e.states||[]),this._flattenedTransitions=ln(e)}get flattenedTransitions(){return this._flattenedTransitions}findStateByName(e){return this._flattenedStates.find(n=>n.name===e)}findStatesByTypes(e){return this._flattenedStates.filter(n=>e.includes(n.type))}findExternalSelfTransitions(e){return this._flattenedTransitions.filter(n=>n.from===e&&n.to===e&&n.type!=="internal")}findTransitionsByFrom(e){return this._flattenedTransitions.filter(n=>n.from===e)}findTransitionsByTo(e){return this._flattenedTransitions.filter(n=>n.to===e)}};var za="^(entry|activity|exit)\\s*/\\s*([^\\n$]*)(\\n|$)",Ua=new RegExp(za);function rn(t,e){return t.includes(e)}var Ga=[{re:/initial/,stateType:"initial"},{re:/final/,stateType:"final"},{re:/parallel/,stateType:"parallel"},{re:/(deep.*history)|(history.*deep)/,stateType:"deephistory"},{re:/history/,stateType:"history"},{re:/^\^.*/,stateType:"choice"},{re:/^].*/,stateType:"forkjoin"}];function Xa(t){return e=>e.re.test(t)}function an(t){return(Ga.find(Xa(t))||{stateType:"regular"}).stateType}function Ee(t){return{name:t,type:an(t)}}function on(t){return Boolean(t.statemachine)}function sn(t){let e=(t==null?void 0:t.states)??[];return e.filter(on).reduce((n,d)=>n.concat(sn(d.statemachine)),e.map(({name:n})=>n))}function un(t,e){e=e||sn(t),t.states=(t==null?void 0:t.states)??[];let n=(t==null?void 0:t.transitions)??[];return t.states.filter(on).forEach(d=>{d.statemachine.states=un(d.statemachine,e)}),n.forEach(d=>{rn(e,d.from)||(e.push(d.from),t.states.push(Ee(d.from))),rn(e,d.to)||(e.push(d.to),t.states.push(Ee(d.to)))}),t.states}function Ja(t,e){let n="junction";return t<=1&&e>1&&(n="fork"),t>1&&e<=1&&(n="join"),n}function cn(t,e=new q(t)){return t.states=t.states.map(n=>{if(n.type==="forkjoin"&&!n.typeExplicitlySet){let d=e.findTransitionsByTo(n.name).length,r=e.findTransitionsByFrom(n.name).length;n.type=Ja(d,r)}return n.statemachine&&(n.statemachine=cn(n.statemachine,e)),n}),t}function Qa(t,e){return t.name===e.name}function Wa(t,e){return t.reduce((n,d)=>{let r=n.findIndex(c=>e(c,d));return r>-1?(n[r]=d,n):n.concat(d)},[])}function Ya(t){let e=/([^[/]+)?(\[[^\]]+\])?[^/]*(\/.+)?/,n={},d=t.match(e),r=1,c=2,i=3;return d[r]&&(n.event=d[r].trim()),d[c]&&(n.cond=d[c].slice(1,-1).trim()),d[i]&&(n.action=d[i].slice(1,d[i].length).trim()),n}function fn(t,e,n,d=r=>r){d(n)&&(t[e]=n)}function Za(t,e,n){fn(t,e,n,d=>d&&d.length>0)}function Ka(t){let e=t.match(Ua),n=1,d=2;return e?{type:e[n],body:e[d]}:{type:"activity",body:t}}function Ma(t){return t.split(/\n\s*/g).map(e=>e.trim()).map(Ka)}var T={initState:Ee,extractUndeclaredStates:un,classifyForkJoins:cn,getStateType:an,stateEqual:Qa,uniq:Wa,parseTransitionExpression:Ya,extractActions:Ma,setIf:fn,setIfNotEmpty:Za};function eo(t,e){function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n}function W(t,e,n,d){var r=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(r,W.prototype),r.expected=e,r.found=n,r.location=d,r.name="SyntaxError",r}eo(W,Error);function je(t,e,n){return n=n||" ",t.length>e?t:(e-=t.length,n+=n.repeat(e),t+n.slice(0,e))}W.prototype.format=function(t){var e="Error: "+this.message;if(this.location){var n=null,d;for(d=0;d<t.length;d++)if(t[d].source===this.location.source){n=t[d].text.split(/\r\n|\n|\r/g);break}var r=this.location.start,c=this.location.source+":"+r.line+":"+r.column;if(n){var i=this.location.end,f=je("",r.line.toString().length," "),v=n[r.line-1],m=r.line===i.line?i.column:v.length+1,p=m-r.column||1;e+=`
|
|
68
68
|
--> `+c+`
|
|
69
69
|
`+f+` |
|
|
70
70
|
`+r.line+" | "+v+`
|
|
71
71
|
`+f+" | "+je("",r.column-1," ")+je("",p,"^")}else e+=`
|
|
72
|
-
at `+c}return e};W.buildMessage=function(t,e){var n={literal:function(m){return'"'+r(m.text)+'"'},class:function(m){var p=m.parts.map(function(a){return Array.isArray(a)?c(a[0])+"-"+c(a[1]):c(a)});return"["+(m.inverted?"^":"")+p.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(m){return m.description}};function d(m){return m.charCodeAt(0).toString(16).toUpperCase()}function r(m){return m.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(p){return"\\x0"+d(p)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(p){return"\\x"+d(p)})}function c(m){return m.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(p){return"\\x0"+d(p)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(p){return"\\x"+d(p)})}function i(m){return n[m.type](m)}function f(m){var p=m.map(i),a,b;if(p.sort(),p.length>0){for(a=1,b=1;a<p.length;a++)p[a-1]!==p[a]&&(p[b]=p[a],b++);p.length=b}switch(p.length){case 1:return p[0];case 2:return p[0]+" or "+p[1];default:return p.slice(0,-1).join(", ")+", or "+p[p.length-1]}}function v(m){return m?'"'+r(m)+'"':"end of input"}return"Expected "+f(t)+" but "+v(e)+" found."};function
|
|
72
|
+
at `+c}return e};W.buildMessage=function(t,e){var n={literal:function(m){return'"'+r(m.text)+'"'},class:function(m){var p=m.parts.map(function(a){return Array.isArray(a)?c(a[0])+"-"+c(a[1]):c(a)});return"["+(m.inverted?"^":"")+p.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(m){return m.description}};function d(m){return m.charCodeAt(0).toString(16).toUpperCase()}function r(m){return m.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(p){return"\\x0"+d(p)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(p){return"\\x"+d(p)})}function c(m){return m.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(p){return"\\x0"+d(p)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(p){return"\\x"+d(p)})}function i(m){return n[m.type](m)}function f(m){var p=m.map(i),a,b;if(p.sort(),p.length>0){for(a=1,b=1;a<p.length;a++)p[a-1]!==p[a]&&(p[b]=p[a],b++);p.length=b}switch(p.length){case 1:return p[0];case 2:return p[0]+" or "+p[1];default:return p.slice(0,-1).join(", ")+", or "+p[p.length-1]}}function v(m){return m?'"'+r(m)+'"':"end of input"}return"Expected "+f(t)+" but "+v(e)+" found."};function mn(t,e){e=e!==void 0?e:{};var n={},d=e.grammarSource,r={program:St},c=St,i=",",f=";",v="[",m="]",p=":",a="{",b="}",u="=",k="label",$="color",D="class",I="active",Je="type",Qe="regular",We="initial",Ye="terminate",Ze="final",Ke="parallel",Me="history",et="deephistory",tt="choice",nt="forkjoin",lt="fork",rt="join",at="junction",el="width",ot="external",st="internal",it="->",ut="=>>",ct="=>",ft=">>",mt=":>",pt="--",dt="==",ht="<-",gt="<<=",yt="<=",vt="<<",bt="<:",tl="#",nl=".",S='"',ue='\\"',$t="/*",ce="*/",xt="//",kt=/^[0-9]/,wt=/^[a-zA-Z0-9_\- ]/,At=/^[^;, "\t\n\r=\-><:{[]/,ll=/^[ \t]/,rl=/^[\r\n]/,al=/^[^\r\n]/,ol=_("statemachine"),fe=O(",",!1),Z=O(";",!1),sl=_("state"),Pt=O("[",!1),Ct=O("]",!1),Ot=O(":",!1),te=O("{",!1),il=O("}",!1),ul=_("extended state attributes"),cl=_("extended state attribute"),X=O("=",!1),fl=_("state attribute name"),ml=O("label",!0),Et=O("color",!0),pl=_("class attribute"),dl=O("class",!0),hl=_("state flag"),gl=O("active",!0),yl=_("state type"),jt=O("type",!0),vl=_("state type type"),bl=O("regular",!1),$l=O("initial",!1),xl=O("terminate",!1),kl=O("final",!1),wl=O("parallel",!1),Al=O("history",!1),Pl=O("deephistory",!1),Cl=O("choice",!1),Ol=O("forkjoin",!1),El=O("fork",!1),jl=O("join",!1),_l=O("junction",!1),Fl=_("transition"),Tl=_("extended transition attributes"),Rl=_("extended transition attribute"),Bl=_("transition attribute name"),Hl=_("transition type name"),ql=_("numeric transition attribute name"),Dl=O("width",!0),Il=_("transition type value"),Ll=O("external",!1),Nl=O("internal",!1),Vl=_("left to right arrow"),Sl=O("->",!1),zl=O("=>>",!1),Ul=O("=>",!1),Gl=O(">>",!1),Xl=O(":>",!1),Jl=O("--",!1),Ql=O("==",!1),Wl=_("right to left arrow"),Yl=O("<-",!1),Zl=O("<<=",!1),Kl=O("<=",!1),Ml=O("<<",!1),er=O("<:",!1),tr=O("#",!1),nr=O(".",!1),_t=K([["0","9"]],!1,!1),lr=_("double quoted string"),z=O('"',!1),Ft=O('\\"',!1),J=ta(),rr=_("valid class string"),Tt=K([["a","z"],["A","Z"],["0","9"],"_","-"," "],!1,!1),ar=_("identifier"),Rt=K([";",","," ",'"'," ",`
|
|
73
73
|
`,"\r","=","-",">","<",":","{","["],!0,!1),or=_("whitespace"),sr=K([" "," "],!1,!1),ir=_("line end"),ur=K(["\r",`
|
|
74
|
-
`],!1,!1),cr=O("/*",!1),
|
|
75
|
-
`],!0,!1),pr=_("comment"),dr=function(l){return l.states=T.extractUndeclaredStates(l),T.classifyForkJoins(l)},hr=function(l,s){let g={};return T.setIf(g,"states",l),T.setIfNotEmpty(g,"transitions",s),g},It=function(l){return l},gr=function(l){return l},yr=function(l){return T.uniq(l[0].concat(l[1]),T.stateEqual)},vr=function(l,s,g){return g},br=function(l,s,g,h){return h},$r=function(l,s,g,h,w){return w},xr=function(l,s,g,h,w){let C=T.initState(s);return(g||[]).forEach(E=>T.setIf(C,E.name,E.value)),T.setIf(C,"typeExplicitlySet",(g||[]).some(E=>E.typeExplicitlySet)),T.setIf(C,"statemachine",w),T.setIfNotEmpty(C,"note",l),Boolean(h)&&T.setIfNotEmpty(C,"actions",T.extractActions(h)),C},kr=function(l,s){return{name:l,value:s}},wr=function(l,s){return{name:l,value:s}},Ar=function(l){return{name:l,value:!0}},Pr=function(l,s){return{name:l,value:s,typeExplicitlySet:!0}},Cr=function(l){return l.toLowerCase()},Or=function(l){return l.toLowerCase()},Er=function(l){return l.toLowerCase()},jr=function(l){return l.toLowerCase()},_r=function(l,s,g){return g},Fr=function(l,s,g,h){return h},Tr=function(l,s,g,h){return h&&(s.label=h,s=Object.assign(s,T.parseTransitionExpression(h))),(g||[]).forEach(w=>T.setIf(s,w.name,w.value)),T.setIfNotEmpty(s,"note",l),s},Rr=function(l,s){return{from:l,to:s}},Br=function(l,s){return{from:s,to:l}},Hr=function(l,s){return{name:l,value:s}},Ir=function(l,s){return{name:l,value:s}},qr=function(l,s){return{name:l,value:s}},Dr=function(l,s){return{name:l,value:s}},Lr=function(l){return l.toLowerCase()},Vr=function(l){return l.toLowerCase()},Nr=function(l){return l},Sr=function(l){return l.join("").trim()},zr=function(l){return parseFloat(l.join(""))},Ur=function(l){return parseInt(l.join(""),10)},Gr=function(l){return l.join("").replace(/\\\"/g,'"')},qt=function(l){return l},Xr=function(l){return l.join("")},Dt=function(l){return l},Jr=function(l){return l.join("").trim()},Qr=function(l){return l.join("").trim()},Lt=function(l){return l},Vt=function(l){return l},Wr=function(l){return l.join("")},Yr=function(l){return l},Zr=function(l){return l},Kr=function(l){return l},Mr=function(l,s,g){return l+s.join("")+g},ea=function(l,s){return l+s.join("")},o=0,A=0,me=[{line:1,column:1}],L=0,we=[],y=0,pe;if("startRule"in e){if(!(e.startRule in r))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');c=r[e.startRule]}function Fs(){return t.substring(A,o)}function Ts(){return A}function Rs(){return{source:d,start:A,end:o}}function Bs(){return ne(A,o)}function Hs(l,s){throw s=s!==void 0?s:ne(A,o),St([_(l)],t.substring(A,o),s)}function Is(l,s){throw s=s!==void 0?s:ne(A,o),la(l,s)}function O(l,s){return{type:"literal",text:l,ignoreCase:s}}function K(l,s,g){return{type:"class",parts:l,inverted:s,ignoreCase:g}}function ta(){return{type:"any"}}function na(){return{type:"end"}}function _(l){return{type:"other",description:l}}function Nt(l){var s=me[l],g;if(s)return s;for(g=l-1;!me[g];)g--;for(s=me[g],s={line:s.line,column:s.column};g<l;)t.charCodeAt(g)===10?(s.line++,s.column=1):s.column++,g++;return me[l]=s,s}function ne(l,s){var g=Nt(l),h=Nt(s);return{source:d,start:{offset:l,line:g.line,column:g.column},end:{offset:s,line:h.line,column:h.column}}}function x(l){o<L||(o>L&&(L=o,we=[]),we.push(l))}function la(l,s){return new W(l,null,null,s)}function St(l,s,g){return new W(W.buildMessage(l,s),l,s,g)}function zt(){var l,s,g,h;return l=o,s=P(),g=Ut(),h=P(),A=l,l=dr(g),l}function Ut(){var l,s,g,h;for(y++,l=o,s=ra(),s===n&&(s=null),g=[],h=Jt();h!==n;)g.push(h),h=Jt();return A=l,l=hr(s,g),y--,s=n,y===0&&x(ol),l}function ra(){var l,s,g,h,w,C;for(l=o,s=o,g=[],h=o,w=Ae(),w!==n?(t.charCodeAt(o)===44?(C=i,o++):(C=n,y===0&&x(fe)),C!==n?(A=h,h=It(w)):(o=h,h=n)):(o=h,h=n);h!==n;)g.push(h),h=o,w=Ae(),w!==n?(t.charCodeAt(o)===44?(C=i,o++):(C=n,y===0&&x(fe)),C!==n?(A=h,h=It(w)):(o=h,h=n)):(o=h,h=n);return h=o,w=Ae(),w!==n?(t.charCodeAt(o)===59?(C=f,o++):(C=n,y===0&&x(Z)),C!==n?(A=h,h=gr(w)):(o=h,h=n)):(o=h,h=n),h!==n?(g=[g,h],s=g):(o=s,s=n),s!==n&&(A=l,s=yr(s)),l=s,l}function Ae(){var l,s,g,h,w,C,E,j,V,B,Q,en,Ce,Ra,Oe;for(y++,l=o,s=[],g=de();g!==n;)s.push(g),g=de();return g=P(),h=re(),h!==n?(w=P(),C=o,t.charCodeAt(o)===91?(E=v,o++):(E=n,y===0&&x(Ct)),E!==n?(j=aa(),t.charCodeAt(o)===93?(V=m,o++):(V=n,y===0&&x(Ot)),V!==n?(A=C,C=vr(s,h,j)):(o=C,C=n)):(o=C,C=n),C===n&&(C=null),E=P(),j=o,t.charCodeAt(o)===58?(V=p,o++):(V=n,y===0&&x(Et)),V!==n?(B=P(),Q=xa(),Q!==n?(en=P(),A=j,j=br(s,h,C,Q)):(o=j,j=n)):(o=j,j=n),j===n&&(j=null),V=P(),B=o,t.charCodeAt(o)===123?(Q=a,o++):(Q=n,y===0&&x(te)),Q!==n?(en=P(),Ce=Ut(),Ce!==n?(Ra=P(),t.charCodeAt(o)===125?(Oe=b,o++):(Oe=n,y===0&&x(il)),Oe!==n?(A=B,B=$r(s,h,C,j,Ce)):(o=B,B=n)):(o=B,B=n)):(o=B,B=n),B===n&&(B=null),Q=P(),A=l,l=xr(s,h,C,j,B)):(o=l,l=n),y--,l===n&&(s=n,y===0&&x(sl)),l}function aa(){var l,s;for(y++,l=[],s=Gt();s!==n;)l.push(s),s=Gt();return y--,s=n,y===0&&x(ul),l}function Gt(){var l,s,g,h,w,C,E,j;return y++,l=o,s=P(),g=oa(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=le(),E!==n?(j=P(),A=l,l=kr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=Xt(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=Wt(),E!==n?(j=P(),A=l,l=wr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=sa(),g!==n?(h=P(),A=l,l=Ar(g)):(o=l,l=n),l===n&&(l=o,s=P(),g=ia(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=ua(),E!==n?(j=P(),A=l,l=Pr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n)))),y--,l===n&&(s=n,y===0&&x(cl)),l}function oa(){var l,s;return y++,l=o,t.substr(o,5).toLowerCase()===k?(s=t.substr(o,5),o+=5):(s=n,y===0&&x(ml)),s===n&&(t.substr(o,5).toLowerCase()===$?(s=t.substr(o,5),o+=5):(s=n,y===0&&x(jt))),s!==n&&(A=l,s=Cr(s)),l=s,y--,l===n&&(s=n,y===0&&x(fl)),l}function Xt(){var l,s;return y++,l=o,t.substr(o,5).toLowerCase()===q?(s=t.substr(o,5),o+=5):(s=n,y===0&&x(dl)),s!==n&&(A=l,s=Or(s)),l=s,y--,l===n&&(s=n,y===0&&x(pl)),l}function sa(){var l,s;return y++,l=o,t.substr(o,6).toLowerCase()===D?(s=t.substr(o,6),o+=6):(s=n,y===0&&x(gl)),s!==n&&(A=l,s=Er(s)),l=s,y--,l===n&&(s=n,y===0&&x(hl)),l}function ia(){var l,s;return y++,l=o,t.substr(o,4).toLowerCase()===Qe?(s=t.substr(o,4),o+=4):(s=n,y===0&&x(_t)),s!==n&&(A=l,s=jr(s)),l=s,y--,l===n&&(s=n,y===0&&x(yl)),l}function ua(){var l,s;return y++,t.substr(o,7)===We?(l=We,o+=7):(l=n,y===0&&x(bl)),l===n&&(t.substr(o,7)===Ye?(l=Ye,o+=7):(l=n,y===0&&x($l)),l===n&&(t.substr(o,9)===Ze?(l=Ze,o+=9):(l=n,y===0&&x(xl)),l===n&&(t.substr(o,5)===Ke?(l=Ke,o+=5):(l=n,y===0&&x(kl)),l===n&&(t.substr(o,8)===Me?(l=Me,o+=8):(l=n,y===0&&x(wl)),l===n&&(t.substr(o,7)===et?(l=et,o+=7):(l=n,y===0&&x(Al)),l===n&&(t.substr(o,11)===tt?(l=tt,o+=11):(l=n,y===0&&x(Pl)),l===n&&(t.substr(o,6)===nt?(l=nt,o+=6):(l=n,y===0&&x(Cl)),l===n&&(t.substr(o,8)===lt?(l=lt,o+=8):(l=n,y===0&&x(Ol)),l===n&&(t.substr(o,4)===rt?(l=rt,o+=4):(l=n,y===0&&x(El)),l===n&&(t.substr(o,4)===at?(l=at,o+=4):(l=n,y===0&&x(jl)),l===n&&(t.substr(o,8)===ot?(l=ot,o+=8):(l=n,y===0&&x(_l))))))))))))),y--,l===n&&(s=n,y===0&&x(vl)),l}function Jt(){var l,s,g,h,w,C,E,j,V;for(y++,l=o,s=[],g=de();g!==n;)s.push(g),g=de();return g=ca(),g!==n?(h=o,t.charCodeAt(o)===91?(w=v,o++):(w=n,y===0&&x(Ct)),w!==n?(C=fa(),t.charCodeAt(o)===93?(E=m,o++):(E=n,y===0&&x(Ot)),E!==n?(j=P(),A=h,h=_r(s,g,C)):(o=h,h=n)):(o=h,h=n),h===n&&(h=null),w=o,t.charCodeAt(o)===58?(C=p,o++):(C=n,y===0&&x(Et)),C!==n?(E=P(),j=$a(),j!==n?(V=P(),A=w,w=Fr(s,g,h,j)):(o=w,w=n)):(o=w,w=n),w===n&&(w=null),t.charCodeAt(o)===59?(C=f,o++):(C=n,y===0&&x(Z)),C!==n?(A=l,l=Tr(s,g,h,w)):(o=l,l=n)):(o=l,l=n),y--,l===n&&(s=n,y===0&&x(Fl)),l}function ca(){var l,s,g,h,w,C,E,j;return l=o,s=P(),g=re(),g!==n?(h=P(),w=ga(),w!==n?(C=P(),E=re(),E!==n?(j=P(),A=l,l=Rr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=re(),g!==n?(h=P(),w=ya(),w!==n?(C=P(),E=re(),E!==n?(j=P(),A=l,l=Br(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n)),l}function fa(){var l,s;for(y++,l=[],s=Qt();s!==n;)l.push(s),s=Qt();return y--,s=n,y===0&&x(Tl),l}function Qt(){var l,s,g,h,w,C,E,j;return y++,l=o,s=P(),g=ma(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=le(),E!==n?(j=P(),A=l,l=Hr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=Xt(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=Wt(),E!==n?(j=P(),A=l,l=Ir(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=pa(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=ha(),E!==n?(j=P(),A=l,l=qr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=da(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=va(),E!==n?(j=P(),A=l,l=Dr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n)))),y--,l===n&&(s=n,y===0&&x(Rl)),l}function ma(){var l,s;return y++,l=o,t.substr(o,5).toLowerCase()===$?(s=t.substr(o,5),o+=5):(s=n,y===0&&x(jt)),s!==n&&(A=l,s=Lr(s)),l=s,y--,l===n&&(s=n,y===0&&x(Bl)),l}function pa(){var l,s;return y++,l=o,t.substr(o,4).toLowerCase()===Qe?(s=t.substr(o,4),o+=4):(s=n,y===0&&x(_t)),s!==n&&(A=l,s=Vr(s)),l=s,y--,l===n&&(s=n,y===0&&x(Hl)),l}function da(){var l,s;return y++,l=o,t.substr(o,5).toLowerCase()===el?(s=t.substr(o,5),o+=5):(s=n,y===0&&x(ql)),s!==n&&(A=l,s=Nr(s)),l=s,y--,l===n&&(s=n,y===0&&x(Il)),l}function ha(){var l,s;return y++,t.substr(o,8)===st?(l=st,o+=8):(l=n,y===0&&x(Ll)),l===n&&(t.substr(o,8)===it?(l=it,o+=8):(l=n,y===0&&x(Vl))),y--,l===n&&(s=n,y===0&&x(Dl)),l}function ga(){var l,s;return y++,t.substr(o,2)===ut?(l=ut,o+=2):(l=n,y===0&&x(Sl)),l===n&&(t.substr(o,3)===ct?(l=ct,o+=3):(l=n,y===0&&x(zl)),l===n&&(t.substr(o,2)===ft?(l=ft,o+=2):(l=n,y===0&&x(Ul)),l===n&&(t.substr(o,2)===mt?(l=mt,o+=2):(l=n,y===0&&x(Gl)),l===n&&(t.substr(o,2)===pt?(l=pt,o+=2):(l=n,y===0&&x(Xl)),l===n&&(t.substr(o,2)===dt?(l=dt,o+=2):(l=n,y===0&&x(Jl)),l===n&&(t.substr(o,2)===ht?(l=ht,o+=2):(l=n,y===0&&x(Ql)))))))),y--,l===n&&(s=n,y===0&&x(Nl)),l}function ya(){var l,s;return y++,t.substr(o,2)===gt?(l=gt,o+=2):(l=n,y===0&&x(Yl)),l===n&&(t.substr(o,3)===yt?(l=yt,o+=3):(l=n,y===0&&x(Zl)),l===n&&(t.substr(o,2)===vt?(l=vt,o+=2):(l=n,y===0&&x(Kl)),l===n&&(t.substr(o,2)===bt?(l=bt,o+=2):(l=n,y===0&&x(Ml)),l===n&&(t.substr(o,2)===$t?(l=$t,o+=2):(l=n,y===0&&x(er)))))),y--,l===n&&(s=n,y===0&&x(Wl)),l}function de(){var l,s,g,h,w;if(l=o,s=P(),t.charCodeAt(o)===35?(g=tl,o++):(g=n,y===0&&x(tr)),g!==n){for(h=[],w=he();w!==n;)h.push(w),w=he();A=l,l=Sr(h)}else o=l,l=n;return l}function va(){var l;return l=ba(),l===n&&(l=Pe()),l}function ba(){var l,s,g,h,w;return l=o,s=o,g=Pe(),g!==n?(t.charCodeAt(o)===46?(h=nl,o++):(h=n,y===0&&x(nr)),h!==n?(w=Pe(),w!==n?(g=[g,h,w],s=g):(o=s,s=n)):(o=s,s=n)):(o=s,s=n),s!==n&&(A=l,s=zr(s)),l=s,l}function Pe(){var l,s,g;if(l=o,s=[],wt.test(t.charAt(o))?(g=t.charAt(o),o++):(g=n,y===0&&x(Ft)),g!==n)for(;g!==n;)s.push(g),wt.test(t.charAt(o))?(g=t.charAt(o),o++):(g=n,y===0&&x(Ft));else s=n;return s!==n&&(A=l,s=Ur(s)),l=s,l}function $a(){var l;return l=le(),l===n&&(l=Aa()),l}function xa(){var l;return l=le(),l===n&&(l=Pa()),l}function le(){var l,s,g,h;return y++,l=o,t.charCodeAt(o)===34?(s=S,o++):(s=n,y===0&&x(z)),s!==n?(g=ka(),t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),h!==n?(A=l,l=Gr(g)):(o=l,l=n)):(o=l,l=n),y--,l===n&&(s=n,y===0&&x(lr)),l}function ka(){var l,s,g,h;for(l=[],s=o,g=o,y++,t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.substr(o,2)===ue?(h=ue,o+=2):(h=n,y===0&&x(Tt)),h===n&&(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J))),h!==n?(A=s,s=qt(h)):(o=s,s=n)):(o=s,s=n);s!==n;)l.push(s),s=o,g=o,y++,t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.substr(o,2)===ue?(h=ue,o+=2):(h=n,y===0&&x(Tt)),h===n&&(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J))),h!==n?(A=s,s=qt(h)):(o=s,s=n)):(o=s,s=n);return l}function Wt(){var l,s,g,h;return y++,l=o,t.charCodeAt(o)===34?(s=S,o++):(s=n,y===0&&x(z)),s!==n?(g=wa(),t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),h!==n?(A=l,l=Xr(g)):(o=l,l=n)):(o=l,l=n),y--,l===n&&(s=n,y===0&&x(rr)),l}function wa(){var l,s,g,h;for(l=[],s=o,g=o,y++,t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),y--,h===n?g=void 0:(o=g,g=n),g!==n?(At.test(t.charAt(o))?(h=t.charAt(o),o++):(h=n,y===0&&x(Rt)),h!==n?(A=s,s=Dt(h)):(o=s,s=n)):(o=s,s=n);s!==n;)l.push(s),s=o,g=o,y++,t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),y--,h===n?g=void 0:(o=g,g=n),g!==n?(At.test(t.charAt(o))?(h=t.charAt(o),o++):(h=n,y===0&&x(Rt)),h!==n?(A=s,s=Dt(h)):(o=s,s=n)):(o=s,s=n);return l}function Aa(){var l,s;return l=o,s=Oa(),A=l,s=Jr(s),l=s,l}function Pa(){var l,s;return l=o,s=Ca(),A=l,s=Qr(s),l=s,l}function Ca(){var l,s,g,h;for(l=[],s=o,g=o,y++,t.charCodeAt(o)===44?(h=i,o++):(h=n,y===0&&x(fe)),h===n&&(t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&x(Z)),h===n&&(t.charCodeAt(o)===123?(h=a,o++):(h=n,y===0&&x(te)))),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J)),h!==n?(A=s,s=Lt(h)):(o=s,s=n)):(o=s,s=n);s!==n;)l.push(s),s=o,g=o,y++,t.charCodeAt(o)===44?(h=i,o++):(h=n,y===0&&x(fe)),h===n&&(t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&x(Z)),h===n&&(t.charCodeAt(o)===123?(h=a,o++):(h=n,y===0&&x(te)))),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J)),h!==n?(A=s,s=Lt(h)):(o=s,s=n)):(o=s,s=n);return l}function Oa(){var l,s,g,h;for(l=[],s=o,g=o,y++,t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&x(Z)),h===n&&(t.charCodeAt(o)===123?(h=a,o++):(h=n,y===0&&x(te))),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J)),h!==n?(A=s,s=Vt(h)):(o=s,s=n)):(o=s,s=n);s!==n;)l.push(s),s=o,g=o,y++,t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&x(Z)),h===n&&(t.charCodeAt(o)===123?(h=a,o++):(h=n,y===0&&x(te))),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J)),h!==n?(A=s,s=Vt(h)):(o=s,s=n)):(o=s,s=n);return l}function re(){var l,s,g;if(y++,l=o,s=[],Pt.test(t.charAt(o))?(g=t.charAt(o),o++):(g=n,y===0&&x(Bt)),g!==n)for(;g!==n;)s.push(g),Pt.test(t.charAt(o))?(g=t.charAt(o),o++):(g=n,y===0&&x(Bt));else s=n;return s!==n&&(A=l,s=Wr(s)),l=s,l===n&&(l=le()),y--,l===n&&(s=n,y===0&&x(ar)),l}function Yt(){var l,s;return y++,l=o,ll.test(t.charAt(o))?(s=t.charAt(o),o++):(s=n,y===0&&x(sr)),s!==n&&(A=l,s=Yr(s)),l=s,y--,l===n&&(s=n,y===0&&x(or)),l}function Zt(){var l,s;return y++,l=o,rl.test(t.charAt(o))?(s=t.charAt(o),o++):(s=n,y===0&&x(ur)),s!==n&&(A=l,s=Zr(s)),l=s,y--,l===n&&(s=n,y===0&&x(ir)),l}function Ea(){var l;return t.substr(o,2)===xt?(l=xt,o+=2):(l=n,y===0&&x(cr)),l}function ja(){var l;return t.substr(o,2)===ce?(l=ce,o+=2):(l=n,y===0&&x(Ht)),l}function Kt(){var l,s,g;return l=o,s=o,y++,t.substr(o,2)===ce?(g=ce,o+=2):(g=n,y===0&&x(Ht)),y--,g===n?s=void 0:(o=s,s=n),s!==n?(t.length>o?(g=t.charAt(o),o++):(g=n,y===0&&x(J)),g!==n?(A=l,l=Kr(g)):(o=l,l=n)):(o=l,l=n),l}function _a(){var l,s,g,h;if(l=o,s=Ea(),s!==n){for(g=[],h=Kt();h!==n;)g.push(h),h=Kt();h=ja(),h!==n?(A=l,l=Mr(s,g,h)):(o=l,l=n)}else o=l,l=n;return l}function Fa(){var l;return t.substr(o,2)===kt?(l=kt,o+=2):(l=n,y===0&&x(fr)),l}function he(){var l;return al.test(t.charAt(o))?(l=t.charAt(o),o++):(l=n,y===0&&x(mr)),l}function Ta(){var l,s,g,h;if(l=o,s=Fa(),s!==n){for(g=[],h=he();h!==n;)g.push(h),h=he();A=l,l=ea(s,g)}else o=l,l=n;return l}function Mt(){var l,s;return y++,l=Ta(),l===n&&(l=_a()),y--,l===n&&(s=n,y===0&&x(pr)),l}function P(){var l,s;for(l=[],s=Yt(),s===n&&(s=Zt(),s===n&&(s=Mt()));s!==n;)l.push(s),s=Yt(),s===n&&(s=Zt(),s===n&&(s=Mt()));return l}if(pe=c(),pe!==n&&o===t.length)return pe;throw pe!==n&&o<t.length&&x(na()),St(we,L<t.length?t.charAt(L):null,L<t.length?ne(L,L+1):ne(L,L))}var Te=R(require("fast-xml-parser"),1),Y=R(require("he"),1),ve=R(require("lodash/castArray.js"),1);function to(t,e,n){let d="";return t&&(d+=t),e&&(d+=` [${e}]`),n&&(d+=`/ ${n}`),d.trim()}var ye={formatLabel:to};var ae=R(require("lodash/castArray.js"),1);function no(t){let e={id:t.id?`${t.id}.initial`:"initial"};return t.initial.transition&&Object.assign(e,{transition:[t.initial.transition]}),e}function lo(t){return{id:"initial",transition:[{target:t.initial}]}}function ro(t){let e=[],n={};return t.initial&&(t.initial.transition||t.initial.id?n=no(t):n=lo(t),e.push(n)),e}function _e(t){return{...t,initial:ro(t),state:(0,ae.default)((t==null?void 0:t.state)??[]),parallel:(0,ae.default)((t==null?void 0:t.parallel)??[]),history:(0,ae.default)((t==null?void 0:t.history)??[]),final:(0,ae.default)((t==null?void 0:t.final)??[])}}var ao=ye.formatLabel;function dn(t,e){return(0,ve.default)(t[e]).map(n=>({type:e==="onexit"?"exit":"entry",body:Y.default.decode(n).trim()}))}function oo(t){return(0,ve.default)(t).map(e=>({type:"activity",body:Y.default.decode(e.id||"").trim()||Y.default.decode(e||"").trim()}))}function so(t){let e=[];return t.onentry&&(e=e.concat(dn(t,"onentry"))),t.invoke&&(e=e.concat(oo(t.invoke))),t.onexit&&(e=e.concat(dn(t,"onexit"))),e}function io(t,e){return t==="history"&&e.type==="deep"?"deephistory":t}function oe(t){return e=>{let n={name:e.id,type:io(t,e)};return T.getStateType(e.id)!==n.type&&(n.typeExplicitlySet=!0),(e.onentry||e.onexit||e.invoke)&&(n.actions=so(e)),Object.keys(e).some(d=>["initial","state","history","parallel","final"].includes(d))&&(n.statemachine=hn(e)),n}}function uo(t){let e={};return t.event&&(e.event=t.event.split(/\s+/).join(`
|
|
76
|
-
`)),t.cond&&(e.cond=t.cond),t["#text"]&&(e.action=Y.default.decode(t["#text"]).trim()),t.type&&(e.type=t.type),e}function co(t){let e={};typeof t=="string"?e.action=Y.default.decode(t).trim():Object.assign(e,uo(t));let n=ao(e.event,e.cond,e.action);return n&&(e.label=n),e}function fo(t){return(e,n)=>{let d=(n.target
|
|
74
|
+
`],!1,!1),cr=O("/*",!1),Bt=O("*/",!1),fr=O("//",!1),mr=K(["\r",`
|
|
75
|
+
`],!0,!1),pr=_("comment"),dr=function(l){return l.states=T.extractUndeclaredStates(l),T.classifyForkJoins(l)},hr=function(l,s){let g={};return T.setIf(g,"states",l),T.setIfNotEmpty(g,"transitions",s),g},Ht=function(l){return l},gr=function(l){return l},yr=function(l){return T.uniq(l[0].concat(l[1]),T.stateEqual)},vr=function(l,s,g){return g},br=function(l,s,g,h){return h},$r=function(l,s,g,h,w){return w},xr=function(l,s,g,h,w){let C=T.initState(s);return(g||[]).forEach(E=>T.setIf(C,E.name,E.value)),T.setIf(C,"typeExplicitlySet",(g||[]).some(E=>E.typeExplicitlySet)),T.setIf(C,"statemachine",w),T.setIfNotEmpty(C,"note",l),Boolean(h)&&T.setIfNotEmpty(C,"actions",T.extractActions(h)),C},kr=function(l,s){return{name:l,value:s}},wr=function(l,s){return{name:l,value:s}},Ar=function(l){return{name:l,value:!0}},Pr=function(l,s){return{name:l,value:s,typeExplicitlySet:!0}},Cr=function(l){return l.toLowerCase()},Or=function(l){return l.toLowerCase()},Er=function(l){return l.toLowerCase()},jr=function(l){return l.toLowerCase()},_r=function(l,s,g){return g},Fr=function(l,s,g,h){return h},Tr=function(l,s,g,h){return h&&(s.label=h,s=Object.assign(s,T.parseTransitionExpression(h))),(g||[]).forEach(w=>T.setIf(s,w.name,w.value)),T.setIfNotEmpty(s,"note",l),s},Rr=function(l,s){return{from:l,to:s}},Br=function(l,s){return{from:s,to:l}},Hr=function(l,s){return{name:l,value:s}},qr=function(l,s){return{name:l,value:s}},Dr=function(l,s){return{name:l,value:s}},Ir=function(l,s){return{name:l,value:s}},Lr=function(l){return l.toLowerCase()},Nr=function(l){return l.toLowerCase()},Vr=function(l){return l},Sr=function(l){return l.join("").trim()},zr=function(l){return parseFloat(l.join(""))},Ur=function(l){return parseInt(l.join(""),10)},Gr=function(l){return l.join("").replace(/\\\"/g,'"')},qt=function(l){return l},Xr=function(l){return l.join("")},Dt=function(l){return l},Jr=function(l){return l.join("").trim()},Qr=function(l){return l.join("").trim()},It=function(l){return l},Lt=function(l){return l},Wr=function(l){return l.join("")},Yr=function(l){return l},Zr=function(l){return l},Kr=function(l){return l},Mr=function(l,s,g){return l+s.join("")+g},ea=function(l,s){return l+s.join("")},o=0,A=0,me=[{line:1,column:1}],L=0,we=[],y=0,pe;if("startRule"in e){if(!(e.startRule in r))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');c=r[e.startRule]}function Fs(){return t.substring(A,o)}function Ts(){return A}function Rs(){return{source:d,start:A,end:o}}function Bs(){return ne(A,o)}function Hs(l,s){throw s=s!==void 0?s:ne(A,o),Vt([_(l)],t.substring(A,o),s)}function qs(l,s){throw s=s!==void 0?s:ne(A,o),la(l,s)}function O(l,s){return{type:"literal",text:l,ignoreCase:s}}function K(l,s,g){return{type:"class",parts:l,inverted:s,ignoreCase:g}}function ta(){return{type:"any"}}function na(){return{type:"end"}}function _(l){return{type:"other",description:l}}function Nt(l){var s=me[l],g;if(s)return s;for(g=l-1;!me[g];)g--;for(s=me[g],s={line:s.line,column:s.column};g<l;)t.charCodeAt(g)===10?(s.line++,s.column=1):s.column++,g++;return me[l]=s,s}function ne(l,s){var g=Nt(l),h=Nt(s);return{source:d,start:{offset:l,line:g.line,column:g.column},end:{offset:s,line:h.line,column:h.column}}}function x(l){o<L||(o>L&&(L=o,we=[]),we.push(l))}function la(l,s){return new W(l,null,null,s)}function Vt(l,s,g){return new W(W.buildMessage(l,s),l,s,g)}function St(){var l,s,g,h;return l=o,s=P(),g=zt(),h=P(),A=l,l=dr(g),l}function zt(){var l,s,g,h;for(y++,l=o,s=ra(),s===n&&(s=null),g=[],h=Xt();h!==n;)g.push(h),h=Xt();return A=l,l=hr(s,g),y--,s=n,y===0&&x(ol),l}function ra(){var l,s,g,h,w,C;for(l=o,s=o,g=[],h=o,w=Ae(),w!==n?(t.charCodeAt(o)===44?(C=i,o++):(C=n,y===0&&x(fe)),C!==n?(A=h,h=Ht(w)):(o=h,h=n)):(o=h,h=n);h!==n;)g.push(h),h=o,w=Ae(),w!==n?(t.charCodeAt(o)===44?(C=i,o++):(C=n,y===0&&x(fe)),C!==n?(A=h,h=Ht(w)):(o=h,h=n)):(o=h,h=n);return h=o,w=Ae(),w!==n?(t.charCodeAt(o)===59?(C=f,o++):(C=n,y===0&&x(Z)),C!==n?(A=h,h=gr(w)):(o=h,h=n)):(o=h,h=n),h!==n?(g=[g,h],s=g):(o=s,s=n),s!==n&&(A=l,s=yr(s)),l=s,l}function Ae(){var l,s,g,h,w,C,E,j,N,B,Q,Mt,Ce,Ra,Oe;for(y++,l=o,s=[],g=de();g!==n;)s.push(g),g=de();return g=P(),h=re(),h!==n?(w=P(),C=o,t.charCodeAt(o)===91?(E=v,o++):(E=n,y===0&&x(Pt)),E!==n?(j=aa(),t.charCodeAt(o)===93?(N=m,o++):(N=n,y===0&&x(Ct)),N!==n?(A=C,C=vr(s,h,j)):(o=C,C=n)):(o=C,C=n),C===n&&(C=null),E=P(),j=o,t.charCodeAt(o)===58?(N=p,o++):(N=n,y===0&&x(Ot)),N!==n?(B=P(),Q=xa(),Q!==n?(Mt=P(),A=j,j=br(s,h,C,Q)):(o=j,j=n)):(o=j,j=n),j===n&&(j=null),N=P(),B=o,t.charCodeAt(o)===123?(Q=a,o++):(Q=n,y===0&&x(te)),Q!==n?(Mt=P(),Ce=zt(),Ce!==n?(Ra=P(),t.charCodeAt(o)===125?(Oe=b,o++):(Oe=n,y===0&&x(il)),Oe!==n?(A=B,B=$r(s,h,C,j,Ce)):(o=B,B=n)):(o=B,B=n)):(o=B,B=n),B===n&&(B=null),Q=P(),A=l,l=xr(s,h,C,j,B)):(o=l,l=n),y--,l===n&&(s=n,y===0&&x(sl)),l}function aa(){var l,s;for(y++,l=[],s=Ut();s!==n;)l.push(s),s=Ut();return y--,s=n,y===0&&x(ul),l}function Ut(){var l,s,g,h,w,C,E,j;return y++,l=o,s=P(),g=oa(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=le(),E!==n?(j=P(),A=l,l=kr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=Gt(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=Qt(),E!==n?(j=P(),A=l,l=wr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=sa(),g!==n?(h=P(),A=l,l=Ar(g)):(o=l,l=n),l===n&&(l=o,s=P(),g=ia(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=ua(),E!==n?(j=P(),A=l,l=Pr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n)))),y--,l===n&&(s=n,y===0&&x(cl)),l}function oa(){var l,s;return y++,l=o,t.substr(o,5).toLowerCase()===k?(s=t.substr(o,5),o+=5):(s=n,y===0&&x(ml)),s===n&&(t.substr(o,5).toLowerCase()===$?(s=t.substr(o,5),o+=5):(s=n,y===0&&x(Et))),s!==n&&(A=l,s=Cr(s)),l=s,y--,l===n&&(s=n,y===0&&x(fl)),l}function Gt(){var l,s;return y++,l=o,t.substr(o,5).toLowerCase()===D?(s=t.substr(o,5),o+=5):(s=n,y===0&&x(dl)),s!==n&&(A=l,s=Or(s)),l=s,y--,l===n&&(s=n,y===0&&x(pl)),l}function sa(){var l,s;return y++,l=o,t.substr(o,6).toLowerCase()===I?(s=t.substr(o,6),o+=6):(s=n,y===0&&x(gl)),s!==n&&(A=l,s=Er(s)),l=s,y--,l===n&&(s=n,y===0&&x(hl)),l}function ia(){var l,s;return y++,l=o,t.substr(o,4).toLowerCase()===Je?(s=t.substr(o,4),o+=4):(s=n,y===0&&x(jt)),s!==n&&(A=l,s=jr(s)),l=s,y--,l===n&&(s=n,y===0&&x(yl)),l}function ua(){var l,s;return y++,t.substr(o,7)===Qe?(l=Qe,o+=7):(l=n,y===0&&x(bl)),l===n&&(t.substr(o,7)===We?(l=We,o+=7):(l=n,y===0&&x($l)),l===n&&(t.substr(o,9)===Ye?(l=Ye,o+=9):(l=n,y===0&&x(xl)),l===n&&(t.substr(o,5)===Ze?(l=Ze,o+=5):(l=n,y===0&&x(kl)),l===n&&(t.substr(o,8)===Ke?(l=Ke,o+=8):(l=n,y===0&&x(wl)),l===n&&(t.substr(o,7)===Me?(l=Me,o+=7):(l=n,y===0&&x(Al)),l===n&&(t.substr(o,11)===et?(l=et,o+=11):(l=n,y===0&&x(Pl)),l===n&&(t.substr(o,6)===tt?(l=tt,o+=6):(l=n,y===0&&x(Cl)),l===n&&(t.substr(o,8)===nt?(l=nt,o+=8):(l=n,y===0&&x(Ol)),l===n&&(t.substr(o,4)===lt?(l=lt,o+=4):(l=n,y===0&&x(El)),l===n&&(t.substr(o,4)===rt?(l=rt,o+=4):(l=n,y===0&&x(jl)),l===n&&(t.substr(o,8)===at?(l=at,o+=8):(l=n,y===0&&x(_l))))))))))))),y--,l===n&&(s=n,y===0&&x(vl)),l}function Xt(){var l,s,g,h,w,C,E,j,N;for(y++,l=o,s=[],g=de();g!==n;)s.push(g),g=de();return g=ca(),g!==n?(h=o,t.charCodeAt(o)===91?(w=v,o++):(w=n,y===0&&x(Pt)),w!==n?(C=fa(),t.charCodeAt(o)===93?(E=m,o++):(E=n,y===0&&x(Ct)),E!==n?(j=P(),A=h,h=_r(s,g,C)):(o=h,h=n)):(o=h,h=n),h===n&&(h=null),w=o,t.charCodeAt(o)===58?(C=p,o++):(C=n,y===0&&x(Ot)),C!==n?(E=P(),j=$a(),j!==n?(N=P(),A=w,w=Fr(s,g,h,j)):(o=w,w=n)):(o=w,w=n),w===n&&(w=null),t.charCodeAt(o)===59?(C=f,o++):(C=n,y===0&&x(Z)),C!==n?(A=l,l=Tr(s,g,h,w)):(o=l,l=n)):(o=l,l=n),y--,l===n&&(s=n,y===0&&x(Fl)),l}function ca(){var l,s,g,h,w,C,E,j;return l=o,s=P(),g=re(),g!==n?(h=P(),w=ga(),w!==n?(C=P(),E=re(),E!==n?(j=P(),A=l,l=Rr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=re(),g!==n?(h=P(),w=ya(),w!==n?(C=P(),E=re(),E!==n?(j=P(),A=l,l=Br(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n)),l}function fa(){var l,s;for(y++,l=[],s=Jt();s!==n;)l.push(s),s=Jt();return y--,s=n,y===0&&x(Tl),l}function Jt(){var l,s,g,h,w,C,E,j;return y++,l=o,s=P(),g=ma(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=le(),E!==n?(j=P(),A=l,l=Hr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=Gt(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=Qt(),E!==n?(j=P(),A=l,l=qr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=pa(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=ha(),E!==n?(j=P(),A=l,l=Dr(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n),l===n&&(l=o,s=P(),g=da(),g!==n?(h=P(),t.charCodeAt(o)===61?(w=u,o++):(w=n,y===0&&x(X)),w!==n?(C=P(),E=va(),E!==n?(j=P(),A=l,l=Ir(g,E)):(o=l,l=n)):(o=l,l=n)):(o=l,l=n)))),y--,l===n&&(s=n,y===0&&x(Rl)),l}function ma(){var l,s;return y++,l=o,t.substr(o,5).toLowerCase()===$?(s=t.substr(o,5),o+=5):(s=n,y===0&&x(Et)),s!==n&&(A=l,s=Lr(s)),l=s,y--,l===n&&(s=n,y===0&&x(Bl)),l}function pa(){var l,s;return y++,l=o,t.substr(o,4).toLowerCase()===Je?(s=t.substr(o,4),o+=4):(s=n,y===0&&x(jt)),s!==n&&(A=l,s=Nr(s)),l=s,y--,l===n&&(s=n,y===0&&x(Hl)),l}function da(){var l,s;return y++,l=o,t.substr(o,5).toLowerCase()===el?(s=t.substr(o,5),o+=5):(s=n,y===0&&x(Dl)),s!==n&&(A=l,s=Vr(s)),l=s,y--,l===n&&(s=n,y===0&&x(ql)),l}function ha(){var l,s;return y++,t.substr(o,8)===ot?(l=ot,o+=8):(l=n,y===0&&x(Ll)),l===n&&(t.substr(o,8)===st?(l=st,o+=8):(l=n,y===0&&x(Nl))),y--,l===n&&(s=n,y===0&&x(Il)),l}function ga(){var l,s;return y++,t.substr(o,2)===it?(l=it,o+=2):(l=n,y===0&&x(Sl)),l===n&&(t.substr(o,3)===ut?(l=ut,o+=3):(l=n,y===0&&x(zl)),l===n&&(t.substr(o,2)===ct?(l=ct,o+=2):(l=n,y===0&&x(Ul)),l===n&&(t.substr(o,2)===ft?(l=ft,o+=2):(l=n,y===0&&x(Gl)),l===n&&(t.substr(o,2)===mt?(l=mt,o+=2):(l=n,y===0&&x(Xl)),l===n&&(t.substr(o,2)===pt?(l=pt,o+=2):(l=n,y===0&&x(Jl)),l===n&&(t.substr(o,2)===dt?(l=dt,o+=2):(l=n,y===0&&x(Ql)))))))),y--,l===n&&(s=n,y===0&&x(Vl)),l}function ya(){var l,s;return y++,t.substr(o,2)===ht?(l=ht,o+=2):(l=n,y===0&&x(Yl)),l===n&&(t.substr(o,3)===gt?(l=gt,o+=3):(l=n,y===0&&x(Zl)),l===n&&(t.substr(o,2)===yt?(l=yt,o+=2):(l=n,y===0&&x(Kl)),l===n&&(t.substr(o,2)===vt?(l=vt,o+=2):(l=n,y===0&&x(Ml)),l===n&&(t.substr(o,2)===bt?(l=bt,o+=2):(l=n,y===0&&x(er)))))),y--,l===n&&(s=n,y===0&&x(Wl)),l}function de(){var l,s,g,h,w;if(l=o,s=P(),t.charCodeAt(o)===35?(g=tl,o++):(g=n,y===0&&x(tr)),g!==n){for(h=[],w=he();w!==n;)h.push(w),w=he();A=l,l=Sr(h)}else o=l,l=n;return l}function va(){var l;return l=ba(),l===n&&(l=Pe()),l}function ba(){var l,s,g,h,w;return l=o,s=o,g=Pe(),g!==n?(t.charCodeAt(o)===46?(h=nl,o++):(h=n,y===0&&x(nr)),h!==n?(w=Pe(),w!==n?(g=[g,h,w],s=g):(o=s,s=n)):(o=s,s=n)):(o=s,s=n),s!==n&&(A=l,s=zr(s)),l=s,l}function Pe(){var l,s,g;if(l=o,s=[],kt.test(t.charAt(o))?(g=t.charAt(o),o++):(g=n,y===0&&x(_t)),g!==n)for(;g!==n;)s.push(g),kt.test(t.charAt(o))?(g=t.charAt(o),o++):(g=n,y===0&&x(_t));else s=n;return s!==n&&(A=l,s=Ur(s)),l=s,l}function $a(){var l;return l=le(),l===n&&(l=Aa()),l}function xa(){var l;return l=le(),l===n&&(l=Pa()),l}function le(){var l,s,g,h;return y++,l=o,t.charCodeAt(o)===34?(s=S,o++):(s=n,y===0&&x(z)),s!==n?(g=ka(),t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),h!==n?(A=l,l=Gr(g)):(o=l,l=n)):(o=l,l=n),y--,l===n&&(s=n,y===0&&x(lr)),l}function ka(){var l,s,g,h;for(l=[],s=o,g=o,y++,t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.substr(o,2)===ue?(h=ue,o+=2):(h=n,y===0&&x(Ft)),h===n&&(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J))),h!==n?(A=s,s=qt(h)):(o=s,s=n)):(o=s,s=n);s!==n;)l.push(s),s=o,g=o,y++,t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.substr(o,2)===ue?(h=ue,o+=2):(h=n,y===0&&x(Ft)),h===n&&(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J))),h!==n?(A=s,s=qt(h)):(o=s,s=n)):(o=s,s=n);return l}function Qt(){var l,s,g,h;return y++,l=o,t.charCodeAt(o)===34?(s=S,o++):(s=n,y===0&&x(z)),s!==n?(g=wa(),t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),h!==n?(A=l,l=Xr(g)):(o=l,l=n)):(o=l,l=n),y--,l===n&&(s=n,y===0&&x(rr)),l}function wa(){var l,s,g,h;for(l=[],s=o,g=o,y++,t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),y--,h===n?g=void 0:(o=g,g=n),g!==n?(wt.test(t.charAt(o))?(h=t.charAt(o),o++):(h=n,y===0&&x(Tt)),h!==n?(A=s,s=Dt(h)):(o=s,s=n)):(o=s,s=n);s!==n;)l.push(s),s=o,g=o,y++,t.charCodeAt(o)===34?(h=S,o++):(h=n,y===0&&x(z)),y--,h===n?g=void 0:(o=g,g=n),g!==n?(wt.test(t.charAt(o))?(h=t.charAt(o),o++):(h=n,y===0&&x(Tt)),h!==n?(A=s,s=Dt(h)):(o=s,s=n)):(o=s,s=n);return l}function Aa(){var l,s;return l=o,s=Oa(),A=l,s=Jr(s),l=s,l}function Pa(){var l,s;return l=o,s=Ca(),A=l,s=Qr(s),l=s,l}function Ca(){var l,s,g,h;for(l=[],s=o,g=o,y++,t.charCodeAt(o)===44?(h=i,o++):(h=n,y===0&&x(fe)),h===n&&(t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&x(Z)),h===n&&(t.charCodeAt(o)===123?(h=a,o++):(h=n,y===0&&x(te)))),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J)),h!==n?(A=s,s=It(h)):(o=s,s=n)):(o=s,s=n);s!==n;)l.push(s),s=o,g=o,y++,t.charCodeAt(o)===44?(h=i,o++):(h=n,y===0&&x(fe)),h===n&&(t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&x(Z)),h===n&&(t.charCodeAt(o)===123?(h=a,o++):(h=n,y===0&&x(te)))),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J)),h!==n?(A=s,s=It(h)):(o=s,s=n)):(o=s,s=n);return l}function Oa(){var l,s,g,h;for(l=[],s=o,g=o,y++,t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&x(Z)),h===n&&(t.charCodeAt(o)===123?(h=a,o++):(h=n,y===0&&x(te))),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J)),h!==n?(A=s,s=Lt(h)):(o=s,s=n)):(o=s,s=n);s!==n;)l.push(s),s=o,g=o,y++,t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&x(Z)),h===n&&(t.charCodeAt(o)===123?(h=a,o++):(h=n,y===0&&x(te))),y--,h===n?g=void 0:(o=g,g=n),g!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&x(J)),h!==n?(A=s,s=Lt(h)):(o=s,s=n)):(o=s,s=n);return l}function re(){var l,s,g;if(y++,l=o,s=[],At.test(t.charAt(o))?(g=t.charAt(o),o++):(g=n,y===0&&x(Rt)),g!==n)for(;g!==n;)s.push(g),At.test(t.charAt(o))?(g=t.charAt(o),o++):(g=n,y===0&&x(Rt));else s=n;return s!==n&&(A=l,s=Wr(s)),l=s,l===n&&(l=le()),y--,l===n&&(s=n,y===0&&x(ar)),l}function Wt(){var l,s;return y++,l=o,ll.test(t.charAt(o))?(s=t.charAt(o),o++):(s=n,y===0&&x(sr)),s!==n&&(A=l,s=Yr(s)),l=s,y--,l===n&&(s=n,y===0&&x(or)),l}function Yt(){var l,s;return y++,l=o,rl.test(t.charAt(o))?(s=t.charAt(o),o++):(s=n,y===0&&x(ur)),s!==n&&(A=l,s=Zr(s)),l=s,y--,l===n&&(s=n,y===0&&x(ir)),l}function Ea(){var l;return t.substr(o,2)===$t?(l=$t,o+=2):(l=n,y===0&&x(cr)),l}function ja(){var l;return t.substr(o,2)===ce?(l=ce,o+=2):(l=n,y===0&&x(Bt)),l}function Zt(){var l,s,g;return l=o,s=o,y++,t.substr(o,2)===ce?(g=ce,o+=2):(g=n,y===0&&x(Bt)),y--,g===n?s=void 0:(o=s,s=n),s!==n?(t.length>o?(g=t.charAt(o),o++):(g=n,y===0&&x(J)),g!==n?(A=l,l=Kr(g)):(o=l,l=n)):(o=l,l=n),l}function _a(){var l,s,g,h;if(l=o,s=Ea(),s!==n){for(g=[],h=Zt();h!==n;)g.push(h),h=Zt();h=ja(),h!==n?(A=l,l=Mr(s,g,h)):(o=l,l=n)}else o=l,l=n;return l}function Fa(){var l;return t.substr(o,2)===xt?(l=xt,o+=2):(l=n,y===0&&x(fr)),l}function he(){var l;return al.test(t.charAt(o))?(l=t.charAt(o),o++):(l=n,y===0&&x(mr)),l}function Ta(){var l,s,g,h;if(l=o,s=Fa(),s!==n){for(g=[],h=he();h!==n;)g.push(h),h=he();A=l,l=ea(s,g)}else o=l,l=n;return l}function Kt(){var l,s;return y++,l=Ta(),l===n&&(l=_a()),y--,l===n&&(s=n,y===0&&x(pr)),l}function P(){var l,s;for(l=[],s=Wt(),s===n&&(s=Yt(),s===n&&(s=Kt()));s!==n;)l.push(s),s=Wt(),s===n&&(s=Yt(),s===n&&(s=Kt()));return l}if(pe=c(),pe!==n&&o===t.length)return pe;throw pe!==n&&o<t.length&&x(na()),Vt(we,L<t.length?t.charAt(L):null,L<t.length?ne(L,L+1):ne(L,L))}var Fe=R(require("fast-xml-parser"),1),Y=R(require("he"),1),ve=R(require("lodash/castArray.js"),1);function to(t,e,n){let d="";return t&&(d+=t),e&&(d+=` [${e}]`),n&&(d+=`/ ${n}`),d.trim()}var ye={formatLabel:to};var ae=R(require("lodash/castArray.js"),1);function no(t,e){let n={id:e?`${e}.initial`:"initial"};return t.transition&&Object.assign(n,{transition:[t.transition]}),n}function lo(t){return{id:"initial",transition:[{target:t}]}}function ro(t){let e=[];return t.initial&&(typeof t.initial=="string"?e.push(lo(t.initial)):e.push(no(t.initial,t.id))),e}function pn(t){return{...t,initial:ro(t),state:(0,ae.default)((t==null?void 0:t.state)??[]),parallel:(0,ae.default)((t==null?void 0:t.parallel)??[]),history:(0,ae.default)((t==null?void 0:t.history)??[]),final:(0,ae.default)((t==null?void 0:t.final)??[])}}var ao=ye.formatLabel;function dn(t,e){return(0,ve.default)(t[e]).map(n=>({type:e==="onexit"?"exit":"entry",body:Y.default.decode(n).trim()}))}function oo(t){return(0,ve.default)(t).map(e=>({type:"activity",body:Y.default.decode(e.id||"").trim()||Y.default.decode(e||"").trim()}))}function so(t){let e=[];return t.onentry&&(e=e.concat(dn(t,"onentry"))),t.invoke&&(e=e.concat(oo(t.invoke))),t.onexit&&(e=e.concat(dn(t,"onexit"))),e}function io(t,e){return t==="history"&&e.type==="deep"?"deephistory":t}function oe(t){return e=>{let n={name:e.id,type:io(t,e)};return T.getStateType(e.id)!==n.type&&(n.typeExplicitlySet=!0),(e.onentry||e.onexit||e.invoke)&&(n.actions=so(e)),Object.keys(e).some(d=>["initial","state","history","parallel","final"].includes(d))&&(n.statemachine=hn(e)),n}}function uo(t){let e={};return t.event&&(e.event=t.event.split(/\s+/).join(`
|
|
76
|
+
`)),t.cond&&(e.cond=t.cond),t["#text"]&&(e.action=Y.default.decode(t["#text"]).trim()),t.type&&(e.type=t.type),e}function co(t){let e={};typeof t=="string"?e.action=Y.default.decode(t).trim():Object.assign(e,uo(t));let n=ao(e.event,e.cond,e.action);return n&&(e.label=n),e}function fo(t){return(e,n)=>{let d=((n==null?void 0:n.target)??t.id).split(/\s+/),r=co(n);return e.concat(d.map(c=>({from:t.id,to:c,...r})))}}function _e(t){return t.filter(e=>Object.prototype.hasOwnProperty.call(e,"transition")).reduce((e,n)=>e.concat((0,ve.default)(n.transition).reduce(fo(n),[])),[])}function hn(t){let e=pn(t),n={states:e.initial.map(oe("initial")).concat(e.state.map(oe("regular"))).concat(e.parallel.map(oe("parallel"))).concat(e.history.map(oe("history"))).concat(e.final.map(oe("final")))},d=_e(e.initial).concat(_e(e.state)).concat(_e(e.parallel));return d.length>0&&(n.transitions=d),n}function gn(t){let e=t.trim();if(Fe.default.validate(e)===!0){let n=Fe.default.parse(e,{attributeNamePrefix:"",ignoreAttributes:!1,tagValueProcessor:d=>Y.default.decode(d),stopNodes:["onentry","onexit","transition"]});return hn((n==null?void 0:n.scxml)??{xmlns:"http://www.w3.org/2005/07/scxml",version:"1.0"})}throw new Error(`That doesn't look like valid xml ...
|
|
77
77
|
`)}var yn={$schema:"http://json-schema.org/draft-07/schema#",title:"state-machine-cat abstract syntax tree schema",$ref:"#/definitions/StateMachineType",$id:"org.js.state-machine-cat/v7.4.0",definitions:{StateType:{type:"string",enum:["regular","initial","terminate","final","parallel","history","deephistory","choice","forkjoin","fork","join","junction"]},TransitionType:{type:"string",enum:["internal","external"]},NoteType:{type:"array",items:{type:"string"}},ActionTypeType:{type:"string",enum:["entry","activity","exit"]},ActionType:{type:"object",required:["type","body"],additionalProperties:!1,properties:{type:{$ref:"#/definitions/ActionTypeType"},body:{type:"string"}}},ClassType:{type:"string",pattern:"^[a-zA-Z0-9_\\- ]*$"},StateMachineType:{type:"object",additionalProperties:!1,required:["states"],properties:{states:{type:"array",items:{type:"object",required:["name","type"],additionalProperties:!1,properties:{name:{description:"The name and identifier of the state. Unique within the root state machine.",type:"string"},type:{description:"What kind of state (or pseudo state) this state is. E.g. 'regular' for normal states or 'initial', 'final', 'choice' etc for pseudo states. Most UML (pseudo-) states are supported.",$ref:"#/definitions/StateType"},label:{description:"The display label of the state. If it's not present, most renderers will use the states' name in stead.",type:"string"},color:{description:'Color to use for rendering the state. Accepts all css color names ("blue") and hex notation - with ("#0000FF77") or without ("#0000FF") transparency.',type:"string"},class:{description:"Class name to give the state in dot and svg output.",$ref:"#/definitions/ClassType"},active:{description:"If true the state is considered to be active and rendered as such.",type:"boolean"},typeExplicitlySet:{description:"The default parser derives the `type` from the `name` with inband signaling. The user can override that behavior by explicitly setting the `type`. This attribute is there to express that (and make sure that on next parses & processing it doesn't get accidentily re-derived from the name again).",type:"boolean"},isComposite:{description:"convenience, derived attribute - set to true if there's a state machine inside the state; false in all other cases. For internal use - @deprecated",type:"boolean"},actions:{type:"array",description:"A series of actions and their types. The type describe when the action takes place (on entry, exit, or otherwise ('activity'))",items:{$ref:"#/definitions/ActionType"}},note:{description:"Comments related to this state. Some renderers will use the note attribute to render a note (i.e. as a post-it) attached to the state.",$ref:"#/definitions/NoteType"},statemachine:{description:"state machine nested within the state.",$ref:"#/definitions/StateMachineType"}}}},transitions:{type:"array",items:{type:"object",required:["from","to"],additionalProperties:!1,properties:{from:{description:"The name of the state this transition transitions from",type:"string"},to:{description:"The name of the state this transition transitions to",type:"string"},label:{description:"A display label to represent this transition. Parsers can parse this label into events conditions and actions.",type:"string"},event:{description:"Event triggering the transition",type:"string"},cond:{description:"Condition for the transition to occur.",type:"string"},action:{description:"Action to execute when the transition occurs.",type:"string"},note:{description:"Comments related to this transition",$ref:"#/definitions/NoteType"},color:{description:'Color to use for rendering the transition. Accepts all css color names ("blue") and hex notation - with ("#0000FF77") or without ("#0000FF") transparency.',type:"string"},width:{description:"The line width to use for rendering the transition",type:"number",minimum:0,maximum:30},class:{description:"Class name to give the state in dot and svg output.",$ref:"#/definitions/ClassType"},type:{description:"Whether the transition is external (default) or internal. See https://www.w3.org/TR/scxml/#transition for details.",$ref:"#/definitions/TransitionType"}}}}}}}};var vn=new bn.default;function mo(t,e){if(!vn.validate(t,e))throw new Error(`The provided JSON is not a valid state-machine-cat AST: ${vn.errorsText()}.
|
|
78
|
-
`)}var $n={getAST(t,e){let n=t;return H.getOptionValue(e,"inputType")==="smcat"?n=
|
|
79
|
-
`)),(n.event||n.cond||n.action)&&(n.label=ye.formatLabel(n.event,n.cond,n.action)),n}function go(t,e,n){return t.reduce((d,r)=>(e.forEach((c,i)=>{c===r.to&&n[c]?d=d.concat(n[c].map(f=>ho(r,f))):d=i===0?d.concat(r):d}),d),[])}function xn(t,e,n){let d=(0,Be.default)(t);return d.transitions&&e.length>0&&(d.transitions=go(d.transitions,e,n)),d.states=d.states.map(r=>r.statemachine?{...r,statemachine:xn(r.statemachine,e,n)}:r),d}function kn(t,e){let n=(0,Be.default)(t);return n.transitions&&(n.transitions=(0,Re.default)(n.transitions,d=>e.some(r=>r===d.from||r===d.to))),n.states=(0,Re.default)(n.states,d=>e.includes(d.name)).map(d=>d.statemachine?{...d,statemachine:kn(d.statemachine,e)}:d),n}var wn=(t,e=["fork","junction","choice"])=>{let n=new I(t),d=n.findStatesByTypes(e).map(({name:i})=>i),r=d.reduce((i,f)=>(i[f]=n.findTransitionsByFrom(f),i),{}),c=xn(t,d,r);return kn(c,d)};var Qn=R(require("lodash/has.js"),1),Wn=R(En(),1);var Hn=R(require("lodash/cloneDeep.js"),1);var Oo=[{name:"fontname",value:'"Helvetica"'},{name:"fontsize",value:"12"},{name:"penwidth",value:"2.0"}],Eo={dot:[{name:"splines",value:"true"},{name:"ordering",value:"out"},{name:"compound",value:"true"},{name:"overlap",value:"scale"},{name:"nodesep",value:"0.3"},{name:"ranksep",value:"0.1"}],fdp:[{name:"K",value:"0.9"}],osage:[{name:"pack",value:"42"}],neato:[{name:"epsilon",value:"0.9"}]},jo={"bottom-top":[{name:"rankdir",value:"BT"}],"left-right":[{name:"rankdir",value:"LR"}],"right-left":[{name:"rankdir",value:"RL"}]},_o=[{name:"shape",value:"plaintext"},{name:"style",value:"filled"},{name:"fillcolor",value:'"#FFFFFF01"'},{name:"fontname",value:"Helvetica"},{name:"fontsize",value:12},{name:"penwidth",value:"2.0"}],Fo=[{name:"fontname",value:"Helvetica"},{name:"fontsize",value:10}];function qe(t){return`${t.name}=${t.value}`}var be={buildGraphAttributes:(t,e,n)=>Oo.concat(Eo[t]||[]).concat(jo[e]||[]).concat(n||[]).map(qe).join(" "),buildNodeAttributes:t=>_o.concat(t||[]).map(qe).join(" "),buildEdgeAttributes:t=>Fo.concat(t||[]).map(qe).join(" ")};var jn=R(require("lodash/cloneDeep.js"),1);function To(t){return t.replace(/\\/g,"\\\\").replace(/\n\s*/g,"\\l").replace(/"/g,'\\"').concat("\\l")}function Ro(t){return t.replace(/\\/g,"\\\\").replace(/\n\s*/g," \\l").replace(/"/g,'\\"').concat(" \\l")}function Bo(t){let e=t||"top-down";return e==="top-down"||e==="bottom-top"}function Ho(t,e){return e.from===e.to&&t.findStateByName(e.from).statemachine&&e.type!=="internal"}var N={escapeString:To,escapeLabelString:Ro,isVertical:Bo,isCompositeSelf:Ho};function _n(t){return e=>e.type===t}function De(t){return e=>t.includes(e.type)}function Io(t){let e=(0,jn.default)(t);return e.label=t.label||t.name,e}function qo(t){return Object.prototype.hasOwnProperty.call(t,"note")&&(t.noteName=`note_${t.name}`),t}function Do(t){let e=["state",t.type];return Object.prototype.hasOwnProperty.call(t,"class")&&e.push(t.class.trim().replace(/[ ]{2,}/g," ")),t.class=e.join(" "),t}function Lo(t){return t==="activity"?"":`${t}/ `}function Vo(t){let e={...t};return t.actions&&(e.actions=t.actions.map(n=>`${Lo(n.type)}${n.body}`)),e}function No(t){return Object.prototype.hasOwnProperty.call(t,"note")&&(t.noteFlattened=t.note.join("")),t}function So(t){return e=>{var d;let n=(d=(t||[]).find(r=>r.name==="color"))==null?void 0:d.value;return n&&!e.color&&De(["initial","fork","join","junction","forkjoin","final"])(e)&&(e.color=n),e}}function zo(t){return t.note&&(t.note=t.note.map(N.escapeString)),t}function Uo(t){return e=>De(["fork","join","forkjoin"])(e)?{sizingExtras:N.isVertical(t)?"height=0.1":"width=0.1",...e}:e}function Go(t){return t.type==="parallel"&&t.statemachine&&t.statemachine.states&&(t.statemachine.states=t.statemachine.states.map(e=>_n("regular")(e)?{...e,parentIsParallel:!0}:e)),t}var F={isType:_n,isOneOfTypes:De,setLabel:Io,classifyState:Do,nameNote:qo,flattenActions:Vo,flattenNote:No,recolor:So,escapeStateStrings:zo,tipForkJoinStates:Uo,flagParallelChildren:Go};function Xo(t){return t.note&&(t.note=t.note.map(N.escapeString)),t.label&&(t.label=N.escapeLabelString(t.label)),t}function Jo(t){return e=>{let n={};return e.isCompositeSelf&&(N.isVertical(t)?n={tailportflags:'tailport="e" headport="e"',headportflags:'tailport="w"'}:e.hasParent?n={tailportflags:'tailport="n" headport="n"',headportflags:'tailport="s"'}:n={tailportflags:'tailport="s" headport="s"',headportflags:'tailport="n"'}),{...e,...n}}}function Qo(t){let e=["transition"];return t.type&&e.push(t.type),t.class&&e.push(t.class.trim().replace(/[ ]{2,}/g," ")),t.class=e.join(" "),t}var $e={escapeTransitionStrings:Xo,addPorts:Jo,classifyTransition:Qo};var se=class{constructor(){this.reset()}reset(){this.COUNTER=0}next(){return++this.COUNTER}nextAsString(){return this.next().toString(10)}};var In=R(Bn(),1);var qn={};function ts(t){return e=>(Object.prototype.hasOwnProperty.call(e,"statemachine")&&(e.nestedExternalSelfTransitions=t.findExternalSelfTransitions(e.name).map(n=>n.name)),e)}function Dn(t,e,n,d){return t.filter(r=>r.statemachine).forEach(r=>{r.statemachine.states=Dn(r.statemachine.states,e,n,d)}),t.map(F.setLabel).map(F.nameNote).map(F.classifyState).map(F.escapeStateStrings).map(F.flattenNote).map(F.flattenActions).map(F.flagParallelChildren).map(F.tipForkJoinStates(e)).map(F.recolor(n)).map(ts(d))}function ns(t){return t.initialStates=t.states.filter(F.isType("initial")),t.regularStates=t.states.filter(e=>F.isType("regular")(e)&&!e.statemachine),t.historyStates=t.states.filter(F.isType("history")),t.deepHistoryStates=t.states.filter(F.isType("deephistory")),t.choiceStates=t.states.filter(F.isType("choice")),t.forkjoinStates=t.states.filter(F.isOneOfTypes(["fork","join","forkjoin"])),t.junctionStates=t.states.filter(F.isType("junction")),t.terminateStates=t.states.filter(F.isType("terminate")),t.finalStates=t.states.filter(F.isType("final")),t.compositeStates=t.states.filter(e=>e.statemachine),t}function ls(t){return e=>(t.findStateByName(e.from).statemachine&&(e.fromComposite=!0),t.findStateByName(e.to).statemachine&&(e.toComposite=!0),e)}function rs(t){return e=>{let n={};return N.isCompositeSelf(t,e)&&(t.findStateByName(e.from).hasParent?n={hasParent:!0,isCompositeSelf:!0}:n={isCompositeSelf:!0}),{...e,...n}}}function as(t){return t.name=`tr_${t.from}_${t.to}_${qn.nextAsString()}`,Boolean(t.note)&&(t.noteName=`note_${t.name}`),t}function os(t,e){return t.flattenedTransitions.map(as).map($e.escapeTransitionStrings).map($e.classifyTransition).map(F.flattenNote).map(ls(t)).map(rs(t)).map($e.addPorts(e))}var xe=(t,e)=>{e=e||{},qn=new se;let n=(0,Hn.default)(t),d=new I(n);return n.transitions=os(d,e.direction),n.states=Dn(n.states,e.direction,e.dotNodeAttrs,d),n=ns(n),n.graphAttributes=be.buildGraphAttributes(H.getOptionValue(e,"engine"),H.getOptionValue(e,"direction"),e.dotGraphAttrs),n.nodeAttributes=be.buildNodeAttributes(e.dotNodeAttrs),n.edgeAttributes=be.buildEdgeAttributes(e.dotEdgeAttrs),(0,In.default)(n)};var Ln=R(require("viz.js"),1);var ss={oldsvg:"svg",oldps2:"ps2",oldeps:"eps"},Ne=(t,e)=>(0,Ln.default)(xe(t,e),{engine:H.getOptionValue(e,"engine"),format:ss[H.getOptionValue(e,"outputType")]||"svg"});var is=/[\u0000-\u002C|\u002F|\u003B-\u0040|\u005B-\u0060|\u007B-\u00BF|\u00D7|\u00F7|\u0300-\u036F|\u037E|\u2000-\u200B|\u200E-\u206F|\u2190-\u2BFF|\u2FF0-\u3000|\uD800-\uF8FF|\uFDD0-\uFDEF|\uFFFE-\uFFFF]/g,us=/[-|.|0-9|\u00B7|\u0300-\u036F|\u203F-\u2040]/g;function Vn(t){return t.replace(is,"_")}function cs(t){let e=Vn(t);return e.match(us)&&(e=`_${t}`),e}var ke=t=>(t=t||"",t.length===0?"__empty":cs(t[0]).concat(Vn(t.slice(1))));var fs=/[\u00B7|\u0300-\u036F|\u203F-\u2040|\u0000-\u0029|\u002B-\u002C|\u002F|\u003B-\u0040|\u005B-\u0060|\u007B-\u00BF|\u00D7|\u00F7|\u0300-\u036F|\u037E|\u2000-\u200B|\u200E-\u206F|\u2190-\u2BFF|\u2FF0-\u3000|\uD800-\uF8FF|\uFDD0-\uFDEF|\uFFFE-\uFFFF]/g,ms=/[.]/g;function Nn(t){return t.replace(fs,"_")}function ps(t){let e=Nn(t);return e.match(ms)&&(e=`_${t}`),e}function ds(t){return t=t.replace(/\s+/g," ").trim(),ps(t[0]).concat(Nn(t.slice(1)))}var Sn=t=>(t=t||"",t.length===0?"empty":t.split(/[\n\r]+/).filter(e=>e.length>0).map(ds).join(" "));var hs={regular:"state",initial:"initial",final:"final",terminate:"final",parallel:"parallel",history:"history",deephistory:"history"};function gs(t){return hs[t]||"state"}function ys(t){let e={target:ke(t.to)};return Boolean(t.event)&&(e.event=Sn(t.event)),Boolean(t.cond)&&(e.cond=t.cond),Boolean(t.action)&&(e.action=t.action),Boolean(t.type)&&(e.type=t.type),e}function vs(t,e){return t.filter(n=>n.type===e).map(n=>n.body)}function Se(t,e,n,d){let r=vs(n,d);r.length>0&&(t[e]=(t[e]||[]).concat(r))}function bs(t,e){Boolean(e.actions)&&(Se(t,"onentries",e.actions,"entry"),Se(t,"onentries",e.actions,"activity"),Se(t,"onexits",e.actions,"exit"))}function $s(t,e,n){let d=n.filter(r=>r.from===e.name).map(ys);d.length>0&&(t.transitions=d)}function xs(t,e,n){if(Boolean(e.statemachine)){let d=ee(e.statemachine,null,n);t.states=(t.states||[]).concat(d.states),d.initial&&(t.initial=d.initial)}}function ks(t){return t=t||[],e=>{let n={kind:gs(e.type),id:ke(e.name)};return e.type==="deephistory"&&(n.type="deep"),bs(n,e),$s(n,e,t),xs(n,e,t),n}}function ws(t){let e=null,n=t.states.filter(d=>d.type==="initial");return n.length>0&&(e=n[0].name),e}function As(t,e){let n=e;if(e&&t.transitions){let d=t.transitions.filter(r=>r.from===e);d.length>0&&!d[0].action&&(n=d[0].to)}return n}function ee(t,e,n){let d=ws(t),r=As(t,d),c={states:t.states.filter(i=>r&&r!==d?i.type!=="initial":!0).map(ks(n||new I(t).flattenedTransitions))};return r&&(c.initial=ke(r)),c}var Jn=R(Xn(),1);function Xe(t){return(0,Jn.default)(ee(t,null))}function Je(t){let e={smcat:Wn.default,dot:xe,svg:Ne,oldsvg:Ne,scjson:ee,scxml:Xe};return(0,Qn.default)(e,t)?e[t]:n=>n}var Yn="10.1.3";function Zn(t,e){let n=$n.getAST(t,e),d=H.getOptionValue(e,"desugar");return Je(H.getOptionValue(e,"outputType"))(d?wn(n):n,e)}var Kn=Yn;function Mn(){return H.getAllowedValues()}var js={render:Zn,version:Kn,getAllowedValues:Mn};
|
|
78
|
+
`)}var $n={getAST(t,e){let n=t;return H.getOptionValue(e,"inputType")==="smcat"?n=mn(t):H.getOptionValue(e,"inputType")==="scxml"?n=gn(t):typeof t=="string"&&(n=JSON.parse(t)),mo(yn,n),n}};var Re=R(require("lodash/cloneDeep.js"),1),Te=R(require("lodash/reject.js"),1);function po(t,e,n){return t?`${t}${n}${e}`:e}function ho(t,e){let n={...t,...e,from:t.from,to:e.to};return e.action&&(n.action=po(t.action,e.action,`
|
|
79
|
+
`)),(n.event||n.cond||n.action)&&(n.label=ye.formatLabel(n.event,n.cond,n.action)),n}function go(t,e,n){return t.reduce((d,r)=>(e.forEach((c,i)=>{c===r.to&&n[c]?d=d.concat(n[c].map(f=>ho(r,f))):d=i===0?d.concat(r):d}),d),[])}function xn(t,e,n){let d=(0,Re.default)(t);return d.transitions&&e.length>0&&(d.transitions=go(d.transitions,e,n)),d.states=d.states.map(r=>r.statemachine?{...r,statemachine:xn(r.statemachine,e,n)}:r),d}function kn(t,e){let n=(0,Re.default)(t);return n.transitions&&(n.transitions=(0,Te.default)(n.transitions,d=>e.some(r=>r===d.from||r===d.to))),n.states=(0,Te.default)(n.states,d=>e.includes(d.name)).map(d=>d.statemachine?{...d,statemachine:kn(d.statemachine,e)}:d),n}var wn=(t,e=["fork","junction","choice"])=>{let n=new q(t),d=n.findStatesByTypes(e).map(({name:i})=>i),r=d.reduce((i,f)=>(i[f]=n.findTransitionsByFrom(f),i),{}),c=xn(t,d,r);return kn(c,d)};var Qn=R(require("lodash/has.js"),1),Wn=R(En(),1);var Hn=R(require("lodash/cloneDeep.js"),1);var Oo=[{name:"fontname",value:'"Helvetica"'},{name:"fontsize",value:"12"},{name:"penwidth",value:"2.0"}],Eo={dot:[{name:"splines",value:"true"},{name:"ordering",value:"out"},{name:"compound",value:"true"},{name:"overlap",value:"scale"},{name:"nodesep",value:"0.3"},{name:"ranksep",value:"0.1"}],fdp:[{name:"K",value:"0.9"}],osage:[{name:"pack",value:"42"}],neato:[{name:"epsilon",value:"0.9"}]},jo={"bottom-top":[{name:"rankdir",value:"BT"}],"left-right":[{name:"rankdir",value:"LR"}],"right-left":[{name:"rankdir",value:"RL"}]},_o=[{name:"shape",value:"plaintext"},{name:"style",value:"filled"},{name:"fillcolor",value:'"#FFFFFF01"'},{name:"fontname",value:"Helvetica"},{name:"fontsize",value:12},{name:"penwidth",value:"2.0"}],Fo=[{name:"fontname",value:"Helvetica"},{name:"fontsize",value:10}];function qe(t){return`${t.name}=${t.value}`}var be={buildGraphAttributes:(t,e,n)=>Oo.concat(Eo[t]||[]).concat(jo[e]||[]).concat(n||[]).map(qe).join(" "),buildNodeAttributes:t=>_o.concat(t||[]).map(qe).join(" "),buildEdgeAttributes:t=>Fo.concat(t||[]).map(qe).join(" ")};var jn=R(require("lodash/cloneDeep.js"),1);function To(t){return t.replace(/\\/g,"\\\\").replace(/\n\s*/g,"\\l").replace(/"/g,'\\"').concat("\\l")}function Ro(t){return t.replace(/\\/g,"\\\\").replace(/\n\s*/g," \\l").replace(/"/g,'\\"').concat(" \\l")}function Bo(t){let e=t||"top-down";return e==="top-down"||e==="bottom-top"}function Ho(t,e){return e.from===e.to&&t.findStateByName(e.from).statemachine&&e.type!=="internal"}var V={escapeString:To,escapeLabelString:Ro,isVertical:Bo,isCompositeSelf:Ho};function _n(t){return e=>e.type===t}function De(t){return e=>t.includes(e.type)}function qo(t){let e=(0,jn.default)(t);return e.label=t.label||t.name,e}function Do(t){return Object.prototype.hasOwnProperty.call(t,"note")&&(t.noteName=`note_${t.name}`),t}function Io(t){let e=["state",t.type];return Object.prototype.hasOwnProperty.call(t,"class")&&e.push(t.class.trim().replace(/[ ]{2,}/g," ")),t.class=e.join(" "),t}function Lo(t){return t==="activity"?"":`${t}/ `}function No(t){let e={...t};return t.actions&&(e.actions=t.actions.map(n=>`${Lo(n.type)}${n.body}`)),e}function Vo(t){return Object.prototype.hasOwnProperty.call(t,"note")&&(t.noteFlattened=t.note.join("")),t}function So(t){return e=>{var d;let n=(d=(t||[]).find(r=>r.name==="color"))==null?void 0:d.value;return n&&!e.color&&De(["initial","fork","join","junction","forkjoin","final"])(e)&&(e.color=n),e}}function zo(t){return t.note&&(t.note=t.note.map(V.escapeString)),t}function Uo(t){return e=>De(["fork","join","forkjoin"])(e)?{sizingExtras:V.isVertical(t)?"height=0.1":"width=0.1",...e}:e}function Go(t){return t.type==="parallel"&&t.statemachine&&t.statemachine.states&&(t.statemachine.states=t.statemachine.states.map(e=>_n("regular")(e)?{...e,parentIsParallel:!0}:e)),t}var F={isType:_n,isOneOfTypes:De,setLabel:qo,classifyState:Io,nameNote:Do,flattenActions:No,flattenNote:Vo,recolor:So,escapeStateStrings:zo,tipForkJoinStates:Uo,flagParallelChildren:Go};function Xo(t){return t.note&&(t.note=t.note.map(V.escapeString)),t.label&&(t.label=V.escapeLabelString(t.label)),t}function Jo(t){return e=>{let n={};return e.isCompositeSelf&&(V.isVertical(t)?n={tailportflags:'tailport="e" headport="e"',headportflags:'tailport="w"'}:e.hasParent?n={tailportflags:'tailport="n" headport="n"',headportflags:'tailport="s"'}:n={tailportflags:'tailport="s" headport="s"',headportflags:'tailport="n"'}),{...e,...n}}}function Qo(t){let e=["transition"];return t.type&&e.push(t.type),t.class&&e.push(t.class.trim().replace(/[ ]{2,}/g," ")),t.class=e.join(" "),t}var $e={escapeTransitionStrings:Xo,addPorts:Jo,classifyTransition:Qo};var se=class{constructor(){this.reset()}reset(){this.COUNTER=0}next(){return++this.COUNTER}nextAsString(){return this.next().toString(10)}};var qn=R(Bn(),1);var Dn={};function ts(t){return e=>(Object.prototype.hasOwnProperty.call(e,"statemachine")&&(e.nestedExternalSelfTransitions=t.findExternalSelfTransitions(e.name).map(n=>n.name)),e)}function In(t,e,n,d){return t.filter(r=>r.statemachine).forEach(r=>{r.statemachine.states=In(r.statemachine.states,e,n,d)}),t.map(F.setLabel).map(F.nameNote).map(F.classifyState).map(F.escapeStateStrings).map(F.flattenNote).map(F.flattenActions).map(F.flagParallelChildren).map(F.tipForkJoinStates(e)).map(F.recolor(n)).map(ts(d))}function ns(t){return t.initialStates=t.states.filter(F.isType("initial")),t.regularStates=t.states.filter(e=>F.isType("regular")(e)&&!e.statemachine),t.historyStates=t.states.filter(F.isType("history")),t.deepHistoryStates=t.states.filter(F.isType("deephistory")),t.choiceStates=t.states.filter(F.isType("choice")),t.forkjoinStates=t.states.filter(F.isOneOfTypes(["fork","join","forkjoin"])),t.junctionStates=t.states.filter(F.isType("junction")),t.terminateStates=t.states.filter(F.isType("terminate")),t.finalStates=t.states.filter(F.isType("final")),t.compositeStates=t.states.filter(e=>e.statemachine),t}function ls(t){return e=>(t.findStateByName(e.from).statemachine&&(e.fromComposite=!0),t.findStateByName(e.to).statemachine&&(e.toComposite=!0),e)}function rs(t){return e=>{let n={};return V.isCompositeSelf(t,e)&&(t.findStateByName(e.from).hasParent?n={hasParent:!0,isCompositeSelf:!0}:n={isCompositeSelf:!0}),{...e,...n}}}function as(t){return t.name=`tr_${t.from}_${t.to}_${Dn.nextAsString()}`,Boolean(t.note)&&(t.noteName=`note_${t.name}`),t}function os(t,e){return t.flattenedTransitions.map(as).map($e.escapeTransitionStrings).map($e.classifyTransition).map(F.flattenNote).map(ls(t)).map(rs(t)).map($e.addPorts(e))}var xe=(t,e)=>{e=e||{},Dn=new se;let n=(0,Hn.default)(t),d=new q(n);return n.transitions=os(d,e.direction),n.states=In(n.states,e.direction,e.dotNodeAttrs,d),n=ns(n),n.graphAttributes=be.buildGraphAttributes(H.getOptionValue(e,"engine"),H.getOptionValue(e,"direction"),e.dotGraphAttrs),n.nodeAttributes=be.buildNodeAttributes(e.dotNodeAttrs),n.edgeAttributes=be.buildEdgeAttributes(e.dotEdgeAttrs),(0,qn.default)(n)};var Ln=R(require("viz.js"),1);var ss={oldsvg:"svg",oldps2:"ps2",oldeps:"eps"},Ne=(t,e)=>(0,Ln.default)(xe(t,e),{engine:H.getOptionValue(e,"engine"),format:ss[H.getOptionValue(e,"outputType")]||"svg"});var is=/[\u0000-\u002C|\u002F|\u003B-\u0040|\u005B-\u0060|\u007B-\u00BF|\u00D7|\u00F7|\u0300-\u036F|\u037E|\u2000-\u200B|\u200E-\u206F|\u2190-\u2BFF|\u2FF0-\u3000|\uD800-\uF8FF|\uFDD0-\uFDEF|\uFFFE-\uFFFF]/g,us=/[-|.|0-9|\u00B7|\u0300-\u036F|\u203F-\u2040]/g;function Nn(t){return t.replace(is,"_")}function cs(t){let e=Nn(t);return e.match(us)&&(e=`_${t}`),e}var ke=t=>(t=t||"",t.length===0?"__empty":cs(t[0]).concat(Nn(t.slice(1))));var fs=/[\u00B7|\u0300-\u036F|\u203F-\u2040|\u0000-\u0029|\u002B-\u002C|\u002F|\u003B-\u0040|\u005B-\u0060|\u007B-\u00BF|\u00D7|\u00F7|\u0300-\u036F|\u037E|\u2000-\u200B|\u200E-\u206F|\u2190-\u2BFF|\u2FF0-\u3000|\uD800-\uF8FF|\uFDD0-\uFDEF|\uFFFE-\uFFFF]/g,ms=/[.]/g;function Vn(t){return t.replace(fs,"_")}function ps(t){let e=Vn(t);return e.match(ms)&&(e=`_${t}`),e}function ds(t){return t=t.replace(/\s+/g," ").trim(),ps(t[0]).concat(Vn(t.slice(1)))}var Sn=t=>(t=t||"",t.length===0?"empty":t.split(/[\n\r]+/).filter(e=>e.length>0).map(ds).join(" "));var hs={regular:"state",initial:"initial",final:"final",terminate:"final",parallel:"parallel",history:"history",deephistory:"history"};function gs(t){return hs[t]||"state"}function ys(t){let e={target:ke(t.to)};return Boolean(t.event)&&(e.event=Sn(t.event)),Boolean(t.cond)&&(e.cond=t.cond),Boolean(t.action)&&(e.action=t.action),Boolean(t.type)&&(e.type=t.type),e}function vs(t,e){return t.filter(n=>n.type===e).map(n=>n.body)}function Ve(t,e,n,d){let r=vs(n,d);r.length>0&&(t[e]=(t[e]||[]).concat(r))}function bs(t,e){Boolean(e.actions)&&(Ve(t,"onentries",e.actions,"entry"),Ve(t,"onentries",e.actions,"activity"),Ve(t,"onexits",e.actions,"exit"))}function $s(t,e,n){let d=n.filter(r=>r.from===e.name).map(ys);d.length>0&&(t.transitions=d)}function xs(t,e,n){if(Boolean(e.statemachine)){let d=ee(e.statemachine,null,n);t.states=(t.states||[]).concat(d.states),d.initial&&(t.initial=d.initial)}}function ks(t){return t=t||[],e=>{let n={kind:gs(e.type),id:ke(e.name)};return e.type==="deephistory"&&(n.type="deep"),bs(n,e),$s(n,e,t),xs(n,e,t),n}}function ws(t){let e=null,n=t.states.filter(d=>d.type==="initial");return n.length>0&&(e=n[0].name),e}function As(t,e){let n=e;if(e&&t.transitions){let d=t.transitions.filter(r=>r.from===e);d.length>0&&!d[0].action&&(n=d[0].to)}return n}function ee(t,e,n){let d=ws(t),r=As(t,d),c={states:t.states.filter(i=>r&&r!==d?i.type!=="initial":!0).map(ks(n||new q(t).flattenedTransitions))};return r&&(c.initial=ke(r)),c}var Jn=R(Xn(),1);function Ge(t){return(0,Jn.default)(ee(t))}function Xe(t){let e={smcat:Wn.default,dot:xe,svg:Ne,oldsvg:Ne,scjson:ee,scxml:Ge};return(0,Qn.default)(e,t)?e[t]:n=>n}var Yn="10.1.5";function Zn(t,e){let n=$n.getAST(t,e),d=H.getOptionValue(e,"desugar");return Xe(H.getOptionValue(e,"outputType"))(d?wn(n):n,e)}var Kn=Yn;function Mn(){return H.getAllowedValues()}var js={render:Zn,version:Kn,getAllowedValues:Mn};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "state-machine-cat",
|
|
3
|
-
"version": "10.1.
|
|
3
|
+
"version": "10.1.5",
|
|
4
4
|
"description": "write beautiful state charts",
|
|
5
5
|
"main": "./dist/commonjs/index.js",
|
|
6
6
|
"module": "./src/index.mjs",
|
|
@@ -38,10 +38,9 @@
|
|
|
38
38
|
"depcruise:graph:dev": "wireit",
|
|
39
39
|
"depcruise:graph:dev:flat": "wireit",
|
|
40
40
|
"depcruise:view-report": "wireit",
|
|
41
|
-
"depcruise:github-actions:markdown": "
|
|
42
|
-
"depcruise:github-actions:mermaid": "
|
|
43
|
-
"depcruise:github-actions:mermaid:affected": "
|
|
44
|
-
"depcruise:github-actions:mermaid:diff": "wireit",
|
|
41
|
+
"depcruise:github-actions:markdown": "depcruise bin src test types --config config/dependency-cruiser.js --output-type markdown",
|
|
42
|
+
"depcruise:github-actions:mermaid": "depcruise bin src --include-only '^(bin|src)' --config config/dependency-cruiser.js --output-type mermaid",
|
|
43
|
+
"depcruise:github-actions:mermaid:affected": "depcruise bin src test types tools --config config/dependency-cruiser.js --output-type mermaid --reaches \"$(watskeburt $SHA -T regex)\"",
|
|
45
44
|
"lint": "wireit",
|
|
46
45
|
"lint:eslint": "wireit",
|
|
47
46
|
"lint:prettier": "wireit",
|
|
@@ -115,7 +114,7 @@
|
|
|
115
114
|
"packageLocks": []
|
|
116
115
|
},
|
|
117
116
|
"depcruise:json": {
|
|
118
|
-
"command": "dependency-cruise --progress
|
|
117
|
+
"command": "dependency-cruise --progress performance-log --output-type json --output-to node_modules/.cache/depcruise-cache.json --config config/dependency-cruiser.js src test bin",
|
|
119
118
|
"files": [
|
|
120
119
|
"src/**/*",
|
|
121
120
|
"test/**/*",
|
|
@@ -256,30 +255,6 @@
|
|
|
256
255
|
"depcruise:json"
|
|
257
256
|
]
|
|
258
257
|
},
|
|
259
|
-
"depcruise:github-actions:markdown": {
|
|
260
|
-
"command": "depcruise-fmt node_modules/.cache/depcruise-cache.json --output-type markdown >> $GITHUB_STEP_SUMMARY",
|
|
261
|
-
"dependencies": [
|
|
262
|
-
"depcruise:json"
|
|
263
|
-
]
|
|
264
|
-
},
|
|
265
|
-
"depcruise:github-actions:mermaid": {
|
|
266
|
-
"command": "echo '\n\n```mermaid' >> $GITHUB_STEP_SUMMARY && depcruise-fmt node_modules/.cache/depcruise-cache.json --include-only '^(bin|src)' --output-type mermaid >> $GITHUB_STEP_SUMMARY && echo '```\n\n' >> $GITHUB_STEP_SUMMARY",
|
|
267
|
-
"dependencies": [
|
|
268
|
-
"depcruise:json"
|
|
269
|
-
]
|
|
270
|
-
},
|
|
271
|
-
"depcruise:github-actions:mermaid:affected": {
|
|
272
|
-
"command": "echo '\n\n```mermaid' >> $GITHUB_STEP_SUMMARY && depcruise-fmt node_modules/.cache/depcruise-cache.json --include-only --reaches '$(watskeburt $SHA -T regex)' --output-type mermaid >> $GITHUB_STEP_SUMMARY && echo '```\n\n' >> $GITHUB_STEP_SUMMARY",
|
|
273
|
-
"dependencies": [
|
|
274
|
-
"depcruise:json"
|
|
275
|
-
]
|
|
276
|
-
},
|
|
277
|
-
"depcruise:github-actions:mermaid:diff": {
|
|
278
|
-
"command": "echo '\n\n```mermaid' >> $GITHUB_STEP_SUMMARY && depcruise-fmt node_modules/.cache/depcruise-cache.json --include-only '^(bin|src)' --highlight '$(watskeburt $SHA -T regex)' --output-type mermaid >> $GITHUB_STEP_SUMMARY && echo '```\n\n' >> $GITHUB_STEP_SUMMARY",
|
|
279
|
-
"dependencies": [
|
|
280
|
-
"depcruise:json"
|
|
281
|
-
]
|
|
282
|
-
},
|
|
283
258
|
"lint": {
|
|
284
259
|
"dependencies": [
|
|
285
260
|
"lint:eslint",
|
|
@@ -367,9 +342,10 @@
|
|
|
367
342
|
]
|
|
368
343
|
},
|
|
369
344
|
"test:cover": {
|
|
370
|
-
"command": "c8 --all --check-coverage --statements 100 --branches 99.1 --functions 100 --lines 100 --exclude \"{bin/*,config/**/*,coverage/**/*,docs/**/*,public/**/*,test/**/*,tools/**/*,types/**/*,dist/commonjs/*,src/**/*.d.{ts,mts},src/**/*{template,-parser}.{mjs,cjs,js},tmp*}\" --reporter text-summary --reporter html --reporter lcov mocha",
|
|
345
|
+
"command": "c8 --all --check-coverage --statements 100 --branches 99.1 --functions 100 --lines 100 --exclude \"{bin/*,config/**/*,coverage/**/*,docs/**/*,public/**/*,test/**/*,tools/**/*,types/**/*,dist/commonjs/*,src/**/*.d.{ts,mts},src/**/*{template,-parser}.{mjs,cjs,js},tmp*}\" --reporter text-summary --reporter html --reporter lcov --reporter json-summary mocha",
|
|
371
346
|
"output": [
|
|
372
|
-
"coverage/lcov.info"
|
|
347
|
+
"coverage/lcov.info",
|
|
348
|
+
"coverage/coverage-summary.json"
|
|
373
349
|
],
|
|
374
350
|
"files": [
|
|
375
351
|
"{src,test}/**/*.{js,mjs,json}"
|
|
@@ -395,9 +371,9 @@
|
|
|
395
371
|
"state-machine-cat": "bin/smcat.mjs"
|
|
396
372
|
},
|
|
397
373
|
"dependencies": {
|
|
398
|
-
"ajv": "8.
|
|
399
|
-
"chalk": "5.
|
|
400
|
-
"commander": "
|
|
374
|
+
"ajv": "8.12.0",
|
|
375
|
+
"chalk": "5.2.0",
|
|
376
|
+
"commander": "10.0.0",
|
|
401
377
|
"fast-xml-parser": "3.21.1",
|
|
402
378
|
"get-stream": "6.0.1",
|
|
403
379
|
"handlebars": "4.7.7",
|
|
@@ -409,38 +385,38 @@
|
|
|
409
385
|
"wrap-ansi": "8.0.1"
|
|
410
386
|
},
|
|
411
387
|
"devDependencies": {
|
|
412
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
413
|
-
"@typescript-eslint/parser": "5.
|
|
388
|
+
"@typescript-eslint/eslint-plugin": "5.48.2",
|
|
389
|
+
"@typescript-eslint/parser": "5.48.2",
|
|
414
390
|
"c8": "7.12.0",
|
|
415
391
|
"chai": "4.3.7",
|
|
416
392
|
"chai-as-promised": "7.1.1",
|
|
417
393
|
"chai-json-schema": "1.5.1",
|
|
418
394
|
"chai-xml": "0.4.0",
|
|
419
|
-
"dependency-cruiser": "
|
|
420
|
-
"esbuild": "0.
|
|
421
|
-
"eslint": "8.
|
|
395
|
+
"dependency-cruiser": "12.5.1",
|
|
396
|
+
"esbuild": "0.17.3",
|
|
397
|
+
"eslint": "8.32.0",
|
|
422
398
|
"eslint-config-moving-meadow": "4.0.2",
|
|
423
|
-
"eslint-config-prettier": "8.
|
|
399
|
+
"eslint-config-prettier": "8.6.0",
|
|
424
400
|
"eslint-plugin-budapestian": "5.0.1",
|
|
425
401
|
"eslint-plugin-eslint-comments": "3.2.0",
|
|
426
|
-
"eslint-plugin-import": "2.
|
|
402
|
+
"eslint-plugin-import": "2.27.5",
|
|
427
403
|
"eslint-plugin-mocha": "10.1.0",
|
|
428
404
|
"eslint-plugin-node": "11.1.0",
|
|
429
|
-
"eslint-plugin-security": "1.
|
|
430
|
-
"eslint-plugin-unicorn": "
|
|
431
|
-
"husky": "8.0.
|
|
405
|
+
"eslint-plugin-security": "1.6.0",
|
|
406
|
+
"eslint-plugin-unicorn": "45.0.2",
|
|
407
|
+
"husky": "8.0.3",
|
|
432
408
|
"is-pdf": "1.0.0",
|
|
433
409
|
"is-png": "3.0.1",
|
|
434
|
-
"lint-staged": "13.0
|
|
435
|
-
"mocha": "10.
|
|
410
|
+
"lint-staged": "13.1.0",
|
|
411
|
+
"mocha": "10.2.0",
|
|
436
412
|
"npm-run-all": "4.1.5",
|
|
437
413
|
"peggy": "2.0.1",
|
|
438
|
-
"prettier": "2.
|
|
439
|
-
"query-string": "
|
|
440
|
-
"typescript": "4.
|
|
414
|
+
"prettier": "2.8.3",
|
|
415
|
+
"query-string": "8.1.0",
|
|
416
|
+
"typescript": "4.9.4",
|
|
441
417
|
"upem": "7.3.1",
|
|
442
|
-
"watskeburt": "0.
|
|
443
|
-
"wireit": "0.
|
|
418
|
+
"watskeburt": "0.9.0",
|
|
419
|
+
"wireit": "0.9.3",
|
|
444
420
|
"xml-name-validator": "4.0.0"
|
|
445
421
|
},
|
|
446
422
|
"eslintIgnore": [
|
package/src/cli/normalize.mjs
CHANGED
|
@@ -15,6 +15,7 @@ const INPUT_EXTENSIONS = {
|
|
|
15
15
|
".json": "json",
|
|
16
16
|
".ast": "json",
|
|
17
17
|
};
|
|
18
|
+
|
|
18
19
|
const OUTPUT_EXTENSIONS = {
|
|
19
20
|
".ast": "json",
|
|
20
21
|
".dot": "dot",
|
|
@@ -50,8 +51,8 @@ function classifyExtension(pString, pExtensionMap, pDefault) {
|
|
|
50
51
|
}
|
|
51
52
|
|
|
52
53
|
/**
|
|
53
|
-
* @param {import("
|
|
54
|
-
* @returns {import("
|
|
54
|
+
* @param {import("../..").OutputType} pOutputType
|
|
55
|
+
* @returns {import("../..").OutputType}
|
|
55
56
|
*/
|
|
56
57
|
function outputType2Extension(pOutputType) {
|
|
57
58
|
const lExceptions = {
|
|
@@ -66,7 +67,7 @@ function outputType2Extension(pOutputType) {
|
|
|
66
67
|
|
|
67
68
|
/**
|
|
68
69
|
* @param {string} pInputFrom
|
|
69
|
-
* @param {import("
|
|
70
|
+
* @param {import("../..").OutputType} pOutputType
|
|
70
71
|
* @returns {string}
|
|
71
72
|
*/
|
|
72
73
|
function deriveOutputFromInput(pInputFrom, pOutputType) {
|
|
@@ -87,7 +88,7 @@ function deriveOutputFromInput(pInputFrom, pOutputType) {
|
|
|
87
88
|
/**
|
|
88
89
|
* @param {string|undefined} pOutputTo
|
|
89
90
|
* @param {string} pInputFrom
|
|
90
|
-
* @param {import("
|
|
91
|
+
* @param {import("../..").OutputType} pOutputType
|
|
91
92
|
* @returns {string}
|
|
92
93
|
*/
|
|
93
94
|
function determineOutputTo(pOutputTo, pInputFrom, pOutputType) {
|
|
@@ -95,11 +96,11 @@ function determineOutputTo(pOutputTo, pInputFrom, pOutputType) {
|
|
|
95
96
|
}
|
|
96
97
|
|
|
97
98
|
/**
|
|
98
|
-
* @param {import("../../types/state-machine-cat").InputType|undefined} pInputType
|
|
99
99
|
* @param {string} pInputFrom
|
|
100
|
-
* @
|
|
100
|
+
* @param {import("../..").InputType} [pInputType]
|
|
101
|
+
* @returns {import("../..").InputType}
|
|
101
102
|
*/
|
|
102
|
-
function determineInputType(
|
|
103
|
+
function determineInputType(pInputFrom, pInputType) {
|
|
103
104
|
if (pInputType) {
|
|
104
105
|
return pInputType;
|
|
105
106
|
}
|
|
@@ -112,21 +113,35 @@ function determineInputType(pInputType, pInputFrom) {
|
|
|
112
113
|
options.getAllowedValues().inputType.default
|
|
113
114
|
);
|
|
114
115
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
/**
|
|
117
|
+
*
|
|
118
|
+
* @param {string} [pOutputTo]
|
|
119
|
+
* @param {import("../..").OutputType} [pOutputType]
|
|
120
|
+
* @returns {import("../..").OutputType}
|
|
121
|
+
*/
|
|
122
|
+
function determineOutputType(pOutputTo, pOutputType) {
|
|
123
|
+
if (pOutputType) {
|
|
118
124
|
return pOutputType;
|
|
119
125
|
}
|
|
120
|
-
if (
|
|
126
|
+
if (pOutputTo) {
|
|
127
|
+
// @ts-expect-error we can safely cast this to OutputType. classifyExtension
|
|
128
|
+
// can probably use treatment with a generic, but with jsdoc annotations
|
|
129
|
+
// if at all possible would likely be awkward.
|
|
121
130
|
return classifyExtension(
|
|
122
131
|
pOutputTo,
|
|
123
132
|
OUTPUT_EXTENSIONS,
|
|
124
133
|
options.getAllowedValues().outputType.default
|
|
125
134
|
);
|
|
126
135
|
}
|
|
136
|
+
// @ts-expect-error cast to OutputType is safe - see above
|
|
127
137
|
return options.getAllowedValues().outputType.default;
|
|
128
138
|
}
|
|
129
|
-
|
|
139
|
+
/**
|
|
140
|
+
*
|
|
141
|
+
* @param {import("./cli").ILooseCLIRenderOptions} pOptions
|
|
142
|
+
* @param {string} pParameter
|
|
143
|
+
* @returns string
|
|
144
|
+
*/
|
|
130
145
|
function determineParameter(pOptions, pParameter) {
|
|
131
146
|
return Object.prototype.hasOwnProperty.call(pOptions, pParameter)
|
|
132
147
|
? pOptions[pParameter]
|
|
@@ -136,7 +151,7 @@ function determineParameter(pOptions, pParameter) {
|
|
|
136
151
|
/**
|
|
137
152
|
* @param {Partial<import("./cli").ILooseCLIRenderOptions>} pOptions
|
|
138
153
|
* @param {keyof import("./cli").ILooseCLIRenderOptions} pDotAttributes
|
|
139
|
-
* @returns {import("
|
|
154
|
+
* @returns {import("../..").dotAttributesType}
|
|
140
155
|
*/
|
|
141
156
|
function determineDotAttributes(pOptions, pDotAttributes) {
|
|
142
157
|
return Boolean(pOptions?.[pDotAttributes]) &&
|
|
@@ -162,12 +177,12 @@ function determineDotAttributes(pOptions, pDotAttributes) {
|
|
|
162
177
|
export default function normalize(pArgument = "-", pLooseOptions = {}) {
|
|
163
178
|
const lNormalizedInputFrom = pArgument || "-";
|
|
164
179
|
const lNormalizedInputType = determineInputType(
|
|
165
|
-
|
|
166
|
-
|
|
180
|
+
lNormalizedInputFrom,
|
|
181
|
+
pLooseOptions.inputType
|
|
167
182
|
);
|
|
168
183
|
const lNormalizedOutputType = determineOutputType(
|
|
169
|
-
pLooseOptions.
|
|
170
|
-
pLooseOptions.
|
|
184
|
+
pLooseOptions.outputTo,
|
|
185
|
+
pLooseOptions.outputType
|
|
171
186
|
);
|
|
172
187
|
|
|
173
188
|
return {
|
|
@@ -57,7 +57,7 @@ function matches(pName) {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
|
-
* @param {string} pName
|
|
60
|
+
* @param {string} [pName]
|
|
61
61
|
* @returns {import("../../types/state-machine-cat.js").StateType}
|
|
62
62
|
*/
|
|
63
63
|
function getStateType(pName) {
|
|
@@ -85,7 +85,7 @@ function isComposite(pState) {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
/**
|
|
88
|
-
* @param {import("../../types/state-machine-cat.js").IStateMachine
|
|
88
|
+
* @param {import("../../types/state-machine-cat.js").IStateMachine} [pStateMachine]
|
|
89
89
|
* @returns {string[]}
|
|
90
90
|
*/
|
|
91
91
|
function getAlreadyDeclaredStates(pStateMachine) {
|
|
@@ -4,7 +4,7 @@ import he from "he";
|
|
|
4
4
|
import castArray from "lodash/castArray.js";
|
|
5
5
|
import utl from "../../transform/utl.mjs";
|
|
6
6
|
import parserHelpers from "../parser-helpers.mjs";
|
|
7
|
-
import normalizeMachine from "./normalize-machine.mjs";
|
|
7
|
+
import { normalizeMachine } from "./normalize-machine.mjs";
|
|
8
8
|
|
|
9
9
|
const formatLabel = utl.formatLabel;
|
|
10
10
|
|
|
@@ -27,10 +27,14 @@ function extractActionsFromInvokes(pInvokeTriggers) {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
* @param {import("./scxml").
|
|
30
|
+
* @param {import("./scxml").INormalizedSCXMLState} pState
|
|
31
31
|
* @returns {{type: string; body: string;}[]}
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
|
+
/**
|
|
35
|
+
* @param {import("./scxml").INormalizedSCXMLState} pState
|
|
36
|
+
* @returns {any[]}
|
|
37
|
+
*/
|
|
34
38
|
function deriveActions(pState) {
|
|
35
39
|
let lReturnValue = [];
|
|
36
40
|
|
|
@@ -49,20 +53,23 @@ function deriveActions(pState) {
|
|
|
49
53
|
}
|
|
50
54
|
|
|
51
55
|
/**
|
|
52
|
-
* @param {
|
|
53
|
-
*
|
|
54
|
-
* @
|
|
56
|
+
* @param {import("../../..").StateType} pType
|
|
57
|
+
* param {import("./scxml").ISCXMLHistoryState} pState
|
|
58
|
+
* @param {any} pState
|
|
59
|
+
* @returns {import("../../..").StateType}
|
|
55
60
|
*/
|
|
56
61
|
function deriveStateType(pType, pState) {
|
|
57
62
|
return pType === "history" && pState.type === "deep" ? "deephistory" : pType;
|
|
58
63
|
}
|
|
59
64
|
|
|
65
|
+
/**
|
|
66
|
+
* @param {import("../../../types/state-machine-cat").StateType} pType
|
|
67
|
+
* returns {(pState: import("./scxml").INormalizedSCXMLState) => import("../../..").IState}
|
|
68
|
+
* @returns {(any) => import("../../..").IState}
|
|
69
|
+
*/
|
|
60
70
|
function mapState(pType) {
|
|
61
|
-
/**
|
|
62
|
-
* @param {import("./scxml").ISXCMLState} pState
|
|
63
|
-
* @return {import("../../../types/state-machine-cat").IState}
|
|
64
|
-
*/
|
|
65
71
|
return (pState) => {
|
|
72
|
+
/** @type {import("../../../types/state-machine-cat").IState} */
|
|
66
73
|
const lReturnValue = {
|
|
67
74
|
name: pState.id,
|
|
68
75
|
type: deriveStateType(pType, pState),
|
|
@@ -144,18 +151,18 @@ function extractTransitionAttributes(pTransition) {
|
|
|
144
151
|
}
|
|
145
152
|
|
|
146
153
|
/**
|
|
147
|
-
* @param {import("./scxml").
|
|
154
|
+
* @param {import("./scxml").INormalizedSCXMLState} pState
|
|
148
155
|
*/
|
|
149
156
|
function reduceTransition(pState) {
|
|
150
157
|
/**
|
|
151
|
-
* @param {import("
|
|
152
|
-
* @param {import("
|
|
153
|
-
* @returns {import("
|
|
158
|
+
* @param {import("./scxml").ISCXMLTransition[]} pAllTransitions
|
|
159
|
+
* @param {import("./scxml").ISCXMLTransition} pTransition
|
|
160
|
+
* @returns {import("../../..").ITransition}
|
|
154
161
|
*/
|
|
155
162
|
return (pAllTransitions, pTransition) => {
|
|
156
163
|
// in SCXML spaces denote references to multiple states
|
|
157
164
|
// => split into multiple transitions
|
|
158
|
-
const lTargets = (pTransition
|
|
165
|
+
const lTargets = (pTransition?.target ?? pState.id).split(/\s+/);
|
|
159
166
|
const lTransitionAttributes = extractTransitionAttributes(pTransition);
|
|
160
167
|
|
|
161
168
|
return pAllTransitions.concat(
|
|
@@ -171,7 +178,7 @@ function reduceTransition(pState) {
|
|
|
171
178
|
}
|
|
172
179
|
|
|
173
180
|
/**
|
|
174
|
-
* @param {import("./scxml").
|
|
181
|
+
* @param {import("./scxml").INormalizedSCXMLState[]} pStates
|
|
175
182
|
* @returns {import("../../../types/state-machine-cat").ITransition[]}
|
|
176
183
|
*/
|
|
177
184
|
function extractTransitions(pStates) {
|
|
@@ -192,23 +199,23 @@ function extractTransitions(pStates) {
|
|
|
192
199
|
}
|
|
193
200
|
|
|
194
201
|
/**
|
|
195
|
-
* @param {
|
|
196
|
-
* @returns {import("
|
|
202
|
+
* @param {any} pSCXMLStateMachine
|
|
203
|
+
* @returns {import("../../..").IStateMachine}
|
|
197
204
|
*/
|
|
198
|
-
function mapMachine(
|
|
199
|
-
const
|
|
200
|
-
const lReturnValue = {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
205
|
+
function mapMachine(pSCXMLStateMachine) {
|
|
206
|
+
const lNormalizedMachine = normalizeMachine(pSCXMLStateMachine);
|
|
207
|
+
const lReturnValue = {
|
|
208
|
+
states: lNormalizedMachine.initial
|
|
209
|
+
.map(mapState("initial"))
|
|
210
|
+
.concat(lNormalizedMachine.state.map(mapState("regular")))
|
|
211
|
+
.concat(lNormalizedMachine.parallel.map(mapState("parallel")))
|
|
212
|
+
.concat(lNormalizedMachine.history.map(mapState("history")))
|
|
213
|
+
.concat(lNormalizedMachine.final.map(mapState("final"))),
|
|
214
|
+
};
|
|
208
215
|
|
|
209
|
-
const lTransitions = extractTransitions(
|
|
210
|
-
.concat(extractTransitions(
|
|
211
|
-
.concat(extractTransitions(
|
|
216
|
+
const lTransitions = extractTransitions(lNormalizedMachine.initial)
|
|
217
|
+
.concat(extractTransitions(lNormalizedMachine.state))
|
|
218
|
+
.concat(extractTransitions(lNormalizedMachine.parallel));
|
|
212
219
|
|
|
213
220
|
if (lTransitions.length > 0) {
|
|
214
221
|
lReturnValue.transitions = lTransitions;
|
|
@@ -223,17 +230,23 @@ function mapMachine(pMachine) {
|
|
|
223
230
|
* @returns {import("../../../types/state-machine-cat").IStateMachine} state machine AST
|
|
224
231
|
*/
|
|
225
232
|
export function parse(pSCXMLString) {
|
|
226
|
-
const
|
|
233
|
+
const lTrimmedSCXMLString = pSCXMLString.trim();
|
|
227
234
|
|
|
228
|
-
if (fastxml.validate(
|
|
229
|
-
|
|
235
|
+
if (fastxml.validate(lTrimmedSCXMLString) === true) {
|
|
236
|
+
/** @type {import("./scxml").ISCXMLAsJSON} */
|
|
237
|
+
const lXMLAsJSON = fastxml.parse(lTrimmedSCXMLString, {
|
|
230
238
|
attributeNamePrefix: "",
|
|
231
239
|
ignoreAttributes: false,
|
|
232
240
|
tagValueProcessor: (pTagValue) => he.decode(pTagValue),
|
|
233
241
|
stopNodes: ["onentry", "onexit", "transition"],
|
|
234
242
|
});
|
|
235
243
|
|
|
236
|
-
return mapMachine(
|
|
244
|
+
return mapMachine(
|
|
245
|
+
lXMLAsJSON?.scxml ?? {
|
|
246
|
+
xmlns: "http://www.w3.org/2005/07/scxml",
|
|
247
|
+
version: "1.0",
|
|
248
|
+
}
|
|
249
|
+
);
|
|
237
250
|
}
|
|
238
251
|
throw new Error("That doesn't look like valid xml ...\n");
|
|
239
252
|
}
|
|
@@ -1,61 +1,67 @@
|
|
|
1
1
|
import castArray from "lodash/castArray.js";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @param {Partial<import("./scxml").ISCXMLInitialState>} pInitialObject
|
|
5
|
+
* @param {string} [pId]
|
|
6
|
+
* @returns {import("./scxml").ISCXMLInitialState}
|
|
7
|
+
*/
|
|
8
|
+
function normalizeInitialFromObject(pInitialObject, pId) {
|
|
4
9
|
const lReturnValue = {
|
|
5
10
|
// ensure the 'initial' state has a unique name
|
|
6
|
-
id:
|
|
11
|
+
id: pId ? `${pId}.initial` : "initial",
|
|
7
12
|
};
|
|
8
13
|
|
|
9
|
-
if (
|
|
14
|
+
if (pInitialObject.transition) {
|
|
10
15
|
Object.assign(lReturnValue, {
|
|
11
|
-
transition: [
|
|
16
|
+
transition: [pInitialObject.transition],
|
|
12
17
|
});
|
|
13
18
|
}
|
|
14
19
|
|
|
15
20
|
return lReturnValue;
|
|
16
21
|
}
|
|
17
22
|
|
|
18
|
-
|
|
23
|
+
/**
|
|
24
|
+
* @param {string} pString
|
|
25
|
+
* @returns {import("./scxml").ISCXMLInitialState}
|
|
26
|
+
*/
|
|
27
|
+
function normalizeInitialFromString(pString) {
|
|
19
28
|
return {
|
|
20
29
|
id: "initial",
|
|
21
30
|
transition: [
|
|
22
31
|
{
|
|
23
|
-
target:
|
|
32
|
+
target: pString,
|
|
24
33
|
},
|
|
25
34
|
],
|
|
26
35
|
};
|
|
27
36
|
}
|
|
28
37
|
|
|
38
|
+
/**
|
|
39
|
+
* @param {any} pMachine
|
|
40
|
+
* @returns {import("./scxml").ISCXMLInitialState[]}
|
|
41
|
+
*/
|
|
29
42
|
function normalizeInitial(pMachine) {
|
|
30
43
|
const lReturnValue = [];
|
|
31
|
-
let lInitialObject = {};
|
|
32
44
|
|
|
33
45
|
if (pMachine.initial) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
// looks like an odd corner case) we won't recognize the
|
|
37
|
-
// initial
|
|
38
|
-
// the initial.id shouldn't occur (not allowed in scxml
|
|
39
|
-
// land), but smcat scxml renderer generates it nonetheless
|
|
40
|
-
if (pMachine.initial.transition || pMachine.initial.id) {
|
|
41
|
-
lInitialObject = normalizeInitialFromObject(pMachine);
|
|
46
|
+
if (typeof pMachine.initial === "string") {
|
|
47
|
+
lReturnValue.push(normalizeInitialFromString(pMachine.initial));
|
|
42
48
|
} else {
|
|
43
|
-
|
|
49
|
+
lReturnValue.push(
|
|
50
|
+
normalizeInitialFromObject(pMachine.initial, pMachine.id)
|
|
51
|
+
);
|
|
44
52
|
}
|
|
45
|
-
lReturnValue.push(lInitialObject);
|
|
46
53
|
}
|
|
47
54
|
return lReturnValue;
|
|
48
55
|
}
|
|
49
56
|
|
|
50
57
|
/**
|
|
51
58
|
* Massages SCXML-as-json to be uniform:
|
|
52
|
-
* -
|
|
53
59
|
*
|
|
54
60
|
* @param {any} pMachine SCXML-as-json state machine
|
|
55
|
-
* @returns {
|
|
56
|
-
*
|
|
61
|
+
* @returns {import("./scxml").INormalizedSCXMLMachine} Still an SCXML-as-json state machine,
|
|
62
|
+
* but more consistent and easier to use
|
|
57
63
|
*/
|
|
58
|
-
export
|
|
64
|
+
export function normalizeMachine(pMachine) {
|
|
59
65
|
return {
|
|
60
66
|
...pMachine,
|
|
61
67
|
initial: normalizeInitial(pMachine),
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
## Why does this renderer use `#FFFFFF01` instead of `transparent` for transparency?
|
|
2
|
+
|
|
3
|
+
Typically you'll use the `dot` output to translate it to scalable vector graphics
|
|
4
|
+
(svg) with GraphViz. In svg `transparent` isn't a color, though (see issue [#129](https://github.com/sverweij/state-machine-cat/issues/129)).
|
|
5
|
+
In web browsers this isn't a problem, but less lenient svg interpreters will
|
|
6
|
+
render it as black instead. This is suboptimal.
|
|
7
|
+
|
|
8
|
+
The obvious alternative is to use `#FFFFFF00` (as svg does allow RGBA), however
|
|
9
|
+
GraphViz translates this into `transparent` nonetheless. So to hack around this
|
|
10
|
+
the dot renderer uses `01` in the alpha channel in stead (`#FFFFFF01`). GrapViz
|
|
11
|
+
nicely translates this to `fill="#ffffff" fill-opacity="0.004"` which is sufficiently
|
|
12
|
+
transparent for all practical purposes.
|
|
@@ -138,10 +138,10 @@ function findInitialStateName(pStateMachine, pInitialPseudoStateName) {
|
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
/**
|
|
141
|
-
* @param {import("
|
|
142
|
-
* @param {import("
|
|
143
|
-
* @param {import("
|
|
144
|
-
* @returns {any}
|
|
141
|
+
* @param {import("../../..").IStateMachine} pStateMachine
|
|
142
|
+
* @param {import("../../..").IRenderOptions} [_pOptions]
|
|
143
|
+
* @param {import("../../..").ITransition[]} [pTransitions] (no need to specify - used in recursion)
|
|
144
|
+
* @returns {any} TODO: scjson data structure
|
|
145
145
|
*/
|
|
146
146
|
export default function render(pStateMachine, _pOptions, pTransitions) {
|
|
147
147
|
const lInitialPseudoStateName = findInitialPseudoStateName(pStateMachine);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import ast2scjson from "../scjson/index.mjs";
|
|
3
3
|
import renderFomSCJSON from "./render-from-scjson.js";
|
|
4
4
|
|
|
5
|
-
/** @type {import("
|
|
5
|
+
/** @type {import("../../..").StringRenderFunctionType} */
|
|
6
6
|
export default function renderSCXML(pStateMachine) {
|
|
7
|
-
return renderFomSCJSON(ast2scjson(pStateMachine
|
|
7
|
+
return renderFomSCJSON(ast2scjson(pStateMachine));
|
|
8
8
|
}
|
package/src/transform/utl.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
/**
|
|
3
3
|
*
|
|
4
|
-
* @param {string
|
|
5
|
-
* @param {string
|
|
6
|
-
* @param {string
|
|
4
|
+
* @param {string} [pEvent]
|
|
5
|
+
* @param {string} [pCond]
|
|
6
|
+
* @param {string} [pActions]
|
|
7
7
|
* @returns {string}
|
|
8
8
|
*/
|
|
9
9
|
function formatLabel(pEvent, pCond, pActions) {
|
package/src/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// generated by tools/get-version.mjs - edits will be overwritten
|
|
2
|
-
export const version = "10.1.
|
|
2
|
+
export const version = "10.1.5";
|