UNPKG

854 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};
29
30exports.toPage = ({ res = {}, payload, offset, limit }) => {
31 const headers = res.headers || {};
32 return {
33 offset: offset || 0,
34 limit: limit || 0,
35 total: parseInt(headers['x-resource-count'], 10) || 0,
36 results: payload
37 };
38};