@pagopa/io-react-native-wallet 2.0.0 → 2.1.0

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.
Files changed (26) hide show
  1. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +42 -128
  2. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  3. package/lib/commonjs/sd-jwt/__test__/types.test.js +40 -0
  4. package/lib/commonjs/sd-jwt/__test__/types.test.js.map +1 -1
  5. package/lib/commonjs/sd-jwt/types.js +2 -1
  6. package/lib/commonjs/sd-jwt/types.js.map +1 -1
  7. package/lib/commonjs/utils/nestedProperty.js +142 -0
  8. package/lib/commonjs/utils/nestedProperty.js.map +1 -0
  9. package/lib/module/credential/issuance/07-verify-and-parse-credential.js +41 -127
  10. package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  11. package/lib/module/sd-jwt/__test__/types.test.js +41 -1
  12. package/lib/module/sd-jwt/__test__/types.test.js.map +1 -1
  13. package/lib/module/sd-jwt/types.js +2 -1
  14. package/lib/module/sd-jwt/types.js.map +1 -1
  15. package/lib/module/utils/nestedProperty.js +136 -0
  16. package/lib/module/utils/nestedProperty.js.map +1 -0
  17. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
  18. package/lib/typescript/sd-jwt/types.d.ts +5 -5
  19. package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
  20. package/lib/typescript/utils/nestedProperty.d.ts +23 -0
  21. package/lib/typescript/utils/nestedProperty.d.ts.map +1 -0
  22. package/package.json +2 -2
  23. package/src/credential/issuance/07-verify-and-parse-credential.ts +2 -113
  24. package/src/sd-jwt/__test__/types.test.ts +49 -1
  25. package/src/sd-jwt/types.ts +2 -1
  26. package/src/utils/nestedProperty.ts +198 -0
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.verifyAndParseCredential = void 0;
7
- var _misc = require("../../utils/misc");
8
7
  var _errors = require("../../utils/errors");
9
8
  var _sdJwt = require("../../sd-jwt");
10
9
  var _converters = require("../../sd-jwt/converters");
@@ -14,101 +13,16 @@ var _const = require("../../mdoc/const");
14
13
  var _utils = require("../../mdoc/utils");
15
14
  var _logging = require("../../utils/logging");
16
15
  var _converter = require("../../mdoc/converter");
16
+ var _nestedProperty = require("../../utils/nestedProperty");
17
17
  // The credential as a collection of attributes in plain value
18
18
 
19
19
  // handy alias
20
20
 
