12345678910111213141516171819202122232425262728293031323334353637 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
- var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
- var _Storage = _interopRequireDefault(require("./Storage"));
- /**
- * @flow
- */
- var uuidv4 = require('./uuid');
- var iidCache = null;
- var InstallationController = {
- currentInstallationId: function () /*: Promise<string>*/{
- if (typeof iidCache === 'string') {
- return _promise.default.resolve(iidCache);
- }
- var path = _Storage.default.generatePath('installationId');
- return _Storage.default.getItemAsync(path).then(function (iid) {
- if (!iid) {
- iid = uuidv4();
- return _Storage.default.setItemAsync(path, iid).then(function () {
- iidCache = iid;
- return iid;
- });
- }
- iidCache = iid;
- return iid;
- });
- },
- _clearCache: function () {
- iidCache = null;
- },
- _setInstallationIdCache: function (iid /*: string*/) {
- iidCache = iid;
- }
- };
- module.exports = InstallationController;
|