@nlabs/reaktor 0.10.2 → 0.10.6

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 (472) hide show
  1. package/coverage/block-navigation.js +1 -1
  2. package/coverage/index.html +23 -23
  3. package/coverage/sorter.js +21 -7
  4. package/lib/actions/apps.d.ts +1 -0
  5. package/lib/actions/apps.d.ts.map +1 -0
  6. package/lib/actions/apps.js +218 -17
  7. package/lib/actions/connections.d.ts +1 -0
  8. package/lib/actions/connections.d.ts.map +1 -0
  9. package/lib/actions/connections.js +61 -6
  10. package/lib/actions/content.d.ts +1 -0
  11. package/lib/actions/content.d.ts.map +1 -0
  12. package/lib/actions/content.js +232 -9
  13. package/lib/actions/conversations.d.ts +1 -0
  14. package/lib/actions/conversations.d.ts.map +1 -0
  15. package/lib/actions/conversations.js +321 -19
  16. package/lib/actions/dynamodb.d.ts +1 -0
  17. package/lib/actions/dynamodb.d.ts.map +1 -0
  18. package/lib/actions/dynamodb.js +119 -2
  19. package/lib/actions/email.d.ts +1 -0
  20. package/lib/actions/email.d.ts.map +1 -0
  21. package/lib/actions/email.js +56 -2
  22. package/lib/actions/files.d.ts +1 -0
  23. package/lib/actions/files.d.ts.map +1 -0
  24. package/lib/actions/files.js +226 -5
  25. package/lib/actions/groups.d.ts +1 -0
  26. package/lib/actions/groups.d.ts.map +1 -0
  27. package/lib/actions/groups.js +234 -19
  28. package/lib/actions/images.d.ts +1 -0
  29. package/lib/actions/images.d.ts.map +1 -0
  30. package/lib/actions/images.js +688 -31
  31. package/lib/actions/index.d.ts +2 -0
  32. package/lib/actions/index.d.ts.map +1 -0
  33. package/lib/actions/index.js +29 -2
  34. package/lib/actions/ios.d.ts +1 -0
  35. package/lib/actions/ios.d.ts.map +1 -0
  36. package/lib/actions/ios.js +228 -9
  37. package/lib/actions/locations.d.ts +1 -0
  38. package/lib/actions/locations.d.ts.map +1 -0
  39. package/lib/actions/locations.js +111 -7
  40. package/lib/actions/messages.d.ts +1 -0
  41. package/lib/actions/messages.d.ts.map +1 -0
  42. package/lib/actions/messages.js +155 -21
  43. package/lib/actions/notifications.d.ts +1 -0
  44. package/lib/actions/notifications.d.ts.map +1 -0
  45. package/lib/actions/notifications.js +37 -2
  46. package/lib/actions/payments.d.ts +1 -0
  47. package/lib/actions/payments.d.ts.map +1 -0
  48. package/lib/actions/payments.js +428 -11
  49. package/lib/actions/posts.d.ts +1 -0
  50. package/lib/actions/posts.d.ts.map +1 -0
  51. package/lib/actions/posts.js +540 -75
  52. package/lib/actions/profiles.d.ts +1 -0
  53. package/lib/actions/profiles.d.ts.map +1 -0
  54. package/lib/actions/profiles.js +58 -8
  55. package/lib/actions/reactions.d.ts +1 -0
  56. package/lib/actions/reactions.d.ts.map +1 -0
  57. package/lib/actions/reactions.js +276 -25
  58. package/lib/actions/s3.d.ts +1 -0
  59. package/lib/actions/s3.d.ts.map +1 -0
  60. package/lib/actions/s3.js +102 -2
  61. package/lib/actions/search.d.ts +1 -0
  62. package/lib/actions/search.d.ts.map +1 -0
  63. package/lib/actions/search.js +81 -5
  64. package/lib/actions/sms.d.ts +1 -0
  65. package/lib/actions/sms.d.ts.map +1 -0
  66. package/lib/actions/sms.js +52 -2
  67. package/lib/actions/statistics.d.ts +1 -0
  68. package/lib/actions/statistics.d.ts.map +1 -0
  69. package/lib/actions/statistics.js +41 -6
  70. package/lib/actions/subscriptions.d.ts +1 -0
  71. package/lib/actions/subscriptions.d.ts.map +1 -0
  72. package/lib/actions/subscriptions.js +196 -6
  73. package/lib/actions/tags.d.ts +1 -0
  74. package/lib/actions/tags.d.ts.map +1 -0
  75. package/lib/actions/tags.js +258 -19
  76. package/lib/actions/users.d.ts +1 -0
  77. package/lib/actions/users.d.ts.map +1 -0
  78. package/lib/actions/users.js +781 -66
  79. package/lib/actions/videos.d.ts +26 -0
  80. package/lib/actions/videos.d.ts.map +1 -0
  81. package/lib/actions/videos.js +423 -0
  82. package/lib/actions/websockets.d.ts +1 -0
  83. package/lib/actions/websockets.d.ts.map +1 -0
  84. package/lib/actions/websockets.js +148 -14
  85. package/lib/adapters/arangoAdapter.d.ts +1 -0
  86. package/lib/adapters/arangoAdapter.d.ts.map +1 -0
  87. package/lib/adapters/arangoAdapter.js +70 -2
  88. package/lib/adapters/contentAdapter.d.ts +1 -0
  89. package/lib/adapters/contentAdapter.d.ts.map +1 -0
  90. package/lib/adapters/contentAdapter.js +108 -2
  91. package/lib/adapters/fileAdapter.d.ts +1 -0
  92. package/lib/adapters/fileAdapter.d.ts.map +1 -0
  93. package/lib/adapters/fileAdapter.js +119 -2
  94. package/lib/adapters/imageAdapter.d.ts +1 -0
  95. package/lib/adapters/imageAdapter.d.ts.map +1 -0
  96. package/lib/adapters/imageAdapter.js +112 -2
  97. package/lib/adapters/index.d.ts +1 -0
  98. package/lib/adapters/index.d.ts.map +1 -0
  99. package/lib/adapters/index.js +11 -2
  100. package/lib/adapters/messageAdapter.d.ts +1 -0
  101. package/lib/adapters/messageAdapter.d.ts.map +1 -0
  102. package/lib/adapters/messageAdapter.js +82 -2
  103. package/lib/adapters/postAdapter.d.ts +1 -0
  104. package/lib/adapters/postAdapter.d.ts.map +1 -0
  105. package/lib/adapters/postAdapter.js +117 -2
  106. package/lib/adapters/reaktorAdapter.d.ts +1 -0
  107. package/lib/adapters/reaktorAdapter.d.ts.map +1 -0
  108. package/lib/adapters/reaktorAdapter.js +59 -2
  109. package/lib/adapters/tagAdapter.d.ts +1 -0
  110. package/lib/adapters/tagAdapter.d.ts.map +1 -0
  111. package/lib/adapters/tagAdapter.js +99 -2
  112. package/lib/adapters/userAdapter.d.ts +1 -0
  113. package/lib/adapters/userAdapter.d.ts.map +1 -0
  114. package/lib/adapters/userAdapter.js +264 -2
  115. package/lib/config.d.ts +1 -0
  116. package/lib/config.d.ts.map +1 -0
  117. package/lib/config.js +161 -2
  118. package/lib/handlers/graphqlHandler.d.ts +1 -0
  119. package/lib/handlers/graphqlHandler.d.ts.map +1 -0
  120. package/lib/handlers/graphqlHandler.js +118 -2
  121. package/lib/index.d.ts +1 -0
  122. package/lib/index.d.ts.map +1 -0
  123. package/lib/index.js +18 -2
  124. package/lib/lambdas/actions/websockets.d.ts +1 -0
  125. package/lib/lambdas/actions/websockets.d.ts.map +1 -0
  126. package/lib/lambdas/actions/websockets.js +89 -14
  127. package/lib/lambdas/authorizer.d.ts +1 -0
  128. package/lib/lambdas/authorizer.d.ts.map +1 -0
  129. package/lib/lambdas/authorizer.js +41 -2
  130. package/lib/lambdas/connection.d.ts +1 -0
  131. package/lib/lambdas/connection.d.ts.map +1 -0
  132. package/lib/lambdas/connection.js +85 -2
  133. package/lib/lambdas/utils/message.d.ts +1 -0
  134. package/lib/lambdas/utils/message.d.ts.map +1 -0
  135. package/lib/lambdas/utils/message.js +20 -2
  136. package/lib/lambdas/utils/websocket.d.ts +1 -0
  137. package/lib/lambdas/utils/websocket.d.ts.map +1 -0
  138. package/lib/lambdas/utils/websocket.js +78 -2
  139. package/lib/mocks/conversation.d.ts +1 -0
  140. package/lib/mocks/conversation.d.ts.map +1 -0
  141. package/lib/mocks/conversation.js +10 -2
  142. package/lib/mocks/file.d.ts +1 -0
  143. package/lib/mocks/file.d.ts.map +1 -0
  144. package/lib/mocks/file.js +13 -2
  145. package/lib/mocks/group.d.ts +1 -0
  146. package/lib/mocks/group.d.ts.map +1 -0
  147. package/lib/mocks/group.js +20 -2
  148. package/lib/mocks/image.d.ts +1 -0
  149. package/lib/mocks/image.d.ts.map +1 -0
  150. package/lib/mocks/image.js +17 -2
  151. package/lib/mocks/post.d.ts +1 -0
  152. package/lib/mocks/post.d.ts.map +1 -0
  153. package/lib/mocks/post.js +28 -2
  154. package/lib/mocks/tag.d.ts +1 -0
  155. package/lib/mocks/tag.d.ts.map +1 -0
  156. package/lib/mocks/tag.js +12 -2
  157. package/lib/mocks/user.d.ts +1 -0
  158. package/lib/mocks/user.d.ts.map +1 -0
  159. package/lib/mocks/user.js +61 -2
  160. package/lib/mocks/video.d.ts +4 -0
  161. package/lib/mocks/video.d.ts.map +1 -0
  162. package/lib/mocks/video.js +17 -0
  163. package/lib/mutations/content.d.ts +1 -0
  164. package/lib/mutations/content.d.ts.map +1 -0
  165. package/lib/mutations/content.js +27 -2
  166. package/lib/mutations/index.d.ts +1 -0
  167. package/lib/mutations/index.d.ts.map +1 -0
  168. package/lib/mutations/index.js +29 -2
  169. package/lib/mutations/locations.d.ts +1 -0
  170. package/lib/mutations/locations.d.ts.map +1 -0
  171. package/lib/mutations/locations.js +22 -2
  172. package/lib/mutations/messages.d.ts +1 -0
  173. package/lib/mutations/messages.d.ts.map +1 -0
  174. package/lib/mutations/messages.js +75 -2
  175. package/lib/mutations/posts.d.ts +1 -0
  176. package/lib/mutations/posts.d.ts.map +1 -0
  177. package/lib/mutations/posts.js +31 -2
  178. package/lib/mutations/profiles.d.ts +1 -0
  179. package/lib/mutations/profiles.d.ts.map +1 -0
  180. package/lib/mutations/profiles.js +78 -2
  181. package/lib/mutations/reactions.d.ts +1 -0
  182. package/lib/mutations/reactions.d.ts.map +1 -0
  183. package/lib/mutations/reactions.js +29 -2
  184. package/lib/mutations/statistics.d.ts +1 -0
  185. package/lib/mutations/statistics.d.ts.map +1 -0
  186. package/lib/mutations/statistics.js +17 -2
  187. package/lib/mutations/subscriptions.d.ts +1 -0
  188. package/lib/mutations/subscriptions.d.ts.map +1 -0
  189. package/lib/mutations/subscriptions.js +38 -2
  190. package/lib/mutations/tags.d.ts +1 -0
  191. package/lib/mutations/tags.d.ts.map +1 -0
  192. package/lib/mutations/tags.js +109 -2
  193. package/lib/mutations/users.d.ts +1 -0
  194. package/lib/mutations/users.d.ts.map +1 -0
  195. package/lib/mutations/users.js +129 -2
  196. package/lib/objectTypes/app.d.ts +1 -0
  197. package/lib/objectTypes/app.d.ts.map +1 -0
  198. package/lib/objectTypes/app.js +147 -2
  199. package/lib/objectTypes/bankAccount.d.ts +1 -0
  200. package/lib/objectTypes/bankAccount.d.ts.map +1 -0
  201. package/lib/objectTypes/bankAccount.js +54 -2
  202. package/lib/objectTypes/connection.d.ts +1 -0
  203. package/lib/objectTypes/connection.d.ts.map +1 -0
  204. package/lib/objectTypes/connection.js +26 -2
  205. package/lib/objectTypes/content.d.ts +1 -0
  206. package/lib/objectTypes/content.d.ts.map +1 -0
  207. package/lib/objectTypes/content.js +79 -2
  208. package/lib/objectTypes/conversation.d.ts +1 -0
  209. package/lib/objectTypes/conversation.d.ts.map +1 -0
  210. package/lib/objectTypes/conversation.js +53 -2
  211. package/lib/objectTypes/creditCard.d.ts +1 -0
  212. package/lib/objectTypes/creditCard.d.ts.map +1 -0
  213. package/lib/objectTypes/creditCard.js +64 -2
  214. package/lib/objectTypes/document.d.ts +1 -0
  215. package/lib/objectTypes/document.d.ts.map +1 -0
  216. package/lib/objectTypes/document.js +21 -2
  217. package/lib/objectTypes/error.d.ts +1 -0
  218. package/lib/objectTypes/error.d.ts.map +1 -0
  219. package/lib/objectTypes/error.js +24 -2
  220. package/lib/objectTypes/external.d.ts +1 -0
  221. package/lib/objectTypes/external.d.ts.map +1 -0
  222. package/lib/objectTypes/external.js +52 -2
  223. package/lib/objectTypes/file.d.ts +1 -0
  224. package/lib/objectTypes/file.d.ts.map +1 -0
  225. package/lib/objectTypes/file.js +76 -2
  226. package/lib/objectTypes/filter.d.ts +1 -0
  227. package/lib/objectTypes/filter.d.ts.map +1 -0
  228. package/lib/objectTypes/filter.js +21 -2
  229. package/lib/objectTypes/group.d.ts +1 -0
  230. package/lib/objectTypes/group.d.ts.map +1 -0
  231. package/lib/objectTypes/group.js +97 -2
  232. package/lib/objectTypes/iapSubscription.d.ts +1 -0
  233. package/lib/objectTypes/iapSubscription.d.ts.map +1 -0
  234. package/lib/objectTypes/iapSubscription.js +18 -2
  235. package/lib/objectTypes/image.d.ts +1 -0
  236. package/lib/objectTypes/image.d.ts.map +1 -0
  237. package/lib/objectTypes/image.js +105 -2
  238. package/lib/objectTypes/index.d.ts +1 -0
  239. package/lib/objectTypes/index.d.ts.map +1 -0
  240. package/lib/objectTypes/index.js +28 -2
  241. package/lib/objectTypes/location.d.ts +1 -0
  242. package/lib/objectTypes/location.d.ts.map +1 -0
  243. package/lib/objectTypes/location.js +85 -2
  244. package/lib/objectTypes/message.d.ts +1 -0
  245. package/lib/objectTypes/message.d.ts.map +1 -0
  246. package/lib/objectTypes/message.js +72 -2
  247. package/lib/objectTypes/passcode.d.ts +1 -0
  248. package/lib/objectTypes/passcode.d.ts.map +1 -0
  249. package/lib/objectTypes/passcode.js +20 -2
  250. package/lib/objectTypes/plan.d.ts +1 -0
  251. package/lib/objectTypes/plan.d.ts.map +1 -0
  252. package/lib/objectTypes/plan.js +71 -2
  253. package/lib/objectTypes/post.d.ts +1 -0
  254. package/lib/objectTypes/post.d.ts.map +1 -0
  255. package/lib/objectTypes/post.js +101 -2
  256. package/lib/objectTypes/profile.d.ts +1 -0
  257. package/lib/objectTypes/profile.d.ts.map +1 -0
  258. package/lib/objectTypes/profile.js +68 -2
  259. package/lib/objectTypes/reaction.d.ts +1 -0
  260. package/lib/objectTypes/reaction.d.ts.map +1 -0
  261. package/lib/objectTypes/reaction.js +37 -2
  262. package/lib/objectTypes/relation.d.ts +1 -0
  263. package/lib/objectTypes/relation.d.ts.map +1 -0
  264. package/lib/objectTypes/relation.js +27 -2
  265. package/lib/objectTypes/search.d.ts +1 -0
  266. package/lib/objectTypes/search.d.ts.map +1 -0
  267. package/lib/objectTypes/search.js +50 -2
  268. package/lib/objectTypes/statistics.d.ts +1 -0
  269. package/lib/objectTypes/statistics.d.ts.map +1 -0
  270. package/lib/objectTypes/statistics.js +17 -2
  271. package/lib/objectTypes/subscription.d.ts +1 -0
  272. package/lib/objectTypes/subscription.d.ts.map +1 -0
  273. package/lib/objectTypes/subscription.js +102 -2
  274. package/lib/objectTypes/tag.d.ts +1 -0
  275. package/lib/objectTypes/tag.d.ts.map +1 -0
  276. package/lib/objectTypes/tag.js +41 -2
  277. package/lib/objectTypes/user.d.ts +1 -0
  278. package/lib/objectTypes/user.d.ts.map +1 -0
  279. package/lib/objectTypes/user.js +111 -2
  280. package/lib/queries/content.d.ts +1 -0
  281. package/lib/queries/content.d.ts.map +1 -0
  282. package/lib/queries/content.js +50 -2
  283. package/lib/queries/index.d.ts +1 -0
  284. package/lib/queries/index.d.ts.map +1 -0
  285. package/lib/queries/index.js +27 -2
  286. package/lib/queries/locations.d.ts +1 -0
  287. package/lib/queries/locations.d.ts.map +1 -0
  288. package/lib/queries/locations.js +23 -2
  289. package/lib/queries/messages.d.ts +1 -0
  290. package/lib/queries/messages.d.ts.map +1 -0
  291. package/lib/queries/messages.js +35 -2
  292. package/lib/queries/posts.d.ts +1 -0
  293. package/lib/queries/posts.d.ts.map +1 -0
  294. package/lib/queries/posts.js +154 -2
  295. package/lib/queries/reactions.d.ts +1 -0
  296. package/lib/queries/reactions.d.ts.map +1 -0
  297. package/lib/queries/reactions.js +34 -2
  298. package/lib/queries/statistics.d.ts +1 -0
  299. package/lib/queries/statistics.d.ts.map +1 -0
  300. package/lib/queries/statistics.js +17 -2
  301. package/lib/queries/subscriptions.d.ts +1 -0
  302. package/lib/queries/subscriptions.d.ts.map +1 -0
  303. package/lib/queries/subscriptions.js +21 -2
  304. package/lib/queries/tags.d.ts +1 -0
  305. package/lib/queries/tags.d.ts.map +1 -0
  306. package/lib/queries/tags.js +56 -2
  307. package/lib/queries/users.d.ts +1 -0
  308. package/lib/queries/users.d.ts.map +1 -0
  309. package/lib/queries/users.js +39 -2
  310. package/lib/templates/email/layout.d.ts +1 -0
  311. package/lib/templates/email/layout.d.ts.map +1 -0
  312. package/lib/templates/email/layout.js +4 -3
  313. package/lib/templates/email/passwordForgot.d.ts +1 -0
  314. package/lib/templates/email/passwordForgot.d.ts.map +1 -0
  315. package/lib/templates/email/passwordForgot.js +4 -3
  316. package/lib/templates/email/passwordRecovery.d.ts +1 -0
  317. package/lib/templates/email/passwordRecovery.d.ts.map +1 -0
  318. package/lib/templates/email/passwordRecovery.js +4 -3
  319. package/lib/templates/email/verifyEmail.d.ts +1 -0
  320. package/lib/templates/email/verifyEmail.d.ts.map +1 -0
  321. package/lib/templates/email/verifyEmail.js +4 -3
  322. package/lib/templates/email/welcome.d.ts +1 -0
  323. package/lib/templates/email/welcome.d.ts.map +1 -0
  324. package/lib/templates/email/welcome.js +4 -3
  325. package/lib/templates/sms/passwordForgot.d.ts +1 -0
  326. package/lib/templates/sms/passwordForgot.d.ts.map +1 -0
  327. package/lib/templates/sms/passwordForgot.js +3 -2
  328. package/lib/templates/sms/passwordRecovery.d.ts +1 -0
  329. package/lib/templates/sms/passwordRecovery.d.ts.map +1 -0
  330. package/lib/templates/sms/passwordRecovery.js +3 -2
  331. package/lib/templates/sms/verifyEmail.d.ts +1 -0
  332. package/lib/templates/sms/verifyEmail.d.ts.map +1 -0
  333. package/lib/templates/sms/verifyEmail.js +3 -2
  334. package/lib/templates/sms/verifyPhone.d.ts +1 -0
  335. package/lib/templates/sms/verifyPhone.d.ts.map +1 -0
  336. package/lib/templates/sms/verifyPhone.js +3 -2
  337. package/lib/templates/sms/welcome.d.ts +1 -0
  338. package/lib/templates/sms/welcome.d.ts.map +1 -0
  339. package/lib/templates/sms/welcome.js +3 -2
  340. package/lib/types/apps.types.d.ts +1 -0
  341. package/lib/types/apps.types.d.ts.map +1 -0
  342. package/lib/types/apps.types.js +10 -2
  343. package/lib/types/arangodb.types.d.ts +2 -1
  344. package/lib/types/arangodb.types.d.ts.map +1 -0
  345. package/lib/types/arangodb.types.js +6 -1
  346. package/lib/types/auth.types.d.ts +1 -0
  347. package/lib/types/auth.types.d.ts.map +1 -0
  348. package/lib/types/auth.types.js +6 -1
  349. package/lib/types/connections.types.d.ts +1 -0
  350. package/lib/types/connections.types.d.ts.map +1 -0
  351. package/lib/types/connections.types.js +6 -1
  352. package/lib/types/content.types.d.ts +1 -0
  353. package/lib/types/content.types.d.ts.map +1 -0
  354. package/lib/types/content.types.js +6 -1
  355. package/lib/types/conversations.types.d.ts +1 -0
  356. package/lib/types/conversations.types.d.ts.map +1 -0
  357. package/lib/types/conversations.types.js +6 -1
  358. package/lib/types/email.types.d.ts +1 -0
  359. package/lib/types/email.types.d.ts.map +1 -0
  360. package/lib/types/email.types.js +6 -1
  361. package/lib/types/error.types.d.ts +1 -0
  362. package/lib/types/error.types.d.ts.map +1 -0
  363. package/lib/types/error.types.js +20 -2
  364. package/lib/types/files.types.d.ts +1 -0
  365. package/lib/types/files.types.d.ts.map +1 -0
  366. package/lib/types/files.types.js +6 -1
  367. package/lib/types/google.types.d.ts +1 -0
  368. package/lib/types/google.types.d.ts.map +1 -0
  369. package/lib/types/google.types.js +6 -1
  370. package/lib/types/groups.types.d.ts +1 -0
  371. package/lib/types/groups.types.d.ts.map +1 -0
  372. package/lib/types/groups.types.js +6 -1
  373. package/lib/types/images.types.d.ts +1 -0
  374. package/lib/types/images.types.d.ts.map +1 -0
  375. package/lib/types/images.types.js +6 -1
  376. package/lib/types/index.d.ts +2 -0
  377. package/lib/types/index.d.ts.map +1 -0
  378. package/lib/types/index.js +28 -2
  379. package/lib/types/locations.types.d.ts +1 -0
  380. package/lib/types/locations.types.d.ts.map +1 -0
  381. package/lib/types/locations.types.js +6 -1
  382. package/lib/types/messages.types.d.ts +1 -0
  383. package/lib/types/messages.types.d.ts.map +1 -0
  384. package/lib/types/messages.types.js +6 -1
  385. package/lib/types/notifications.types.d.ts +1 -0
  386. package/lib/types/notifications.types.d.ts.map +1 -0
  387. package/lib/types/notifications.types.js +6 -1
  388. package/lib/types/payments.types.d.ts +1 -0
  389. package/lib/types/payments.types.d.ts.map +1 -0
  390. package/lib/types/payments.types.js +6 -1
  391. package/lib/types/posts.types.d.ts +1 -0
  392. package/lib/types/posts.types.d.ts.map +1 -0
  393. package/lib/types/posts.types.js +6 -1
  394. package/lib/types/profiles.types.d.ts +1 -0
  395. package/lib/types/profiles.types.d.ts.map +1 -0
  396. package/lib/types/profiles.types.js +3 -1
  397. package/lib/types/statistics.types.d.ts +1 -0
  398. package/lib/types/statistics.types.d.ts.map +1 -0
  399. package/lib/types/statistics.types.js +3 -1
  400. package/lib/types/tags.types.d.ts +1 -0
  401. package/lib/types/tags.types.d.ts.map +1 -0
  402. package/lib/types/tags.types.js +6 -1
  403. package/lib/types/users.types.d.ts +1 -0
  404. package/lib/types/users.types.d.ts.map +1 -0
  405. package/lib/types/users.types.js +6 -1
  406. package/lib/types/videos.types.d.ts +47 -0
  407. package/lib/types/videos.types.d.ts.map +1 -0
  408. package/lib/types/videos.types.js +6 -0
  409. package/lib/types/websockets.types.d.ts +1 -0
  410. package/lib/types/websockets.types.d.ts.map +1 -0
  411. package/lib/types/websockets.types.js +6 -1
  412. package/lib/utils/adapterUtils.d.ts +1 -0
  413. package/lib/utils/adapterUtils.d.ts.map +1 -0
  414. package/lib/utils/adapterUtils.js +23 -2
  415. package/lib/utils/analyticsUtils.d.ts +1 -0
  416. package/lib/utils/analyticsUtils.d.ts.map +1 -0
  417. package/lib/utils/analyticsUtils.js +45 -2
  418. package/lib/utils/arangodbUtils.d.ts +1 -0
  419. package/lib/utils/arangodbUtils.d.ts.map +1 -0
  420. package/lib/utils/arangodbUtils.js +128 -5
  421. package/lib/utils/authUtils.d.ts +1 -0
  422. package/lib/utils/authUtils.d.ts.map +1 -0
  423. package/lib/utils/authUtils.js +54 -2
  424. package/lib/utils/contextUtils.d.ts +1 -0
  425. package/lib/utils/contextUtils.d.ts.map +1 -0
  426. package/lib/utils/contextUtils.js +10 -2
  427. package/lib/utils/dbI18n.d.ts +1 -0
  428. package/lib/utils/dbI18n.d.ts.map +1 -0
  429. package/lib/utils/dbI18n.example.d.ts +1 -0
  430. package/lib/utils/dbI18n.example.d.ts.map +1 -0
  431. package/lib/utils/dbI18n.example.js +92 -5
  432. package/lib/utils/dbI18n.js +28 -2
  433. package/lib/utils/googleTranslate.d.ts +1 -0
  434. package/lib/utils/googleTranslate.d.ts.map +1 -0
  435. package/lib/utils/googleTranslate.js +70 -2
  436. package/lib/utils/graphqlUtils.d.ts +1 -0
  437. package/lib/utils/graphqlUtils.d.ts.map +1 -0
  438. package/lib/utils/graphqlUtils.js +11 -2
  439. package/lib/utils/index.d.ts +1 -0
  440. package/lib/utils/index.d.ts.map +1 -0
  441. package/lib/utils/index.js +19 -2
  442. package/lib/utils/languageDetection.d.ts +1 -0
  443. package/lib/utils/languageDetection.d.ts.map +1 -0
  444. package/lib/utils/languageDetection.js +120 -2
  445. package/lib/utils/localeUtils.d.ts +1 -0
  446. package/lib/utils/localeUtils.d.ts.map +1 -0
  447. package/lib/utils/localeUtils.example.d.ts +1 -0
  448. package/lib/utils/localeUtils.example.d.ts.map +1 -0
  449. package/lib/utils/localeUtils.example.js +124 -2
  450. package/lib/utils/localeUtils.js +71 -2
  451. package/lib/utils/middlewareUtils.d.ts +1 -0
  452. package/lib/utils/middlewareUtils.d.ts.map +1 -0
  453. package/lib/utils/middlewareUtils.js +10 -2
  454. package/lib/utils/sessionUtils.d.ts +1 -0
  455. package/lib/utils/sessionUtils.d.ts.map +1 -0
  456. package/lib/utils/sessionUtils.js +26 -2
  457. package/lib/utils/stripeUtils.d.ts +2 -1
  458. package/lib/utils/stripeUtils.d.ts.map +1 -0
  459. package/lib/utils/stripeUtils.js +12 -2
  460. package/lib/utils/templateUtils.d.ts +1 -0
  461. package/lib/utils/templateUtils.d.ts.map +1 -0
  462. package/lib/utils/templateUtils.js +11 -2
  463. package/lib/utils/testUtils.d.ts +1 -0
  464. package/lib/utils/testUtils.d.ts.map +1 -0
  465. package/lib/utils/testUtils.js +292 -2
  466. package/lib/utils/translationQueue.d.ts +1 -0
  467. package/lib/utils/translationQueue.d.ts.map +1 -0
  468. package/lib/utils/translationQueue.example.d.ts +1 -0
  469. package/lib/utils/translationQueue.example.d.ts.map +1 -0
  470. package/lib/utils/translationQueue.example.js +340 -2
  471. package/lib/utils/translationQueue.js +113 -2
  472. package/package.json +47 -29
