UNPKG

narrative-studio-sdk

Version:

Narrative SDK for building apps on the Narrative Studio

29 lines (28 loc) 929 B
const functionMap = new Map(); export function registerFunction(id, fn) { functionMap.set(id, fn); } export function getFunctionById(id) { return functionMap.get(id); } export function resolveTransformRuleFunctions(rules) { return rules.map((rule) => { const resolved = { ...rule }; if (typeof resolved.transformToTarget === 'string') { const fn = getFunctionById(resolved.transformToTarget); if (fn) resolved.transformToTarget = fn; } if (typeof resolved.transformToSource === 'string') { const fn = getFunctionById(resolved.transformToSource); if (fn) resolved.transformToSource = fn; } if (typeof resolved.merge === 'string') { const fn = getFunctionById(resolved.merge); if (fn) resolved.merge = fn; } return resolved; }); }