@opentdf/sdk 0.1.0-beta.1718 → 0.2.0-beta.1941

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 (321) hide show
  1. package/README.md +45 -38
  2. package/dist/cjs/src/access.js +99 -62
  3. package/dist/cjs/src/auth/auth.js +5 -26
  4. package/dist/cjs/src/auth/oidc-clientcredentials-provider.js +1 -1
  5. package/dist/cjs/src/auth/oidc-externaljwt-provider.js +1 -1
  6. package/dist/cjs/src/auth/oidc-refreshtoken-provider.js +1 -1
  7. package/dist/cjs/src/auth/oidc.js +1 -1
  8. package/dist/cjs/src/auth/providers.js +1 -1
  9. package/dist/cjs/src/concurrency.js +3 -4
  10. package/dist/cjs/src/encodings/base64.js +4 -4
  11. package/dist/cjs/src/encodings/hex.js +5 -6
  12. package/dist/cjs/src/encodings/index.js +18 -8
  13. package/dist/cjs/src/errors.js +1 -1
  14. package/dist/cjs/src/index.js +28 -320
  15. package/dist/cjs/src/nanoclients.js +285 -0
  16. package/dist/cjs/src/nanoindex.js +47 -0
  17. package/dist/cjs/src/nanotdf/Client.js +35 -30
  18. package/dist/cjs/src/nanotdf/NanoTDF.js +1 -1
  19. package/dist/cjs/src/nanotdf/decrypt.js +2 -2
  20. package/dist/cjs/src/nanotdf/encrypt-dataset.js +2 -2
  21. package/dist/cjs/src/nanotdf/encrypt.js +2 -2
  22. package/dist/cjs/src/nanotdf/helpers/calculateByCurve.js +3 -4
  23. package/dist/cjs/src/nanotdf/helpers/getHkdfSalt.js +2 -2
  24. package/dist/cjs/src/nanotdf/models/Ciphers.js +3 -3
  25. package/dist/cjs/src/nanotdf/models/EcCurves.js +3 -3
  26. package/dist/cjs/src/nanotdf/models/Header.js +1 -1
  27. package/dist/cjs/src/nanotdf/models/Payload.js +1 -1
  28. package/dist/cjs/src/nanotdf/models/Policy/AbstractPolicy.js +1 -1
  29. package/dist/cjs/src/nanotdf/models/Policy/EmbeddedPolicy.js +1 -1
  30. package/dist/cjs/src/nanotdf/models/Policy/PolicyFactory.js +1 -1
  31. package/dist/cjs/src/nanotdf/models/ResourceLocator.js +1 -1
  32. package/dist/cjs/src/nanotdf/models/Signature.js +1 -1
  33. package/dist/cjs/src/nanotdf-crypto/ciphers.js +1 -1
  34. package/dist/cjs/src/nanotdf-crypto/decrypt.js +2 -2
  35. package/dist/cjs/src/nanotdf-crypto/digest.js +2 -2
  36. package/dist/cjs/src/nanotdf-crypto/ecdsaSignature.js +4 -5
  37. package/dist/cjs/src/nanotdf-crypto/encrypt.js +2 -2
  38. package/dist/cjs/src/nanotdf-crypto/exportCryptoKey.js +2 -2
  39. package/dist/cjs/src/nanotdf-crypto/generateKeyPair.js +2 -2
  40. package/dist/cjs/src/nanotdf-crypto/generateRandomNumber.js +2 -2
  41. package/dist/cjs/src/nanotdf-crypto/index.js +21 -13
  42. package/dist/cjs/src/nanotdf-crypto/keyAgreement.js +10 -8
  43. package/dist/cjs/src/nanotdf-crypto/pemPublicToCrypto.js +20 -11
  44. package/dist/cjs/src/opentdf.js +243 -0
  45. package/dist/cjs/src/policy/api.js +2 -3
  46. package/dist/cjs/src/policy/granter.js +3 -4
  47. package/dist/cjs/src/seekable.js +157 -0
  48. package/dist/cjs/src/tdf/AttributeObject.js +2 -4
  49. package/dist/cjs/src/tdf/Policy.js +3 -3
  50. package/dist/cjs/src/utils.js +13 -21
  51. package/dist/cjs/src/version.js +7 -3
  52. package/dist/cjs/tdf3/index.js +27 -16
  53. package/dist/cjs/tdf3/src/assertions.js +25 -11
  54. package/dist/cjs/tdf3/src/binary.js +1 -1
  55. package/dist/cjs/tdf3/src/ciphers/aes-gcm-cipher.js +1 -1
  56. package/dist/cjs/tdf3/src/ciphers/symmetric-cipher-base.js +1 -1
  57. package/dist/cjs/tdf3/src/client/DecoratedReadableStream.js +7 -74
  58. package/dist/cjs/tdf3/src/client/builders.js +26 -22
  59. package/dist/cjs/tdf3/src/client/index.js +91 -117
  60. package/dist/cjs/tdf3/src/client/validation.js +3 -3
  61. package/dist/cjs/tdf3/src/crypto/crypto-utils.js +1 -1
  62. package/dist/cjs/tdf3/src/crypto/index.js +18 -18
  63. package/dist/cjs/tdf3/src/index.js +22 -11
  64. package/dist/cjs/tdf3/src/models/attribute-set.js +1 -1
  65. package/dist/cjs/tdf3/src/models/encryption-information.js +3 -3
  66. package/dist/cjs/tdf3/src/models/index.js +1 -2
  67. package/dist/cjs/tdf3/src/models/key-access.js +67 -35
  68. package/dist/cjs/tdf3/src/models/policy.js +3 -3
  69. package/dist/cjs/tdf3/src/tdf.js +180 -395
  70. package/dist/cjs/tdf3/src/utils/buffer-crc32.js +2 -3
  71. package/dist/cjs/tdf3/src/utils/index.js +48 -38
  72. package/dist/cjs/tdf3/src/utils/keysplit.js +4 -5
  73. package/dist/cjs/tdf3/src/utils/unwrap.js +21 -0
  74. package/dist/cjs/tdf3/src/utils/zip-reader.js +4 -4
  75. package/dist/cjs/tdf3/src/utils/zip-writer.js +4 -4
  76. package/dist/types/src/access.d.ts +10 -4
  77. package/dist/types/src/access.d.ts.map +1 -1
  78. package/dist/types/src/auth/auth.d.ts +1 -28
  79. package/dist/types/src/auth/auth.d.ts.map +1 -1
  80. package/dist/types/src/auth/providers.d.ts.map +1 -1
  81. package/dist/types/src/index.d.ts +5 -136
  82. package/dist/types/src/index.d.ts.map +1 -1
  83. package/dist/types/src/nanoclients.d.ts +107 -0
  84. package/dist/types/src/nanoclients.d.ts.map +1 -0
  85. package/dist/types/src/nanoindex.d.ts +5 -0
  86. package/dist/types/src/nanoindex.d.ts.map +1 -0
  87. package/dist/types/src/nanotdf/Client.d.ts +1 -13
  88. package/dist/types/src/nanotdf/Client.d.ts.map +1 -1
  89. package/dist/types/src/nanotdf/NanoTDF.d.ts +1 -1
  90. package/dist/types/src/nanotdf/NanoTDF.d.ts.map +1 -1
  91. package/dist/types/src/nanotdf/encrypt-dataset.d.ts +1 -1
  92. package/dist/types/src/nanotdf/encrypt-dataset.d.ts.map +1 -1
  93. package/dist/types/src/nanotdf/encrypt.d.ts +1 -1
  94. package/dist/types/src/nanotdf/encrypt.d.ts.map +1 -1
  95. package/dist/types/src/nanotdf/enum/CipherEnum.d.ts +1 -1
  96. package/dist/types/src/nanotdf/enum/CipherEnum.d.ts.map +1 -1
  97. package/dist/types/src/nanotdf/enum/PolicyTypeEnum.d.ts +1 -1
  98. package/dist/types/src/nanotdf/enum/PolicyTypeEnum.d.ts.map +1 -1
  99. package/dist/types/src/nanotdf/helpers/getHkdfSalt.d.ts +1 -1
  100. package/dist/types/src/nanotdf/helpers/getHkdfSalt.d.ts.map +1 -1
  101. package/dist/types/src/nanotdf/models/DefaultParams.d.ts +1 -1
  102. package/dist/types/src/nanotdf/models/ResourceLocator.d.ts.map +1 -1
  103. package/dist/types/src/nanotdf-crypto/digest.d.ts +1 -1
  104. package/dist/types/src/nanotdf-crypto/digest.d.ts.map +1 -1
  105. package/dist/types/src/nanotdf-crypto/generateKeyPair.d.ts +1 -1
  106. package/dist/types/src/nanotdf-crypto/generateKeyPair.d.ts.map +1 -1
  107. package/dist/types/src/nanotdf-crypto/generateRandomNumber.d.ts +1 -1
  108. package/dist/types/src/nanotdf-crypto/generateRandomNumber.d.ts.map +1 -1
  109. package/dist/types/src/nanotdf-crypto/index.d.ts +2 -3
  110. package/dist/types/src/nanotdf-crypto/index.d.ts.map +1 -1
  111. package/dist/types/src/nanotdf-crypto/keyAgreement.d.ts.map +1 -1
  112. package/dist/types/src/opentdf.d.ts +106 -0
  113. package/dist/types/src/opentdf.d.ts.map +1 -0
  114. package/dist/types/src/seekable.d.ts +39 -0
  115. package/dist/types/src/seekable.d.ts.map +1 -0
  116. package/dist/types/src/tdf/AttributeObject.d.ts +0 -2
  117. package/dist/types/src/tdf/AttributeObject.d.ts.map +1 -1
  118. package/dist/types/src/tdf/NanoTDF/NanoTDF.d.ts +2 -2
  119. package/dist/types/src/tdf/NanoTDF/NanoTDF.d.ts.map +1 -1
  120. package/dist/types/src/tdf/Policy.d.ts +1 -1
  121. package/dist/types/src/tdf/Policy.d.ts.map +1 -1
  122. package/dist/types/src/tdf/PolicyObject.d.ts +1 -2
  123. package/dist/types/src/tdf/PolicyObject.d.ts.map +1 -1
  124. package/dist/types/src/tdf/TypedArray.d.ts +1 -2
  125. package/dist/types/src/tdf/TypedArray.d.ts.map +1 -1
  126. package/dist/types/src/utils.d.ts +1 -3
  127. package/dist/types/src/utils.d.ts.map +1 -1
  128. package/dist/types/src/version.d.ts +5 -1
  129. package/dist/types/src/version.d.ts.map +1 -1
  130. package/dist/types/tdf3/index.d.ts +5 -4
  131. package/dist/types/tdf3/index.d.ts.map +1 -1
  132. package/dist/types/tdf3/src/assertions.d.ts +3 -3
  133. package/dist/types/tdf3/src/assertions.d.ts.map +1 -1
  134. package/dist/types/tdf3/src/client/DecoratedReadableStream.d.ts +2 -15
  135. package/dist/types/tdf3/src/client/DecoratedReadableStream.d.ts.map +1 -1
  136. package/dist/types/tdf3/src/client/builders.d.ts +43 -42
  137. package/dist/types/tdf3/src/client/builders.d.ts.map +1 -1
  138. package/dist/types/tdf3/src/client/index.d.ts +12 -17
  139. package/dist/types/tdf3/src/client/index.d.ts.map +1 -1
  140. package/dist/types/tdf3/src/client/validation.d.ts +3 -3
  141. package/dist/types/tdf3/src/client/validation.d.ts.map +1 -1
  142. package/dist/types/tdf3/src/crypto/crypto-utils.d.ts.map +1 -1
  143. package/dist/types/tdf3/src/index.d.ts +1 -1
  144. package/dist/types/tdf3/src/index.d.ts.map +1 -1
  145. package/dist/types/tdf3/src/models/index.d.ts +0 -1
  146. package/dist/types/tdf3/src/models/index.d.ts.map +1 -1
  147. package/dist/types/tdf3/src/models/key-access.d.ts +63 -15
  148. package/dist/types/tdf3/src/models/key-access.d.ts.map +1 -1
  149. package/dist/types/tdf3/src/models/manifest.d.ts +2 -0
  150. package/dist/types/tdf3/src/models/manifest.d.ts.map +1 -1
  151. package/dist/types/tdf3/src/models/policy.d.ts +0 -1
  152. package/dist/types/tdf3/src/models/policy.d.ts.map +1 -1
  153. package/dist/types/tdf3/src/tdf.d.ts +24 -37
  154. package/dist/types/tdf3/src/tdf.d.ts.map +1 -1
  155. package/dist/types/tdf3/src/utils/index.d.ts +0 -4
  156. package/dist/types/tdf3/src/utils/index.d.ts.map +1 -1
  157. package/dist/types/tdf3/src/utils/unwrap.d.ts +2 -0
  158. package/dist/types/tdf3/src/utils/unwrap.d.ts.map +1 -0
  159. package/dist/types/tdf3/src/utils/zip-reader.d.ts +1 -1
  160. package/dist/types/tdf3/src/utils/zip-reader.d.ts.map +1 -1
  161. package/dist/types/tdf3/src/utils/zip-writer.d.ts +2 -2
  162. package/dist/web/src/access.js +93 -58
  163. package/dist/web/src/auth/auth.js +1 -21
  164. package/dist/web/src/auth/oidc-clientcredentials-provider.js +1 -1
  165. package/dist/web/src/auth/oidc-externaljwt-provider.js +1 -1
  166. package/dist/web/src/auth/oidc-refreshtoken-provider.js +1 -1
  167. package/dist/web/src/auth/oidc.js +1 -1
  168. package/dist/web/src/auth/providers.js +1 -1
  169. package/dist/web/src/concurrency.js +1 -1
  170. package/dist/web/src/encodings/base64.js +1 -1
  171. package/dist/web/src/encodings/hex.js +1 -1
  172. package/dist/web/src/errors.js +1 -1
  173. package/dist/web/src/index.js +6 -312
  174. package/dist/web/src/nanoclients.js +280 -0
  175. package/dist/web/src/nanoindex.js +5 -0
  176. package/dist/web/src/nanotdf/Client.js +18 -23
  177. package/dist/web/src/nanotdf/NanoTDF.js +1 -1
  178. package/dist/web/src/nanotdf/encrypt-dataset.js +1 -1
  179. package/dist/web/src/nanotdf/encrypt.js +1 -1
  180. package/dist/web/src/nanotdf/models/Ciphers.js +1 -1
  181. package/dist/web/src/nanotdf/models/EcCurves.js +1 -1
  182. package/dist/web/src/nanotdf/models/Header.js +1 -1
  183. package/dist/web/src/nanotdf/models/Payload.js +1 -1
  184. package/dist/web/src/nanotdf/models/Policy/AbstractPolicy.js +1 -1
  185. package/dist/web/src/nanotdf/models/Policy/EmbeddedPolicy.js +1 -1
  186. package/dist/web/src/nanotdf/models/Policy/PolicyFactory.js +1 -1
  187. package/dist/web/src/nanotdf/models/ResourceLocator.js +1 -1
  188. package/dist/web/src/nanotdf/models/Signature.js +1 -1
  189. package/dist/web/src/nanotdf-crypto/ciphers.js +1 -1
  190. package/dist/web/src/nanotdf-crypto/ecdsaSignature.js +1 -1
  191. package/dist/web/src/nanotdf-crypto/generateKeyPair.js +2 -2
  192. package/dist/web/src/nanotdf-crypto/generateRandomNumber.js +2 -2
  193. package/dist/web/src/nanotdf-crypto/index.js +3 -4
  194. package/dist/web/src/nanotdf-crypto/keyAgreement.js +9 -6
  195. package/dist/web/src/nanotdf-crypto/pemPublicToCrypto.js +1 -1
  196. package/dist/web/src/opentdf.js +234 -0
  197. package/dist/web/src/policy/api.js +1 -1
  198. package/dist/web/src/policy/granter.js +1 -1
  199. package/dist/web/src/seekable.js +148 -0
  200. package/dist/web/src/tdf/AttributeObject.js +1 -2
  201. package/dist/web/src/tdf/Policy.js +2 -4
  202. package/dist/web/src/utils.js +3 -10
  203. package/dist/web/src/version.js +6 -2
  204. package/dist/web/tdf3/index.js +5 -4
  205. package/dist/web/tdf3/src/assertions.js +21 -6
  206. package/dist/web/tdf3/src/binary.js +1 -1
  207. package/dist/web/tdf3/src/ciphers/aes-gcm-cipher.js +1 -1
  208. package/dist/web/tdf3/src/ciphers/symmetric-cipher-base.js +1 -1
  209. package/dist/web/tdf3/src/client/DecoratedReadableStream.js +4 -68
  210. package/dist/web/tdf3/src/client/builders.js +26 -22
  211. package/dist/web/tdf3/src/client/index.js +74 -105
  212. package/dist/web/tdf3/src/client/validation.js +1 -1
  213. package/dist/web/tdf3/src/crypto/crypto-utils.js +1 -1
  214. package/dist/web/tdf3/src/crypto/index.js +1 -1
  215. package/dist/web/tdf3/src/index.js +2 -2
  216. package/dist/web/tdf3/src/models/attribute-set.js +1 -1
  217. package/dist/web/tdf3/src/models/encryption-information.js +3 -3
  218. package/dist/web/tdf3/src/models/index.js +1 -2
  219. package/dist/web/tdf3/src/models/key-access.js +47 -24
  220. package/dist/web/tdf3/src/models/policy.js +1 -1
  221. package/dist/web/tdf3/src/tdf.js +153 -371
  222. package/dist/web/tdf3/src/utils/buffer-crc32.js +1 -1
  223. package/dist/web/tdf3/src/utils/index.js +19 -14
  224. package/dist/web/tdf3/src/utils/keysplit.js +1 -1
  225. package/dist/web/tdf3/src/utils/unwrap.js +18 -0
  226. package/dist/web/tdf3/src/utils/zip-reader.js +1 -1
  227. package/dist/web/tdf3/src/utils/zip-writer.js +1 -1
  228. package/package.json +45 -45
  229. package/src/access.ts +111 -54
  230. package/src/auth/auth.ts +1 -31
  231. package/src/index.ts +5 -440
  232. package/src/nanoclients.ts +405 -0
  233. package/src/nanoindex.ts +4 -0
  234. package/src/nanotdf/Client.ts +18 -25
  235. package/src/nanotdf/NanoTDF.ts +1 -1
  236. package/src/nanotdf/encrypt-dataset.ts +1 -1
  237. package/src/nanotdf/encrypt.ts +1 -1
  238. package/src/nanotdf/helpers/getHkdfSalt.ts +1 -1
  239. package/src/nanotdf-crypto/digest.ts +1 -1
  240. package/src/nanotdf-crypto/generateKeyPair.ts +1 -1
  241. package/src/nanotdf-crypto/generateRandomNumber.ts +1 -1
  242. package/src/nanotdf-crypto/index.ts +2 -3
  243. package/src/nanotdf-crypto/keyAgreement.ts +14 -7
  244. package/src/opentdf.ts +441 -0
  245. package/src/seekable.ts +180 -0
  246. package/src/tdf/AttributeObject.ts +0 -3
  247. package/src/tdf/Policy.ts +1 -2
  248. package/src/tdf/PolicyObject.ts +1 -2
  249. package/src/tdf/TypedArray.ts +1 -3
  250. package/src/utils.ts +3 -11
  251. package/src/version.ts +6 -1
  252. package/tdf3/index.ts +15 -10
  253. package/tdf3/src/assertions.ts +33 -8
  254. package/tdf3/src/client/DecoratedReadableStream.ts +3 -80
  255. package/tdf3/src/client/builders.ts +44 -28
  256. package/tdf3/src/client/index.ts +109 -165
  257. package/tdf3/src/index.ts +1 -1
  258. package/tdf3/src/models/encryption-information.ts +2 -2
  259. package/tdf3/src/models/index.ts +0 -1
  260. package/tdf3/src/models/key-access.ts +120 -38
  261. package/tdf3/src/models/manifest.ts +3 -0
  262. package/tdf3/src/models/policy.ts +0 -1
  263. package/tdf3/src/tdf.ts +266 -522
  264. package/tdf3/src/utils/index.ts +19 -18
  265. package/tdf3/src/utils/unwrap.ts +17 -0
  266. package/tdf3/src/utils/zip-reader.ts +1 -1
  267. package/dist/cjs/src/auth/Eas.js +0 -60
  268. package/dist/cjs/src/nanotdf-crypto/importRawKey.js +0 -18
  269. package/dist/cjs/src/tdf/Crypto.js +0 -47
  270. package/dist/cjs/src/tdf/EntityObject.js +0 -3
  271. package/dist/cjs/src/tdf/index.js +0 -35
  272. package/dist/cjs/tdf3/src/models/upsert-response.js +0 -3
  273. package/dist/cjs/tdf3/src/templates/default.html.js +0 -98
  274. package/dist/cjs/tdf3/src/templates/escaper.js +0 -15
  275. package/dist/cjs/tdf3/src/templates/index.js +0 -12
  276. package/dist/cjs/tdf3/src/utils/chunkers.js +0 -106
  277. package/dist/cjs/tdf3/src/version.js +0 -6
  278. package/dist/types/src/auth/Eas.d.ts +0 -34
  279. package/dist/types/src/auth/Eas.d.ts.map +0 -1
  280. package/dist/types/src/nanotdf-crypto/importRawKey.d.ts +0 -13
  281. package/dist/types/src/nanotdf-crypto/importRawKey.d.ts.map +0 -1
  282. package/dist/types/src/tdf/Crypto.d.ts +0 -37
  283. package/dist/types/src/tdf/Crypto.d.ts.map +0 -1
  284. package/dist/types/src/tdf/EntityObject.d.ts +0 -18
  285. package/dist/types/src/tdf/EntityObject.d.ts.map +0 -1
  286. package/dist/types/src/tdf/index.d.ts +0 -7
  287. package/dist/types/src/tdf/index.d.ts.map +0 -1
  288. package/dist/types/tdf3/src/models/upsert-response.d.ts +0 -16
  289. package/dist/types/tdf3/src/models/upsert-response.d.ts.map +0 -1
  290. package/dist/types/tdf3/src/templates/default.html.d.ts +0 -8
  291. package/dist/types/tdf3/src/templates/default.html.d.ts.map +0 -1
  292. package/dist/types/tdf3/src/templates/escaper.d.ts +0 -6
  293. package/dist/types/tdf3/src/templates/escaper.d.ts.map +0 -1
  294. package/dist/types/tdf3/src/templates/index.d.ts +0 -3
  295. package/dist/types/tdf3/src/templates/index.d.ts.map +0 -1
  296. package/dist/types/tdf3/src/utils/chunkers.d.ts +0 -29
  297. package/dist/types/tdf3/src/utils/chunkers.d.ts.map +0 -1
  298. package/dist/types/tdf3/src/version.d.ts +0 -3
  299. package/dist/types/tdf3/src/version.d.ts.map +0 -1
  300. package/dist/web/src/auth/Eas.js +0 -55
  301. package/dist/web/src/nanotdf-crypto/importRawKey.js +0 -15
  302. package/dist/web/src/tdf/Crypto.js +0 -44
  303. package/dist/web/src/tdf/EntityObject.js +0 -2
  304. package/dist/web/src/tdf/index.js +0 -4
  305. package/dist/web/tdf3/src/models/upsert-response.js +0 -2
  306. package/dist/web/tdf3/src/templates/default.html.js +0 -96
  307. package/dist/web/tdf3/src/templates/escaper.js +0 -10
  308. package/dist/web/tdf3/src/templates/index.js +0 -3
  309. package/dist/web/tdf3/src/utils/chunkers.js +0 -96
  310. package/dist/web/tdf3/src/version.js +0 -3
  311. package/src/auth/Eas.ts +0 -79
  312. package/src/nanotdf-crypto/importRawKey.ts +0 -19
  313. package/src/tdf/Crypto.ts +0 -42
  314. package/src/tdf/EntityObject.ts +0 -18
  315. package/src/tdf/index.ts +0 -6
  316. package/tdf3/src/models/upsert-response.ts +0 -17
  317. package/tdf3/src/templates/default.html.ts +0 -105
  318. package/tdf3/src/templates/escaper.ts +0 -10
  319. package/tdf3/src/templates/index.ts +0 -2
  320. package/tdf3/src/utils/chunkers.ts +0 -118
  321. package/tdf3/src/version.ts +0 -2
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.encodeArrayBuffer = exports.decodeArrayBuffer = exports.decode = exports.encode = void 0;
3
+ exports.encode = encode;
4
+ exports.decode = decode;
5
+ exports.decodeArrayBuffer = decodeArrayBuffer;
6
+ exports.encodeArrayBuffer = encodeArrayBuffer;
4
7
  const base64_js_1 = require("./base64.js");