@@ -1,2 +1,124 @@
1
- import{extractLanguage as a,getPrimaryLanguages as r,getSupportedLocales as i,isRegionalLocale as u}from"./localeUtils.js";const L=async(e,o,l="en")=>{const n=a(o),s=a(l);return`[Translated: ${e}]`},p=async(e,o,l)=>({key:e,locale:l,content:o}),t=async(e,o)=>{if(u(o)){const l=a(o)}return`[Content for ${e} in ${o}]`},f=i(),y=r(),m=async()=>{const e="welcome_message",o="es-mx",l="en-us",n=a(o),s=a(l);if(n!==s){const c=await t(e,l),g=await L(c,n,s);await p(e,g,o)}},h=async()=>{await t("welcome_message","es-mx"),await m()};export{h as runLocaleExamples};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2xvY2FsZVV0aWxzLmV4YW1wbGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI1LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5cbmltcG9ydCB7XG4gIGV4dHJhY3RMYW5ndWFnZSxcbiAgZ2V0RmFsbGJhY2tDaGFpbixcbiAgZ2V0UHJpbWFyeUxhbmd1YWdlcyxcbiAgZ2V0U3VwcG9ydGVkTG9jYWxlcyxcbiAgaXNSZWdpb25hbExvY2FsZSxcbiAgaXNWYWxpZExvY2FsZVxufSBmcm9tICcuL2xvY2FsZVV0aWxzLmpzJztcblxuLyoqXG4gKiBFeGFtcGxlOiBMb2NhbGUgVXRpbGl0aWVzIHdpdGggUmVnaW9uYWwgU3VwcG9ydFxuICpcbiAqIFRoaXMgZXhhbXBsZSBkZW1vbnN0cmF0ZXMgaG93IHRvIHVzZSB0aGUgbG9jYWxlIHV0aWxpdGllcyBmb3IgaGFuZGxpbmdcbiAqIHJlZ2lvbmFsIGxvY2FsZXMgKGUuZy4sIFwiZW4tdXNcIiwgXCJlcy1teFwiKSB3aXRoIGxhbmd1YWdlIGV4dHJhY3Rpb25cbiAqIGZvciB0cmFuc2xhdGlvbiBBUElzIHdoaWxlIG1haW50YWluaW5nIGZ1bGwgbG9jYWxlIHN1cHBvcnQgZm9yXG4gKiB0aW1lLCBjdXJyZW5jeSwgYW5kIG90aGVyIHJlZ2lvbmFsIGZvcm1hdHRpbmcuXG4gKi9cblxuLy8gRXhhbXBsZSAxOiBMYW5ndWFnZSBFeHRyYWN0aW9uIGZvciBUcmFuc2xhdGlvbiBBUElzXG5jb25zb2xlLmxvZygnPT09IExhbmd1YWdlIEV4dHJhY3Rpb24gRXhhbXBsZXMgPT09Jyk7XG5jb25zb2xlLmxvZyhleHRyYWN0TGFuZ3VhZ2UoJ2VuLXVzJykpOyAvLyAnZW4nXG5jb25zb2xlLmxvZyhleHRyYWN0TGFuZ3VhZ2UoJ2VzLW14JykpOyAvLyAnZXMnXG5jb25zb2xlLmxvZyhleHRyYWN0TGFuZ3VhZ2UoJ2ZyLWNhJykpOyAvLyAnZnInXG5jb25zb2xlLmxvZyhleHRyYWN0TGFuZ3VhZ2UoJ2VuJykpOyAvLyAnZW4nXG5cbi8vIEV4YW1wbGUgMjogUmVnaW9uYWwgTG9jYWxlIERldGVjdGlvblxuY29uc29sZS5sb2coJ1xcbj09PSBSZWdpb25hbCBMb2NhbGUgRGV0ZWN0aW9uID09PScpO1xuY29uc29sZS5sb2coaXNSZWdpb25hbExvY2FsZSgnZW4tdXMnKSk7IC8vIHRydWVcbmNvbnNvbGUubG9nKGlzUmVnaW9uYWxMb2NhbGUoJ2VzLW14JykpOyAvLyB0cnVlXG5jb25zb2xlLmxvZyhpc1JlZ2lvbmFsTG9jYWxlKCdlbicpKTsgLy8gZmFsc2VcbmNvbnNvbGUubG9nKGlzUmVnaW9uYWxMb2NhbGUoJ2ZyJykpOyAvLyBmYWxzZVxuXG4vLyBFeGFtcGxlIDM6IEZhbGxiYWNrIENoYWluIEdlbmVyYXRpb25cbmNvbnNvbGUubG9nKCdcXG49PT0gRmFsbGJhY2sgQ2hhaW4gRXhhbXBsZXMgPT09Jyk7XG5jb25zb2xlLmxvZyhnZXRGYWxsYmFja0NoYWluKCdlbi11cycpKTsgLy8gWydlbi11cycsICdlbiddXG5jb25zb2xlLmxvZyhnZXRGYWxsYmFja0NoYWluKCdlcy1teCcpKTsgLy8gWydlcy1teCcsICdlcyddXG5jb25zb2xlLmxvZyhnZXRGYWxsYmFja0NoYWluKCdmci1jYScpKTsgLy8gWydmci1jYScsICdmciddXG5jb25zb2xlLmxvZyhnZXRGYWxsYmFja0NoYWluKCdlbicpKTsgLy8gWydlbiddXG5cbi8vIEV4YW1wbGUgNDogVHJhbnNsYXRpb24gQVBJIEludGVncmF0aW9uXG5jb25zdCB0cmFuc2xhdGVUZXh0ID0gYXN5bmMgKHRleHQ6IHN0cmluZywgdGFyZ2V0TG9jYWxlOiBzdHJpbmcsIHNvdXJjZUxvY2FsZTogc3RyaW5nID0gJ2VuJykgPT4ge1xuICAvLyBFeHRyYWN0IGxhbmd1YWdlIGNvZGVzIGZvciB0cmFuc2xhdGlvbiBBUElcbiAgY29uc3QgdGFyZ2V0TGFuZ3VhZ2UgPSBleHRyYWN0TGFuZ3VhZ2UodGFyZ2V0TG9jYWxlKTtcbiAgY29uc3Qgc291cmNlTGFuZ3VhZ2UgPSBleHRyYWN0TGFuZ3VhZ2Uoc291cmNlTG9jYWxlKTtcblxuICBjb25zb2xlLmxvZyhgVHJhbnNsYXRpbmcgZnJvbSAke3NvdXJjZUxhbmd1YWdlfSB0byAke3RhcmdldExhbmd1YWdlfWApO1xuICBjb25zb2xlLmxvZyhgRnVsbCBsb2NhbGVzOiAke3NvdXJjZUxvY2FsZX0gXHUyMTkyICR7dGFyZ2V0TG9jYWxlfWApO1xuXG4gIC8vIENhbGwgdHJhbnNsYXRpb24gQVBJIHdpdGggbGFuZ3VhZ2UgY29kZXNcbiAgLy8gY29uc3QgcmVzdWx0ID0gYXdhaXQgZ29vZ2xlVHJhbnNsYXRlQVBJLnRyYW5zbGF0ZSh0ZXh0LCB0YXJnZXRMYW5ndWFnZSwgc291cmNlTGFuZ3VhZ2UpO1xuXG4gIHJldHVybiBgW1RyYW5zbGF0ZWQ6ICR7dGV4dH1dYDtcbn07XG5cbi8vIEV4YW1wbGUgNTogRGF0YWJhc2UgU3RvcmFnZSBTdHJhdGVneVxuY29uc3Qgc3RvcmVUcmFuc2xhdGlvbiA9IGFzeW5jIChrZXk6IHN0cmluZywgY29udGVudDogc3RyaW5nLCBsb2NhbGU6IHN0cmluZykgPT4ge1xuICAvLyBTdG9yZSB3aXRoIGZ1bGwgbG9jYWxlIGZvciByZWdpb25hbCBzdXBwb3J0XG4gIGNvbnNvbGUubG9nKGBTdG9yaW5nIHRyYW5zbGF0aW9uIGZvciBrZXkgXCIke2tleX1cIiB3aXRoIGxvY2FsZSBcIiR7bG9jYWxlfVwiYCk7XG5cbiAgLy8gRGF0YWJhc2UgcmVjb3JkIHdvdWxkIGluY2x1ZGU6XG4gIC8vIC0ga2V5OiBcIndlbGNvbWVfbWVzc2FnZVwiXG4gIC8vIC0gbG9jYWxlOiBcImVuLXVzXCIgKGZ1bGwgbG9jYWxlIHdpdGggcmVnaW9uKVxuICAvLyAtIGNvbnRlbnQ6IFwiV2VsY29tZSB0byBvdXIgVVMgc2l0ZSFcIlxuXG4gIHJldHVybiB7a2V5LCBsb2NhbGUsIGNvbnRlbnR9O1xufTtcblxuLy8gRXhhbXBsZSA2OiBDb250ZW50IFJldHJpZXZhbCB3aXRoIEZhbGxiYWNrXG5jb25zdCBnZXRDb250ZW50V2l0aEZhbGxiYWNrID0gYXN5bmMgKGtleTogc3RyaW5nLCByZXF1ZXN0ZWRMb2NhbGU6IHN0cmluZykgPT4ge1xuICBjb25zb2xlLmxvZyhgXFxuPT09IENvbnRlbnQgUmV0cmlldmFsIGZvciBcIiR7a2V5fVwiIHdpdGggbG9jYWxlIFwiJHtyZXF1ZXN0ZWRMb2NhbGV9XCIgPT09YCk7XG5cbiAgLy8gMS4gVHJ5IGV4YWN0IGxvY2FsZSBtYXRjaCBmaXJzdFxuICBjb25zb2xlLmxvZyhgMS4gVHJ5aW5nIGV4YWN0IG1hdGNoOiAke3JlcXVlc3RlZExvY2FsZX1gKTtcblxuICAvLyAyLiBJZiByZWdpb25hbCBsb2NhbGUgYW5kIG5vIGV4YWN0IG1hdGNoLCB0cnkgbGFuZ3VhZ2UgZmFsbGJhY2tcbiAgaWYoaXNSZWdpb25hbExvY2FsZShyZXF1ZXN0ZWRMb2NhbGUpKSB7XG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBleHRyYWN0TGFuZ3VhZ2UocmVxdWVzdGVkTG9jYWxlKTtcbiAgICBjb25zb2xlLmxvZyhgMi4gVHJ5aW5nIGxhbmd1YWdlIGZhbGxiYWNrOiAke2xhbmd1YWdlfWApO1xuXG4gICAgLy8gSWYgZm91bmQsIHN0b3JlIHRoZSByZWdpb25hbCB2ZXJzaW9uIGZvciBmdXR1cmUgdXNlXG4gICAgY29uc29sZS5sb2coYDMuIFN0b3JpbmcgZXh0cmFjdGVkIGNvbnRlbnQgZm9yICR7cmVxdWVzdGVkTG9jYWxlfWApO1xuICB9XG5cbiAgLy8gMy4gSWYgc3RpbGwgbm8gbWF0Y2gsIHVzZSBhcHAgZGVmYXVsdCBsb2NhbGVcbiAgY29uc29sZS5sb2coJzQuIEZhbGxpbmcgYmFjayB0byBhcHAgZGVmYXVsdCBsb2NhbGUnKTtcblxuICByZXR1cm4gYFtDb250ZW50IGZvciAke2tleX0gaW4gJHtyZXF1ZXN0ZWRMb2NhbGV9XWA7XG59O1xuXG4vLyBFeGFtcGxlIDc6IFZhbGlkYXRpb25cbmNvbnNvbGUubG9nKCdcXG49PT0gTG9jYWxlIFZhbGlkYXRpb24gPT09Jyk7XG5jb25zb2xlLmxvZyhpc1ZhbGlkTG9jYWxlKCdlbi11cycpKTsgLy8gdHJ1ZVxuY29uc29sZS5sb2coaXNWYWxpZExvY2FsZSgnZXMtbXgnKSk7IC8vIHRydWVcbmNvbnNvbGUubG9nKGlzVmFsaWRMb2NhbGUoJ2ludmFsaWQnKSk7IC8vIGZhbHNlXG5jb25zb2xlLmxvZyhpc1ZhbGlkTG9jYWxlKCdlbi14eCcpKTsgLy8gZmFsc2VcblxuLy8gRXhhbXBsZSA4OiBTdXBwb3J0ZWQgTG9jYWxlc1xuY29uc29sZS5sb2coJ1xcbj09PSBTdXBwb3J0ZWQgTG9jYWxlcyA9PT0nKTtcbmNvbnN0IHN1cHBvcnRlZExvY2FsZXMgPSBnZXRTdXBwb3J0ZWRMb2NhbGVzKCk7XG5jb25zb2xlLmxvZyhgVG90YWwgc3VwcG9ydGVkIGxvY2FsZXM6ICR7c3VwcG9ydGVkTG9jYWxlcy5sZW5ndGh9YCk7XG5jb25zb2xlLmxvZygnRW5nbGlzaCB2YXJpYW50czonLCBzdXBwb3J0ZWRMb2NhbGVzLmZpbHRlcigobCkgPT4gbC5zdGFydHNXaXRoKCdlbicpKSk7XG5jb25zb2xlLmxvZygnU3BhbmlzaCB2YXJpYW50czonLCBzdXBwb3J0ZWRMb2NhbGVzLmZpbHRlcigobCkgPT4gbC5zdGFydHNXaXRoKCdlcycpKSk7XG5cbi8vIEV4YW1wbGUgOTogUHJpbWFyeSBMYW5ndWFnZXNcbmNvbnNvbGUubG9nKCdcXG49PT0gUHJpbWFyeSBMYW5ndWFnZXMgPT09Jyk7XG5jb25zdCBwcmltYXJ5TGFuZ3VhZ2VzID0gZ2V0UHJpbWFyeUxhbmd1YWdlcygpO1xuY29uc29sZS5sb2coJ1ByaW1hcnkgbGFuZ3VhZ2VzOicsIHByaW1hcnlMYW5ndWFnZXMpO1xuXG4vLyBFeGFtcGxlIDEwOiBDb21wbGV0ZSBXb3JrZmxvd1xuY29uc3QgY29tcGxldGVUcmFuc2xhdGlvbldvcmtmbG93ID0gYXN5bmMgKCkgPT4ge1xuICBjb25zb2xlLmxvZygnXFxuPT09IENvbXBsZXRlIFRyYW5zbGF0aW9uIFdvcmtmbG93ID09PScpO1xuXG4gIGNvbnN0IGtleSA9ICd3ZWxjb21lX21lc3NhZ2UnO1xuICBjb25zdCB1c2VyTG9jYWxlID0gJ2VzLW14JzsgLy8gVXNlcidzIGZ1bGwgbG9jYWxlXG4gIGNvbnN0IGFwcExvY2FsZSA9ICdlbi11cyc7IC8vIEFwcCdzIGRlZmF1bHQgbG9jYWxlXG5cbiAgLy8gMS4gRXh0cmFjdCBsYW5ndWFnZSBmb3IgdHJhbnNsYXRpb24gQVBJXG4gIGNvbnN0IHVzZXJMYW5ndWFnZSA9IGV4dHJhY3RMYW5ndWFnZSh1c2VyTG9jYWxlKTtcbiAgY29uc3QgYXBwTGFuZ3VhZ2UgPSBleHRyYWN0TGFuZ3VhZ2UoYXBwTG9jYWxlKTtcblxuICBjb25zb2xlLmxvZyhgVXNlciBsb2NhbGU6ICR7dXNlckxvY2FsZX0gKGxhbmd1YWdlOiAke3VzZXJMYW5ndWFnZX0pYCk7XG4gIGNvbnNvbGUubG9nKGBBcHAgbG9jYWxlOiAke2FwcExvY2FsZX0gKGxhbmd1YWdlOiAke2FwcExhbmd1YWdlfSlgKTtcblxuICAvLyAyLiBDaGVjayBpZiB3ZSBuZWVkIHRyYW5zbGF0aW9uXG4gIGlmKHVzZXJMYW5ndWFnZSAhPT0gYXBwTGFuZ3VhZ2UpIHtcbiAgICBjb25zb2xlLmxvZygnVHJhbnNsYXRpb24gbmVlZGVkIScpO1xuXG4gICAgLy8gMy4gR2V0IHNvdXJjZSBjb250ZW50IChmcm9tIGFwcCBsb2NhbGUpXG4gICAgY29uc3Qgc291cmNlQ29udGVudCA9IGF3YWl0IGdldENvbnRlbnRXaXRoRmFsbGJhY2soa2V5LCBhcHBMb2NhbGUpO1xuXG4gICAgLy8gNC4gVHJhbnNsYXRlIHVzaW5nIGxhbmd1YWdlIGNvZGVzXG4gICAgY29uc3QgdHJhbnNsYXRlZENvbnRlbnQgPSBhd2FpdCB0cmFuc2xhdGVUZXh0KHNvdXJjZUNvbnRlbnQsIHVzZXJMYW5ndWFnZSwgYXBwTGFuZ3VhZ2UpO1xuXG4gICAgLy8gNS4gU3RvcmUgd2l0aCBmdWxsIGxvY2FsZVxuICAgIGF3YWl0IHN0b3JlVHJhbnNsYXRpb24oa2V5LCB0cmFuc2xhdGVkQ29udGVudCwgdXNlckxvY2FsZSk7XG5cbiAgICBjb25zb2xlLmxvZyhgVHJhbnNsYXRpb24gY29tcGxldGU6ICR7dHJhbnNsYXRlZENvbnRlbnR9YCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5sb2coJ05vIHRyYW5zbGF0aW9uIG5lZWRlZCAtIHNhbWUgbGFuZ3VhZ2UnKTtcbiAgfVxufTtcblxuLy8gUnVuIGV4YW1wbGVzXG5leHBvcnQgY29uc3QgcnVuTG9jYWxlRXhhbXBsZXMgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnNvbGUubG9nKCdMb2NhbGUgVXRpbGl0aWVzIEV4YW1wbGVzXFxuJyk7XG5cbiAgLy8gUnVuIHN5bmNocm9ub3VzIGV4YW1wbGVzXG4gIGNvbnNvbGUubG9nKCdTeW5jaHJvbm91cyBleGFtcGxlcyBjb21wbGV0ZWQgYWJvdmUnKTtcblxuICAvLyBSdW4gYXN5bmMgZXhhbXBsZXNcbiAgYXdhaXQgZ2V0Q29udGVudFdpdGhGYWxsYmFjaygnd2VsY29tZV9tZXNzYWdlJywgJ2VzLW14Jyk7XG4gIGF3YWl0IGNvbXBsZXRlVHJhbnNsYXRpb25Xb3JrZmxvdygpO1xuXG4gIGNvbnNvbGUubG9nKCdcXG49PT0gRXhhbXBsZSBDb21wbGV0ZSA9PT0nKTtcbn07XG5cbi8vIFVuY29tbWVudCB0byBydW4gZXhhbXBsZXNcbi8vIHJ1bkxvY2FsZUV4YW1wbGVzKCk7Il0sCiAgIm1hcHBpbmdzIjogIkFBS0EsT0FDRSxtQkFBQUEsRUFFQSx1QkFBQUMsRUFDQSx1QkFBQUMsRUFDQSxvQkFBQUMsTUFFSyxtQkFpQ1AsTUFBTUMsRUFBZ0IsTUFBT0MsRUFBY0MsRUFBc0JDLEVBQXVCLE9BQVMsQ0FFL0YsTUFBTUMsRUFBaUJSLEVBQWdCTSxDQUFZLEVBQzdDRyxFQUFpQlQsRUFBZ0JPLENBQVksRUFRbkQsTUFBTyxnQkFBZ0JGLENBQUksR0FDN0IsRUFHTUssRUFBbUIsTUFBT0MsRUFBYUMsRUFBaUJDLEtBU3JELENBQUMsSUFBQUYsRUFBSyxPQUFBRSxFQUFRLFFBQUFELENBQU8sR0FJeEJFLEVBQXlCLE1BQU9ILEVBQWFJLElBQTRCLENBTzdFLEdBQUdaLEVBQWlCWSxDQUFlLEVBQUcsQ0FDcEMsTUFBTUMsRUFBV2hCLEVBQWdCZSxDQUFlLENBS2xELENBS0EsTUFBTyxnQkFBZ0JKLENBQUcsT0FBT0ksQ0FBZSxHQUNsRCxFQVdNRSxFQUFtQmYsRUFBb0IsRUFPdkNnQixFQUFtQmpCLEVBQW9CLEVBSXZDa0IsRUFBOEIsU0FBWSxDQUc5QyxNQUFNUixFQUFNLGtCQUNOUyxFQUFhLFFBQ2JDLEVBQVksUUFHWkMsRUFBZXRCLEVBQWdCb0IsQ0FBVSxFQUN6Q0csRUFBY3ZCLEVBQWdCcUIsQ0FBUyxFQU03QyxHQUFHQyxJQUFpQkMsRUFBYSxDQUkvQixNQUFNQyxFQUFnQixNQUFNVixFQUF1QkgsRUFBS1UsQ0FBUyxFQUczREksRUFBb0IsTUFBTXJCLEVBQWNvQixFQUFlRixFQUFjQyxDQUFXLEVBR3RGLE1BQU1iLEVBQWlCQyxFQUFLYyxFQUFtQkwsQ0FBVSxDQUczRCxDQUdGLEVBR2FNLEVBQW9CLFNBQVksQ0FPM0MsTUFBTVosRUFBdUIsa0JBQW1CLE9BQU8sRUFDdkQsTUFBTUssRUFBNEIsQ0FHcEMiLAogICJuYW1lcyI6IFsiZXh0cmFjdExhbmd1YWdlIiwgImdldFByaW1hcnlMYW5ndWFnZXMiLCAiZ2V0U3VwcG9ydGVkTG9jYWxlcyIsICJpc1JlZ2lvbmFsTG9jYWxlIiwgInRyYW5zbGF0ZVRleHQiLCAidGV4dCIsICJ0YXJnZXRMb2NhbGUiLCAic291cmNlTG9jYWxlIiwgInRhcmdldExhbmd1YWdlIiwgInNvdXJjZUxhbmd1YWdlIiwgInN0b3JlVHJhbnNsYXRpb24iLCAia2V5IiwgImNvbnRlbnQiLCAibG9jYWxlIiwgImdldENvbnRlbnRXaXRoRmFsbGJhY2siLCAicmVxdWVzdGVkTG9jYWxlIiwgImxhbmd1YWdlIiwgInN1cHBvcnRlZExvY2FsZXMiLCAicHJpbWFyeUxhbmd1YWdlcyIsICJjb21wbGV0ZVRyYW5zbGF0aW9uV29ya2Zsb3ciLCAidXNlckxvY2FsZSIsICJhcHBMb2NhbGUiLCAidXNlckxhbmd1YWdlIiwgImFwcExhbmd1YWdlIiwgInNvdXJjZUNvbnRlbnQiLCAidHJhbnNsYXRlZENvbnRlbnQiLCAicnVuTG9jYWxlRXhhbXBsZXMiXQp9Cg==
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { extractLanguage, getFallbackChain, getPrimaryLanguages, getSupportedLocales, isRegionalLocale, isValidLocale } from './localeUtils.js';
5
+ /**
6
+ * Example: Locale Utilities with Regional Support
7
+ *
8
+ * This example demonstrates how to use the locale utilities for handling
9
+ * regional locales (e.g., "en-us", "es-mx") with language extraction
10
+ * for translation APIs while maintaining full locale support for
11
+ * time, currency, and other regional formatting.
12
+ */ // Example 1: Language Extraction for Translation APIs
13
+ console.log('=== Language Extraction Examples ===');
14
+ console.log(extractLanguage('en-us')); // 'en'
15
+ console.log(extractLanguage('es-mx')); // 'es'
16
+ console.log(extractLanguage('fr-ca')); // 'fr'
17
+ console.log(extractLanguage('en')); // 'en'
18
+ // Example 2: Regional Locale Detection
19
+ console.log('\n=== Regional Locale Detection ===');
20
+ console.log(isRegionalLocale('en-us')); // true
21
+ console.log(isRegionalLocale('es-mx')); // true
22
+ console.log(isRegionalLocale('en')); // false
23
+ console.log(isRegionalLocale('fr')); // false
24
+ // Example 3: Fallback Chain Generation
25
+ console.log('\n=== Fallback Chain Examples ===');
26
+ console.log(getFallbackChain('en-us')); // ['en-us', 'en']
27
+ console.log(getFallbackChain('es-mx')); // ['es-mx', 'es']
28
+ console.log(getFallbackChain('fr-ca')); // ['fr-ca', 'fr']
29
+ console.log(getFallbackChain('en')); // ['en']
30
+ // Example 4: Translation API Integration
31
+ const translateText = async (text, targetLocale, sourceLocale = 'en')=>{
32
+ // Extract language codes for translation API
33
+ const targetLanguage = extractLanguage(targetLocale);
34
+ const sourceLanguage = extractLanguage(sourceLocale);
35
+ console.log(`Translating from ${sourceLanguage} to ${targetLanguage}`);
36
+ console.log(`Full locales: ${sourceLocale} → ${targetLocale}`);
37
+ // Call translation API with language codes
38
+ // const result = await googleTranslateAPI.translate(text, targetLanguage, sourceLanguage);
39
+ return `[Translated: ${text}]`;
40
+ };
41
+ // Example 5: Database Storage Strategy
42
+ const storeTranslation = async (key, content, locale)=>{
43
+ // Store with full locale for regional support
44
+ console.log(`Storing translation for key "${key}" with locale "${locale}"`);
45
+ // Database record would include:
46
+ // - key: "welcome_message"
47
+ // - locale: "en-us" (full locale with region)
48
+ // - content: "Welcome to our US site!"
49
+ return {
50
+ key,
51
+ locale,
52
+ content
53
+ };
54
+ };
55
+ // Example 6: Content Retrieval with Fallback
56
+ const getContentWithFallback = async (key, requestedLocale)=>{
57
+ console.log(`\n=== Content Retrieval for "${key}" with locale "${requestedLocale}" ===`);
58
+ // 1. Try exact locale match first
59
+ console.log(`1. Trying exact match: ${requestedLocale}`);
60
+ // 2. If regional locale and no exact match, try language fallback
61
+ if (isRegionalLocale(requestedLocale)) {
62
+ const language = extractLanguage(requestedLocale);
63
+ console.log(`2. Trying language fallback: ${language}`);
64
+ // If found, store the regional version for future use
65
+ console.log(`3. Storing extracted content for ${requestedLocale}`);
66
+ }
67
+ // 3. If still no match, use app default locale
68
+ console.log('4. Falling back to app default locale');
69
+ return `[Content for ${key} in ${requestedLocale}]`;
70
+ };
71
+ // Example 7: Validation
72
+ console.log('\n=== Locale Validation ===');
73
+ console.log(isValidLocale('en-us')); // true
74
+ console.log(isValidLocale('es-mx')); // true
75
+ console.log(isValidLocale('invalid')); // false
76
+ console.log(isValidLocale('en-xx')); // false
77
+ // Example 8: Supported Locales
78
+ console.log('\n=== Supported Locales ===');
79
+ const supportedLocales = getSupportedLocales();
80
+ console.log(`Total supported locales: ${supportedLocales.length}`);
81
+ console.log('English variants:', supportedLocales.filter((l)=>l.startsWith('en')));
82
+ console.log('Spanish variants:', supportedLocales.filter((l)=>l.startsWith('es')));
83
+ // Example 9: Primary Languages
84
+ console.log('\n=== Primary Languages ===');
85
+ const primaryLanguages = getPrimaryLanguages();
86
+ console.log('Primary languages:', primaryLanguages);
87
+ // Example 10: Complete Workflow
88
+ const completeTranslationWorkflow = async ()=>{
89
+ console.log('\n=== Complete Translation Workflow ===');
90
+ const key = 'welcome_message';
91
+ const userLocale = 'es-mx'; // User's full locale
92
+ const appLocale = 'en-us'; // App's default locale
93
+ // 1. Extract language for translation API
94
+ const userLanguage = extractLanguage(userLocale);
95
+ const appLanguage = extractLanguage(appLocale);
96
+ console.log(`User locale: ${userLocale} (language: ${userLanguage})`);
97
+ console.log(`App locale: ${appLocale} (language: ${appLanguage})`);
98
+ // 2. Check if we need translation
99
+ if (userLanguage !== appLanguage) {
100
+ console.log('Translation needed!');
101
+ // 3. Get source content (from app locale)
102
+ const sourceContent = await getContentWithFallback(key, appLocale);
103
+ // 4. Translate using language codes
104
+ const translatedContent = await translateText(sourceContent, userLanguage, appLanguage);
105
+ // 5. Store with full locale
106
+ await storeTranslation(key, translatedContent, userLocale);
107
+ console.log(`Translation complete: ${translatedContent}`);
108
+ } else {
109
+ console.log('No translation needed - same language');
110
+ }
111
+ };
112
+ // Run examples
113
+ export const runLocaleExamples = async ()=>{
114
+ console.log('Locale Utilities Examples\n');
115
+ // Run synchronous examples
116
+ console.log('Synchronous examples completed above');
117
+ // Run async examples
118
+ await getContentWithFallback('welcome_message', 'es-mx');
119
+ await completeTranslationWorkflow();
120
+ console.log('\n=== Example Complete ===');
121
+ }; // Uncomment to run examples
122
+ // runLocaleExamples();
123
+
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2xvY2FsZVV0aWxzLmV4YW1wbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjUtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cblxuaW1wb3J0IHtcbiAgZXh0cmFjdExhbmd1YWdlLFxuICBnZXRGYWxsYmFja0NoYWluLFxuICBnZXRQcmltYXJ5TGFuZ3VhZ2VzLFxuICBnZXRTdXBwb3J0ZWRMb2NhbGVzLFxuICBpc1JlZ2lvbmFsTG9jYWxlLFxuICBpc1ZhbGlkTG9jYWxlXG59IGZyb20gJy4vbG9jYWxlVXRpbHMuanMnO1xuXG4vKipcbiAqIEV4YW1wbGU6IExvY2FsZSBVdGlsaXRpZXMgd2l0aCBSZWdpb25hbCBTdXBwb3J0XG4gKlxuICogVGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlcyBob3cgdG8gdXNlIHRoZSBsb2NhbGUgdXRpbGl0aWVzIGZvciBoYW5kbGluZ1xuICogcmVnaW9uYWwgbG9jYWxlcyAoZS5nLiwgXCJlbi11c1wiLCBcImVzLW14XCIpIHdpdGggbGFuZ3VhZ2UgZXh0cmFjdGlvblxuICogZm9yIHRyYW5zbGF0aW9uIEFQSXMgd2hpbGUgbWFpbnRhaW5pbmcgZnVsbCBsb2NhbGUgc3VwcG9ydCBmb3JcbiAqIHRpbWUsIGN1cnJlbmN5LCBhbmQgb3RoZXIgcmVnaW9uYWwgZm9ybWF0dGluZy5cbiAqL1xuXG4vLyBFeGFtcGxlIDE6IExhbmd1YWdlIEV4dHJhY3Rpb24gZm9yIFRyYW5zbGF0aW9uIEFQSXNcbmNvbnNvbGUubG9nKCc9PT0gTGFuZ3VhZ2UgRXh0cmFjdGlvbiBFeGFtcGxlcyA9PT0nKTtcbmNvbnNvbGUubG9nKGV4dHJhY3RMYW5ndWFnZSgnZW4tdXMnKSk7IC8vICdlbidcbmNvbnNvbGUubG9nKGV4dHJhY3RMYW5ndWFnZSgnZXMtbXgnKSk7IC8vICdlcydcbmNvbnNvbGUubG9nKGV4dHJhY3RMYW5ndWFnZSgnZnItY2EnKSk7IC8vICdmcidcbmNvbnNvbGUubG9nKGV4dHJhY3RMYW5ndWFnZSgnZW4nKSk7IC8vICdlbidcblxuLy8gRXhhbXBsZSAyOiBSZWdpb25hbCBMb2NhbGUgRGV0ZWN0aW9uXG5jb25zb2xlLmxvZygnXFxuPT09IFJlZ2lvbmFsIExvY2FsZSBEZXRlY3Rpb24gPT09Jyk7XG5jb25zb2xlLmxvZyhpc1JlZ2lvbmFsTG9jYWxlKCdlbi11cycpKTsgLy8gdHJ1ZVxuY29uc29sZS5sb2coaXNSZWdpb25hbExvY2FsZSgnZXMtbXgnKSk7IC8vIHRydWVcbmNvbnNvbGUubG9nKGlzUmVnaW9uYWxMb2NhbGUoJ2VuJykpOyAvLyBmYWxzZVxuY29uc29sZS5sb2coaXNSZWdpb25hbExvY2FsZSgnZnInKSk7IC8vIGZhbHNlXG5cbi8vIEV4YW1wbGUgMzogRmFsbGJhY2sgQ2hhaW4gR2VuZXJhdGlvblxuY29uc29sZS5sb2coJ1xcbj09PSBGYWxsYmFjayBDaGFpbiBFeGFtcGxlcyA9PT0nKTtcbmNvbnNvbGUubG9nKGdldEZhbGxiYWNrQ2hhaW4oJ2VuLXVzJykpOyAvLyBbJ2VuLXVzJywgJ2VuJ11cbmNvbnNvbGUubG9nKGdldEZhbGxiYWNrQ2hhaW4oJ2VzLW14JykpOyAvLyBbJ2VzLW14JywgJ2VzJ11cbmNvbnNvbGUubG9nKGdldEZhbGxiYWNrQ2hhaW4oJ2ZyLWNhJykpOyAvLyBbJ2ZyLWNhJywgJ2ZyJ11cbmNvbnNvbGUubG9nKGdldEZhbGxiYWNrQ2hhaW4oJ2VuJykpOyAvLyBbJ2VuJ11cblxuLy8gRXhhbXBsZSA0OiBUcmFuc2xhdGlvbiBBUEkgSW50ZWdyYXRpb25cbmNvbnN0IHRyYW5zbGF0ZVRleHQgPSBhc3luYyAodGV4dDogc3RyaW5nLCB0YXJnZXRMb2NhbGU6IHN0cmluZywgc291cmNlTG9jYWxlOiBzdHJpbmcgPSAnZW4nKSA9PiB7XG4gIC8vIEV4dHJhY3QgbGFuZ3VhZ2UgY29kZXMgZm9yIHRyYW5zbGF0aW9uIEFQSVxuICBjb25zdCB0YXJnZXRMYW5ndWFnZSA9IGV4dHJhY3RMYW5ndWFnZSh0YXJnZXRMb2NhbGUpO1xuICBjb25zdCBzb3VyY2VMYW5ndWFnZSA9IGV4dHJhY3RMYW5ndWFnZShzb3VyY2VMb2NhbGUpO1xuXG4gIGNvbnNvbGUubG9nKGBUcmFuc2xhdGluZyBmcm9tICR7c291cmNlTGFuZ3VhZ2V9IHRvICR7dGFyZ2V0TGFuZ3VhZ2V9YCk7XG4gIGNvbnNvbGUubG9nKGBGdWxsIGxvY2FsZXM6ICR7c291cmNlTG9jYWxlfSDihpIgJHt0YXJnZXRMb2NhbGV9YCk7XG5cbiAgLy8gQ2FsbCB0cmFuc2xhdGlvbiBBUEkgd2l0aCBsYW5ndWFnZSBjb2Rlc1xuICAvLyBjb25zdCByZXN1bHQgPSBhd2FpdCBnb29nbGVUcmFuc2xhdGVBUEkudHJhbnNsYXRlKHRleHQsIHRhcmdldExhbmd1YWdlLCBzb3VyY2VMYW5ndWFnZSk7XG5cbiAgcmV0dXJuIGBbVHJhbnNsYXRlZDogJHt0ZXh0fV1gO1xufTtcblxuLy8gRXhhbXBsZSA1OiBEYXRhYmFzZSBTdG9yYWdlIFN0cmF0ZWd5XG5jb25zdCBzdG9yZVRyYW5zbGF0aW9uID0gYXN5bmMgKGtleTogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIGxvY2FsZTogc3RyaW5nKSA9PiB7XG4gIC8vIFN0b3JlIHdpdGggZnVsbCBsb2NhbGUgZm9yIHJlZ2lvbmFsIHN1cHBvcnRcbiAgY29uc29sZS5sb2coYFN0b3JpbmcgdHJhbnNsYXRpb24gZm9yIGtleSBcIiR7a2V5fVwiIHdpdGggbG9jYWxlIFwiJHtsb2NhbGV9XCJgKTtcblxuICAvLyBEYXRhYmFzZSByZWNvcmQgd291bGQgaW5jbHVkZTpcbiAgLy8gLSBrZXk6IFwid2VsY29tZV9tZXNzYWdlXCJcbiAgLy8gLSBsb2NhbGU6IFwiZW4tdXNcIiAoZnVsbCBsb2NhbGUgd2l0aCByZWdpb24pXG4gIC8vIC0gY29udGVudDogXCJXZWxjb21lIHRvIG91ciBVUyBzaXRlIVwiXG5cbiAgcmV0dXJuIHtrZXksIGxvY2FsZSwgY29udGVudH07XG59O1xuXG4vLyBFeGFtcGxlIDY6IENvbnRlbnQgUmV0cmlldmFsIHdpdGggRmFsbGJhY2tcbmNvbnN0IGdldENvbnRlbnRXaXRoRmFsbGJhY2sgPSBhc3luYyAoa2V5OiBzdHJpbmcsIHJlcXVlc3RlZExvY2FsZTogc3RyaW5nKSA9PiB7XG4gIGNvbnNvbGUubG9nKGBcXG49PT0gQ29udGVudCBSZXRyaWV2YWwgZm9yIFwiJHtrZXl9XCIgd2l0aCBsb2NhbGUgXCIke3JlcXVlc3RlZExvY2FsZX1cIiA9PT1gKTtcblxuICAvLyAxLiBUcnkgZXhhY3QgbG9jYWxlIG1hdGNoIGZpcnN0XG4gIGNvbnNvbGUubG9nKGAxLiBUcnlpbmcgZXhhY3QgbWF0Y2g6ICR7cmVxdWVzdGVkTG9jYWxlfWApO1xuXG4gIC8vIDIuIElmIHJlZ2lvbmFsIGxvY2FsZSBhbmQgbm8gZXhhY3QgbWF0Y2gsIHRyeSBsYW5ndWFnZSBmYWxsYmFja1xuICBpZihpc1JlZ2lvbmFsTG9jYWxlKHJlcXVlc3RlZExvY2FsZSkpIHtcbiAgICBjb25zdCBsYW5ndWFnZSA9IGV4dHJhY3RMYW5ndWFnZShyZXF1ZXN0ZWRMb2NhbGUpO1xuICAgIGNvbnNvbGUubG9nKGAyLiBUcnlpbmcgbGFuZ3VhZ2UgZmFsbGJhY2s6ICR7bGFuZ3VhZ2V9YCk7XG5cbiAgICAvLyBJZiBmb3VuZCwgc3RvcmUgdGhlIHJlZ2lvbmFsIHZlcnNpb24gZm9yIGZ1dHVyZSB1c2VcbiAgICBjb25zb2xlLmxvZyhgMy4gU3RvcmluZyBleHRyYWN0ZWQgY29udGVudCBmb3IgJHtyZXF1ZXN0ZWRMb2NhbGV9YCk7XG4gIH1cblxuICAvLyAzLiBJZiBzdGlsbCBubyBtYXRjaCwgdXNlIGFwcCBkZWZhdWx0IGxvY2FsZVxuICBjb25zb2xlLmxvZygnNC4gRmFsbGluZyBiYWNrIHRvIGFwcCBkZWZhdWx0IGxvY2FsZScpO1xuXG4gIHJldHVybiBgW0NvbnRlbnQgZm9yICR7a2V5fSBpbiAke3JlcXVlc3RlZExvY2FsZX1dYDtcbn07XG5cbi8vIEV4YW1wbGUgNzogVmFsaWRhdGlvblxuY29uc29sZS5sb2coJ1xcbj09PSBMb2NhbGUgVmFsaWRhdGlvbiA9PT0nKTtcbmNvbnNvbGUubG9nKGlzVmFsaWRMb2NhbGUoJ2VuLXVzJykpOyAvLyB0cnVlXG5jb25zb2xlLmxvZyhpc1ZhbGlkTG9jYWxlKCdlcy1teCcpKTsgLy8gdHJ1ZVxuY29uc29sZS5sb2coaXNWYWxpZExvY2FsZSgnaW52YWxpZCcpKTsgLy8gZmFsc2VcbmNvbnNvbGUubG9nKGlzVmFsaWRMb2NhbGUoJ2VuLXh4JykpOyAvLyBmYWxzZVxuXG4vLyBFeGFtcGxlIDg6IFN1cHBvcnRlZCBMb2NhbGVzXG5jb25zb2xlLmxvZygnXFxuPT09IFN1cHBvcnRlZCBMb2NhbGVzID09PScpO1xuY29uc3Qgc3VwcG9ydGVkTG9jYWxlcyA9IGdldFN1cHBvcnRlZExvY2FsZXMoKTtcbmNvbnNvbGUubG9nKGBUb3RhbCBzdXBwb3J0ZWQgbG9jYWxlczogJHtzdXBwb3J0ZWRMb2NhbGVzLmxlbmd0aH1gKTtcbmNvbnNvbGUubG9nKCdFbmdsaXNoIHZhcmlhbnRzOicsIHN1cHBvcnRlZExvY2FsZXMuZmlsdGVyKChsKSA9PiBsLnN0YXJ0c1dpdGgoJ2VuJykpKTtcbmNvbnNvbGUubG9nKCdTcGFuaXNoIHZhcmlhbnRzOicsIHN1cHBvcnRlZExvY2FsZXMuZmlsdGVyKChsKSA9PiBsLnN0YXJ0c1dpdGgoJ2VzJykpKTtcblxuLy8gRXhhbXBsZSA5OiBQcmltYXJ5IExhbmd1YWdlc1xuY29uc29sZS5sb2coJ1xcbj09PSBQcmltYXJ5IExhbmd1YWdlcyA9PT0nKTtcbmNvbnN0IHByaW1hcnlMYW5ndWFnZXMgPSBnZXRQcmltYXJ5TGFuZ3VhZ2VzKCk7XG5jb25zb2xlLmxvZygnUHJpbWFyeSBsYW5ndWFnZXM6JywgcHJpbWFyeUxhbmd1YWdlcyk7XG5cbi8vIEV4YW1wbGUgMTA6IENvbXBsZXRlIFdvcmtmbG93XG5jb25zdCBjb21wbGV0ZVRyYW5zbGF0aW9uV29ya2Zsb3cgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnNvbGUubG9nKCdcXG49PT0gQ29tcGxldGUgVHJhbnNsYXRpb24gV29ya2Zsb3cgPT09Jyk7XG5cbiAgY29uc3Qga2V5ID0gJ3dlbGNvbWVfbWVzc2FnZSc7XG4gIGNvbnN0IHVzZXJMb2NhbGUgPSAnZXMtbXgnOyAvLyBVc2VyJ3MgZnVsbCBsb2NhbGVcbiAgY29uc3QgYXBwTG9jYWxlID0gJ2VuLXVzJzsgLy8gQXBwJ3MgZGVmYXVsdCBsb2NhbGVcblxuICAvLyAxLiBFeHRyYWN0IGxhbmd1YWdlIGZvciB0cmFuc2xhdGlvbiBBUElcbiAgY29uc3QgdXNlckxhbmd1YWdlID0gZXh0cmFjdExhbmd1YWdlKHVzZXJMb2NhbGUpO1xuICBjb25zdCBhcHBMYW5ndWFnZSA9IGV4dHJhY3RMYW5ndWFnZShhcHBMb2NhbGUpO1xuXG4gIGNvbnNvbGUubG9nKGBVc2VyIGxvY2FsZTogJHt1c2VyTG9jYWxlfSAobGFuZ3VhZ2U6ICR7dXNlckxhbmd1YWdlfSlgKTtcbiAgY29uc29sZS5sb2coYEFwcCBsb2NhbGU6ICR7YXBwTG9jYWxlfSAobGFuZ3VhZ2U6ICR7YXBwTGFuZ3VhZ2V9KWApO1xuXG4gIC8vIDIuIENoZWNrIGlmIHdlIG5lZWQgdHJhbnNsYXRpb25cbiAgaWYodXNlckxhbmd1YWdlICE9PSBhcHBMYW5ndWFnZSkge1xuICAgIGNvbnNvbGUubG9nKCdUcmFuc2xhdGlvbiBuZWVkZWQhJyk7XG5cbiAgICAvLyAzLiBHZXQgc291cmNlIGNvbnRlbnQgKGZyb20gYXBwIGxvY2FsZSlcbiAgICBjb25zdCBzb3VyY2VDb250ZW50ID0gYXdhaXQgZ2V0Q29udGVudFdpdGhGYWxsYmFjayhrZXksIGFwcExvY2FsZSk7XG5cbiAgICAvLyA0LiBUcmFuc2xhdGUgdXNpbmcgbGFuZ3VhZ2UgY29kZXNcbiAgICBjb25zdCB0cmFuc2xhdGVkQ29udGVudCA9IGF3YWl0IHRyYW5zbGF0ZVRleHQoc291cmNlQ29udGVudCwgdXNlckxhbmd1YWdlLCBhcHBMYW5ndWFnZSk7XG5cbiAgICAvLyA1LiBTdG9yZSB3aXRoIGZ1bGwgbG9jYWxlXG4gICAgYXdhaXQgc3RvcmVUcmFuc2xhdGlvbihrZXksIHRyYW5zbGF0ZWRDb250ZW50LCB1c2VyTG9jYWxlKTtcblxuICAgIGNvbnNvbGUubG9nKGBUcmFuc2xhdGlvbiBjb21wbGV0ZTogJHt0cmFuc2xhdGVkQ29udGVudH1gKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmxvZygnTm8gdHJhbnNsYXRpb24gbmVlZGVkIC0gc2FtZSBsYW5ndWFnZScpO1xuICB9XG59O1xuXG4vLyBSdW4gZXhhbXBsZXNcbmV4cG9ydCBjb25zdCBydW5Mb2NhbGVFeGFtcGxlcyA9IGFzeW5jICgpID0+IHtcbiAgY29uc29sZS5sb2coJ0xvY2FsZSBVdGlsaXRpZXMgRXhhbXBsZXNcXG4nKTtcblxuICAvLyBSdW4gc3luY2hyb25vdXMgZXhhbXBsZXNcbiAgY29uc29sZS5sb2coJ1N5bmNocm9ub3VzIGV4YW1wbGVzIGNvbXBsZXRlZCBhYm92ZScpO1xuXG4gIC8vIFJ1biBhc3luYyBleGFtcGxlc1xuICBhd2FpdCBnZXRDb250ZW50V2l0aEZhbGxiYWNrKCd3ZWxjb21lX21lc3NhZ2UnLCAnZXMtbXgnKTtcbiAgYXdhaXQgY29tcGxldGVUcmFuc2xhdGlvbldvcmtmbG93KCk7XG5cbiAgY29uc29sZS5sb2coJ1xcbj09PSBFeGFtcGxlIENvbXBsZXRlID09PScpO1xufTtcblxuLy8gVW5jb21tZW50IHRvIHJ1biBleGFtcGxlc1xuLy8gcnVuTG9jYWxlRXhhbXBsZXMoKTsiXSwibmFtZXMiOlsiZXh0cmFjdExhbmd1YWdlIiwiZ2V0RmFsbGJhY2tDaGFpbiIsImdldFByaW1hcnlMYW5ndWFnZXMiLCJnZXRTdXBwb3J0ZWRMb2NhbGVzIiwiaXNSZWdpb25hbExvY2FsZSIsImlzVmFsaWRMb2NhbGUiLCJjb25zb2xlIiwibG9nIiwidHJhbnNsYXRlVGV4dCIsInRleHQiLCJ0YXJnZXRMb2NhbGUiLCJzb3VyY2VMb2NhbGUiLCJ0YXJnZXRMYW5ndWFnZSIsInNvdXJjZUxhbmd1YWdlIiwic3RvcmVUcmFuc2xhdGlvbiIsImtleSIsImNvbnRlbnQiLCJsb2NhbGUiLCJnZXRDb250ZW50V2l0aEZhbGxiYWNrIiwicmVxdWVzdGVkTG9jYWxlIiwibGFuZ3VhZ2UiLCJzdXBwb3J0ZWRMb2NhbGVzIiwibGVuZ3RoIiwiZmlsdGVyIiwibCIsInN0YXJ0c1dpdGgiLCJwcmltYXJ5TGFuZ3VhZ2VzIiwiY29tcGxldGVUcmFuc2xhdGlvbldvcmtmbG93IiwidXNlckxvY2FsZSIsImFwcExvY2FsZSIsInVzZXJMYW5ndWFnZSIsImFwcExhbmd1YWdlIiwic291cmNlQ29udGVudCIsInRyYW5zbGF0ZWRDb250ZW50IiwicnVuTG9jYWxlRXhhbXBsZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUVELFNBQ0VBLGVBQWUsRUFDZkMsZ0JBQWdCLEVBQ2hCQyxtQkFBbUIsRUFDbkJDLG1CQUFtQixFQUNuQkMsZ0JBQWdCLEVBQ2hCQyxhQUFhLFFBQ1IsbUJBQW1CO0FBRTFCOzs7Ozs7O0NBT0MsR0FFRCxzREFBc0Q7QUFDdERDLFFBQVFDLEdBQUcsQ0FBQztBQUNaRCxRQUFRQyxHQUFHLENBQUNQLGdCQUFnQixXQUFXLE9BQU87QUFDOUNNLFFBQVFDLEdBQUcsQ0FBQ1AsZ0JBQWdCLFdBQVcsT0FBTztBQUM5Q00sUUFBUUMsR0FBRyxDQUFDUCxnQkFBZ0IsV0FBVyxPQUFPO0FBQzlDTSxRQUFRQyxHQUFHLENBQUNQLGdCQUFnQixRQUFRLE9BQU87QUFFM0MsdUNBQXVDO0FBQ3ZDTSxRQUFRQyxHQUFHLENBQUM7QUFDWkQsUUFBUUMsR0FBRyxDQUFDSCxpQkFBaUIsV0FBVyxPQUFPO0FBQy9DRSxRQUFRQyxHQUFHLENBQUNILGlCQUFpQixXQUFXLE9BQU87QUFDL0NFLFFBQVFDLEdBQUcsQ0FBQ0gsaUJBQWlCLFFBQVEsUUFBUTtBQUM3Q0UsUUFBUUMsR0FBRyxDQUFD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
@@ -1,2 +1,71 @@
1
- const s=e=>e.split("-")[0],n=e=>e.includes("-"),r=e=>{const t=s(e);return n(e)?[e,t]:[e]},a=()=>["en","es","fr","de","pt","it"],o=e=>["en","en-us","en-gb","en-ca","en-au","es","es-mx","es-es","es-ar","fr","fr-fr","fr-ca","de","de-de","de-at","pt","pt-br","pt-pt","it","it-it"].includes(e),i=()=>["en","en-us","en-gb","en-ca","en-au","es","es-mx","es-es","es-ar","fr","fr-fr","fr-ca","de","de-de","de-at","pt","pt-br","pt-pt","it","it-it"];export{s as extractLanguage,r as getFallbackChain,a as getPrimaryLanguages,i as getSupportedLocales,n as isRegionalLocale,o as isValidLocale};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2xvY2FsZVV0aWxzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHR5cGUge0xvY2FsZX0gZnJvbSAnLi4vdHlwZXMvY29udGVudC50eXBlcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0TGFuZ3VhZ2UgPSAobG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcgPT4gbG9jYWxlLnNwbGl0KCctJylbMF07XG5cbmV4cG9ydCBjb25zdCBpc1JlZ2lvbmFsTG9jYWxlID0gKGxvY2FsZTogc3RyaW5nKTogYm9vbGVhbiA9PiBsb2NhbGUuaW5jbHVkZXMoJy0nKTtcblxuZXhwb3J0IGNvbnN0IGdldEZhbGxiYWNrQ2hhaW4gPSAobG9jYWxlOiBzdHJpbmcpOiBzdHJpbmdbXSA9PiB7XG4gIGNvbnN0IGxhbmd1YWdlID0gZXh0cmFjdExhbmd1YWdlKGxvY2FsZSk7XG4gIHJldHVybiBpc1JlZ2lvbmFsTG9jYWxlKGxvY2FsZSkgPyBbbG9jYWxlLCBsYW5ndWFnZV0gOiBbbG9jYWxlXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQcmltYXJ5TGFuZ3VhZ2VzID0gKCk6IHN0cmluZ1tdID0+IFsnZW4nLCAnZXMnLCAnZnInLCAnZGUnLCAncHQnLCAnaXQnXTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRMb2NhbGUgPSAobG9jYWxlOiBzdHJpbmcpOiBsb2NhbGUgaXMgTG9jYWxlID0+IHtcbiAgY29uc3QgdmFsaWRMb2NhbGVzOiBMb2NhbGVbXSA9IFtcbiAgICAnZW4nLCAnZW4tdXMnLCAnZW4tZ2InLCAnZW4tY2EnLCAnZW4tYXUnLFxuICAgICdlcycsICdlcy1teCcsICdlcy1lcycsICdlcy1hcicsXG4gICAgJ2ZyJywgJ2ZyLWZyJywgJ2ZyLWNhJyxcbiAgICAnZGUnLCAnZGUtZGUnLCAnZGUtYXQnLFxuICAgICdwdCcsICdwdC1icicsICdwdC1wdCcsXG4gICAgJ2l0JywgJ2l0LWl0J1xuICBdO1xuICByZXR1cm4gdmFsaWRMb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSBhcyBMb2NhbGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFN1cHBvcnRlZExvY2FsZXMgPSAoKTogTG9jYWxlW10gPT4gW1xuICAnZW4nLCAnZW4tdXMnLCAnZW4tZ2InLCAnZW4tY2EnLCAnZW4tYXUnLFxuICAnZXMnLCAnZXMtbXgnLCAnZXMtZXMnLCAnZXMtYXInLFxuICAnZnInLCAnZnItZnInLCAnZnItY2EnLFxuICAnZGUnLCAnZGUtZGUnLCAnZGUtYXQnLFxuICAncHQnLCAncHQtYnInLCAncHQtcHQnLFxuICAnaXQnLCAnaXQtaXQnXG5dOyJdLAogICJtYXBwaW5ncyI6ICJBQU1PLE1BQU1BLEVBQW1CQyxHQUEyQkEsRUFBTyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBRWpFQyxFQUFvQkQsR0FBNEJBLEVBQU8sU0FBUyxHQUFHLEVBRW5FRSxFQUFvQkYsR0FBNkIsQ0FDNUQsTUFBTUcsRUFBV0osRUFBZ0JDLENBQU0sRUFDdkMsT0FBT0MsRUFBaUJELENBQU0sRUFBSSxDQUFDQSxFQUFRRyxDQUFRLEVBQUksQ0FBQ0gsQ0FBTSxDQUNoRSxFQUVhSSxFQUFzQixJQUFnQixDQUFDLEtBQU0sS0FBTSxLQUFNLEtBQU0sS0FBTSxJQUFJLEVBRXpFQyxFQUFpQkwsR0FDRyxDQUM3QixLQUFNLFFBQVMsUUFBUyxRQUFTLFFBQ2pDLEtBQU0sUUFBUyxRQUFTLFFBQ3hCLEtBQU0sUUFBUyxRQUNmLEtBQU0sUUFBUyxRQUNmLEtBQU0sUUFBUyxRQUNmLEtBQU0sT0FDUixFQUNvQixTQUFTQSxDQUFnQixFQUdsQ00sRUFBc0IsSUFBZ0IsQ0FDakQsS0FBTSxRQUFTLFFBQVMsUUFBUyxRQUNqQyxLQUFNLFFBQVMsUUFBUyxRQUN4QixLQUFNLFFBQVMsUUFDZixLQUFNLFFBQVMsUUFDZixLQUFNLFFBQVMsUUFDZixLQUFNLE9BQ1IiLAogICJuYW1lcyI6IFsiZXh0cmFjdExhbmd1YWdlIiwgImxvY2FsZSIsICJpc1JlZ2lvbmFsTG9jYWxlIiwgImdldEZhbGxiYWNrQ2hhaW4iLCAibGFuZ3VhZ2UiLCAiZ2V0UHJpbWFyeUxhbmd1YWdlcyIsICJpc1ZhbGlkTG9jYWxlIiwgImdldFN1cHBvcnRlZExvY2FsZXMiXQp9Cg==
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ export const extractLanguage = (locale)=>locale.split('-')[0];
5
+ export const isRegionalLocale = (locale)=>locale.includes('-');
6
+ export const getFallbackChain = (locale)=>{
7
+ const language = extractLanguage(locale);
8
+ return isRegionalLocale(locale) ? [
9
+ locale,
10
+ language
11
+ ] : [
12
+ locale
13
+ ];
14
+ };
15
+ export const getPrimaryLanguages = ()=>[
16
+ 'en',
17
+ 'es',
18
+ 'fr',
19
+ 'de',
20
+ 'pt',
21
+ 'it'
22
+ ];
23
+ export const isValidLocale = (locale)=>{
24
+ const validLocales = [
25
+ 'en',
26
+ 'en-us',
27
+ 'en-gb',
28
+ 'en-ca',
29
+ 'en-au',
30
+ 'es',
31
+ 'es-mx',
32
+ 'es-es',
33
+ 'es-ar',
34
+ 'fr',
35
+ 'fr-fr',
36
+ 'fr-ca',
37
+ 'de',
38
+ 'de-de',
39
+ 'de-at',
40
+ 'pt',
41
+ 'pt-br',
42
+ 'pt-pt',
43
+ 'it',
44
+ 'it-it'
45
+ ];
46
+ return validLocales.includes(locale);
47
+ };
48
+ export const getSupportedLocales = ()=>[
49
+ 'en',
50
+ 'en-us',
51
+ 'en-gb',
52
+ 'en-ca',
53
+ 'en-au',
54
+ 'es',
55
+ 'es-mx',
56
+ 'es-es',
57
+ 'es-ar',
58
+ 'fr',
59
+ 'fr-fr',
60
+ 'fr-ca',
61
+ 'de',
62
+ 'de-de',
63
+ 'de-at',
64
+ 'pt',
65
+ 'pt-br',
66
+ 'pt-pt',
67
+ 'it',
68
+ 'it-it'
69
+ ];
70
+
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2xvY2FsZVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI1LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgdHlwZSB7TG9jYWxlfSBmcm9tICcuLi90eXBlcy9jb250ZW50LnR5cGVzLmpzJztcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RMYW5ndWFnZSA9IChsb2NhbGU6IHN0cmluZyk6IHN0cmluZyA9PiBsb2NhbGUuc3BsaXQoJy0nKVswXTtcblxuZXhwb3J0IGNvbnN0IGlzUmVnaW9uYWxMb2NhbGUgPSAobG9jYWxlOiBzdHJpbmcpOiBib29sZWFuID0+IGxvY2FsZS5pbmNsdWRlcygnLScpO1xuXG5leHBvcnQgY29uc3QgZ2V0RmFsbGJhY2tDaGFpbiA9IChsb2NhbGU6IHN0cmluZyk6IHN0cmluZ1tdID0+IHtcbiAgY29uc3QgbGFuZ3VhZ2UgPSBleHRyYWN0TGFuZ3VhZ2UobG9jYWxlKTtcbiAgcmV0dXJuIGlzUmVnaW9uYWxMb2NhbGUobG9jYWxlKSA/IFtsb2NhbGUsIGxhbmd1YWdlXSA6IFtsb2NhbGVdO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFByaW1hcnlMYW5ndWFnZXMgPSAoKTogc3RyaW5nW10gPT4gWydlbicsICdlcycsICdmcicsICdkZScsICdwdCcsICdpdCddO1xuXG5leHBvcnQgY29uc3QgaXNWYWxpZExvY2FsZSA9IChsb2NhbGU6IHN0cmluZyk6IGxvY2FsZSBpcyBMb2NhbGUgPT4ge1xuICBjb25zdCB2YWxpZExvY2FsZXM6IExvY2FsZVtdID0gW1xuICAgICdlbicsICdlbi11cycsICdlbi1nYicsICdlbi1jYScsICdlbi1hdScsXG4gICAgJ2VzJywgJ2VzLW14JywgJ2VzLWVzJywgJ2VzLWFyJyxcbiAgICAnZnInLCAnZnItZnInLCAnZnItY2EnLFxuICAgICdkZScsICdkZS1kZScsICdkZS1hdCcsXG4gICAgJ3B0JywgJ3B0LWJyJywgJ3B0LXB0JyxcbiAgICAnaXQnLCAnaXQtaXQnXG4gIF07XG4gIHJldHVybiB2YWxpZExvY2FsZXMuaW5jbHVkZXMobG9jYWxlIGFzIExvY2FsZSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3VwcG9ydGVkTG9jYWxlcyA9ICgpOiBMb2NhbGVbXSA9PiBbXG4gICdlbicsICdlbi11cycsICdlbi1nYicsICdlbi1jYScsICdlbi1hdScsXG4gICdlcycsICdlcy1teCcsICdlcy1lcycsICdlcy1hcicsXG4gICdmcicsICdmci1mcicsICdmci1jYScsXG4gICdkZScsICdkZS1kZScsICdkZS1hdCcsXG4gICdwdCcsICdwdC1icicsICdwdC1wdCcsXG4gICdpdCcsICdpdC1pdCdcbl07Il0sIm5hbWVzIjpbImV4dHJhY3RMYW5ndWFnZSIsImxvY2FsZSIsInNwbGl0IiwiaXNSZWdpb25hbExvY2FsZSIsImluY2x1ZGVzIiwiZ2V0RmFsbGJhY2tDaGFpbiIsImxhbmd1YWdlIiwiZ2V0UHJpbWFyeUxhbmd1YWdlcyIsImlzVmFsaWRMb2NhbGUiLCJ2YWxpZExvY2FsZXMiLCJnZXRTdXBwb3J0ZWRMb2NhbGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FHRCxPQUFPLE1BQU1BLGtCQUFrQixDQUFDQyxTQUEyQkEsT0FBT0MsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7QUFFaEYsT0FBTyxNQUFNQyxtQkFBbUIsQ0FBQ0YsU0FBNEJBLE9BQU9HLFFBQVEsQ0FBQyxLQUFLO0FBRWxGLE9BQU8sTUFBTUMsbUJBQW1CLENBQUNKO0lBQy9CLE1BQU1LLFdBQVdOLGdCQUFnQkM7SUFDakMsT0FBT0UsaUJBQWlCRixVQUFVO1FBQUNBO1FBQVFLO0tBQVMsR0FBRztRQUFDTDtLQUFPO0FBQ2pFLEVBQUU7QUFFRixPQUFPLE1BQU1NLHNCQUFzQixJQUFnQjtRQUFDO1FBQU07UUFBTTtRQUFNO1FBQU07UUFBTTtLQUFLLENBQUM7QUFFeEYsT0FBTyxNQUFNQyxnQkFBZ0IsQ0FBQ1A7SUFDNUIsTUFBTVEsZUFBeUI7UUFDN0I7UUFBTTtRQUFTO1FBQVM7UUFBUztRQUNqQztRQUFNO1FBQVM7UUFBUztRQUN4QjtRQUFNO1FBQVM7UUFDZjtRQUFNO1FBQVM7UUFDZjtRQUFNO1FBQVM7UUFDZjtRQUFNO0tBQ1A7SUFDRCxPQUFPQSxhQUFhTCxRQUFRLENBQUNIO0FBQy9CLEVBQUU7QUFFRixPQUFPLE1BQU1TLHNCQUFzQixJQUFnQjtRQUNqRDtRQUFNO1FBQVM7UUFBUztRQUFTO1FBQ2pDO1FBQU07UUFBUztRQUFTO1FBQ3hCO1FBQU07UUFBUztRQUNmO1FBQU07UUFBUztRQUNmO1FBQU07UUFBUztRQUNmO1FBQU07S0FDUCxDQUFDIn0=
@@ -1,2 +1,3 @@
1
1
  import type { ApiContext } from '../types/auth.types.js';
