2 lines
850 B
JavaScript
2 lines
850 B
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function s(){return{type:0,level:0,offsetHead:0,offsetTail:0}}function p(r,e,f=" "){if(typeof r!="string")throw new Error("'line' must be a string");if(typeof e!="object"||!e||typeof e.type!="number"||typeof e.level!="number")throw new Error("'lineData' must be an object with 'type' and 'level' integer properties");if(typeof f!="string"||f.length===0||f.length>1)throw new Error("'indent' must be a single-character string");let o=0,t=0;if(!r.length)e.type===1&&(t+=1),e.type===0&&(t=e.level),e.type=o,e.level=t,e.offsetHead=0,e.offsetTail=0;else{for(o=1;r[t]===f&&t<=e.level+1;)++t;for(e.type=o,e.level=t,e.offsetHead=t,e.offsetTail=t;r[e.offsetTail]&&r[e.offsetTail]!==" ";)++e.offsetTail}return e}exports.LineData=s;exports.parseLine=p;
|