Added origin config to use in summaries. Added link property to summaries for local traxxx URL.
This commit is contained in:
@@ -13,6 +13,7 @@ const genderMap = {
|
||||
};
|
||||
|
||||
const propProcessors = {
|
||||
link: (sceneInfo, _options, env) => `${env.origin}/scene/${sceneInfo.id}/${sceneInfo.slug}`,
|
||||
channel: (sceneInfo) => sceneInfo.channel?.name || sceneInfo.network?.name,
|
||||
network: (sceneInfo) => sceneInfo.network?.name || sceneInfo.channel?.name,
|
||||
actors: (sceneInfo, options) => {
|
||||
@@ -66,7 +67,7 @@ function curateValue(value, item) {
|
||||
.join(item.delimit || ', ');
|
||||
}
|
||||
|
||||
function traverseTemplate(chain, release, { delimit = ' ' } = {}) {
|
||||
function traverseTemplate(chain, release, env, { delimit = ' ' } = {}) {
|
||||
const results = chain.reduce((result, item) => {
|
||||
const keys = typeof item === 'string' ? item : item.key;
|
||||
|
||||
@@ -84,14 +85,14 @@ function traverseTemplate(chain, release, { delimit = ' ' } = {}) {
|
||||
|
||||
if (keys) {
|
||||
const value = keys.split('|').reduce((acc, key) => acc
|
||||
|| propProcessors[key]?.(release, typeof item === 'string' ? { key } : item)
|
||||
|| propProcessors[key]?.(release, typeof item === 'string' ? { key } : item, env)
|
||||
|| release[key], null);
|
||||
|
||||
return result.concat(curateValue(value, item));
|
||||
}
|
||||
|
||||
if (item.items) {
|
||||
const group = traverseTemplate(item.items, release, {
|
||||
const group = traverseTemplate(item.items, release, env, {
|
||||
delimit: item.delimit,
|
||||
});
|
||||
|
||||
@@ -109,8 +110,8 @@ function traverseTemplate(chain, release, { delimit = ' ' } = {}) {
|
||||
return '';
|
||||
}
|
||||
|
||||
export default function processSummaryTemplate(template, release) {
|
||||
export default function processSummaryTemplate(template, release, env) {
|
||||
const chain = parse(template);
|
||||
|
||||
return traverseTemplate(chain, release);
|
||||
return traverseTemplate(chain, release, env);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user