InstallationController.js 925 B

12345678910111213141516171819202122232425262728293031323334353637
  1. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  2. var _Storage = _interopRequireDefault(require("./Storage"));
  3. var _require = require('uuid'),
  4. uuidv4 = _require.v4;
  5. var iidCache = null;
  6. var InstallationController = {
  7. currentInstallationId: function () {
  8. if (typeof iidCache === 'string') {
  9. return Promise.resolve(iidCache);
  10. }
  11. var path = _Storage.default.generatePath('installationId');
  12. return _Storage.default.getItemAsync(path).then(function (iid) {
  13. if (!iid) {
  14. iid = uuidv4();
  15. return _Storage.default.setItemAsync(path, iid).then(function () {
  16. iidCache = iid;
  17. return iid;
  18. });
  19. }
  20. iidCache = iid;
  21. return iid;
  22. });
  23. },
  24. _clearCache: function () {
  25. iidCache = null;
  26. },
  27. _setInstallationIdCache: function (iid) {
  28. iidCache = iid;
  29. }
  30. };
  31. module.exports = InstallationController;