Preparing core package for use by other packages.
This commit is contained in:
25
packages/js/core/dist/parser.js
vendored
Normal file
25
packages/js/core/dist/parser.js
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
function s() {
|
||||
return { type: 0, level: 0, offsetHead: 0, offsetTail: 0 };
|
||||
}
|
||||
function p(r, e, t = " ") {
|
||||
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 t != "string" || t.length === 0 || t.length > 1)
|
||||
throw new Error("'indent' must be a single-character string");
|
||||
let o = 0, f = 0;
|
||||
if (!r.length)
|
||||
e.type === 1 && (f += 1), e.type === 0 && (f = e.level), e.type = o, e.level = f, e.offsetHead = 0, e.offsetTail = 0;
|
||||
else {
|
||||
for (o = 1; r[f] === t && f <= e.level + 1; )
|
||||
++f;
|
||||
for (e.type = o, e.level = f, e.offsetHead = f, e.offsetTail = f; r[e.offsetTail] && r[e.offsetTail] !== " "; )
|
||||
++e.offsetTail;
|
||||
}
|
||||
return e;
|
||||
}
|
||||
export {
|
||||
s as LineData,
|
||||
p as parseLine
|
||||
};
|
||||
Reference in New Issue
Block a user