js-chordpro
Version:
ChordPro format parser
3 lines (2 loc) • 23.5 kB
JavaScript
;function t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e,r,n,s,o,u,a,c,i,l={};function f(){if(r)return e;function t(e,r,n,s){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,t.prototype),o.expected=r,o.found=n,o.location=s,o.name="SyntaxError",o}function n(t,e,r){return r=r||" ",t.length>e?t:(e-=t.length,t+(r+=r.repeat(e)).slice(0,e))}return r=1,function(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}(t,Error),t.prototype.format=function(t){var e="Error: "+this.message;if(this.location){var r,s=null;for(r=0;r<t.length;r++)if(t[r].source===this.location.source){s=t[r].text.split(/\r\n|\n|\r/g);break}var o=this.location.start,u=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(o):o,a=this.location.source+":"+u.line+":"+u.column;if(s){var c=this.location.end,i=n("",u.line.toString().length," "),l=s[o.line-1],f=(o.line===c.line?c.column:l.length+1)-o.column||1;e+="\n --\x3e "+a+"\n"+i+" |\n"+u.line+" | "+l+"\n"+i+" | "+n("",o.column-1," ")+n("",f,"^")}else e+="\n at "+a}return e},t.buildMessage=function(t,e){var r={literal:function(t){return'"'+s(t.text)+'"'},class:function(t){var e=t.parts.map((function(t){return Array.isArray(t)?o(t[0])+"-"+o(t[1]):o(t)}));return"["+(t.inverted?"^":"")+e.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(t){return t.description}};function n(t){return t.charCodeAt(0).toString(16).toUpperCase()}function s(t){return t.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(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}function o(t){return t.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(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}function u(t){return r[t.type](t)}return"Expected "+function(t){var e,r,n=t.map(u);if(n.sort(),n.length>0){for(e=1,r=1;e<n.length;e++)n[e-1]!==n[e]&&(n[r]=n[e],r++);n.length=r}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}(t)+" but "+function(t){return t?'"'+s(t)+'"':"end of input"}(e)+" found."},e={StartRules:["All"],SyntaxError:t,parse:function(e,r){var n,s,o,u,a={},c=(r=void 0!==r?r:{}).grammarSource,i={All:Ie},l=Ie,f="{",h="}",p="title:",d="t:",v="meta: title",A="subtitle:",m="st:",g="meta: subtitle",b="artist:",y="meta: artist",C="composer:",x="meta: composer",$="lyricist:",_="meta: lyricist",F="copyright:",k="meta: copyright",w="album:",E="meta: album",S="year:",O="meta: year",j="key:",P="meta: key",D="capo:",R="meta: capo",G="time:",B="meta: time",M="tempo:",U="meta: tempo",Z="duration:",I="meta: duration",L="{c:",T="{comment:",V="soc",q="start_of_chorus",z="eoc",H="end_of_chorus",J="[",K="]",N="sot",Q="start_of_tab",W="eot",X="end_of_tab",Y=/^[\n\r]/,tt=/^[^}]/,et=/^[^{[\n\r]/,rt=/^[A-Z]/,nt=/^[^\]]/,st=/^[^{\n\r]/,ot={type:"any"},ut=Be(["\n","\r"],!1,!1),at=Ge("{",!1),ct=Ge(" ",!1),it=Be(["}"],!0,!1),lt=Ge("}",!1),ft=Ge("title:",!1),ht=Ge("t:",!1),pt=Ge("meta: title",!1),dt=Ge("subtitle:",!1),vt=Ge("st:",!1),At=Ge("meta: subtitle",!1),mt=Ge("artist:",!1),gt=Ge("meta: artist",!1),bt=Ge("composer:",!1),yt=Ge("meta: composer",!1),Ct=Ge("lyricist:",!1),xt=Ge("meta: lyricist",!1),$t=Ge("copyright:",!1),_t=Ge("meta: copyright",!1),Ft=Ge("album:",!1),kt=Ge("meta: album",!1),wt=Ge("year:",!1),Et=Ge("meta: year",!1),St=Ge("key:",!1),Ot=Ge("meta: key",!1),jt=Ge("capo:",!1),Pt=Ge("meta: capo",!1),Dt=Ge("time:",!1),Rt=Ge("meta: time",!1),Gt=Ge("tempo:",!1),Bt=Ge("meta: tempo",!1),Mt=Ge("duration:",!1),Ut=Ge("meta: duration",!1),Zt=Ge("{c:",!1),It=Ge("{comment:",!1),Lt=Ge("soc",!1),Tt=Ge("start_of_chorus",!1),Vt=Ge("eoc",!1),qt=Ge("end_of_chorus",!1),zt=Be(["{","[","\n","\r"],!0,!1),Ht=Ge("[",!1),Jt=Be([["A","Z"]],!1,!1),Kt=Be(["]"],!0,!1),Nt=Ge("]",!1),Qt=Ge("sot",!1),Wt=Ge("start_of_tab",!1),Xt=Ge("eot",!1),Yt=Ge("end_of_tab",!1),te=Be(["{","\n","\r"],!0,!1),ee=function(t){return""},re=function(t,e){return{header:t,content:e}},ne=function(t){return t},se=function(t){return{type:"title",value:t}},oe=function(t){return{type:"subtitle",value:t}},ue=function(t){return{type:"artist",value:t}},ae=function(t){return{type:"composer",value:t}},ce=function(t){return{type:"lyricist",value:t}},ie=function(t){return{type:"copyright",value:t}},le=function(t){return{type:"album",value:t}},fe=function(t){return{type:"year",value:t}},he=function(t){return{type:"key",value:t}},pe=function(t){return{type:"capo",value:t}},de=function(t){return{type:"time",value:t}},ve=function(t){return{type:"tempo",value:t}},Ae=function(t){return{type:"duration",value:t}},me=function(t){return{type:"comment",value:t}},ge=function(t,e){return e},be=function(t,e,r){return[t].concat(e)},ye=function(t){return{type:"verse",items:t}},Ce=function(t){return{type:"chorus",items:t}},xe=function(t,e){return e},$e=function(t,e){return[t].concat(e)},_e=function(t){return{type:"line",items:t}},Fe=function(t){return{type:"text",value:t}},ke=function(t){return{type:"chord",value:t}},we=function(t){return{type:"tab",items:t}},Ee=function(t,e){return e},Se=function(t,e){return[t].concat(e)},Oe=0|r.peg$currPos,je=[{line:1,column:1}],Pe=Oe,De=r.peg$maxFailExpected||[],Re=0|r.peg$silentFails;if(r.startRule){if(!(r.startRule in i))throw new Error("Can't start parsing from rule \""+r.startRule+'".');l=i[r.startRule]}function Ge(t,e){return{type:"literal",text:t,ignoreCase:e}}function Be(t,e,r){return{type:"class",parts:t,inverted:e,ignoreCase:r}}function Me(t){var r,n=je[t];if(n)return n;if(t>=je.length)r=je.length-1;else for(r=t;!je[--r];);for(n={line:(n=je[r]).line,column:n.column};r<t;)10===e.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return je[t]=n,n}function Ue(t,e,r){var n=Me(t),s=Me(e);return{source:c,start:{offset:t,line:n.line,column:n.column},end:{offset:e,line:s.line,column:s.column}}}function Ze(t){Oe<Pe||(Oe>Pe&&(Pe=Oe,De=[]),De.push(t))}function Ie(){var t,r,n,s,o;return t=Oe,r=function(){var t,e,r;if(t=Oe,e=[],r=Le(),r!==a)for(;r!==a;)e.push(r),r=Le();else e=a;e!==a&&(e=ne(e));return t=e,t}(),r===a&&(r=null),n=function(){var t,r,n,s,o,u,c;if(t=Oe,r=qe(),r!==a){if(n=[],s=Oe,(o=Te())!==a){if(u=[],(c=Te())!==a)for(;c!==a;)u.push(c),c=Te();else u=a;u!==a&&(c=qe())!==a?s=ge(r,c):(Oe=s,s=a)}else Oe=s,s=a;for(;s!==a;)if(n.push(s),s=Oe,(o=Te())!==a){if(u=[],(c=Te())!==a)for(;c!==a;)u.push(c),c=Te();else u=a;u!==a&&(c=qe())!==a?s=ge(r,c):(Oe=s,s=a)}else Oe=s,s=a;if(s=Oe,Re++,e.length>Oe?(o=e.charAt(Oe),Oe++):(o=a,0===Re&&Ze(ot)),Re--,o===a?s=void 0:(Oe=s,s=a),s===a){if(s=[],(o=Te())!==a)for(;o!==a;)s.push(o),o=Te();else s=a;s===a&&(s=Oe,Re++,e.length>Oe?(o=e.charAt(Oe),Oe++):(o=a,0===Re&&Ze(ot)),Re--,o===a?s=void 0:(Oe=s,s=a))}s!==a?t=be(r,n):(Oe=t,t=a)}else Oe=t,t=a;return t}(),n===a&&(n=Oe,s=Oe,Re++,e.length>Oe?(o=e.charAt(Oe),Oe++):(o=a,0===Re&&Ze(ot)),Re--,o===a?s=void 0:(Oe=s,s=a),s!==a&&(s=ee()),n=s),n!==a?t=re(r,n):(Oe=t,t=a),t}function Le(){var t;return(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,6)===p?(t=p,Oe+=6):(t=a,0===Re&&Ze(ft));t===a&&(e.substr(Oe,2)===d?(t=d,Oe+=2):(t=a,0===Re&&Ze(ht)),t===a&&(e.substr(Oe,11)===v?(t=v,Oe+=11):(t=a,0===Re&&Ze(pt))));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=se(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,9)===A?(t=A,Oe+=9):(t=a,0===Re&&Ze(dt));t===a&&(e.substr(Oe,3)===m?(t=m,Oe+=3):(t=a,0===Re&&Ze(vt)),t===a&&(e.substr(Oe,14)===g?(t=g,Oe+=14):(t=a,0===Re&&Ze(At))));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=oe(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,7)===b?(t=b,Oe+=7):(t=a,0===Re&&Ze(mt));t===a&&(e.substr(Oe,12)===y?(t=y,Oe+=12):(t=a,0===Re&&Ze(gt)));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=ue(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,9)===C?(t=C,Oe+=9):(t=a,0===Re&&Ze(bt));t===a&&(e.substr(Oe,14)===x?(t=x,Oe+=14):(t=a,0===Re&&Ze(yt)));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=ae(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,9)===$?(t=$,Oe+=9):(t=a,0===Re&&Ze(Ct));t===a&&(e.substr(Oe,14)===_?(t=_,Oe+=14):(t=a,0===Re&&Ze(xt)));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=ce(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,10)===F?(t=F,Oe+=10):(t=a,0===Re&&Ze($t));t===a&&(e.substr(Oe,15)===k?(t=k,Oe+=15):(t=a,0===Re&&Ze(_t)));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=ie(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,6)===w?(t=w,Oe+=6):(t=a,0===Re&&Ze(Ft));t===a&&(e.substr(Oe,11)===E?(t=E,Oe+=11):(t=a,0===Re&&Ze(kt)));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=le(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,5)===S?(t=S,Oe+=5):(t=a,0===Re&&Ze(wt));t===a&&(e.substr(Oe,10)===O?(t=O,Oe+=10):(t=a,0===Re&&Ze(Et)));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=fe(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,4)===j?(t=j,Oe+=4):(t=a,0===Re&&Ze(St));t===a&&(e.substr(Oe,9)===P?(t=P,Oe+=9):(t=a,0===Re&&Ze(Ot)));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=he(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,5)===D?(t=D,Oe+=5):(t=a,0===Re&&Ze(jt));t===a&&(e.substr(Oe,10)===R?(t=R,Oe+=10):(t=a,0===Re&&Ze(Pt)));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=pe(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,5)===G?(t=G,Oe+=5):(t=a,0===Re&&Ze(Dt));t===a&&(e.substr(Oe,10)===B?(t=B,Oe+=10):(t=a,0===Re&&Ze(Rt)));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=de(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,6)===M?(t=M,Oe+=6):(t=a,0===Re&&Ze(Gt));t===a&&(e.substr(Oe,11)===U?(t=U,Oe+=11):(t=a,0===Re&&Ze(Bt)));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=ve(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));if(r!==a)if(n=function(){var t;e.substr(Oe,9)===Z?(t=Z,Oe+=9):(t=a,0===Re&&Ze(Mt));t===a&&(e.substr(Oe,14)===I?(t=I,Oe+=14):(t=a,0===Re&&Ze(Ut)));return t}(),n!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),s=Oe,o=[],u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),tt.test(u)?Oe++:(u=a,0===Re&&Ze(it));else o=a;(s=o!==a?e.substring(s,Oe):o)!==a?(125===e.charCodeAt(Oe)?(o=h,Oe++):(o=a,0===Re&&Ze(lt)),o!==a&&(u=Ve())!==a?t=Ae(s):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;else Oe=t,t=a;return t}()),t}function Te(){var t;return t=e.charAt(Oe),Y.test(t)?Oe++:(t=a,0===Re&&Ze(ut)),t}function Ve(){var t,r;if(t=[],(r=Te())!==a)for(;r!==a;)t.push(r),r=Te();else t=a;return t===a&&(t=Oe,Re++,e.length>Oe?(r=e.charAt(Oe),Oe++):(r=a,0===Re&&Ze(ot)),Re--,r===a?t=void 0:(Oe=t,t=a)),t}function qe(){var t;return(t=function(){var t,e;t=Oe,(e=ze())!==a&&(e=ye(e));return t=e,t}())===a&&(t=function(){var t,r,n,s,o,u,c,i;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));r!==a?(e.substr(Oe,3)===V?(n=V,Oe+=3):(n=a,0===Re&&Ze(Lt)),n===a&&(e.substr(Oe,15)===q?(n=q,Oe+=15):(n=a,0===Re&&Ze(Tt))),n!==a?(125===e.charCodeAt(Oe)?(s=h,Oe++):(s=a,0===Re&&Ze(lt)),s!==a&&Te()!==a&&(o=ze())!==a&&Te()!==a?(123===e.charCodeAt(Oe)?(u=f,Oe++):(u=a,0===Re&&Ze(at)),u!==a?(e.substr(Oe,3)===z?(c=z,Oe+=3):(c=a,0===Re&&Ze(Vt)),c===a&&(e.substr(Oe,13)===H?(c=H,Oe+=13):(c=a,0===Re&&Ze(qt))),c!==a?(125===e.charCodeAt(Oe)?(i=h,Oe++):(i=a,0===Re&&Ze(lt)),i!==a?t=Ce(o):(Oe=t,t=a)):(Oe=t,t=a)):(Oe=t,t=a)):(Oe=t,t=a)):(Oe=t,t=a)):(Oe=t,t=a);return t}())===a&&(t=function(){var t,r,n,s,o;if(t=Oe,e.substr(Oe,3)===L?(r=L,Oe+=3):(r=a,0===Re&&Ze(Zt)),r===a&&(e.substr(Oe,9)===T?(r=T,Oe+=9):(r=a,0===Re&&Ze(It))),r!==a){if(32===e.charCodeAt(Oe)?Oe++:0===Re&&Ze(ct),n=Oe,s=[],o=e.charAt(Oe),tt.test(o)?Oe++:(o=a,0===Re&&Ze(it)),o!==a)for(;o!==a;)s.push(o),o=e.charAt(Oe),tt.test(o)?Oe++:(o=a,0===Re&&Ze(it));else s=a;(n=s!==a?e.substring(n,Oe):s)!==a?(125===e.charCodeAt(Oe)?(s=h,Oe++):(s=a,0===Re&&Ze(lt)),s!==a?t=me(n):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;return t}())===a&&(t=function(){var t,r,n,s,o,u,c,i;t=Oe,123===e.charCodeAt(Oe)?(r=f,Oe++):(r=a,0===Re&&Ze(at));r!==a?(e.substr(Oe,3)===N?(n=N,Oe+=3):(n=a,0===Re&&Ze(Qt)),n===a&&(e.substr(Oe,12)===Q?(n=Q,Oe+=12):(n=a,0===Re&&Ze(Wt))),n!==a?(125===e.charCodeAt(Oe)?(s=h,Oe++):(s=a,0===Re&&Ze(lt)),s!==a&&Te()!==a?(o=function(){var t,e,r,n,s;if(t=Oe,e=Ne(),e!==a){for(r=[],n=Oe,Te()!==a&&(s=Ne())!==a?n=Ee(e,s):(Oe=n,n=a);n!==a;)r.push(n),n=Oe,Te()!==a&&(s=Ne())!==a?n=Ee(e,s):(Oe=n,n=a);t=Se(e,r)}else Oe=t,t=a;return t}(),o!==a&&Te()!==a?(123===e.charCodeAt(Oe)?(u=f,Oe++):(u=a,0===Re&&Ze(at)),u!==a?(e.substr(Oe,3)===W?(c=W,Oe+=3):(c=a,0===Re&&Ze(Xt)),c===a&&(e.substr(Oe,10)===X?(c=X,Oe+=10):(c=a,0===Re&&Ze(Yt))),c!==a?(125===e.charCodeAt(Oe)?(i=h,Oe++):(i=a,0===Re&&Ze(lt)),i!==a?t=we(o):(Oe=t,t=a)):(Oe=t,t=a)):(Oe=t,t=a)):(Oe=t,t=a)):(Oe=t,t=a)):(Oe=t,t=a)):(Oe=t,t=a);return t}()),t}function ze(){var t,e,r,n,s;if(t=Oe,(e=He())!==a){for(r=[],n=Oe,Te()!==a&&(s=He())!==a?n=xe(e,s):(Oe=n,n=a);n!==a;)r.push(n),n=Oe,Te()!==a&&(s=He())!==a?n=xe(e,s):(Oe=n,n=a);t=$e(e,r)}else Oe=t,t=a;return t}function He(){var t,e;if(t=[],(e=Ke())===a&&(e=Je()),e!==a)for(;e!==a;)t.push(e),(e=Ke())===a&&(e=Je());else t=a;return t!==a&&(t=_e(t)),t}function Je(){var t,r,n;if(t=Oe,r=[],n=e.charAt(Oe),et.test(n)?Oe++:(n=a,0===Re&&Ze(zt)),n!==a)for(;n!==a;)r.push(n),n=e.charAt(Oe),et.test(n)?Oe++:(n=a,0===Re&&Ze(zt));else r=a;return(t=r!==a?e.substring(t,Oe):r)!==a&&(t=Fe(t)),t}function Ke(){var t,r,n,s,o,u,c;if(t=Oe,91===e.charCodeAt(Oe)?(r=J,Oe++):(r=a,0===Re&&Ze(Ht)),r!==a){if(n=Oe,s=Oe,o=[],u=e.charAt(Oe),rt.test(u)?Oe++:(u=a,0===Re&&Ze(Jt)),u!==a)for(;u!==a;)o.push(u),u=e.charAt(Oe),rt.test(u)?Oe++:(u=a,0===Re&&Ze(Jt));else o=a;if(o!==a){for(u=[],c=e.charAt(Oe),nt.test(c)?Oe++:(c=a,0===Re&&Ze(Kt));c!==a;)u.push(c),c=e.charAt(Oe),nt.test(c)?Oe++:(c=a,0===Re&&Ze(Kt));s=o=[o,u]}else Oe=s,s=a;(n=s!==a?e.substring(n,Oe):s)!==a?(93===e.charCodeAt(Oe)?(s=K,Oe++):(s=a,0===Re&&Ze(Nt)),s!==a?t=ke(n):(Oe=t,t=a)):(Oe=t,t=a)}else Oe=t,t=a;return t}function Ne(){var t,r,n;if(t=Oe,r=[],n=e.charAt(Oe),st.test(n)?Oe++:(n=a,0===Re&&Ze(te)),n!==a)for(;n!==a;)r.push(n),n=e.charAt(Oe),st.test(n)?Oe++:(n=a,0===Re&&Ze(te));else r=a;return t=r!==a?e.substring(t,Oe):r}if(n=l(),r.peg$library)return{peg$result:n,peg$currPos:Oe,peg$FAILED:a,peg$maxFailExpected:De,peg$maxFailPos:Pe};if(n!==a&&Oe===e.length)return n;throw n!==a&&Oe<e.length&&Ze({type:"end"}),s=De,o=Pe<e.length?e.charAt(Pe):null,u=Pe<e.length?Ue(Pe,Pe+1):Ue(Pe,Pe),new t(t.buildMessage(s,o),s,o,u)}}}function h(){if(c)return a;function t(t,e){const r=["C","C#","D","Eb","E","F","F#","G","Ab","A","Bb","B"],n=["C","Db","D","D#","E","F","Gb","G","G#","A","A#","B"];if(t.length<1)return;let s="",o=0;for(;o<t.length;){if(-1==="CDEFGAB".indexOf(t[o])){s+=t[o],o++;continue}let u=t[o];o++,o<t.length&&("#"!==t[o]&&"b"!==t[o]||(u+=t[o],o++));let a=r.indexOf(u);-1===a&&(a=n.indexOf(u),-1===a&&console.error("Unknown chord root",u)),a+=e,a%=12,a<0&&(a=12+a),s+=r[a]}return s}return c=1,a={transpose:function(e,r){for(let n of e.content)if(["verse","chorus"].includes(n.type))for(let e of n.items)if("line"==e.type)for(let n of e.items)"chord"==n.type&&(n.value=t(n.value,r));return e},transposeChord:t}}var p=function(){if(i)return l;i=1;const t=f(),e=function(){if(s)return n;function t(t){let e="",r="";for(let n=0;n<t.items.length;n++){const s=t.items[n];let o;switch(s.value.length,s.type){case"chord":o=r.length-e.length,o>0&&(e+=" ".repeat(o)),e+=s.value+" ";break;case"text":r+=s.value,o=e.length-r.length,o>0&&(r+=" ".repeat(o))}}let n="";return e.length>0&&(n+=e+"\n"),n+r}function e(e){var r="";for(let n=0;n<e.items.length;n++){const s=e.items[n];"line"==s.type&&(r+=t(s)+"\n")}return r}return s=1,n={processSong:function(t){var r="";if(t.header)for(let e=0;e<t.header.length;e++){let n=t.header[e];switch(n.type){case"title":r+=`Title: ${n.value}\n`;break;case"subtitle":r+=`Subtitle: ${n.value}\n`;break;case"artist":r+=`Artist: ${n.value}\n`}}r+="\n";for(let n=0;n<t.content.length;n++){let s=t.content[n];n>0&&(r+="\n\n"),"verse"!=s.type&&"chorus"!=s.type||(r+=e(s))}return r},processVerse:e,processRow:t}}(),r=function(){if(u)return o;function t(t,e){let r=[],n=[],s=null;for(let e=0;e<t.items.length;e++){let o=t.items[e];"chord"===o.type?(r.push(o.value),s=o.value):"text"===o.type&&(null===s&&r.push(""),n.push(o.value),s=null)}let o='<table class="line">';return e&&(o+='<tr class="line-chords">',o+=r.map((t=>`<td class="chord">${t}</td>`)).join("\n"),o+="</tr>"),o+='<tr class="line-lyrics">',o+=n.map((t=>`<td class="lyrics">${t.replaceAll(" "," ")}</td>`)).join("\n"),o+="</tr>",o+="</table>",o}function e(e){let r=function(t){if(!t.items)return!1;for(let e=0;e<t.items.length;e++){let r=t.items[e];for(let t=0;t<r.items.length;t++)if("chord"===r.items[t].type)return!0}return!1}(e),n=`<div class="${e.type}">\n`;for(let s=0;s<e.items.length;s++)n+=t(e.items[s],r);return n+="</div>",n}function r(t){let e=`<div class="${t.type}">\n`;return e+=t.value+"\n",e+="</div>\n",e}function n(t){let e=`<div class="${t.type}">\n`;for(let r=0;r<t.items.length;r++)e+=t.items[r]+"\n";return e+="</div>",e}return u=1,o={processSong:function(t){var s='<div class="jschordpro-song">\n\n';let o="";if(t.header)for(let e=0;e<t.header.length;e++){let r=t.header[e];switch(r.type){case"title":o+=`<h1 class="${r.type}">${r.value}</h1>\n`;break;case"subtitle":case"artist":case"composer":case"lyricist":case"copyright":case"album":case"year":case"key":case"capo":case"time":case"tempo":case"duration":o+=`<h2 class="${r.type}">${r.value}</h2>\n`;break;default:console.warn(`no formatting defined for header item of type "${r.type}".`)}}o&&(s+='<div class="header">\n',s+=o,s+="</div>\n\n"),s+='<div class="content">\n';for(let o=0;o<t.content.length;o++){let u=t.content[o];switch(u.type){case"comment":s+=r(u);break;case"tab":s+=n(u);break;default:s+=e(u)}}return(s+="</div>\n")+"</div>\n"}}}(),a=h();return l.parse=t.parse,l.to_ascii=e.processSong,l.to_html=r.processSong,l.transpose=a.transpose,l}(),d=t(p);exports.default=d;
//# sourceMappingURL=js-chordpro.js.map