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  });