"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; function _jsonFile() { const data = _interopRequireDefault(require("@expo/json-file")); _jsonFile = function () { return data; }; return data; } function _fsExtra() { const data = _interopRequireDefault(require("fs-extra")); _fsExtra = function () { return data; }; return data; } function _os() { const data = _interopRequireDefault(require("os")); _os = function () { return data; }; return data; } function _path() { const data = _interopRequireDefault(require("path")); _path = function () { return data; }; return data; } function _uuid() { const data = require("uuid"); _uuid = function () { return data; }; return data; } function _internal() { const data = require("./internal"); _internal = function () { return data; }; return data; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const SETTINGS_FILE_NAME = 'state.json'; function userSettingsFile() { return _path().default.join(dotExpoHomeDirectory(), SETTINGS_FILE_NAME); } function userSettingsJsonFile() { return new (_jsonFile().default)(userSettingsFile(), { jsonParseErrorDefault: {}, cantReadFileDefault: {} }); } let mkdirped = false; function dotExpoHomeDirectory() { let dirPath = process.env.__UNSAFE_EXPO_HOME_DIRECTORY; if (!dirPath) { const home = _os().default.homedir(); if (_internal().Env.isStaging()) { dirPath = _path().default.join(home, '.expo-staging'); } else if (_internal().Env.isLocal()) { dirPath = _path().default.join(home, '.expo-local'); } else { dirPath = _path().default.join(home, '.expo'); } } if (!mkdirped) { _fsExtra().default.mkdirpSync(dirPath); mkdirped = true; } return dirPath; } // returns an anonymous, unique identifier for a user on the current computer async function getAnonymousIdentifierAsync() { const settings = await userSettingsJsonFile(); let id = await settings.getAsync('uuid', null); if (!id) { id = (0, _uuid().v4)(); await settings.setAsync('uuid', id); } return id; } function accessToken() { return process.env.EXPO_TOKEN || null; } const UserSettings = Object.assign(userSettingsJsonFile(), { dotExpoHomeDirectory, userSettingsFile, userSettingsJsonFile, accessToken, getAnonymousIdentifierAsync, SETTINGS_FILE_NAME }); var _default = UserSettings; exports.default = _default; //# sourceMappingURL=UserSettings.js.map