@sphereon/oid4vci-common 0.7.0 → 0.7.1-next.11

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":"Encoding.d.ts","sourceRoot":"","sources":["../../lib/functions/Encoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,mBAAmB,EAAE,mBAAmB,EAAkC,MAAM,UAAU,CAAC;AAEhH;;;;;;GAMG;AAGH,wBAAgB,gBAAgB,CAC9B,IAAI,EACA;IACE,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpB,GACD,SAAS,CAAC,KAAK,CAAC,GAChB,MAAM,GACN,MAAM,EACV,IAAI,CAAC,EAAE,mBAAmB,GACzB,MAAM,CA2DR;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAMvF"}
1
+ {"version":3,"file":"Encoding.d.ts","sourceRoot":"","sources":["../../lib/functions/Encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,mBAAmB,EAAE,mBAAmB,EAAkC,MAAM,UAAU,CAAC;AAEhH;;;;;;GAMG;AAGH,wBAAgB,gBAAgB,CAC9B,IAAI,EACA;IACE,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpB,GACD,SAAS,CAAC,KAAK,CAAC,GAChB,MAAM,GACN,MAAM,EACV,IAAI,CAAC,EAAE,mBAAmB,GACzB,MAAM,CA2DR;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAMvF"}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- // import * as u8a from 'uint8arrays'
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.convertURIToJsonObject = exports.convertJsonToURI = void 0;
5
4
  const types_1 = require("../types");
@@ -1 +1 @@
1
- {"version":3,"file":"Encoding.js","sourceRoot":"","sources":["../../lib/functions/Encoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Encoding.js","sourceRoot":"","sources":["../../lib/functions/Encoding.ts"],"names":[],"mappings":";;;AAAA,oCAAgH;AAEhH;;;;;;GAMG;AAEH,0DAA0D;AAC1D,SAAgB,gBAAgB,CAC9B,IAMU,EACV,IAA0B;;IAE1B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;KACjD;IAED,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,SAAS,wBAAwB,CAAC,GAAW;QAC3C,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,IAAI,CAAC,OAAO,GAAG,yBAAiB,CAAC,UAAU,EAAE;QAChE,mGAAmG;QACnG,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;KAC7D;SAAM;QACL,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/C,IAAI,CAAC,KAAK,EAAE;gBACV,SAAS;aACV;YACD,0CAA0C;YAC1C,IAAI,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,iBAAiB,0CAAE,QAAQ,CAAC,GAAG,CAAC,CAAA,EAAE;gBAC3C,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;gBAChC,SAAS;aACV;YACD,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,0CAAE,QAAQ,CAAC,GAAG,CAAC,KAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACpE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnH,SAAS;aACV;YACD,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,SAAS,CAAC;YACzC,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,QAAQ,CAAC;YAC1C,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,QAAQ,CAAC;YAC1C,IAAI,OAAO,CAAC;YACZ,IAAI,MAAM,IAAI,QAAQ,EAAE;gBACtB,OAAO,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;aACvD;iBAAM,IAAI,QAAQ,EAAE;gBACnB,OAAO,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;aACxF;iBAAM;gBACL,OAAO,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;aACxG;YACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACvB;QACD,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAChC;IACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE;QACjB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC9B,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;aAC7D;YACD,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;SACvC;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;SAC7E;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;SAC5E;aAAM;YACL,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;SAC7E;KACF;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AApED,4CAoEC;AAED;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,GAAW,EAAE,IAA0B;;IAC5E,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,0CAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA,EAAE;QACpE,MAAM,IAAI,KAAK,CAAC,kBAAU,CAAC,CAAC;KAC7B;IACD,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,CAAC,CAAC;IAC9E,OAAO,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAC7C,CAAC;AAND,wDAMC;AAED,SAAS,oBAAoB,CAAC,KAA4B;IACxD,MAAM,IAAI,GAAkD,EAAE,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE;YACV,SAAS;SACV;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,0BAA0B;YAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE;;eAEG;SACJ;QACD,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,SAAS,CAAC;QACzC,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,QAAQ,CAAC;QAC1C,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,QAAQ,CAAC;QAC1C,IAAI,MAAM,IAAI,QAAQ,EAAE;YACtB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;SACvC;aAAM,IAAI,QAAQ,EAAE;YACnB,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACpD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACrD;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;aACzC;SACF;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,GAAW,EAAE,UAAqB;IACjE,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtG,MAAM,IAAI,GAA0B,EAAE,CAAC;IACvC,MAAM,IAAI,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE;QACxB,MAAM,IAAI,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,EAAE,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,EAAE,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC,EAAE,CAAC,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACd;iBAAM;gBACL,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACjB;YACD,SAAS;SACV;QACD,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;KACf;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,YAAoB,EAAE,WAAwB;IAC9E,8DAA8D;IAC9D,oCAAoC;IACpC,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACxH,CAAC"}
@@ -1,9 +1,15 @@
1
- import { CredentialIssuerMetadata, CredentialOfferFormat, CredentialSupported, CredentialSupportedTypeV1_0_08, CredentialSupportedV1_0_08, IssuerMetadataV1_0_08, MetadataDisplay, OpenId4VCIVersion } from '../types';
1
+ import { CredentialIssuerMetadata, CredentialSupported, CredentialSupportedTypeV1_0_08, CredentialSupportedV1_0_08, IssuerMetadataV1_0_08, MetadataDisplay, OID4VCICredentialFormat, OpenId4VCIVersion } from '../types';
2
2
  export declare function getSupportedCredentials(opts?: {
3
3
  issuerMetadata?: CredentialIssuerMetadata | IssuerMetadataV1_0_08;
4
4
  version: OpenId4VCIVersion;
5
- credentialTypes?: (CredentialOfferFormat | string)[];
6
- supportedType?: CredentialOfferFormat | string;
5
+ types?: string[][];
6
+ format?: (OID4VCICredentialFormat | string) | (OID4VCICredentialFormat | string)[];
7
+ }): CredentialSupported[];
8
+ export declare function getSupportedCredential(opts?: {
9
+ issuerMetadata?: CredentialIssuerMetadata | IssuerMetadataV1_0_08;
10
+ version: OpenId4VCIVersion;
11
+ types?: string[];
12
+ format?: (OID4VCICredentialFormat | string) | (OID4VCICredentialFormat | string)[];
7
13
  }): CredentialSupported[];
8
14
  export declare function credentialsSupportedV8ToV11(supportedV8: CredentialSupportedTypeV1_0_08): CredentialSupported[];
9
15
  export declare function credentialSupportedV8ToV11(key: string, supportedV8: CredentialSupportedV1_0_08): CredentialSupported[];
@@ -1 +1 @@
1
- {"version":3,"file":"IssuerMetadataUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,0BAA0B,EAC1B,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE;IAC7C,cAAc,CAAC,EAAE,wBAAwB,GAAG,qBAAqB,CAAC;IAClE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,eAAe,CAAC,EAAE,CAAC,qBAAqB,GAAG,MAAM,CAAC,EAAE,CAAC;IACrD,aAAa,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAAC;CAChD,GAAG,mBAAmB,EAAE,CAgDxB;AAaD,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,8BAA8B,GAAG,mBAAmB,EAAE,CAM9G;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,GAAG,mBAAmB,EAAE,CAgBtH;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,qBAAqB,EAAE,IAAI,CAAC,EAAE;IAAE,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,EAAE,CAMjJ"}
1
+ {"version":3,"file":"IssuerMetadataUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAExB,mBAAmB,EACnB,8BAA8B,EAC9B,0BAA0B,EAC1B,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE;IAC7C,cAAc,CAAC,EAAE,wBAAwB,GAAG,qBAAqB,CAAC;IAClE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CACpF,GAAG,mBAAmB,EAAE,CAKxB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE;IAC5C,cAAc,CAAC,EAAE,wBAAwB,GAAG,qBAAqB,CAAC;IAClE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CACpF,GAAG,mBAAmB,EAAE,CAyDxB;AAaD,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,8BAA8B,GAAG,mBAAmB,EAAE,CAM9G;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,GAAG,mBAAmB,EAAE,CAgBtH;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,qBAAqB,EAAE,IAAI,CAAC,EAAE;IAAE,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,EAAE,CAMjJ"}
@@ -1,26 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getIssuerDisplays = exports.credentialSupportedV8ToV11 = exports.credentialsSupportedV8ToV11 = exports.getSupportedCredentials = void 0;
3
+ exports.getIssuerDisplays = exports.credentialSupportedV8ToV11 = exports.credentialsSupportedV8ToV11 = exports.getSupportedCredential = exports.getSupportedCredentials = void 0;
4
4
  const types_1 = require("../types");
5
5
  function getSupportedCredentials(opts) {
6
+ if ((opts === null || opts === void 0 ? void 0 : opts.types) && Array.isArray(opts === null || opts === void 0 ? void 0 : opts.types)) {
7
+ return opts.types.flatMap((types) => getSupportedCredential(Object.assign(Object.assign({}, opts), { types })));
8
+ }
9
+ return getSupportedCredential(opts ? Object.assign(Object.assign({}, opts), { types: undefined }) : undefined);
10
+ }
11
+ exports.getSupportedCredentials = getSupportedCredentials;
12
+ function getSupportedCredential(opts) {
6
13
  const { issuerMetadata } = opts !== null && opts !== void 0 ? opts : {};
14
+ let formats;
15
+ if ((opts === null || opts === void 0 ? void 0 : opts.format) && Array.isArray(opts.format)) {
16
+ formats = opts.format;
17
+ }
18
+ else if ((opts === null || opts === void 0 ? void 0 : opts.format) && !Array.isArray(opts.format)) {
19
+ formats = [opts.format];
20
+ }
21
+ else {
22
+ formats = [];
23
+ }
7
24
  let credentialsSupported;
8
25
  if (!issuerMetadata) {
9
26
  return [];
10
27
  }
11
- const { version, credentialTypes, supportedType } = opts !== null && opts !== void 0 ? opts : { version: types_1.OpenId4VCIVersion.VER_1_0_11 };
28
+ const { version, types } = opts !== null && opts !== void 0 ? opts : { version: types_1.OpenId4VCIVersion.VER_1_0_11 };
12
29
  if (version === types_1.OpenId4VCIVersion.VER_1_0_08 || !Array.isArray(issuerMetadata.credentials_supported)) {
13
30
  credentialsSupported = credentialsSupportedV8ToV11(issuerMetadata.credentials_supported);
14
- /* const credentialsSupportedV8: CredentialSupportedV1_0_08 = credentialsSupported as CredentialSupportedV1_0_08
15
- // const initiationTypes = credentialTypes.map(type => typeof type === 'string' ? [type] : type.types)
16
- const supported: IssuerCredentialSubject = {}
17
- for (const [key, value] of Object.entries(credentialsSupportedV8)) {
18
- if (initiationTypes.find((type) => (typeof type === 'string' ? type === key : type.types.includes(key)))) {
19
- supported[key] = value
20
- }
21
- }
22
- // todo: fix this later. we're returning CredentialSupportedV1_0_08 as a list of CredentialSupported (for v09 onward)
23
- return supported as unknown as CredentialSupported[]*/
24
31
  }
25
32
  else {
26
33
  credentialsSupported = issuerMetadata.credentials_supported;
@@ -28,31 +35,40 @@ function getSupportedCredentials(opts) {
28
35
  if (credentialsSupported === undefined || credentialsSupported.length === 0) {
29
36
  return [];
30
37
  }
31
- else if (!credentialTypes || credentialTypes.length === 0) {
38
+ else if (!types || types.length === 0) {
32
39
  return credentialsSupported;
33
40
  }
34
41
  /**
35
42
  * the following (not array part is a legacy code from version 1_0-08 which JFF plugfest 2 implementors used)
36
43
  */
37
- const initiationTypes = supportedType ? [supportedType] : credentialTypes;
44
+ const initiationTypes = version === types_1.OpenId4VCIVersion.VER_1_0_08 && !types ? formats : types;
45
+ const supportedFormats = formats !== null && formats !== void 0 ? formats : ['jwt_vc_json', 'jwt_vc_json-ld', 'ldp_vc'];
38
46
  const credentialSupportedOverlap = [];
39
- for (const offerType of initiationTypes) {
40
- if (typeof offerType === 'string') {
41
- const supported = credentialsSupported.filter((sup) => sup.id === offerType || sup.types.includes(offerType));
42
- if (supported) {
43
- credentialSupportedOverlap.push(...supported);
44
- }
47
+ if (initiationTypes.length === 1) {
48
+ const supported = credentialsSupported.filter((sup) => sup.id === initiationTypes[0] || (arrayEqualsIgnoreOrder(sup.types, initiationTypes) && sup.types.includes(initiationTypes[0])));
49
+ if (supported) {
50
+ credentialSupportedOverlap.push(...supported);
51
+ }
52
+ }
53
+ else {
54
+ // Make sure we include Verifiable Credential both on the offer side as well as in the metadata side, to ensure consistency of the issuer does not.
55
+ if (!initiationTypes.includes('VerifiableCredential')) {
56
+ initiationTypes.push('VerifiableCredential');
45
57
  }
46
- else {
47
- const supported = credentialsSupported.filter((sup) => arrayEqualsIgnoreOrder(sup.types, offerType.types) && sup.format === offerType.format);
48
- if (supported) {
49
- credentialSupportedOverlap.push(...supported);
58
+ const supported = credentialsSupported.filter((sup) => {
59
+ const supTypes = sup.types;
60
+ if (!supTypes.includes('VerifiableCredential')) {
61
+ supTypes.push('VerifiableCredential');
50
62
  }
63
+ return arrayEqualsIgnoreOrder(supTypes, initiationTypes) && supportedFormats.includes(sup.format);
64
+ });
65
+ if (supported) {
66
+ credentialSupportedOverlap.push(...supported);
51
67
  }
52
68
  }
53
69
  return credentialSupportedOverlap;
54
70
  }
55
- exports.getSupportedCredentials = getSupportedCredentials;
71
+ exports.getSupportedCredential = getSupportedCredential;
56
72
  function arrayEqualsIgnoreOrder(a, b) {
57
73
  if (a.length !== b.length)
58
74
  return false;
@@ -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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"}
@@ -1,5 +1,3 @@
1
- // import * as u8a from 'uint8arrays'
2
-
3
1
  import { BAD_PARAMS, DecodeURIAsJsonOpts, EncodeJsonAsURIOpts, OpenId4VCIVersion, SearchValue } from '../types';
4
2
 
5
3
  /**
@@ -6,59 +6,81 @@ import {
6
6
  CredentialSupportedV1_0_08,
7
7
  IssuerMetadataV1_0_08,
8
8
  MetadataDisplay,
9
+ OID4VCICredentialFormat,
9
10
  OpenId4VCIVersion,
10
11
  } from '../types';
11
12
 
12
13
  export function getSupportedCredentials(opts?: {
13
14
  issuerMetadata?: CredentialIssuerMetadata | IssuerMetadataV1_0_08;
14
15
  version: OpenId4VCIVersion;
15
- credentialTypes?: (CredentialOfferFormat | string)[];
16
- supportedType?: CredentialOfferFormat | string;
16
+ types?: string[][];
17
+ format?: (OID4VCICredentialFormat | string) | (OID4VCICredentialFormat | string)[];
18
+ }): CredentialSupported[] {
19
+ if (opts?.types && Array.isArray(opts?.types)) {
20
+ return opts.types.flatMap((types) => getSupportedCredential({ ...opts, types }));
21
+ }
22
+ return getSupportedCredential(opts ? { ...opts, types: undefined } : undefined);
23
+ }
24
+
25
+ export function getSupportedCredential(opts?: {
26
+ issuerMetadata?: CredentialIssuerMetadata | IssuerMetadataV1_0_08;
27
+ version: OpenId4VCIVersion;
28
+ types?: string[];
29
+ format?: (OID4VCICredentialFormat | string) | (OID4VCICredentialFormat | string)[];
17
30
  }): CredentialSupported[] {
18
31
  const { issuerMetadata } = opts ?? {};
32
+ let formats: (OID4VCICredentialFormat | string)[];
33
+ if (opts?.format && Array.isArray(opts.format)) {
34
+ formats = opts.format;
35
+ } else if (opts?.format && !Array.isArray(opts.format)) {
36
+ formats = [opts.format];
37
+ } else {
38
+ formats = [];
39
+ }
19
40
  let credentialsSupported: CredentialSupported[];
20
41
  if (!issuerMetadata) {
21
42
  return [];
22
43
  }
23
- const { version, credentialTypes, supportedType } = opts ?? { version: OpenId4VCIVersion.VER_1_0_11 };
44
+ const { version, types } = opts ?? { version: OpenId4VCIVersion.VER_1_0_11 };
24
45
  if (version === OpenId4VCIVersion.VER_1_0_08 || !Array.isArray(issuerMetadata.credentials_supported)) {
25
46
  credentialsSupported = credentialsSupportedV8ToV11((issuerMetadata as IssuerMetadataV1_0_08).credentials_supported);
26
- /* const credentialsSupportedV8: CredentialSupportedV1_0_08 = credentialsSupported as CredentialSupportedV1_0_08
27
- // const initiationTypes = credentialTypes.map(type => typeof type === 'string' ? [type] : type.types)
28
- const supported: IssuerCredentialSubject = {}
29
- for (const [key, value] of Object.entries(credentialsSupportedV8)) {
30
- if (initiationTypes.find((type) => (typeof type === 'string' ? type === key : type.types.includes(key)))) {
31
- supported[key] = value
32
- }
33
- }
34
- // todo: fix this later. we're returning CredentialSupportedV1_0_08 as a list of CredentialSupported (for v09 onward)
35
- return supported as unknown as CredentialSupported[]*/
36
47
  } else {
37
48
  credentialsSupported = (issuerMetadata as CredentialIssuerMetadata).credentials_supported;
38
49
  }
39
50
 
40
51
  if (credentialsSupported === undefined || credentialsSupported.length === 0) {
41
52
  return [];
42
- } else if (!credentialTypes || credentialTypes.length === 0) {
53
+ } else if (!types || types.length === 0) {
43
54
  return credentialsSupported;
44
55
  }
45
56
  /**
46
57
  * the following (not array part is a legacy code from version 1_0-08 which JFF plugfest 2 implementors used)
47
58
  */
48
- const initiationTypes = supportedType ? [supportedType] : credentialTypes;
59
+ const initiationTypes = version === OpenId4VCIVersion.VER_1_0_08 && !types ? formats : types;
60
+ const supportedFormats: (CredentialOfferFormat | string)[] = formats ?? ['jwt_vc_json', 'jwt_vc_json-ld', 'ldp_vc'];
49
61
 
50
62
  const credentialSupportedOverlap: CredentialSupported[] = [];
51
- for (const offerType of initiationTypes) {
52
- if (typeof offerType === 'string') {
53
- const supported = credentialsSupported.filter((sup) => sup.id === offerType || sup.types.includes(offerType));
54
- if (supported) {
55
- credentialSupportedOverlap.push(...supported);
56
- }
57
- } else {
58
- const supported = credentialsSupported.filter((sup) => arrayEqualsIgnoreOrder(sup.types, offerType.types) && sup.format === offerType.format);
59
- if (supported) {
60
- credentialSupportedOverlap.push(...supported);
63
+ if (initiationTypes.length === 1) {
64
+ const supported = credentialsSupported.filter(
65
+ (sup) => sup.id === initiationTypes[0] || (arrayEqualsIgnoreOrder(sup.types, initiationTypes) && sup.types.includes(initiationTypes[0])),
66
+ );
67
+ if (supported) {
68
+ credentialSupportedOverlap.push(...supported);
69
+ }
70
+ } else {
71
+ // Make sure we include Verifiable Credential both on the offer side as well as in the metadata side, to ensure consistency of the issuer does not.
72
+ if (!initiationTypes.includes('VerifiableCredential')) {
73
+ initiationTypes.push('VerifiableCredential');
74
+ }
75
+ const supported = credentialsSupported.filter((sup) => {
76
+ const supTypes = sup.types;
77
+ if (!supTypes.includes('VerifiableCredential')) {
78
+ supTypes.push('VerifiableCredential');
61
79
  }
80
+ return arrayEqualsIgnoreOrder(supTypes, initiationTypes) && supportedFormats.includes(sup.format);
81
+ });
82
+ if (supported) {
83
+ credentialSupportedOverlap.push(...supported);
62
84
  }
63
85
  }
64
86
  return credentialSupportedOverlap;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/oid4vci-common",
3
- "version": "0.7.0",
3
+ "version": "0.7.1-next.11+9675a47",
4
4
  "description": "OpenID 4 Verifiable Credential Issuance Common Types",
5
5
  "source": "lib/index.ts",
6
6
  "main": "dist/index.js",
@@ -45,5 +45,5 @@
45
45
  "publishConfig": {
46
46
  "access": "public"
47
47
  },
48
- "gitHead": "bb9fcd4c5e590302f0a1aff61f424bee5a5787e8"
48
+ "gitHead": "9675a47fdeea8cfb9b3517b489116b6aeb5d2f99"
49
49
  }