From 6c32e484a4ad6be5690c1083b9131d0338e3c5b9 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 31 Jan 2026 16:23:54 -0400 Subject: wiki-data: drop various parsing exports --- src/common-util/wiki-data.js | 15 ++------------- src/data/things/Language.js | 3 ++- src/data/yaml.js | 7 ++----- 3 files changed, 6 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/common-util/wiki-data.js b/src/common-util/wiki-data.js index 42bbc939..36392fcb 100644 --- a/src/common-util/wiki-data.js +++ b/src/common-util/wiki-data.js @@ -104,19 +104,8 @@ const dateRegex = groupName => const commentaryRegexRaw = String.raw`^(?.+?):<\/i>(?: \((?(?:.*?(?=,|\)[^)]*$))*?)(?:,? ?(?:(?sometime|throughout|around) )?${dateRegex('date')}(?: ?- ?${dateRegex('secondDate')})?(?: (?captured|accessed) ${dateRegex('accessDate')})?)?\))?`; -export const commentaryRegexCaseInsensitive = - new RegExp(commentaryRegexRaw, 'gmi'); -export const commentaryRegexCaseSensitive = +const commentaryRegex = new RegExp(commentaryRegexRaw, 'gm'); -export const commentaryRegexCaseSensitiveOneShot = - new RegExp(commentaryRegexRaw); - -export const languageOptionRegex = /{(?[A-Z0-9_]+)}/g; - -// The #validators function isOldStyleLyrics() describes -// what this regular expression detects against. -export const multipleLyricsDetectionRegex = - /^.*:<\/i>/m; export function matchContentEntries(sourceText) { const matchEntries = []; @@ -130,7 +119,7 @@ export function matchContentEntries(sourceText) { .replace(/\n*$/, ''); for (const {0: matchText, index: startIndex, groups: matchEntry} - of sourceText.matchAll(commentaryRegexCaseSensitive)) { + of sourceText.matchAll(commentaryRegex)) { if (previousMatchEntry) { previousMatchEntry.body = trimBody(sourceText.slice(previousEndIndex, startIndex)); diff --git a/src/data/things/Language.js b/src/data/things/Language.js index 7f3f43de..48ba0659 100644 --- a/src/data/things/Language.js +++ b/src/data/things/Language.js @@ -7,7 +7,6 @@ import * as html from '#html'; import {accumulateSum, empty, withEntries} from '#sugar'; import {isLanguageCode, isObject} from '#validators'; import Thing from '#thing'; -import {languageOptionRegex} from '#wiki-data'; import { externalLinkSpec, @@ -21,6 +20,8 @@ import {exitWithoutDependency, exposeConstant} from '#composite/control-flow'; import {flag, name} from '#composite/wiki-properties'; +const languageOptionRegex = /{(?[A-Z0-9_]+)}/g; + export class Language extends Thing { static [Thing.getPropertyDescriptors] = () => ({ // Update & expose diff --git a/src/data/yaml.js b/src/data/yaml.js index 2afaffb5..0a7fce93 100644 --- a/src/data/yaml.js +++ b/src/data/yaml.js @@ -13,7 +13,7 @@ import {parseContentNodes, splitContentNodesAround} from '#replacer'; import {sortByName} from '#sort'; import Thing from '#thing'; import thingConstructors from '#things'; -import {matchContentEntries, multipleLyricsDetectionRegex} from '#wiki-data'; +import {matchContentEntries} from '#wiki-data'; import { aggregateThrows, @@ -1055,10 +1055,7 @@ export function parseReferencingSources(value, {subdoc, ReferencingSourcesEntry} } export function parseLyrics(value, {subdoc, LyricsEntry}) { - if ( - typeof value === 'string' && - !multipleLyricsDetectionRegex.test(value) - ) { + if (typeof value === 'string' && !/^.*:<\/i>/m.test(value)) { const document = {'Body': value}; return [subdoc(LyricsEntry, document, {bindInto: 'thing'})]; -- cgit 1.3.0-6-gf8a5