MCPcopy Index your code
hub / github.com/microsoft/SandDance / parseBetween

Function parseBetween

docs/app/js/sanddance-app.js:150048–150065  ·  view source on GitHub ↗
(s)

Source from the content-addressed store, hash-verified

150046 return s[0] === "[" ? parseBetween(s) : parseStream(s);
150047}
150048function parseBetween(s) {
150049 const n = s.length;
150050 let i = 1, b;
150051 i = find(s, i, RBRACK, LBRACK, RBRACK);
150052 if (i === n) throw "Empty between selector: " + s;
150053 b = parseMerge(s.substring(1, i));
150054 if (b.length !== 2) throw "Between selector must have two elements: " + s;
150055 s = s.slice(i + 1).trim();
150056 if (s[0] !== GT) throw "Expected '>' after between selector: " + s;
150057 b = b.map(parseSelector);
150058 const stream = parseSelector(s.slice(1).trim());
150059 if (stream.between) return {
150060 between: b,
150061 stream: stream
150062 };
150063 else stream.between = b;
150064 return stream;
150065}
150066function parseStream(s) {
150067 const stream = {
150068 source: DEFAULT_SOURCE

Callers 1

parseSelectorFunction · 0.70

Calls 3

findFunction · 0.70
parseMergeFunction · 0.70
parseSelectorFunction · 0.70

Tested by

no test coverage detected