michaelchadwick/ember-remember-stuff

View on GitHub
packages/rs-common/addon/services/data-loader.js

Summary

Maintainability
A
0 mins
Test Coverage
import Service, { service } from '@ember/service';

export default class DataLoaderService extends Service {
  @service store;

  #loadedUserProfiles = new Map();

  async loadUserProfile(id) {
    if (!this.#loadedUserProfiles.has(id)) {
      this.#loadedUserProfiles.set(
        id,
        this.store.findRecord('user', id, {
          reload: true,
        }),
      );
    }

    return this.#loadedUserProfiles.get(id);
  }
}