@truvity/sdk 0.37.6 → 0.37.7

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 (205) hide show
  1. package/Client.d.ts +3 -1
  2. package/Client.d.ts.map +1 -1
  3. package/Client.js +43 -1
  4. package/Client.js.map +1 -1
  5. package/ExtendedClient.d.ts +1 -2
  6. package/ExtendedClient.d.ts.map +1 -1
  7. package/ExtendedClient.js +1 -5
  8. package/ExtendedClient.js.map +1 -1
  9. package/api/resources/apiKeys/client/Client.d.ts +3 -1
  10. package/api/resources/apiKeys/client/Client.d.ts.map +1 -1
  11. package/api/resources/apiKeys/client/Client.js +28 -31
  12. package/api/resources/apiKeys/client/Client.js.map +1 -1
  13. package/api/resources/apiKeys/client/index.d.ts +1 -0
  14. package/api/resources/apiKeys/client/index.d.ts.map +1 -1
  15. package/api/resources/apiKeys/client/index.js.map +1 -1
  16. package/api/resources/credentials/client/Client.d.ts +4 -3
  17. package/api/resources/credentials/client/Client.d.ts.map +1 -1
  18. package/api/resources/credentials/client/Client.js +38 -41
  19. package/api/resources/credentials/client/Client.js.map +1 -1
  20. package/api/resources/credentials/client/index.d.ts +1 -0
  21. package/api/resources/credentials/client/index.d.ts.map +1 -1
  22. package/api/resources/credentials/client/index.js.map +1 -1
  23. package/api/resources/desk/client/Client.d.ts +3 -1
  24. package/api/resources/desk/client/Client.d.ts.map +1 -1
  25. package/api/resources/desk/client/Client.js +7 -10
  26. package/api/resources/desk/client/Client.js.map +1 -1
  27. package/api/resources/desk/client/index.d.ts +1 -0
  28. package/api/resources/desk/client/index.d.ts.map +1 -1
  29. package/api/resources/desk/client/index.js.map +1 -1
  30. package/api/resources/didcommMessages/client/Client.d.ts +3 -1
  31. package/api/resources/didcommMessages/client/Client.d.ts.map +1 -1
  32. package/api/resources/didcommMessages/client/Client.js +28 -31
  33. package/api/resources/didcommMessages/client/Client.js.map +1 -1
  34. package/api/resources/didcommMessages/client/index.d.ts +1 -0
  35. package/api/resources/didcommMessages/client/index.d.ts.map +1 -1
  36. package/api/resources/didcommMessages/client/index.js.map +1 -1
  37. package/api/resources/dids/client/Client.d.ts +3 -1
  38. package/api/resources/dids/client/Client.d.ts.map +1 -1
  39. package/api/resources/dids/client/Client.js +4 -7
  40. package/api/resources/dids/client/Client.js.map +1 -1
  41. package/api/resources/dids/client/index.d.ts +1 -0
  42. package/api/resources/dids/client/index.d.ts.map +1 -1
  43. package/api/resources/dids/client/index.js.map +1 -1
  44. package/api/resources/drafts/client/Client.d.ts +4 -3
  45. package/api/resources/drafts/client/Client.d.ts.map +1 -1
  46. package/api/resources/drafts/client/Client.js +38 -41
  47. package/api/resources/drafts/client/Client.js.map +1 -1
  48. package/api/resources/drafts/client/index.d.ts +1 -0
  49. package/api/resources/drafts/client/index.d.ts.map +1 -1
  50. package/api/resources/drafts/client/index.js.map +1 -1
  51. package/api/resources/files/client/Client.d.ts +4 -3
  52. package/api/resources/files/client/Client.d.ts.map +1 -1
  53. package/api/resources/files/client/Client.js +35 -38
  54. package/api/resources/files/client/Client.js.map +1 -1
  55. package/api/resources/files/client/index.d.ts +1 -0
  56. package/api/resources/files/client/index.d.ts.map +1 -1
  57. package/api/resources/files/client/index.js.map +1 -1
  58. package/api/resources/gdpr/client/Client.d.ts +3 -1
  59. package/api/resources/gdpr/client/Client.d.ts.map +1 -1
  60. package/api/resources/gdpr/client/Client.js +4 -7
  61. package/api/resources/gdpr/client/Client.js.map +1 -1
  62. package/api/resources/gdpr/client/index.d.ts +1 -0
  63. package/api/resources/gdpr/client/index.d.ts.map +1 -1
  64. package/api/resources/gdpr/client/index.js.map +1 -1
  65. package/api/resources/keys/client/Client.d.ts +6 -5
  66. package/api/resources/keys/client/Client.d.ts.map +1 -1
  67. package/api/resources/keys/client/Client.js +43 -46
  68. package/api/resources/keys/client/Client.js.map +1 -1
  69. package/api/resources/keys/client/index.d.ts +1 -0
  70. package/api/resources/keys/client/index.d.ts.map +1 -1
  71. package/api/resources/keys/client/index.js.map +1 -1
  72. package/api/resources/presentations/client/Client.d.ts +5 -4
  73. package/api/resources/presentations/client/Client.d.ts.map +1 -1
  74. package/api/resources/presentations/client/Client.js +45 -48
  75. package/api/resources/presentations/client/Client.js.map +1 -1
  76. package/api/resources/presentations/client/index.d.ts +1 -0
  77. package/api/resources/presentations/client/index.d.ts.map +1 -1
  78. package/api/resources/presentations/client/index.js.map +1 -1
  79. package/core/fetcher/BinaryResponse.d.ts +21 -0
  80. package/core/fetcher/BinaryResponse.d.ts.map +1 -0
  81. package/core/fetcher/BinaryResponse.js +18 -0
  82. package/core/fetcher/BinaryResponse.js.map +1 -0
  83. package/core/fetcher/Fetcher.d.ts +3 -2
  84. package/core/fetcher/Fetcher.d.ts.map +1 -1
  85. package/core/fetcher/Fetcher.js +25 -12
  86. package/core/fetcher/Fetcher.js.map +1 -1
  87. package/core/fetcher/ResponseWithBody.d.ts +5 -0
  88. package/core/fetcher/ResponseWithBody.d.ts.map +1 -0
  89. package/core/fetcher/ResponseWithBody.js +7 -0
  90. package/core/fetcher/ResponseWithBody.js.map +1 -0
  91. package/core/fetcher/createRequestUrl.d.ts +1 -1
  92. package/core/fetcher/createRequestUrl.d.ts.map +1 -1
  93. package/core/fetcher/createRequestUrl.js +3 -7
  94. package/core/fetcher/createRequestUrl.js.map +1 -1
  95. package/core/fetcher/getErrorResponseBody.d.ts +2 -0
  96. package/core/fetcher/getErrorResponseBody.d.ts.map +1 -0
  97. package/core/fetcher/getErrorResponseBody.js +45 -0
  98. package/core/fetcher/getErrorResponseBody.js.map +1 -0
  99. package/core/fetcher/getFetchFn.d.ts +1 -4
  100. package/core/fetcher/getFetchFn.d.ts.map +1 -1
  101. package/core/fetcher/getFetchFn.js +1 -52
  102. package/core/fetcher/getFetchFn.js.map +1 -1
  103. package/core/fetcher/getResponseBody.d.ts.map +1 -1
  104. package/core/fetcher/getResponseBody.js +34 -33
  105. package/core/fetcher/getResponseBody.js.map +1 -1
  106. package/core/fetcher/index.d.ts +1 -0
  107. package/core/fetcher/index.d.ts.map +1 -1
  108. package/core/fetcher/index.js.map +1 -1
  109. package/core/headers.d.ts +4 -0
  110. package/core/headers.d.ts.map +1 -0
  111. package/core/headers.js +30 -0
  112. package/core/headers.js.map +1 -0
  113. package/core/index.d.ts +1 -0
  114. package/core/index.d.ts.map +1 -1
  115. package/core/index.js +2 -1
  116. package/core/index.js.map +1 -1
  117. package/core/runtime/runtime.d.ts.map +1 -1
  118. package/core/runtime/runtime.js +0 -1
  119. package/core/runtime/runtime.js.map +1 -1
  120. package/core/url/index.d.ts +3 -0
  121. package/core/url/index.d.ts.map +1 -0
  122. package/core/url/index.js +8 -0
  123. package/core/url/index.js.map +1 -0
  124. package/core/url/join.d.ts +2 -0
  125. package/core/url/join.d.ts.map +1 -0
  126. package/core/url/join.js +50 -0
  127. package/core/url/join.js.map +1 -0
  128. package/core/url/qs.d.ts +7 -0
  129. package/core/url/qs.d.ts.map +1 -0
  130. package/core/url/qs.js +65 -0
  131. package/core/url/qs.js.map +1 -0
  132. package/documents/credential/document/vcdm.d.ts +1 -1
  133. package/documents/credential/document/vcdm.d.ts.map +1 -1
  134. package/documents/credential/document/vcdm.js +12 -1
  135. package/documents/credential/document/vcdm.js.map +1 -1
  136. package/documents/credential/document.d.ts +2 -2
  137. package/documents/credential/document.d.ts.map +1 -1
  138. package/documents/credential/document.js +21 -8
  139. package/documents/credential/document.js.map +1 -1
  140. package/documents/credential/draft/draft.d.ts +2 -2
  141. package/documents/credential/draft/draft.d.ts.map +1 -1
  142. package/documents/credential/draft/draft.js.map +1 -1
  143. package/documents/credential/flavor/vcdm1_1.d.ts +3 -3
  144. package/documents/credential/flavor/vcdm1_1.d.ts.map +1 -1
  145. package/documents/credential/flavor/vcdm1_1.js +27 -25
  146. package/documents/credential/flavor/vcdm1_1.js.map +1 -1
  147. package/documents/credential/flavor/vcdm2_0.d.ts +2 -2
  148. package/documents/credential/flavor/vcdm2_0.d.ts.map +1 -1
  149. package/documents/credential/flavor/vcdm2_0.js +29 -16
  150. package/documents/credential/flavor/vcdm2_0.js.map +1 -1
  151. package/documents/credential/flavor.d.ts +2 -2
  152. package/documents/credential/flavor.d.ts.map +1 -1
  153. package/documents/credential/flavor.js +25 -10
  154. package/documents/credential/flavor.js.map +1 -1
  155. package/documents/credential/flavor.spec.js +3 -3
  156. package/documents/credential/flavor.spec.js.map +1 -1
  157. package/documents/credential/types.d.ts +4 -4
  158. package/documents/credential/types.d.ts.map +1 -1
  159. package/documents/credential/types.js.map +1 -1
  160. package/documents/credential/verifiable/verifiable.d.ts.map +1 -1
  161. package/documents/credential/verifiable/verifiable.js +1 -2
  162. package/documents/credential/verifiable/verifiable.js.map +1 -1
  163. package/documents/credential/verifiable/with-claims.js +1 -1
  164. package/documents/credential/verifiable/with-claims.js.map +1 -1
  165. package/documents/credential.d.ts.map +1 -1
  166. package/documents/credential.js +1 -5
  167. package/documents/credential.js.map +1 -1
  168. package/documents/index.d.ts +0 -1
  169. package/documents/index.d.ts.map +1 -1
  170. package/documents/index.js +0 -1
  171. package/documents/index.js.map +1 -1
  172. package/documents/models.d.ts +1 -2
  173. package/documents/models.d.ts.map +1 -1
  174. package/documents/models.js +5 -3
  175. package/documents/models.js.map +1 -1
  176. package/documents/presentation.d.ts.map +1 -1
  177. package/documents/presentation.js +1 -5
  178. package/documents/presentation.js.map +1 -1
  179. package/documents/types.d.ts +2 -3
  180. package/documents/types.d.ts.map +1 -1
  181. package/documents/types.js.map +1 -1
  182. package/middlewares/csrf/csrf.d.ts.map +1 -1
  183. package/middlewares/csrf/csrf.js +1 -5
  184. package/middlewares/csrf/csrf.js.map +1 -1
  185. package/package.json +9 -14
  186. package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts +0 -31
  187. package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts.map +0 -1
  188. package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js +0 -248
  189. package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js.map +0 -1
  190. package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts +0 -22
  191. package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts.map +0 -1
  192. package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.js +0 -127
  193. package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.js.map +0 -1
  194. package/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts +0 -32
  195. package/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts.map +0 -1
  196. package/core/fetcher/stream-wrappers/UndiciStreamWrapper.js +0 -230
  197. package/core/fetcher/stream-wrappers/UndiciStreamWrapper.js.map +0 -1
  198. package/core/fetcher/stream-wrappers/chooseStreamWrapper.d.ts +0 -19
  199. package/core/fetcher/stream-wrappers/chooseStreamWrapper.d.ts.map +0 -1
  200. package/core/fetcher/stream-wrappers/chooseStreamWrapper.js +0 -60
  201. package/core/fetcher/stream-wrappers/chooseStreamWrapper.js.map +0 -1
  202. package/documents/utils/stream.d.ts +0 -8
  203. package/documents/utils/stream.d.ts.map +0 -1
  204. package/documents/utils/stream.js +0 -50
  205. package/documents/utils/stream.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"vcdm1_1.js","sourceRoot":"","sources":["../../../../src/documents/credential/flavor/vcdm1_1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA+B;AAE/B,oDAAsC;AAUtC,2CAK0B;AAEb,QAAA,oBAAoB,GAAG,IAAI,CAAC,aAAa;KACjD,MAAM,CAAC;IACJ,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;IAC/B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9C,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;IACnC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;IACvC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACpD,KAAK,EAAE,yBAAkB;CAC5B,CAAC;KACD,MAAM,CAAC,yBAAkB,CAAC,CAAC;AAIhC,MAAa,YAAa,SAAQ,6BAAsB;IAAxD;;QACI,SAAI,GAAG,SAAS,CAAC;IA2FrB,CAAC;IAzFW,YAAY,CAAC,KAAqB;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,4BAAoB,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAEa,gBAAgB,CAAC,GAAW;;YACtC,OAAO,IAAA,oBAAK,EAAC,GAAG,CAAC;iBACZ,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACX,IAAI,CAAC,IAAI,CAAC,EAAE;oBACR,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,KAAK,CACL,sCAAsC,GAAG,mCAAmC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,GAAG,CACjH,CACJ,CAAC;gBACN,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,oCAAoC,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;gBAChE,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC,CAAC;QACX,CAAC;KAAA;IAED,UAAU,CAAC,IAAoB;QAC3B,IAAI,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,WAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,IAAoB;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,KAA0B,UAAU,CAAC,iBAAiB,EAAtD,EAAE,EAAE,EAAE,IAAI,OAA4C,EAAvC,MAAM,cAArB,cAAuB,CAA+B,CAAC;QAE7D,OAAO,MAA0B,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,IAAoB;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE3C,OAAO;YACH,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,SAAS,EAAE,UAAU,CAAC,YAAY;YAClC,UAAU,EAAE,UAAU,CAAC,cAAc;YACrC,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE;YACxC,MAAM,EAAE,UAAU,CAAC,MAAM;SAC5B,CAAC;IACN,CAAC;IAEK,SAAS,CAAC,IAAoB;;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEzC,IAAI,CAAC,UAAU,CAAC,gBAAgB;gBAAE,OAAO,SAAS,CAAC;YAEnD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBAC/D,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI;gBAClC,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEzC,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrC,uBAAuB;gBACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBACtD,IAAI,gBAAsB,CAAC;gBAE3B,IAAI,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBAC/C,sCAAsC;oBACtC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACJ,uCAAuC;oBACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBAC3E,IAAI,CAAC,MAAM;wBAAE,OAAO,SAAS,CAAC;oBAC9B,gBAAgB,GAAG,MAAM,CAAC;gBAC9B,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;oBAC/D,MAAM,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAC7C,wCAAiC,EACjC,oBAAoB,CAAC,iBAAiB,CACzC,CAAC;oBAEF,OAAO,0BAA0B,CAAC,UAAU,CAAC;gBACjD,CAAC;gBAAC,WAAM,CAAC;oBACL,OAAO,CAAC,IAAI,CAAC,sCAAsC,UAAU,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrF,OAAO,SAAS,CAAC;gBACrB,CAAC;YACL,CAAC;QACL,CAAC;KAAA;CACJ;AA5FD,oCA4FC","sourcesContent":["import fetch from 'node-fetch';\n\nimport * as core from '../../../core';\nimport { inferParsedObject } from '../../../core/schemas';\nimport type {\n CredentialBlob,\n CredentialClaims,\n CredentialMetadata,\n CredentialSchema,\n DocumentFlavor,\n Json,\n} from '../types';\nimport {\n jsonSchemaCredentialSubjectSchema,\n VcdmCredentialDocument,\n vcdmDocumentSchema,\n vcdmProofSetSchema,\n} from '../document/vcdm';\n\nexport const vcdm11DocumentSchema = core.serialization\n .object({\n id: core.serialization.string(),\n holder: core.serialization.string().optional(),\n issuer: core.serialization.string(),\n issuanceDate: core.serialization.date(),\n expirationDate: core.serialization.date().optional(),\n proof: vcdmProofSetSchema,\n })\n .extend(vcdmDocumentSchema);\n\nexport type Vcdm11Document = inferParsedObject<typeof vcdm11DocumentSchema>;\n\nexport class Vcdm11Flavor extends VcdmCredentialDocument implements DocumentFlavor {\n kind = 'vcdm1_1';\n\n private blobToVcdm11(input: CredentialBlob): Vcdm11Document {\n return this.parseBlob(vcdm11DocumentSchema, input);\n }\n\n private async loadJsonDocument(url: string): Promise<Json | undefined> {\n return fetch(url)\n .then((resp) => {\n if (!resp.ok)\n return Promise.reject(\n new Error(\n `Failed to fetch JSON document from ${url}. Server responded with status: ${resp.status} (${resp.statusText})`,\n ),\n );\n return resp.json();\n })\n .catch((err) => {\n console.warn(`Error loading JSON document from ${url}: ${err}`);\n return undefined;\n });\n }\n\n isOfFlavor(blob: CredentialBlob): boolean {\n try {\n this.blobToVcdm11(blob);\n } catch {\n return false;\n }\n return true;\n }\n\n getClaims(blob: CredentialBlob): CredentialClaims {\n const credential = this.blobToVcdm(blob);\n const { id, type, ...claims } = credential.credentialSubject;\n\n return claims as CredentialClaims;\n }\n\n getMetadata(blob: CredentialBlob): CredentialMetadata {\n const credential = this.blobToVcdm11(blob);\n\n return {\n id: credential.id,\n issuer: credential.issuer,\n validFrom: credential.issuanceDate,\n validUntil: credential.expirationDate,\n subject: credential.credentialSubject.id,\n holder: credential.holder,\n };\n }\n\n async getSchema(blob: CredentialBlob): Promise<CredentialSchema | undefined> {\n const credential = this.blobToVcdm(blob);\n\n if (!credential.credentialSchema) return undefined;\n\n const schemaTypes = Array.isArray(credential.credentialSchema.type)\n ? credential.credentialSchema.type\n : [credential.credentialSchema.type];\n\n if (schemaTypes.includes('JsonSchema')) {\n // External JSON Schema\n return this.loadJsonDocument(credential.credentialSchema.id);\n } else if (schemaTypes.includes('JsonSchemaCredential')) {\n let schemaCredential: Json;\n\n if (schemaTypes.includes('VerifiableCredential')) {\n // Inlined credential with JSON Schema\n schemaCredential = credential.credentialSchema;\n } else {\n // External credential with JSON Schema\n const result = await this.loadJsonDocument(credential.credentialSchema.id);\n if (!result) return undefined;\n schemaCredential = result;\n }\n\n try {\n const jsonSchemaCredential = this.jsonToVcdm(schemaCredential);\n const jsonSchemaCredentialClaims = this.parseJson(\n jsonSchemaCredentialSubjectSchema,\n jsonSchemaCredential.credentialSubject,\n );\n\n return jsonSchemaCredentialClaims.jsonSchema;\n } catch {\n console.warn(`Could not parse credential schema: ${credential.credentialSchema.id}`);\n return undefined;\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"vcdm1_1.js","sourceRoot":"","sources":["../../../../src/documents/credential/flavor/vcdm1_1.ts"],"names":[],"mappings":"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","sourcesContent":["import * as core from '../../../core';\nimport { inferParsedObject } from '../../../core/schemas';\nimport type {\n CredentialBlob,\n CredentialClaims,\n CredentialMetadata,\n CredentialSchema,\n DocumentFlavor,\n Json,\n} from '../types';\nimport {\n jsonSchemaCredentialSubjectSchema,\n VcdmCredentialDocument,\n vcdmDocumentSchema,\n vcdmProofSetSchema,\n} from '../document/vcdm';\n\nexport const vcdm11DocumentSchema = core.serialization\n .object({\n id: core.serialization.string(),\n holder: core.serialization.string().optional(),\n issuer: core.serialization.string(),\n issuanceDate: core.serialization.date(),\n expirationDate: core.serialization.date().optional(),\n proof: vcdmProofSetSchema,\n })\n .extend(vcdmDocumentSchema);\n\nexport type Vcdm11Document = inferParsedObject<typeof vcdm11DocumentSchema>;\n\nexport class Vcdm11Flavor extends VcdmCredentialDocument implements DocumentFlavor {\n kind = 'vcdm1_1';\n\n private blobToVcdm11(input: CredentialBlob): Promise<Vcdm11Document> {\n return this.parseBlob(vcdm11DocumentSchema, input);\n }\n\n private async loadJsonDocument(url: string): Promise<Json | undefined> {\n return fetch(url)\n .then((resp) => {\n if (!resp.ok)\n return Promise.reject(\n new Error(\n `Failed to fetch JSON document from ${url}. Server responded with status: ${resp.status} (${resp.statusText})`,\n ),\n );\n return resp.json();\n })\n .catch((err) => {\n console.warn(`Error loading JSON document from ${url}: ${err}`);\n return undefined;\n });\n }\n\n async isOfFlavor(blob: CredentialBlob): Promise<boolean> {\n try {\n await this.blobToVcdm11(blob);\n } catch {\n return false;\n }\n return true;\n }\n\n async getClaims(blob: CredentialBlob): Promise<CredentialClaims> {\n const credential = await this.blobToVcdm(blob);\n const { id, type, ...claims } = credential.credentialSubject;\n\n return claims as CredentialClaims;\n }\n\n async getMetadata(blob: CredentialBlob): Promise<CredentialMetadata> {\n const credential = await this.blobToVcdm11(blob);\n\n return {\n id: credential.id,\n issuer: credential.issuer,\n validFrom: credential.issuanceDate,\n validUntil: credential.expirationDate,\n subject: credential.credentialSubject.id,\n holder: credential.holder,\n };\n }\n\n async getSchema(blob: CredentialBlob): Promise<CredentialSchema | undefined> {\n const credential = await this.blobToVcdm(blob);\n\n if (!credential.credentialSchema) return undefined;\n\n const schemaTypes = Array.isArray(credential.credentialSchema.type)\n ? credential.credentialSchema.type\n : [credential.credentialSchema.type];\n\n if (schemaTypes.includes('JsonSchema')) {\n // External JSON Schema\n return this.loadJsonDocument(credential.credentialSchema.id);\n } else if (schemaTypes.includes('JsonSchemaCredential')) {\n let schemaCredential: Json;\n\n if (schemaTypes.includes('VerifiableCredential')) {\n // Inlined credential with JSON Schema\n schemaCredential = credential.credentialSchema;\n } else {\n // External credential with JSON Schema\n const result = await this.loadJsonDocument(credential.credentialSchema.id);\n if (!result) return undefined;\n schemaCredential = result;\n }\n\n try {\n const jsonSchemaCredential = this.jsonToVcdm(schemaCredential);\n const jsonSchemaCredentialClaims = this.parseJson(\n jsonSchemaCredentialSubjectSchema,\n jsonSchemaCredential.credentialSubject,\n );\n\n return jsonSchemaCredentialClaims.jsonSchema;\n } catch {\n console.warn(`Could not parse credential schema: ${credential.credentialSchema.id}`);\n return undefined;\n }\n }\n }\n}\n"]}
@@ -77,7 +77,7 @@ export type Vcdm22Document = inferParsedObject<typeof vcdm22DocumentSchema>;
77
77
  export declare class Vcdm20Flavor extends Vcdm11Flavor implements DocumentFlavor {
78
78
  kind: string;
79
79
  private blobToVcdm22;
80
- isOfFlavor(blob: CredentialBlob): boolean;
81
- getMetadata(blob: CredentialBlob): CredentialMetadata;
80
+ isOfFlavor(blob: CredentialBlob): Promise<boolean>;
81
+ getMetadata(blob: CredentialBlob): Promise<CredentialMetadata>;
82
82
  }
83
83
  //# sourceMappingURL=vcdm2_0.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vcdm2_0.d.ts","sourceRoot":"","sources":["../../../../src/documents/credential/flavor/vcdm2_0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAgBF,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,qBAAa,YAAa,SAAQ,YAAa,YAAW,cAAc;IACpE,IAAI,SAAa;IAEjB,OAAO,CAAC,YAAY;IAIpB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO;IASzC,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,kBAAkB;CAYxD"}
1
+ {"version":3,"file":"vcdm2_0.d.ts","sourceRoot":"","sources":["../../../../src/documents/credential/flavor/vcdm2_0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAgBF,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,qBAAa,YAAa,SAAQ,YAAa,YAAW,cAAc;IACpE,IAAI,SAAa;IAEjB,OAAO,CAAC,YAAY;IAId,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IASlD,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAYvE"}
@@ -32,6 +32,15 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
35
44
  Object.defineProperty(exports, "__esModule", { value: true });
36
45
  exports.Vcdm20Flavor = exports.vcdm22DocumentSchema = void 0;
37
46
  const core = __importStar(require("../../../core"));
@@ -63,24 +72,28 @@ class Vcdm20Flavor extends vcdm1_1_1.Vcdm11Flavor {
63
72
  return this.parseBlob(exports.vcdm22DocumentSchema, input);
64
73
  }
65
74
  isOfFlavor(blob) {
66
- try {
67
- this.blobToVcdm22(blob);
68
- }
69
- catch (_a) {
70
- return false;
71
- }
72
- return true;
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ try {
77
+ yield this.blobToVcdm22(blob);
78
+ }
79
+ catch (_a) {
80
+ return false;
81
+ }
82
+ return true;
83
+ });
73
84
  }
74
85
  getMetadata(blob) {
75
- const credential = this.blobToVcdm22(blob);
76
- return {
77
- id: credential.id,
78
- issuer: typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id,
79
- validFrom: credential.validFrom,
80
- validUntil: credential.validTo,
81
- subject: credential.credentialSubject.id,
82
- holder: credential.holder,
83
- };
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ const credential = yield this.blobToVcdm22(blob);
88
+ return {
89
+ id: credential.id,
90
+ issuer: typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id,
91
+ validFrom: credential.validFrom,
92
+ validUntil: credential.validTo,
93
+ subject: credential.credentialSubject.id,
94
+ holder: credential.holder,
95
+ };
96
+ });
84
97
  }
85
98
  }
86
99
  exports.Vcdm20Flavor = Vcdm20Flavor;
@@ -1 +1 @@
1
- {"version":3,"file":"vcdm2_0.js","sourceRoot":"","sources":["../../../../src/documents/credential/flavor/vcdm2_0.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAGtC,2CAA0E;AAC1E,uCAAyC;AAE5B,QAAA,oBAAoB,GAAG,IAAI,CAAC,aAAa;KACjD,MAAM,CAAC;IACJ,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;IAC/B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9C,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;QAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YACtB,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACtD,CAAC;KACL,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC/C,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC7C,KAAK,EAAE,yBAAkB;CAC5B,CAAC;KACD,MAAM,CAAC,yBAAkB,CAAC,CAAC;AAIhC,MAAa,YAAa,SAAQ,sBAAY;IAA9C;;QACI,SAAI,GAAG,SAAS,CAAC;IA2BrB,CAAC;IAzBW,YAAY,CAAC,KAAqB;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,4BAAoB,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,UAAU,CAAC,IAAoB;QAC3B,IAAI,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,WAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,IAAoB;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE3C,OAAO;YACH,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,MAAM,EAAE,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACxF,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,UAAU,EAAE,UAAU,CAAC,OAAO;YAC9B,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE;YACxC,MAAM,EAAE,UAAU,CAAC,MAAM;SAC5B,CAAC;IACN,CAAC;CACJ;AA5BD,oCA4BC","sourcesContent":["import * as core from '../../../core';\nimport { inferParsedObject } from '../../../core/schemas';\nimport type { CredentialBlob, CredentialMetadata, DocumentFlavor } from '../types';\nimport { vcdmDocumentSchema, vcdmProofSetSchema } from '../document/vcdm';\nimport { Vcdm11Flavor } from './vcdm1_1';\n\nexport const vcdm22DocumentSchema = core.serialization\n .object({\n id: core.serialization.string(),\n holder: core.serialization.string().optional(),\n issuer: core.serialization.undiscriminatedUnion([\n core.serialization.string(),\n core.serialization.object({\n id: core.serialization.string(),\n name: core.serialization.string().optional(),\n description: core.serialization.string().optional(),\n }),\n ]),\n validFrom: core.serialization.date().optional(),\n validTo: core.serialization.date().optional(),\n proof: vcdmProofSetSchema,\n })\n .extend(vcdmDocumentSchema);\n\nexport type Vcdm22Document = inferParsedObject<typeof vcdm22DocumentSchema>;\n\nexport class Vcdm20Flavor extends Vcdm11Flavor implements DocumentFlavor {\n kind = 'vcdm2_0';\n\n private blobToVcdm22(input: CredentialBlob): Vcdm22Document {\n return this.parseBlob(vcdm22DocumentSchema, input);\n }\n\n isOfFlavor(blob: CredentialBlob): boolean {\n try {\n this.blobToVcdm22(blob);\n } catch {\n return false;\n }\n return true;\n }\n\n getMetadata(blob: CredentialBlob): CredentialMetadata {\n const credential = this.blobToVcdm22(blob);\n\n return {\n id: credential.id,\n issuer: typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id,\n validFrom: credential.validFrom,\n validUntil: credential.validTo,\n subject: credential.credentialSubject.id,\n holder: credential.holder,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"vcdm2_0.js","sourceRoot":"","sources":["../../../../src/documents/credential/flavor/vcdm2_0.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAGtC,2CAA0E;AAC1E,uCAAyC;AAE5B,QAAA,oBAAoB,GAAG,IAAI,CAAC,aAAa;KACjD,MAAM,CAAC;IACJ,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;IAC/B,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9C,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;QAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YACtB,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACtD,CAAC;KACL,CAAC;IACF,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC/C,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC7C,KAAK,EAAE,yBAAkB;CAC5B,CAAC;KACD,MAAM,CAAC,yBAAkB,CAAC,CAAC;AAIhC,MAAa,YAAa,SAAQ,sBAAY;IAA9C;;QACI,SAAI,GAAG,SAAS,CAAC;IA2BrB,CAAC;IAzBW,YAAY,CAAC,KAAqB;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,4BAAoB,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAEK,UAAU,CAAC,IAAoB;;YACjC,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YAAC,WAAM,CAAC;gBACL,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEK,WAAW,CAAC,IAAoB;;YAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAO;gBACH,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,MAAM,EAAE,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBACxF,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,UAAU,EAAE,UAAU,CAAC,OAAO;gBAC9B,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE;gBACxC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC5B,CAAC;QACN,CAAC;KAAA;CACJ;AA5BD,oCA4BC","sourcesContent":["import * as core from '../../../core';\nimport { inferParsedObject } from '../../../core/schemas';\nimport type { CredentialBlob, CredentialMetadata, DocumentFlavor } from '../types';\nimport { vcdmDocumentSchema, vcdmProofSetSchema } from '../document/vcdm';\nimport { Vcdm11Flavor } from './vcdm1_1';\n\nexport const vcdm22DocumentSchema = core.serialization\n .object({\n id: core.serialization.string(),\n holder: core.serialization.string().optional(),\n issuer: core.serialization.undiscriminatedUnion([\n core.serialization.string(),\n core.serialization.object({\n id: core.serialization.string(),\n name: core.serialization.string().optional(),\n description: core.serialization.string().optional(),\n }),\n ]),\n validFrom: core.serialization.date().optional(),\n validTo: core.serialization.date().optional(),\n proof: vcdmProofSetSchema,\n })\n .extend(vcdmDocumentSchema);\n\nexport type Vcdm22Document = inferParsedObject<typeof vcdm22DocumentSchema>;\n\nexport class Vcdm20Flavor extends Vcdm11Flavor implements DocumentFlavor {\n kind = 'vcdm2_0';\n\n private blobToVcdm22(input: CredentialBlob): Promise<Vcdm22Document> {\n return this.parseBlob(vcdm22DocumentSchema, input);\n }\n\n async isOfFlavor(blob: CredentialBlob): Promise<boolean> {\n try {\n await this.blobToVcdm22(blob);\n } catch {\n return false;\n }\n return true;\n }\n\n async getMetadata(blob: CredentialBlob): Promise<CredentialMetadata> {\n const credential = await this.blobToVcdm22(blob);\n\n return {\n id: credential.id,\n issuer: typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id,\n validFrom: credential.validFrom,\n validUntil: credential.validTo,\n subject: credential.credentialSubject.id,\n holder: credential.holder,\n };\n }\n}\n"]}
@@ -3,8 +3,8 @@ export declare class CredentialFlavor implements Flavor {
3
3
  private supportedFlavors;
4
4
  private matchFlavor;
5
5
  private getFlavor;
6
- getClaims(blob: CredentialBlob): CredentialClaims;
7
- getMetadata(blob: CredentialBlob): CredentialMetadata;
6
+ getClaims(blob: CredentialBlob): Promise<CredentialClaims>;
7
+ getMetadata(blob: CredentialBlob): Promise<CredentialMetadata>;
8
8
  getSchema(blob: CredentialBlob): Promise<CredentialSchema | undefined>;
9
9
  }
10
10
  //# sourceMappingURL=flavor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flavor.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/flavor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAEhB,MAAM,EACT,MAAM,SAAS,CAAC;AAIjB,qBAAa,gBAAiB,YAAW,MAAM;IAC3C,OAAO,CAAC,gBAAgB,CAA8D;IAEtF,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,SAAS;IAWjB,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB;IAIjD,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,kBAAkB;IAI/C,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAG/E"}
1
+ {"version":3,"file":"flavor.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/flavor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAEhB,MAAM,EACT,MAAM,SAAS,CAAC;AAIjB,qBAAa,gBAAiB,YAAW,MAAM;IAC3C,OAAO,CAAC,gBAAgB,CAA8D;YAExE,WAAW;YAOX,SAAS;IAWjB,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAK1D,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAK9D,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAI/E"}
@@ -17,25 +17,40 @@ class CredentialFlavor {
17
17
  this.supportedFlavors = [new vcdm1_1_1.Vcdm11Flavor(), new vcdm2_0_1.Vcdm20Flavor()];
18
18
  }
19
19
  matchFlavor(blob) {
20
- return this.supportedFlavors.find((flavor) => flavor.isOfFlavor(blob));
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ for (const flavor of this.supportedFlavors) {
22
+ if (yield flavor.isOfFlavor(blob))
23
+ return flavor;
24
+ }
25
+ return undefined;
26
+ });
21
27
  }
22
28
  getFlavor(blob) {
23
- const blobFlavor = this.matchFlavor(blob);
24
- if (!blobFlavor) {
25
- const knownFlavorKinds = this.supportedFlavors.map((flavor) => flavor.kind);
26
- throw new Error(`Received blob does not match any known flavors: ${knownFlavorKinds}`);
27
- }
28
- return blobFlavor;
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ const blobFlavor = yield this.matchFlavor(blob);
31
+ if (!blobFlavor) {
32
+ const knownFlavorKinds = this.supportedFlavors.map((flavor) => flavor.kind);
33
+ throw new Error(`Received blob does not match any known flavors: ${knownFlavorKinds}`);
34
+ }
35
+ return blobFlavor;
36
+ });
29
37
  }
