From 402e792e28a2fd872e7581c8e005ebb35a3eab36 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 3 Sep 2025 17:24:21 -0300 Subject: data: WikiInfo.canonicalMediaBase --- src/data/composite/wiki-properties/canonicalBase.js | 16 ++++++++++++++++ src/data/composite/wiki-properties/index.js | 1 + 2 files changed, 17 insertions(+) create mode 100644 src/data/composite/wiki-properties/canonicalBase.js (limited to 'src/data/composite/wiki-properties') diff --git a/src/data/composite/wiki-properties/canonicalBase.js b/src/data/composite/wiki-properties/canonicalBase.js new file mode 100644 index 00000000..81740d6c --- /dev/null +++ b/src/data/composite/wiki-properties/canonicalBase.js @@ -0,0 +1,16 @@ +import {isURL} from '#validators'; + +export default function() { + return { + flags: {update: true, expose: true}, + update: {validate: isURL}, + expose: { + transform: (value) => + (value === null + ? null + : value.endsWith('/') + ? value + : value + '/'), + }, + }; +} diff --git a/src/data/composite/wiki-properties/index.js b/src/data/composite/wiki-properties/index.js index e8f109d3..57a2b8f2 100644 --- a/src/data/composite/wiki-properties/index.js +++ b/src/data/composite/wiki-properties/index.js @@ -4,6 +4,7 @@ // #composite/data, and #composite/wiki-data. export {default as annotatedReferenceList} from './annotatedReferenceList.js'; +export {default as canonicalBase} from './canonicalBase.js'; export {default as color} from './color.js'; export {default as commentatorArtists} from './commentatorArtists.js'; export {default as constitutibleArtwork} from './constitutibleArtwork.js'; -- cgit 1.3.0-6-gf8a5