@windrun-huaiin/backend-core 14.6.0 → 15.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/dist/app/api/stripe/checkout/route.js +2 -2
  2. package/dist/app/api/stripe/checkout/route.mjs +1 -1
  3. package/dist/app/api/stripe/customer-portal/route.js +2 -2
  4. package/dist/app/api/stripe/customer-portal/route.mjs +1 -1
  5. package/dist/app/api/user/anonymous/init/route.js +6 -6
  6. package/dist/app/api/user/anonymous/init/route.mjs +1 -1
  7. package/dist/app/api/webhook/clerk/user/route.js +4 -4
  8. package/dist/app/api/webhook/clerk/user/route.mjs +1 -1
  9. package/dist/app/api/webhook/stripe/route.js +2 -2
  10. package/dist/app/api/webhook/stripe/route.mjs +1 -1
  11. package/dist/auth/auth-middleware.js +3 -3
  12. package/dist/auth/auth-middleware.mjs +1 -1
  13. package/dist/auth/auth-utils.js +10 -10
  14. package/dist/auth/auth-utils.mjs +1 -1
  15. package/dist/lib/money-price-helper.js +3 -3
  16. package/dist/lib/money-price-helper.mjs +1 -1
  17. package/dist/lib/stripe-config.js +8 -8
  18. package/dist/lib/stripe-config.mjs +1 -1
  19. package/dist/lib/upstash/qstash.js +12 -12
  20. package/dist/lib/upstash/qstash.mjs +2 -2
  21. package/dist/lib/upstash/redis-counter.js +7 -7
  22. package/dist/lib/upstash/redis-counter.mjs +1 -1
  23. package/dist/lib/upstash/redis-favorite.js +9 -9
  24. package/dist/lib/upstash/redis-favorite.mjs +1 -1
  25. package/dist/lib/upstash/redis-like.js +9 -9
  26. package/dist/lib/upstash/redis-like.mjs +1 -1
  27. package/dist/lib/upstash/redis-lock.js +6 -6
  28. package/dist/lib/upstash/redis-lock.mjs +1 -1
  29. package/dist/lib/upstash/redis-structures.js +25 -25
  30. package/dist/lib/upstash/redis-structures.mjs +1 -1
  31. package/dist/lib/upstash-config.js +14 -14
  32. package/dist/lib/upstash-config.mjs +4 -4
  33. package/dist/prisma/prisma-transaction-util.js +2 -2
  34. package/dist/prisma/prisma-transaction-util.mjs +1 -1
  35. package/dist/services/aggregate/anonymous.aggregate.service.js +6 -6
  36. package/dist/services/aggregate/anonymous.aggregate.service.mjs +1 -1
  37. package/dist/services/aggregate/billing.aggregate.service.js +21 -21
  38. package/dist/services/aggregate/billing.aggregate.service.mjs +1 -1
  39. package/dist/services/aggregate/user.aggregate.service.js +10 -10
  40. package/dist/services/aggregate/user.aggregate.service.mjs +1 -1
  41. package/dist/services/context/user-context-service.js +3 -3
  42. package/dist/services/context/user-context-service.mjs +1 -1
  43. package/dist/services/database/apilog.service.js +14 -14
  44. package/dist/services/database/apilog.service.mjs +1 -1
  45. package/dist/services/database/credit.service.js +20 -20
  46. package/dist/services/database/credit.service.mjs +1 -1
  47. package/dist/services/database/creditAuditLog.service.js +13 -13
  48. package/dist/services/database/creditAuditLog.service.mjs +1 -1
  49. package/dist/services/database/subscription.service.js +16 -16
  50. package/dist/services/database/subscription.service.mjs +1 -1
  51. package/dist/services/database/transaction.service.js +18 -18
  52. package/dist/services/database/transaction.service.mjs +1 -1
  53. package/dist/services/database/user.service.js +14 -14
  54. package/dist/services/database/user.service.mjs +1 -1
  55. package/dist/services/database/userBackup.service.js +15 -15
  56. package/dist/services/database/userBackup.service.mjs +1 -1
  57. package/dist/services/stripe/webhook-handler.js +13 -13
  58. package/dist/services/stripe/webhook-handler.mjs +3 -3
  59. package/package.json +6 -3
  60. package/dist/_virtual/_commonjs-dynamic-modules.js +0 -7
  61. package/dist/_virtual/_commonjs-dynamic-modules.mjs +0 -5
  62. package/dist/_virtual/_commonjsHelpers.js +0 -10
  63. package/dist/_virtual/_commonjsHelpers.mjs +0 -7
  64. package/dist/_virtual/aes.js +0 -5
  65. package/dist/_virtual/aes.mjs +0 -3
  66. package/dist/_virtual/blowfish.js +0 -5
  67. package/dist/_virtual/blowfish.mjs +0 -3
  68. package/dist/_virtual/cipher-core.js +0 -5
  69. package/dist/_virtual/cipher-core.mjs +0 -3
  70. package/dist/_virtual/core.js +0 -5
  71. package/dist/_virtual/core.mjs +0 -3
  72. package/dist/_virtual/enc-base64.js +0 -5
  73. package/dist/_virtual/enc-base64.mjs +0 -3
  74. package/dist/_virtual/enc-base64url.js +0 -5
  75. package/dist/_virtual/enc-base64url.mjs +0 -3
  76. package/dist/_virtual/enc-utf16.js +0 -5
  77. package/dist/_virtual/enc-utf16.mjs +0 -3
  78. package/dist/_virtual/evpkdf.js +0 -5
  79. package/dist/_virtual/evpkdf.mjs +0 -3
  80. package/dist/_virtual/format-hex.js +0 -5
  81. package/dist/_virtual/format-hex.mjs +0 -3
  82. package/dist/_virtual/hmac.js +0 -5
  83. package/dist/_virtual/hmac.mjs +0 -3
  84. package/dist/_virtual/index.js +0 -11
  85. package/dist/_virtual/index.mjs +0 -7
  86. package/dist/_virtual/index2.js +0 -5
  87. package/dist/_virtual/index2.mjs +0 -3
  88. package/dist/_virtual/lib-typedarrays.js +0 -5
  89. package/dist/_virtual/lib-typedarrays.mjs +0 -3
  90. package/dist/_virtual/md5.js +0 -5
  91. package/dist/_virtual/md5.mjs +0 -3
  92. package/dist/_virtual/mode-cfb.js +0 -5
  93. package/dist/_virtual/mode-cfb.mjs +0 -3
  94. package/dist/_virtual/mode-ctr-gladman.js +0 -5
  95. package/dist/_virtual/mode-ctr-gladman.mjs +0 -3
  96. package/dist/_virtual/mode-ctr.js +0 -5
  97. package/dist/_virtual/mode-ctr.mjs +0 -3
  98. package/dist/_virtual/mode-ecb.js +0 -5
  99. package/dist/_virtual/mode-ecb.mjs +0 -3
  100. package/dist/_virtual/mode-ofb.js +0 -5
  101. package/dist/_virtual/mode-ofb.mjs +0 -3
  102. package/dist/_virtual/pad-ansix923.js +0 -5
  103. package/dist/_virtual/pad-ansix923.mjs +0 -3
  104. package/dist/_virtual/pad-iso10126.js +0 -5
  105. package/dist/_virtual/pad-iso10126.mjs +0 -3
  106. package/dist/_virtual/pad-iso97971.js +0 -5
  107. package/dist/_virtual/pad-iso97971.mjs +0 -3
  108. package/dist/_virtual/pad-nopadding.js +0 -5
  109. package/dist/_virtual/pad-nopadding.mjs +0 -3
  110. package/dist/_virtual/pad-zeropadding.js +0 -5
  111. package/dist/_virtual/pad-zeropadding.mjs +0 -3
  112. package/dist/_virtual/pbkdf2.js +0 -5
  113. package/dist/_virtual/pbkdf2.mjs +0 -3
  114. package/dist/_virtual/rabbit-legacy.js +0 -5
  115. package/dist/_virtual/rabbit-legacy.mjs +0 -3
  116. package/dist/_virtual/rabbit.js +0 -5
  117. package/dist/_virtual/rabbit.mjs +0 -3
  118. package/dist/_virtual/rc4.js +0 -5
  119. package/dist/_virtual/rc4.mjs +0 -3
  120. package/dist/_virtual/ripemd160.js +0 -5
  121. package/dist/_virtual/ripemd160.mjs +0 -3
  122. package/dist/_virtual/sha1.js +0 -5
  123. package/dist/_virtual/sha1.mjs +0 -3
  124. package/dist/_virtual/sha224.js +0 -5
  125. package/dist/_virtual/sha224.mjs +0 -3
  126. package/dist/_virtual/sha256.js +0 -5
  127. package/dist/_virtual/sha256.mjs +0 -3
  128. package/dist/_virtual/sha3.js +0 -5
  129. package/dist/_virtual/sha3.mjs +0 -3
  130. package/dist/_virtual/sha384.js +0 -5
  131. package/dist/_virtual/sha384.mjs +0 -3
  132. package/dist/_virtual/sha512.js +0 -5
  133. package/dist/_virtual/sha512.mjs +0 -3
  134. package/dist/_virtual/tripledes.js +0 -5
  135. package/dist/_virtual/tripledes.mjs +0 -3
  136. package/dist/_virtual/x64-core.js +0 -5
  137. package/dist/_virtual/x64-core.mjs +0 -3
  138. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js +0 -48
  139. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.mjs +0 -45
  140. package/dist/node_modules/.pnpm/@upstash_qstash@2.10.1/node_modules/@upstash/qstash/chunk-35B33QW3.js +0 -1848
  141. package/dist/node_modules/.pnpm/@upstash_qstash@2.10.1/node_modules/@upstash/qstash/chunk-35B33QW3.mjs +0 -1830
  142. package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/chunk-IH7W44G6.js +0 -5308
  143. package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/chunk-IH7W44G6.mjs +0 -5302
  144. package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/nodejs.js +0 -116
  145. package/dist/node_modules/.pnpm/@upstash_redis@1.37.0/node_modules/@upstash/redis/nodejs.mjs +0 -113
  146. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js +0 -248
  147. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.mjs +0 -246
  148. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/blowfish.js +0 -485
  149. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/blowfish.mjs +0 -483
  150. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.js +0 -906
  151. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.mjs +0 -904
  152. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.js +0 -818
  153. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.mjs +0 -816
  154. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.js +0 -146
  155. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.mjs +0 -144
  156. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64url.js +0 -158
  157. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64url.mjs +0 -156
  158. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf16.js +0 -159
  159. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf16.mjs +0 -157
  160. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.js +0 -146
  161. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.mjs +0 -144
  162. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/format-hex.js +0 -77
  163. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/format-hex.mjs +0 -75
  164. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.js +0 -153
  165. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.mjs +0 -151
  166. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.js +0 -62
  167. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.mjs +0 -60
  168. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/lib-typedarrays.js +0 -86
  169. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/lib-typedarrays.mjs +0 -84
  170. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.js +0 -278
  171. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.mjs +0 -276
  172. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-cfb.js +0 -91
  173. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-cfb.mjs +0 -89
  174. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr-gladman.js +0 -127
  175. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr-gladman.mjs +0 -125
  176. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr.js +0 -69
  177. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr.mjs +0 -67
  178. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js +0 -51
  179. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.mjs +0 -49
  180. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ofb.js +0 -65
  181. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ofb.mjs +0 -63
  182. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-ansix923.js +0 -60
  183. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-ansix923.mjs +0 -58
  184. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso10126.js +0 -55
  185. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso10126.mjs +0 -53
  186. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso97971.js +0 -51
  187. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso97971.mjs +0 -49
  188. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-nopadding.js +0 -41
  189. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-nopadding.mjs +0 -39
  190. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-zeropadding.js +0 -58
  191. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-zeropadding.mjs +0 -56
  192. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pbkdf2.js +0 -157
  193. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pbkdf2.mjs +0 -155
  194. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit-legacy.js +0 -204
  195. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit-legacy.mjs +0 -202
  196. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit.js +0 -206
  197. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit.mjs +0 -204
  198. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rc4.js +0 -153
  199. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rc4.mjs +0 -151
  200. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/ripemd160.js +0 -277
  201. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/ripemd160.mjs +0 -275
  202. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.js +0 -160
  203. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.mjs +0 -158
  204. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha224.js +0 -91
  205. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha224.mjs +0 -89
  206. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha256.js +0 -209
  207. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha256.mjs +0 -207
  208. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha3.js +0 -337
  209. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha3.mjs +0 -335
  210. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha384.js +0 -95
  211. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha384.mjs +0 -93
  212. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha512.js +0 -337
  213. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha512.mjs +0 -335
  214. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/tripledes.js +0 -793
  215. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/tripledes.mjs +0 -791
  216. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/x64-core.js +0 -314
  217. package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/x64-core.mjs +0 -312
  218. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/compact/verify.js +0 -26
  219. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/compact/verify.mjs +0 -24
  220. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/flattened/verify.js +0 -127
  221. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jws/flattened/verify.mjs +0 -125
  222. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jwt/verify.js +0 -20
  223. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/jwt/verify.mjs +0 -18
  224. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/key/import.js +0 -31
  225. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/key/import.mjs +0 -29
  226. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/buffer_utils.js +0 -18
  227. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/buffer_utils.mjs +0 -14
  228. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/check_key_type.js +0 -82
  229. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/check_key_type.mjs +0 -80
  230. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/crypto_key.js +0 -103
  231. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/crypto_key.mjs +0 -101
  232. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/epoch.js +0 -7
  233. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/epoch.mjs +0 -3
  234. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/invalid_key_input.js +0 -38
  235. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/invalid_key_input.mjs +0 -33
  236. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_disjoint.js +0 -27
  237. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_disjoint.mjs +0 -23
  238. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_jwk.js +0 -21
  239. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_jwk.mjs +0 -16
  240. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_object.js +0 -22
  241. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/is_object.mjs +0 -18
  242. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/jwt_claims_set.js +0 -111
  243. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/jwt_claims_set.mjs +0 -107
  244. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/secs.js +0 -61
  245. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/secs.mjs +0 -57
  246. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_algorithms.js +0 -16
  247. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_algorithms.mjs +0 -12
  248. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_crit.js +0 -40
  249. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/lib/validate_crit.mjs +0 -36
  250. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/base64url.js +0 -15
  251. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/base64url.mjs +0 -13
  252. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/check_key_length.js +0 -23
  253. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/check_key_length.mjs +0 -19
  254. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/dsa_digest.js +0 -30
  255. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/dsa_digest.mjs +0 -26
  256. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_named_curve.js +0 -60
  257. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_named_curve.mjs +0 -56
  258. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_sign_verify_key.js +0 -35
  259. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/get_sign_verify_key.mjs +0 -31
  260. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/hmac_digest.js +0 -20
  261. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/hmac_digest.mjs +0 -16
  262. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_like.js +0 -15
  263. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_like.mjs +0 -10
  264. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_object.js +0 -28
  265. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/is_key_object.mjs +0 -5
  266. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/jwk_to_key.js +0 -14
  267. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/jwk_to_key.mjs +0 -10
  268. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/node_key.js +0 -115
  269. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/node_key.mjs +0 -111
  270. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/sign.js +0 -42
  271. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/sign.mjs +0 -19
  272. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/verify.js +0 -54
  273. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/verify.mjs +0 -31
  274. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/webcrypto.js +0 -32
  275. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/runtime/webcrypto.mjs +0 -7
  276. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/util/errors.js +0 -69
  277. package/dist/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/esm/util/errors.mjs +0 -60
  278. package/dist/node_modules/.pnpm/neverthrow@7.2.0/node_modules/neverthrow/dist/index.es.js +0 -422
  279. package/dist/node_modules/.pnpm/neverthrow@7.2.0/node_modules/neverthrow/dist/index.es.mjs +0 -415
  280. package/dist/node_modules/.pnpm/uncrypto@0.1.3/node_modules/uncrypto/dist/crypto.web.js +0 -6
  281. package/dist/node_modules/.pnpm/uncrypto@0.1.3/node_modules/uncrypto/dist/crypto.web.mjs +0 -4