30
38
  getClaims(blob) {
31
- return this.getFlavor(blob).getClaims(blob);
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const flavor = yield this.getFlavor(blob);
41
+ return flavor.getClaims(blob);
42
+ });
32
43
  }
33
44
  getMetadata(blob) {
34
- return this.getFlavor(blob).getMetadata(blob);
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const flavor = yield this.getFlavor(blob);
47
+ return flavor.getMetadata(blob);
48
+ });
35
49
  }
36
50
  getSchema(blob) {
37
51
  return __awaiter(this, void 0, void 0, function* () {
38
- return this.getFlavor(blob).getSchema(blob);
52
+ const flavor = yield this.getFlavor(blob);
53
+ return flavor.getSchema(blob);
39
54
  });
40
55
  }
41
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flavor.js","sourceRoot":"","sources":["../../../src/documents/credential/flavor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAQA,8CAAgD;AAChD,8CAAgD;AAEhD,MAAa,gBAAgB;IAA7B;QACY,qBAAgB,GAAqB,CAAC,IAAI,sBAAY,EAAE,EAAE,IAAI,sBAAY,EAAE,CAAC,CAAC;IA4B1F,CAAC;IA1BW,WAAW,CAAC,IAAoB;QACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,SAAS,CAAC,IAAoB;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,mDAAmD,gBAAgB,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,IAAoB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,IAAoB;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAEK,SAAS,CAAC,IAAoB;;YAChC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;KAAA;CACJ;AA7BD,4CA6BC","sourcesContent":["import type {\n CredentialBlob,\n CredentialClaims,\n CredentialMetadata,\n CredentialSchema,\n DocumentFlavor,\n Flavor,\n} from './types';\nimport { Vcdm11Flavor } from './flavor/vcdm1_1';\nimport { Vcdm20Flavor } from './flavor/vcdm2_0';\n\nexport class CredentialFlavor implements Flavor {\n private supportedFlavors: DocumentFlavor[] = [new Vcdm11Flavor(), new Vcdm20Flavor()];\n\n private matchFlavor(blob: CredentialBlob): DocumentFlavor | undefined {\n return this.supportedFlavors.find((flavor) => flavor.isOfFlavor(blob));\n }\n\n private getFlavor(blob: CredentialBlob): DocumentFlavor {\n const blobFlavor = this.matchFlavor(blob);\n\n if (!blobFlavor) {\n const knownFlavorKinds = this.supportedFlavors.map((flavor) => flavor.kind);\n throw new Error(`Received blob does not match any known flavors: ${knownFlavorKinds}`);\n }\n\n return blobFlavor;\n }\n\n getClaims(blob: CredentialBlob): CredentialClaims {\n return this.getFlavor(blob).getClaims(blob);\n }\n\n getMetadata(blob: CredentialBlob): CredentialMetadata {\n return this.getFlavor(blob).getMetadata(blob);\n }\n\n async getSchema(blob: CredentialBlob): Promise<CredentialSchema | undefined> {\n return this.getFlavor(blob).getSchema(blob);\n }\n}\n"]}
1
+ {"version":3,"file":"flavor.js","sourceRoot":"","sources":["../../../src/documents/credential/flavor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAQA,8CAAgD;AAChD,8CAAgD;AAEhD,MAAa,gBAAgB;IAA7B;QACY,qBAAgB,GAAqB,CAAC,IAAI,sBAAY,EAAE,EAAE,IAAI,sBAAY,EAAE,CAAC,CAAC;IAkC1F,CAAC;IAhCiB,WAAW,CAAC,IAAoB;;YAC1C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzC,IAAI,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,OAAO,MAAM,CAAC;YACrD,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;KAAA;IAEa,SAAS,CAAC,IAAoB;;YACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,mDAAmD,gBAAgB,EAAE,CAAC,CAAC;YAC3F,CAAC;YAED,OAAO,UAAU,CAAC;QACtB,CAAC;KAAA;IAEK,SAAS,CAAC,IAAoB;;YAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;KAAA;IAEK,WAAW,CAAC,IAAoB;;YAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;KAAA;IAEK,SAAS,CAAC,IAAoB;;YAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;KAAA;CACJ;AAnCD,4CAmCC","sourcesContent":["import type {\n CredentialBlob,\n CredentialClaims,\n CredentialMetadata,\n CredentialSchema,\n DocumentFlavor,\n Flavor,\n} from './types';\nimport { Vcdm11Flavor } from './flavor/vcdm1_1';\nimport { Vcdm20Flavor } from './flavor/vcdm2_0';\n\nexport class CredentialFlavor implements Flavor {\n private supportedFlavors: DocumentFlavor[] = [new Vcdm11Flavor(), new Vcdm20Flavor()];\n\n private async matchFlavor(blob: CredentialBlob): Promise<DocumentFlavor | undefined> {\n for (const flavor of this.supportedFlavors) {\n if (await flavor.isOfFlavor(blob)) return flavor;\n }\n return undefined;\n }\n\n private async getFlavor(blob: CredentialBlob): Promise<DocumentFlavor> {\n const blobFlavor = await this.matchFlavor(blob);\n\n if (!blobFlavor) {\n const knownFlavorKinds = this.supportedFlavors.map((flavor) => flavor.kind);\n throw new Error(`Received blob does not match any known flavors: ${knownFlavorKinds}`);\n }\n\n return blobFlavor;\n }\n\n async getClaims(blob: CredentialBlob): Promise<CredentialClaims> {\n const flavor = await this.getFlavor(blob);\n return flavor.getClaims(blob);\n }\n\n async getMetadata(blob: CredentialBlob): Promise<CredentialMetadata> {\n const flavor = await this.getFlavor(blob);\n return flavor.getMetadata(blob);\n }\n\n async getSchema(blob: CredentialBlob): Promise<CredentialSchema | undefined> {\n const flavor = await this.getFlavor(blob);\n return flavor.getSchema(blob);\n }\n}\n"]}
@@ -15,20 +15,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const fs_1 = __importDefault(require("fs"));
16
16
  const path_1 = __importDefault(require("path"));
17
17
  const flavor_1 = require("./flavor");
18
- const readTestDataFile = (filepath) => fs_1.default.readFileSync(path_1.default.join(__dirname, './testdata', filepath));
18
+ const readTestDataFile = (filepath) => new Blob([fs_1.default.readFileSync(path_1.default.join(__dirname, './testdata', filepath))]);
19
19
  describe('CredentialFlavor', () => {
20
20
  const flavor = new flavor_1.CredentialFlavor();
21
21
  describe.each([1, 2])(`VCDM v%s`, (version) => {
22
22
  const credential = readTestDataFile(`credentials/credential-v${version}.json`);
23
23
  it('should return claims from a VC blob', () => __awaiter(void 0, void 0, void 0, function* () {
24
- const claims = flavor.getClaims(credential);
24
+ const claims = yield flavor.getClaims(credential);
25
25
  expect(claims).toEqual({
26
26
  bar: 'bar',
27
27
  baz: 'baz',
28
28
  });
29
29
  }));
30
30
  it('should return metadata from blob', () => __awaiter(void 0, void 0, void 0, function* () {
31
- const metadata = flavor.getMetadata(credential);
31
+ const metadata = yield flavor.getMetadata(credential);
32
32
  expect(metadata).toEqual({
33
33
  id: 'did:example:123',
34
34
  subject: 'did:example:456',
@@ -1 +1 @@
1
- {"version":3,"file":"flavor.spec.js","sourceRoot":"","sources":["../../../src/documents/credential/flavor.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,qCAA4C;AAE5C,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAU,EAAE,CAAC,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAIrH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,MAAM,MAAM,GAAG,IAAI,yBAAgB,EAAE,CAAC;IAEtC,QAAQ,CAAC,IAAI,CAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,gBAAgB,CAAC,2BAA2B,OAAO,OAAO,CAAC,CAAC;QAE/E,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAE5C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,KAAK;aACb,CAAC,CAAC;QACP,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAS,EAAE;YAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBACrB,EAAE,EAAE,iBAAiB;gBACrB,OAAO,EAAE,iBAAiB;gBAC1B,MAAM,EAAE,oCAAoC;gBAC5C,SAAS,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,SAAS;aAC1E,CAAC,CAAC;QACP,CAAC,CAAA,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAS,EAAE;QAC/C,MAAM,UAAU,GAAG,gBAAgB,CAAC,8CAA8C,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YACzB,OAAO,EAAE,8CAA8C;YACvD,GAAG,EAAE,wBAAwB;SAChC,CAAC,CAAC;IACP,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { CredentialFlavor } from './flavor';\n\nconst readTestDataFile = (filepath: string): Buffer => fs.readFileSync(path.join(__dirname, './testdata', filepath));\n\ntype VcdmVersion = number;\n\ndescribe('CredentialFlavor', () => {\n const flavor = new CredentialFlavor();\n\n describe.each<VcdmVersion>([1, 2])(`VCDM v%s`, (version) => {\n const credential = readTestDataFile(`credentials/credential-v${version}.json`);\n\n it('should return claims from a VC blob', async () => {\n const claims = flavor.getClaims(credential);\n\n expect(claims).toEqual({\n bar: 'bar',\n baz: 'baz',\n });\n });\n\n it('should return metadata from blob', async () => {\n const metadata = flavor.getMetadata(credential);\n\n expect(metadata).toEqual({\n id: 'did:example:123',\n subject: 'did:example:456',\n issuer: 'https://example.edu/issuers/565049',\n validFrom: version === 1 ? new Date('2024-09-13T13:10:52Z') : undefined,\n });\n });\n });\n\n it('should return inlined json schema', async () => {\n const credential = readTestDataFile(`credentials/credential-with-json-schema.json`);\n const schema = await flavor.getSchema(credential);\n\n expect(schema).toMatchObject({\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'urn:json-schema:struct',\n });\n });\n});\n"]}
1
+ {"version":3,"file":"flavor.spec.js","sourceRoot":"","sources":["../../../src/documents/credential/flavor.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,qCAA4C;AAE5C,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAQ,EAAE,CAChD,IAAI,IAAI,CAAC,CAAC,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAI9E,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,MAAM,MAAM,GAAG,IAAI,yBAAgB,EAAE,CAAC;IAEtC,QAAQ,CAAC,IAAI,CAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,gBAAgB,CAAC,2BAA2B,OAAO,OAAO,CAAC,CAAC;QAE/E,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,KAAK;aACb,CAAC,CAAC;QACP,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAS,EAAE;YAC9C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEtD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBACrB,EAAE,EAAE,iBAAiB;gBACrB,OAAO,EAAE,iBAAiB;gBAC1B,MAAM,EAAE,oCAAoC;gBAC5C,SAAS,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,SAAS;aAC1E,CAAC,CAAC;QACP,CAAC,CAAA,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAS,EAAE;QAC/C,MAAM,UAAU,GAAG,gBAAgB,CAAC,8CAA8C,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YACzB,OAAO,EAAE,8CAA8C;YACvD,GAAG,EAAE,wBAAwB;SAChC,CAAC,CAAC;IACP,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { CredentialFlavor } from './flavor';\n\nconst readTestDataFile = (filepath: string): Blob =>\n new Blob([fs.readFileSync(path.join(__dirname, './testdata', filepath))]);\n\ntype VcdmVersion = number;\n\ndescribe('CredentialFlavor', () => {\n const flavor = new CredentialFlavor();\n\n describe.each<VcdmVersion>([1, 2])(`VCDM v%s`, (version) => {\n const credential = readTestDataFile(`credentials/credential-v${version}.json`);\n\n it('should return claims from a VC blob', async () => {\n const claims = await flavor.getClaims(credential);\n\n expect(claims).toEqual({\n bar: 'bar',\n baz: 'baz',\n });\n });\n\n it('should return metadata from blob', async () => {\n const metadata = await flavor.getMetadata(credential);\n\n expect(metadata).toEqual({\n id: 'did:example:123',\n subject: 'did:example:456',\n issuer: 'https://example.edu/issuers/565049',\n validFrom: version === 1 ? new Date('2024-09-13T13:10:52Z') : undefined,\n });\n });\n });\n\n it('should return inlined json schema', async () => {\n const credential = readTestDataFile(`credentials/credential-with-json-schema.json`);\n const schema = await flavor.getSchema(credential);\n\n expect(schema).toMatchObject({\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'urn:json-schema:struct',\n });\n });\n});\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { UpdatePayload, UserUpdateClaims } from '../types';
2
2
  import { DraftFieldBooleanValue, DraftFieldDateTimeValue, DraftFieldDateValue, DraftFieldFileValue, DraftFieldLinkValue, DraftFieldNumberValue, DraftFieldStringValue, DraftFieldStructValue } from '../../api';
3
3
  export type Claims = Record<string, any>;
4
- export type CredentialBlob = Buffer;
4
+ export type CredentialBlob = Blob;
5
5
  export type DraftDataDescriptor = {
6
6
  meta?: {
7
7
  subject?: string;
@@ -22,13 +22,13 @@ export type CredentialMetadata = DraftMetadata & {
22
22
  export type CredentialClaims = Record<string, unknown>;
23
23
  export type CredentialSchema = Record<string, unknown>;
24
24
  export type Flavor<T = CredentialClaims> = {
25
- getClaims: (blob: CredentialBlob) => T;
26
- getMetadata: (blob: CredentialBlob) => CredentialMetadata;
25
+ getClaims: (blob: CredentialBlob) => Promise<T>;
26
+ getMetadata: (blob: CredentialBlob) => Promise<CredentialMetadata>;
27
27
  getSchema: (blob: CredentialBlob) => Promise<CredentialSchema | undefined>;
28
28
  };
29
29
  export type DocumentFlavor = Flavor & {
30
30
  kind: string;
31
- isOfFlavor: (blob: CredentialBlob) => boolean;
31
+ isOfFlavor: (blob: CredentialBlob) => Promise<boolean>;
32
32
  };
33
33
  export type UpdatePayloadWithClaims<T extends Claims> = UpdatePayload & {
34
34
  claims?: UserUpdateClaims<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EACH,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,CAAC,EAAE;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,IAAI,CAAC;KACrB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvD,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,gBAAgB,IAAI;IACvC,SAAS,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,CAAC;IACvC,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,kBAAkB,CAAC;IAC1D,SAAS,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;CAC9E,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,GAAG;IACpE,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvC,MAAM,MAAM,eAAe,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EACH,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC;AAElC,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,CAAC,EAAE;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,IAAI,CAAC;KACrB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvD,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,gBAAgB,IAAI;IACvC,SAAS,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAChD,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnE,SAAS,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;CAC9E,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,GAAG;IACpE,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvC,MAAM,MAAM,eAAe,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/documents/credential/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { UpdatePayload, UserUpdateClaims } from '../types';\nimport {\n DraftFieldBooleanValue,\n DraftFieldDateTimeValue,\n DraftFieldDateValue,\n DraftFieldFileValue,\n DraftFieldLinkValue,\n DraftFieldNumberValue,\n DraftFieldStringValue,\n DraftFieldStructValue,\n} from '../../api';\n\nexport type Claims = Record<string, any>;\n\nexport type CredentialBlob = Buffer;\n\nexport type DraftDataDescriptor = {\n meta?: {\n subject?: string;\n validUntil?: Date;\n };\n values?: Claims;\n};\n\nexport type DraftMetadata = {\n subject?: string;\n validUntil?: Date;\n};\n\nexport type CredentialMetadata = DraftMetadata & {\n id: string;\n issuer: string;\n validFrom?: Date;\n holder?: string;\n};\n\nexport type CredentialClaims = Record<string, unknown>;\n\nexport type CredentialSchema = Record<string, unknown>;\n\nexport type Flavor<T = CredentialClaims> = {\n getClaims: (blob: CredentialBlob) => T;\n getMetadata: (blob: CredentialBlob) => CredentialMetadata;\n getSchema: (blob: CredentialBlob) => Promise<CredentialSchema | undefined>;\n};\n\nexport type DocumentFlavor = Flavor & {\n kind: string;\n isOfFlavor: (blob: CredentialBlob) => boolean;\n};\n\nexport type UpdatePayloadWithClaims<T extends Claims> = UpdatePayload & {\n claims?: UserUpdateClaims<T>;\n metadata?: DraftMetadata;\n};\n\nexport type Json = Record<string, any>;\n\nexport type DraftFieldValue =\n | DraftFieldBooleanValue\n | DraftFieldDateTimeValue\n | DraftFieldDateValue\n | DraftFieldFileValue\n | DraftFieldLinkValue\n | DraftFieldNumberValue\n | DraftFieldStringValue\n | DraftFieldStructValue;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/documents/credential/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { UpdatePayload, UserUpdateClaims } from '../types';\nimport {\n DraftFieldBooleanValue,\n DraftFieldDateTimeValue,\n DraftFieldDateValue,\n DraftFieldFileValue,\n DraftFieldLinkValue,\n DraftFieldNumberValue,\n DraftFieldStringValue,\n DraftFieldStructValue,\n} from '../../api';\n\nexport type Claims = Record<string, any>;\n\nexport type CredentialBlob = Blob;\n\nexport type DraftDataDescriptor = {\n meta?: {\n subject?: string;\n validUntil?: Date;\n };\n values?: Claims;\n};\n\nexport type DraftMetadata = {\n subject?: string;\n validUntil?: Date;\n};\n\nexport type CredentialMetadata = DraftMetadata & {\n id: string;\n issuer: string;\n validFrom?: Date;\n holder?: string;\n};\n\nexport type CredentialClaims = Record<string, unknown>;\n\nexport type CredentialSchema = Record<string, unknown>;\n\nexport type Flavor<T = CredentialClaims> = {\n getClaims: (blob: CredentialBlob) => Promise<T>;\n getMetadata: (blob: CredentialBlob) => Promise<CredentialMetadata>;\n getSchema: (blob: CredentialBlob) => Promise<CredentialSchema | undefined>;\n};\n\nexport type DocumentFlavor = Flavor & {\n kind: string;\n isOfFlavor: (blob: CredentialBlob) => Promise<boolean>;\n};\n\nexport type UpdatePayloadWithClaims<T extends Claims> = UpdatePayload & {\n claims?: UserUpdateClaims<T>;\n metadata?: DraftMetadata;\n};\n\nexport type Json = Record<string, any>;\n\nexport type DraftFieldValue =\n | DraftFieldBooleanValue\n | DraftFieldDateTimeValue\n | DraftFieldDateValue\n | DraftFieldFileValue\n | DraftFieldLinkValue\n | DraftFieldNumberValue\n | DraftFieldStringValue\n | DraftFieldStructValue;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"verifiable.d.ts","sourceRoot":"","sources":["../../../../src/documents/credential/verifiable/verifiable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,qBAAa,oBAAoB;IAIzB,SAAS,CAAC,MAAM,EAAE,SAAS;IACpB,UAAU,EAAE,oBAAoB;IACvC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc;IALnC,SAAS,CAAC,MAAM,mBAA0B;gBAG5B,MAAM,EAAE,SAAS,EACpB,UAAU,EAAE,oBAAoB,EAC7B,IAAI,CAAC,EAAE,cAAc,YAAA;IAGnC,kBAAkB,IAAI,gBAAgB,CAAC,OAAO,CAAC;IAIzC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAalC,WAAW,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAI1C,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAQrC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAGlD"}
1
+ {"version":3,"file":"verifiable.d.ts","sourceRoot":"","sources":["../../../../src/documents/credential/verifiable/verifiable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,qBAAa,oBAAoB;IAIzB,SAAS,CAAC,MAAM,EAAE,SAAS;IACpB,UAAU,EAAE,oBAAoB;IACvC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc;IALnC,SAAS,CAAC,MAAM,mBAA0B;gBAG5B,MAAM,EAAE,SAAS,EACpB,UAAU,EAAE,oBAAoB,EAC7B,IAAI,CAAC,EAAE,cAAc,YAAA;IAGnC,kBAAkB,IAAI,gBAAgB,CAAC,OAAO,CAAC;IAIzC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAalC,WAAW,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAI1C,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAQrC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAGlD"}
@@ -44,7 +44,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
45
  exports.VerifiableCredential = void 0;
46
46
  const idempotency_1 = require("../../utils/idempotency");
47
- const stream_1 = require("../../utils/stream");
48
47
  const models_1 = require("../../models");
49
48
  const flavor_1 = require("../flavor");
50
49
  class VerifiableCredential {
@@ -61,7 +60,7 @@ class VerifiableCredential {
61
60
  return __awaiter(this, void 0, void 0, function* () {
62
61
  if (!this.blob) {
63
62
  const response = yield this.client.credentials.credentialDownload(this.descriptor.id, this.descriptor.revision);
64
- this.blob = yield (0, stream_1.buffer)(response);
63
+ this.blob = yield response.blob();
65
64
  }
66
65
  return this.blob;
67
66
  });
@@ -1 +1 @@
1
- {"version":3,"file":"verifiable.js","sourceRoot":"","sources":["../../../../src/documents/credential/verifiable/verifiable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yDAAsD;AACtD,+CAA4C;AAE5C,yCAAgD;AAEhD,sCAA6C;AAE7C,MAAa,oBAAoB;IAG7B,YACc,MAAiB,EACpB,UAAgC,EAC7B,IAAqB;QAFrB,WAAM,GAAN,MAAM,CAAW;QACpB,eAAU,GAAV,UAAU,CAAsB;QAC7B,SAAI,GAAJ,IAAI,CAAiB;QALzB,WAAM,GAAG,IAAI,yBAAgB,EAAE,CAAC;IAMvC,CAAC;IAEJ,kBAAkB;QACd,OAAO,IAAI,yBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACvG,CAAC;IAEK,OAAO;;YACT,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAC7D,IAAI,CAAC,UAAU,CAAC,EAAE,EAClB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC3B,CAAC;gBAEF,IAAI,CAAC,IAAI,GAAG,MAAM,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;KAAA;IAEK,WAAW;;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;KAAA;IAEK,MAAM;;YACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAElF,OAAO;gBACH,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;aACrC,CAAC;QACN,CAAC;KAAA;IAEK,IAAI,CAAC,QAAgB,EAAE,YAAoB;;YAC7C,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,oBAAoB,GAAC,CAAC,CAAC,oDAAoD;YAEhH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;YAErE,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;KAAA;IAEK,MAAM;;YACR,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;gBAC/D,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;gBAC7B,cAAc,EAAE,IAAA,yBAAW,EAAC,QAAQ,CAAC;aACxC,CAAC,CAAC;QACP,CAAC;KAAA;IAEK,UAAU;;YACZ,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpG,CAAC;KAAA;CACJ;AAzDD,oDAyDC","sourcesContent":["import { ResourceCredential } from '../../../api';\nimport { generateKey } from '../../utils/idempotency';\nimport { buffer } from '../../utils/stream';\nimport type { ApiClient, CredentialDescriptor, VerificationResult } from '../../types';\nimport { LinkedCredential } from '../../models';\nimport type { CredentialBlob, CredentialMetadata } from '../types';\nimport { CredentialFlavor } from '../flavor';\n\nexport class VerifiableCredential {\n protected flavor = new CredentialFlavor();\n\n constructor(\n protected client: ApiClient,\n public descriptor: CredentialDescriptor,\n protected blob?: CredentialBlob,\n ) {}\n\n toLinkedCredential(): LinkedCredential<unknown> {\n return new LinkedCredential(this.client, this.descriptor.id, this.descriptor.data.digestMultibase);\n }\n\n async getBlob(): Promise<CredentialBlob> {\n if (!this.blob) {\n const response = await this.client.credentials.credentialDownload(\n this.descriptor.id,\n this.descriptor.revision,\n );\n\n this.blob = await buffer(response);\n }\n\n return this.blob;\n }\n\n async getMetaData(): Promise<CredentialMetadata> {\n return this.flavor.getMetadata(await this.getBlob());\n }\n\n async verify(): Promise<VerificationResult> {\n const result = await this.client.credentials.credentialVerify(this.descriptor.id);\n\n return {\n verified: result.verified || false,\n };\n }\n\n async send(targetId: string, privateKeyId: string): Promise<void> {\n const { VpDecorator } = await import('../../presentation'); // using dynamic import to break circular dependency\n\n const vpDecorator = new VpDecorator(this.client);\n const vpPresentation = await vpDecorator.issue([this], privateKeyId);\n\n return vpPresentation.send(targetId, privateKeyId);\n }\n\n async delete(): Promise<void> {\n await this.client.credentials.credentialDelete(this.descriptor.id, {\n ifMatch: this.descriptor.etag,\n idempotencyKey: generateKey('delete'),\n });\n }\n\n async toResource(): Promise<ResourceCredential> {\n return this.client.credentials.credentialRevision(this.descriptor.id, this.descriptor.revision);\n }\n}\n"]}
1
+ {"version":3,"file":"verifiable.js","sourceRoot":"","sources":["../../../../src/documents/credential/verifiable/verifiable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yDAAsD;AAEtD,yCAAgD;AAEhD,sCAA6C;AAE7C,MAAa,oBAAoB;IAG7B,YACc,MAAiB,EACpB,UAAgC,EAC7B,IAAqB;QAFrB,WAAM,GAAN,MAAM,CAAW;QACpB,eAAU,GAAV,UAAU,CAAsB;QAC7B,SAAI,GAAJ,IAAI,CAAiB;QALzB,WAAM,GAAG,IAAI,yBAAgB,EAAE,CAAC;IAMvC,CAAC;IAEJ,kBAAkB;QACd,OAAO,IAAI,yBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACvG,CAAC;IAEK,OAAO;;YACT,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAC7D,IAAI,CAAC,UAAU,CAAC,EAAE,EAClB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC3B,CAAC;gBAEF,IAAI,CAAC,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtC,CAAC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;KAAA;IAEK,WAAW;;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;KAAA;IAEK,MAAM;;YACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAElF,OAAO;gBACH,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;aACrC,CAAC;QACN,CAAC;KAAA;IAEK,IAAI,CAAC,QAAgB,EAAE,YAAoB;;YAC7C,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,oBAAoB,GAAC,CAAC,CAAC,oDAAoD;YAEhH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;YAErE,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;KAAA;IAEK,MAAM;;YACR,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;gBAC/D,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;gBAC7B,cAAc,EAAE,IAAA,yBAAW,EAAC,QAAQ,CAAC;aACxC,CAAC,CAAC;QACP,CAAC;KAAA;IAEK,UAAU;;YACZ,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpG,CAAC;KAAA;CACJ;AAzDD,oDAyDC","sourcesContent":["import { ResourceCredential } from '../../../api';\nimport { generateKey } from '../../utils/idempotency';\nimport type { ApiClient, CredentialDescriptor, VerificationResult } from '../../types';\nimport { LinkedCredential } from '../../models';\nimport type { CredentialBlob, CredentialMetadata } from '../types';\nimport { CredentialFlavor } from '../flavor';\n\nexport class VerifiableCredential {\n protected flavor = new CredentialFlavor();\n\n constructor(\n protected client: ApiClient,\n public descriptor: CredentialDescriptor,\n protected blob?: CredentialBlob,\n ) {}\n\n toLinkedCredential(): LinkedCredential<unknown> {\n return new LinkedCredential(this.client, this.descriptor.id, this.descriptor.data.digestMultibase);\n }\n\n async getBlob(): Promise<CredentialBlob> {\n if (!this.blob) {\n const response = await this.client.credentials.credentialDownload(\n this.descriptor.id,\n this.descriptor.revision,\n );\n\n this.blob = await response.blob();\n }\n\n return this.blob;\n }\n\n async getMetaData(): Promise<CredentialMetadata> {\n return this.flavor.getMetadata(await this.getBlob());\n }\n\n async verify(): Promise<VerificationResult> {\n const result = await this.client.credentials.credentialVerify(this.descriptor.id);\n\n return {\n verified: result.verified || false,\n };\n }\n\n async send(targetId: string, privateKeyId: string): Promise<void> {\n const { VpDecorator } = await import('../../presentation'); // using dynamic import to break circular dependency\n\n const vpDecorator = new VpDecorator(this.client);\n const vpPresentation = await vpDecorator.issue([this], privateKeyId);\n\n return vpPresentation.send(targetId, privateKeyId);\n }\n\n async delete(): Promise<void> {\n await this.client.credentials.credentialDelete(this.descriptor.id, {\n ifMatch: this.descriptor.etag,\n idempotencyKey: generateKey('delete'),\n });\n }\n\n async toResource(): Promise<ResourceCredential> {\n return this.client.credentials.credentialRevision(this.descriptor.id, this.descriptor.revision);\n }\n}\n"]}
@@ -24,7 +24,7 @@ class VerifiableCredentialWithClaims extends verifiable_1.VerifiableCredential {
24
24
  }
25
25
  getClaims() {
26
26
  return __awaiter(this, void 0, void 0, function* () {
27
- return this.claims.unmarshalValuesToCredential(this.flavor.getClaims(yield this.getBlob()));
27
+ return this.claims.unmarshalValuesToCredential(yield this.flavor.getClaims(yield this.getBlob()));
28
28
  });
29
29
  }
30
30
  update(request) {
@@ -1 +1 @@
1
- {"version":3,"file":"with-claims.js","sourceRoot":"","sources":["../../../../src/documents/credential/verifiable/with-claims.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6CAAoD;AACpD,sCAAsC;AAKtC,MAAa,8BAAiD,SAAQ,iCAAoB;IAGtF,YACI,MAAiB,EACP,MAAwB,EAC1B,WAAoB,EAC5B,UAAgC,EAChC,IAAqB;QAErB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QALtB,WAAM,GAAN,MAAM,CAAkB;QAC1B,gBAAW,GAAX,WAAW,CAAS;QALxB,WAAM,GAAG,IAAI,kBAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAU9D,CAAC;IAED,kBAAkB;QACd,OAAO,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACtC,CAAC;IAEK,SAAS;;YACX,OAAO,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChG,CAAC;KAAA;IAEK,MAAM,CAAC,OAAsB;;YAC/B,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;YAEzC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;oBAC/F,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,OAAO,CAAC,MAAM;iBACzB,CAAC,CAAC;gBAEH,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC9B,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;YAC1C,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;oBACpG,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,OAAO,CAAC,WAAW;iBACnC,CAAC,CAAC;gBAEH,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC9B,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;YAC1C,CAAC;YAED,OAAO,IAAI,8BAA8B,CACrC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,kCAET,IAAI,CAAC,UAAU,KAClB,IAAI;gBACJ,QAAQ,KAEZ,IAAI,CAAC,IAAI,CACZ,CAAC;QACN,CAAC;KAAA;CACJ;AAxDD,wEAwDC","sourcesContent":["import { ApiClient, CredentialDescriptor, ReadClaims, Ctor, UpdatePayload } from '../../types';\nimport { VerifiableCredential } from './verifiable';\nimport { UdtClaims } from '../claims';\nimport { CredentialFlavor } from '../flavor';\nimport { Claims, CredentialBlob } from '../types';\nimport { LinkedCredential } from '../../models';\n\nexport class VerifiableCredentialWithClaims<T extends Claims> extends VerifiableCredential {\n private claims = new UdtClaims(this.client, this.claimsModel);\n\n constructor(\n client: ApiClient,\n protected flavor: CredentialFlavor,\n private claimsModel: Ctor<T>,\n descriptor: CredentialDescriptor,\n blob?: CredentialBlob,\n ) {\n super(client, descriptor, blob);\n }\n\n toLinkedCredential(): LinkedCredential<T> {\n return super.toLinkedCredential();\n }\n\n async getClaims(): Promise<ReadClaims<T>> {\n return this.claims.unmarshalValuesToCredential(this.flavor.getClaims(await this.getBlob()));\n }\n\n async update(request: UpdatePayload): Promise<VerifiableCredentialWithClaims<T>> {\n let { etag, revision } = this.descriptor;\n\n if (request.labels) {\n const updatedCredential = await this.client.credentials.credentialUpdateLabels(this.descriptor.id, {\n ifMatch: etag,\n labels: request.labels,\n });\n\n etag = updatedCredential.etag;\n revision = updatedCredential.revision;\n }\n\n if (request.annotations) {\n const updatedCredential = await this.client.credentials.credentialUpdateAnnotations(this.descriptor.id, {\n ifMatch: etag,\n annotations: request.annotations,\n });\n\n etag = updatedCredential.etag;\n revision = updatedCredential.revision;\n }\n\n return new VerifiableCredentialWithClaims(\n this.client,\n this.flavor,\n this.claimsModel,\n {\n ...this.descriptor,\n etag,\n revision,\n },\n this.blob,\n );\n }\n}\n"]}
1
+ {"version":3,"file":"with-claims.js","sourceRoot":"","sources":["../../../../src/documents/credential/verifiable/with-claims.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6CAAoD;AACpD,sCAAsC;AAKtC,MAAa,8BAAiD,SAAQ,iCAAoB;IAGtF,YACI,MAAiB,EACP,MAAwB,EAC1B,WAAoB,EAC5B,UAAgC,EAChC,IAAqB;QAErB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QALtB,WAAM,GAAN,MAAM,CAAkB;QAC1B,gBAAW,GAAX,WAAW,CAAS;QALxB,WAAM,GAAG,IAAI,kBAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAU9D,CAAC;IAED,kBAAkB;QACd,OAAO,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACtC,CAAC;IAEK,SAAS;;YACX,OAAO,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtG,CAAC;KAAA;IAEK,MAAM,CAAC,OAAsB;;YAC/B,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;YAEzC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;oBAC/F,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,OAAO,CAAC,MAAM;iBACzB,CAAC,CAAC;gBAEH,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC9B,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;YAC1C,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;oBACpG,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,OAAO,CAAC,WAAW;iBACnC,CAAC,CAAC;gBAEH,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC9B,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;YAC1C,CAAC;YAED,OAAO,IAAI,8BAA8B,CACrC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,kCAET,IAAI,CAAC,UAAU,KAClB,IAAI;gBACJ,QAAQ,KAEZ,IAAI,CAAC,IAAI,CACZ,CAAC;QACN,CAAC;KAAA;CACJ;AAxDD,wEAwDC","sourcesContent":["import { ApiClient, CredentialDescriptor, ReadClaims, Ctor, UpdatePayload } from '../../types';\nimport { VerifiableCredential } from './verifiable';\nimport { UdtClaims } from '../claims';\nimport { CredentialFlavor } from '../flavor';\nimport { Claims, CredentialBlob } from '../types';\nimport { LinkedCredential } from '../../models';\n\nexport class VerifiableCredentialWithClaims<T extends Claims> extends VerifiableCredential {\n private claims = new UdtClaims(this.client, this.claimsModel);\n\n constructor(\n client: ApiClient,\n protected flavor: CredentialFlavor,\n private claimsModel: Ctor<T>,\n descriptor: CredentialDescriptor,\n blob?: CredentialBlob,\n ) {\n super(client, descriptor, blob);\n }\n\n toLinkedCredential(): LinkedCredential<T> {\n return super.toLinkedCredential();\n }\n\n async getClaims(): Promise<ReadClaims<T>> {\n return this.claims.unmarshalValuesToCredential(await this.flavor.getClaims(await this.getBlob()));\n }\n\n async update(request: UpdatePayload): Promise<VerifiableCredentialWithClaims<T>> {\n let { etag, revision } = this.descriptor;\n\n if (request.labels) {\n const updatedCredential = await this.client.credentials.credentialUpdateLabels(this.descriptor.id, {\n ifMatch: etag,\n labels: request.labels,\n });\n\n etag = updatedCredential.etag;\n revision = updatedCredential.revision;\n }\n\n if (request.annotations) {\n const updatedCredential = await this.client.credentials.credentialUpdateAnnotations(this.descriptor.id, {\n ifMatch: etag,\n annotations: request.annotations,\n });\n\n etag = updatedCredential.etag;\n revision = updatedCredential.revision;\n }\n\n return new VerifiableCredentialWithClaims(\n this.client,\n this.flavor,\n this.claimsModel,\n {\n ...this.descriptor,\n etag,\n revision,\n },\n this.blob,\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"credential.d.ts","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,SAAS,EAET,IAAI,EACJ,SAAS,EAET,4BAA4B,EAC5B,aAAa,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAiB,kBAAkB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAI1E,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAIrF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,MAAM,IAAI;IACzD,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,8BAA8B,CAAC,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC;AAEzG,qBAAa,WAAW,CAAC,CAAC,SAAS,MAAM;IAKjC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IALvB,QAAQ,CAAC,MAAM,mBAAiC;IAChD,OAAO,CAAC,MAAM,CAAgD;gBAGlD,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAGhC,SAAS,CAAC,sBAAsB,IAAI,gBAAgB;IAIpD,MAAM,IAAI,MAAM;IAYhB,iBAAiB,IAAI,MAAM;IAY3B,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB,GAAG,OAAO;IAI1D,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,yBAAyB,CAAC,CAAC,CAAC;IACvD,GAAG,CAAC,KAAK,EAAE,kBAAkB,GAAG,8BAA8B,CAAC,CAAC,CAAC;YAyBnD,UAAU;IA6BlB,MAAM,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAkBnF,KAAK,CACP,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;IAIvC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAQjF,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;IAQ3F,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IA2BjE,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;CAK/G"}
1
+ {"version":3,"file":"credential.d.ts","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAET,IAAI,EACJ,SAAS,EAET,4BAA4B,EAC5B,aAAa,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAiB,kBAAkB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAI1E,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAIrF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,MAAM,IAAI;IACzD,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,8BAA8B,CAAC,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC;AAEzG,qBAAa,WAAW,CAAC,CAAC,SAAS,MAAM;IAKjC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IALvB,QAAQ,CAAC,MAAM,mBAAiC;IAChD,OAAO,CAAC,MAAM,CAAgD;gBAGlD,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAGhC,SAAS,CAAC,sBAAsB,IAAI,gBAAgB;IAIpD,MAAM,IAAI,MAAM;IAYhB,iBAAiB,IAAI,MAAM;IAY3B,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB,GAAG,OAAO;IAI1D,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,yBAAyB,CAAC,CAAC,CAAC;IACvD,GAAG,CAAC,KAAK,EAAE,kBAAkB,GAAG,8BAA8B,CAAC,CAAC,CAAC;YAyBnD,UAAU;IA6BlB,MAAM,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAkBnF,KAAK,CACP,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;IAIvC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAQjF,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;IAQ3F,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IA2BjE,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;CAK/G"}
@@ -8,12 +8,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.VcDecorator = void 0;
16
- const node_fetch_1 = __importDefault(require("node-fetch"));
17
13
  const types_1 = require("./types");
18
14
  const api_1 = require("../api");
19
15
  const decorators_1 = require("./decorators");
@@ -72,7 +68,7 @@ class VcDecorator {
72
68
  const { blobId, uploadUri } = yield this.client.credentials.credentialUpload({
73
69
  idempotencyKey,
74
70
  });
75
- yield (0, node_fetch_1.default)(uploadUri, {
71
+ yield fetch(uploadUri, {
76
72
  method: 'PUT',
77
73
  body: blob,
78
74
  });
@@ -1 +1 @@
1
- {"version":3,"file":"credential.js","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"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","sourcesContent":["import fetch from 'node-fetch';\n\nimport {\n ApiClient,\n CredentialDescriptor,\n Ctor,\n BlobInput,\n isResourceCredential,\n UpdatePayloadWithIssueClaims,\n UpdatePayload,\n} from './types';\nimport { NotFoundError, ResourceCredential, ResourceDraft } from '../api';\nimport { getContextJsonLdMetadata } from './decorators';\nimport { generateKey } from './utils/idempotency';\nimport { draftMetadataToApiDraftMeta, strictlyConvertToApiType } from './utils/converters';\nimport { Claims, UpdatePayloadWithClaims } from './credential/types';\nimport { UdtClaims } from './credential/claims';\nimport { DraftCredentialWithClaims } from './credential/draft/with-claims';\nimport { CredentialFlavor } from './credential/flavor';\nimport { VerifiableCredentialWithClaims } from './credential/verifiable/with-claims';\nimport { verifiableCredentialDataSchema } from './schemas';\nimport { DocumentedError, ErrorCode } from './utils/error';\n\nexport type CredentialEnvelope<T extends Claims> = {\n isVerifiable: false;\n credential: DraftCredentialWithClaims<T>;\n};\n\nexport type VerifiableCredentialEnvelope<T extends Claims> = {\n isVerifiable: true;\n credential: VerifiableCredentialWithClaims<T>;\n};\n\nexport type LoadedCredential<T extends Claims> = CredentialEnvelope<T> | VerifiableCredentialEnvelope<T>;\n\nexport class VcDecorator<T extends Claims> {\n readonly flavor = this.createCredentialFlavor();\n private claims = new UdtClaims(this.client, this.claimsModel);\n\n constructor(\n private client: ApiClient,\n private claimsModel: Ctor<T>,\n ) {}\n\n protected createCredentialFlavor(): CredentialFlavor {\n return new CredentialFlavor();\n }\n\n getIri(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new DocumentedError(\n ErrorCode.VcContextAnnotationMissing,\n \"Can't find IRI information. Make sure you have defined the claims model with the @VcContext decorator.\",\n );\n\n return `${vcContextMetadata.namespace}#${vcContextMetadata.name}`;\n }\n\n getCredentialTerm(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new DocumentedError(\n ErrorCode.VcContextAnnotationMissing,\n \"Can't find credential term information. Make sure you have defined the claims model with the @VcContext decorator\",\n );\n\n return `${vcContextMetadata.name}Credential`;\n }\n\n canMap(input: ResourceDraft | ResourceCredential): boolean {\n return input.data.type.includes(this.getCredentialTerm());\n }\n\n map(input: ResourceDraft): DraftCredentialWithClaims<T>;\n map(input: ResourceCredential): VerifiableCredentialWithClaims<T>;\n map(input: ResourceDraft | ResourceCredential): VerifiableCredentialWithClaims<T> | DraftCredentialWithClaims<T> {\n if (isResourceCredential(input)) {\n // ResourceCredential\n if (!this.canMap(input)) {\n throw new DocumentedError(\n ErrorCode.IncompatibleUDT,\n `The received ResourceCredential is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new VerifiableCredentialWithClaims(this.client, this.flavor, this.claimsModel, input);\n } else {\n // ResourceDraft\n if (!this.canMap(input)) {\n throw new DocumentedError(\n ErrorCode.IncompatibleUDT,\n `The received ResourceDraft is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new DraftCredentialWithClaims(this.client, this.flavor, this.claimsModel, input.data, input);\n }\n }\n\n private async importBlob(blob: BlobInput, request?: UpdatePayload): Promise<CredentialDescriptor> {\n const idempotencyKey = generateKey('importBlob');\n const { blobId, uploadUri } = await this.client.credentials.credentialUpload({\n idempotencyKey,\n });\n\n await fetch(uploadUri, {\n method: 'PUT',\n body: blob,\n });\n\n const resourceCredential = await this.client.credentials.credentialImport({\n annotations: request?.annotations,\n labels: request?.labels,\n blobId,\n idempotencyKey,\n });\n\n return {\n data: strictlyConvertToApiType(verifiableCredentialDataSchema, {\n id: resourceCredential.data.id,\n digestMultibase: resourceCredential.data.digestMultibase,\n }),\n id: resourceCredential.id,\n etag: resourceCredential.etag,\n revision: resourceCredential.revision,\n };\n }\n\n async create(request?: UpdatePayloadWithClaims<T>): Promise<DraftCredentialWithClaims<T>> {\n const values = request?.claims ? this.claims.marshalValues(request.claims) : undefined;\n const schema = this.claims.getDraftSchema();\n\n const { id, etag, revision, data } = await this.client.drafts.draftCreate({\n data: {\n schema,\n values,\n meta: draftMetadataToApiDraftMeta(request?.metadata),\n },\n annotations: request?.annotations,\n labels: request?.labels,\n idempotencyKey: generateKey('create'),\n });\n\n return new DraftCredentialWithClaims(this.client, this.flavor, this.claimsModel, data, { id, etag, revision });\n }\n\n async issue(\n privateKeyId: string,\n request: UpdatePayloadWithIssueClaims<T>,\n ): Promise<VerifiableCredentialWithClaims<T>> {\n return (await this.create(request)).issue(privateKeyId);\n }\n\n async loadAsDraft(id: string, revision?: number): Promise<DraftCredentialWithClaims<T>> {\n const resourceDraft = revision\n ? await this.client.drafts.draftRevision(id, revision)\n : await this.client.drafts.draftLatest(id);\n\n return this.map(resourceDraft);\n }\n\n async loadAsCredential(id: string, revision?: number): Promise<VerifiableCredentialWithClaims<T>> {\n const resourceCredential = revision\n ? await this.client.credentials.credentialRevision(id, revision)\n : await this.client.credentials.credentialLatest(id);\n\n return this.map(resourceCredential);\n }\n\n async load(id: string, revision?: number): Promise<LoadedCredential<T>> {\n let verifiableCredential: VerifiableCredentialWithClaims<T> | undefined;\n let draftCredential: DraftCredentialWithClaims<T> | undefined;\n\n try {\n verifiableCredential = await this.loadAsCredential(id, revision);\n } catch (error) {\n if (error instanceof NotFoundError) {\n draftCredential = await this.loadAsDraft(id, revision);\n } else throw error;\n }\n\n if (!draftCredential) {\n if (!verifiableCredential) throw new Error(`Resource with id '${id}' could not be found.`);\n\n return {\n isVerifiable: true,\n credential: verifiableCredential,\n };\n } else {\n return {\n isVerifiable: false,\n credential: draftCredential,\n };\n }\n }\n\n async importCredential(blob: BlobInput, request?: UpdatePayload): Promise<VerifiableCredentialWithClaims<T>> {\n const credential = await this.importBlob(blob, request);\n\n return new VerifiableCredentialWithClaims(this.client, this.flavor, this.claimsModel, credential);\n }\n}\n"]}
1
+ {"version":3,"file":"credential.js","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ApiClient,\n CredentialDescriptor,\n Ctor,\n BlobInput,\n isResourceCredential,\n UpdatePayloadWithIssueClaims,\n UpdatePayload,\n} from './types';\nimport { NotFoundError, ResourceCredential, ResourceDraft } from '../api';\nimport { getContextJsonLdMetadata } from './decorators';\nimport { generateKey } from './utils/idempotency';\nimport { draftMetadataToApiDraftMeta, strictlyConvertToApiType } from './utils/converters';\nimport { Claims, UpdatePayloadWithClaims } from './credential/types';\nimport { UdtClaims } from './credential/claims';\nimport { DraftCredentialWithClaims } from './credential/draft/with-claims';\nimport { CredentialFlavor } from './credential/flavor';\nimport { VerifiableCredentialWithClaims } from './credential/verifiable/with-claims';\nimport { verifiableCredentialDataSchema } from './schemas';\nimport { DocumentedError, ErrorCode } from './utils/error';\n\nexport type CredentialEnvelope<T extends Claims> = {\n isVerifiable: false;\n credential: DraftCredentialWithClaims<T>;\n};\n\nexport type VerifiableCredentialEnvelope<T extends Claims> = {\n isVerifiable: true;\n credential: VerifiableCredentialWithClaims<T>;\n};\n\nexport type LoadedCredential<T extends Claims> = CredentialEnvelope<T> | VerifiableCredentialEnvelope<T>;\n\nexport class VcDecorator<T extends Claims> {\n readonly flavor = this.createCredentialFlavor();\n private claims = new UdtClaims(this.client, this.claimsModel);\n\n constructor(\n private client: ApiClient,\n private claimsModel: Ctor<T>,\n ) {}\n\n protected createCredentialFlavor(): CredentialFlavor {\n return new CredentialFlavor();\n }\n\n getIri(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new DocumentedError(\n ErrorCode.VcContextAnnotationMissing,\n \"Can't find IRI information. Make sure you have defined the claims model with the @VcContext decorator.\",\n );\n\n return `${vcContextMetadata.namespace}#${vcContextMetadata.name}`;\n }\n\n getCredentialTerm(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new DocumentedError(\n ErrorCode.VcContextAnnotationMissing,\n \"Can't find credential term information. Make sure you have defined the claims model with the @VcContext decorator\",\n );\n\n return `${vcContextMetadata.name}Credential`;\n }\n\n canMap(input: ResourceDraft | ResourceCredential): boolean {\n return input.data.type.includes(this.getCredentialTerm());\n }\n\n map(input: ResourceDraft): DraftCredentialWithClaims<T>;\n map(input: ResourceCredential): VerifiableCredentialWithClaims<T>;\n map(input: ResourceDraft | ResourceCredential): VerifiableCredentialWithClaims<T> | DraftCredentialWithClaims<T> {\n if (isResourceCredential(input)) {\n // ResourceCredential\n if (!this.canMap(input)) {\n throw new DocumentedError(\n ErrorCode.IncompatibleUDT,\n `The received ResourceCredential is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new VerifiableCredentialWithClaims(this.client, this.flavor, this.claimsModel, input);\n } else {\n // ResourceDraft\n if (!this.canMap(input)) {\n throw new DocumentedError(\n ErrorCode.IncompatibleUDT,\n `The received ResourceDraft is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new DraftCredentialWithClaims(this.client, this.flavor, this.claimsModel, input.data, input);\n }\n }\n\n private async importBlob(blob: BlobInput, request?: UpdatePayload): Promise<CredentialDescriptor> {\n const idempotencyKey = generateKey('importBlob');\n const { blobId, uploadUri } = await this.client.credentials.credentialUpload({\n idempotencyKey,\n });\n\n await fetch(uploadUri, {\n method: 'PUT',\n body: blob,\n });\n\n const resourceCredential = await this.client.credentials.credentialImport({\n annotations: request?.annotations,\n labels: request?.labels,\n blobId,\n idempotencyKey,\n });\n\n return {\n data: strictlyConvertToApiType(verifiableCredentialDataSchema, {\n id: resourceCredential.data.id,\n digestMultibase: resourceCredential.data.digestMultibase,\n }),\n id: resourceCredential.id,\n etag: resourceCredential.etag,\n revision: resourceCredential.revision,\n };\n }\n\n async create(request?: UpdatePayloadWithClaims<T>): Promise<DraftCredentialWithClaims<T>> {\n const values = request?.claims ? this.claims.marshalValues(request.claims) : undefined;\n const schema = this.claims.getDraftSchema();\n\n const { id, etag, revision, data } = await this.client.drafts.draftCreate({\n data: {\n schema,\n values,\n meta: draftMetadataToApiDraftMeta(request?.metadata),\n },\n annotations: request?.annotations,\n labels: request?.labels,\n idempotencyKey: generateKey('create'),\n });\n\n return new DraftCredentialWithClaims(this.client, this.flavor, this.claimsModel, data, { id, etag, revision });\n }\n\n async issue(\n privateKeyId: string,\n request: UpdatePayloadWithIssueClaims<T>,\n ): Promise<VerifiableCredentialWithClaims<T>> {\n return (await this.create(request)).issue(privateKeyId);\n }\n\n async loadAsDraft(id: string, revision?: number): Promise<DraftCredentialWithClaims<T>> {\n const resourceDraft = revision\n ? await this.client.drafts.draftRevision(id, revision)\n : await this.client.drafts.draftLatest(id);\n\n return this.map(resourceDraft);\n }\n\n async loadAsCredential(id: string, revision?: number): Promise<VerifiableCredentialWithClaims<T>> {\n const resourceCredential = revision\n ? await this.client.credentials.credentialRevision(id, revision)\n : await this.client.credentials.credentialLatest(id);\n\n return this.map(resourceCredential);\n }\n\n async load(id: string, revision?: number): Promise<LoadedCredential<T>> {\n let verifiableCredential: VerifiableCredentialWithClaims<T> | undefined;\n let draftCredential: DraftCredentialWithClaims<T> | undefined;\n\n try {\n verifiableCredential = await this.loadAsCredential(id, revision);\n } catch (error) {\n if (error instanceof NotFoundError) {\n draftCredential = await this.loadAsDraft(id, revision);\n } else throw error;\n }\n\n if (!draftCredential) {\n if (!verifiableCredential) throw new Error(`Resource with id '${id}' could not be found.`);\n\n return {\n isVerifiable: true,\n credential: verifiableCredential,\n };\n } else {\n return {\n isVerifiable: false,\n credential: draftCredential,\n };\n }\n }\n\n async importCredential(blob: BlobInput, request?: UpdatePayload): Promise<VerifiableCredentialWithClaims<T>> {\n const credential = await this.importBlob(blob, request);\n\n return new VerifiableCredentialWithClaims(this.client, this.flavor, this.claimsModel, credential);\n }\n}\n"]}
@@ -2,6 +2,5 @@ export * from './models';
2
2
  export * from './decorators';
3
3
  export * from './credential';
4
4
  export * from './presentation';
5
- export * from './utils/stream';
6
5
  export * from './credential/flavor';
7
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/documents/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/documents/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -18,6 +18,5 @@ __exportStar(require("./models"), exports);
18
18
  __exportStar(require("./decorators"), exports);
19
19
  __exportStar(require("./credential"), exports);
20
20
  __exportStar(require("./presentation"), exports);
21
- __exportStar(require("./utils/stream"), exports);
22
21
  __exportStar(require("./credential/flavor"), exports);
23
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/documents/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,+CAA6B;AAC7B,+CAA6B;AAC7B,iDAA+B;AAC/B,iDAA+B;AAC/B,sDAAoC","sourcesContent":["export * from './models';\nexport * from './decorators';\nexport * from './credential';\nexport * from './presentation';\nexport * from './utils/stream';\nexport * from './credential/flavor';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/documents/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,+CAA6B;AAC7B,+CAA6B;AAC7B,iDAA+B;AAC/B,sDAAoC","sourcesContent":["export * from './models';\nexport * from './decorators';\nexport * from './credential';\nexport * from './presentation';\nexport * from './credential/flavor';\n"]}
@@ -1,5 +1,4 @@
1
1
  import { ApiClient, Claims, Ctor, FileBlob, FileDescriptor, LinkedCredentialDescriptor, LinkedFileDescriptor } from './types';
2
- import { Readable } from 'stream';
3
2
  import type { LinkedRef } from '../api';
4
3
  import { UnknownVerifiableCredential } from './credential/verifiable/unknown';
5
4
  import { VerifiableCredentialWithClaims } from './credential/verifiable/with-claims';
@@ -36,7 +35,7 @@ export declare class LinkedCredential<T extends Claims | unknown> implements Lin
36
35
  dereferenceVerifiableCredentialAs<K extends Claims>(claimsModel: Ctor<T extends Claims ? (K extends T ? K : never) : K>): Promise<VerifiableCredentialWithClaims<K>>;
37
36
  }
38
37
  type DownloadableFile = FileDescriptor & {
39
- getReader: () => Promise<Readable>;
38
+ getReader: () => Promise<ReadableStream>;
40
39
  download: () => Promise<FileBlob>;
41
40
  };
42
41
  export declare class LinkedFile implements LinkedFileDescriptor {
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/documents/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/documents/models.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Rfc3339DateTime = exports.Rfc3339Date = exports.LinkedFile = exports.LinkedCredential = void 0;
13
- const stream_1 = require("./utils/stream");
14
13
  const unknown_1 = require("./credential/verifiable/unknown");
15
14
  const uuid_1 = require("uuid");
16
15
  const unknown_2 = require("./credential/draft/unknown");
@@ -229,10 +228,13 @@ class LinkedFile {
229
228
  revision: file.revision,
230
229
  etag: file.etag,
231
230
  data: file.data,
232
- getReader: () => this.client.files.fileDownload(file.id, file.revision),
231
+ getReader: () => __awaiter(this, void 0, void 0, function* () {
232
+ const response = yield this.client.files.fileDownload(file.id, file.revision);
233
+ return response.stream();
234
+ }),
233
235
  download: () => __awaiter(this, void 0, void 0, function* () {
234
236
  const response = yield this.client.files.fileDownload(file.id, file.revision);
235
- return (0, stream_1.buffer)(response);
237
+ return response.blob();
236
238
  }),
237
239
  };
238
240
  });