@sphereon/oid4vci-common 0.10.4-unstable.39 → 0.10.4-unstable.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"IssuerMetadataUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,uCAAuC,EACvC,wBAAwB,EACxB,8BAA8B,EAC9B,0BAA0B,EAC1B,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE;IAChD,cAAc,CAAC,EAAE,wBAAwB,GAAG,cAAc,CAAC;IAC3D,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,uBAAuB,GAAG,MAAM,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CAClF,GAAG,MAAM,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAgB1D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE;IAC5C,cAAc,CAAC,EAAE,wBAAwB,GAAG,cAAc,CAAC;IAC3D,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,uBAAuB,GAAG,MAAM,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CAClF,GAAG,MAAM,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAuB1D;AAGD,wBAAgB,+BAA+B,CAC7C,mBAAmB,EAAE,gCAAgC,EACrD,IAAI,CAAC,EAAE;IAAE,0BAA0B,EAAE,OAAO,CAAA;CAAE,YA2B/C;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,8BAA8B,GAAG,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAQzI;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAiBjJ;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,cAAc,EAAE,IAAI,CAAC,EAAE;IAAE,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,EAAE,CAM1I;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,wBAAwB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,wBAAwB,GAAG,cAAc,CAAC,GAC5G,MAAM,CAUR"}
1
+ {"version":3,"file":"IssuerMetadataUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,uCAAuC,EACvC,wBAAwB,EACxB,8BAA8B,EAC9B,0BAA0B,EAC1B,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE;IAChD,cAAc,CAAC,EAAE,wBAAwB,GAAG,cAAc,CAAC;IAC3D,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,uBAAuB,GAAG,MAAM,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CAClF,GAAG,MAAM,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAgB1D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE;IAC5C,cAAc,CAAC,EAAE,wBAAwB,GAAG,cAAc,CAAC;IAC3D,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,uBAAuB,GAAG,MAAM,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CAClF,GAAG,MAAM,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAyB1D;AAED,wBAAgB,+BAA+B,CAC7C,mBAAmB,EAAE,gCAAgC,EACrD,IAAI,CAAC,EAAE;IAAE,0BAA0B,EAAE,OAAO,CAAA;CAAE,YA2B/C;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,8BAA8B,GAAG,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAQzI;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAiBjJ;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,cAAc,EAAE,IAAI,CAAC,EAAE;IAAE,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,EAAE,CAM1I;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,wBAAwB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,CAAC,wBAAwB,GAAG,cAAc,CAAC,GAC5G,MAAM,CAUR"}
@@ -20,12 +20,11 @@ function getSupportedCredential(opts) {
20
20
  if (!issuerMetadata || !issuerMetadata.credential_configurations_supported) {
21
21
  return {};
22
22
  }
23
- const configurationIds = Object.keys(issuerMetadata.credential_configurations_supported);
23
+ const credentialConfigurations = issuerMetadata.credential_configurations_supported;
24
24
  const normalizedTypes = Array.isArray(types) ? types : types ? [types] : [];
25
25
  const normalizedFormats = Array.isArray(format) ? format : format ? [format] : [];
26
- return configurationIds.reduce((filteredConfigs, id) => {
27
- const config = issuerMetadata.credential_configurations_supported[id];
28
- const isTypeMatch = normalizedTypes.length === 0 || normalizedTypes.includes(id);
26
+ return Object.entries(credentialConfigurations).reduce((filteredConfigs, [id, config]) => {
27
+ const isTypeMatch = normalizedTypes.length === 0 || normalizedTypes.some((type) => config.credential_definition.type.includes(type));
29
28
  const isFormatMatch = normalizedFormats.length === 0 || normalizedFormats.includes(config.format);
30
29
  if (isTypeMatch && isFormatMatch) {
31
30
  filteredConfigs[id] = config;
@@ -1 +1 @@
1
- {"version":3,"file":"IssuerMetadataUtils.js","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IssuerMetadataUtils.js","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { getTypesFromCredentialSupported } from '../functions';
2
+ import { CredentialConfigurationSupportedV1_0_13 } from '../types';
3
+
4
+ describe('IssuerMetadataUtils should', () => {
5
+ it('return the types from a credential supported with jwt_vc_json format', () => {
6
+ const credentialSupported: CredentialConfigurationSupportedV1_0_13 = {
7
+ format: 'jwt_vc_json',
8
+ credential_definition: {
9
+ type: ['VerifiableCredential', 'BevoegdheidUittreksel'],
10
+ },
11
+ };
12
+
13
+ const result: string[] = getTypesFromCredentialSupported(credentialSupported);
14
+ expect(result).toEqual(['VerifiableCredential', 'BevoegdheidUittreksel']);
15
+ });
16
+
17
+ it('filter out "VerifiableCredential" type if filterVerifiableCredential option is true', () => {
18
+ const credentialSupported: CredentialConfigurationSupportedV1_0_13 = {
19
+ format: 'jwt_vc_json',
20
+ credential_definition: {
21
+ type: ['VerifiableCredential', 'BevoegdheidUittreksel'],
22
+ },
23
+ };
24
+
25
+ const result: string[] = getTypesFromCredentialSupported(credentialSupported, { filterVerifiableCredential: true });
26
+ expect(result).toEqual(['BevoegdheidUittreksel']);
27
+ });
28
+
29
+ it('throw an error if types cannot be deduced', () => {
30
+ const credentialSupported: CredentialConfigurationSupportedV1_0_13 = {
31
+ format: 'unknown_format',
32
+ } as unknown as CredentialConfigurationSupportedV1_0_13;
33
+
34
+ expect(() => {
35
+ getTypesFromCredentialSupported(credentialSupported);
36
+ }).toThrow('Could not deduce types from credential supported');
37
+ });
38
+ });
@@ -46,25 +46,26 @@ export function getSupportedCredential(opts?: {
46
46
  return {};
47
47
  }
48
48
 
49
- const configurationIds: string[] = Object.keys(issuerMetadata.credential_configurations_supported);
49
+ const credentialConfigurations: Record<string, CredentialConfigurationSupportedV1_0_13> =
50
+ issuerMetadata.credential_configurations_supported as Record<string, CredentialConfigurationSupportedV1_0_13>;
50
51
  const normalizedTypes: string[] = Array.isArray(types) ? types : types ? [types] : [];
51
52
  const normalizedFormats: string[] = Array.isArray(format) ? format : format ? [format] : [];
52
53
 
53
- return configurationIds.reduce((filteredConfigs, id) => {
54
- const config = (issuerMetadata.credential_configurations_supported as Record<string, CredentialConfigurationSupportedV1_0_13>)[id];
54
+ return Object.entries(credentialConfigurations).reduce(
55
+ (filteredConfigs, [id, config]) => {
56
+ const isTypeMatch = normalizedTypes.length === 0 || normalizedTypes.some((type) => config.credential_definition.type.includes(type));
57
+ const isFormatMatch = normalizedFormats.length === 0 || normalizedFormats.includes(config.format);
55
58
 
56
- const isTypeMatch = normalizedTypes.length === 0 || normalizedTypes.includes(id);
57
- const isFormatMatch = normalizedFormats.length === 0 || normalizedFormats.includes(config.format);
58
-
59
- if (isTypeMatch && isFormatMatch) {
60
- filteredConfigs[id] = config;
61
- }
59
+ if (isTypeMatch && isFormatMatch) {
60
+ filteredConfigs[id] = config;
61
+ }
62
62
 
63
- return filteredConfigs;
64
- }, {} as Record<string, CredentialConfigurationSupportedV1_0_13>);
63
+ return filteredConfigs;
64
+ },
65
+ {} as Record<string, CredentialConfigurationSupportedV1_0_13>,
66
+ );
65
67
  }
66
68
 
67
-
68
69
  export function getTypesFromCredentialSupported(
69
70
  credentialSupported: CredentialConfigurationSupported,
70
71
  opts?: { filterVerifiableCredential: boolean },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/oid4vci-common",
3
- "version": "0.10.4-unstable.39+8a6c16f",
3
+ "version": "0.10.4-unstable.40+d348641",
4
4
  "description": "OpenID 4 Verifiable Credential Issuance Common Types",
5
5
  "source": "lib/index.ts",
6
6
  "main": "dist/index.js",
@@ -57,5 +57,5 @@
57
57
  "publishConfig": {
58
58
  "access": "public"
59
59
  },
60
- "gitHead": "8a6c16f39fdee838d935edbc46c6842b628f08b7"
60
+ "gitHead": "d348641523d786d354fff3dfe75dbdda18e2d550"
61
61
  }