This repository has been archived on 2022-03-12. You can view files and clone it, but cannot push or open issues or pull requests.
reValuate/node_modules/expo/build/environment/getInstallationIdAsync.js
2021-04-02 02:24:13 +03:00

23 lines
1013 B
JavaScript

import * as Application from 'expo-application';
import uuidv5 from 'uuid/v5';
let installationId;
const UUID_NAMESPACE = '29cc8a0d-747c-5f85-9ff9-f2f16636d963'; // uuidv5(0, "expo")
export default async function getInstallationIdAsync() {
if (installationId) {
return installationId;
}
const identifierForVendor = await Application.getIosIdForVendorAsync();
const bundleIdentifier = Application.applicationId;
// It's unlikely identifierForVendor will be null (it returns null if the
// device has been restarted but not yet unlocked), but let's handle this
// case.
if (identifierForVendor) {
installationId = uuidv5(`${bundleIdentifier}-${identifierForVendor}`, UUID_NAMESPACE);
}
else {
const installationTime = await Application.getInstallationTimeAsync();
installationId = uuidv5(`${bundleIdentifier}-${installationTime.getTime()}`, UUID_NAMESPACE);
}
return installationId;
}
//# sourceMappingURL=getInstallationIdAsync.js.map