streaver/vue-preferences

View on GitHub
src/map-preferences.js

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import preference from '@vue-preferences/preference';

function normalizeMap(map) {
  return Array.isArray(map)
    ? map.map(name => ({ name, options: {} }))
    : Object.keys(map).map(name => ({ name, options: map[name] }));
}

export default function mapPreferences(preferences) {
  const res = {};

  normalizeMap(preferences).forEach(({ name, options }) => {
    res[name] = preference(name, options);
  });

  return res;
}