define('ember-resource-metadata/private-api', ['exports', 'ember-data', 'ember-inflector'], function (exports, _emberData, _emberInflector) {
  'use strict';

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.WeakMap = undefined;
  exports.lookupIdentityKey = lookupIdentityKey;
  exports.extractIdentityKey = extractIdentityKey;
  var normalizeModelName = _emberData.default.normalizeModelName;
  function lookupIdentityKey(store, type, id) {
    return store._internalModelForId((0, _emberInflector.singularize)(normalizeModelName(type)), id);
  }

  function extractIdentityKey(model) {
    return model._internalModel;
  }

  // WeakMap is in here because Ember contains a WeakMap polyfill we can
  // use, but it's not exposed by public API.
  var WeakMap = exports.WeakMap = void 0;
  if (window.WeakMap) {
    exports.WeakMap = WeakMap = window.WeakMap;
  } else {
    var metal = Ember.__loader.require('ember-metal');
    if (metal.WeakMap) {
      exports.WeakMap = WeakMap = metal.WeakMap;
    } else {
      exports.WeakMap = WeakMap = Ember.__loader.require('ember-metal/weak_map').default;
    }
  }
});