UNPKG

@api-platform/client-generator

Version:

Generate apps built with Next, Nuxt, Quasar, React, React Native, Vue or Vuetify for any API documented using Hydra or OpenAPI

20 lines (16 loc) 481 B
import get from 'lodash/get'; import has from 'lodash/has'; import mapValues from 'lodash/mapValues'; export function normalize(data) { if (has(data, 'hydra:member')) { // Normalize items in collections data['hydra:member'] = data['hydra:member'].map(item => normalize(item)); return data; } // Flatten nested documents return mapValues(data, value => Array.isArray(value) ? value.map(v => get(v, '@id', v)) : get(value, '@id', value) ); }