5
8
  function encode(str) {
6
9
  let hex = '';
@@ -18,7 +21,6 @@ function encode(str) {
18
21
  }
19
22
  return hex;
20
23
  }
21
- exports.encode = encode;
22
24
  function decode(hex) {
23
25
  if (hex.length & 1) {
24
26
  throw new base64_js_1.InvalidCharacterError('invalid input.');
@@ -33,7 +35,6 @@ function decode(hex) {
33
35
  }
34
36
  return str;
35
37
  }
36
- exports.decode = decode;
37
38
  function decodeArrayBuffer(hex) {
38
39
  const binLength = hex.length >> 1; // 1 byte per 2 characters
39
40
  if (hex.length & 1) {
@@ -49,7 +50,6 @@ function decodeArrayBuffer(hex) {
49
50
  }
50
51
  return bytes.buffer;
51
52
  }
52
- exports.decodeArrayBuffer = decodeArrayBuffer;
53
53
  function encodeArrayBuffer(arrayBuffer) {
54
54
  if (typeof arrayBuffer !== 'object') {
55
55
  throw new TypeError('Expected input to be an ArrayBuffer Object');
@@ -66,5 +66,4 @@ function encodeArrayBuffer(arrayBuffer) {
66
66
  }
67
67
  return hexString;
68
68
  }
69
- exports.encodeArrayBuffer = encodeArrayBuffer;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuY29kaW5ncy9oZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQW9EO0FBRXBELFNBQWdCLE1BQU0sQ0FBQyxHQUFXO0lBQ2hDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ25DLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDaEIsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7U0FDaEI7YUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxpQ0FBcUIsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0Y7YUFBTTtZQUNMLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1NBQ2Y7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQWJELHdCQWFDO0FBRUQsU0FBZ0IsTUFBTSxDQUFDLEdBQVc7SUFDaEMsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNsQixNQUFNLElBQUksaUNBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQUNuRDtJQUNELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFB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
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VuY29kaW5ncy9oZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSx3QkFhQztBQUVELHdCQWFDO0FBRUQsOENBY0M7QUFFRCw4Q0FvQkM7QUFwRUQsMkNBQW9EO0FBRXBELFNBQWdCLE1BQU0sQ0FBQyxHQUFXO0lBQ2hDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDcEMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pCLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUM7YUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLGlDQUFxQixDQUFDLHlCQUF5QixDQUFDLFFBQVEsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRyxDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsU0FBZ0IsTUFBTSxDQUFDLEdBQVc7SUFDaEMsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ25CLE1BQU0sSUFBSSxpQ0FBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxJQUFJLEdBQUcsR0FB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
@@ -15,15 +15,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.hex = exports.base64 = void 0;
27
37
  exports.base64 = __importStar(require("./base64.js"));
28
38
  exports.hex = __importStar(require("./hex.js"));
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW5jb2RpbmdzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQXNDO0FBQ3RDLGdEQUFnQyJ9
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW5jb2RpbmdzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFzQztBQUN0QyxnREFBZ0MifQ==
@@ -135,4 +135,4 @@ class UnsupportedFeatureError extends TdfError {
135
135
  }
136
136
  }
137
137
  exports.UnsupportedFeatureError = UnsupportedFeatureError;
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFTLFVBQVUsQ0FBQyxLQUFhLEVBQUUsQ0FBVTtJQUMzQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtRQUMxQixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7UUFDZixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtRQUNqQixLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7S0FDL0I7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7UUFDZixLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7S0FDM0I7SUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDbkIsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQWEsUUFBUyxTQUFRLEtBQUs7SUFHakMsWUFBWSxPQUFnQixFQUFFLEtBQWE7UUFDekMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUgzQixTQUFJLEdBQUcsVUFBVSxDQUFDO1FBSXpCLDRFQUE0RTtRQUM1RSw2SUFBNkk7UUFDN0kseUdBQXlHO1FBQ3pHLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGO0FBVkQsNEJBVUM7QUFFRDs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsUUFBUTtJQUFoRDs7UUFDVyxTQUFJLEdBQUcsb0JBQW9CLENBQUM7SUFDdkMsQ0FBQztDQUFBO0FBRkQsZ0RBRUM7QUFFRDs7R0FFRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsa0JBQWtCO0lBRzlELFlBQVksT0FBZSxFQUFFLFNBQWtCLEVBQUUsS0FBYTtRQUM1RCxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSGYsU0FBSSxHQUFHLDBCQUEwQixDQUFDO1FBSXpDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7Q0FDRjtBQVBELDREQU9DO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLFFBQVE7Q0FBRztBQUFqRCw0Q0FBaUQ7QUFFakQ7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxnQkFBZ0I7SUFBbEQ7O1FBQ1csU0FBSSxHQUFHLGNBQWMsQ0FBQztJQUNqQyxDQUFDO0NBQUE7QUFGRCxvQ0FFQztBQUVELE1BQWEsY0FBZSxTQUFRLGdCQUFnQjtJQUFwRDs7UUFDVyxTQUFJLEdBQUcsZ0JBQWdCLENBQUM7SUFDbkMsQ0FBQztDQUFBO0FBRkQsd0NBRUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLGNBQWUsU0FBUSxnQkFBZ0I7SUFJbEQsWUFBWSxPQUFlLEVBQUUsR0FBRyxHQUFhO1FBQzNDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUpSLFNBQUksR0FBRyxnQkFBZ0IsQ0FBQztRQUsvQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQVRELHdDQVNDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxRQUFRO0lBQTFDOztRQUNXLFNBQUksR0FBRyxjQUFjLENBQUM7SUFDakMsQ0FBQztDQUFBO0FBRkQsb0NBRUM7QUFFRDs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLFFBQVE7SUFBMUM7O1FBQ1csU0FBSSxHQUFHLGNBQWMsQ0FBQztJQUNqQyxDQUFDO0NBQUE7QUFGRCxvQ0FFQztBQUVELG1DQUFtQztBQUNuQyxNQUFhLG9CQUFxQixTQUFRLFFBQVE7SUFBbEQ7O1FBQ1csU0FBSSxHQUFHLHNCQUFzQixDQUFDO0lBQ3pDLENBQUM7Q0FBQTtBQUZELG9EQUVDO0FBRUQsa0NBQWtDO0FBQ2xDLE1BQWEscUJBQXNCLFNBQVEsUUFBUTtJQUFuRDs7UUFDVyxTQUFJLEdBQUcsdUJBQXVCLENBQUM7SUFDMUMsQ0FBQztDQUFBO0FBRkQsc0RBRUM7QUFFRDs7R0FFRztBQUNILE1BQWEsdUJBQXdCLFNBQVEsUUFBUTtJQUFyRDs7UUFDVyxTQUFJLEdBQUcseUJBQXlCLENBQUM7SUFDNUMsQ0FBQztDQUFBO0FBRkQsMERBRUMifQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFTLFVBQVUsQ0FBQyxLQUFhLEVBQUUsQ0FBVTtJQUMzQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEIsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDbkIsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQWEsUUFBUyxTQUFRLEtBQUs7SUFHakMsWUFBWSxPQUFnQixFQUFFLEtBQWE7UUFDekMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUgzQixTQUFJLEdBQUcsVUFBVSxDQUFDO1FBSXpCLDRFQUE0RTtRQUM1RSw2SUFBNkk7UUFDN0kseUdBQXlHO1FBQ3pHLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGO0FBVkQsNEJBVUM7QUFFRDs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsUUFBUTtJQUFoRDs7UUFDVyxTQUFJLEdBQUcsb0JBQW9CLENBQUM7SUFDdkMsQ0FBQztDQUFBO0FBRkQsZ0RBRUM7QUFFRDs7R0FFRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsa0JBQWtCO0lBRzlELFlBQVksT0FBZSxFQUFFLFNBQWtCLEVBQUUsS0FBYTtRQUM1RCxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSGYsU0FBSSxHQUFHLDBCQUEwQixDQUFDO1FBSXpDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7Q0FDRjtBQVBELDREQU9DO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLFFBQVE7Q0FBRztBQUFqRCw0Q0FBaUQ7QUFFakQ7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxnQkFBZ0I7SUFBbEQ7O1FBQ1csU0FBSSxHQUFHLGNBQWMsQ0FBQztJQUNqQyxDQUFDO0NBQUE7QUFGRCxvQ0FFQztBQUVELE1BQWEsY0FBZSxTQUFRLGdCQUFnQjtJQUFwRDs7UUFDVyxTQUFJLEdBQUcsZ0JBQWdCLENBQUM7SUFDbkMsQ0FBQztDQUFBO0FBRkQsd0NBRUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLGNBQWUsU0FBUSxnQkFBZ0I7SUFJbEQsWUFBWSxPQUFlLEVBQUUsR0FBRyxHQUFhO1FBQzNDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUpSLFNBQUksR0FBRyxnQkFBZ0IsQ0FBQztRQUsvQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQVRELHdDQVNDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxRQUFRO0lBQTFDOztRQUNXLFNBQUksR0FBRyxjQUFjLENBQUM7SUFDakMsQ0FBQztDQUFBO0FBRkQsb0NBRUM7QUFFRDs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLFFBQVE7SUFBMUM7O1FBQ1csU0FBSSxHQUFHLGNBQWMsQ0FBQztJQUNqQyxDQUFDO0NBQUE7QUFGRCxvQ0FFQztBQUVELG1DQUFtQztBQUNuQyxNQUFhLG9CQUFxQixTQUFRLFFBQVE7SUFBbEQ7O1FBQ1csU0FBSSxHQUFHLHNCQUFzQixDQUFDO0lBQ3pDLENBQUM7Q0FBQTtBQUZELG9EQUVDO0FBRUQsa0NBQWtDO0FBQ2xDLE1BQWEscUJBQXNCLFNBQVEsUUFBUTtJQUFuRDs7UUFDVyxTQUFJLEdBQUcsdUJBQXVCLENBQUM7SUFDMUMsQ0FBQztDQUFBO0FBRkQsc0RBRUM7QUFFRDs7R0FFRztBQUNILE1BQWEsdUJBQXdCLFNBQVEsUUFBUTtJQUFyRDs7UUFDVyxTQUFJLEdBQUcseUJBQXlCLENBQUM7SUFDNUMsQ0FBQztDQUFBO0FBRkQsMERBRUMifQ==
@@ -15,330 +15,38 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
24
37
  };
25
38
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.clientType = exports.version = exports.AuthProviders = exports.NanoTDFDatasetClient = exports.NanoTDFClient = exports.attributeFQNsAsValues = void 0;
27
- const index_js_1 = require("./nanotdf/index.js");
28
- const index_js_2 = require("./nanotdf-crypto/index.js");
29
- const index_js_3 = require("./tdf/index.js");
30
- const access_js_1 = require("./access.js");
31
- const errors_js_1 = require("./errors.js");
39
+ exports.tdfSpecVersion = exports.clientType = exports.version = exports.attributeFQNsAsValues = exports.AuthProviders = exports.withHeaders = exports.HttpRequest = void 0;
40
+ var auth_js_1 = require("./auth/auth.js");
41
+ Object.defineProperty(exports, "HttpRequest", { enumerable: true, get: function () { return auth_js_1.HttpRequest; } });
42
+ Object.defineProperty(exports, "withHeaders", { enumerable: true, get: function () { return auth_js_1.withHeaders; } });
43
+ exports.AuthProviders = __importStar(require("./auth/providers.js"));
32
44
  var api_js_1 = require("./policy/api.js");
33
45
  Object.defineProperty(exports, "attributeFQNsAsValues", { enumerable: true, get: function () { return api_js_1.attributeFQNsAsValues; } });
34
- // Define default options
35
- const defaultOptions = {
36
- ecdsaBinding: false,
37
- };
38
- /**
39
- * NanoTDF SDK Client
40
- *
41
- * @example
42
- * ```
43
- * import { clientSecretAuthProvider, NanoTDFClient } from '@opentdf/sdk';
44
- *
45
- * const OIDC_ENDPOINT = 'http://localhost:65432/auth/realms/opentdf-demo';
46
- * const KAS_URL = 'http://localhost:65432/api/kas/';
47
- *
48
- * const ciphertext = '...';
49
- * const client = new NanoTDFClient({
50
- * authProvider: await clientSecretAuthProvider({
51
- * clientId: 'tdf-client',
52
- * clientSecret: '123-456',
53
- * oidcOrigin: OIDC_ENDPOINT,
54
- * }),
55
- * kasEndpoint: KAS_URL
56
- * }
57
- * );
58
- * client.decrypt(ciphertext)
59
- * .then(plaintext => {
60
- * console.log('Plaintext', plaintext);
61
- * })
62
- * .catch(err => {
63
- * console.error('Some error occurred', err);
64
- * })
65
- */
66
- class NanoTDFClient extends index_js_1.Client {
67
- /**
68
- * Decrypt ciphertext
69
- *
70
- * Pass a base64 string, TypedArray, or ArrayBuffer ciphertext and get a promise which resolves plaintext
71
- *
72
- * @param ciphertext Ciphertext to decrypt
73
- */
74
- async decrypt(ciphertext) {
75
- // Parse ciphertext
76
- const nanotdf = index_js_1.NanoTDF.from(ciphertext);
77
- await this.fetchOIDCToken();
78
- // TODO: The version number should be fetched from the API
79
- const version = '0.0.1';
80
- const kasUrl = nanotdf.header.getKasRewrapUrl();
81
- // Rewrap key on every request
82
- const ukey = await this.rewrapKey(nanotdf.header.toBuffer(), kasUrl, nanotdf.header.magicNumberVersion, version);
83
- if (!ukey) {
84
- throw new Error('internal: key rewrap failure');
85
- }
86
- // Return decrypt promise
87
- return (0, index_js_1.decrypt)(ukey, nanotdf);
88
- }
89
- /**
90
- * Decrypt ciphertext of the legacy TDF, with the older, smaller i.v. calculation.
91
- *
92
- * Pass a base64 string, TypedArray, or ArrayBuffer ciphertext and get a promise which resolves plaintext
93
- *
94
- * @param ciphertext Ciphertext to decrypt
95
- */
96
- async decryptLegacyTDF(ciphertext) {
97
- // Parse ciphertext
98
- const nanotdf = index_js_1.NanoTDF.from(ciphertext, undefined, true);
99
- await this.fetchOIDCToken();
100
- const legacyVersion = '0.0.0';
101
- // Rewrap key on every request
102
- const key = await this.rewrapKey(nanotdf.header.toBuffer(), nanotdf.header.getKasRewrapUrl(), nanotdf.header.magicNumberVersion, legacyVersion);
103
- if (!key) {
104
- throw new Error('internal: failed unwrap');
105
- }
106
- // Return decrypt promise
107
- return (0, index_js_1.decrypt)(key, nanotdf);
108
- }
109
- /**
110
- * Encrypts the given data using the NanoTDF encryption scheme.
111
- *
112
- * @param {string | TypedArray | ArrayBuffer} data - The data to be encrypted.
113
- * @param {EncryptOptions} [options=defaultOptions] - The encryption options (currently unused).
114
- * @returns {Promise<ArrayBuffer>} A promise that resolves to the encrypted data as an ArrayBuffer.
115
- * @throws {Error} If the initialization vector is not a number.
116
- */
117
- async encrypt(data, options) {
118
- // For encrypt always generate the client ephemeralKeyPair
119
- const ephemeralKeyPair = await this.ephemeralKeyPair;
120
- const initializationVector = this.iv;
121
- if (typeof initializationVector !== 'number') {
122
- throw new errors_js_1.ConfigurationError('NanoTDF clients are single use. Please generate a new client and keypair.');
123
- }
124
- delete this.iv;
125
- if (!this.kasPubKey) {
126
- this.kasPubKey = await (0, access_js_1.fetchECKasPubKey)(this.kasUrl);
127
- }
128
- // Create a policy for the tdf
129
- const policy = new index_js_3.Policy();
130
- // Add data attributes.
131
- for (const dataAttribute of this.dataAttributes) {
132
- const attribute = await (0, index_js_3.createAttribute)(dataAttribute, this.kasPubKey, this.kasUrl);
133
- policy.addAttribute(attribute);
134
- }
135
- if (this.dissems.length == 0 && this.dataAttributes.length == 0) {
136
- console.warn('This policy has an empty attributes list and an empty dissemination list. This will allow any entity with a valid Entity Object to access this TDF.');
137
- }
138
- // Encrypt the policy.
139
- const policyObjectAsStr = policy.toJSON();
140
- // IV is always '1', since the new keypair is generated on encrypt
141
- // using the same key is fine.
142
- const lengthAsUint32 = new Uint32Array(1);
143
- lengthAsUint32[0] = initializationVector;
144
- const lengthAsUint24 = new Uint8Array(lengthAsUint32.buffer);
145
- // NOTE: We are only interested in only first 3 bytes.
146
- const payloadIV = new Uint8Array(12).fill(0);
147
- payloadIV[9] = lengthAsUint24[2];
148
- payloadIV[10] = lengthAsUint24[1];
149
- payloadIV[11] = lengthAsUint24[0];
150
- const mergedOptions = { ...defaultOptions, ...options };
151
- return (0, index_js_1.encrypt)(policyObjectAsStr, this.kasPubKey, ephemeralKeyPair, payloadIV, data, mergedOptions.ecdsaBinding);
152
- }
153
- }
154
- exports.NanoTDFClient = NanoTDFClient;
155
- /**
156
- * NanoTDF Dataset SDK Client
157
- *
158
- *
159
- * @example
160
- * ```
161
- * import { clientSecretAuthProvider, NanoTDFDatasetClient } from '@opentdf/sdk';
162
- *
163
- * const OIDC_ENDPOINT = 'http://localhost:65432/auth/realms/tdf';
164
- * const KAS_URL = 'http://localhost:65432/api/kas/';
165
- *
166
- * const ciphertext = '...';
167
- * const client = new NanoTDFDatasetClient({
168
- * authProvider: await clientSecretAuthProvider({
169
- * clientId: 'tdf-client',
170
- * clientSecret: '123-456',
171
- * exchange: 'client',
172
- * oidcOrigin: OIDC_ENDPOINT,
173
- * }),
174
- * kasEndpoint: KAS_URL,
175
- * });
176
- * const plaintext = client.decrypt(ciphertext);
177
- * console.log('Plaintext', plaintext);
178
- * ```
179
- */
180
- class NanoTDFDatasetClient extends index_js_1.Client {
181
- /**
182
- * Create new NanoTDF Dataset Client
183
- *
184
- * The Ephemeral Key Pair can either be provided or will be generate when fetching the entity object. Once set it
185
- * cannot be changed. If a new ephemeral key is desired it a new client should be initialized.
186
- * There is no performance impact for creating a new client IFF the ephemeral key pair is provided.
187
- *
188
- * @param clientConfig OIDC client credentials
189
- * @param kasUrl Key access service URL
190
- * @param ephemeralKeyPair (optional) ephemeral key pair to use
191
- * @param maxKeyIterations Max iteration to performe without a key rotation
192
- */
193
- constructor(opts) {
194
- if (opts.maxKeyIterations &&
195
- opts.maxKeyIterations > NanoTDFDatasetClient.NTDF_MAX_KEY_ITERATIONS) {
196
- throw new errors_js_1.ConfigurationError(`key iteration exceeds max iterations(${NanoTDFDatasetClient.NTDF_MAX_KEY_ITERATIONS})`);
197
- }
198
- super(opts);
199
- this.maxKeyIteration = opts.maxKeyIterations || NanoTDFDatasetClient.NTDF_MAX_KEY_ITERATIONS;
200
- this.keyIterationCount = 0;
201
- }
202
- /**
203
- * Encrypt data
204
- *
205
- * Pass a string, TypedArray, or ArrayBuffer data and get a promise which resolves ciphertext
206
- *
207
- * @param data to decrypt
208
- */
209
- async encrypt(data, options) {
210
- // Intial encrypt
211
- if (this.keyIterationCount == 0) {
212
- const mergedOptions = { ...defaultOptions, ...options };
213
- this.ecdsaBinding = mergedOptions.ecdsaBinding;
214
- // For encrypt always generate the client ephemeralKeyPair
215
- const ephemeralKeyPair = await this.ephemeralKeyPair;
216
- if (!this.kasPubKey) {
217
- this.kasPubKey = await (0, access_js_1.fetchECKasPubKey)(this.kasUrl);
218
- }
219
- // Create a policy for the tdf
220
- const policy = new index_js_3.Policy();
221
- // Add data attributes.
222
- for (const dataAttribute of this.dataAttributes) {
223
- const attribute = await (0, index_js_3.createAttribute)(dataAttribute, this.kasPubKey, this.kasUrl);
224
- policy.addAttribute(attribute);
225
- }
226
- if (this.dissems.length == 0 || this.dataAttributes.length == 0) {
227
- console.warn('This policy has an empty attributes list and an empty dissemination list. This will allow any entity with a valid Entity Object to access this TDF.');
228
- }
229
- // Encrypt the policy.
230
- const policyObjectAsStr = policy.toJSON();
231
- const ivVector = this.generateIV();
232
- // Generate a symmetric key.
233
- this.symmetricKey = await (0, index_js_2.keyAgreement)(ephemeralKeyPair.privateKey, await this.kasPubKey.key, await (0, index_js_1.getHkdfSalt)(index_js_1.DefaultParams.magicNumberVersion));
234
- const nanoTDFBuffer = await (0, index_js_1.encrypt)(policyObjectAsStr, this.kasPubKey, ephemeralKeyPair, ivVector, data, this.ecdsaBinding);
235
- // Cache the header and increment the key iteration
236
- if (!this.cachedHeader) {
237
- const nanoTDF = index_js_1.NanoTDF.from(nanoTDFBuffer);
238
- this.cachedHeader = nanoTDF.header;
239
- }
240
- this.keyIterationCount += 1;
241
- return nanoTDFBuffer;
242
- }
243
- this.keyIterationCount += 1;
244
- if (!this.cachedHeader) {
245
- throw new errors_js_1.ConfigurationError('invalid dataset client: empty nanoTDF header');
246
- }
247
- if (!this.symmetricKey) {
248
- throw new errors_js_1.ConfigurationError('invalid dataset client: empty dek');
249
- }
250
- this.keyIterationCount += 1;
251
- if (this.keyIterationCount == this.maxKeyIteration) {
252
- // reset the key iteration
253
- this.keyIterationCount = 0;
254
- }
255
- const ivVector = this.generateIV();
256
- return (0, index_js_1.encryptDataset)(this.symmetricKey, this.cachedHeader, ivVector, data);
257
- }
258
- /**
259
- * Decrypt ciphertext
260
- *
261
- * Pass a base64 string, TypedArray, or ArrayBuffer ciphertext and get a promise which resolves plaintext
262
- *
263
- * @param ciphertext Ciphertext to decrypt
264
- */
265
- async decrypt(ciphertext) {
266
- // Parse ciphertext
267
- const nanotdf = index_js_1.NanoTDF.from(ciphertext);
268
- if (!this.cachedEphemeralKey) {
269
- // First decrypt
270
- return this.rewrapAndDecrypt(nanotdf);
271
- }
272
- // Other encrypts
273
- if (this.cachedEphemeralKey.toString() == nanotdf.header.ephemeralPublicKey.toString()) {
274
- const ukey = this.unwrappedKey;
275
- if (!ukey) {
276
- // These should have thrown already.
277
- throw new Error('internal: key rewrap failure');
278
- }
279
- // Return decrypt promise
280
- return (0, index_js_1.decrypt)(ukey, nanotdf);
281
- }
282
- else {
283
- return this.rewrapAndDecrypt(nanotdf);
284
- }
285
- }
286
- async rewrapAndDecrypt(nanotdf) {
287
- // TODO: The version number should be fetched from the API
288
- await this.fetchOIDCToken();
289
- const version = '0.0.1';
290
- // Rewrap key on every request
291
- const ukey = await this.rewrapKey(nanotdf.header.toBuffer(), nanotdf.header.getKasRewrapUrl(), nanotdf.header.magicNumberVersion, version);
292
- if (!ukey) {
293
- // These should have thrown already.
294
- throw new Error('internal: key rewrap failure');
295
- }
296
- this.cachedEphemeralKey = nanotdf.header.ephemeralPublicKey;
297
- this.unwrappedKey = ukey;
298
- // Return decrypt promise
299
- return (0, index_js_1.decrypt)(ukey, nanotdf);
300
- }
301
- generateIV() {
302
- const iv = this.iv;
303
- if (iv === undefined) {
304
- // iv has passed the maximum iteration count for this dek
305
- throw new errors_js_1.ConfigurationError('dataset full');
306
- }
307
- // assert iv ∈ ℤ ∩ (0, 2^24)
308
- if (!Number.isInteger(iv) || iv <= 0 || 16777215 < iv) {
309
- // Something has fiddled with the iv outside of the expected behavior
310
- // could indicate a race condition, e.g. if two workers or handlers are
311
- // processing the file at once, for example.
312
- throw new Error('internal: invalid state');
313
- }
314
- const lengthAsUint32 = new Uint32Array(1);
315
- lengthAsUint32[0] = iv;
316
- const lengthAsUint24 = new Uint8Array(lengthAsUint32.buffer);
317
- // NOTE: We are only interested in only first 3 bytes.
318
- const ivVector = new Uint8Array(index_js_1.Client.IV_SIZE).fill(0);
319
- ivVector[9] = lengthAsUint24[2];
320
- ivVector[10] = lengthAsUint24[1];
321
- ivVector[11] = lengthAsUint24[0];
322
- // Increment the IV
323
- if (iv == 16777215) {
324
- delete this.iv;
325
- }
326
- else {
327
- this.iv = iv + 1;
328
- }
329
- return ivVector;
330
- }
331
- }
332
- exports.NanoTDFDatasetClient = NanoTDFDatasetClient;
333
- // Total unique IVs(2^24 -1) used for encrypting the nano tdf payloads
334
- // IV starts from 1 since the 0 IV is reserved for policy encryption
335
- NanoTDFDatasetClient.NTDF_MAX_KEY_ITERATIONS = 8388606;
336
- /**
337
- * Authorization for connecting authZ tokens to
338
- * remote requests.
339
- */
340
- exports.AuthProviders = __importStar(require("./auth/providers.js"));
341
46
  var version_js_1 = require("./version.js");
342
47
  Object.defineProperty(exports, "version", { enumerable: true, get: function () { return version_js_1.version; } });
343
48
  Object.defineProperty(exports, "clientType", { enumerable: true, get: function () { return version_js_1.clientType; } });
344
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFTNEI7QUFDNUIsd0RBQXlEO0FBQ3pELDZDQUFxRTtBQUNyRSwyQ0FBK0M7QUFFL0MsMkNBQWlEO0FBQ2pELDBDQUF3RDtBQUEvQywrR0FBQSxxQkFBcUIsT0FBQTtBQU85Qix5QkFBeUI7QUFDekIsTUFBTSxjQUFjLEdBQW1CO0lBQ3JDLFlBQVksRUFBRSxLQUFLO0NBQ3BCLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsaUJBQU07SUFDdkM7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUE2QztRQUN6RCxtQkFBbUI7UUFDbkIsTUFBTSxPQUFPLEdBQUcsa0JBQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFNUIsMERBQTBEO1FBQzFELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN4QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRWhELDhCQUE4QjtRQUM5QixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQy9CLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQ3pCLE1BQU0sRUFDTixPQUFPLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUNqQyxPQUFPLENBQ1IsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDakQ7UUFDRCx5QkFBeUI7UUFDekIsT0FBTyxJQUFBLGtCQUFPLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FB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
49
+ Object.defineProperty(exports, "tdfSpecVersion", { enumerable: true, get: function () { return version_js_1.tdfSpecVersion; } });
50
+ __exportStar(require("./opentdf.js"), exports);
51
+ __exportStar(require("./seekable.js"), exports);
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQThGO0FBQWpELHNHQUFBLFdBQVcsT0FBQTtBQUFFLHNHQUFBLFdBQVcsT0FBQTtBQUNyRSxxRUFBcUQ7QUFDckQsMENBQXdEO0FBQS9DLCtHQUFBLHFCQUFxQixPQUFBO0FBQzlCLDJDQUFtRTtBQUExRCxxR0FBQSxPQUFPLE9BQUE7QUFBRSx3R0FBQSxVQUFVLE9BQUE7QUFBRSw0R0FBQSxjQUFjLE9BQUE7QUFDNUMsK0NBQTZCO0FBQzdCLGdEQUE4QiJ9