@indutny/windows-ucv
Version:
Windows User Consent Verification
42 lines (41 loc) • 1.42 kB
JavaScript
import loadBinding from 'bindings';
let binding;
if (process.platform === 'win32') {
binding = loadBinding('windows-ucv');
}
/**
* Check if User Constant Verification is available.
*
* See: https://learn.microsoft.com/en-us/uwp/api/windows.security.credentials.ui.userconsentverifier.checkavailabilityasync?view=winrt-26100#windows-security-credentials-ui-userconsentverifier-checkavailabilityasync
*/
export async function checkAvailability() {
if (!binding) {
throw new Error('This library works only on Windows');
}
return new Promise((resolve, reject) => {
binding.checkAvailability((result) => {
if (result === 'error') {
return reject(new Error('Internal error'));
}
return resolve(result);
});
});
}
/**
* Request User Constant Verification
*
* See: https://learn.microsoft.com/en-us/uwp/api/windows.security.credentials.ui.userconsentverifier.requestverificationasync?view=winrt-26100
*/
export async function requestVerification(message) {
if (!binding) {
throw new Error('This library works only on Windows');
}
return new Promise((resolve, reject) => {
binding.requestVerification(message, (result) => {
if (result === 'error') {
return reject(new Error('Internal error'));
}
return resolve(result);
});
});
}