UNPKG

narrative-studio-sdk

Version:

Narrative SDK for building apps on the Narrative Studio

34 lines (33 loc) 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerFunction = registerFunction; exports.getFunctionById = getFunctionById; exports.resolveTransformRuleFunctions = resolveTransformRuleFunctions; const functionMap = new Map(); function registerFunction(id, fn) { functionMap.set(id, fn); } function getFunctionById(id) { return functionMap.get(id); } 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; }); }