UNPKG

@sphereon/openid4vci-client

Version:

OpenID for Verifiable Credential Issuance (OpenID4VCI) client

62 lines 4.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CredentialRequestClientBuilder = void 0; const CredentialRequestClient_1 = require("./CredentialRequestClient"); const functions_1 = require("./functions"); class CredentialRequestClientBuilder { static fromIssuanceInitiationURI({ uri, metadata }) { return CredentialRequestClientBuilder.fromIssuanceInitiationRequest({ request: (0, functions_1.convertURIToJsonObject)(uri, { arrayTypeProperties: ['credential_type'], requiredProperties: ['issuer', 'credential_type'], }), metadata, }); } static fromIssuanceInitiationRequest({ request, metadata, }) { const builder = new CredentialRequestClientBuilder(); builder.withCredentialEndpoint((metadata === null || metadata === void 0 ? void 0 : metadata.credential_endpoint) ? metadata.credential_endpoint : request.issuer.endsWith('/') ? `${request.issuer}credential` : `${request.issuer}/credential`); //todo: This basically sets all types available during initiation. Probably the user only wants a subset. So do we want to do this? builder.withCredentialType(request.credential_type); return builder; } static fromIssuanceInitiation({ initiation, metadata, }) { return CredentialRequestClientBuilder.fromIssuanceInitiationRequest({ request: initiation.issuanceInitiationRequest, metadata, }); } withCredentialEndpointFromMetadata(metadata) { this.credentialEndpoint = metadata.credential_endpoint; return this; } withCredentialEndpoint(credentialEndpoint) { this.credentialEndpoint = credentialEndpoint; return this; } withCredentialType(credentialType) { this.credentialType = credentialType; return this; } withFormat(format) { this.format = format; return this; } withToken(accessToken) { this.token = accessToken; return this; } withTokenFromResponse(response) { this.token = response.access_token; return this; } build() { return new CredentialRequestClient_1.CredentialRequestClient(this); } } exports.CredentialRequestClientBuilder = CredentialRequestClientBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlZGVudGlhbFJlcXVlc3RDbGllbnRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL0NyZWRlbnRpYWxSZXF1ZXN0Q2xpZW50QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1RUFBb0U7QUFDcEUsMkNBQXFEO0FBU3JELE1BQWEsOEJBQThCO0lBTWxDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQWdEO1FBQ3JHLE9BQU8sOEJBQThCLENBQUMsNkJBQTZCLENBQUM7WUFDbEUsT0FBTyxFQUFFLElBQUEsa0NBQXNCLEVBQUMsR0FBRyxFQUFFO2dCQUNuQyxtQkFBbUIsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUN4QyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQzthQUNsRCxDQUFxQztZQUN0QyxRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxFQUMxQyxPQUFPLEVBQ1AsUUFBUSxHQUlUO1FBQ0MsTUFBTSxPQUFPLEdBQUcsSUFBSSw4QkFBOEIsRUFBRSxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxzQkFBc0IsQ0FDNUIsQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsbUJBQW1CO1lBQzNCLENBQUMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CO1lBQzlCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7Z0JBQzlCLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLFlBQVk7Z0JBQy9CLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLGFBQWEsQ0FDbkMsQ0FBQztRQUVGLG1JQUFtSTtRQUNuSSxPQUFPLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXBELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsRUFDbkMsVUFBVSxFQUNWLFFBQVEsR0FJVDtRQUNDLE9BQU8sOEJBQThCLENBQUMsNkJBQTZCLENBQUM7WUFDbEUsT0FBTyxFQUFFLFVBQVUsQ0FBQyx5QkFBeUI7WUFDN0MsUUFBUTtTQUNULENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxrQ0FBa0MsQ0FBQyxRQUFrQztRQUMxRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLHNCQUFzQixDQUFDLGtCQUEwQjtRQUN0RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsY0FBaUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQTZDO1FBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFNBQVMsQ0FBQyxXQUFtQjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxRQUE2QjtRQUN4RCxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sS0FBSztRQUNWLE9BQU8sSUFBSSxpREFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFwRkQsd0VBb0ZDIn0=