gdc-common-utils-ts 1.14.9 → 1.14.13

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 (258) hide show
  1. package/README.md +55 -2
  2. package/dist/claims/claim-list-helpers.d.ts +21 -0
  3. package/dist/claims/claim-list-helpers.js +50 -0
  4. package/dist/claims/claims-helpers-allergy-intolerance.d.ts +10 -0
  5. package/dist/claims/claims-helpers-allergy-intolerance.js +47 -0
  6. package/dist/claims/claims-helpers-appointment-response.d.ts +8 -0
  7. package/dist/claims/claims-helpers-appointment-response.js +20 -0
  8. package/dist/claims/claims-helpers-appointment.d.ts +10 -0
  9. package/dist/claims/claims-helpers-appointment.js +26 -0
  10. package/dist/claims/claims-helpers-care-plan.d.ts +8 -0
  11. package/dist/claims/claims-helpers-care-plan.js +20 -0
  12. package/dist/claims/claims-helpers-clinical-impression.d.ts +10 -0
  13. package/dist/claims/claims-helpers-clinical-impression.js +26 -0
  14. package/dist/claims/claims-helpers-communication.d.ts +17 -0
  15. package/dist/claims/claims-helpers-communication.js +57 -0
  16. package/dist/claims/claims-helpers-composition.d.ts +12 -0
  17. package/dist/claims/claims-helpers-composition.js +32 -0
  18. package/dist/claims/claims-helpers-condition.d.ts +10 -0
  19. package/dist/claims/claims-helpers-condition.js +47 -0
  20. package/dist/claims/claims-helpers-consent.d.ts +112 -0
  21. package/dist/claims/claims-helpers-consent.js +271 -0
  22. package/dist/claims/claims-helpers-coverage.d.ts +10 -0
  23. package/dist/claims/claims-helpers-coverage.js +26 -0
  24. package/dist/claims/claims-helpers-device-use-statement.d.ts +8 -0
  25. package/dist/claims/claims-helpers-device-use-statement.js +20 -0
  26. package/dist/claims/claims-helpers-device.d.ts +8 -0
  27. package/dist/claims/claims-helpers-device.js +20 -0
  28. package/dist/claims/claims-helpers-diagnostic-report.d.ts +12 -0
  29. package/dist/claims/claims-helpers-diagnostic-report.js +32 -0
  30. package/dist/claims/claims-helpers-document-reference.d.ts +8 -0
  31. package/dist/claims/claims-helpers-document-reference.js +20 -0
  32. package/dist/claims/claims-helpers-encounter.d.ts +10 -0
  33. package/dist/claims/claims-helpers-encounter.js +26 -0
  34. package/dist/claims/claims-helpers-flag.d.ts +8 -0
  35. package/dist/claims/claims-helpers-flag.js +20 -0
  36. package/dist/claims/claims-helpers-immunization.d.ts +8 -0
  37. package/dist/claims/claims-helpers-immunization.js +20 -0
  38. package/dist/claims/claims-helpers-location.d.ts +10 -0
  39. package/dist/claims/claims-helpers-location.js +26 -0
  40. package/dist/claims/claims-helpers-medication-statement.d.ts +88 -0
  41. package/dist/claims/claims-helpers-medication-statement.js +259 -0
  42. package/dist/claims/claims-helpers-observation.d.ts +8 -0
  43. package/dist/claims/claims-helpers-observation.js +20 -0
  44. package/dist/claims/claims-helpers-organization.d.ts +12 -0
  45. package/dist/claims/claims-helpers-organization.js +32 -0
  46. package/dist/claims/claims-helpers-procedure.d.ts +8 -0
  47. package/dist/claims/claims-helpers-procedure.js +20 -0
  48. package/dist/claims/claims-helpers-related-person.d.ts +8 -0
  49. package/dist/claims/claims-helpers-related-person.js +20 -0
  50. package/dist/claims/index.d.ts +24 -0
  51. package/dist/claims/index.js +24 -0
  52. package/dist/constants/fhir-resource-types.d.ts +16 -0
  53. package/dist/constants/fhir-resource-types.js +8 -0
  54. package/dist/convert/convert-allergy-intolerance.d.ts +3 -0
  55. package/dist/convert/convert-allergy-intolerance.js +34 -0
  56. package/dist/convert/convert-appointment-response.d.ts +3 -0
  57. package/dist/convert/convert-appointment-response.js +32 -0
  58. package/dist/convert/convert-appointment.d.ts +3 -0
  59. package/dist/convert/convert-appointment.js +61 -0
  60. package/dist/convert/convert-care-plan.d.ts +3 -0
  61. package/dist/convert/convert-care-plan.js +58 -0
  62. package/dist/convert/convert-clinical-impression.d.ts +3 -0
  63. package/dist/convert/convert-clinical-impression.js +42 -0
  64. package/dist/convert/convert-composition.d.ts +3 -0
  65. package/dist/convert/convert-composition.js +35 -0
  66. package/dist/convert/convert-condition.d.ts +3 -0
  67. package/dist/convert/convert-condition.js +24 -0
  68. package/dist/convert/convert-coverage.d.ts +3 -0
  69. package/dist/convert/convert-coverage.js +51 -0
  70. package/dist/convert/convert-device-use-statement.d.ts +3 -0
  71. package/dist/convert/convert-device-use-statement.js +28 -0
  72. package/dist/convert/convert-device.d.ts +3 -0
  73. package/dist/convert/convert-device.js +37 -0
  74. package/dist/convert/convert-diagnostic-report.d.ts +3 -0
  75. package/dist/convert/convert-diagnostic-report.js +55 -0
  76. package/dist/convert/convert-document-reference.d.ts +3 -0
  77. package/dist/convert/convert-document-reference.js +35 -0
  78. package/dist/convert/convert-encounter.d.ts +3 -0
  79. package/dist/convert/convert-encounter.js +68 -0
  80. package/dist/convert/convert-flag.d.ts +3 -0
  81. package/dist/convert/convert-flag.js +34 -0
  82. package/dist/convert/convert-immunization.d.ts +3 -0
  83. package/dist/convert/convert-immunization.js +56 -0
  84. package/dist/convert/convert-location.d.ts +3 -0
  85. package/dist/convert/convert-location.js +44 -0
  86. package/dist/convert/convert-medication-statement.d.ts +3 -0
  87. package/dist/convert/convert-medication-statement.js +64 -0
  88. package/dist/convert/convert-observation.d.ts +3 -0
  89. package/dist/convert/convert-observation.js +57 -0
  90. package/dist/convert/convert-organization.d.ts +3 -0
  91. package/dist/convert/convert-organization.js +39 -0
  92. package/dist/convert/convert-procedure.d.ts +3 -0
  93. package/dist/convert/convert-procedure.js +50 -0
  94. package/dist/convert/convert-related-person.d.ts +3 -0
  95. package/dist/convert/convert-related-person.js +31 -0
  96. package/dist/convert/convert-shared.d.ts +34 -0
  97. package/dist/convert/convert-shared.js +179 -0
  98. package/dist/convert/index.d.ts +22 -0
  99. package/dist/convert/index.js +22 -0
  100. package/dist/examples/communication-bundle-document-request.js +2 -2
  101. package/dist/examples/communication-bundle-session.js +2 -2
  102. package/dist/examples/shared.d.ts +21 -2
  103. package/dist/examples/shared.js +74 -1
  104. package/dist/index.d.ts +2 -0
  105. package/dist/index.js +2 -0
  106. package/dist/models/bundle.d.ts +13 -1
  107. package/dist/models/interoperable-claims/appointment-claims.d.ts +23 -1
  108. package/dist/models/interoperable-claims/appointment-claims.js +22 -1
  109. package/dist/models/interoperable-claims/appointment-response-claims.d.ts +14 -0
  110. package/dist/models/interoperable-claims/appointment-response-claims.js +13 -0
  111. package/dist/models/interoperable-claims/care-plan-claims.d.ts +24 -0
  112. package/dist/models/interoperable-claims/care-plan-claims.js +44 -0
  113. package/dist/models/interoperable-claims/clinical-impression-claims.d.ts +17 -0
  114. package/dist/models/interoperable-claims/clinical-impression-claims.js +30 -0
  115. package/dist/models/interoperable-claims/coverage-claims.d.ts +16 -0
  116. package/dist/models/interoperable-claims/coverage-claims.js +28 -0
  117. package/dist/models/interoperable-claims/device-claims.d.ts +18 -0
  118. package/dist/models/interoperable-claims/device-claims.js +32 -0
  119. package/dist/models/interoperable-claims/diagnostic-report-claims.d.ts +2 -2
  120. package/dist/models/interoperable-claims/diagnostic-report-claims.js +1 -1
  121. package/dist/models/interoperable-claims/encounter-claims.d.ts +18 -0
  122. package/dist/models/interoperable-claims/encounter-claims.js +32 -0
  123. package/dist/models/interoperable-claims/flag-claims.d.ts +16 -0
  124. package/dist/models/interoperable-claims/flag-claims.js +28 -0
  125. package/dist/models/interoperable-claims/immunization-claims.d.ts +23 -0
  126. package/dist/models/interoperable-claims/immunization-claims.js +42 -0
  127. package/dist/models/interoperable-claims/index.d.ts +12 -0
  128. package/dist/models/interoperable-claims/index.js +12 -0
  129. package/dist/models/interoperable-claims/location-claims.d.ts +22 -0
  130. package/dist/models/interoperable-claims/location-claims.js +34 -0
  131. package/dist/models/interoperable-claims/observation-claims.d.ts +26 -0
  132. package/dist/models/interoperable-claims/observation-claims.js +48 -0
  133. package/dist/models/interoperable-claims/organization-claims.d.ts +18 -0
  134. package/dist/models/interoperable-claims/organization-claims.js +27 -0
  135. package/dist/models/interoperable-claims/procedure-claims.d.ts +22 -0
  136. package/dist/models/interoperable-claims/procedure-claims.js +40 -0
  137. package/dist/models/interoperable-claims/related-person-claims.d.ts +14 -0
  138. package/dist/models/interoperable-claims/related-person-claims.js +24 -0
  139. package/dist/utils/appointment-claim-helpers.d.ts +10 -0
  140. package/dist/utils/appointment-claim-helpers.js +26 -0
  141. package/dist/utils/appointment-response-claim-helpers.d.ts +8 -0
  142. package/dist/utils/appointment-response-claim-helpers.js +20 -0
  143. package/dist/utils/bundle-document-builder.d.ts +36 -0
  144. package/dist/utils/bundle-document-builder.js +311 -0
  145. package/dist/utils/claims-helpers-allergy-intolerance.d.ts +1 -0
  146. package/dist/utils/claims-helpers-allergy-intolerance.js +1 -0
  147. package/dist/utils/claims-helpers-appointment-response.d.ts +1 -0
  148. package/dist/utils/claims-helpers-appointment-response.js +1 -0
  149. package/dist/utils/claims-helpers-appointment.d.ts +1 -0
  150. package/dist/utils/claims-helpers-appointment.js +1 -0
  151. package/dist/utils/claims-helpers-care-plan.d.ts +1 -0
  152. package/dist/utils/claims-helpers-care-plan.js +1 -0
  153. package/dist/utils/claims-helpers-clinical-impression.d.ts +1 -0
  154. package/dist/utils/claims-helpers-clinical-impression.js +1 -0
  155. package/dist/utils/claims-helpers-communication.d.ts +1 -0
  156. package/dist/utils/claims-helpers-communication.js +1 -0
  157. package/dist/utils/claims-helpers-composition.d.ts +1 -0
  158. package/dist/utils/claims-helpers-composition.js +1 -0
  159. package/dist/utils/claims-helpers-condition.d.ts +1 -0
  160. package/dist/utils/claims-helpers-condition.js +1 -0
  161. package/dist/utils/claims-helpers-consent.d.ts +1 -0
  162. package/dist/utils/claims-helpers-consent.js +1 -0
  163. package/dist/utils/claims-helpers-coverage.d.ts +1 -0
  164. package/dist/utils/claims-helpers-coverage.js +1 -0
  165. package/dist/utils/claims-helpers-device-use-statement.d.ts +1 -0
  166. package/dist/utils/claims-helpers-device-use-statement.js +1 -0
  167. package/dist/utils/claims-helpers-device.d.ts +1 -0
  168. package/dist/utils/claims-helpers-device.js +1 -0
  169. package/dist/utils/claims-helpers-diagnostic-report.d.ts +1 -0
  170. package/dist/utils/claims-helpers-diagnostic-report.js +1 -0
  171. package/dist/utils/claims-helpers-document-reference.d.ts +1 -0
  172. package/dist/utils/claims-helpers-document-reference.js +1 -0
  173. package/dist/utils/claims-helpers-encounter.d.ts +1 -0
  174. package/dist/utils/claims-helpers-encounter.js +1 -0
  175. package/dist/utils/claims-helpers-flag.d.ts +1 -0
  176. package/dist/utils/claims-helpers-flag.js +1 -0
  177. package/dist/utils/claims-helpers-immunization.d.ts +1 -0
  178. package/dist/utils/claims-helpers-immunization.js +1 -0
  179. package/dist/utils/claims-helpers-location.d.ts +1 -0
  180. package/dist/utils/claims-helpers-location.js +1 -0
  181. package/dist/utils/claims-helpers-medication-statement.d.ts +1 -0
  182. package/dist/utils/claims-helpers-medication-statement.js +1 -0
  183. package/dist/utils/claims-helpers-observation.d.ts +1 -0
  184. package/dist/utils/claims-helpers-observation.js +1 -0
  185. package/dist/utils/claims-helpers-organization.d.ts +1 -0
  186. package/dist/utils/claims-helpers-organization.js +1 -0
  187. package/dist/utils/claims-helpers-procedure.d.ts +1 -0
  188. package/dist/utils/claims-helpers-procedure.js +1 -0
  189. package/dist/utils/claims-helpers-related-person.d.ts +1 -0
  190. package/dist/utils/claims-helpers-related-person.js +1 -0
  191. package/dist/utils/clinical-impression-claim-helpers.d.ts +10 -0
  192. package/dist/utils/clinical-impression-claim-helpers.js +26 -0
  193. package/dist/utils/clinical-resource-converters.d.ts +91 -62
  194. package/dist/utils/clinical-resource-converters.js +135 -273
  195. package/dist/utils/communication-bundle-document-request.d.ts +6 -4
  196. package/dist/utils/communication-bundle-document-request.js +7 -5
  197. package/dist/utils/communication-bundle-session.js +1 -1
  198. package/dist/utils/composition-claim-helpers.d.ts +12 -0
  199. package/dist/utils/composition-claim-helpers.js +32 -0
  200. package/dist/utils/consent-claim-helpers.d.ts +2 -2
  201. package/dist/utils/consent-claim-helpers.js +2 -2
  202. package/dist/utils/convert-allergy-intolerance.d.ts +3 -0
  203. package/dist/utils/convert-allergy-intolerance.js +34 -0
  204. package/dist/utils/convert-appointment-response.d.ts +3 -0
  205. package/dist/utils/convert-appointment-response.js +32 -0
  206. package/dist/utils/convert-appointment.d.ts +3 -0
  207. package/dist/utils/convert-appointment.js +61 -0
  208. package/dist/utils/convert-care-plan.d.ts +3 -0
  209. package/dist/utils/convert-care-plan.js +58 -0
  210. package/dist/utils/convert-clinical-impression.d.ts +3 -0
  211. package/dist/utils/convert-clinical-impression.js +42 -0
  212. package/dist/utils/convert-composition.d.ts +3 -0
  213. package/dist/utils/convert-composition.js +35 -0
  214. package/dist/utils/convert-condition.d.ts +3 -0
  215. package/dist/utils/convert-condition.js +24 -0
  216. package/dist/utils/convert-coverage.d.ts +3 -0
  217. package/dist/utils/convert-coverage.js +51 -0
  218. package/dist/utils/convert-device-use-statement.d.ts +3 -0
  219. package/dist/utils/convert-device-use-statement.js +28 -0
  220. package/dist/utils/convert-device.d.ts +3 -0
  221. package/dist/utils/convert-device.js +37 -0
  222. package/dist/utils/convert-diagnostic-report.d.ts +3 -0
  223. package/dist/utils/convert-diagnostic-report.js +55 -0
  224. package/dist/utils/convert-document-reference.d.ts +3 -0
  225. package/dist/utils/convert-document-reference.js +35 -0
  226. package/dist/utils/convert-encounter.d.ts +3 -0
  227. package/dist/utils/convert-encounter.js +68 -0
  228. package/dist/utils/convert-flag.d.ts +3 -0
  229. package/dist/utils/convert-flag.js +34 -0
  230. package/dist/utils/convert-immunization.d.ts +3 -0
  231. package/dist/utils/convert-immunization.js +56 -0
  232. package/dist/utils/convert-medication-statement.d.ts +3 -0
  233. package/dist/utils/convert-medication-statement.js +64 -0
  234. package/dist/utils/convert-observation.d.ts +3 -0
  235. package/dist/utils/convert-observation.js +57 -0
  236. package/dist/utils/convert-procedure.d.ts +3 -0
  237. package/dist/utils/convert-procedure.js +50 -0
  238. package/dist/utils/convert-related-person.d.ts +3 -0
  239. package/dist/utils/convert-related-person.js +31 -0
  240. package/dist/utils/convert-shared.d.ts +34 -0
  241. package/dist/utils/convert-shared.js +179 -0
  242. package/dist/utils/coverage-claim-helpers.d.ts +10 -0
  243. package/dist/utils/coverage-claim-helpers.js +26 -0
  244. package/dist/utils/diagnostic-report-claim-helpers.d.ts +12 -0
  245. package/dist/utils/diagnostic-report-claim-helpers.js +32 -0
  246. package/dist/utils/encounter-claim-helpers.d.ts +10 -0
  247. package/dist/utils/encounter-claim-helpers.js +26 -0
  248. package/dist/utils/fhir-cid.d.ts +49 -0
  249. package/dist/utils/fhir-cid.js +75 -0
  250. package/dist/utils/index.d.ts +4 -6
  251. package/dist/utils/index.js +4 -6
  252. package/dist/utils/ips-bundle-claims.d.ts +52 -0
  253. package/dist/utils/ips-bundle-claims.js +104 -0
  254. package/dist/utils/jwt.d.ts +16 -0
  255. package/dist/utils/jwt.js +21 -0
  256. package/dist/utils/related-person-claim-helpers.d.ts +8 -0
  257. package/dist/utils/related-person-claim-helpers.js +20 -0
  258. package/package.json +17 -1
