@suveren/gateway 0.7.4 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/content/integrations/mollie.json +103 -28
  2. package/dist/control-plane/index.mjs +248 -58
  3. package/dist/mcp-server/http.mjs +577 -124
  4. package/dist/ui/assets/index-BFnSVa9N.js +110 -0
  5. package/dist/ui/assets/{index-CkWaRck1.css → index-BYVb_0oG.css} +1 -1
  6. package/dist/ui/index.html +2 -2
  7. package/node_modules/@hap/core/dist/index.d.mts +285 -13
  8. package/node_modules/@hap/core/dist/index.d.ts +285 -13
  9. package/node_modules/@hap/core/dist/index.js +281 -13
  10. package/node_modules/@hap/core/dist/index.mjs +266 -12
  11. package/node_modules/@hap/core/package.json +4 -2
  12. package/node_modules/@hap/core/src/did-key.ts +126 -0
  13. package/node_modules/@hap/core/src/frame.ts +115 -14
  14. package/node_modules/@hap/core/src/gatekeeper.ts +26 -0
  15. package/node_modules/@hap/core/src/identity.ts +21 -5
  16. package/node_modules/@hap/core/src/index.ts +3 -0
  17. package/node_modules/@hap/core/src/mandate.ts +207 -0
  18. package/node_modules/@hap/core/src/receipt.ts +74 -0
  19. package/node_modules/@hap/core/src/types.ts +87 -5
  20. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/accept.js +54 -0
  21. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/charset.js +10 -34
  22. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/encoding.js +9 -30
  23. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/language.js +15 -36
  24. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/mediaType.js +16 -134
  25. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/LICENSE +22 -0
  26. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/README.md +71 -0
  27. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.d.ts +46 -0
  28. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.js +176 -0
  29. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.js.map +1 -0
  30. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/package.json +52 -0
  31. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/package.json +16 -10
  32. package/node_modules/@types/node/README.md +1 -1
  33. package/node_modules/@types/node/buffer.buffer.d.ts +10 -5
  34. package/node_modules/@types/node/crypto.d.ts +2 -4
  35. package/node_modules/@types/node/dgram.d.ts +119 -4
  36. package/node_modules/@types/node/ffi.d.ts +1 -1
  37. package/node_modules/@types/node/fs/promises.d.ts +61 -65
  38. package/node_modules/@types/node/fs.d.ts +86 -76
  39. package/node_modules/@types/node/http.d.ts +17 -1
  40. package/node_modules/@types/node/http2.d.ts +12 -4
  41. package/node_modules/@types/node/index.d.ts +1 -0
  42. package/node_modules/@types/node/inspector.d.ts +2 -1
  43. package/node_modules/@types/node/net.d.ts +108 -16
  44. package/node_modules/@types/node/package.json +2 -2
  45. package/node_modules/@types/node/process.d.ts +52 -0
  46. package/node_modules/@types/node/quic.d.ts +246 -38
  47. package/node_modules/@types/node/sqlite.d.ts +6 -2
  48. package/node_modules/@types/node/stream/iter.d.ts +4 -4
  49. package/node_modules/@types/node/test.d.ts +36 -0
  50. package/node_modules/@types/node/tls.d.ts +24 -0
  51. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +5 -0
  52. package/node_modules/@types/node/ts5.6/index.d.ts +1 -0
  53. package/node_modules/@types/node/ts5.7/index.d.ts +1 -0
  54. package/node_modules/@types/node/tty.d.ts +4 -3
  55. package/node_modules/@types/node/vfs.d.ts +210 -0
  56. package/node_modules/@types/node/vm.d.ts +1 -1
  57. package/node_modules/express-rate-limit/dist/index.cjs +6 -3
  58. package/node_modules/express-rate-limit/dist/index.d.cts +11 -0
  59. package/node_modules/express-rate-limit/dist/index.d.mts +11 -0
  60. package/node_modules/express-rate-limit/dist/index.d.ts +11 -0
  61. package/node_modules/express-rate-limit/dist/index.mjs +6 -3
  62. package/node_modules/express-rate-limit/{license.md → license} +7 -6
  63. package/node_modules/express-rate-limit/package.json +5 -5
  64. package/node_modules/express-rate-limit/readme.md +1 -0
  65. package/node_modules/fast-uri/index.js +215 -47
  66. package/node_modules/fast-uri/lib/schemes.js +9 -4
  67. package/node_modules/fast-uri/lib/utils.js +396 -92
  68. package/node_modules/fast-uri/package.json +1 -1
  69. package/node_modules/fast-uri/test/component-safe-serialization.test.js +163 -0
  70. package/node_modules/fast-uri/test/equal.test.js +31 -3
  71. package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +2 -0
  72. package/node_modules/fast-uri/test/ipv6-canonical.test.js +34 -0
  73. package/node_modules/fast-uri/test/ipv6-validation.test.js +124 -0
  74. package/node_modules/fast-uri/test/malformed-percent.test.js +77 -0
  75. package/node_modules/fast-uri/test/malformed-urn.test.js +61 -0
  76. package/node_modules/fast-uri/test/parse.test.js +7 -3
  77. package/node_modules/fast-uri/test/query-fragment-normalization.test.js +33 -0
  78. package/node_modules/fast-uri/test/reserved-path-normalization.test.js +109 -0
  79. package/node_modules/fast-uri/test/scheme-validation.test.js +124 -0
  80. package/node_modules/fast-uri/test/security-normalization.test.js +101 -0
  81. package/node_modules/fast-uri/test/security.test.js +75 -3
  82. package/node_modules/fast-uri/test/urn-full-input.test.js +29 -0
  83. package/node_modules/fast-uri/test/websocket-query-preservation.test.js +24 -0
  84. package/node_modules/hono/dist/cjs/client/client.js +25 -11
  85. package/node_modules/hono/dist/cjs/client/utils.js +4 -1
  86. package/node_modules/hono/dist/cjs/context.js +4 -0
  87. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +36 -2
  88. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +1 -1
  89. package/node_modules/hono/dist/cjs/helper/ssg/utils.js +30 -10
  90. package/node_modules/hono/dist/cjs/jsx/dom/render.js +2 -0
  91. package/node_modules/hono/dist/cjs/middleware/cache/index.js +1 -1
  92. package/node_modules/hono/dist/cjs/middleware/cors/index.js +1 -1
  93. package/node_modules/hono/dist/cjs/middleware/csrf/index.js +1 -1
  94. package/node_modules/hono/dist/cjs/middleware/etag/digest.js +1 -1
  95. package/node_modules/hono/dist/cjs/middleware/etag/index.js +3 -3
  96. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +3 -1
  97. package/node_modules/hono/dist/cjs/request.js +8 -4
  98. package/node_modules/hono/dist/cjs/router/linear-router/router.js +7 -2
  99. package/node_modules/hono/dist/cjs/router/pattern-router/router.js +3 -9
  100. package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +10 -3
  101. package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +47 -83
  102. package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +2 -1
  103. package/node_modules/hono/dist/cjs/router/trie-router/node.js +46 -69
  104. package/node_modules/hono/dist/cjs/router/trie-router/router.js +3 -11
  105. package/node_modules/hono/dist/cjs/router/utils.js +27 -0
  106. package/node_modules/hono/dist/cjs/utils/body.js +15 -3
  107. package/node_modules/hono/dist/cjs/utils/cookie.js +1 -1
  108. package/node_modules/hono/dist/cjs/utils/ipaddr.js +5 -3
  109. package/node_modules/hono/dist/cjs/utils/stream.js +7 -1
  110. package/node_modules/hono/dist/cjs/utils/url.js +9 -1
  111. package/node_modules/hono/dist/client/client.js +25 -11
  112. package/node_modules/hono/dist/client/utils.js +4 -1
  113. package/node_modules/hono/dist/context.js +4 -0
  114. package/node_modules/hono/dist/helper/accepts/accepts.js +36 -2
  115. package/node_modules/hono/dist/helper/ssg/ssg.js +1 -1
  116. package/node_modules/hono/dist/helper/ssg/utils.js +30 -10
  117. package/node_modules/hono/dist/jsx/dom/render.js +2 -0
  118. package/node_modules/hono/dist/middleware/cache/index.js +1 -1
  119. package/node_modules/hono/dist/middleware/cors/index.js +1 -1
  120. package/node_modules/hono/dist/middleware/csrf/index.js +1 -1
  121. package/node_modules/hono/dist/middleware/etag/digest.js +1 -1
  122. package/node_modules/hono/dist/middleware/etag/index.js +3 -3
  123. package/node_modules/hono/dist/middleware/pretty-json/index.js +3 -1
  124. package/node_modules/hono/dist/request.js +8 -4
  125. package/node_modules/hono/dist/router/linear-router/router.js +7 -2
  126. package/node_modules/hono/dist/router/pattern-router/router.js +3 -9
  127. package/node_modules/hono/dist/router/reg-exp-router/node.js +6 -2
  128. package/node_modules/hono/dist/router/reg-exp-router/router.js +53 -84
  129. package/node_modules/hono/dist/router/reg-exp-router/trie.js +2 -1
  130. package/node_modules/hono/dist/router/trie-router/node.js +46 -69
  131. package/node_modules/hono/dist/router/trie-router/router.js +3 -11
  132. package/node_modules/hono/dist/router/utils.js +5 -0
  133. package/node_modules/hono/dist/types/context.d.ts +4 -0
  134. package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +3 -0
  135. package/node_modules/hono/dist/types/router/trie-router/node.d.ts +1 -2
  136. package/node_modules/hono/dist/types/router/trie-router/router.d.ts +0 -1
  137. package/node_modules/hono/dist/types/router/utils.d.ts +1 -0
  138. package/node_modules/hono/dist/types/utils/url.d.ts +4 -0
  139. package/node_modules/hono/dist/utils/body.js +15 -3
  140. package/node_modules/hono/dist/utils/cookie.js +1 -1
  141. package/node_modules/hono/dist/utils/ipaddr.js +5 -3
  142. package/node_modules/hono/dist/utils/stream.js +7 -1
  143. package/node_modules/hono/dist/utils/url.js +9 -1
  144. package/node_modules/hono/package.json +1 -1
  145. package/node_modules/ip-address/README.md +92 -82
  146. package/node_modules/ip-address/dist/common.d.ts +20 -0
  147. package/node_modules/ip-address/dist/common.js +36 -0
  148. package/node_modules/ip-address/dist/common.js.map +1 -1
  149. package/node_modules/ip-address/dist/ipv4.d.ts +50 -0
  150. package/node_modules/ip-address/dist/ipv4.js +75 -0
  151. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  152. package/node_modules/ip-address/dist/ipv6.d.ts +79 -10
  153. package/node_modules/ip-address/dist/ipv6.js +120 -30
  154. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  155. package/node_modules/ip-address/dist/v4/constants.d.ts +12 -0
  156. package/node_modules/ip-address/dist/v4/constants.js +40 -1
  157. package/node_modules/ip-address/dist/v4/constants.js.map +1 -1
  158. package/node_modules/ip-address/dist/v6/constants.d.ts +14 -0
  159. package/node_modules/ip-address/dist/v6/constants.js +47 -1
  160. package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  161. package/node_modules/ip-address/package.json +1 -1
  162. package/node_modules/is-plain-object/README.md +39 -95
  163. package/node_modules/is-plain-object/dist/is-plain-object.js +0 -2
  164. package/node_modules/is-plain-object/is-plain-object.d.ts +6 -1
  165. package/node_modules/is-plain-object/package.json +8 -34
  166. package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +7 -16
  167. package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +10 -20
  168. package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +7 -16
  169. package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +16 -38
  170. package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +7 -16
  171. package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +19 -38
  172. package/node_modules/jose/dist/types/jwk/embedded.d.ts +3 -8
  173. package/node_modules/jose/dist/types/jwk/thumbprint.d.ts +5 -5
  174. package/node_modules/jose/dist/types/jwks/local.d.ts +6 -10
  175. package/node_modules/jose/dist/types/jwks/remote.d.ts +17 -28
  176. package/node_modules/jose/dist/types/jws/compact/sign.d.ts +5 -10
  177. package/node_modules/jose/dist/types/jws/compact/verify.d.ts +9 -18
  178. package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +7 -16
  179. package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +9 -18
  180. package/node_modules/jose/dist/types/jws/general/sign.d.ts +11 -21
  181. package/node_modules/jose/dist/types/jws/general/verify.d.ts +12 -21
  182. package/node_modules/jose/dist/types/jwt/decrypt.d.ts +10 -20
  183. package/node_modules/jose/dist/types/jwt/encrypt.d.ts +17 -29
  184. package/node_modules/jose/dist/types/jwt/sign.d.ts +12 -19
  185. package/node_modules/jose/dist/types/jwt/unsecured.d.ts +17 -28
  186. package/node_modules/jose/dist/types/jwt/verify.d.ts +9 -19
  187. package/node_modules/jose/dist/types/key/export.d.ts +4 -4
  188. package/node_modules/jose/dist/types/key/generate_key_pair.d.ts +6 -8
  189. package/node_modules/jose/dist/types/key/generate_secret.d.ts +4 -11
  190. package/node_modules/jose/dist/types/key/import.d.ts +10 -17
  191. package/node_modules/jose/dist/types/types.d.ts +48 -86
  192. package/node_modules/jose/dist/types/util/base64url.d.ts +2 -2
  193. package/node_modules/jose/dist/types/util/decode_jwt.d.ts +3 -10
  194. package/node_modules/jose/dist/types/util/decode_protected_header.d.ts +4 -4
  195. package/node_modules/jose/dist/types/util/errors.d.ts +26 -53
  196. package/node_modules/jose/dist/webapi/index.js +70 -32
  197. package/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +7 -8
  198. package/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +42 -26
  199. package/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +14 -10
  200. package/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +53 -71
  201. package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +38 -49
  202. package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +121 -158
  203. package/node_modules/jose/dist/webapi/jwk/embedded.js +30 -18
  204. package/node_modules/jose/dist/webapi/jwk/thumbprint.js +54 -64
  205. package/node_modules/jose/dist/webapi/jwks/local.js +49 -74
  206. package/node_modules/jose/dist/webapi/jwks/remote.js +91 -160
  207. package/node_modules/jose/dist/webapi/jws/compact/sign.js +21 -20
  208. package/node_modules/jose/dist/webapi/jws/compact/verify.js +7 -8
  209. package/node_modules/jose/dist/webapi/jws/flattened/sign.js +29 -30
  210. package/node_modules/jose/dist/webapi/jws/flattened/verify.js +21 -23
  211. package/node_modules/jose/dist/webapi/jws/general/sign.js +61 -70
  212. package/node_modules/jose/dist/webapi/jws/general/verify.js +47 -41
  213. package/node_modules/jose/dist/webapi/jwt/decrypt.js +13 -22
  214. package/node_modules/jose/dist/webapi/jwt/encrypt.js +58 -100
  215. package/node_modules/jose/dist/webapi/jwt/sign.js +18 -50
  216. package/node_modules/jose/dist/webapi/jwt/unsecured.js +34 -63
  217. package/node_modules/jose/dist/webapi/jwt/verify.js +12 -14
  218. package/node_modules/jose/dist/webapi/key/export.js +32 -37
  219. package/node_modules/jose/dist/webapi/key/generate_key_pair.js +40 -44
  220. package/node_modules/jose/dist/webapi/key/generate_secret.js +35 -39
  221. package/node_modules/jose/dist/webapi/key/import.js +52 -52
  222. package/node_modules/jose/dist/webapi/lib/asn1.js +130 -164
  223. package/node_modules/jose/dist/webapi/lib/base64.js +18 -20
  224. package/node_modules/jose/dist/webapi/lib/buffer_utils.js +34 -38
  225. package/node_modules/jose/dist/webapi/lib/content_encryption.js +79 -123
  226. package/node_modules/jose/dist/webapi/lib/crypto_key.js +24 -25
  227. package/node_modules/jose/dist/webapi/lib/deflate.js +46 -40
  228. package/node_modules/jose/dist/webapi/lib/helpers.js +40 -37
  229. package/node_modules/jose/dist/webapi/lib/invalid_key_input.js +10 -24
  230. package/node_modules/jose/dist/webapi/lib/is_key_like.js +17 -15
  231. package/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +106 -93
  232. package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +210 -176
  233. package/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +105 -107
  234. package/node_modules/jose/dist/webapi/lib/jwk_metadata.js +19 -0
  235. package/node_modules/jose/dist/webapi/lib/jwk_to_key.js +9 -16
  236. package/node_modules/jose/dist/webapi/lib/jws_algorithms.js +62 -61
  237. package/node_modules/jose/dist/webapi/lib/jws_sign.js +58 -72
  238. package/node_modules/jose/dist/webapi/lib/jws_verify.js +90 -103
  239. package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +134 -185
  240. package/node_modules/jose/dist/webapi/lib/key.js +84 -121
  241. package/node_modules/jose/dist/webapi/lib/key_algorithm.js +13 -8
  242. package/node_modules/jose/dist/webapi/lib/key_descriptor.js +8 -6
  243. package/node_modules/jose/dist/webapi/lib/key_management.js +200 -225
  244. package/node_modules/jose/dist/webapi/lib/key_options.js +8 -0
  245. package/node_modules/jose/dist/webapi/lib/options.js +57 -44
  246. package/node_modules/jose/dist/webapi/lib/signing.js +18 -22
  247. package/node_modules/jose/dist/webapi/lib/type_checks.js +28 -33
  248. package/node_modules/jose/dist/webapi/util/base64url.js +26 -35
  249. package/node_modules/jose/dist/webapi/util/decode_jwt.js +32 -31
  250. package/node_modules/jose/dist/webapi/util/decode_protected_header.js +18 -23
  251. package/node_modules/jose/dist/webapi/util/errors.js +94 -84
  252. package/node_modules/jose/package.json +17 -81
  253. package/package.json +2 -2
  254. package/profiles/calendar/0.5.profile.json +190 -0
  255. package/profiles/charge/0.5.profile.json +210 -0
  256. package/profiles/customers/0.7.profile.json +157 -0
  257. package/profiles/deploy/0.9.profile.json +176 -0
  258. package/profiles/email/0.6.profile.json +208 -0
  259. package/profiles/index.json +9 -1
  260. package/profiles/publish/0.5.profile.json +186 -0
  261. package/profiles/purchase/0.5.profile.json +231 -0
  262. package/profiles/records/0.5.profile.json +117 -0
  263. package/dist/ui/assets/index-0Q2eNytX.js +0 -110
  264. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/HISTORY.md +0 -114
