InstallationController.js 893 B

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