UNPKG

@indutny/windows-ucv

Version:
49 lines (48 loc) 1.75 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.checkAvailability = checkAvailability; exports.requestVerification = requestVerification; const bindings_1 = __importDefault(require("bindings")); let binding; if (process.platform === 'win32') { binding = (0, bindings_1.default)('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 */ 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 */ 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); }); }); }