@pagopa/io-react-native-wallet 1.8.0 → 1.8.1

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.
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getIssuerConfigOIDFED = exports.getIssuerConfig = void 0;
7
+ var _misc = require("../../utils/misc");
7
8
  var _issuer = require("../../entity/openid-connect/issuer");
8
9
  var _ioReactNativeWallet = require("@pagopa/io-react-native-wallet");
9
10
  /**
@@ -78,31 +79,16 @@ const credentialIssuerRationalizationOIDFED = issuerMetadata => {
78
79
  const adapted_credential_configurations_supported = Object.fromEntries(Object.entries(issuerMetadata.payload.metadata.openid_credential_issuer.credential_configurations_supported).map(_ref => {
79
80
  let [key, config] = _ref;
80
81
  const claimsRaw = config.claims;
81
- // we need to evaluate how claims is in oder to support Federation and OID4VCI
82
- // claim structure is different in both case
83
- let claims;
84
- if (claimsRaw && typeof Object.values(claimsRaw)[0] === "object" && "mandatory" in Object.values(claimsRaw)[0]) {
85
- // claims is Record<string, { mandatory: boolean; display: Display[] }>
86
- claims = Object.fromEntries(Object.entries(claimsRaw).map(_ref2 => {
87
- let [, v] = _ref2;
88
- return [[v.path[0]], {
89
- mandatory: true,
82
+ const claims = Object.entries(claimsRaw).map(_ref2 => {
83
+ let [, v] = _ref2;
84
+ return {
85
+ path: v.path,
86
+ details: {
87
+ mandatory: v.mandatory,
90
88
  display: v.display
91
- }];
92
- }));
93
- } else {
94
- // claims is Record<string, Record<string, { mandatory; display }>>
95
- claims = Object.fromEntries(Object.entries(claimsRaw).map(_ref3 => {
96
- let [k, inner] = _ref3;
97
- return [[k], Object.fromEntries(Object.entries(inner).map(_ref4 => {
98
- let [innerK, v] = _ref4;
99
- return [[innerK], {
100
- mandatory: v.mandatory,
101
- display: v.display
102
- }];
103
- }))];
104
- }));
105
- }
89
+ }
90
+ };
91
+ }).reduce((cumulated, entry) => (0, _misc.pathInsert)(cumulated, entry.path, entry.details), {});
106
92
  const newConfig = {
107
93
  ...config,
108
94
  claims,
@@ -1 +1 @@
1
- {"version":3,"names":["_issuer","require","_ioReactNativeWallet","getIssuerConfig","issuerUrl","context","arguments","length","undefined","res","getCredentialIssuerMetadata","appFetch","credentialIssuerRationalization","exports","getIssuerConfigOIDFED","getCredentialIssuerEntityConfiguration","credentialIssuerRationalizationOIDFED","issuerMetadata","issuerConf","credential_configurations_supported","pushed_authorization_request_endpoint","authorization_endpoint","token_endpoint","credential_endpoint","keys","jwks","issuer","adapted_credential_configurations_supported","Object","fromEntries","entries","payload","metadata","openid_credential_issuer","map","_ref","key","config","claimsRaw","claims","values","_ref2","v","path","mandatory","display","_ref3","k","inner","_ref4","innerK","newConfig","cryptographic_suites_supported","credential_signing_alg_values_supported","oauth_authorization_server","nonce_endpoint"],"sourceRoot":"../../../../src","sources":["credential/issuance/02-get-issuer-config.ts"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AASA;AACA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,eAAgC,GAAG,eAAAA,CAC9CC,SAAS,EAEuB;EAAA,IADhCC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEZ,MAAMG,GAAG,GAAG,MAAM,IAAAC,mCAA2B,EAACN,SAAS,EAAE;IACvDO,QAAQ,EAAEN,OAAO,CAACM;EACpB,CAAC,CAAC;EAEF,OAAOC,+BAA+B,CAACH,GAAG,CAAC;AAC7C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATAI,OAAA,CAAAV,eAAA,GAAAA,eAAA;AAUO,MAAMW,qBAAsC,GAAG,eAAAA,CACpDV,SAAS,EAEuB;EAAA,IADhCC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEZ,MAAMG,GAAG,GAAG,MAAM,IAAAM,2DAAsC,EAACX,SAAS,EAAE;IAClEO,QAAQ,EAAEN,OAAO,CAACM;EACpB,CAAC,CAAC;EAEF,OAAOK,qCAAqC,CAACP,GAAG,CAAC;AACnD,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAI,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAKA,MAAMF,+BAA+B,GACnCK,cAAuE,IAC9B;EACzC,OAAO;IACLC,UAAU,EAAE;MACVC,mCAAmC,EACjCF,cAAc,CAACE,mCAAmC;MACpDC,qCAAqC,EACnCH,cAAc,CAACG,qCAAqC;MACtDC,sBAAsB,EAAEJ,cAAc,CAACI,sBAAsB;MAC7DC,cAAc,EAAEL,cAAc,CAACK,cAAc;MAC7CC,mBAAmB,EAAEN,cAAc,CAACM,mBAAmB;MACvDC,IAAI,EAAEP,cAAc,CAACQ,IAAI,CAACD,IAAI;MAC9BE,MAAM,EAAET,cAAc,CAACI;IACzB;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAML,qCAAqC,GACzCC,cAEC,IACwC;EACzC,MAAMU,2CAA6E,GACjFC,MAAM,CAACC,WAAW,CAChBD,MAAM,CAACE,OAAO,CACZb,cAAc,CAACc,OAAO,CAACC,QAAQ,CAACC,wBAAwB,CACrDd,mCACL,CAAC,CAACe,GAAG,CAACC,IAAA,IAAmB;IAAA,IAAlB,CAACC,GAAG,EAAEC,MAAM,CAAC,GAAAF,IAAA;IAClB,MAAMG,SAAS,GAAGD,MAAM,CAACE,MAAM;IAC/B;IACA;IACA,IAAIA,MAA0D;IAE9D,IACED,SAAS,IACT,OAAOV,MAAM,CAACY,MAAM,CAACF,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC/C,WAAW,IAAIV,MAAM,CAACY,MAAM,CAACF,SAAS,CAAC,CAAC,CAAC,CAAE,EAC3C;MACA;MACAC,MAAM,GAAGX,MAAM,CAACC,WAAW,CACzBD,MAAM,CAACE,OAAO,CAACQ,SAAS,CAAC,CAACJ,GAAG,CAACO,KAAA;QAAA,IAAC,GAAGC,CAAC,CAAC,GAAAD,KAAA;QAAA,OAAK,CACvC,CAACC,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC,EACX;UACEC,SAAS,EAAE,IAAI;UACfC,OAAO,EAAEH,CAAC,CAACG;QACb,CAAC,CACF;MAAA,EACH,CAAC;IACH,CAAC,MAAM;MACL;MACAN,MAAM,GAAGX,MAAM,CAACC,WAAW,CACzBD,MAAM,CAACE,OAAO,CAACQ,SAAS,CAAC,CAACJ,GAAG,CAACY,KAAA;QAAA,IAAC,CAACC,CAAC,EAAEC,KAAK,CAAC,GAAAF,KAAA;QAAA,OAAK,CAC5C,CAACC,CAAC,CAAC,EACHnB,MAAM,CAACC,WAAW,CAChBD,MAAM,CAACE,OAAO,CAACkB,KAAK,CAAC,CAACd,GAAG,CAACe,KAAA;UAAA,IAAC,CAACC,MAAM,EAAER,CAAC,CAAM,GAAAO,KAAA;UAAA,OAAK,CAC9C,CAACC,MAAM,CAAC,EACR;YACEN,SAAS,EAAEF,CAAC,CAACE,SAAS;YACtBC,OAAO,EAAEH,CAAC,CAACG;UACb,CAAC,CACF;QAAA,EACH,CAAC,CACF;MAAA,EACH,CAAC;IACH;IACA,MAAMM,SAAmD,GAAG;MAC1D,GAAGd,MAAM;MACTE,MAAM;MACN;MACA;MACAa,8BAA8B,EAC5Bf,MAAM,CAACgB;IACX,CAAC;IAED,OAAO,CAACjB,GAAG,EAAEe,SAAS,CAAC;EACzB,CAAC,CACH,CAAC;EAEH,OAAO;IACLjC,UAAU,EAAE;MACVC,mCAAmC,EACjCQ,2CAA2C;MAC7CP,qCAAqC,EACnCH,cAAc,CAACc,OAAO,CAACC,QAAQ,CAACsB,0BAA0B,CACvDlC,qCAAqC;MAC1CC,sBAAsB,EACpBJ,cAAc,CAACc,OAAO,CAACC,QAAQ,CAACsB,0BAA0B,CACvDjC,sBAAsB;MAC3BC,cAAc,EACZL,cAAc,CAACc,OAAO,CAACC,QAAQ,CAACsB,0BAA0B,CACvDhC,cAAc;MACnBC,mBAAmB,EACjBN,cAAc,CAACc,OAAO,CAACC,QAAQ,CAACC,wBAAwB,CACrDV,mBAAmB;MACxBC,IAAI,EAAEP,cAAc,CAACc,OAAO,CAACC,QAAQ,CAACC,wBAAwB,CAACR,IAAI,CAACD,IAAI;MACxEE,MAAM,EAAET,cAAc,CAACc,OAAO,CAACC,QAAQ,CAACsB,0BAA0B,CAAC5B,MAAM;MACzE6B,cAAc,EACZtC,cAAc,CAACc,OAAO,CAACC,QAAQ,CAACC,wBAAwB,CAACsB;IAC7D;EACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"names":["_misc","require","_issuer","_ioReactNativeWallet","getIssuerConfig","issuerUrl","context","arguments","length","undefined","res","getCredentialIssuerMetadata","appFetch","credentialIssuerRationalization","exports","getIssuerConfigOIDFED","getCredentialIssuerEntityConfiguration","credentialIssuerRationalizationOIDFED","issuerMetadata","issuerConf","credential_configurations_supported","pushed_authorization_request_endpoint","authorization_endpoint","token_endpoint","credential_endpoint","keys","jwks","issuer","adapted_credential_configurations_supported","Object","fromEntries","entries","payload","metadata","openid_credential_issuer","map","_ref","key","config","claimsRaw","claims","_ref2","v","path","details","mandatory","display","reduce","cumulated","entry","pathInsert","newConfig","cryptographic_suites_supported","credential_signing_alg_values_supported","oauth_authorization_server","nonce_endpoint"],"sourceRoot":"../../../../src","sources":["credential/issuance/02-get-issuer-config.ts"],"mappings":"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"}
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.safeJsonParse = exports.parseRawHttpResponse = exports.hasStatusOrThrow = exports.getCredentialHashWithouDiscloures = exports.generateRandomAlphaNumericString = void 0;
6
+ exports.parseRawHttpResponse = exports.hasStatusOrThrow = exports.getCredentialHashWithouDiscloures = exports.generateRandomAlphaNumericString = void 0;
7
+ exports.pathInsert = pathInsert;
8
+ exports.safeJsonParse = void 0;
7
9
  var _errors = require("./errors");
8
10
  var _jsSha = require("js-sha256");
9
11
  /**
@@ -67,5 +69,25 @@ const safeJsonParse = (text, withDefault) => {
67
69
  return withDefault ?? null;
68
70
  }
69
71
  };
72
+
73
+ /**
74
+ * Helper function to insert a value at a specified object path
75
+ * @param object The object in which to insert the value
76
+ * @param path The path at which the value should be inserted
77
+ * @param value The value to insert at the specified path
78
+ * @returns A new object with the property at path set to value, on-path objects are recreated
79
+ */
70
80
  exports.safeJsonParse = safeJsonParse;
