From b02e742c894a9bf9655c9ac03cd56546793edb29 Mon Sep 17 00:00:00 2001 From: Joshua Bemenderfer Date: Mon, 30 Jan 2023 07:56:54 -0500 Subject: [PATCH] Finish build from yesterday. --- docs/experiments/parsers/v4/core.js | 2 +- packages/js/core/dist/document.cjs | 2 +- packages/js/core/dist/document.js | 56 ++++++++++++++++++----------- 3 files changed, 38 insertions(+), 22 deletions(-) diff --git a/docs/experiments/parsers/v4/core.js b/docs/experiments/parsers/v4/core.js index 80d2ff7..f2283a7 100644 --- a/docs/experiments/parsers/v4/core.js +++ b/docs/experiments/parsers/v4/core.js @@ -19,7 +19,7 @@ export async function parse(lines) { if (match('version')) structure.version = tail().trim() if (match('license')) structure.license = tail().trim() // FIXME: Order of operations causes other parts to break if this doesn't run first?! - if (match('exports')) structure.exports = await parseObjectKV(null, async () => { + if (match('exports')) structure.exports = await buildObject([], async () => { const section = { import: null, require: null } await each(() => { diff --git a/packages/js/core/dist/document.cjs b/packages/js/core/dist/document.cjs index 97980ac..d79e3a6 100644 --- a/packages/js/core/dist/document.cjs +++ b/packages/js/core/dist/document.cjs @@ -1 +1 @@ -"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("./parser.cjs");function s(l,a=" "){let r=u.createLineData(null,a);const t={ended:!1,clone(){return s(l.clone(),a)},async next(){if(r.line=await l.next(),r.line===null)return!0;u.parseLine(r)},current(){return t},line(){var e;return(e=r.line)==null?void 0:e.slice(r.offsetHead)},head(){var e;return(e=r.line)==null?void 0:e.slice(r.offsetHead,r.offsetTail)},tail(){var e;return(e=r.line)==null?void 0:e.slice(r.offsetTail)},level(){return r.level},async content(e=-1,n=[]){var i;return e===-1&&(e=r.level+1),await t.next()||r.levelt.tail().trim());const i={};return await t.each(async()=>{if(!!t.head()){if(!e.length||e.includes(t.head())){i[t.head()]=await n();return}if(e&&!e.includes(t.head())&&e.includes("#text")){i["#text"]=[t.line(),...await t.content(t.level())];return}}}),i},async seek(e,n=-1){return n===-1&&(n=r.level),await t.next()?!1:t.head()===e?t:r.level t.tail().trim()); + const i = {}; + return await t.each(async () => { + if (!!t.head()) { + if (!e.length || e.includes(t.head())) { + i[t.head()] = await r(); + return; + } + if (e && !e.includes(t.head()) && e.includes("#text")) { + i["#text"] = [t.line(), ...await t.content(t.level())]; + return; + } + } + }), i; + }, + async seek(e, r = -1) { + return r === -1 && (r = n.level), await t.next() ? !1 : t.head() === e ? t : n.level < r ? !1 : t.seek(e, r); } }; - return n; + return t; } export { c as useDocument