2
2
  export declare const addFieldsToContext: (resolve: Function, parent: any, args: any, context: ApiContext, info: any) => any;
3
+ //# sourceMappingURL=middlewareUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewareUtils.d.ts","sourceRoot":"","sources":["../../src/utils/middlewareUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAEvD,eAAO,MAAM,kBAAkB,GAC7B,SAAS,QAAQ,EACjB,QAAQ,GAAG,EACX,MAAM,GAAG,EACT,SAAS,UAAU,EACnB,MAAM,GAAG,QAQV,CAAC"}
@@ -1,2 +1,10 @@
1
- import{getGqlFields as p}from"./arangodbUtils.js";const d=(e,o,n,i,t)=>{const s={...i,fields:p(t)};return e(o,n,s,t)};export{d as addFieldsToContext};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL21pZGRsZXdhcmVVdGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtnZXRHcWxGaWVsZHN9IGZyb20gJy4vYXJhbmdvZGJVdGlscy5qcyc7XG5cbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcblxuZXhwb3J0IGNvbnN0IGFkZEZpZWxkc1RvQ29udGV4dCA9IChcbiAgcmVzb2x2ZTogRnVuY3Rpb24sXG4gIHBhcmVudDogYW55LFxuICBhcmdzOiBhbnksXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGluZm86IGFueVxuKSA9PiB7XG4gIGNvbnN0IGNvbnRleHRXaXRoRmllbGRzID0ge1xuICAgIC4uLmNvbnRleHQsXG4gICAgZmllbGRzOiBnZXRHcWxGaWVsZHMoaW5mbylcbiAgfTtcblxuICByZXR1cm4gcmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGNvbnRleHRXaXRoRmllbGRzLCBpbmZvKTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxnQkFBQUEsTUFBbUIscUJBSXBCLE1BQU1DLEVBQXFCLENBQ2hDQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxJQUNHLENBQ0gsTUFBTUMsRUFBb0IsQ0FDeEIsR0FBR0YsRUFDSCxPQUFRTCxFQUFhTSxDQUFJLENBQzNCLEVBRUEsT0FBT0osRUFBUUMsRUFBUUMsRUFBTUcsRUFBbUJELENBQUksQ0FDdEQiLAogICJuYW1lcyI6IFsiZ2V0R3FsRmllbGRzIiwgImFkZEZpZWxkc1RvQ29udGV4dCIsICJyZXNvbHZlIiwgInBhcmVudCIsICJhcmdzIiwgImNvbnRleHQiLCAiaW5mbyIsICJjb250ZXh0V2l0aEZpZWxkcyJdCn0K
1
+ import { getGqlFields } from './arangodbUtils.js';
2
+ export const addFieldsToContext = (resolve, parent, args, context, info)=>{
3
+ const contextWithFields = {
4
+ ...context,
5
+ fields: getGqlFields(info)
6
+ };
7
+ return resolve(parent, args, contextWithFields, info);
8
+ };
9
+
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL21pZGRsZXdhcmVVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEdxbEZpZWxkc30gZnJvbSAnLi9hcmFuZ29kYlV0aWxzLmpzJztcblxuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG5leHBvcnQgY29uc3QgYWRkRmllbGRzVG9Db250ZXh0ID0gKFxuICByZXNvbHZlOiBGdW5jdGlvbixcbiAgcGFyZW50OiBhbnksXG4gIGFyZ3M6IGFueSxcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAgaW5mbzogYW55XG4pID0+IHtcbiAgY29uc3QgY29udGV4dFdpdGhGaWVsZHMgPSB7XG4gICAgLi4uY29udGV4dCxcbiAgICBmaWVsZHM6IGdldEdxbEZpZWxkcyhpbmZvKVxuICB9O1xuXG4gIHJldHVybiByZXNvbHZlKHBhcmVudCwgYXJncywgY29udGV4dFdpdGhGaWVsZHMsIGluZm8pO1xufTsiXSwibmFtZXMiOlsiZ2V0R3FsRmllbGRzIiwiYWRkRmllbGRzVG9Db250ZXh0IiwicmVzb2x2ZSIsInBhcmVudCIsImFyZ3MiLCJjb250ZXh0IiwiaW5mbyIsImNvbnRleHRXaXRoRmllbGRzIiwiZmllbGRzIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxZQUFZLFFBQU8scUJBQXFCO0FBSWhELE9BQU8sTUFBTUMscUJBQXFCLENBQ2hDQyxTQUNBQyxRQUNBQyxNQUNBQyxTQUNBQztJQUVBLE1BQU1DLG9CQUFvQjtRQUN4QixHQUFHRixPQUFPO1FBQ1ZHLFFBQVFSLGFBQWFNO0lBQ3ZCO0lBRUEsT0FBT0osUUFBUUMsUUFBUUMsTUFBTUcsbUJBQW1CRDtBQUNsRCxFQUFFIn0=
@@ -16,3 +16,4 @@ export type SessionToken = {
16
16
  export declare const setSession: (session: Session) => string;
17
17
  export declare const getSession: (token: string) => Session;
18
18
  export declare const isAdminUser: (session?: Session) => boolean;
19
+ //# sourceMappingURL=sessionUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionUtils.d.ts","sourceRoot":"","sources":["../../src/utils/sessionUtils.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,KAAG,MAAuD,CAAC;AAEtG,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,OAe1C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,UAAU,OAAO,KAAG,OAA0D,CAAC"}
@@ -1,2 +1,26 @@
1
- import r from"jsonwebtoken";const t=e=>r.sign(e,process.env.SESSION_SECRET),i=e=>{try{return r.verify(e,process.env.SESSION_SECRET)}catch(s){switch(s.message){case"jwt expired":throw new Error("expired_session");default:throw new Error("invalid_session")}}},a=e=>!!e?.userAccess&&e.userAccess>2;export{i as getSession,a as isAdminUser,t as setSession};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3Nlc3Npb25VdGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCBqd3QgZnJvbSAnanNvbndlYnRva2VuJztcblxuZXhwb3J0IHR5cGUgU2Vzc2lvbiA9IHtcbiAgcmVhZG9ubHkgZXJyb3JzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IGV4cD86IG51bWJlcjtcbiAgcmVhZG9ubHkgaWF0PzogbnVtYmVyO1xuICByZWFkb25seSB1c2VybmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlckFjY2Vzcz86IG51bWJlcjtcbiAgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBTZXNzaW9uVG9rZW4gPSB7XG4gIHJlYWRvbmx5IGV4cGlyZXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgaXNzdWVkOiBudW1iZXI7XG4gIHJlYWRvbmx5IHRva2VuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJJZDogc3RyaW5nO1xuICByZWFkb25seSB1c2VybmFtZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFNlc3Npb24gPSAoc2Vzc2lvbjogU2Vzc2lvbik6IHN0cmluZyA9PiBqd3Quc2lnbihzZXNzaW9uLCBwcm9jZXNzLmVudi5TRVNTSU9OX1NFQ1JFVCk7XG5cbmV4cG9ydCBjb25zdCBnZXRTZXNzaW9uID0gKHRva2VuOiBzdHJpbmcpOiBTZXNzaW9uID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gand0LnZlcmlmeSh0b2tlbiwgcHJvY2Vzcy5lbnYuU0VTU0lPTl9TRUNSRVQpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgc3dpdGNoKGVycm9yLm1lc3NhZ2UpIHtcbiAgICAgIGNhc2UgJ2p3dCBleHBpcmVkJzoge1xuICAgICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoJ2V4cGlyZWRfc2Vzc2lvbicpO1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcignaW52YWxpZF9zZXNzaW9uJyk7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpc0FkbWluVXNlciA9IChzZXNzaW9uPzogU2Vzc2lvbik6IGJvb2xlYW4gPT4gISFzZXNzaW9uPy51c2VyQWNjZXNzICYmIHNlc3Npb24udXNlckFjY2VzcyA+IDI7Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsT0FBT0EsTUFBUyxlQW1CVCxNQUFNQyxFQUFjQyxHQUE2QkYsRUFBSSxLQUFLRSxFQUFTLFFBQVEsSUFBSSxjQUFjLEVBRXZGQyxFQUFjQyxHQUEyQixDQUNwRCxHQUFJLENBQ0YsT0FBT0osRUFBSSxPQUFPSSxFQUFPLFFBQVEsSUFBSSxjQUFjLENBQ3JELE9BQVFDLEVBQU8sQ0FDYixPQUFPQSxFQUFNLFFBQVMsQ0FDcEIsSUFBSyxjQUVILE1BRFksSUFBSSxNQUFNLGlCQUFpQixFQUd6QyxRQUVFLE1BRFksSUFBSSxNQUFNLGlCQUFpQixDQUczQyxDQUNGLENBQ0YsRUFFYUMsRUFBZUosR0FBK0IsQ0FBQyxDQUFDQSxHQUFTLFlBQWNBLEVBQVEsV0FBYSIsCiAgIm5hbWVzIjogWyJqd3QiLCAic2V0U2Vzc2lvbiIsICJzZXNzaW9uIiwgImdldFNlc3Npb24iLCAidG9rZW4iLCAiZXJyb3IiLCAiaXNBZG1pblVzZXIiXQp9Cg==
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import jwt from 'jsonwebtoken';
5
+ export const setSession = (session)=>jwt.sign(session, process.env.SESSION_SECRET);
6
+ export const getSession = (token)=>{
7
+ try {
8
+ return jwt.verify(token, process.env.SESSION_SECRET);
9
+ } catch (error) {
10
+ switch(error.message){
11
+ case 'jwt expired':
12
+ {
13
+ const err = new Error('expired_session');
14
+ throw err;
15
+ }
16
+ default:
17
+ {
18
+ const err = new Error('invalid_session');
19
+ throw err;
20
+ }
21
+ }
22
+ }
23
+ };
24
+ export const isAdminUser = (session)=>!!session?.userAccess && session.userAccess > 2;
25
+
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL3Nlc3Npb25VdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IGp3dCBmcm9tICdqc29ud2VidG9rZW4nO1xuXG5leHBvcnQgdHlwZSBTZXNzaW9uID0ge1xuICByZWFkb25seSBlcnJvcnM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgZXhwPzogbnVtYmVyO1xuICByZWFkb25seSBpYXQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHVzZXJuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB1c2VyQWNjZXNzPzogbnVtYmVyO1xuICByZWFkb25seSB1c2VySWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFNlc3Npb25Ub2tlbiA9IHtcbiAgcmVhZG9ubHkgZXhwaXJlczogbnVtYmVyO1xuICByZWFkb25seSBpc3N1ZWQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgdG9rZW46IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJuYW1lOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0U2Vzc2lvbiA9IChzZXNzaW9uOiBTZXNzaW9uKTogc3RyaW5nID0+IGp3dC5zaWduKHNlc3Npb24sIHByb2Nlc3MuZW52LlNFU1NJT05fU0VDUkVUKTtcblxuZXhwb3J0IGNvbnN0IGdldFNlc3Npb24gPSAodG9rZW46IHN0cmluZyk6IFNlc3Npb24gPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBqd3QudmVyaWZ5KHRva2VuLCBwcm9jZXNzLmVudi5TRVNTSU9OX1NFQ1JFVCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBzd2l0Y2goZXJyb3IubWVzc2FnZSkge1xuICAgICAgY2FzZSAnand0IGV4cGlyZWQnOiB7XG4gICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcignZXhwaXJlZF9zZXNzaW9uJyk7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgZXJyID0gbmV3IEVycm9yKCdpbnZhbGlkX3Nlc3Npb24nKTtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGlzQWRtaW5Vc2VyID0gKHNlc3Npb24/OiBTZXNzaW9uKTogYm9vbGVhbiA9PiAhIXNlc3Npb24/LnVzZXJBY2Nlc3MgJiYgc2Vzc2lvbi51c2VyQWNjZXNzID4gMjsiXSwibmFtZXMiOlsiand0Iiwic2V0U2Vzc2lvbiIsInNlc3Npb24iLCJzaWduIiwicHJvY2VzcyIsImVudiIsIlNFU1NJT05fU0VDUkVUIiwiZ2V0U2Vzc2lvbiIsInRva2VuIiwidmVyaWZ5IiwiZXJyb3IiLCJtZXNzYWdlIiwiZXJyIiwiRXJyb3IiLCJpc0FkbWluVXNlciIsInVzZXJBY2Nlc3MiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELE9BQU9BLFNBQVMsZUFBZTtBQW1CL0IsT0FBTyxNQUFNQyxhQUFhLENBQUNDLFVBQTZCRixJQUFJRyxJQUFJLENBQUNELFNBQVNFLFFBQVFDLEdBQUcsQ0FBQ0MsY0FBYyxFQUFFO0FBRXRHLE9BQU8sTUFBTUMsYUFBYSxDQUFDQztJQUN6QixJQUFJO1FBQ0YsT0FBT1IsSUFBSVMsTUFBTSxDQUFDRCxPQUFPSixRQUFRQyxHQUFHLENBQUNDLGNBQWM7SUFDckQsRUFBRSxPQUFNSSxPQUFPO1FBQ2IsT0FBT0EsTUFBTUMsT0FBTztZQUNsQixLQUFLO2dCQUFlO29CQUNsQixNQUFNQyxNQUFNLElBQUlDLE1BQU07b0JBQ3RCLE1BQU1EO2dCQUNSO1lBQ0E7Z0JBQVM7b0JBQ1AsTUFBTUEsTUFBTSxJQUFJQyxNQUFNO29CQUN0QixNQUFNRDtnQkFDUjtRQUNGO0lBQ0Y7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNRSxjQUFjLENBQUNaLFVBQStCLENBQUMsQ0FBQ0EsU0FBU2EsY0FBY2IsUUFBUWEsVUFBVSxHQUFHLEVBQUUifQ==
@@ -3,5 +3,6 @@
3
3
  * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
4
  */
5
5
  import stripe from 'stripe';
6
- export declare const stripeApiVersion = "2025-07-30.basil";
6
+ export declare const stripeApiVersion = "2025-12-15.clover";
7
7
  export declare const getStripeClient: () => stripe;
8
+ //# sourceMappingURL=stripeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/stripeUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAI5B,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AAEpD,eAAO,MAAM,eAAe,cAAiG,CAAC"}
@@ -1,2 +1,12 @@
1
- import t from"stripe";import{Config as e}from"../config.js";const i="2025-07-30.basil",p=()=>new t(e.get("stripe.token"),{apiVersion:i,typescript:!0});export{p as getStripeClient,i as stripeApiVersion};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3N0cmlwZVV0aWxzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHN0cmlwZSBmcm9tICdzdHJpcGUnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcblxuZXhwb3J0IGNvbnN0IHN0cmlwZUFwaVZlcnNpb24gPSAnMjAyNS0wNy0zMC5iYXNpbCc7XG5cbmV4cG9ydCBjb25zdCBnZXRTdHJpcGVDbGllbnQgPSAoKSA9PiBuZXcgc3RyaXBlKENvbmZpZy5nZXQoJ3N0cmlwZS50b2tlbicpLCB7YXBpVmVyc2lvbjogc3RyaXBlQXBpVmVyc2lvbiwgdHlwZXNjcmlwdDogdHJ1ZX0pOyJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQU9BLE1BQVksU0FFbkIsT0FBUSxVQUFBQyxNQUFhLGVBRWQsTUFBTUMsRUFBbUIsbUJBRW5CQyxFQUFrQixJQUFNLElBQUlILEVBQU9DLEVBQU8sSUFBSSxjQUFjLEVBQUcsQ0FBQyxXQUFZQyxFQUFrQixXQUFZLEVBQUksQ0FBQyIsCiAgIm5hbWVzIjogWyJzdHJpcGUiLCAiQ29uZmlnIiwgInN0cmlwZUFwaVZlcnNpb24iLCAiZ2V0U3RyaXBlQ2xpZW50Il0KfQo=
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import stripe from 'stripe';
5
+ import { Config } from '../config.js';
6
+ export const stripeApiVersion = '2025-12-15.clover';
7
+ export const getStripeClient = ()=>new stripe(Config.get('stripe.token'), {
8
+ apiVersion: stripeApiVersion,
9
+ typescript: true
10
+ });
11
+
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL3N0cmlwZVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI1LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgc3RyaXBlIGZyb20gJ3N0cmlwZSc7XG5cbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuXG5leHBvcnQgY29uc3Qgc3RyaXBlQXBpVmVyc2lvbiA9ICcyMDI1LTEyLTE1LmNsb3Zlcic7XG5cbmV4cG9ydCBjb25zdCBnZXRTdHJpcGVDbGllbnQgPSAoKSA9PiBuZXcgc3RyaXBlKENvbmZpZy5nZXQoJ3N0cmlwZS50b2tlbicpLCB7YXBpVmVyc2lvbjogc3RyaXBlQXBpVmVyc2lvbiwgdHlwZXNjcmlwdDogdHJ1ZX0pOyJdLCJuYW1lcyI6WyJzdHJpcGUiLCJDb25maWciLCJzdHJpcGVBcGlWZXJzaW9uIiwiZ2V0U3RyaXBlQ2xpZW50IiwiZ2V0IiwiYXBpVmVyc2lvbiIsInR5cGVzY3JpcHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELE9BQU9BLFlBQVksU0FBUztBQUU1QixTQUFRQyxNQUFNLFFBQU8sZUFBZTtBQUVwQyxPQUFPLE1BQU1DLG1CQUFtQixvQkFBb0I7QUFFcEQsT0FBTyxNQUFNQyxrQkFBa0IsSUFBTSxJQUFJSCxPQUFPQyxPQUFPRyxHQUFHLENBQUMsaUJBQWlCO1FBQUNDLFlBQVlIO1FBQWtCSSxZQUFZO0lBQUksR0FBRyJ9
@@ -1,3 +1,4 @@
1
1
  export type TemplateParams = Record<string, string>;
2
2
  export declare const parseTemplate: (template: string, params: TemplateParams) => string;
3
3
  export declare const createTemplate: <T extends TemplateParams>(templateString: string, params: T) => string;
4
+ //# sourceMappingURL=templateUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateUtils.d.ts","sourceRoot":"","sources":["../../src/utils/templateUtils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,EAAE,QAAQ,cAAc,KAAG,MASxE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,cAAc,EAAE,gBAAgB,MAAM,EAAE,QAAQ,CAAC,KAAG,MACtD,CAAC"}
@@ -1,2 +1,11 @@
1
- const n=(t,e)=>{let r=t;return Object.keys(e).forEach(s=>{const a=new RegExp(`\\[${s}\\]`,"g");r=r.replace(a,e[s])}),r},p=(t,e)=>n(t,e);export{p as createTemplate,n as parseTemplate};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3RlbXBsYXRlVXRpbHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCB0eXBlIFRlbXBsYXRlUGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVGVtcGxhdGUgPSAodGVtcGxhdGU6IHN0cmluZywgcGFyYW1zOiBUZW1wbGF0ZVBhcmFtcyk6IHN0cmluZyA9PiB7XG4gIGxldCByZXN1bHQgPSB0ZW1wbGF0ZTtcblxuICBPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChgXFxcXFske2tleX1cXFxcXWAsICdnJyk7XG4gICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UocmVnZXgsIHBhcmFtc1trZXldKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUZW1wbGF0ZSA9IDxUIGV4dGVuZHMgVGVtcGxhdGVQYXJhbXM+KHRlbXBsYXRlU3RyaW5nOiBzdHJpbmcsIHBhcmFtczogVCk6IHN0cmluZyA9PlxuICBwYXJzZVRlbXBsYXRlKHRlbXBsYXRlU3RyaW5nLCBwYXJhbXMpOyJdLAogICJtYXBwaW5ncyI6ICJBQUVPLE1BQU1BLEVBQWdCLENBQUNDLEVBQWtCQyxJQUFtQyxDQUNqRixJQUFJQyxFQUFTRixFQUViLGNBQU8sS0FBS0MsQ0FBTSxFQUFFLFFBQVNFLEdBQVEsQ0FDbkMsTUFBTUMsRUFBUSxJQUFJLE9BQU8sTUFBTUQsQ0FBRyxNQUFPLEdBQUcsRUFDNUNELEVBQVNBLEVBQU8sUUFBUUUsRUFBT0gsRUFBT0UsQ0FBRyxDQUFDLENBQzVDLENBQUMsRUFFTUQsQ0FDVCxFQUVhRyxFQUFpQixDQUEyQkMsRUFBd0JMLElBQy9FRixFQUFjTyxFQUFnQkwsQ0FBTSIsCiAgIm5hbWVzIjogWyJwYXJzZVRlbXBsYXRlIiwgInRlbXBsYXRlIiwgInBhcmFtcyIsICJyZXN1bHQiLCAia2V5IiwgInJlZ2V4IiwgImNyZWF0ZVRlbXBsYXRlIiwgInRlbXBsYXRlU3RyaW5nIl0KfQo=
1
+ export const parseTemplate = (template, params)=>{
2
+ let result = template;
3
+ Object.keys(params).forEach((key)=>{
4
+ const regex = new RegExp(`\\[${key}\\]`, 'g');
5
+ result = result.replace(regex, params[key]);
6
+ });
7
+ return result;
8
+ };
9
+ export const createTemplate = (templateString, params)=>parseTemplate(templateString, params);
10
+
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL3RlbXBsYXRlVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVGVtcGxhdGVQYXJhbXMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5leHBvcnQgY29uc3QgcGFyc2VUZW1wbGF0ZSA9ICh0ZW1wbGF0ZTogc3RyaW5nLCBwYXJhbXM6IFRlbXBsYXRlUGFyYW1zKTogc3RyaW5nID0+IHtcbiAgbGV0IHJlc3VsdCA9IHRlbXBsYXRlO1xuXG4gIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBcXFxcWyR7a2V5fVxcXFxdYCwgJ2cnKTtcbiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShyZWdleCwgcGFyYW1zW2tleV0pO1xuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRlbXBsYXRlID0gPFQgZXh0ZW5kcyBUZW1wbGF0ZVBhcmFtcz4odGVtcGxhdGVTdHJpbmc6IHN0cmluZywgcGFyYW1zOiBUKTogc3RyaW5nID0+XG4gIHBhcnNlVGVtcGxhdGUodGVtcGxhdGVTdHJpbmcsIHBhcmFtcyk7Il0sIm5hbWVzIjpbInBhcnNlVGVtcGxhdGUiLCJ0ZW1wbGF0ZSIsInBhcmFtcyIsInJlc3VsdCIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicmVnZXgiLCJSZWdFeHAiLCJyZXBsYWNlIiwiY3JlYXRlVGVtcGxhdGUiLCJ0ZW1wbGF0ZVN0cmluZyJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxNQUFNQSxnQkFBZ0IsQ0FBQ0MsVUFBa0JDO0lBQzlDLElBQUlDLFNBQVNGO0lBRWJHLE9BQU9DLElBQUksQ0FBQ0gsUUFBUUksT0FBTyxDQUFDLENBQUNDO1FBQzNCLE1BQU1DLFFBQVEsSUFBSUMsT0FBTyxDQUFDLEdBQUcsRUFBRUYsSUFBSSxHQUFHLENBQUMsRUFBRTtRQUN6Q0osU0FBU0EsT0FBT08sT0FBTyxDQUFDRixPQUFPTixNQUFNLENBQUNLLElBQUk7SUFDNUM7SUFFQSxPQUFPSjtBQUNULEVBQUU7QUFFRixPQUFPLE1BQU1RLGlCQUFpQixDQUEyQkMsZ0JBQXdCVixTQUMvRUYsY0FBY1ksZ0JBQWdCVixRQUFRIn0=
@@ -93,3 +93,4 @@ export declare const createUtilsTestSuite: (name: string, utilsPath: string, tes
93
93
  expectedOutput: TestReturnValue;
94
94
  }>) => void;
95
95
  export {};
96
+ //# sourceMappingURL=testUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/utils/testUtils.ts"],"names":[],"mappings":"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"}