github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/mirage/serializers/application.js (about) 1 import { camelize, capitalize } from '@ember/string'; 2 import { RestSerializer } from 'ember-cli-mirage'; 3 4 const keyCase = (str) => 5 str === 'id' ? 'ID' : capitalize(camelize(str)).replace(/Id/g, 'ID'); 6 7 export default RestSerializer.extend({ 8 serialize() { 9 const json = RestSerializer.prototype.serialize.apply(this, arguments); 10 const keys = Object.keys(json); 11 if (keys.length === 1) { 12 return json[keys[0]]; 13 } else { 14 return json; 15 } 16 }, 17 18 keyForModel: keyCase, 19 keyForForeignKey: (str) => `${keyCase(str)}ID`, 20 keyForCollection: keyCase, 21 keyForAttribute: keyCase, 22 keyForRelationship: keyCase, 23 keyForRelationshipIds: keyCase, 24 keyForEmbeddedRelationship: keyCase, 25 });