81
+ function pathInsert(object, path, value) {
82
+ if (path.length === 1) {
83
+ return {
84
+ ...object,
85
+ [path[0]]: value
86
+ };
87
+ }
88
+ return {
89
+ ...object,
90
+ [path[0]]: pathInsert(path[0] in object ? object[path[0]] : {}, path.slice(1), value)
91
+ };
92
+ }
71
93
  //# sourceMappingURL=misc.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_errors","require","_jsSha","hasStatusOrThrow","status","customError","res","ErrorClass","UnexpectedStatusCodeError","message","url","statusCode","reason","parseRawHttpResponse","exports","response","_response$headers$get","headers","get","includes","json","text","generateRandomAlphaNumericString","size","Array","from","Math","floor","random","toString","join","getCredentialHashWithouDiscloures","credential","tildeIndex","indexOf","IoWalletError","sha256","slice","safeJsonParse","withDefault","JSON","parse","_"],"sourceRoot":"../../../src","sources":["utils/misc.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,gBAAgB,GAC3BA,CAACC,MAAc,EAAEC,WAA8C,KAC/D,MAAOC,GAAa,IAAwB;EAC1C,IAAIA,GAAG,CAACF,MAAM,KAAKA,MAAM,EAAE;IACzB,MAAMG,UAAU,GAAGF,WAAW,IAAIG,iCAAyB;IAC3D,MAAM,IAAID,UAAU,CAAC;MACnBE,OAAO,EAAG,iCAAgCL,MAAO,SAAQE,GAAG,CAACF,MAAO,UAASE,GAAG,CAACI,GAAI,EAAC;MACtFC,UAAU,EAAEL,GAAG,CAACF,MAAM;MACtBQ,MAAM,EAAE,MAAMC,oBAAoB,CAACP,GAAG,CAAC,CAAE;IAC3C,CAAC,CAAC;EACJ;;EACA,OAAOA,GAAG;AACZ,CAAC;;AAEH;AACA;AACA;AAFAQ,OAAA,CAAAX,gBAAA,GAAAA,gBAAA;AAGO,MAAMU,oBAAoB,GAC/BE,QAAkB;EAAA,IAAAC,qBAAA;EAAA,OAElB,CAAAA,qBAAA,GAAAD,QAAQ,CAACE,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC,cAAAF,qBAAA,eAApCA,qBAAA,CAAsCG,QAAQ,CAAC,kBAAkB,CAAC,GAC7DJ,QAAQ,CAACK,IAAI,CAAC,CAAC,GAChBL,QAAQ,CAACM,IAAI,CAAC,CAAC;AAAA;;AAErB;AACA;AAAAP,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAOA;AACA;AACA;AACA;AACA;AACO,MAAMS,gCAAgC,GAAIC,IAAY,IAC3DC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACD,IAAI,CAAC,EAAE,MACtBG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAACC,QAAQ,CAAC,EAAE,CAC5C,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;;AAEZ;AACA;AACA;AACA;AACA;AACA;AALAhB,OAAA,CAAAQ,gCAAA,GAAAA,gCAAA;AAMO,MAAMS,iCAAiC,GAAG,MAC/CC,UAAkB,IACE;EACpB,MAAMC,UAAU,GAAGD,UAAU,CAACE,OAAO,CAAC,GAAG,CAAC;EAC1C,IAAID,UAAU,KAAK,CAAC,CAAC,EAAE;IACrB,MAAM,IAAIE,qBAAa,CAAC,2BAA2B,CAAC;EACtD;EACA,OAAO,IAAAC,aAAM,EAACJ,UAAU,CAACK,KAAK,CAAC,CAAC,EAAEJ,UAAU,CAAC,CAAC;AAChD,CAAC;AAACnB,OAAA,CAAAiB,iCAAA,GAAAA,iCAAA;AAEK,MAAMO,aAAa,GAAGA,CAAIjB,IAAY,EAAEkB,WAAe,KAAe;EAC3E,IAAI;IACF,OAAOC,IAAI,CAACC,KAAK,CAACpB,IAAI,CAAC;EACzB,CAAC,CAAC,OAAOqB,CAAC,EAAE;IACV,OAAOH,WAAW,IAAI,IAAI;EAC5B;AACF,CAAC;AAACzB,OAAA,CAAAwB,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"names":["_errors","require","_jsSha","hasStatusOrThrow","status","customError","res","ErrorClass","UnexpectedStatusCodeError","message","url","statusCode","reason","parseRawHttpResponse","exports","response","_response$headers$get","headers","get","includes","json","text","generateRandomAlphaNumericString","size","Array","from","Math","floor","random","toString","join","getCredentialHashWithouDiscloures","credential","tildeIndex","indexOf","IoWalletError","sha256","slice","safeJsonParse","withDefault","JSON","parse","_","pathInsert","object","path","value","length"],"sourceRoot":"../../../src","sources":["utils/misc.ts"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,gBAAgB,GAC3BA,CAACC,MAAc,EAAEC,WAA8C,KAC/D,MAAOC,GAAa,IAAwB;EAC1C,IAAIA,GAAG,CAACF,MAAM,KAAKA,MAAM,EAAE;IACzB,MAAMG,UAAU,GAAGF,WAAW,IAAIG,iCAAyB;IAC3D,MAAM,IAAID,UAAU,CAAC;MACnBE,OAAO,EAAG,iCAAgCL,MAAO,SAAQE,GAAG,CAACF,MAAO,UAASE,GAAG,CAACI,GAAI,EAAC;MACtFC,UAAU,EAAEL,GAAG,CAACF,MAAM;MACtBQ,MAAM,EAAE,MAAMC,oBAAoB,CAACP,GAAG,CAAC,CAAE;IAC3C,CAAC,CAAC;EACJ;;EACA,OAAOA,GAAG;AACZ,CAAC;;AAEH;AACA;AACA;AAFAQ,OAAA,CAAAX,gBAAA,GAAAA,gBAAA;AAGO,MAAMU,oBAAoB,GAC/BE,QAAkB;EAAA,IAAAC,qBAAA;EAAA,OAElB,CAAAA,qBAAA,GAAAD,QAAQ,CAACE,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC,cAAAF,qBAAA,eAApCA,qBAAA,CAAsCG,QAAQ,CAAC,kBAAkB,CAAC,GAC7DJ,QAAQ,CAACK,IAAI,CAAC,CAAC,GAChBL,QAAQ,CAACM,IAAI,CAAC,CAAC;AAAA;;AAErB;AACA;AAAAP,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAOA;AACA;AACA;AACA;AACA;AACO,MAAMS,gCAAgC,GAAIC,IAAY,IAC3DC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACD,IAAI,CAAC,EAAE,MACtBG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAACC,QAAQ,CAAC,EAAE,CAC5C,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;;AAEZ;AACA;AACA;AACA;AACA;AACA;AALAhB,OAAA,CAAAQ,gCAAA,GAAAA,gCAAA;AAMO,MAAMS,iCAAiC,GAAG,MAC/CC,UAAkB,IACE;EACpB,MAAMC,UAAU,GAAGD,UAAU,CAACE,OAAO,CAAC,GAAG,CAAC;EAC1C,IAAID,UAAU,KAAK,CAAC,CAAC,EAAE;IACrB,MAAM,IAAIE,qBAAa,CAAC,2BAA2B,CAAC;EACtD;EACA,OAAO,IAAAC,aAAM,EAACJ,UAAU,CAACK,KAAK,CAAC,CAAC,EAAEJ,UAAU,CAAC,CAAC;AAChD,CAAC;AAACnB,OAAA,CAAAiB,iCAAA,GAAAA,iCAAA;AAEK,MAAMO,aAAa,GAAGA,CAAIjB,IAAY,EAAEkB,WAAe,KAAe;EAC3E,IAAI;IACF,OAAOC,IAAI,CAACC,KAAK,CAACpB,IAAI,CAAC;EACzB,CAAC,CAAC,OAAOqB,CAAC,EAAE;IACV,OAAOH,WAAW,IAAI,IAAI;EAC5B;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANAzB,OAAA,CAAAwB,aAAA,GAAAA,aAAA;AAOO,SAASK,UAAUA,CAACC,MAAW,EAAEC,IAAc,EAAEC,KAAU,EAAO;EACvE,IAAID,IAAI,CAACE,MAAM,KAAK,CAAC,EAAE;IACrB,OAAO;MACL,GAAGH,MAAM;MACT,CAACC,IAAI,CAAC,CAAC,CAAC,GAAIC;IACd,CAAC;EACH;EACA,OAAO;IACL,GAAGF,MAAM;IACT,CAACC,IAAI,CAAC,CAAC,CAAC,GAAIF,UAAU,CACpBE,IAAI,CAAC,CAAC,CAAC,IAAKD,MAAM,GAAGA,MAAM,CAACC,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,EAC1CA,IAAI,CAACR,KAAK,CAAC,CAAC,CAAC,EACbS,KACF;EACF,CAAC;AACH"}
