UNPKG

608 BJavaScriptView Raw
1'use strict';
2
3const ForceArray = require('force-array');
4const Hasha = require('hasha');
5
6
7exports.toNameValues = (obj) => {
8 if (!obj) {
9 return [];
10 }
11
12 return Object.keys(obj).map((name) => {
13 const value = obj[name];
14 return {
15 id: Hasha(JSON.stringify({ name, value })),
16 name,
17 value
18 };
19 });
20};
21
22exports.fromNameValues = (nameValues, prefix = '') => {
23 return ForceArray(nameValues).reduce((accumulator, { name, value }) => {
24 return Object.assign(accumulator, {
25 [prefix + name]: name === 'triton.cns.disable' ? JSON.parse(value) : value
26 });
27 }, {});
28};