Ships Pithos (the s3d control panel) as a built-in extension: the dock menu opens it in a tab served from a loopback port, and "Stop s3d" shuts the gateway down. Generated by Pithos/scripts/build-theseus-addon.mjs. yaml is vendored under vendor/yaml/lib rather than node_modules/ or dist/, because Theseus git-ignores both and a clean-worktree release build would otherwise ship the add-on without its only dependency.
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
'use strict';
|
|
|
|
function containsNewline(key) {
|
|
if (!key)
|
|
return null;
|
|
switch (key.type) {
|
|
case 'alias':
|
|
case 'scalar':
|
|
case 'double-quoted-scalar':
|
|
case 'single-quoted-scalar':
|
|
if (key.source.includes('\n'))
|
|
return true;
|
|
if (key.end)
|
|
for (const st of key.end)
|
|
if (st.type === 'newline')
|
|
return true;
|
|
return false;
|
|
case 'flow-collection':
|
|
for (const it of key.items) {
|
|
for (const st of it.start)
|
|
if (st.type === 'newline')
|
|
return true;
|
|
if (it.sep)
|
|
for (const st of it.sep)
|
|
if (st.type === 'newline')
|
|
return true;
|
|
if (containsNewline(it.key) || containsNewline(it.value))
|
|
return true;
|
|
}
|
|
return false;
|
|
default:
|
|
return true;
|
|
}
|
|
}
|
|
|
|
exports.containsNewline = containsNewline;
|