@@ -1,3 +1,4 @@
1
+ import { pathInsert } from "../../utils/misc";
1
2
  import { getCredentialIssuerMetadata } from "../../entity/openid-connect/issuer";
2
3
  import { getCredentialIssuerEntityConfiguration } from "@pagopa/io-react-native-wallet";
3
4
 
@@ -71,31 +72,16 @@ const credentialIssuerRationalizationOIDFED = issuerMetadata => {
71
72
  const adapted_credential_configurations_supported = Object.fromEntries(Object.entries(issuerMetadata.payload.metadata.openid_credential_issuer.credential_configurations_supported).map(_ref => {
72
73
  let [key, config] = _ref;
73
74
  const claimsRaw = config.claims;
74
- // we need to evaluate how claims is in oder to support Federation and OID4VCI
75
- // claim structure is different in both case
76
- let claims;
77
- if (claimsRaw && typeof Object.values(claimsRaw)[0] === "object" && "mandatory" in Object.values(claimsRaw)[0]) {
78
- // claims is Record<string, { mandatory: boolean; display: Display[] }>
79
- claims = Object.fromEntries(Object.entries(claimsRaw).map(_ref2 => {
80
- let [, v] = _ref2;
81
- return [[v.path[0]], {
82
- mandatory: true,
75
+ const claims = Object.entries(claimsRaw).map(_ref2 => {
76
+ let [, v] = _ref2;
77
+ return {
78
+ path: v.path,
79
+ details: {
80
+ mandatory: v.mandatory,
83
81
  display: v.display
84
- }];
85
- }));
86
- } else {
87
- // claims is Record<string, Record<string, { mandatory; display }>>
88
- claims = Object.fromEntries(Object.entries(claimsRaw).map(_ref3 => {
89
- let [k, inner] = _ref3;
90
- return [[k], Object.fromEntries(Object.entries(inner).map(_ref4 => {
91
- let [innerK, v] = _ref4;
92
- return [[innerK], {
93
- mandatory: v.mandatory,
94
- display: v.display
95
- }];
96
- }))];
97
- }));
98
- }
82
+ }
83
+ };
84
+ }).reduce((cumulated, entry) => pathInsert(cumulated, entry.path, entry.details), {});
99
85
  const newConfig = {
100
86
  ...config,
101
87
  claims,
@@ -1 +1 @@
1
- {"version":3,"names":["getCredentialIssuerMetadata","getCredentialIssuerEntityConfiguration","getIssuerConfig","issuerUrl","context","arguments","length","undefined","res","appFetch","credentialIssuerRationalization","getIssuerConfigOIDFED","credentialIssuerRationalizationOIDFED","issuerMetadata","issuerConf","credential_configurations_supported","pushed_authorization_request_endpoint","authorization_endpoint","token_endpoint","credential_endpoint","keys","jwks","issuer","adapted_credential_configurations_supported","Object","fromEntries","entries","payload","metadata","openid_credential_issuer","map","_ref","key","config","claimsRaw","claims","values","_ref2","v","path","mandatory","display","_ref3","k","inner","_ref4","innerK","newConfig","cryptographic_suites_supported","credential_signing_alg_values_supported","oauth_authorization_server","nonce_endpoint"],"sourceRoot":"../../../../src","sources":["credential/issuance/02-get-issuer-config.ts"],"mappings":"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"}
1
+ {"version":3,"names":["pathInsert","getCredentialIssuerMetadata","getCredentialIssuerEntityConfiguration","getIssuerConfig","issuerUrl","context","arguments","length","undefined","res","appFetch","credentialIssuerRationalization","getIssuerConfigOIDFED","credentialIssuerRationalizationOIDFED","issuerMetadata","issuerConf","credential_configurations_supported","pushed_authorization_request_endpoint","authorization_endpoint","token_endpoint","credential_endpoint","keys","jwks","issuer","adapted_credential_configurations_supported","Object","fromEntries","entries","payload","metadata","openid_credential_issuer","map","_ref","key","config","claimsRaw","claims","_ref2","v","path","details","mandatory","display","reduce","cumulated","entry","newConfig","cryptographic_suites_supported","credential_signing_alg_values_supported","oauth_authorization_server","nonce_endpoint"],"sourceRoot":"../../../../src","sources":["credential/issuance/02-get-issuer-config.ts"],"mappings":"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"}
@@ -58,4 +58,24 @@ export const safeJsonParse = (text, withDefault) => {
58
58
  return withDefault ?? null;
59
59
  }
60
60
  };
61
+
62
+ /**
63
+ * Helper function to insert a value at a specified object path
64
+ * @param object The object in which to insert the value
65
+ * @param path The path at which the value should be inserted
66
+ * @param value The value to insert at the specified path
67
+ * @returns A new object with the property at path set to value, on-path objects are recreated
68
+ */
69
+ export function pathInsert(object, path, value) {
70
+ if (path.length === 1) {
71
+ return {
72
+ ...object,
73
+ [path[0]]: value
74
+ };
75
+ }
76
+ return {
77
+ ...object,
78
+ [path[0]]: pathInsert(path[0] in object ? object[path[0]] : {}, path.slice(1), value)
79
+ };
80
+ }
61
81
  //# sourceMappingURL=misc.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["IoWalletError","UnexpectedStatusCodeError","sha256","hasStatusOrThrow","status","customError","res","ErrorClass","message","url","statusCode","reason","parseRawHttpResponse","response","_response$headers$get","headers","get","includes","json","text","generateRandomAlphaNumericString","size","Array","from","Math","floor","random","toString","join","getCredentialHashWithouDiscloures","credential","tildeIndex","indexOf","slice","safeJsonParse","withDefault","JSON","parse","_"],"sourceRoot":"../../../src","sources":["utils/misc.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,yBAAyB,QAAQ,UAAU;AACnE,SAASC,MAAM,QAAQ,WAAW;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAC3BA,CAACC,MAAc,EAAEC,WAA8C,KAC/D,MAAOC,GAAa,IAAwB;EAC1C,IAAIA,GAAG,CAACF,MAAM,KAAKA,MAAM,EAAE;IACzB,MAAMG,UAAU,GAAGF,WAAW,IAAIJ,yBAAyB;IAC3D,MAAM,IAAIM,UAAU,CAAC;MACnBC,OAAO,EAAG,iCAAgCJ,MAAO,SAAQE,GAAG,CAACF,MAAO,UAASE,GAAG,CAACG,GAAI,EAAC;MACtFC,UAAU,EAAEJ,GAAG,CAACF,MAAM;MACtBO,MAAM,EAAE,MAAMC,oBAAoB,CAACN,GAAG,CAAC,CAAE;IAC3C,CAAC,CAAC;EACJ;;EACA,OAAOA,GAAG;AACZ,CAAC;;AAEH;AACA;AACA;AACA,OAAO,MAAMM,oBAAoB,GAC/BC,QAAkB;EAAA,IAAAC,qBAAA;EAAA,OAElB,CAAAA,qBAAA,GAAAD,QAAQ,CAACE,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC,cAAAF,qBAAA,eAApCA,qBAAA,CAAsCG,QAAQ,CAAC,kBAAkB,CAAC,GAC7DJ,QAAQ,CAACK,IAAI,CAAC,CAAC,GAChBL,QAAQ,CAACM,IAAI,CAAC,CAAC;AAAA;;AAErB;AACA;AAOA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gCAAgC,GAAIC,IAAY,IAC3DC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACD,IAAI,CAAC,EAAE,MACtBG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAACC,QAAQ,CAAC,EAAE,CAC5C,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iCAAiC,GAAG,MAC/CC,UAAkB,IACE;EACpB,MAAMC,UAAU,GAAGD,UAAU,CAACE,OAAO,CAAC,GAAG,CAAC;EAC1C,IAAID,UAAU,KAAK,CAAC,CAAC,EAAE;IACrB,MAAM,IAAI/B,aAAa,CAAC,2BAA2B,CAAC;EACtD;EACA,OAAOE,MAAM,CAAC4B,UAAU,CAACG,KAAK,CAAC,CAAC,EAAEF,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,OAAO,MAAMG,aAAa,GAAGA,CAAIf,IAAY,EAAEgB,WAAe,KAAe;EAC3E,IAAI;IACF,OAAOC,IAAI,CAACC,KAAK,CAAClB,IAAI,CAAC;EACzB,CAAC,CAAC,OAAOmB,CAAC,EAAE;IACV,OAAOH,WAAW,IAAI,IAAI;EAC5B;AACF,CAAC"}
1
+ {"version":3,"names":["IoWalletError","UnexpectedStatusCodeError","sha256","hasStatusOrThrow","status","customError","res","ErrorClass","message","url","statusCode","reason","parseRawHttpResponse","response","_response$headers$get","headers","get","includes","json","text","generateRandomAlphaNumericString","size","Array","from","Math","floor","random","toString","join","getCredentialHashWithouDiscloures","credential","tildeIndex","indexOf","slice","safeJsonParse","withDefault","JSON","parse","_","pathInsert","object","path","value","length"],"sourceRoot":"../../../src","sources":["utils/misc.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,yBAAyB,QAAQ,UAAU;AACnE,SAASC,MAAM,QAAQ,WAAW;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAC3BA,CAACC,MAAc,EAAEC,WAA8C,KAC/D,MAAOC,GAAa,IAAwB;EAC1C,IAAIA,GAAG,CAACF,MAAM,KAAKA,MAAM,EAAE;IACzB,MAAMG,UAAU,GAAGF,WAAW,IAAIJ,yBAAyB;IAC3D,MAAM,IAAIM,UAAU,CAAC;MACnBC,OAAO,EAAG,iCAAgCJ,MAAO,SAAQE,GAAG,CAACF,MAAO,UAASE,GAAG,CAACG,GAAI,EAAC;MACtFC,UAAU,EAAEJ,GAAG,CAACF,MAAM;MACtBO,MAAM,EAAE,MAAMC,oBAAoB,CAACN,GAAG,CAAC,CAAE;IAC3C,CAAC,CAAC;EACJ;;EACA,OAAOA,GAAG;AACZ,CAAC;;AAEH;AACA;AACA;AACA,OAAO,MAAMM,oBAAoB,GAC/BC,QAAkB;EAAA,IAAAC,qBAAA;EAAA,OAElB,CAAAA,qBAAA,GAAAD,QAAQ,CAACE,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC,cAAAF,qBAAA,eAApCA,qBAAA,CAAsCG,QAAQ,CAAC,kBAAkB,CAAC,GAC7DJ,QAAQ,CAACK,IAAI,CAAC,CAAC,GAChBL,QAAQ,CAACM,IAAI,CAAC,CAAC;AAAA;;AAErB;AACA;AAOA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gCAAgC,GAAIC,IAAY,IAC3DC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACD,IAAI,CAAC,EAAE,MACtBG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAACC,QAAQ,CAAC,EAAE,CAC5C,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iCAAiC,GAAG,MAC/CC,UAAkB,IACE;EACpB,MAAMC,UAAU,GAAGD,UAAU,CAACE,OAAO,CAAC,GAAG,CAAC;EAC1C,IAAID,UAAU,KAAK,CAAC,CAAC,EAAE;IACrB,MAAM,IAAI/B,aAAa,CAAC,2BAA2B,CAAC;EACtD;EACA,OAAOE,MAAM,CAAC4B,UAAU,CAACG,KAAK,CAAC,CAAC,EAAEF,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,OAAO,MAAMG,aAAa,GAAGA,CAAIf,IAAY,EAAEgB,WAAe,KAAe;EAC3E,IAAI;IACF,OAAOC,IAAI,CAACC,KAAK,CAAClB,IAAI,CAAC;EACzB,CAAC,CAAC,OAAOmB,CAAC,EAAE;IACV,OAAOH,WAAW,IAAI,IAAI;EAC5B;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,UAAUA,CAACC,MAAW,EAAEC,IAAc,EAAEC,KAAU,EAAO;EACvE,IAAID,IAAI,CAACE,MAAM,KAAK,CAAC,EAAE;IACrB,OAAO;MACL,GAAGH,MAAM;MACT,CAACC,IAAI,CAAC,CAAC,CAAC,GAAIC;IACd,CAAC;EACH;EACA,OAAO;IACL,GAAGF,MAAM;IACT,CAACC,IAAI,CAAC,CAAC,CAAC,GAAIF,UAAU,CACpBE,IAAI,CAAC,CAAC,CAAC,IAAKD,MAAM,GAAGA,MAAM,CAACC,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,EAC1CA,IAAI,CAACR,KAAK,CAAC,CAAC,CAAC,EACbS,KACF;EACF,CAAC;AACH"}
@@ -1,5 +1,5 @@
1
1
  import type { StartFlow } from "./01-start-flow";
2
- import type { Out } from "../../utils/misc";
2
+ import { type Out } from "../../utils/misc";
3
3
  import type { JWK } from "src/utils/jwk";
4
4
  import type { CredentialConfigurationSupported } from "../../entity/openid-connect/issuer/types";
5
5
  export type GetIssuerConfig = (issuerUrl: Out<StartFlow>["issuerUrl"], context?: {
@@ -1 +1 @@
1
- {"version":3,"file":"02-get-issuer-config.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/02-get-issuer-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAGjG,MAAM,MAAM,eAAe,GAAG,CAC5B,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,EACtC,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC;IAAE,UAAU,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC;AAE3C;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,mCAAmC,EAAE,gCAAgC,CAAC;IACtE,qCAAqC,EAAE,MAAM,CAAC;IAC9C,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CAClB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,eAS7B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,eASnC,CAAC"}
1
+ {"version":3,"file":"02-get-issuer-config.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/02-get-issuer-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAGjG,MAAM,MAAM,eAAe,GAAG,CAC5B,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,EACtC,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC;IAAE,UAAU,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC;AAE3C;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,mCAAmC,EAAE,gCAAgC,CAAC;IACtE,qCAAqC,EAAE,MAAM,CAAC;IAC9C,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CAClB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,eAS7B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,eASnC,CAAC"}
@@ -26,4 +26,12 @@ export declare const generateRandomAlphaNumericString: (size: number) => string;
26
26
  */
27
27
  export declare const getCredentialHashWithouDiscloures: (credential: string) => Promise<string>;
28
28
  export declare const safeJsonParse: <T>(text: string, withDefault?: T | undefined) => T | null;
29
+ /**
30
+ * Helper function to insert a value at a specified object path
31
+ * @param object The object in which to insert the value
32
+ * @param path The path at which the value should be inserted
33
+ * @param value The value to insert at the specified path
34
+ * @returns A new object with the property at path set to value, on-path objects are recreated
35
+ */
36
+ export declare function pathInsert(object: any, path: string[], value: any): any;
29
37
  //# sourceMappingURL=misc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/utils/misc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAGpE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,WAClB,MAAM,gBAAgB,gCAAgC,WACnD,QAAQ,KAAG,QAAQ,QAAQ,CAUtC,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,oBAAoB,gDACrB,QAAQ,iCAIC,CAAC;AAItB,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,GAC7D,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GACvB,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAChC,UAAU,CAAC,EAAE,CAAC,GACd,KAAK,CAAC;AAEZ;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,SAAU,MAAM,WAGjD,CAAC;AAEb;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,eAChC,MAAM,KACjB,QAAQ,MAAM,CAMhB,CAAC;AAEF,eAAO,MAAM,aAAa,YAAa,MAAM,0CAM5C,CAAC"}
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/utils/misc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAGpE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,WAClB,MAAM,gBAAgB,gCAAgC,WACnD,QAAQ,KAAG,QAAQ,QAAQ,CAUtC,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,oBAAoB,gDACrB,QAAQ,iCAIC,CAAC;AAItB,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,GAC7D,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GACvB,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAChC,UAAU,CAAC,EAAE,CAAC,GACd,KAAK,CAAC;AAEZ;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,SAAU,MAAM,WAGjD,CAAC;AAEb;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,eAChC,MAAM,KACjB,QAAQ,MAAM,CAMhB,CAAC;AAEF,eAAO,MAAM,aAAa,YAAa,MAAM,0CAM5C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,CAevE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagopa/io-react-native-wallet",
3
- "version": "1.8.0",
3
+ "version": "1.8.1",
4
4
  "description": "Provide data structures, helpers and API for IO Wallet",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -1,5 +1,5 @@
1
1
  import type { StartFlow } from "./01-start-flow";
2
- import type { Out } from "../../utils/misc";
2
+ import { pathInsert, type Out } from "../../utils/misc";
3
3
  import type { JWK } from "src/utils/jwk";
4
4
  import { getCredentialIssuerMetadata } from "../../entity/openid-connect/issuer";
5
5
  import type { CredentialConfigurationSupported } from "../../entity/openid-connect/issuer/types";
@@ -110,42 +110,22 @@ const credentialIssuerRationalizationOIDFED = (
110
110
  .credential_configurations_supported
111
111
  ).map(([key, config]) => {
112
112
  const claimsRaw = config.claims;
113
- // we need to evaluate how claims is in oder to support Federation and OID4VCI
114
- // claim structure is different in both case
115
- let claims: CredentialConfigurationSupported[string]["claims"];
116
113
 
117
- if (
118
- claimsRaw &&
119
- typeof Object.values(claimsRaw)[0] === "object" &&
120
- "mandatory" in Object.values(claimsRaw)[0]!
121
- ) {
122
- // claims is Record<string, { mandatory: boolean; display: Display[] }>
123
- claims = Object.fromEntries(
124
- Object.entries(claimsRaw).map(([, v]) => [
125
- [v.path[0]],
126
- {
127
- mandatory: true,
114
+ const claims: CredentialConfigurationSupported[string]["claims"] =
115
+ Object.entries(claimsRaw)
116
+ .map(([, v]) => ({
117
+ path: v.path,
118
+ details: {
119
+ mandatory: v.mandatory,
128
120
  display: v.display,
129
121
  },
130
- ])
131
- );
132
- } else {
133
- // claims is Record<string, Record<string, { mandatory; display }>>
134
- claims = Object.fromEntries(
135
- Object.entries(claimsRaw).map(([k, inner]) => [
136
- [k],
137
- Object.fromEntries(
138
- Object.entries(inner).map(([innerK, v]: any) => [
139
- [innerK],
140
- {
141
- mandatory: v.mandatory,
142
- display: v.display,
143
- },
144
- ])
145
- ),
146
- ])
147
- );
148
- }
122
+ }))
123
+ .reduce(
124
+ (cumulated, entry) =>
125
+ pathInsert(cumulated, entry.path, entry.details),
126
+ {}
127
+ );
128
+
149
129
  const newConfig: CredentialConfigurationSupported[string] = {
150
130
  ...config,
151
131
  claims,
package/src/utils/misc.ts CHANGED
@@ -73,3 +73,27 @@ export const safeJsonParse = <T>(text: string, withDefault?: T): T | null => {
73
73
  return withDefault ?? null;
74
74
  }
75
75
  };
76
+
77
+ /**
78
+ * Helper function to insert a value at a specified object path
79
+ * @param object The object in which to insert the value
80
+ * @param path The path at which the value should be inserted
81
+ * @param value The value to insert at the specified path
82
+ * @returns A new object with the property at path set to value, on-path objects are recreated
83
+ */
84
+ export function pathInsert(object: any, path: string[], value: any): any {
85
+ if (path.length === 1) {
86
+ return {
87
+ ...object,
88
+ [path[0]!]: value,
89
+ };
90
+ }
91
+ return {
92
+ ...object,
93
+ [path[0]!]: pathInsert(
94
+ path[0]! in object ? object[path[0]!] : {},
95
+ path.slice(1),
96
+ value
97
+ ),
98
+ };
99
+ }