UNPKG

@noggin/elastic-noggin-sdk

Version:
30 lines (25 loc) 799 B
import { Eno } from "./models/Eno"; import { EnoFactory } from "./EnoFactory"; export type IVars = { [key: string]: string[] }; function varToEno(key: string, value: string[]): Eno { const enoFactory = new EnoFactory("var", "security/policy/everyone"); enoFactory.setFields([ { tip: "var/key", value: [key] }, { tip: "var/value", value: value }, ]); return enoFactory.makeEno(); } export function varsToEnos(vars: IVars): Eno[] { return Object.keys(vars).map((key) => varToEno(key, vars[key])); } export function enosToVars(batch: Eno[]): IVars { const vars: IVars = {}; batch .filter((eno) => eno.source.type === "var") .forEach( (eno) => (vars[eno.getFieldStringValue("var/key")] = eno.getFieldValues("var/value")) ); return vars; }