UNPKG

@animo-id/pex

Version:

A Typescript implementation of the v1 and v2 DIF Presentation Exchange specification

67 lines (66 loc) 3.52 kB
import { Format, PresentationSubmission } from '@sphereon/pex-models'; import { Status } from '../ConstraintUtils'; import { PresentationSubmissionLocation } from '../signing'; import { IInternalPresentationDefinition, OrArray } from '../types'; import { WrappedVerifiableCredential, WrappedVerifiablePresentation } from '../types/PexCredentialMapper'; import { EvaluationResults, PresentationEvaluationResults, SelectResults, SubmissionRequirementMatch } from './core'; import { EvaluationClient } from './evaluationClient'; export declare class EvaluationClientWrapper { private _client; constructor(); getEvaluationClient(): EvaluationClient; selectFrom(presentationDefinition: IInternalPresentationDefinition, wrappedVerifiableCredentials: WrappedVerifiableCredential[], opts?: { holderDIDs?: string[]; limitDisclosureSignatureSuites?: string[]; restrictToFormats?: Format; restrictToDIDMethods?: string[]; }): SelectResults; private remapVcPathsOnMatchToSelectableCredentialIndexes; private extractVcPathsFromMatches; private getSubmissionRequirementMatchForSubmissionRequirement; private determineCountStatus; private matchPresentationDefinition; evaluate(pd: IInternalPresentationDefinition, wvcs: WrappedVerifiableCredential[], opts?: { holderDIDs?: string[]; limitDisclosureSignatureSuites?: string[]; restrictToFormats?: Format; presentationSubmission?: PresentationSubmission; generatePresentationSubmission?: boolean; }): EvaluationResults; evaluatePresentations(pd: IInternalPresentationDefinition, wvps: OrArray<WrappedVerifiablePresentation>, opts?: { holderDIDs?: string[]; limitDisclosureSignatureSuites?: string[]; restrictToFormats?: Format; presentationSubmission?: PresentationSubmission; generatePresentationSubmission?: boolean; /** * The location of the presentation submission. By default {@link PresentationSubmissionLocation.PRESENTATION} * is used when one W3C presentation is passed (not as array) , while {@link PresentationSubmissionLocation.EXTERNAL} is * used when an array is passed or the presentation is not a W3C presentation */ presentationSubmissionLocation?: PresentationSubmissionLocation; }): PresentationEvaluationResults; private extractWrappedVcFromWrappedVp; private evaluatePresentationsAgainstSubmission; private checkIfSubmissionSatisfiesSubmissionRequirement; /** * Checks whether a submission satisfies the requirements of a presentation definition */ private validateIfSubmissionSatisfiesDefinition; private internalPresentationDefinitionForDescriptor; private formatNotInfo; submissionFrom(pd: IInternalPresentationDefinition, vcs: WrappedVerifiableCredential[], opts?: { presentationSubmissionLocation?: PresentationSubmissionLocation; }): PresentationSubmission; private updatePresentationSubmission; private updatePresentationSubmissionToExternal; private updateDescriptorToExternal; private matchUserSelectedVcs; private evaluateRequirements; private countMatchingInputDescriptors; private handleCount; determineAreRequiredCredentialsPresent(matchSubmissionRequirements: SubmissionRequirementMatch[] | undefined): Status; private updatePresentationSubmissionPathToVpPath; private replacePathWithAlias; private createInputDescriptorIdToVcMap; }