UNPKG

@credo-ts/core

Version:

<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1

30 lines (29 loc) • 1.57 kB
//#region src/modules/mdoc/utils/deviceRequestDefinition.ts /** * Create the device request definition stored on a verification session from the doc requests a * verifier passed, with every requested element in its object form. */ const createDeviceRequestDefinition = (docRequests, treatAmbiguousMultipleDocRequestsAsAlternatives) => ({ treatAmbiguousMultipleDocRequestsAsAlternatives, docRequests: docRequests.map(({ docType, nameSpaces }) => ({ docType, nameSpaces: Object.fromEntries(Object.entries(nameSpaces).map(([nameSpace, elements]) => [nameSpace, Object.fromEntries(Object.entries(elements).map(([elementIdentifier, element]) => [elementIdentifier, typeof element === "boolean" ? { intentToRetain: element } : element]))])) })) }); /** * The options `@owf/mdoc` matches a device response against the device request with, from the * device request definition of a verification session. */ const getDeviceRequestMatchOptions = (definition) => ({ treatAmbiguousMultipleDocRequestsAsAlternatives: definition.treatAmbiguousMultipleDocRequestsAsAlternatives, docRequests: definition.docRequests.map(({ nameSpaces }, docRequestIndex) => ({ docRequestIndex, elements: Object.fromEntries(Object.entries(nameSpaces).map(([nameSpace, elements]) => [nameSpace, Object.fromEntries(Object.entries(elements).map(([elementIdentifier, { optional, source }]) => [elementIdentifier, { optional, source }]))])) })) }); //#endregion export { createDeviceRequestDefinition, getDeviceRequestMatchOptions }; //# sourceMappingURL=deviceRequestDefinition.mjs.map