@@ -0,0 +1,104 @@
1
+ // Copyright 2026 Antifraud Services Inc. under the Apache License, Version 2.0.
2
+ export const DEFAULT_META_CLAIM_TAG_SYSTEM = 'urn:gdc:fhir:meta-claim';
3
+ /**
4
+ * Removes the versioned/contextualized FHIR prefix from a flattened claim key.
5
+ *
6
+ * Examples:
7
+ * - `org.hl7.fhir.r4.Immunization.vaccine-code` -> `Immunization.vaccine-code`
8
+ * - `org.hl7.fhir.api.MedicationStatement.subject` -> `MedicationStatement.subject`
9
+ * - `Consent.identifier` -> `Consent.identifier`
10
+ */
11
+ export function toVersionAgnosticMetaClaimKey(claimKey) {
12
+ const raw = String(claimKey || '').trim();
13
+ if (!raw)
14
+ return '';
15
+ return raw
16
+ .replace(/^org\.hl7\.fhir\.[a-z0-9]+\./i, '')
17
+ .replace(/^org\.hl7\.fhir\.api\./i, '');
18
+ }
19
+ /**
20
+ * Extracts all `resource.meta.claims` blocks from a FHIR/JSON:API bundle.
21
+ *
22
+ * This is intentionally claims-first: only resources that already carry
23
+ * `resource.meta.claims` are returned.
24
+ */
25
+ export function extractResourceMetaClaimsFromBundle(bundle) {
26
+ const entries = Array.isArray(bundle?.entry)
27
+ ? bundle.entry
28
+ : Array.isArray(bundle?.data)
29
+ ? bundle.data
30
+ : [];
31
+ return entries
32
+ .map((entry) => extractResourceMetaClaimsFromEntry(entry))
33
+ .filter((value) => !!value);
34
+ }
35
+ /**
36
+ * Builds FHIR `meta.tag[]` codings from a flat claims record.
37
+ *
38
+ * The generated `code` is version-agnostic so UI/frontends can use the same
39
+ * tag keys across `org.hl7.fhir.r4.*` and `org.hl7.fhir.api.*` payloads.
40
+ */
41
+ export function createFhirMetaTagsFromClaims(claims, options) {
42
+ const system = String(options?.system || DEFAULT_META_CLAIM_TAG_SYSTEM).trim();
43
+ const includeContext = Boolean(options?.includeContext);
44
+ const tags = [];
45
+ for (const key of Object.keys(claims || {})) {
46
+ if (key === '@context' || key === '@type')
47
+ continue;
48
+ const code = includeContext ? String(key).trim() : toVersionAgnosticMetaClaimKey(key);
49
+ if (!code)
50
+ continue;
51
+ const display = stringifyClaimValue(claims[key]);
52
+ tags.push({
53
+ system,
54
+ code,
55
+ ...(display ? { display } : {}),
56
+ });
57
+ }
58
+ return tags;
59
+ }
60
+ /**
61
+ * Returns a shallow resource copy whose `meta.tag[]` is derived from
62
+ * `resource.meta.claims`.
63
+ */
64
+ export function withDerivedFhirMetaTagsFromClaims(resource, options) {
65
+ const claims = asRecord(resource?.meta?.claims);
66
+ const tags = createFhirMetaTagsFromClaims(claims, options);
67
+ return {
68
+ ...resource,
69
+ meta: {
70
+ ...(resource?.meta || {}),
71
+ tag: tags,
72
+ },
73
+ };
74
+ }
75
+ function extractResourceMetaClaimsFromEntry(entry) {
76
+ const resource = entry?.resource;
77
+ const claims = asRecord(resource?.meta?.claims);
78
+ if (!resource || !claims || Object.keys(claims).length === 0)
79
+ return undefined;
80
+ return {
81
+ resourceType: String(resource.resourceType || 'Unknown'),
82
+ fullUrl: typeof entry.fullUrl === 'string' ? entry.fullUrl : undefined,
83
+ claims,
84
+ };
85
+ }
86
+ function asRecord(value) {
87
+ if (!value || typeof value !== 'object' || Array.isArray(value))
88
+ return {};
89
+ return value;
90
+ }
91
+ function stringifyClaimValue(value) {
92
+ if (value === null || value === undefined)
93
+ return undefined;
94
+ if (typeof value === 'string')
95
+ return value;
96
+ if (typeof value === 'number' || typeof value === 'boolean')
97
+ return String(value);
98
+ try {
99
+ return JSON.stringify(value);
100
+ }
101
+ catch {
102
+ return undefined;
103
+ }
104
+ }
@@ -51,3 +51,19 @@ export declare function encodeSignature(signatureBytes?: Uint8Array): string;
51
51
  * @returns A compact JWT string.