21
- // The data used to create localized names
22
-
23
- // The resulting object of localized names { en: "Name", it: "Nome" }
24
-
25
- // The core structure being built: a node containing the actual value and its localized names
26
-
27
- // A path can consist of object keys, array indices, or null for mapping
28
-
29
- // A union of all possible shapes. It can be a custom PropertyNode or a standard object/array structure
30
-
31
- // Helper to build localized names from the display data.
32
- const buildName = display => display.reduce((names, _ref) => {
33
- let {
34
- locale,
35
- name
36
- } = _ref;
37
- return {
38
- ...names,
39
- [locale]: name
40
- };
41
- }, {});
42
-
43
- /**
44
- * Recursively constructs a nested object with descriptive properties from a path.
45
- *
46
- * @param currentObject - The object or array being built upon.
47
- * @param path - The path segments to follow.
48
- * @param sourceValue - The raw value to place at the end of the path.
49
- * @param displayData - The data for generating localized names.
50
- * @returns The new object or array structure.
51
- */
52
- const createNestedProperty = (currentObject, path, sourceValue, displayData) => {
53
- const [key, ...rest] = path;
54
-
55
- // Case 1: Map over an array (key is null)
56
- if (key === null) {
57
- if (!Array.isArray(sourceValue)) return currentObject;
58
-
59
- // We assert the type here because we know this branch handles PropertyNodes
60
- const node = currentObject;
61
- const existingValue = Array.isArray(node.value) ? node.value : [];
62
- const mappedArray = sourceValue.map((item, idx) => createNestedProperty(existingValue[idx] || {}, rest, item, displayData));
63
- return {
64
- ...node,
65
- value: mappedArray,
66
- name: node.name ?? buildName(displayData)
67
- };
68
- }
69
-
70
- // Case 2: Handle an object key (key is a string)
71
- if (typeof key === "string") {
72
- let nextSourceValue = sourceValue;
73
- if ((0, _misc.isObject)(sourceValue)) {
74
- // Skip processing when the key is not found within the claim object
75
- if (!(key in sourceValue)) return currentObject;
76
- nextSourceValue = sourceValue[key];
77
- }
78
-
79
- // base case
80
- if (rest.length === 0) {
81
- return {
82
- ...currentObject,
83
- [key]: {
84
- value: nextSourceValue,
85
- name: buildName(displayData)
86
- }
87
- };
88
- }
89
-
90
- // recursive step
91
- const nextObject = currentObject[key] || {};
92
- return {
93
- ...currentObject,
94
- [key]: createNestedProperty(nextObject, rest, nextSourceValue, displayData)
95
- };
96
- }
97
-
98
- // Case 3: Handle a specific array index (key is a number)
99
- if (typeof key === "number") {
100
- const newArray = Array.isArray(currentObject) ? [...currentObject] : [];
101
- const nextValue = Array.isArray(sourceValue) ? sourceValue[key] : undefined;
102
- newArray[key] = createNestedProperty(newArray[key] || {}, rest, nextValue, displayData);
103
- return newArray;
104
- }
105
- return currentObject;
106
- };
107
- const parseCredentialSdJwt = function (credentialConfig, _ref2) {
21
+ const parseCredentialSdJwt = function (credentialConfig, _ref) {
108
22
  let {
109
23
  sdJwt,
110
24
  disclosures
111
- } = _ref2;
25
+ } = _ref;
112
26
  let ignoreMissingAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
113
27
  let includeUndefinedAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
114
28
  if (credentialConfig.format !== sdJwt.header.typ) {
@@ -124,8 +38,8 @@ const parseCredentialSdJwt = function (credentialConfig, _ref2) {
124
38
  const attrDefinitions = credentialConfig.claims;
125
39
 
126
40
  // Validate that all attributes from the config exist in the disclosures
127
- const attrsNotInDisclosures = attrDefinitions.filter(definition => !disclosures.some(_ref3 => {
128
- let [, name] = _ref3;
41
+ const attrsNotInDisclosures = attrDefinitions.filter(definition => !disclosures.some(_ref2 => {
42
+ let [, name] = _ref2;
129
43
  return name === definition.path[0];
130
44
  }));
131
45
  if (attrsNotInDisclosures.length > 0 && !ignoreMissingAttributes) {
@@ -142,20 +56,20 @@ const parseCredentialSdJwt = function (credentialConfig, _ref2) {
142
56
  } of attrDefinitions) {
143
57
  var _disclosures$find;
144
58
  const attrKey = path[0];
145
- const disclosureValue = (_disclosures$find = disclosures.find(_ref4 => {
146
- let [, name] = _ref4;
59
+ const disclosureValue = (_disclosures$find = disclosures.find(_ref3 => {
60
+ let [, name] = _ref3;
147
61
  return name === attrKey;
148
62
  })) === null || _disclosures$find === void 0 ? void 0 : _disclosures$find[2];
149
63
  if (disclosureValue !== undefined) {
150
- const enriched = createNestedProperty(definedValues, path, disclosureValue, display);
64
+ const enriched = (0, _nestedProperty.createNestedProperty)(definedValues, path, disclosureValue, display);
151
65
  Object.assign(definedValues, enriched);
152
66
  }
153
67
  }
154
68
  if (includeUndefinedAttributes) {
155
69
  // attributes that are in the disclosure set
156
70
  // but are not defined in the issuer configuration
157
- const undefinedValues = Object.fromEntries(disclosures.filter(_ => !Object.keys(definedValues).includes(_[1])).map(_ref5 => {
158
- let [, key, value] = _ref5;
71
+ const undefinedValues = Object.fromEntries(disclosures.filter(_ => !Object.keys(definedValues).includes(_[1])).map(_ref4 => {
72
+ let [, key, value] = _ref4;
159
73
  return [key, {
160
74
  value,
161
75
  name: key
@@ -168,10 +82,10 @@ const parseCredentialSdJwt = function (credentialConfig, _ref2) {
168
82
  }
169
83
  return definedValues;
170
84
  };
171
- const parseCredentialMDoc = function (credentialConfig, _ref6) {
85
+ const parseCredentialMDoc = function (credentialConfig, _ref5) {
172
86
  let {
173
87
  issuerSigned
174
- } = _ref6;
88
+ } = _ref5;
175
89
  let ignoreMissingAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
176
90
  let includeUndefinedAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
177
91
  if (!credentialConfig) {
@@ -180,37 +94,37 @@ const parseCredentialMDoc = function (credentialConfig, _ref6) {
180
94
  if (!credentialConfig.claims) {
181
95
  throw new _errors.IoWalletError("Missing claims in the credential subject");
182
96
  }
183
- const attrDefinitions = credentialConfig.claims.map(_ref7 => {
97
+ const attrDefinitions = credentialConfig.claims.map(_ref6 => {
184
98
  let {
185
99
  path: [namespace, attribute],
186
100
  display
187
- } = _ref7;
101
+ } = _ref6;
188
102
  return [namespace, attribute, display];
189
103
  });
190
104
  if (!issuerSigned.nameSpaces) {
191
105
  throw new _errors.IoWalletError("Missing claims in the credential");
192
106
  }
193
- const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(_ref8 => {
194
- let [namespace, values] = _ref8;
107
+ const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(_ref7 => {
108
+ let [namespace, values] = _ref7;
195
109
  return values.map(v => [namespace, v.elementIdentifier, v.elementValue]);
196
110
  });
197
111
 
198
112
  // Check that all mandatory attributes defined in the issuer configuration are present in the disclosure set
199
113
  // and filter the non present ones
200
- const attrsNotInDisclosures = attrDefinitions.filter(_ref9 => {
201
- let [attrDefNamespace, attrKey] = _ref9;
202
- return !flatNamespaces.some(_ref10 => {
203
- let [namespace, claim] = _ref10;
114
+ const attrsNotInDisclosures = attrDefinitions.filter(_ref8 => {
115
+ let [attrDefNamespace, attrKey] = _ref8;
116
+ return !flatNamespaces.some(_ref9 => {
117
+ let [namespace, claim] = _ref9;
204
118
  return attrDefNamespace === namespace && attrKey === claim;
205
119
  });
206
120
  });
207
121
  if (attrsNotInDisclosures.length > 0) {
208
- const missing = attrsNotInDisclosures.map(_ref11 => {
209
- let [, attrKey] = _ref11;
122
+ const missing = attrsNotInDisclosures.map(_ref10 => {
123
+ let [, attrKey] = _ref10;
210
124
  return attrKey;
211
125
  }).join(", ");
212
- const received = flatNamespaces.map(_ref12 => {
213
- let [, attrKey] = _ref12;
126
+ const received = flatNamespaces.map(_ref11 => {
127
+ let [, attrKey] = _ref11;
214
128
  return attrKey;
215
129
  }).join(", ");
216
130
  if (!ignoreMissingAttributes) {
@@ -221,38 +135,38 @@ const parseCredentialMDoc = function (credentialConfig, _ref6) {
221
135
  // Attributes defined in the issuer configuration and present in the disclosure set
222
136
  const definedValues = attrDefinitions
223
137
  // Retrieve the value from the corresponding disclosure
224
- .map(_ref13 => {
138
+ .map(_ref12 => {
225
139
  var _flatNamespaces$find;
226
- let [attrDefNamespace, attrKey, display] = _ref13;
140
+ let [attrDefNamespace, attrKey, display] = _ref12;
227
141
  return [attrDefNamespace, attrKey, {
228
142
  display,
229
- value: (_flatNamespaces$find = flatNamespaces.find(_ref14 => {
230
- let [namespace, name] = _ref14;
143
+ value: (_flatNamespaces$find = flatNamespaces.find(_ref13 => {
144
+ let [namespace, name] = _ref13;
231
145
  return attrDefNamespace === namespace && name === attrKey;
232
146
  })) === null || _flatNamespaces$find === void 0 ? void 0 : _flatNamespaces$find[2]
233
147
  }];
234
148
  })
235
149
  //filter the not found elements
236
- .filter(_ref15 => {
237
- let [_, __, definition] = _ref15;
150
+ .filter(_ref14 => {
151
+ let [_, __, definition] = _ref14;
238
152
  return definition.value !== undefined;
239
153
  })
240
154
  // Add a human-readable attribute name, with i18n, in the form { locale: name }
241
155
  // Example: { "it-IT": "Nome", "en-EN": "Name", "es-ES": "Nombre" }
242
- .reduce((acc, _ref16) => {
156
+ .reduce((acc, _ref15) => {
243
157
  let [attrDefNamespace, attrKey, {
244
158
  display,
245
159
  value
246
- }] = _ref16;
160
+ }] = _ref15;
247
161
  return {
248
162
  ...acc,
249
163
  [(0, _utils.getParsedCredentialClaimKey)(attrDefNamespace, attrKey)]: {
250
164
  value,
251
- name: display.reduce((names, _ref17) => {
165
+ name: display.reduce((names, _ref16) => {
252
166
  let {
253
167
  locale,
254
168
  name
255
- } = _ref17;
169
+ } = _ref16;
256
170
  return {
257
171
  ...names,
258
172
  [locale]: name
@@ -262,11 +176,11 @@ const parseCredentialMDoc = function (credentialConfig, _ref6) {
262
176
  };
263
177
  }, {});
264
178
  if (includeUndefinedAttributes) {
265
- const undefinedValues = Object.fromEntries(Object.values(flatNamespaces).filter(_ref18 => {
266
- let [namespace, key] = _ref18;
179
+ const undefinedValues = Object.fromEntries(Object.values(flatNamespaces).filter(_ref17 => {
180
+ let [namespace, key] = _ref17;
267
181
  return !definedValues[(0, _utils.getParsedCredentialClaimKey)(namespace, key)];
268
- }).map(_ref19 => {
269
- let [namespace, key, value] = _ref19;
182
+ }).map(_ref18 => {
183
+ let [namespace, key, value] = _ref18;
270
184
  return [(0, _utils.getParsedCredentialClaimKey)(namespace, key), {
271
185
  value,
272
186
  name: key
@@ -336,12 +250,12 @@ async function verifyCredentialMDoc(rawCredential, x509CertRoot, holderBindingCo
336
250
  }
337
251
  return decodedCredential;
338
252
  }
339
- const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialConfigurationId, _ref20) => {
253
+ const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialConfigurationId, _ref19) => {
340
254
  let {
341
255
  credentialCryptoContext,
342
256
  ignoreMissingAttributes,
343
257
  includeUndefinedAttributes
344
- } = _ref20;
258
+ } = _ref19;
345
259
  const decoded = await verifyCredentialSdJwt(credential, issuerConf.openid_credential_issuer.jwks.keys, credentialCryptoContext);
346
260
  _logging.Logger.log(_logging.LogLevel.DEBUG, `Decoded credential: ${JSON.stringify(decoded)}`);
347
261
  const credentialConfig = issuerConf.openid_credential_issuer.credential_configurations_supported[credentialConfigurationId];
@@ -358,12 +272,12 @@ const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialC
358
272
  issuedAt: typeof maybeIssuedAt === "number" ? new Date(maybeIssuedAt * 1000) : undefined
359
273
  };
360
274
  };
361
- const verifyAndParseCredentialMDoc = async (issuerConf, credential, credentialConfigurationId, _ref21, x509CertRoot) => {
275
+ const verifyAndParseCredentialMDoc = async (issuerConf, credential, credentialConfigurationId, _ref20, x509CertRoot) => {
362
276
  var _parsedCredential$get, _parsedCredential$get2;
363
277
  let {
364
278
  credentialCryptoContext,
365
279
  ignoreMissingAttributes
366
- } = _ref21;
280
+ } = _ref20;
367
281
  if (!x509CertRoot) {
368
282
  throw new _errors.IoWalletError("Missing x509CertRoot");
369
283
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_misc","require","_errors","_sdJwt","_converters","_jwk","_mdoc","_const","_utils","_logging","_converter","buildName","display","reduce","names","_ref","locale","name","createNestedProperty","currentObject","path","sourceValue","displayData","key","rest","Array","isArray","node","existingValue","value","mappedArray","map","item","idx","nextSourceValue","isObject","length","nextObject","newArray","nextValue","undefined","parseCredentialSdJwt","credentialConfig","_ref2","sdJwt","disclosures","ignoreMissingAttributes","arguments","includeUndefinedAttributes","format","header","typ","message","Logger","log","LogLevel","ERROR","IoWalletError","claims","attrDefinitions","attrsNotInDisclosures","filter","definition","some","_ref3","missing","_","join","received","definedValues","_disclosures$find","attrKey","disclosureValue","find","_ref4","enriched","Object","assign","undefinedValues","fromEntries","keys","includes","_ref5","parseCredentialMDoc","_ref6","issuerSigned","_ref7","namespace","attribute","nameSpaces","flatNamespaces","entries","flatMap","_ref8","values","v","elementIdentifier","elementValue","_ref9","attrDefNamespace","_ref10","claim","_ref11","_ref12","_ref13","_flatNamespaces$find","_ref14","_ref15","__","acc","_ref16","getParsedCredentialClaimKey","_ref17","_ref18","_ref19","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","verifySdJwt","SdJwt4VC","getPublicKey","cnf","payload","isSameThumbprint","jwk","kid","verifyCredentialMDoc","x509CertRoot","verifyMdoc","issuerAuth","deviceKeyInfo","deviceKey","verifyAndParseCredentialSdJwt","issuerConf","credential","credentialConfigurationId","_ref20","credentialCryptoContext","decoded","openid_credential_issuer","jwks","DEBUG","JSON","stringify","credential_configurations_supported","parsedCredential","maybeIssuedAt","getValueFromDisclosures","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","_ref21","_parsedCredential$get","_parsedCredential$get2","expirationDate","extractElementValueAsDate","MDOC_DEFAULT_NAMESPACE","setDate","getDate","verifyAndParseCredential","context","_issuerConf$openid_cr","exports"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_errors","require","_sdJwt","_converters","_jwk","_mdoc","_const","_utils","_logging","_converter","_nestedProperty","parseCredentialSdJwt","credentialConfig","_ref","sdJwt","disclosures","ignoreMissingAttributes","arguments","length","undefined","includeUndefinedAttributes","format","header","typ","message","Logger","log","LogLevel","ERROR","IoWalletError","claims","attrDefinitions","attrsNotInDisclosures","filter","definition","some","_ref2","name","path","missing","map","_","join","received","definedValues","display","_disclosures$find","attrKey","disclosureValue","find","_ref3","enriched","createNestedProperty","Object","assign","undefinedValues","fromEntries","keys","includes","_ref4","key","value","parseCredentialMDoc","_ref5","issuerSigned","_ref6","namespace","attribute","nameSpaces","flatNamespaces","entries","flatMap","_ref7","values","v","elementIdentifier","elementValue","_ref8","attrDefNamespace","_ref9","claim","_ref10","_ref11","_ref12","_flatNamespaces$find","_ref13","_ref14","__","reduce","acc","_ref15","getParsedCredentialClaimKey","names","_ref16","locale","_ref17","_ref18","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","verifySdJwt","SdJwt4VC","getPublicKey","cnf","payload","isSameThumbprint","jwk","kid","verifyCredentialMDoc","x509CertRoot","verifyMdoc","issuerAuth","deviceKeyInfo","deviceKey","verifyAndParseCredentialSdJwt","issuerConf","credential","credentialConfigurationId","_ref19","credentialCryptoContext","decoded","openid_credential_issuer","jwks","DEBUG","JSON","stringify","credential_configurations_supported","parsedCredential","maybeIssuedAt","getValueFromDisclosures","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","_ref20","_parsedCredential$get","_parsedCredential$get2","expirationDate","extractElementValueAsDate","MDOC_DEFAULT_NAMESPACE","setDate","getDate","verifyAndParseCredential","context","_issuerConf$openid_cr","exports"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
@@ -62,4 +62,44 @@ describe("Disclosure", () => {
62
62
  expect(success).toBe(true);
63
63
  });
64
64
  });
65
+ describe("Verification.time", () => {
66
+ test.each([["ISO string", "2025-09-09T10:00:00Z"], ["unix seconds", 1752122400], ["unix milliseconds", 1752122400000]])("accepts %s", (_label, time) => {
67
+ const value = {
68
+ trust_framework: "eidas",
69
+ assurance_level: "high",
70
+ evidence: [{
71
+ type: "vouch",
72
+ time,
73
+ attestation: {
74
+ type: "digital_attestation",
75
+ reference_number: "abc",
76
+ date_of_issuance: "2025-09-02",
77
+ voucher: {
78
+ organization: "IPZS"
79
+ }
80
+ }
81
+ }]
82
+ };
83
+ expect(_types.Verification.safeParse(value).success).toBe(true);
84
+ });
85
+ it("rejects invalid type", () => {
86
+ const value = {
87
+ trust_framework: "eidas",
88
+ assurance_level: "high",
89
+ evidence: [{
90
+ type: "vouch",
91
+ time: null,
92
+ attestation: {
93
+ type: "digital_attestation",
94
+ reference_number: "abc",
95
+ date_of_issuance: "2025-09-02",
96
+ voucher: {
97
+ organization: "IPZS"
98
+ }
99
+ }
100
+ }]
101
+ };
102
+ expect(_types.Verification.safeParse(value).success).toBe(false);
103
+ });
104
+ });
65
105
  //# sourceMappingURL=types.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","describe","it","token","header","typ","alg","kid","payload","_sd","sub","_sd_alg","vct","iss","issuing_country","issuing_authority","cnf","jwk","kty","crv","x","y","exp","status","status_assertion","credential_hash_alg","success","SdJwt4VC","safeParse","expect","toBe","value","type","record","source","organization_name","organization_id","country_code","Disclosure"],"sourceRoot":"../../../../src","sources":["sd-jwt/__test__/types.test.ts"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,UAAU,EAAE,MAAM;EACzBC,EAAE,CAAC,6BAA6B,EAAE,MAAM;IACtC;IACA,MAAMC,KAAK,GAAG;MACZC,MAAM,EAAE;QACNC,GAAG,EAAE,WAAW;QAChBC,GAAG,EAAE,OAAO;QACZC,GAAG,EAAE;MACP,CAAC;MACDC,OAAO,EAAE;QACPC,GAAG,EAAE,CACH,6CAA6C,EAC7C,6CAA6C,EAC7C,6CAA6C,EAC7C,6CAA6C,EAC7C,6CAA6C,EAC7C,6CAA6C,CAC9C;QACDC,GAAG,EAAE,sCAAsC;QAC3CC,OAAO,EAAE,SAAS;QAClBC,GAAG,EAAE,0BAA0B;QAC/B,eAAe,EACb,kEAAkE;QACpEC,GAAG,EAAE,iCAAiC;QACtCC,eAAe,EAAE,IAAI;QACrBC,iBAAiB,EAAE,0CAA0C;QAC7DC,GAAG,EAAE;UACHC,GAAG,EAAE;YACHC,GAAG,EAAE,IAAI;YACTC,GAAG,EAAE,OAAO;YACZZ,GAAG,EAAE,6CAA6C;YAClDa,CAAC,EAAE,6CAA6C;YAChDC,CAAC,EAAE;UACL;QACF,CAAC;QACDC,GAAG,EAAE,UAAU;QACfC,MAAM,EAAE;UACNC,gBAAgB,EAAE;YAChBC,mBAAmB,EAAE;UACvB;QACF;MACF;IACF,CAAC;IAED,MAAM;MAAEC;IAAQ,CAAC,GAAGC,eAAQ,CAACC,SAAS,CAACzB,KAAK,CAAC;IAE7C0B,MAAM,CAACH,OAAO,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC;EAC5B,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF7B,QAAQ,CAAC,YAAY,EAAE,MAAM;EAC3BC,EAAE,CAAC,kCAAkC,EAAE,MAAM;IAC3C;IACA,MAAM6B,KAAK,GAAG,CACZ,wBAAwB,EACxB,UAAU,EACV,CACE;MACEC,IAAI,EAAE,mBAAmB;MACzBC,MAAM,EAAE;QACND,IAAI,EAAE,cAAc;QACpBE,MAAM,EAAE;UACNC,iBAAiB,EAAE,wBAAwB;UAC3CC,eAAe,EAAE,MAAM;UACvBC,YAAY,EAAE;QAChB;MACF;IACF,CAAC,CACF,CACF;IAED,MAAM;MAAEX;IAAQ,CAAC,GAAGY,iBAAU,CAACV,SAAS,CAACG,KAAK,CAAC;IAC/CF,MAAM,CAACH,OAAO,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC;EAC5B,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"names":["_types","require","describe","it","token","header","typ","alg","kid","payload","_sd","sub","_sd_alg","vct","iss","issuing_country","issuing_authority","cnf","jwk","kty","crv","x","y","exp","status","status_assertion","credential_hash_alg","success","SdJwt4VC","safeParse","expect","toBe","value","type","record","source","organization_name","organization_id","country_code","Disclosure","test","each","_label","time","trust_framework","assurance_level","evidence","attestation","reference_number","date_of_issuance","voucher","organization","Verification"],"sourceRoot":"../../../../src","sources":["sd-jwt/__test__/types.test.ts"],"mappings":"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"}
@@ -90,7 +90,8 @@ const Verification = _zod.z.object({
90
90
  assurance_level: _zod.z.string(),
91
91
  evidence: _zod.z.array(_zod.z.object({
92
92
  type: _zod.z.literal("vouch"),
93
- time: _zod.z.string(),
93
+ // Support both string and UNIX timestamp for backward compatibility
94
+ time: _zod.z.union([_zod.z.string(), _zod.z.number()]),
94
95
  attestation: _zod.z.object({
95
96
  type: _zod.z.literal("digital_attestation"),
96
97
  reference_number: _zod.z.string(),
@@ -1 +1 @@
1
- {"version":3,"names":["_jwk","require","_zod","UnixTime","z","number","min","max","exports","ObfuscatedDisclosures","object","_sd","array","string","Disclosure","tuple","unknown","LEGACY_SD_JWT","StatusAssertion","credential_hash_alg","literal","SdJwt4VC","header","typ","enum","alg","kid","trust_chain","optional","x5c","vctm","payload","intersection","iss","sub","iat","exp","_sd_alg","status","union","status_assertion","status_attestation","cnf","jwk","JWK","vct","issuing_authority","issuing_country","Verification","trust_framework","assurance_level","evidence","type","time","attestation","reference_number","date_of_issuance","voucher","organization","TypeMetadata","name","description","data_source","authentic_source","organization_name","organization_code","contacts","homepage_uri","url","logo_uri"],"sourceRoot":"../../../src","sources":["sd-jwt/types.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_jwk","require","_zod","UnixTime","z","number","min","max","exports","ObfuscatedDisclosures","object","_sd","array","string","Disclosure","tuple","unknown","LEGACY_SD_JWT","StatusAssertion","credential_hash_alg","literal","SdJwt4VC","header","typ","enum","alg","kid","trust_chain","optional","x5c","vctm","payload","intersection","iss","sub","iat","exp","_sd_alg","status","union","status_assertion","status_attestation","cnf","jwk","JWK","vct","issuing_authority","issuing_country","Verification","trust_framework","assurance_level","evidence","type","time","attestation","reference_number","date_of_issuance","voucher","organization","TypeMetadata","name","description","data_source","authentic_source","organization_name","organization_code","contacts","homepage_uri","url","logo_uri"],"sourceRoot":"../../../src","sources":["sd-jwt/types.ts"],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createNestedProperty = void 0;
7
+ var _misc = require("./misc");
8
+ // The data used to create localized names
9
+
10
+ // The resulting object of localized names { en: "Name", it: "Nome" }
11
+
12
+ // The core structure being built: a node containing the actual value and its localized names
13
+
14
+ // A path can consist of object keys, array indices, or null for mapping
15
+
16
+ // A union of all possible shapes. It can be a custom PropertyNode or a standard object/array structure
17
+
18
+ // Helper to build localized names from the display data.
19
+ const buildName = display => display.reduce((names, _ref) => {
20
+ let {
21
+ locale,
22
+ name
23
+ } = _ref;
24
+ return {
25
+ ...names,
26
+ [locale]: name
27
+ };
28
+ }, {});
29
+
30
+ // Handles the case where the path key is `null`
31
+ const handleNullKeyCase = (currentObject, rest, sourceValue, displayData) => {
32
+ if (!Array.isArray(sourceValue)) return currentObject;
33
+
34
+ // We assert the type here because we know this branch handles PropertyNodes
35
+ const node = currentObject;
36
+ const existingValue = Array.isArray(node.value) ? node.value : [];
37
+ const mappedArray = sourceValue.map((item, idx) => createNestedProperty(existingValue[idx] || {}, rest, item, displayData));
38
+ return {
39
+ ...node,
40
+ value: mappedArray,
41
+ name: node.name ?? buildName(displayData)
42
+ };
43
+ };
44
+
45
+ // Handles the case where the path key is a string
46
+ const handleStringKeyCase = (currentObject, key, rest, sourceValue, displayData) => {
47
+ let nextSourceValue = sourceValue;
48
+ const isLeaf = rest.length === 0;
49
+ if ((0, _misc.isObject)(sourceValue)) {
50
+ // Check if any remaining string keys in the path exist in current sourceValue
51
+ // This handles nested object paths (unlike arrays which use null in the path)
52
+ const hasRestKey = rest.some(r => typeof r === "string" && r in sourceValue);
53
+ if (hasRestKey) {
54
+ return handleRestKey(currentObject, key, rest, sourceValue, displayData);
55
+ }
56
+
57
+ // Skip processing when the key is not found within the claim object
58
+ if (!(key in sourceValue)) {
59
+ // Leaf node: create a node with an empty value and display name
60
+ if (isLeaf) {
61
+ return {
62
+ ...currentObject,
63
+ [key]: {
64
+ value: {},
65
+ name: buildName(displayData)
66
+ }
67
+ };
68
+ }
69
+ // Skip processing when the key is not found within the claim object
70
+ return currentObject;
71
+ }
72
+ nextSourceValue = sourceValue[key];
73
+ }
74
+
75
+ // base case
76
+ if (isLeaf) {
77
+ return {
78
+ ...currentObject,
79
+ [key]: {
80
+ value: nextSourceValue,
81
+ name: buildName(displayData)
82
+ }
83
+ };
84
+ }
85
+
86
+ // recursive step
87
+ const nextObject = currentObject[key] || {};
88
+ return {
89
+ ...currentObject,
90
+ [key]: createNestedProperty(nextObject, rest, nextSourceValue, displayData)
91
+ };
92
+ };
93
+
94
+ // Handles the case where the path key is a number
95
+ const handleNumberKeyCase = (currentObject, key, rest, sourceValue, displayData) => {
96
+ const newArray = Array.isArray(currentObject) ? [...currentObject] : [];
97
+ const nextValue = Array.isArray(sourceValue) ? sourceValue[key] : undefined;
98
+ newArray[key] = createNestedProperty(newArray[key] || {}, rest, nextValue, displayData);
99
+ return newArray;
100
+ };
101
+
102
+ /**
103
+ * Recursively constructs a nested object with descriptive properties from a path.
104
+ *
105
+ * @param currentObject - The object or array being built upon.
106
+ * @param path - The path segments to follow.
107
+ * @param sourceValue - The raw value to place at the end of the path.
108
+ * @param displayData - The data for generating localized names.
109
+ * @returns The new object or array structure.
110
+ */
111
+ const createNestedProperty = (currentObject, path, sourceValue, displayData) => {
112
+ const [key, ...rest] = path;
113
+ switch (true) {
114
+ case key === null:
115
+ return handleNullKeyCase(currentObject, rest, sourceValue, displayData);
116
+ case typeof key === "string":
117
+ return handleStringKeyCase(currentObject, key, rest, sourceValue, displayData);
118
+ case typeof key === "number":
119
+ return handleNumberKeyCase(currentObject, key, rest, sourceValue, displayData);
120
+ default:
121
+ return currentObject;
122
+ }
123
+ };
124
+
125
+ // Handles the case where the next key in the path exists in the source object
126
+ exports.createNestedProperty = createNestedProperty;
127
+ const handleRestKey = (currentObject, key, rest, sourceValue, displayData) => {
128
+ const currentNode = currentObject[key] ?? {};
129
+ // Take the first key in the remaining path
130
+ const restKey = rest[0];
131
+ const nextSourceValue = sourceValue[restKey];
132
+
133
+ // Merge the current node with the updated nested property for the remaining path.
134
+ return {
135
+ ...currentObject,
136
+ [key]: {
137
+ ...currentNode,
138
+ value: createNestedProperty(currentNode.value ?? {}, rest, nextSourceValue, displayData)
139
+ }
140
+ };
141
+ };
142
+ //# sourceMappingURL=nestedProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_misc","require","buildName","display","reduce","names","_ref","locale","name","handleNullKeyCase","currentObject","rest","sourceValue","displayData","Array","isArray","node","existingValue","value","mappedArray","map","item","idx","createNestedProperty","handleStringKeyCase","key","nextSourceValue","isLeaf","length","isObject","hasRestKey","some","r","handleRestKey","nextObject","handleNumberKeyCase","newArray","nextValue","undefined","path","exports","currentNode","restKey"],"sourceRoot":"../../../src","sources":["utils/nestedProperty.ts"],"mappings":"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"}