src/lib/methods/get.js
function doGet(store, key, options = {}) {
  // Resolve back to original key if referenced
  key = store._resolveRefKey(key);

  const { referenceDepth = 1 } = options;
  const cacheKey = `${key}:${referenceDepth}`;
  const shouldCache = !store._isWritable;

  if (shouldCache) {
    if (store._getCache[cacheKey]) {
      return store._getCache[cacheKey];
    }
  }

  let value = property.get(store._data, key);

  if (referenceDepth > 0) {
    value = resolveReferences(store, value, referenceDepth);
  }

  if (shouldCache) {
    store._getCache[cacheKey] = value;
  }

  return value;
}
function doGet(store, key, options = {}) {
  // Resolve back to original key if referenced
  key = store._resolveRefKey(key);

  const { referenceDepth = 1 } = options;
  const cacheKey = `${key}:${referenceDepth}`;
  const shouldCache = !store._isWritable;

  if (shouldCache) {
    if (store._getCache[cacheKey]) {
      return store._getCache[cacheKey];
    }
  }

  let value = property.get(store._data, key);

  if (referenceDepth > 0) {
    value = resolveReferences(store, value, referenceDepth);
  }

  if (shouldCache) {
    store._getCache[cacheKey] = value;
  }

  return value;
}
Retrieve value stored at 'key'
@param {DataStore} store
@param {String} key
@param {Object} [options]
- {Number} referenceDepth
@returns {*}