From 57e898032afce1715f1493592c7d5d21efc7f6e4 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Fri, 21 Jun 2024 10:15:46 -0300 Subject: data: withParsedCommentaryEntries: accessDate, accessKind --- .../wiki-data/withParsedCommentaryEntries.js | 23 ++++++++++++++++++++++ src/util/wiki-data.js | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/data/composite/wiki-data/withParsedCommentaryEntries.js b/src/data/composite/wiki-data/withParsedCommentaryEntries.js index f0404a5d..f70a3ee9 100644 --- a/src/data/composite/wiki-data/withParsedCommentaryEntries.js +++ b/src/data/composite/wiki-data/withParsedCommentaryEntries.js @@ -95,6 +95,8 @@ export default templateCompositeFrom({ 'artistDisplayText', 'annotation', 'date', + 'accessDate', + 'accessKind', ]), }), @@ -149,12 +151,29 @@ export default templateCompositeFrom({ }), }, + { + dependencies: ['#entries.accessDate'], + compute: (continuation, { + ['#entries.accessDate']: accessDate, + }) => continuation({ + ['#entries.accessDate']: + accessDate.map(date => date ? new Date(date) : null), + }), + }, + + fillMissingListItems({ + list: '#entries.accessKind', + fill: input.value(null), + }), + { dependencies: [ '#entries.artists', '#entries.artistDisplayText', '#entries.annotation', '#entries.date', + '#entries.accessDate', + '#entries.accessKind', '#entries.body', ], @@ -163,6 +182,8 @@ export default templateCompositeFrom({ ['#entries.artistDisplayText']: artistDisplayText, ['#entries.annotation']: annotation, ['#entries.date']: date, + ['#entries.accessDate']: accessDate, + ['#entries.accessKind']: accessKind, ['#entries.body']: body, }) => continuation({ ['#parsedCommentaryEntries']: @@ -171,6 +192,8 @@ export default templateCompositeFrom({ artistDisplayText, annotation, date, + accessDate, + accessKind, body, }), }), diff --git a/src/util/wiki-data.js b/src/util/wiki-data.js index c0cb5418..8c318d02 100644 --- a/src/util/wiki-data.js +++ b/src/util/wiki-data.js @@ -90,7 +90,7 @@ export function getKebabCase(name) { // out of the original string based on the indices matched using this. // const commentaryRegexRaw = - String.raw`^(?.+?)(?:\|(?.+))?:<\/i>(?: \((?(?:.*?(?=,|\)[^)]*$))*?)(?:,? ?(?[a-zA-Z]+ [0-9]{1,2}, [0-9]{4,4}|[0-9]{1,2} [^,]*[0-9]{4,4}|[0-9]{1,4}[-/][0-9]{1,4}[-/][0-9]{1,4}))?\))?`; + String.raw`^(?.+?)(?:\|(?.+))?:<\/i>(?: \((?(?:.*?(?=,|\)[^)]*$))*?)(?:,? ?(?[a-zA-Z]+ [0-9]{1,2}, [0-9]{4,4}|[0-9]{1,2} [^,]*[0-9]{4,4}|[0-9]{1,4}[-/][0-9]{1,4}[-/][0-9]{1,4}))?(?: (?captured|accessed) (?[a-zA-Z]+ [0-9]{1,2}, [0-9]{4,4}|[0-9]{1,2} [^,]*[0-9]{4,4}|[0-9]{1,4}[-/][0-9]{1,4}[-/][0-9]{1,4}))?\))?`; export const commentaryRegexCaseInsensitive = new RegExp(commentaryRegexRaw, 'gmi'); export const commentaryRegexCaseSensitive = -- cgit 1.3.0-6-gf8a5