@@ -1,44 +1,40 @@
1
- export const encoder = new TextEncoder();
2
- export const decoder = new TextDecoder();
3
- export const strictDecoder = new TextDecoder('utf-8', { fatal: true });
4
- const MAX_INT32 = 2 ** 32;
5
- export function concat(...buffers) {
6
- const size = buffers.reduce((acc, { length }) => acc + length, 0);
7
- const buf = new Uint8Array(size);
8
- let i = 0;
9
- for (const buffer of buffers) {
10
- buf.set(buffer, i);
11
- i += buffer.length;
12
- }
13
- return buf;
1
+ const encoder = new TextEncoder(), decoder = new TextDecoder(), strictDecoder = new TextDecoder("utf-8", { fatal: !0 }), MAX_INT32 = 2 ** 32;
2
+ function concat(...buffers) {
3
+ const size = buffers.reduce((acc, { length }) => acc + length, 0), buf = new Uint8Array(size);
4
+ let i = 0;
5
+ for (const buffer of buffers)
6
+ buf.set(buffer, i), i += buffer.length;
7
+ return buf;
14
8
  }
15
9
  function writeUInt32BE(buf, value, offset) {
16
- if (value < 0 || value >= MAX_INT32) {
17
- throw new RangeError(`value must be >= 0 and <= ${MAX_INT32 - 1}. Received ${value}`);
18
- }
19
- buf.set([value >>> 24, value >>> 16, value >>> 8, value & 0xff], offset);
10
+ if (value < 0 || value >= MAX_INT32)
11
+ throw new RangeError(`value must be >= 0 and <= ${MAX_INT32 - 1}. Received ${value}`);
12
+ buf.set([value >>> 24, value >>> 16, value >>> 8, value & 255], offset);
20
13
  }
21
- export function uint64be(value) {
22
- const high = Math.floor(value / MAX_INT32);
23
- const low = value % MAX_INT32;
24
- const buf = new Uint8Array(8);
25
- writeUInt32BE(buf, high, 0);
26
- writeUInt32BE(buf, low, 4);
27
- return buf;
14
+ function uint64be(value) {
15
+ const high = Math.floor(value / MAX_INT32), low = value % MAX_INT32, buf = new Uint8Array(8);
16
+ return writeUInt32BE(buf, high, 0), writeUInt32BE(buf, low, 4), buf;
28
17
  }
29
- export function uint32be(value) {
30
- const buf = new Uint8Array(4);
31
- writeUInt32BE(buf, value);
32
- return buf;
18
+ function uint32be(value) {
19
+ const buf = new Uint8Array(4);
20
+ return writeUInt32BE(buf, value), buf;
33
21
  }
34
- export function encode(string) {
35
- const bytes = new Uint8Array(string.length);
36
- for (let i = 0; i < string.length; i++) {
37
- const code = string.charCodeAt(i);
38
- if (code > 127) {
39
- throw new TypeError('non-ASCII string encountered in encode()');
40
- }
41
- bytes[i] = code;
42
- }
43
- return bytes;
22
+ function encode(string) {
23
+ const bytes = new Uint8Array(string.length);
24
+ for (let i = 0; i < string.length; i++) {
25
+ const code = string.charCodeAt(i);
26
+ if (code > 127)
27
+ throw new TypeError("non-ASCII string encountered in encode()");
28
+ bytes[i] = code;
29
+ }
30
+ return bytes;
44
31
  }
32
+ export {
33
+ concat,
34
+ decoder,
35
+ encode,
36
+ encoder,
37
+ strictDecoder,
38
+ uint32be,
39
+ uint64be
40
+ };
@@ -1,142 +1,98 @@
1
- import { concat, uint64be } from './buffer_utils.js';
2
- import { checkCryptoKey } from './crypto_key.js';
3
- import { invalidKeyInput } from './invalid_key_input.js';
4
- import { JWEDecryptionFailed, JWEInvalid } from '../util/errors.js';
5
- import { isCryptoKey } from './is_key_like.js';
6
- export const generateCek = (enc) => crypto.getRandomValues(new Uint8Array(enc.cekBits >> 3));
1
+ import { concat, uint64be } from "./buffer_utils.js";
2
+ import { checkCryptoKey } from "./crypto_key.js";
3
+ import { invalidKeyInput } from "./invalid_key_input.js";
4
+ import { JWEDecryptionFailed, JWEInvalid } from "../util/errors.js";
5
+ import { isCryptoKey } from "./is_key_like.js";
6
+ const generateCek = (enc) => crypto.getRandomValues(new Uint8Array(enc.cekBits >> 3));
7
7
  function checkCekLength(cek, expected) {
8
- const actual = cek.byteLength << 3;
9
- if (actual !== expected) {
10
- throw new JWEInvalid(`Invalid Content Encryption Key length. Expected ${expected} bits, got ${actual} bits`);
11
- }
8
+ const actual = cek.byteLength << 3;
9
+ if (actual !== expected)
10
+ throw new JWEInvalid(`Invalid Content Encryption Key length. Expected ${expected} bits, got ${actual} bits`);
12
11
  }
13
- export const generateIv = (enc) => crypto.getRandomValues(new Uint8Array(enc.ivBits >> 3));
14
- export function checkIvLength(enc, iv) {
15
- if (iv.length << 3 !== enc.ivBits) {
16
- throw new JWEInvalid('Invalid Initialization Vector length');
17
- }
12
+ const generateIv = (enc) => crypto.getRandomValues(new Uint8Array(enc.ivBits >> 3));
13
+ function checkIvLength(enc, iv) {
14
+ if (iv.length << 3 !== enc.ivBits)
15
+ throw new JWEInvalid("Invalid Initialization Vector length");
18
16
  }
19
17
  async function cbcKeySetup(enc, cek, usage) {
20
- if (!(cek instanceof Uint8Array)) {
21
- throw new TypeError(invalidKeyInput(cek, 'Uint8Array'));
22
- }
23
- const keySize = enc.cekBits >> 1;
24
- const encKey = await crypto.subtle.importKey('raw', cek.subarray(keySize >> 3), 'AES-CBC', false, [usage]);
25
- const macKey = await crypto.subtle.importKey('raw', cek.subarray(0, keySize >> 3), {
26
- hash: `SHA-${keySize << 1}`,
27
- name: 'HMAC',
28
- }, false, ['sign']);
29
- return [encKey, macKey, keySize];
18
+ if (!(cek instanceof Uint8Array))
19
+ throw new TypeError(invalidKeyInput(cek, "Uint8Array"));
20
+ const keySize = enc.cekBits >> 1, encKey = await crypto.subtle.importKey("raw", cek.subarray(keySize >> 3), "AES-CBC", !1, [usage]), macKey = await crypto.subtle.importKey("raw", cek.subarray(0, keySize >> 3), {
21
+ hash: `SHA-${keySize << 1}`,
22
+ name: "HMAC"
23
+ }, !1, ["sign"]);
24
+ return [encKey, macKey, keySize];
30
25
  }
31
26
  async function cbcHmacTag(macKey, macData, keySize) {
32
- return new Uint8Array((await crypto.subtle.sign('HMAC', macKey, macData)).slice(0, keySize >> 3));
27
+ return new Uint8Array((await crypto.subtle.sign("HMAC", macKey, macData)).slice(0, keySize >> 3));
33
28
  }
34
29
  async function cbcEncrypt(enc, plaintext, cek, iv, aad) {
35
- const [encKey, macKey, keySize] = await cbcKeySetup(enc, cek, 'encrypt');
36
- const ciphertext = new Uint8Array(await crypto.subtle.encrypt({
37
- iv: iv,
38
- name: 'AES-CBC',
39
- }, encKey, plaintext));
40
- const macData = concat(aad, iv, ciphertext, uint64be(aad.length * 8));
41
- const tag = await cbcHmacTag(macKey, macData, keySize);
42
- return { ciphertext, tag, iv };
30
+ const [encKey, macKey, keySize] = await cbcKeySetup(enc, cek, "encrypt"), ciphertext = new Uint8Array(await crypto.subtle.encrypt({
31
+ iv,
32
+ name: "AES-CBC"
33
+ }, encKey, plaintext)), macData = concat(aad, iv, ciphertext, uint64be(aad.length * 8)), tag = await cbcHmacTag(macKey, macData, keySize);
34
+ return { ciphertext, tag, iv };
43
35
  }
44
36
  async function timingSafeEqual(a, b) {
45
- const algorithm = { name: 'HMAC', hash: 'SHA-256' };
46
- const key = (await crypto.subtle.generateKey(algorithm, false, ['sign', 'verify']));
47
- const aHmac = await crypto.subtle.sign(algorithm, key, a);
48
- return crypto.subtle.verify(algorithm, key, aHmac, b);
37
+ const algorithm = { name: "HMAC", hash: "SHA-256" }, key = await crypto.subtle.generateKey(algorithm, !1, ["sign", "verify"]), aHmac = await crypto.subtle.sign(algorithm, key, a);
38
+ return crypto.subtle.verify(algorithm, key, aHmac, b);
49
39
  }
50
40
  async function cbcDecrypt(enc, cek, ciphertext, iv, tag, aad) {
51
- const [encKey, macKey, keySize] = await cbcKeySetup(enc, cek, 'decrypt');
52
- const macData = concat(aad, iv, ciphertext, uint64be(aad.length * 8));
53
- const expectedTag = await cbcHmacTag(macKey, macData, keySize);
54
- let macCheckPassed;
55
- try {
56
- macCheckPassed = await timingSafeEqual(tag, expectedTag);
57
- }
58
- catch {
59
- }
60
- if (!macCheckPassed) {
61
- throw new JWEDecryptionFailed();
62
- }
63
- let plaintext;
64
- try {
65
- plaintext = new Uint8Array(await crypto.subtle.decrypt({ iv: iv, name: 'AES-CBC' }, encKey, ciphertext));
66
- }
67
- catch {
68
- }
69
- if (!plaintext) {
70
- throw new JWEDecryptionFailed();
71
- }
72
- return plaintext;
41
+ const [encKey, macKey, keySize] = await cbcKeySetup(enc, cek, "decrypt"), macData = concat(aad, iv, ciphertext, uint64be(aad.length * 8)), expectedTag = await cbcHmacTag(macKey, macData, keySize);
42
+ try {
43
+ if (await timingSafeEqual(tag, expectedTag))
44
+ return new Uint8Array(await crypto.subtle.decrypt({ iv, name: "AES-CBC" }, encKey, ciphertext));
45
+ } catch {
46
+ }
47
+ throw new JWEDecryptionFailed();
73
48
  }
74
49
  async function gcmEncrypt(enc, plaintext, cek, iv, aad) {
75
- const encKey = cek instanceof Uint8Array
76
- ? await crypto.subtle.importKey('raw', cek, 'AES-GCM', false, [
77
- 'encrypt',
78
- ])
79
- : (checkCryptoKey(cek, enc.subtle, 'encrypt'), cek);
80
- const encrypted = new Uint8Array(await crypto.subtle.encrypt({
81
- additionalData: aad,
82
- iv: iv,
83
- name: 'AES-GCM',
84
- tagLength: 128,
85
- }, encKey, plaintext));
86
- const tag = encrypted.slice(-16);
87
- const ciphertext = encrypted.slice(0, -16);
88
- return { ciphertext, tag, iv };
50
+ const encKey = cek instanceof Uint8Array ? await crypto.subtle.importKey("raw", cek, "AES-GCM", !1, [
51
+ "encrypt"
52
+ ]) : (checkCryptoKey(cek, enc.subtle, "encrypt"), cek), encrypted = new Uint8Array(await crypto.subtle.encrypt({
53
+ additionalData: aad,
54
+ iv,
55
+ name: "AES-GCM",
56
+ tagLength: 128
57
+ }, encKey, plaintext)), tag = encrypted.slice(-16);
58
+ return { ciphertext: encrypted.slice(0, -16), tag, iv };
89
59
  }
90
60
  async function gcmDecrypt(enc, cek, ciphertext, iv, tag, aad) {
91
- const encKey = cek instanceof Uint8Array
92
- ? await crypto.subtle.importKey('raw', cek, 'AES-GCM', false, [
93
- 'decrypt',
94
- ])
95
- : (checkCryptoKey(cek, enc.subtle, 'decrypt'), cek);
96
- try {
97
- return new Uint8Array(await crypto.subtle.decrypt({
98
- additionalData: aad,
99
- iv: iv,
100
- name: 'AES-GCM',
101
- tagLength: 128,
102
- }, encKey, concat(ciphertext, tag)));
103
- }
104
- catch {
105
- throw new JWEDecryptionFailed();
106
- }
61
+ const encKey = cek instanceof Uint8Array ? await crypto.subtle.importKey("raw", cek, "AES-GCM", !1, [
62
+ "decrypt"
63
+ ]) : (checkCryptoKey(cek, enc.subtle, "decrypt"), cek);
64
+ try {
65
+ return new Uint8Array(await crypto.subtle.decrypt({
66
+ additionalData: aad,
67
+ iv,
68
+ name: "AES-GCM",
69
+ tagLength: 128
70
+ }, encKey, concat(ciphertext, tag)));
71
+ } catch {
72
+ throw new JWEDecryptionFailed();
73
+ }
107
74
  }
108
- export async function encrypt(enc, plaintext, cek, iv, aad) {
109
- if (!isCryptoKey(cek) && !(cek instanceof Uint8Array)) {
110
- throw new TypeError(invalidKeyInput(cek, 'CryptoKey', 'KeyObject', 'Uint8Array', 'JSON Web Key'));
111
- }
112
- if (iv) {
113
- checkIvLength(enc, iv);
114
- }
115
- else {
116
- iv = generateIv(enc);
117
- }
118
- if (cek instanceof Uint8Array) {
119
- checkCekLength(cek, enc.cekBits);
120
- }
121
- return enc.cbc
122
- ? cbcEncrypt(enc, plaintext, cek, iv, aad)
123
- : gcmEncrypt(enc, plaintext, cek, iv, aad);
75
+ async function encrypt(enc, plaintext, cek, iv, aad) {
76
+ if (!isCryptoKey(cek) && !(cek instanceof Uint8Array))
77
+ throw new TypeError(invalidKeyInput(cek, "CryptoKey", "KeyObject", "Uint8Array", "JSON Web Key"));
78
+ return iv ? checkIvLength(enc, iv) : iv = generateIv(enc), cek instanceof Uint8Array && checkCekLength(cek, enc.cekBits), enc.cbc ? cbcEncrypt(enc, plaintext, cek, iv, aad) : gcmEncrypt(enc, plaintext, cek, iv, aad);
124
79
  }
125
- export async function decrypt(enc, cek, ciphertext, iv, tag, aad) {
126
- if (!isCryptoKey(cek) && !(cek instanceof Uint8Array)) {
127
- throw new TypeError(invalidKeyInput(cek, 'CryptoKey', 'KeyObject', 'Uint8Array', 'JSON Web Key'));
128
- }
129
- if (!iv) {
130
- throw new JWEInvalid('JWE Initialization Vector missing');
131
- }
132
- if (!tag) {
133
- throw new JWEInvalid('JWE Authentication Tag missing');
134
- }
135
- checkIvLength(enc, iv);
136
- if (cek instanceof Uint8Array) {
137
- checkCekLength(cek, enc.cekBits);
138
- }
139
- return enc.cbc
140
- ? cbcDecrypt(enc, cek, ciphertext, iv, tag, aad)
141
- : gcmDecrypt(enc, cek, ciphertext, iv, tag, aad);
80
+ async function decrypt(enc, cek, ciphertext, iv, tag, aad) {
81
+ if (!isCryptoKey(cek) && !(cek instanceof Uint8Array))
82
+ throw new TypeError(invalidKeyInput(cek, "CryptoKey", "KeyObject", "Uint8Array", "JSON Web Key"));
83
+ if (!iv)
84
+ throw new JWEInvalid("JWE Initialization Vector missing");
85
+ if (!tag)
86
+ throw new JWEInvalid("JWE Authentication Tag missing");
87
+ if (!enc.cbc && tag.length !== 16)
88
+ throw new JWEInvalid("Invalid Authentication Tag length");
89
+ return checkIvLength(enc, iv), cek instanceof Uint8Array && checkCekLength(cek, enc.cekBits), enc.cbc ? cbcDecrypt(enc, cek, ciphertext, iv, tag, aad) : gcmDecrypt(enc, cek, ciphertext, iv, tag, aad);
142
90
  }
91
+ export {
92
+ checkCekLength,
93
+ checkIvLength,
94
+ decrypt,
95
+ encrypt,
96
+ generateCek,
97
+ generateIv
98
+ };
@@ -1,28 +1,27 @@
1
- const unusable = (name, prop = 'algorithm.name') => new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);
2
- export function checkUsage(key, usage) {
3
- if (usage && !key.usages.includes(usage)) {
4
- throw new TypeError(`CryptoKey does not support this operation, its usages must include ${usage}.`);
5
- }
1
+ const unusable = (name, prop = "algorithm.name") => new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);
2
+ function checkUsage(key, usage) {
3
+ if (usage && !key.usages.includes(usage))
4
+ throw new TypeError(`CryptoKey does not support this operation, its usages must include ${usage}.`);
6
5
  }
7
- export function checkModulusLength(alg, key) {
8
- const { modulusLength } = key.algorithm;
9
- if (typeof modulusLength !== 'number' || modulusLength < 2048) {
10
- throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);
11
- }
6
+ function checkModulusLength(alg, key) {
7
+ const { modulusLength } = key.algorithm;
8
+ if (typeof modulusLength != "number" || modulusLength < 2048)
9
+ throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);
12
10
  }
13
- export function checkCryptoKey(key, expected, usage) {
14
- const algorithm = key.algorithm;
15
- if (algorithm.name !== expected.name) {
16
- throw unusable(expected.name);
17
- }
18
- if (expected.hash && algorithm.hash?.name !== expected.hash) {
19
- throw unusable(expected.hash, 'algorithm.hash');
20
- }
21
- if (expected.namedCurve && algorithm.namedCurve !== expected.namedCurve) {
22
- throw unusable(expected.namedCurve, 'algorithm.namedCurve');
23
- }
24
- if (expected.length !== undefined && algorithm.length !== expected.length) {
25
- throw unusable(expected.length, 'algorithm.length');
26
- }
27
- checkUsage(key, usage);
11
+ function checkCryptoKey(key, expected, usage) {
12
+ const algorithm = key.algorithm;
13
+ if (algorithm.name !== expected.name)
14
+ throw unusable(expected.name);
15
+ if (expected.hash && algorithm.hash?.name !== expected.hash)
16
+ throw unusable(expected.hash, "algorithm.hash");
17
+ if (expected.namedCurve && algorithm.namedCurve !== expected.namedCurve)
18
+ throw unusable(expected.namedCurve, "algorithm.namedCurve");
19
+ if (expected.length !== void 0 && algorithm.length !== expected.length)
20
+ throw unusable(expected.length, "algorithm.length");
21
+ checkUsage(key, usage);
28
22
  }
23
+ export {
24
+ checkCryptoKey,
25
+ checkModulusLength,
26
+ checkUsage
27
+ };
@@ -1,44 +1,50 @@
1
- import { JOSENotSupported, JWEInvalid } from '../util/errors.js';
2
- import { concat } from './buffer_utils.js';
1
+ import { JOSENotSupported, JWEInvalid } from "../util/errors.js";
2
+ import { concat } from "./buffer_utils.js";
3
+ function validateZip(joseHeader, protectedHeader) {
4
+ if (joseHeader.zip !== void 0 && joseHeader.zip !== "DEF")
5
+ throw new JOSENotSupported('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value.');
6
+ if (joseHeader.zip !== void 0 && !protectedHeader?.zip)
7
+ throw new JWEInvalid('JWE "zip" (Compression Algorithm) Header Parameter MUST be in a protected header.');
8
+ }
3
9
  function supported(name) {
4
- if (typeof globalThis[name] === 'undefined') {
5
- throw new JOSENotSupported(`JWE "zip" (Compression Algorithm) Header Parameter requires the ${name} API.`);
6
- }
10
+ if (typeof globalThis[name] > "u")
11
+ throw new JOSENotSupported(`JWE "zip" (Compression Algorithm) Header Parameter requires the ${name} API.`);
7
12
  }
8
- export async function compress(input) {
9
- supported('CompressionStream');
10
- const cs = new CompressionStream('deflate-raw');
11
- const writer = cs.writable.getWriter();
12
- writer.write(input).catch(() => { });
13
- writer.close().catch(() => { });
14
- const chunks = [];
15
- const reader = cs.readable.getReader();
16
- for (;;) {
17
- const { value, done } = await reader.read();
18
- if (done)
19
- break;
20
- chunks.push(value);
21
- }
22
- return concat(...chunks);
13
+ async function compress(input) {
14
+ supported("CompressionStream");
15
+ const cs = new CompressionStream("deflate-raw"), writer = cs.writable.getWriter();
16
+ writer.write(input).catch(() => {
17
+ }), writer.close().catch(() => {
18
+ });
19
+ const chunks = [], reader = cs.readable.getReader();
20
+ for (; ; ) {
21
+ const { value, done } = await reader.read();
22
+ if (done)
23
+ break;
24
+ chunks.push(value);
25
+ }
26
+ return concat(...chunks);
23
27
  }
24
- export async function decompress(input, maxLength) {
25
- supported('DecompressionStream');
26
- const ds = new DecompressionStream('deflate-raw');
27
- const writer = ds.writable.getWriter();
28
- writer.write(input).catch(() => { });
29
- writer.close().catch(() => { });
30
- const chunks = [];
31
- let length = 0;
32
- const reader = ds.readable.getReader();
33
- for (;;) {
34
- const { value, done } = await reader.read();
35
- if (done)
36
- break;
37
- chunks.push(value);
38
- length += value.byteLength;
39
- if (maxLength !== Infinity && length > maxLength) {
40
- throw new JWEInvalid('Decompressed plaintext exceeded the configured limit');
41
- }
42
- }
43
- return concat(...chunks);
28
+ async function decompress(input, maxLength) {
29
+ supported("DecompressionStream");
30
+ const ds = new DecompressionStream("deflate-raw"), writer = ds.writable.getWriter();
31
+ writer.write(input).catch(() => {
32
+ }), writer.close().catch(() => {
33
+ });
34
+ const chunks = [];
35
+ let length = 0;
36
+ const reader = ds.readable.getReader();
37
+ for (; ; ) {
38
+ const { value, done } = await reader.read();
39
+ if (done)
40
+ break;
41
+ if (chunks.push(value), length += value.byteLength, maxLength !== 1 / 0 && length > maxLength)
42
+ throw new JWEInvalid("Decompressed plaintext exceeded the configured limit");
43
+ }
44
+ return concat(...chunks);
44
45
  }
46
+ export {
47
+ compress,
48
+ decompress,
49
+ validateZip
50
+ };
@@ -1,42 +1,45 @@
1
- import { decode } from '../util/base64url.js';
2
- import { encode, strictDecoder } from './buffer_utils.js';
3
- import { isObject } from './type_checks.js';
4
- export const unprotected = Symbol();
5
- export function assertNotSet(value, name) {
6
- if (value) {
7
- throw new TypeError(`${name} can only be called once`);
8
- }
1
+ import { decode } from "../util/base64url.js";
2
+ import { encode, strictDecoder } from "./buffer_utils.js";
3
+ import { isObject } from "./type_checks.js";
4
+ const unprotected = /* @__PURE__ */ Symbol();
5
+ function assertNotSet(value, name) {
6
+ if (value !== void 0)
7
+ throw new TypeError(`${name} can only be called once`);
9
8
  }
10
- export function decodeBase64url(value, label, ErrorClass) {
11
- try {
12
- return decode(value);
13
- }
14
- catch {
15
- throw new ErrorClass(`Failed to base64url decode the ${label}`);
16
- }
9
+ function decodeBase64url(value, label, ErrorClass) {
10
+ try {
11
+ return decode(value);
12
+ } catch {
13
+ throw new ErrorClass(`Failed to base64url decode the ${label}`);
14
+ }
17
15
  }
18
- export function encodeBase64url(value, label, ErrorClass) {
19
- try {
20
- return encode(value);
21
- }
22
- catch {
23
- throw new ErrorClass(`The ${label} is not a valid base64url string`);
24
- }
16
+ function encodeBase64url(value, label, ErrorClass) {
17
+ try {
18
+ return encode(value);
19
+ } catch {
20
+ throw new ErrorClass(`The ${label} is not a valid base64url string`);
21
+ }
25
22
  }
26
- export async function digest(algorithm, data) {
27
- const subtleDigest = `SHA-${algorithm.slice(-3)}`;
28
- return new Uint8Array(await crypto.subtle.digest(subtleDigest, data));
23
+ async function digest(algorithm, data) {
24
+ const subtleDigest = `SHA-${algorithm.slice(-3)}`;
25
+ return new Uint8Array(await crypto.subtle.digest(subtleDigest, data));
29
26
  }
30
- export function parseJoseHeader(b64, ErrorClass, message) {
31
- let parsed;
32
- try {
33
- parsed = JSON.parse(strictDecoder.decode(decode(b64)));
34
- }
35
- catch {
36
- throw new ErrorClass(message);
37
- }
38
- if (!isObject(parsed)) {
39
- throw new ErrorClass(message);
40
- }
41
- return parsed;
27
+ function parseJoseHeader(b64, ErrorClass, message) {
28
+ let parsed;
29
+ try {
30
+ parsed = JSON.parse(strictDecoder.decode(decode(b64)));
31
+ } catch {
32
+ throw new ErrorClass(message);
33
+ }
34
+ if (!isObject(parsed))
35
+ throw new ErrorClass(message);
36
+ return parsed;
42
37
  }
38
+ export {
39
+ assertNotSet,
40
+ decodeBase64url,
41
+ digest,
42
+ encodeBase64url,
43
+ parseJoseHeader,
44
+ unprotected
45
+ };
@@ -1,26 +1,12 @@
1
1
  function message(msg, actual, ...types) {
2
- if (types.length > 2) {
3
- const last = types.pop();
4
- msg += `one of type ${types.join(', ')}, or ${last}.`;
5
- }
6
- else if (types.length === 2) {
7
- msg += `one of type ${types[0]} or ${types[1]}.`;
8
- }
9
- else {
10
- msg += `of type ${types[0]}.`;
11
- }
12
- if (actual == null) {
13
- msg += ` Received ${actual}`;
14
- }
15
- else if (typeof actual === 'function' && actual.name) {
16
- msg += ` Received function ${actual.name}`;
17
- }
18
- else if (typeof actual === 'object' && actual != null) {
19
- if (actual.constructor?.name) {
20
- msg += ` Received an instance of ${actual.constructor.name}`;
21
- }
22
- }
23
- return msg;
2
+ if (types.length > 2) {
3
+ const last = types.pop();
4
+ msg += `one of type ${types.join(", ")}, or ${last}.`;
5
+ } else types.length === 2 ? msg += `one of type ${types[0]} or ${types[1]}.` : msg += `of type ${types[0]}.`;
6
+ return actual == null ? msg += ` Received ${actual}` : typeof actual == "function" && actual.name ? msg += ` Received function ${actual.name}` : typeof actual == "object" && actual != null && actual.constructor?.name && (msg += ` Received an instance of ${actual.constructor.name}`), msg;
24
7
  }
25
- export const invalidKeyInput = (actual, ...types) => message('Key must be ', actual, ...types);
26
- export const withAlg = (alg, actual, ...types) => message(`Key for the ${alg} algorithm must be `, actual, ...types);
8
+ const invalidKeyInput = (actual, ...types) => message("Key must be ", actual, ...types), withAlg = (alg, actual, ...types) => message(`Key for the ${alg} algorithm must be `, actual, ...types);
9
+ export {
10
+ invalidKeyInput,
11
+ withAlg
12
+ };
@@ -1,17 +1,19 @@
1
- export function assertCryptoKey(key) {
2
- if (!isCryptoKey(key)) {
3
- throw new Error('CryptoKey instance expected');
4
- }
1
+ function assertCryptoKey(key) {
2
+ if (!isCryptoKey(key))
3
+ throw new Error("CryptoKey instance expected");
5
4
  }
6
- export const isCryptoKey = (key) => {
7
- if (key?.[Symbol.toStringTag] === 'CryptoKey')
8
- return true;
9
- try {
10
- return key instanceof CryptoKey;
11
- }
12
- catch {
13
- return false;
14
- }
5
+ const isCryptoKey = (key) => {
6
+ if (key?.[Symbol.toStringTag] === "CryptoKey")
7
+ return !0;
8
+ try {
9
+ return key instanceof CryptoKey;
10
+ } catch {
11
+ return !1;
12
+ }
13
+ }, isKeyObject = (key) => key?.[Symbol.toStringTag] === "KeyObject", isKeyLike = (key) => isCryptoKey(key) || isKeyObject(key);
14
+ export {
15
+ assertCryptoKey,
16
+ isCryptoKey,
17
+ isKeyLike,
18
+ isKeyObject
15
19
  };
16
- export const isKeyObject = (key) => key?.[Symbol.toStringTag] === 'KeyObject';
17
- export const isKeyLike = (key) => isCryptoKey(key) || isKeyObject(key);