52
52
  */
53
53
  export declare function compactJWT(header: object, payload: object, signatureBytes?: Uint8Array): Promise<string>;
54
+ /**
55
+ * Builds an unsigned compact JWT with `alg=none`.
56
+ *
57
+ * Useful for local demos, fixtures, and live tests where the transport/runtime
58
+ * only needs a syntactically valid JWT shell.
59
+ */
60
+ export declare function buildUnsignedJwt(payload: Record<string, unknown>, options?: Readonly<{
61
+ nowSeconds?: number;
62
+ ttlSeconds?: number;
63
+ nonce?: string;
64
+ }>): string;
65
+ export declare function buildUnsignedVpJwt(payload: Record<string, unknown>, options?: Readonly<{
66
+ nowSeconds?: number;
67
+ ttlSeconds?: number;
68
+ nonce?: string;
69
+ }>): string;
package/dist/utils/jwt.js CHANGED
@@ -152,3 +152,24 @@ export async function compactJWT(header, payload, signatureBytes) {
152
152
  const encodedSignature = encodeSignature(signatureBytes);
153
153
  return `${encodedHeader}.${encodedPayload}.${encodedSignature}`;
154
154
  }
155
+ /**
156
+ * Builds an unsigned compact JWT with `alg=none`.
157
+ *
158
+ * Useful for local demos, fixtures, and live tests where the transport/runtime
159
+ * only needs a syntactically valid JWT shell.
160
+ */
161
+ export function buildUnsignedJwt(payload, options = {}) {
162
+ const now = options.nowSeconds ?? Math.floor(Date.now() / 1000);
163
+ const ttl = options.ttlSeconds ?? 600;
164
+ const header = { alg: 'none', typ: 'JWT' };
165
+ const claims = {
166
+ iat: now,
167
+ exp: now + ttl,
168
+ nonce: options.nonce ?? `nonce-${now}`,
169
+ ...payload,
170
+ };
171
+ return `${Content.objectToRawBase64UrlSafe(header)}.${Content.objectToRawBase64UrlSafe(claims)}.`;
172
+ }
173
+ export function buildUnsignedVpJwt(payload, options = {}) {
174
+ return buildUnsignedJwt(payload, options);
175
+ }
@@ -0,0 +1,8 @@
1
+ import { type GenericInteroperableClaims } from './claim-list-helpers.js';
2
+ export type RelatedPersonInteroperableClaims = GenericInteroperableClaims;
3
+ export declare function getRelatedPersonClaimList(claims: RelatedPersonInteroperableClaims, claimKey: string): string[];
4
+ export declare function setRelatedPersonClaimList(claims: RelatedPersonInteroperableClaims, claimKey: string, values: string | readonly string[]): RelatedPersonInteroperableClaims;
5
+ export declare function addRelatedPersonClaimList(claims: RelatedPersonInteroperableClaims, claimKey: string, values: string | readonly string[]): RelatedPersonInteroperableClaims;
6
+ export declare function removeRelatedPersonClaimList(claims: RelatedPersonInteroperableClaims, claimKey: string, values: string | readonly string[]): RelatedPersonInteroperableClaims;
7
+ export declare function getRelatedPersonIdentifier(claims: RelatedPersonInteroperableClaims): string;
8
+ export declare function setRelatedPersonIdentifier(claims: RelatedPersonInteroperableClaims, value: string): RelatedPersonInteroperableClaims;
@@ -0,0 +1,20 @@
1
+ import { RelatedPersonClaim } from '../models/interoperable-claims/related-person-claims.js';
2
+ import { addClaimValues, getClaimValues, normalizeClaimScalar, removeClaimValues, setClaimValues, } from './claim-list-helpers.js';
3
+ export function getRelatedPersonClaimList(claims, claimKey) {
4
+ return getClaimValues(claims, claimKey);
5
+ }
6
+ export function setRelatedPersonClaimList(claims, claimKey, values) {
7
+ return setClaimValues(claims, claimKey, values);
8
+ }
9
+ export function addRelatedPersonClaimList(claims, claimKey, values) {
10
+ return addClaimValues(claims, claimKey, values);
11
+ }
12
+ export function removeRelatedPersonClaimList(claims, claimKey, values) {
13
+ return removeClaimValues(claims, claimKey, values);
14
+ }
15
+ export function getRelatedPersonIdentifier(claims) {
16
+ return normalizeClaimScalar(claims[RelatedPersonClaim.Identifier]);
17
+ }
18
+ export function setRelatedPersonIdentifier(claims, value) {
19
+ return { ...claims, [RelatedPersonClaim.Identifier]: normalizeClaimScalar(value) };
20
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gdc-common-utils-ts",
3
- "version": "1.14.9",
3
+ "version": "1.14.13",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -46,6 +46,14 @@
46
46
  "types": "./dist/examples/*.d.ts",
47
47
  "default": "./dist/examples/*.js"
48
48
  },
49
+ "./claims": {
50
+ "types": "./dist/claims/index.d.ts",
51
+ "default": "./dist/claims/index.js"
52
+ },
53
+ "./claims/*": {
54
+ "types": "./dist/claims/*.d.ts",
55
+ "default": "./dist/claims/*.js"
56
+ },
49
57
  "./constants/*": {
50
58
  "types": "./dist/constants/*.d.ts",
51
59
  "default": "./dist/constants/*.js"
@@ -66,6 +74,14 @@
66
74
  "types": "./dist/constants/index.d.ts",
67
75
  "default": "./dist/constants/index.js"
68
76
  },
77
+ "./convert": {
78
+ "types": "./dist/convert/index.d.ts",
79
+ "default": "./dist/convert/index.js"
80
+ },
81
+ "./convert/*": {
82
+ "types": "./dist/convert/*.d.ts",
83
+ "default": "./dist/convert/*.js"
84
+ },
69
85
  "./models": {
70
86
  "types": "./dist/models/index.d.ts",
71
87
  "default": "./dist/models/index.js"