@sphereon/ssi-sdk.agent-config
Version:
51 lines • 2.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.contextHasPlugin = contextHasPlugin;
exports.contextHasKeyManager = contextHasKeyManager;
exports.contextHasDidManager = contextHasDidManager;
exports.contextHasDidResolver = contextHasDidResolver;
exports.contextHasCredentialIssuer = contextHasCredentialIssuer;
exports.contextHasCredentialVerifier = contextHasCredentialVerifier;
exports.contextHasCredentialStatusVerifier = contextHasCredentialStatusVerifier;
exports.contextHasDataStore = contextHasDataStore;
exports.contextHasDataStoreORM = contextHasDataStoreORM;
/**
* Allows to get a type agent context plugin methods based on provided or inferred types and at least one method for these plugin(s)
* @param context Tje agent context to check against
* @param requiredMethod One or more method the plugin provides, so we can check availability and thus plugin presence
*/
function contextHasPlugin(context, requiredMethod) {
const methods = Array.isArray(requiredMethod) ? requiredMethod : [requiredMethod];
const allMethods = context.agent.availableMethods();
return methods.every((method) => allMethods.includes(method));
}
/**
* The below methods are convenience methods to directly get the appropriate context after calling the respective method
*
* @param context
*/
function contextHasKeyManager(context) {
return contextHasPlugin(context, 'keyManagerGet');
}
function contextHasDidManager(context) {
return contextHasPlugin(context, 'didManagerGet'); // IResolver is always required for IDIDManager
}
function contextHasDidResolver(context) {
return contextHasPlugin(context, 'resolveDid'); // IResolver is always required for IDIDManager
}
function contextHasCredentialIssuer(context) {
return contextHasPlugin(context, ['createVerifiableCredential', 'createVerifiablePresentation']); // W3C Credential issuer
}
function contextHasCredentialVerifier(context) {
return contextHasPlugin(context, ['verifyCredential', 'verifyPresentation']); // W3c Credential Verifier
}
function contextHasCredentialStatusVerifier(context) {
return contextHasPlugin(context, ['checkCredentialStatus']); // W3c Credential status Verifier
}
function contextHasDataStore(context) {
return contextHasPlugin(context, ['dataStoreGetVerifiableCredential', 'dataStoreGetVerifiablePresentation']);
}
function contextHasDataStoreORM(context) {
return contextHasPlugin(context, ['dataStoreORMGetVerifiableCredentials', 'dataStoreORMGetVerifiablePresentations']);
}
//# sourceMappingURL=agentContextUtils.js.map