@@ -1,12 +0,0 @@
1
- const validateAlgorithms = (option, algorithms) => {
2
- if (algorithms !== undefined &&
3
- (!Array.isArray(algorithms) || algorithms.some((s) => typeof s !== 'string'))) {
4
- throw new TypeError(`"${option}" option must be an array of strings`);
5
- }
6
- if (!algorithms) {
7
- return undefined;
8
- }
9
- return new Set(algorithms);
10
- };
11
-
12
- export { validateAlgorithms as default };
@@ -1,40 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var errors = require('../util/errors.js');
6
-
7
- function validateCrit(Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader) {
8
- if (joseHeader.crit !== undefined && protectedHeader?.crit === undefined) {
9
- throw new Err('"crit" (Critical) Header Parameter MUST be integrity protected');
10
- }
11
- if (!protectedHeader || protectedHeader.crit === undefined) {
12
- return new Set();
13
- }
14
- if (!Array.isArray(protectedHeader.crit) ||
15
- protectedHeader.crit.length === 0 ||
16
- protectedHeader.crit.some((input) => typeof input !== 'string' || input.length === 0)) {
17
- throw new Err('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');
18
- }
19
- let recognized;
20
- if (recognizedOption !== undefined) {
21
- recognized = new Map([...Object.entries(recognizedOption), ...recognizedDefault.entries()]);
22
- }
23
- else {
24
- recognized = recognizedDefault;
25
- }
26
- for (const parameter of protectedHeader.crit) {
27
- if (!recognized.has(parameter)) {
28
- throw new errors.JOSENotSupported(`Extension Header Parameter "${parameter}" is not recognized`);
29
- }
30
- if (joseHeader[parameter] === undefined) {
31
- throw new Err(`Extension Header Parameter "${parameter}" is missing`);
32
- }
33
- if (recognized.get(parameter) && protectedHeader[parameter] === undefined) {
34
- throw new Err(`Extension Header Parameter "${parameter}" MUST be integrity protected`);
35
- }
36
- }
37
- return new Set(protectedHeader.crit);
38
- }
39
-
40
- exports.default = validateCrit;
@@ -1,36 +0,0 @@
1
- import { JOSENotSupported } from '../util/errors.mjs';
2
-
3
- function validateCrit(Err, recognizedDefault, recognizedOption, protectedHeader, joseHeader) {
4
- if (joseHeader.crit !== undefined && protectedHeader?.crit === undefined) {
5
- throw new Err('"crit" (Critical) Header Parameter MUST be integrity protected');
6
- }
7
- if (!protectedHeader || protectedHeader.crit === undefined) {
8
- return new Set();
9
- }
10
- if (!Array.isArray(protectedHeader.crit) ||
11
- protectedHeader.crit.length === 0 ||
12
- protectedHeader.crit.some((input) => typeof input !== 'string' || input.length === 0)) {
13
- throw new Err('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');
14
- }
15
- let recognized;
16
- if (recognizedOption !== undefined) {
17
- recognized = new Map([...Object.entries(recognizedOption), ...recognizedDefault.entries()]);
18
- }
19
- else {
20
- recognized = recognizedDefault;
21
- }
22
- for (const parameter of protectedHeader.crit) {
23
- if (!recognized.has(parameter)) {
24
- throw new JOSENotSupported(`Extension Header Parameter "${parameter}" is not recognized`);
25
- }
26
- if (joseHeader[parameter] === undefined) {
27
- throw new Err(`Extension Header Parameter "${parameter}" is missing`);
28
- }
29
- if (recognized.get(parameter) && protectedHeader[parameter] === undefined) {
30
- throw new Err(`Extension Header Parameter "${parameter}" MUST be integrity protected`);
31
- }
32
- }
33
- return new Set(protectedHeader.crit);
34
- }
35
-
36
- export { validateCrit as default };
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- var node_buffer = require('node:buffer');
4
- var buffer_utils = require('../lib/buffer_utils.js');
5
-
6
- function normalize(input) {
7
- let encoded = input;
8
- if (encoded instanceof Uint8Array) {
9
- encoded = buffer_utils.decoder.decode(encoded);
10
- }
11
- return encoded;
12
- }
13
- const decode = (input) => new Uint8Array(node_buffer.Buffer.from(normalize(input), 'base64url'));
14
-
15
- exports.decode = decode;
@@ -1,13 +0,0 @@
1
- import { Buffer } from 'node:buffer';
2
- import { decoder } from '../lib/buffer_utils.mjs';
3
-
4
- function normalize(input) {
5
- let encoded = input;
6
- if (encoded instanceof Uint8Array) {
7
- encoded = decoder.decode(encoded);
8
- }
9
- return encoded;
10
- }
11
- const decode = (input) => new Uint8Array(Buffer.from(normalize(input), 'base64url'));
12
-
13
- export { decode };
@@ -1,23 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var crypto = require('node:crypto');
6
-
7
- var checkKeyLength = (key, alg) => {
8
- let modulusLength;
9
- try {
10
- if (key instanceof crypto.KeyObject) {
11
- modulusLength = key.asymmetricKeyDetails?.modulusLength;
12
- }
13
- else {
14
- modulusLength = Buffer.from(key.n, 'base64url').byteLength << 3;
15
- }
16
- }
17
- catch { }
18
- if (typeof modulusLength !== 'number' || modulusLength < 2048) {
19
- throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);
20
- }
21
- };
22
-
23
- exports.default = checkKeyLength;
@@ -1,19 +0,0 @@
1
- import { KeyObject } from 'node:crypto';
2
-
3
- var checkKeyLength = (key, alg) => {
4
- let modulusLength;
5
- try {
6
- if (key instanceof KeyObject) {
7
- modulusLength = key.asymmetricKeyDetails?.modulusLength;
8
- }
9
- else {
10
- modulusLength = Buffer.from(key.n, 'base64url').byteLength << 3;
11
- }
12
- }
13
- catch { }
14
- if (typeof modulusLength !== 'number' || modulusLength < 2048) {
15
- throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`);
16
- }
17
- };
18
-
19
- export { checkKeyLength as default };
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var errors = require('../util/errors.js');
6
-
7
- function dsaDigest(alg) {
8
- switch (alg) {
9
- case 'PS256':
10
- case 'RS256':
11
- case 'ES256':
12
- case 'ES256K':
13
- return 'sha256';
14
- case 'PS384':
15
- case 'RS384':
16
- case 'ES384':
17
- return 'sha384';
18
- case 'PS512':
19
- case 'RS512':
20
- case 'ES512':
21
- return 'sha512';
22
- case 'Ed25519':
23
- case 'EdDSA':
24
- return undefined;
25
- default:
26
- throw new errors.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
27
- }
28
- }
29
-
30
- exports.default = dsaDigest;
@@ -1,26 +0,0 @@
1
- import { JOSENotSupported } from '../util/errors.mjs';
2
-
3
- function dsaDigest(alg) {
4
- switch (alg) {
5
- case 'PS256':
6
- case 'RS256':
7
- case 'ES256':
8
- case 'ES256K':
9
- return 'sha256';
10
- case 'PS384':
11
- case 'RS384':
12
- case 'ES384':
13
- return 'sha384';
14
- case 'PS512':
15
- case 'RS512':
16
- case 'ES512':
17
- return 'sha512';
18
- case 'Ed25519':
19
- case 'EdDSA':
20
- return undefined;
21
- default:
22
- throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
23
- }
24
- }
25
-
26
- export { dsaDigest as default };
@@ -1,60 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var crypto = require('node:crypto');
6
- var errors = require('../util/errors.js');
7
- var webcrypto = require('./webcrypto.js');
8
- var is_key_object = require('./is_key_object.js');
9
- var invalid_key_input = require('../lib/invalid_key_input.js');
10
- var is_key_like = require('./is_key_like.js');
11
- var is_jwk = require('../lib/is_jwk.js');
12
-
13
- const namedCurveToJOSE = (namedCurve) => {
14
- switch (namedCurve) {
15
- case 'prime256v1':
16
- return 'P-256';
17
- case 'secp384r1':
18
- return 'P-384';
19
- case 'secp521r1':
20
- return 'P-521';
21
- case 'secp256k1':
22
- return 'secp256k1';
23
- default:
24
- throw new errors.JOSENotSupported('Unsupported key curve for this operation');
25
- }
26
- };
27
- const getNamedCurve = (kee, raw) => {
28
- let key;
29
- if (webcrypto.isCryptoKey(kee)) {
30
- key = crypto.KeyObject.from(kee);
31
- }
32
- else if (is_key_object.default(kee)) {
33
- key = kee;
34
- }
35
- else if (is_jwk.isJWK(kee)) {
36
- return kee.crv;
37
- }
38
- else {
39
- throw new TypeError(invalid_key_input.default(kee, ...is_key_like.types));
40
- }
41
- if (key.type === 'secret') {
42
- throw new TypeError('only "private" or "public" type keys can be used for this operation');
43
- }
44
- switch (key.asymmetricKeyType) {
45
- case 'ed25519':
46
- case 'ed448':
47
- return `Ed${key.asymmetricKeyType.slice(2)}`;
48
- case 'x25519':
49
- case 'x448':
50
- return `X${key.asymmetricKeyType.slice(1)}`;
51
- case 'ec': {
52
- const namedCurve = key.asymmetricKeyDetails.namedCurve;
53
- return namedCurveToJOSE(namedCurve);
54
- }
55
- default:
56
- throw new TypeError('Invalid asymmetric key type for this operation');
57
- }
58
- };
59
-
60
- exports.default = getNamedCurve;
@@ -1,56 +0,0 @@
1
- import { KeyObject } from 'node:crypto';
2
- import { JOSENotSupported } from '../util/errors.mjs';
3
- import { isCryptoKey } from './webcrypto.mjs';
4
- import isKeyObject from './is_key_object.mjs';
5
- import invalidKeyInput from '../lib/invalid_key_input.mjs';
6
- import { types } from './is_key_like.mjs';
7
- import { isJWK } from '../lib/is_jwk.mjs';
8
-
9
- const namedCurveToJOSE = (namedCurve) => {
10
- switch (namedCurve) {
11
- case 'prime256v1':
12
- return 'P-256';
13
- case 'secp384r1':
14
- return 'P-384';
15
- case 'secp521r1':
16
- return 'P-521';
17
- case 'secp256k1':
18
- return 'secp256k1';
19
- default:
20
- throw new JOSENotSupported('Unsupported key curve for this operation');
21
- }
22
- };
23
- const getNamedCurve = (kee, raw) => {
24
- let key;
25
- if (isCryptoKey(kee)) {
26
- key = KeyObject.from(kee);
27
- }
28
- else if (isKeyObject(kee)) {
29
- key = kee;
30
- }
31
- else if (isJWK(kee)) {
32
- return kee.crv;
33
- }
34
- else {
35
- throw new TypeError(invalidKeyInput(kee, ...types));
36
- }
37
- if (key.type === 'secret') {
38
- throw new TypeError('only "private" or "public" type keys can be used for this operation');
39
- }
40
- switch (key.asymmetricKeyType) {
41
- case 'ed25519':
42
- case 'ed448':
43
- return `Ed${key.asymmetricKeyType.slice(2)}`;
44
- case 'x25519':
45
- case 'x448':
46
- return `X${key.asymmetricKeyType.slice(1)}`;
47
- case 'ec': {
48
- const namedCurve = key.asymmetricKeyDetails.namedCurve;
49
- return namedCurveToJOSE(namedCurve);
50
- }
51
- default:
52
- throw new TypeError('Invalid asymmetric key type for this operation');
53
- }
54
- };
55
-
56
- export { getNamedCurve as default };
@@ -1,35 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var crypto = require('node:crypto');
6
- var webcrypto = require('./webcrypto.js');
7
- var crypto_key = require('../lib/crypto_key.js');
8
- var invalid_key_input = require('../lib/invalid_key_input.js');
9
- var is_key_like = require('./is_key_like.js');
10
- var is_jwk = require('../lib/is_jwk.js');
11
-
12
- function getSignVerifyKey(alg, key, usage) {
13
- if (key instanceof Uint8Array) {
14
- if (!alg.startsWith('HS')) {
15
- throw new TypeError(invalid_key_input.default(key, ...is_key_like.types));
16
- }
17
- return crypto.createSecretKey(key);
18
- }
19
- if (key instanceof crypto.KeyObject) {
20
- return key;
21
- }
22
- if (webcrypto.isCryptoKey(key)) {
23
- crypto_key.checkSigCryptoKey(key, alg, usage);
24
- return crypto.KeyObject.from(key);
25
- }
26
- if (is_jwk.isJWK(key)) {
27
- if (alg.startsWith('HS')) {
28
- return crypto.createSecretKey(Buffer.from(key.k, 'base64url'));
29
- }
30
- return key;
31
- }
32
- throw new TypeError(invalid_key_input.default(key, ...is_key_like.types, 'Uint8Array', 'JSON Web Key'));
33
- }
34
-
35
- exports.default = getSignVerifyKey;
@@ -1,31 +0,0 @@
1
- import { createSecretKey, KeyObject } from 'node:crypto';
2
- import { isCryptoKey } from './webcrypto.mjs';
3
- import { checkSigCryptoKey } from '../lib/crypto_key.mjs';
4
- import invalidKeyInput from '../lib/invalid_key_input.mjs';
5
- import { types } from './is_key_like.mjs';
6
- import { isJWK } from '../lib/is_jwk.mjs';
7
-
8
- function getSignVerifyKey(alg, key, usage) {
9
- if (key instanceof Uint8Array) {
10
- if (!alg.startsWith('HS')) {
11
- throw new TypeError(invalidKeyInput(key, ...types));
12
- }
13
- return createSecretKey(key);
14
- }
15
- if (key instanceof KeyObject) {
16
- return key;
17
- }
18
- if (isCryptoKey(key)) {
19
- checkSigCryptoKey(key, alg, usage);
20
- return KeyObject.from(key);
21
- }
22
- if (isJWK(key)) {
23
- if (alg.startsWith('HS')) {
24
- return createSecretKey(Buffer.from(key.k, 'base64url'));
25
- }
26
- return key;
27
- }
28
- throw new TypeError(invalidKeyInput(key, ...types, 'Uint8Array', 'JSON Web Key'));
29
- }
30
-
31
- export { getSignVerifyKey as default };
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var errors = require('../util/errors.js');
6
-
7
- function hmacDigest(alg) {
8
- switch (alg) {
9
- case 'HS256':
10
- return 'sha256';
11
- case 'HS384':
12
- return 'sha384';
13
- case 'HS512':
14
- return 'sha512';
15
- default:
16
- throw new errors.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
17
- }
18
- }
19
-
20
- exports.default = hmacDigest;
@@ -1,16 +0,0 @@
1
- import { JOSENotSupported } from '../util/errors.mjs';
2
-
3
- function hmacDigest(alg) {
4
- switch (alg) {
5
- case 'HS256':
6
- return 'sha256';
7
- case 'HS384':
8
- return 'sha384';
9
- case 'HS512':
10
- return 'sha512';
11
- default:
12
- throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
13
- }
14
- }
15
-
16
- export { hmacDigest as default };
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var webcrypto = require('./webcrypto.js');
6
- var is_key_object = require('./is_key_object.js');
7
-
8
- var isKeyLike = (key) => is_key_object.default(key) || webcrypto.isCryptoKey(key);
9
- const types = ['KeyObject'];
10
- if (globalThis.CryptoKey || webcrypto.default?.CryptoKey) {
11
- types.push('CryptoKey');
12
- }
13
-
14
- exports.default = isKeyLike;
15
- exports.types = types;
@@ -1,10 +0,0 @@
1
- import webcrypto, { isCryptoKey } from './webcrypto.mjs';
2
- import isKeyObject from './is_key_object.mjs';
3
-
4
- var isKeyLike = (key) => isKeyObject(key) || isCryptoKey(key);
5
- const types = ['KeyObject'];
6
- if (globalThis.CryptoKey || webcrypto?.CryptoKey) {
7
- types.push('CryptoKey');
8
- }
9
-
10
- export { isKeyLike as default, types };
@@ -1,28 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var util = require('node:util');
6
-
7
- function _interopNamespaceDefault(e) {
8
- var n = Object.create(null);
9
- if (e) {
10
- Object.keys(e).forEach(function (k) {
11
- if (k !== 'default') {
12
- var d = Object.getOwnPropertyDescriptor(e, k);
13
- Object.defineProperty(n, k, d.get ? d : {
14
- enumerable: true,
15
- get: function () { return e[k]; }
16
- });
17
- }
18
- });
19
- }
20
- n.default = e;
21
- return Object.freeze(n);
22
- }
23
-
24
- var util__namespace = /*#__PURE__*/_interopNamespaceDefault(util);
25
-
26
- var isKeyObject = (obj) => util__namespace.types.isKeyObject(obj);
27
-
28
- exports.default = isKeyObject;
@@ -1,5 +0,0 @@
1
- import * as util from 'node:util';
2
-
3
- var isKeyObject = (obj) => util.types.isKeyObject(obj);
4
-
5
- export { isKeyObject as default };
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var crypto = require('node:crypto');
6
-
7
- const parse = (key) => {
8
- if (key.d) {
9
- return crypto.createPrivateKey({ format: 'jwk', key });
10
- }
11
- return crypto.createPublicKey({ format: 'jwk', key });
12
- };
13
-
14
- exports.default = parse;
@@ -1,10 +0,0 @@
1
- import { createPrivateKey, createPublicKey } from 'node:crypto';
2
-
3
- const parse = (key) => {
4
- if (key.d) {
5
- return createPrivateKey({ format: 'jwk', key });
6
- }
7
- return createPublicKey({ format: 'jwk', key });
8
- };
9
-
10
- export { parse as default };
@@ -1,115 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var crypto = require('node:crypto');
6
- var get_named_curve = require('./get_named_curve.js');
7
- var errors = require('../util/errors.js');
8
- var check_key_length = require('./check_key_length.js');
9
-
10
- const ecCurveAlgMap = new Map([
11
- ['ES256', 'P-256'],
12
- ['ES256K', 'secp256k1'],
13
- ['ES384', 'P-384'],
14
- ['ES512', 'P-521'],
15
- ]);
16
- function keyForCrypto(alg, key) {
17
- let asymmetricKeyType;
18
- let asymmetricKeyDetails;
19
- let isJWK;
20
- if (key instanceof crypto.KeyObject) {
21
- asymmetricKeyType = key.asymmetricKeyType;
22
- asymmetricKeyDetails = key.asymmetricKeyDetails;
23
- }
24
- else {
25
- isJWK = true;
26
- switch (key.kty) {
27
- case 'RSA':
28
- asymmetricKeyType = 'rsa';
29
- break;
30
- case 'EC':
31
- asymmetricKeyType = 'ec';
32
- break;
33
- case 'OKP': {
34
- if (key.crv === 'Ed25519') {
35
- asymmetricKeyType = 'ed25519';
36
- break;
37
- }
38
- if (key.crv === 'Ed448') {
39
- asymmetricKeyType = 'ed448';
40
- break;
41
- }
42
- throw new TypeError('Invalid key for this operation, its crv must be Ed25519 or Ed448');
43
- }
44
- default:
45
- throw new TypeError('Invalid key for this operation, its kty must be RSA, OKP, or EC');
46
- }
47
- }
48
- let options;
49
- switch (alg) {
50
- case 'Ed25519':
51
- if (asymmetricKeyType !== 'ed25519') {
52
- throw new TypeError(`Invalid key for this operation, its asymmetricKeyType must be ed25519`);
53
- }
54
- break;
55
- case 'EdDSA':
56
- if (!['ed25519', 'ed448'].includes(asymmetricKeyType)) {
57
- throw new TypeError('Invalid key for this operation, its asymmetricKeyType must be ed25519 or ed448');
58
- }
59
- break;
60
- case 'RS256':
61
- case 'RS384':
62
- case 'RS512':
63
- if (asymmetricKeyType !== 'rsa') {
64
- throw new TypeError('Invalid key for this operation, its asymmetricKeyType must be rsa');
65
- }
66
- check_key_length.default(key, alg);
67
- break;
68
- case 'PS256':
69
- case 'PS384':
70
- case 'PS512':
71
- if (asymmetricKeyType === 'rsa-pss') {
72
- const { hashAlgorithm, mgf1HashAlgorithm, saltLength } = asymmetricKeyDetails;
73
- const length = parseInt(alg.slice(-3), 10);
74
- if (hashAlgorithm !== undefined &&
75
- (hashAlgorithm !== `sha${length}` || mgf1HashAlgorithm !== hashAlgorithm)) {
76
- throw new TypeError(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${alg}`);
77
- }
78
- if (saltLength !== undefined && saltLength > length >> 3) {
79
- throw new TypeError(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${alg}`);
80
- }
81
- }
82
- else if (asymmetricKeyType !== 'rsa') {
83
- throw new TypeError('Invalid key for this operation, its asymmetricKeyType must be rsa or rsa-pss');
84
- }
85
- check_key_length.default(key, alg);
86
- options = {
87
- padding: crypto.constants.RSA_PKCS1_PSS_PADDING,
88
- saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST,
89
- };
90
- break;
91
- case 'ES256':
92
- case 'ES256K':
93
- case 'ES384':
94
- case 'ES512': {
95
- if (asymmetricKeyType !== 'ec') {
96
- throw new TypeError('Invalid key for this operation, its asymmetricKeyType must be ec');
97
- }
98
- const actual = get_named_curve.default(key);
99
- const expected = ecCurveAlgMap.get(alg);
100
- if (actual !== expected) {
101
- throw new TypeError(`Invalid key curve for the algorithm, its curve must be ${expected}, got ${actual}`);
102
- }
103
- options = { dsaEncoding: 'ieee-p1363' };
104
- break;
105
- }
106
- default:
107
- throw new errors.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`);
108
- }
109
- if (isJWK) {
110
- return { format: 'jwk', key, ...options };
111
- }
112
- return options ? { ...options, key } : key;
113
- }
114
-
115
- exports.default = keyForCrypto;