UNPKG

@sphereon/ssi-sdk.agent-config

Version:

51 lines 2.58 kB
"use strict"; 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