@sammacbeth/dat-util
Version:
Utility functions for working with DAT
37 lines • 1.17 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.importSecretKey = exports.exportSecretKey = void 0;
function exportSecretKey(drive) {
if (drive.writable) {
return drive.metadata.secretKey;
}
throw new Error('drive is not writable');
}
exports.exportSecretKey = exportSecretKey;
/**
* Updates the drive in place to make it writable by importing a secret key.
* @param drive
* @param secretKey
*/
function importSecretKey(drive, secretKey) {
if (drive.writable) {
throw new Error('drive is already writable');
}
// because we're doing nasty things with the internals!
const metadata = drive.metadata;
const anydrive = drive;
drive.metadata.secretKey = secretKey;
return new Promise((resolve, reject) => {
metadata._storage.secretKey.write(0, secretKey, (err) => {
if (err) {
return reject(err);
}
metadata._open(() => {
drive.content = null;
anydrive._open(resolve);
});
});
});
}
exports.importSecretKey = importSecretKey;
//# sourceMappingURL=index.js.map
;