@nlabs/reaktor 0.10.1 → 0.10.2

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 (451) hide show
  1. package/coverage/actions/index.html +21 -36
  2. package/coverage/actions/notifications.ts.html +223 -0
  3. package/coverage/actions/posts.ts.html +2356 -0
  4. package/coverage/adapters/arangoAdapter.ts.html +170 -20
  5. package/coverage/adapters/fileAdapter.ts.html +445 -0
  6. package/coverage/adapters/index.html +72 -42
  7. package/coverage/adapters/postAdapter.ts.html +436 -0
  8. package/coverage/adapters/reaktorAdapter.ts.html +201 -18
  9. package/coverage/adapters/tagAdapter.ts.html +274 -25
  10. package/coverage/adapters/userAdapter.ts.html +829 -0
  11. package/coverage/analyticsUtils.ts.html +286 -0
  12. package/coverage/config.ts.html +766 -0
  13. package/coverage/index.html +81 -51
  14. package/coverage/mocks/group.ts.html +5 -5
  15. package/coverage/mocks/image.ts.html +18 -12
  16. package/coverage/mocks/index.html +37 -7
  17. package/coverage/mocks/post.ts.html +8 -8
  18. package/coverage/mocks/tag.ts.html +2 -2
  19. package/coverage/mocks/user.ts.html +18 -15
  20. package/coverage/testUtils.ts.html +1309 -0
  21. package/coverage/translationQueue.ts.html +592 -0
  22. package/coverage/types/error.types.ts.html +148 -0
  23. package/coverage/types/index.html +2 -2
  24. package/coverage/utils/adapterUtils.ts.html +39 -27
  25. package/coverage/utils/analyticsUtils.ts.html +35 -41
  26. package/coverage/utils/authUtils.ts.html +328 -0
  27. package/coverage/utils/dbI18n.ts.html +280 -0
  28. package/coverage/utils/googleTranslate.ts.html +385 -0
  29. package/coverage/utils/index.html +29 -44
  30. package/coverage/utils/localeUtils.ts.html +193 -0
  31. package/coverage/utils/sessionUtils.ts.html +211 -0
  32. package/coverage/utils/testUtils.ts.html +1309 -0
  33. package/lex.config.mjs +34 -0
  34. package/lib/actions/apps.d.ts +25 -0
  35. package/lib/actions/apps.js +11 -11
  36. package/lib/actions/connections.d.ts +5 -0
  37. package/lib/actions/connections.js +6 -6
  38. package/lib/actions/content.d.ts +13 -0
  39. package/lib/actions/content.js +9 -9
  40. package/lib/actions/conversations.d.ts +16 -0
  41. package/lib/actions/conversations.js +17 -17
  42. package/lib/actions/dynamodb.d.ts +12 -0
  43. package/lib/actions/dynamodb.js +2 -2
  44. package/lib/actions/email.d.ts +8 -0
  45. package/lib/actions/email.js +2 -2
  46. package/lib/actions/files.d.ts +19 -0
  47. package/lib/actions/files.js +3 -3
  48. package/lib/actions/groups.d.ts +13 -0
  49. package/lib/actions/groups.js +15 -15
  50. package/lib/actions/images.d.ts +33 -0
  51. package/lib/actions/images.js +22 -22
  52. package/lib/actions/index.d.ts +27 -0
  53. package/lib/actions/index.js +2 -2
  54. package/lib/actions/ios.d.ts +7 -0
  55. package/lib/actions/ios.js +4 -4
  56. package/lib/actions/locations.d.ts +6 -0
  57. package/lib/actions/locations.js +3 -3
  58. package/lib/actions/messages.d.ts +13 -0
  59. package/lib/actions/messages.js +3 -3
  60. package/lib/actions/notifications.d.ts +9 -0
  61. package/lib/actions/notifications.js +2 -2
  62. package/lib/actions/payments.d.ts +12 -0
  63. package/lib/actions/payments.js +6 -6
  64. package/lib/actions/posts.d.ts +25 -0
  65. package/lib/actions/posts.js +30 -30
  66. package/lib/actions/profiles.d.ts +4 -0
  67. package/lib/actions/profiles.js +4 -4
  68. package/lib/actions/reactions.d.ts +32 -0
  69. package/lib/actions/reactions.js +16 -16
  70. package/lib/actions/s3.d.ts +11 -0
  71. package/lib/actions/s3.js +2 -2
  72. package/lib/actions/search.d.ts +3 -0
  73. package/lib/actions/search.js +3 -3
  74. package/lib/actions/sms.d.ts +2 -0
  75. package/lib/actions/sms.js +2 -2
  76. package/lib/actions/statistics.d.ts +4 -0
  77. package/lib/actions/statistics.js +4 -4
  78. package/lib/actions/subscriptions.d.ts +7 -0
  79. package/lib/actions/subscriptions.js +6 -6
  80. package/lib/actions/tags.d.ts +34 -0
  81. package/lib/actions/tags.js +6 -6
  82. package/lib/actions/users.d.ts +73 -0
  83. package/lib/actions/users.js +45 -42
  84. package/lib/actions/websockets.d.ts +20 -0
  85. package/lib/actions/websockets.js +8 -8
  86. package/lib/adapters/arangoAdapter.d.ts +8 -0
  87. package/lib/adapters/arangoAdapter.js +2 -2
  88. package/lib/adapters/contentAdapter.d.ts +8 -0
  89. package/lib/adapters/contentAdapter.js +2 -2
  90. package/lib/adapters/fileAdapter.d.ts +9 -0
  91. package/lib/adapters/fileAdapter.js +2 -2
  92. package/lib/adapters/imageAdapter.d.ts +8 -0
  93. package/lib/adapters/imageAdapter.js +2 -2
  94. package/lib/adapters/index.d.ts +9 -0
  95. package/lib/adapters/index.js +2 -0
  96. package/lib/adapters/messageAdapter.d.ts +8 -0
  97. package/lib/adapters/messageAdapter.js +2 -2
  98. package/lib/adapters/postAdapter.d.ts +8 -0
  99. package/lib/adapters/postAdapter.js +2 -2
  100. package/lib/adapters/reaktorAdapter.d.ts +16 -0
  101. package/lib/adapters/reaktorAdapter.js +2 -2
  102. package/lib/adapters/tagAdapter.d.ts +9 -0
  103. package/lib/adapters/tagAdapter.js +2 -2
  104. package/lib/adapters/userAdapter.d.ts +13 -0
  105. package/lib/adapters/userAdapter.js +2 -2
  106. package/lib/config.d.ts +57 -0
  107. package/lib/config.js +2 -2
  108. package/lib/handlers/graphqlHandler.d.ts +4 -0
  109. package/lib/handlers/graphqlHandler.js +2 -2
  110. package/lib/index.d.ts +19 -0
  111. package/lib/index.js +2 -2
  112. package/lib/lambdas/actions/websockets.d.ts +7 -0
  113. package/lib/lambdas/actions/websockets.js +6 -6
  114. package/lib/lambdas/authorizer.d.ts +20 -0
  115. package/lib/lambdas/authorizer.js +2 -2
  116. package/lib/lambdas/connection.d.ts +12 -0
  117. package/lib/lambdas/connection.js +2 -2
  118. package/lib/lambdas/utils/message.d.ts +1 -0
  119. package/lib/lambdas/utils/websocket.d.ts +7 -0
  120. package/lib/lambdas/utils/websocket.js +2 -2
  121. package/lib/mocks/conversation.d.ts +8 -0
  122. package/lib/mocks/file.d.ts +11 -0
  123. package/lib/mocks/group.d.ts +17 -0
  124. package/lib/mocks/group.js +2 -2
  125. package/lib/mocks/image.d.ts +3 -0
  126. package/lib/mocks/image.js +2 -2
  127. package/lib/mocks/post.d.ts +38 -0
  128. package/lib/mocks/post.js +2 -2
  129. package/lib/mocks/tag.d.ts +2 -0
  130. package/lib/mocks/tag.js +1 -1
  131. package/lib/mocks/user.d.ts +4 -0
  132. package/lib/mocks/user.js +2 -2
  133. package/lib/mutations/content.d.ts +2 -0
  134. package/lib/mutations/content.js +2 -0
  135. package/lib/mutations/index.d.ts +11 -0
  136. package/lib/mutations/index.js +2 -2
  137. package/lib/mutations/locations.d.ts +2 -0
  138. package/lib/mutations/locations.js +2 -2
  139. package/lib/mutations/messages.d.ts +2 -0
  140. package/lib/mutations/messages.js +2 -2
  141. package/lib/mutations/posts.d.ts +2 -0
  142. package/lib/mutations/posts.js +2 -2
  143. package/lib/mutations/profiles.d.ts +2 -0
  144. package/lib/mutations/profiles.js +2 -2
  145. package/lib/mutations/reactions.d.ts +2 -0
  146. package/lib/mutations/reactions.js +2 -2
  147. package/lib/mutations/statistics.d.ts +2 -0
  148. package/lib/mutations/statistics.js +2 -2
  149. package/lib/mutations/subscriptions.d.ts +2 -0
  150. package/lib/mutations/subscriptions.js +2 -2
  151. package/lib/mutations/tags.d.ts +2 -0
  152. package/lib/mutations/tags.js +2 -2
  153. package/lib/mutations/users.d.ts +1 -0
  154. package/lib/mutations/users.js +2 -2
  155. package/lib/objectTypes/app.d.ts +3 -0
  156. package/lib/objectTypes/app.js +2 -2
  157. package/lib/objectTypes/bankAccount.d.ts +1 -0
  158. package/lib/objectTypes/connection.d.ts +1 -0
  159. package/lib/objectTypes/connection.js +2 -2
  160. package/lib/objectTypes/content.d.ts +2 -0
  161. package/lib/objectTypes/content.js +2 -0
  162. package/lib/objectTypes/conversation.d.ts +2 -0
  163. package/lib/objectTypes/conversation.js +2 -2
  164. package/lib/objectTypes/creditCard.d.ts +1 -0
  165. package/lib/objectTypes/document.d.ts +1 -0
  166. package/lib/objectTypes/error.d.ts +1 -0
  167. package/lib/objectTypes/external.d.ts +1 -0
  168. package/lib/objectTypes/external.js +2 -2
  169. package/lib/objectTypes/file.d.ts +2 -0
  170. package/lib/objectTypes/file.js +2 -2
  171. package/lib/objectTypes/filter.d.ts +1 -0
  172. package/lib/objectTypes/group.d.ts +3 -0
  173. package/lib/objectTypes/group.js +2 -2
  174. package/lib/objectTypes/iapSubscription.d.ts +1 -0
  175. package/lib/objectTypes/image.d.ts +6 -0
  176. package/lib/objectTypes/image.js +2 -2
  177. package/lib/objectTypes/index.d.ts +26 -0
  178. package/lib/objectTypes/index.js +2 -2
  179. package/lib/objectTypes/location.d.ts +2 -0
  180. package/lib/objectTypes/location.js +2 -2
  181. package/lib/objectTypes/message.d.ts +2 -0
  182. package/lib/objectTypes/message.js +2 -2
  183. package/lib/objectTypes/passcode.d.ts +1 -0
  184. package/lib/objectTypes/passcode.js +2 -2
  185. package/lib/objectTypes/plan.d.ts +2 -0
  186. package/lib/objectTypes/plan.js +2 -2
  187. package/lib/objectTypes/post.d.ts +2 -0
  188. package/lib/objectTypes/post.js +2 -2
  189. package/lib/objectTypes/profile.d.ts +3 -0
  190. package/lib/objectTypes/profile.js +2 -2
  191. package/lib/objectTypes/reaction.d.ts +2 -0
  192. package/lib/objectTypes/reaction.js +2 -2
  193. package/lib/objectTypes/relation.d.ts +1 -0
  194. package/lib/objectTypes/relation.js +2 -2
  195. package/lib/objectTypes/search.d.ts +1 -0
  196. package/lib/objectTypes/search.js +2 -2
  197. package/lib/objectTypes/statistics.d.ts +1 -0
  198. package/lib/objectTypes/statistics.js +2 -2
  199. package/lib/objectTypes/subscription.d.ts +2 -0
  200. package/lib/objectTypes/subscription.js +2 -2
  201. package/lib/objectTypes/tag.d.ts +2 -0
  202. package/lib/objectTypes/tag.js +2 -2
  203. package/lib/objectTypes/user.d.ts +4 -0
  204. package/lib/objectTypes/user.js +2 -2
  205. package/lib/queries/content.d.ts +2 -0
  206. package/lib/queries/content.js +2 -0
  207. package/lib/queries/index.d.ts +10 -0
  208. package/lib/queries/index.js +2 -2
  209. package/lib/queries/locations.d.ts +2 -0
  210. package/lib/queries/locations.js +2 -2
  211. package/lib/queries/messages.d.ts +2 -0
  212. package/lib/queries/messages.js +2 -2
  213. package/lib/queries/posts.d.ts +2 -0
  214. package/lib/queries/posts.js +2 -2
  215. package/lib/queries/reactions.d.ts +2 -0
  216. package/lib/queries/reactions.js +2 -2
  217. package/lib/queries/statistics.d.ts +2 -0
  218. package/lib/queries/statistics.js +2 -2
  219. package/lib/queries/subscriptions.d.ts +2 -0
  220. package/lib/queries/subscriptions.js +2 -2
  221. package/lib/queries/tags.d.ts +2 -0
  222. package/lib/queries/tags.js +2 -2
  223. package/lib/queries/users.d.ts +1 -0
  224. package/lib/queries/users.js +2 -2
  225. package/lib/templates/email/layout.d.ts +2 -0
  226. package/lib/templates/email/passwordForgot.d.ts +2 -0
  227. package/lib/templates/email/passwordRecovery.d.ts +2 -0
  228. package/lib/templates/email/verifyEmail.d.ts +2 -0
  229. package/lib/templates/email/welcome.d.ts +2 -0
  230. package/lib/templates/sms/passwordForgot.d.ts +2 -0
  231. package/lib/templates/sms/passwordRecovery.d.ts +2 -0
  232. package/lib/templates/sms/verifyEmail.d.ts +2 -0
  233. package/lib/templates/sms/verifyPhone.d.ts +2 -0
  234. package/lib/templates/sms/welcome.d.ts +2 -0
  235. package/lib/types/apps.types.d.ts +50 -0
  236. package/lib/types/apps.types.js +1 -1
  237. package/lib/types/arangodb.types.d.ts +38 -0
  238. package/lib/types/auth.types.d.ts +15 -0
  239. package/lib/types/connections.types.d.ts +9 -0
  240. package/lib/types/content.types.d.ts +31 -0
  241. package/lib/types/conversations.types.d.ts +31 -0
  242. package/lib/types/email.types.d.ts +17 -0
  243. package/lib/types/error.types.d.ts +21 -0
  244. package/lib/types/files.types.d.ts +27 -0
  245. package/lib/types/google.types.d.ts +33 -0
  246. package/lib/types/groups.types.d.ts +22 -0
  247. package/lib/types/images.types.d.ts +56 -0
  248. package/lib/types/index.d.ts +26 -0
  249. package/lib/types/index.js +2 -2
  250. package/lib/types/locations.types.d.ts +22 -0
  251. package/lib/types/messages.types.d.ts +20 -0
  252. package/lib/types/notifications.types.d.ts +23 -0
  253. package/lib/types/payments.types.d.ts +113 -0
  254. package/lib/types/posts.types.d.ts +32 -0
  255. package/lib/types/profiles.types.d.ts +20 -0
  256. package/lib/types/statistics.types.d.ts +3 -0
  257. package/lib/types/tags.types.d.ts +19 -0
  258. package/lib/types/users.types.d.ts +110 -0
  259. package/lib/types/websockets.types.d.ts +22 -0
  260. package/lib/utils/adapterUtils.d.ts +5 -0
  261. package/lib/utils/analyticsUtils.d.ts +25 -0
  262. package/lib/utils/analyticsUtils.js +2 -2
  263. package/lib/utils/arangodbUtils.d.ts +70 -0
  264. package/lib/utils/arangodbUtils.js +3 -3
  265. package/lib/utils/authUtils.d.ts +23 -0
  266. package/lib/utils/authUtils.js +2 -2
  267. package/lib/utils/contextUtils.d.ts +3 -0
  268. package/lib/utils/contextUtils.js +1 -1
  269. package/lib/utils/dbI18n.d.ts +10 -0
  270. package/lib/utils/dbI18n.example.d.ts +20 -0
  271. package/lib/utils/dbI18n.example.js +3 -3
  272. package/lib/utils/dbI18n.js +2 -2
  273. package/lib/utils/googleTranslate.d.ts +6 -0
  274. package/lib/utils/googleTranslate.js +2 -2
  275. package/lib/utils/graphqlUtils.d.ts +10 -0
  276. package/lib/utils/graphqlUtils.js +2 -2
  277. package/lib/utils/index.d.ts +18 -0
  278. package/lib/utils/index.js +2 -2
  279. package/lib/utils/languageDetection.d.ts +8 -0
  280. package/lib/utils/languageDetection.js +1 -1
  281. package/lib/utils/localeUtils.d.ts +11 -0
  282. package/lib/utils/localeUtils.example.d.ts +5 -0
  283. package/lib/utils/localeUtils.example.js +2 -2
  284. package/lib/utils/localeUtils.js +1 -1
  285. package/lib/utils/middlewareUtils.d.ts +2 -0
  286. package/lib/utils/middlewareUtils.js +2 -2
  287. package/lib/utils/sessionUtils.d.ts +18 -0
  288. package/lib/utils/sessionUtils.js +2 -2
  289. package/lib/utils/stripeUtils.d.ts +7 -0
  290. package/lib/utils/stripeUtils.js +2 -2
  291. package/lib/utils/templateUtils.d.ts +3 -0
  292. package/lib/utils/testUtils.d.ts +95 -0
  293. package/lib/utils/testUtils.js +2 -2
  294. package/lib/utils/translationQueue.d.ts +29 -0
  295. package/lib/utils/translationQueue.example.d.ts +33 -0
  296. package/lib/utils/translationQueue.example.js +2 -2
  297. package/lib/utils/translationQueue.js +2 -2
  298. package/package.json +22 -21
  299. package/tsconfig.build.json +21 -0
  300. package/tsconfig.lint.json +33 -0
  301. package/tsconfig.test.json +31 -0
  302. package/dist/actions/apps.js +0 -242
  303. package/dist/actions/connections.js +0 -90
  304. package/dist/actions/conversations.js +0 -350
  305. package/dist/actions/dynamodb.js +0 -150
  306. package/dist/actions/email.js +0 -152
  307. package/dist/actions/files.js +0 -283
  308. package/dist/actions/groups.js +0 -292
  309. package/dist/actions/images.js +0 -735
  310. package/dist/actions/index.js +0 -66
  311. package/dist/actions/ios.js +0 -164
  312. package/dist/actions/locations.js +0 -122
  313. package/dist/actions/messages.js +0 -208
  314. package/dist/actions/notifications.js +0 -59
  315. package/dist/actions/payments.js +0 -497
  316. package/dist/actions/personas.js +0 -110
  317. package/dist/actions/posts.js +0 -595
  318. package/dist/actions/reactions.js +0 -322
  319. package/dist/actions/s3.js +0 -133
  320. package/dist/actions/search.js +0 -90
  321. package/dist/actions/sms.js +0 -108
  322. package/dist/actions/statistics.js +0 -62
  323. package/dist/actions/subscription.js +0 -220
  324. package/dist/actions/tags.js +0 -292
  325. package/dist/actions/users.js +0 -784
  326. package/dist/actions/websockets.js +0 -174
  327. package/dist/adapters/arangoAdapter.js +0 -46
  328. package/dist/adapters/fileAdapter.js +0 -76
  329. package/dist/adapters/imageAdapter.js +0 -40
  330. package/dist/adapters/messageAdapter.js +0 -49
  331. package/dist/adapters/postAdapter.js +0 -70
  332. package/dist/adapters/reaktorAdapter.js +0 -44
  333. package/dist/adapters/tagAdapter.js +0 -50
  334. package/dist/adapters/userAdapter.js +0 -115
  335. package/dist/config.js +0 -125
  336. package/dist/index.js +0 -66
  337. package/dist/lambdas/actions/websockets.js +0 -132
  338. package/dist/lambdas/authorizer.js +0 -67
  339. package/dist/lambdas/connection.js +0 -91
  340. package/dist/lambdas/utils/message.js +0 -42
  341. package/dist/lambdas/utils/websocket.js +0 -105
  342. package/dist/mocks/conversation.js +0 -35
  343. package/dist/mocks/file.js +0 -38
  344. package/dist/mocks/group.js +0 -47
  345. package/dist/mocks/image.js +0 -44
  346. package/dist/mocks/nlabs.png +0 -0
  347. package/dist/mocks/post.js +0 -55
  348. package/dist/mocks/tag.js +0 -37
  349. package/dist/mocks/user.js +0 -88
  350. package/dist/mutations/index.js +0 -26
  351. package/dist/mutations/locations.js +0 -44
  352. package/dist/mutations/messages.js +0 -86
  353. package/dist/mutations/personas.js +0 -100
  354. package/dist/mutations/posts.js +0 -53
  355. package/dist/mutations/reactions.js +0 -51
  356. package/dist/mutations/statistics.js +0 -39
  357. package/dist/mutations/subscriptions.js +0 -56
  358. package/dist/mutations/tags.js +0 -120
  359. package/dist/mutations/users.js +0 -116
  360. package/dist/objectTypes/app.js +0 -173
  361. package/dist/objectTypes/bankAccount.js +0 -76
  362. package/dist/objectTypes/connection.js +0 -48
  363. package/dist/objectTypes/conversation.js +0 -77
  364. package/dist/objectTypes/creditCard.js +0 -86
  365. package/dist/objectTypes/document.js +0 -46
  366. package/dist/objectTypes/error.js +0 -46
  367. package/dist/objectTypes/external.js +0 -74
  368. package/dist/objectTypes/file.js +0 -100
  369. package/dist/objectTypes/filter.js +0 -43
  370. package/dist/objectTypes/group.js +0 -123
  371. package/dist/objectTypes/iapSubscription.js +0 -40
  372. package/dist/objectTypes/image.js +0 -129
  373. package/dist/objectTypes/index.js +0 -68
  374. package/dist/objectTypes/location.js +0 -109
  375. package/dist/objectTypes/message.js +0 -96
  376. package/dist/objectTypes/passcode.js +0 -42
  377. package/dist/objectTypes/persona.js +0 -87
  378. package/dist/objectTypes/plan.js +0 -95
  379. package/dist/objectTypes/post.js +0 -125
  380. package/dist/objectTypes/reaction.js +0 -61
  381. package/dist/objectTypes/relation.js +0 -49
  382. package/dist/objectTypes/search.js +0 -72
  383. package/dist/objectTypes/statistics.js +0 -39
  384. package/dist/objectTypes/subscription.js +0 -117
  385. package/dist/objectTypes/tag.js +0 -65
  386. package/dist/objectTypes/user.js +0 -144
  387. package/dist/queries/index.js +0 -33
  388. package/dist/queries/locations.js +0 -45
  389. package/dist/queries/messages.js +0 -52
  390. package/dist/queries/posts.js +0 -154
  391. package/dist/queries/reactions.js +0 -56
  392. package/dist/queries/statistics.js +0 -39
  393. package/dist/queries/subscriptions.js +0 -44
  394. package/dist/queries/tags.js +0 -75
  395. package/dist/queries/users.js +0 -64
  396. package/dist/templates/email/layout.js +0 -302
  397. package/dist/templates/email/passwordForgot.js +0 -38
  398. package/dist/templates/email/passwordRecovery.js +0 -35
  399. package/dist/templates/email/verifyEmail.js +0 -38
  400. package/dist/templates/email/welcome.js +0 -38
  401. package/dist/templates/sms/passwordForgot.js +0 -24
  402. package/dist/templates/sms/passwordRecovery.js +0 -24
  403. package/dist/templates/sms/verifyEmail.js +0 -24
  404. package/dist/templates/sms/verifyPhone.js +0 -24
  405. package/dist/templates/sms/welcome.js +0 -24
  406. package/dist/types/apps.js +0 -32
  407. package/dist/types/arangodb.js +0 -16
  408. package/dist/types/auth.js +0 -16
  409. package/dist/types/connections.js +0 -16
  410. package/dist/types/conversations.js +0 -16
  411. package/dist/types/email.js +0 -16
  412. package/dist/types/error.js +0 -44
  413. package/dist/types/files.js +0 -16
  414. package/dist/types/google.js +0 -16
  415. package/dist/types/groups.js +0 -16
  416. package/dist/types/images.js +0 -16
  417. package/dist/types/index.js +0 -60
  418. package/dist/types/locations.js +0 -16
  419. package/dist/types/messages.js +0 -16
  420. package/dist/types/notifications.js +0 -16
  421. package/dist/types/payments.js +0 -16
  422. package/dist/types/personas.js +0 -16
  423. package/dist/types/posts.js +0 -16
  424. package/dist/types/statistics.js +0 -16
  425. package/dist/types/tags.js +0 -16
  426. package/dist/types/users.js +0 -16
  427. package/dist/types/websockets.js +0 -16
  428. package/dist/utils/adapterUtils.js +0 -45
  429. package/dist/utils/analyticsUtils.js +0 -72
  430. package/dist/utils/arangodbUtils.js +0 -165
  431. package/dist/utils/auth.js +0 -57
  432. package/dist/utils/index.js +0 -30
  433. package/dist/utils/session.js +0 -60
  434. package/jest.config.js +0 -17
  435. package/jest.setup.js +0 -36
  436. package/lex.config.cjs +0 -13
  437. package/lib/mutations/locations.integration.js +0 -2
  438. package/lib/mutations/messages.integration.js +0 -2
  439. package/lib/mutations/posts.integration.js +0 -2
  440. package/lib/mutations/profiles.integration.js +0 -2
  441. package/lib/mutations/reactions.integration.js +0 -2
  442. package/lib/mutations/statistics.integration.js +0 -2
  443. package/lib/mutations/subscriptions.integration.js +0 -2
  444. package/lib/mutations/tags.integration.js +0 -2
  445. package/lib/mutations/users.integration.js +0 -2
  446. package/lib/queries/locations.integration.js +0 -2
  447. package/lib/queries/messages.integration.js +0 -2
  448. package/lib/queries/posts.integration.js +0 -2
  449. package/lib/queries/reactions.integration.js +0 -2
  450. package/lib/queries/tags.integration.js +0 -2
  451. package/lib/queries/users.integration.js +0 -2
@@ -1,2 +1,2 @@
1
1
  const r={AR:"es",AU:"en",BE:"fr",BO:"es",BR:"pt",CA:"en",CL:"es",CO:"es",CR:"es",CU:"es",CV:"pt",DO:"es",EC:"es",ES:"es",FR:"fr",GB:"en",GQ:"es",GT:"es",GW:"pt",HN:"es",IT:"it",LI:"de",LU:"fr",MC:"fr",MX:"es",MZ:"pt",NI:"es",PA:"es",PE:"es",PY:"es",SM:"it",SV:"es",TL:"pt",US:"en",VA:"it",VE:"es"},o={1:"en",32:"fr",33:"fr",34:"es",39:"it",41:"fr",43:"de",49:"de",51:"es",52:"es",53:"es",54:"es",55:"pt",56:"es",57:"es",58:"es",240:"es",244:"pt",245:"pt",258:"pt",351:"pt",352:"fr",377:"fr",378:"it",379:"it",423:"de",502:"es",503:"es",504:"es",505:"es",506:"es",507:"es",591:"es",593:"es",595:"es",670:"pt",1809:"es"},c=e=>{if(e.userPreference)return e.userPreference;if(e.phoneCountryCode){const s=o[e.phoneCountryCode];if(s)return s}if(e.acceptLanguage){const s=a(e.acceptLanguage);if(s)return s}if(e.ipCountry){const s=r[e.ipCountry];if(s)return s}return"en"},a=e=>{const s=e.split(",").map(t=>t.trim().split(";")[0]).filter(t=>t.length>=2);for(const t of s){const n=t.substring(0,2);if(["en","es","fr","de","pt","it"].includes(n))return n}return null};export{c as detectLanguage};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2xhbmd1YWdlRGV0ZWN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgdHlwZSB7TG9jYWxlfSBmcm9tICcuLi90eXBlcy9jb250ZW50LnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBMYW5ndWFnZURldGVjdGlvbkNvbnRleHQge1xuICBhY2NlcHRMYW5ndWFnZT86IHN0cmluZztcbiAgaXBDb3VudHJ5Pzogc3RyaW5nO1xuICBwaG9uZUNvdW50cnlDb2RlPzogc3RyaW5nO1xuICB1c2VyUHJlZmVyZW5jZT86IExvY2FsZTtcbn1cblxuY29uc3QgY291bnRyeVRvTG9jYWxlTWFwOiBSZWNvcmQ8c3RyaW5nLCBMb2NhbGU+ID0ge1xuICBBUjogJ2VzJyxcbiAgQVU6ICdlbicsXG4gIEJFOiAnZnInLFxuICBCTzogJ2VzJyxcbiAgQlI6ICdwdCcsXG4gIENBOiAnZW4nLFxuICBDTDogJ2VzJyxcbiAgQ086ICdlcycsXG4gIENSOiAnZXMnLFxuICBDVTogJ2VzJyxcbiAgQ1Y6ICdwdCcsXG4gIERPOiAnZXMnLFxuICBFQzogJ2VzJyxcbiAgRVM6ICdlcycsXG4gIEZSOiAnZnInLFxuICBHQjogJ2VuJyxcbiAgR1E6ICdlcycsXG4gIEdUOiAnZXMnLFxuICBHVzogJ3B0JyxcbiAgSE46ICdlcycsXG4gIElUOiAnaXQnLFxuICBMSTogJ2RlJyxcbiAgTFU6ICdmcicsXG4gIE1DOiAnZnInLFxuICBNWDogJ2VzJyxcbiAgTVo6ICdwdCcsXG4gIE5JOiAnZXMnLFxuICBQQTogJ2VzJyxcbiAgUEU6ICdlcycsXG4gIFBZOiAnZXMnLFxuICBTTTogJ2l0JyxcbiAgU1Y6ICdlcycsXG4gIFRMOiAncHQnLFxuICBVUzogJ2VuJyxcbiAgVkE6ICdpdCcsXG4gIFZFOiAnZXMnXG59O1xuXG5jb25zdCBwaG9uZUNvZGVUb0xvY2FsZU1hcDogUmVjb3JkPHN0cmluZywgTG9jYWxlPiA9IHtcbiAgMTogJ2VuJyxcbiAgMzI6ICdmcicsXG4gIDMzOiAnZnInLFxuICAzNDogJ2VzJyxcbiAgMzk6ICdpdCcsXG4gIDQxOiAnZnInLFxuICA0MzogJ2RlJyxcbiAgNDk6ICdkZScsXG4gIDUxOiAnZXMnLFxuICA1MjogJ2VzJyxcbiAgNTM6ICdlcycsXG4gIDU0OiAnZXMnLFxuICA1NTogJ3B0JyxcbiAgNTY6ICdlcycsXG4gIDU3OiAnZXMnLFxuICA1ODogJ2VzJyxcbiAgMjQwOiAnZXMnLFxuICAyNDQ6ICdwdCcsXG4gIDI0NTogJ3B0JyxcbiAgMjU4OiAncHQnLFxuICAzNTE6ICdwdCcsXG4gIDM1MjogJ2ZyJyxcbiAgMzc3OiAnZnInLFxuICAzNzg6ICdpdCcsXG4gIDM3OTogJ2l0JyxcbiAgNDIzOiAnZGUnLFxuICA1MDI6ICdlcycsXG4gIDUwMzogJ2VzJyxcbiAgNTA0OiAnZXMnLFxuICA1MDU6ICdlcycsXG4gIDUwNjogJ2VzJyxcbiAgNTA3OiAnZXMnLFxuICA1OTE6ICdlcycsXG4gIDU5MzogJ2VzJyxcbiAgNTk1OiAnZXMnLFxuICA2NzA6ICdwdCcsXG4gIDE4MDk6ICdlcydcbn07XG5cbmV4cG9ydCBjb25zdCBkZXRlY3RMYW5ndWFnZSA9IChjb250ZXh0OiBMYW5ndWFnZURldGVjdGlvbkNvbnRleHQpOiBMb2NhbGUgPT4ge1xuICBpZihjb250ZXh0LnVzZXJQcmVmZXJlbmNlKSB7XG4gICAgcmV0dXJuIGNvbnRleHQudXNlclByZWZlcmVuY2U7XG4gIH1cblxuICBpZihjb250ZXh0LnBob25lQ291bnRyeUNvZGUpIHtcbiAgICBjb25zdCBsb2NhbGUgPSBwaG9uZUNvZGVUb0xvY2FsZU1hcFtjb250ZXh0LnBob25lQ291bnRyeUNvZGVdO1xuICAgIGlmKGxvY2FsZSkge1xuICAgICAgcmV0dXJuIGxvY2FsZTtcbiAgICB9XG4gIH1cblxuICBpZihjb250ZXh0LmFjY2VwdExhbmd1YWdlKSB7XG4gICAgY29uc3QgbG9jYWxlID0gcGFyc2VBY2NlcHRMYW5ndWFnZShjb250ZXh0LmFjY2VwdExhbmd1YWdlKTtcbiAgICBpZihsb2NhbGUpIHtcbiAgICAgIHJldHVybiBsb2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaWYoY29udGV4dC5pcENvdW50cnkpIHtcbiAgICBjb25zdCBsb2NhbGUgPSBjb3VudHJ5VG9Mb2NhbGVNYXBbY29udGV4dC5pcENvdW50cnldO1xuICAgIGlmKGxvY2FsZSkge1xuICAgICAgcmV0dXJuIGxvY2FsZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gJ2VuJztcbn07XG5cbmNvbnN0IHBhcnNlQWNjZXB0TGFuZ3VhZ2UgPSAoYWNjZXB0TGFuZ3VhZ2U6IHN0cmluZyk6IExvY2FsZSB8IG51bGwgPT4ge1xuICBjb25zdCBsYW5ndWFnZXMgPSBhY2NlcHRMYW5ndWFnZVxuICAgIC5zcGxpdCgnLCcpXG4gICAgLm1hcCgobGFuZykgPT4gbGFuZy50cmltKCkuc3BsaXQoJzsnKVswXSlcbiAgICAuZmlsdGVyKChsYW5nKSA9PiBsYW5nLmxlbmd0aCA+PSAyKTtcblxuICBmb3IoY29uc3QgbGFuZyBvZiBsYW5ndWFnZXMpIHtcbiAgICBjb25zdCBsb2NhbGUgPSBsYW5nLnN1YnN0cmluZygwLCAyKSBhcyBMb2NhbGU7XG4gICAgaWYoWydlbicsICdlcycsICdmcicsICdkZScsICdwdCcsICdpdCddLmluY2x1ZGVzKGxvY2FsZSkpIHtcbiAgICAgIHJldHVybiBsb2NhbGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQVNBLE1BQU1BLEVBQTZDLENBQ2pELEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxJQUNOLEVBRU1DLEVBQStDLENBQ25ELEVBQUcsS0FDSCxHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLEtBQU0sSUFDUixFQUVhQyxFQUFrQkMsR0FBOEMsQ0FDM0UsR0FBR0EsRUFBUSxlQUNULE9BQU9BLEVBQVEsZUFHakIsR0FBR0EsRUFBUSxpQkFBa0IsQ0FDM0IsTUFBTUMsRUFBU0gsRUFBcUJFLEVBQVEsZ0JBQWdCLEVBQzVELEdBQUdDLEVBQ0QsT0FBT0EsQ0FFWCxDQUVBLEdBQUdELEVBQVEsZUFBZ0IsQ0FDekIsTUFBTUMsRUFBU0MsRUFBb0JGLEVBQVEsY0FBYyxFQUN6RCxHQUFHQyxFQUNELE9BQU9BLENBRVgsQ0FFQSxHQUFHRCxFQUFRLFVBQVcsQ0FDcEIsTUFBTUMsRUFBU0osRUFBbUJHLEVBQVEsU0FBUyxFQUNuRCxHQUFHQyxFQUNELE9BQU9BLENBRVgsQ0FFQSxNQUFPLElBQ1QsRUFFTUMsRUFBdUJDLEdBQTBDLENBQ3JFLE1BQU1DLEVBQVlELEVBQ2YsTUFBTSxHQUFHLEVBQ1QsSUFBS0UsR0FBU0EsRUFBSyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZDLE9BQVFBLEdBQVNBLEVBQUssUUFBVSxDQUFDLEVBRXBDLFVBQVVBLEtBQVFELEVBQVcsQ0FDM0IsTUFBTUgsRUFBU0ksRUFBSyxVQUFVLEVBQUcsQ0FBQyxFQUNsQyxHQUFHLENBQUMsS0FBTSxLQUFNLEtBQU0sS0FBTSxLQUFNLElBQUksRUFBRSxTQUFTSixDQUFNLEVBQ3JELE9BQU9BLENBRVgsQ0FFQSxPQUFPLElBQ1QiLAogICJuYW1lcyI6IFsiY291bnRyeVRvTG9jYWxlTWFwIiwgInBob25lQ29kZVRvTG9jYWxlTWFwIiwgImRldGVjdExhbmd1YWdlIiwgImNvbnRleHQiLCAibG9jYWxlIiwgInBhcnNlQWNjZXB0TGFuZ3VhZ2UiLCAiYWNjZXB0TGFuZ3VhZ2UiLCAibGFuZ3VhZ2VzIiwgImxhbmciXQp9Cg==
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2xhbmd1YWdlRGV0ZWN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgdHlwZSB7TG9jYWxlfSBmcm9tICcuLi90eXBlcy9jb250ZW50LnR5cGVzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBMYW5ndWFnZURldGVjdGlvbkNvbnRleHQge1xuICBhY2NlcHRMYW5ndWFnZT86IHN0cmluZztcbiAgaXBDb3VudHJ5Pzogc3RyaW5nO1xuICBwaG9uZUNvdW50cnlDb2RlPzogc3RyaW5nO1xuICB1c2VyUHJlZmVyZW5jZT86IExvY2FsZTtcbn1cblxuY29uc3QgY291bnRyeVRvTG9jYWxlTWFwOiBSZWNvcmQ8c3RyaW5nLCBMb2NhbGU+ID0ge1xuICBBUjogJ2VzJyxcbiAgQVU6ICdlbicsXG4gIEJFOiAnZnInLFxuICBCTzogJ2VzJyxcbiAgQlI6ICdwdCcsXG4gIENBOiAnZW4nLFxuICBDTDogJ2VzJyxcbiAgQ086ICdlcycsXG4gIENSOiAnZXMnLFxuICBDVTogJ2VzJyxcbiAgQ1Y6ICdwdCcsXG4gIERPOiAnZXMnLFxuICBFQzogJ2VzJyxcbiAgRVM6ICdlcycsXG4gIEZSOiAnZnInLFxuICBHQjogJ2VuJyxcbiAgR1E6ICdlcycsXG4gIEdUOiAnZXMnLFxuICBHVzogJ3B0JyxcbiAgSE46ICdlcycsXG4gIElUOiAnaXQnLFxuICBMSTogJ2RlJyxcbiAgTFU6ICdmcicsXG4gIE1DOiAnZnInLFxuICBNWDogJ2VzJyxcbiAgTVo6ICdwdCcsXG4gIE5JOiAnZXMnLFxuICBQQTogJ2VzJyxcbiAgUEU6ICdlcycsXG4gIFBZOiAnZXMnLFxuICBTTTogJ2l0JyxcbiAgU1Y6ICdlcycsXG4gIFRMOiAncHQnLFxuICBVUzogJ2VuJyxcbiAgVkE6ICdpdCcsXG4gIFZFOiAnZXMnXG59O1xuXG5jb25zdCBwaG9uZUNvZGVUb0xvY2FsZU1hcDogUmVjb3JkPHN0cmluZywgTG9jYWxlPiA9IHtcbiAgMTogJ2VuJyxcbiAgMzI6ICdmcicsXG4gIDMzOiAnZnInLFxuICAzNDogJ2VzJyxcbiAgMzk6ICdpdCcsXG4gIDQxOiAnZnInLFxuICA0MzogJ2RlJyxcbiAgNDk6ICdkZScsXG4gIDUxOiAnZXMnLFxuICA1MjogJ2VzJyxcbiAgNTM6ICdlcycsXG4gIDU0OiAnZXMnLFxuICA1NTogJ3B0JyxcbiAgNTY6ICdlcycsXG4gIDU3OiAnZXMnLFxuICA1ODogJ2VzJyxcbiAgMjQwOiAnZXMnLFxuICAyNDQ6ICdwdCcsXG4gIDI0NTogJ3B0JyxcbiAgMjU4OiAncHQnLFxuICAzNTE6ICdwdCcsXG4gIDM1MjogJ2ZyJyxcbiAgMzc3OiAnZnInLFxuICAzNzg6ICdpdCcsXG4gIDM3OTogJ2l0JyxcbiAgNDIzOiAnZGUnLFxuICA1MDI6ICdlcycsXG4gIDUwMzogJ2VzJyxcbiAgNTA0OiAnZXMnLFxuICA1MDU6ICdlcycsXG4gIDUwNjogJ2VzJyxcbiAgNTA3OiAnZXMnLFxuICA1OTE6ICdlcycsXG4gIDU5MzogJ2VzJyxcbiAgNTk1OiAnZXMnLFxuICA2NzA6ICdwdCcsXG4gIDE4MDk6ICdlcydcbn07XG5cbmV4cG9ydCBjb25zdCBkZXRlY3RMYW5ndWFnZSA9IChjb250ZXh0OiBMYW5ndWFnZURldGVjdGlvbkNvbnRleHQpOiBMb2NhbGUgPT4ge1xuICBpZihjb250ZXh0LnVzZXJQcmVmZXJlbmNlKSB7XG4gICAgcmV0dXJuIGNvbnRleHQudXNlclByZWZlcmVuY2U7XG4gIH1cblxuICBpZihjb250ZXh0LnBob25lQ291bnRyeUNvZGUpIHtcbiAgICBjb25zdCBsb2NhbGUgPSBwaG9uZUNvZGVUb0xvY2FsZU1hcFtjb250ZXh0LnBob25lQ291bnRyeUNvZGVdO1xuICAgIGlmKGxvY2FsZSkge1xuICAgICAgcmV0dXJuIGxvY2FsZTtcbiAgICB9XG4gIH1cblxuICBpZihjb250ZXh0LmFjY2VwdExhbmd1YWdlKSB7XG4gICAgY29uc3QgbG9jYWxlID0gcGFyc2VBY2NlcHRMYW5ndWFnZShjb250ZXh0LmFjY2VwdExhbmd1YWdlKTtcbiAgICBpZihsb2NhbGUpIHtcbiAgICAgIHJldHVybiBsb2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaWYoY29udGV4dC5pcENvdW50cnkpIHtcbiAgICBjb25zdCBsb2NhbGUgPSBjb3VudHJ5VG9Mb2NhbGVNYXBbY29udGV4dC5pcENvdW50cnldO1xuICAgIGlmKGxvY2FsZSkge1xuICAgICAgcmV0dXJuIGxvY2FsZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gJ2VuJztcbn07XG5cbmNvbnN0IHBhcnNlQWNjZXB0TGFuZ3VhZ2UgPSAoYWNjZXB0TGFuZ3VhZ2U6IHN0cmluZyk6IExvY2FsZSB8IG51bGwgPT4ge1xuICBjb25zdCBsYW5ndWFnZXMgPSBhY2NlcHRMYW5ndWFnZVxuICAgIC5zcGxpdCgnLCcpXG4gICAgLm1hcCgobGFuZykgPT4gbGFuZy50cmltKCkuc3BsaXQoJzsnKVswXSlcbiAgICAuZmlsdGVyKChsYW5nKSA9PiBsYW5nLmxlbmd0aCA+PSAyKTtcblxuICBmb3IoY29uc3QgbGFuZyBvZiBsYW5ndWFnZXMpIHtcbiAgICBjb25zdCBsb2NhbGUgPSBsYW5nLnN1YnN0cmluZygwLCAyKSBhcyBMb2NhbGU7XG4gICAgaWYoWydlbicsICdlcycsICdmcicsICdkZScsICdwdCcsICdpdCddLmluY2x1ZGVzKGxvY2FsZSkpIHtcbiAgICAgIHJldHVybiBsb2NhbGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQVNBLE1BQU1BLEVBQTZDLENBQ2pELEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxJQUNOLEVBRU1DLEVBQStDLENBQ25ELEVBQUcsS0FDSCxHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixHQUFJLEtBQ0osR0FBSSxLQUNKLEdBQUksS0FDSixJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLElBQUssS0FDTCxJQUFLLEtBQ0wsSUFBSyxLQUNMLEtBQU0sSUFDUixFQUVhQyxFQUFrQkMsR0FBOEMsQ0FDM0UsR0FBR0EsRUFBUSxlQUNULE9BQU9BLEVBQVEsZUFHakIsR0FBR0EsRUFBUSxpQkFBa0IsQ0FDM0IsTUFBTUMsRUFBU0gsRUFBcUJFLEVBQVEsZ0JBQWdCLEVBQzVELEdBQUdDLEVBQ0QsT0FBT0EsQ0FFWCxDQUVBLEdBQUdELEVBQVEsZUFBZ0IsQ0FDekIsTUFBTUMsRUFBU0MsRUFBb0JGLEVBQVEsY0FBYyxFQUN6RCxHQUFHQyxFQUNELE9BQU9BLENBRVgsQ0FFQSxHQUFHRCxFQUFRLFVBQVcsQ0FDcEIsTUFBTUMsRUFBU0osRUFBbUJHLEVBQVEsU0FBUyxFQUNuRCxHQUFHQyxFQUNELE9BQU9BLENBRVgsQ0FFQSxNQUFPLElBQ1QsRUFFTUMsRUFBdUJDLEdBQTBDLENBQ3JFLE1BQU1DLEVBQVlELEVBQ2YsTUFBTSxHQUFHLEVBQ1QsSUFBS0UsR0FBU0EsRUFBSyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZDLE9BQVFBLEdBQVNBLEVBQUssUUFBVSxDQUFDLEVBRXBDLFVBQVVBLEtBQVFELEVBQVcsQ0FDM0IsTUFBTUgsRUFBU0ksRUFBSyxVQUFVLEVBQUcsQ0FBQyxFQUNsQyxHQUFHLENBQUMsS0FBTSxLQUFNLEtBQU0sS0FBTSxLQUFNLElBQUksRUFBRSxTQUFTSixDQUFNLEVBQ3JELE9BQU9BLENBRVgsQ0FFQSxPQUFPLElBQ1QiLAogICJuYW1lcyI6IFsiY291bnRyeVRvTG9jYWxlTWFwIiwgInBob25lQ29kZVRvTG9jYWxlTWFwIiwgImRldGVjdExhbmd1YWdlIiwgImNvbnRleHQiLCAibG9jYWxlIiwgInBhcnNlQWNjZXB0TGFuZ3VhZ2UiLCAiYWNjZXB0TGFuZ3VhZ2UiLCAibGFuZ3VhZ2VzIiwgImxhbmciXQp9Cg==
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ import type { Locale } from '../types/content.types.js';
6
+ export declare const extractLanguage: (locale: string) => string;
7
+ export declare const isRegionalLocale: (locale: string) => boolean;
8
+ export declare const getFallbackChain: (locale: string) => string[];
9
+ export declare const getPrimaryLanguages: () => string[];
10
+ export declare const isValidLocale: (locale: string) => locale is Locale;
11
+ export declare const getSupportedLocales: () => Locale[];
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ export declare const runLocaleExamples: () => Promise<void>;
@@ -1,2 +1,2 @@
1
- import{extractLanguage as a,isRegionalLocale as r,getPrimaryLanguages as i,getSupportedLocales as u}from"./localeUtils";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(r(o)){const l=a(o)}return`[Content for ${e} in ${o}]`},f=u(),y=i(),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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2xvY2FsZVV0aWxzLmV4YW1wbGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI1LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5cbmltcG9ydCB7XG4gIGV4dHJhY3RMYW5ndWFnZSxcbiAgaXNSZWdpb25hbExvY2FsZSxcbiAgZ2V0RmFsbGJhY2tDaGFpbixcbiAgZ2V0UHJpbWFyeUxhbmd1YWdlcyxcbiAgaXNWYWxpZExvY2FsZSxcbiAgZ2V0U3VwcG9ydGVkTG9jYWxlc1xufSBmcm9tICcuL2xvY2FsZVV0aWxzJztcblxuLyoqXG4gKiBFeGFtcGxlOiBMb2NhbGUgVXRpbGl0aWVzIHdpdGggUmVnaW9uYWwgU3VwcG9ydFxuICpcbiAqIFRoaXMgZXhhbXBsZSBkZW1vbnN0cmF0ZXMgaG93IHRvIHVzZSB0aGUgbG9jYWxlIHV0aWxpdGllcyBmb3IgaGFuZGxpbmdcbiAqIHJlZ2lvbmFsIGxvY2FsZXMgKGUuZy4sIFwiZW4tdXNcIiwgXCJlcy1teFwiKSB3aXRoIGxhbmd1YWdlIGV4dHJhY3Rpb25cbiAqIGZvciB0cmFuc2xhdGlvbiBBUElzIHdoaWxlIG1haW50YWluaW5nIGZ1bGwgbG9jYWxlIHN1cHBvcnQgZm9yXG4gKiB0aW1lLCBjdXJyZW5jeSwgYW5kIG90aGVyIHJlZ2lvbmFsIGZvcm1hdHRpbmcuXG4gKi9cblxuLy8gRXhhbXBsZSAxOiBMYW5ndWFnZSBFeHRyYWN0aW9uIGZvciBUcmFuc2xhdGlvbiBBUElzXG5jb25zb2xlLmxvZygnPT09IExhbmd1YWdlIEV4dHJhY3Rpb24gRXhhbXBsZXMgPT09Jyk7XG5jb25zb2xlLmxvZyhleHRyYWN0TGFuZ3VhZ2UoJ2VuLXVzJykpOyAvLyAnZW4nXG5jb25zb2xlLmxvZyhleHRyYWN0TGFuZ3VhZ2UoJ2VzLW14JykpOyAvLyAnZXMnXG5jb25zb2xlLmxvZyhleHRyYWN0TGFuZ3VhZ2UoJ2ZyLWNhJykpOyAvLyAnZnInXG5jb25zb2xlLmxvZyhleHRyYWN0TGFuZ3VhZ2UoJ2VuJykpOyAvLyAnZW4nXG5cbi8vIEV4YW1wbGUgMjogUmVnaW9uYWwgTG9jYWxlIERldGVjdGlvblxuY29uc29sZS5sb2coJ1xcbj09PSBSZWdpb25hbCBMb2NhbGUgRGV0ZWN0aW9uID09PScpO1xuY29uc29sZS5sb2coaXNSZWdpb25hbExvY2FsZSgnZW4tdXMnKSk7IC8vIHRydWVcbmNvbnNvbGUubG9nKGlzUmVnaW9uYWxMb2NhbGUoJ2VzLW14JykpOyAvLyB0cnVlXG5jb25zb2xlLmxvZyhpc1JlZ2lvbmFsTG9jYWxlKCdlbicpKTsgLy8gZmFsc2VcbmNvbnNvbGUubG9nKGlzUmVnaW9uYWxMb2NhbGUoJ2ZyJykpOyAvLyBmYWxzZVxuXG4vLyBFeGFtcGxlIDM6IEZhbGxiYWNrIENoYWluIEdlbmVyYXRpb25cbmNvbnNvbGUubG9nKCdcXG49PT0gRmFsbGJhY2sgQ2hhaW4gRXhhbXBsZXMgPT09Jyk7XG5jb25zb2xlLmxvZyhnZXRGYWxsYmFja0NoYWluKCdlbi11cycpKTsgLy8gWydlbi11cycsICdlbiddXG5jb25zb2xlLmxvZyhnZXRGYWxsYmFja0NoYWluKCdlcy1teCcpKTsgLy8gWydlcy1teCcsICdlcyddXG5jb25zb2xlLmxvZyhnZXRGYWxsYmFja0NoYWluKCdmci1jYScpKTsgLy8gWydmci1jYScsICdmciddXG5jb25zb2xlLmxvZyhnZXRGYWxsYmFja0NoYWluKCdlbicpKTsgLy8gWydlbiddXG5cbi8vIEV4YW1wbGUgNDogVHJhbnNsYXRpb24gQVBJIEludGVncmF0aW9uXG5jb25zdCB0cmFuc2xhdGVUZXh0ID0gYXN5bmMgKHRleHQ6IHN0cmluZywgdGFyZ2V0TG9jYWxlOiBzdHJpbmcsIHNvdXJjZUxvY2FsZTogc3RyaW5nID0gJ2VuJykgPT4ge1xuICAvLyBFeHRyYWN0IGxhbmd1YWdlIGNvZGVzIGZvciB0cmFuc2xhdGlvbiBBUElcbiAgY29uc3QgdGFyZ2V0TGFuZ3VhZ2UgPSBleHRyYWN0TGFuZ3VhZ2UodGFyZ2V0TG9jYWxlKTtcbiAgY29uc3Qgc291cmNlTGFuZ3VhZ2UgPSBleHRyYWN0TGFuZ3VhZ2Uoc291cmNlTG9jYWxlKTtcblxuICBjb25zb2xlLmxvZyhgVHJhbnNsYXRpbmcgZnJvbSAke3NvdXJjZUxhbmd1YWdlfSB0byAke3RhcmdldExhbmd1YWdlfWApO1xuICBjb25zb2xlLmxvZyhgRnVsbCBsb2NhbGVzOiAke3NvdXJjZUxvY2FsZX0gXHUyMTkyICR7dGFyZ2V0TG9jYWxlfWApO1xuXG4gIC8vIENhbGwgdHJhbnNsYXRpb24gQVBJIHdpdGggbGFuZ3VhZ2UgY29kZXNcbiAgLy8gY29uc3QgcmVzdWx0ID0gYXdhaXQgZ29vZ2xlVHJhbnNsYXRlQVBJLnRyYW5zbGF0ZSh0ZXh0LCB0YXJnZXRMYW5ndWFnZSwgc291cmNlTGFuZ3VhZ2UpO1xuXG4gIHJldHVybiBgW1RyYW5zbGF0ZWQ6ICR7dGV4dH1dYDtcbn07XG5cbi8vIEV4YW1wbGUgNTogRGF0YWJhc2UgU3RvcmFnZSBTdHJhdGVneVxuY29uc3Qgc3RvcmVUcmFuc2xhdGlvbiA9IGFzeW5jIChrZXk6IHN0cmluZywgY29udGVudDogc3RyaW5nLCBsb2NhbGU6IHN0cmluZykgPT4ge1xuICAvLyBTdG9yZSB3aXRoIGZ1bGwgbG9jYWxlIGZvciByZWdpb25hbCBzdXBwb3J0XG4gIGNvbnNvbGUubG9nKGBTdG9yaW5nIHRyYW5zbGF0aW9uIGZvciBrZXkgXCIke2tleX1cIiB3aXRoIGxvY2FsZSBcIiR7bG9jYWxlfVwiYCk7XG5cbiAgLy8gRGF0YWJhc2UgcmVjb3JkIHdvdWxkIGluY2x1ZGU6XG4gIC8vIC0ga2V5OiBcIndlbGNvbWVfbWVzc2FnZVwiXG4gIC8vIC0gbG9jYWxlOiBcImVuLXVzXCIgKGZ1bGwgbG9jYWxlIHdpdGggcmVnaW9uKVxuICAvLyAtIGNvbnRlbnQ6IFwiV2VsY29tZSB0byBvdXIgVVMgc2l0ZSFcIlxuXG4gIHJldHVybiB7a2V5LCBsb2NhbGUsIGNvbnRlbnR9O1xufTtcblxuLy8gRXhhbXBsZSA2OiBDb250ZW50IFJldHJpZXZhbCB3aXRoIEZhbGxiYWNrXG5jb25zdCBnZXRDb250ZW50V2l0aEZhbGxiYWNrID0gYXN5bmMgKGtleTogc3RyaW5nLCByZXF1ZXN0ZWRMb2NhbGU6IHN0cmluZykgPT4ge1xuICBjb25zb2xlLmxvZyhgXFxuPT09IENvbnRlbnQgUmV0cmlldmFsIGZvciBcIiR7a2V5fVwiIHdpdGggbG9jYWxlIFwiJHtyZXF1ZXN0ZWRMb2NhbGV9XCIgPT09YCk7XG5cbiAgLy8gMS4gVHJ5IGV4YWN0IGxvY2FsZSBtYXRjaCBmaXJzdFxuICBjb25zb2xlLmxvZyhgMS4gVHJ5aW5nIGV4YWN0IG1hdGNoOiAke3JlcXVlc3RlZExvY2FsZX1gKTtcblxuICAvLyAyLiBJZiByZWdpb25hbCBsb2NhbGUgYW5kIG5vIGV4YWN0IG1hdGNoLCB0cnkgbGFuZ3VhZ2UgZmFsbGJhY2tcbiAgaWYoaXNSZWdpb25hbExvY2FsZShyZXF1ZXN0ZWRMb2NhbGUpKSB7XG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBleHRyYWN0TGFuZ3VhZ2UocmVxdWVzdGVkTG9jYWxlKTtcbiAgICBjb25zb2xlLmxvZyhgMi4gVHJ5aW5nIGxhbmd1YWdlIGZhbGxiYWNrOiAke2xhbmd1YWdlfWApO1xuXG4gICAgLy8gSWYgZm91bmQsIHN0b3JlIHRoZSByZWdpb25hbCB2ZXJzaW9uIGZvciBmdXR1cmUgdXNlXG4gICAgY29uc29sZS5sb2coYDMuIFN0b3JpbmcgZXh0cmFjdGVkIGNvbnRlbnQgZm9yICR7cmVxdWVzdGVkTG9jYWxlfWApO1xuICB9XG5cbiAgLy8gMy4gSWYgc3RpbGwgbm8gbWF0Y2gsIHVzZSBhcHAgZGVmYXVsdCBsb2NhbGVcbiAgY29uc29sZS5sb2coJzQuIEZhbGxpbmcgYmFjayB0byBhcHAgZGVmYXVsdCBsb2NhbGUnKTtcblxuICByZXR1cm4gYFtDb250ZW50IGZvciAke2tleX0gaW4gJHtyZXF1ZXN0ZWRMb2NhbGV9XWA7XG59O1xuXG4vLyBFeGFtcGxlIDc6IFZhbGlkYXRpb25cbmNvbnNvbGUubG9nKCdcXG49PT0gTG9jYWxlIFZhbGlkYXRpb24gPT09Jyk7XG5jb25zb2xlLmxvZyhpc1ZhbGlkTG9jYWxlKCdlbi11cycpKTsgLy8gdHJ1ZVxuY29uc29sZS5sb2coaXNWYWxpZExvY2FsZSgnZXMtbXgnKSk7IC8vIHRydWVcbmNvbnNvbGUubG9nKGlzVmFsaWRMb2NhbGUoJ2ludmFsaWQnKSk7IC8vIGZhbHNlXG5jb25zb2xlLmxvZyhpc1ZhbGlkTG9jYWxlKCdlbi14eCcpKTsgLy8gZmFsc2VcblxuLy8gRXhhbXBsZSA4OiBTdXBwb3J0ZWQgTG9jYWxlc1xuY29uc29sZS5sb2coJ1xcbj09PSBTdXBwb3J0ZWQgTG9jYWxlcyA9PT0nKTtcbmNvbnN0IHN1cHBvcnRlZExvY2FsZXMgPSBnZXRTdXBwb3J0ZWRMb2NhbGVzKCk7XG5jb25zb2xlLmxvZyhgVG90YWwgc3VwcG9ydGVkIGxvY2FsZXM6ICR7c3VwcG9ydGVkTG9jYWxlcy5sZW5ndGh9YCk7XG5jb25zb2xlLmxvZygnRW5nbGlzaCB2YXJpYW50czonLCBzdXBwb3J0ZWRMb2NhbGVzLmZpbHRlcigobCkgPT4gbC5zdGFydHNXaXRoKCdlbicpKSk7XG5jb25zb2xlLmxvZygnU3BhbmlzaCB2YXJpYW50czonLCBzdXBwb3J0ZWRMb2NhbGVzLmZpbHRlcigobCkgPT4gbC5zdGFydHNXaXRoKCdlcycpKSk7XG5cbi8vIEV4YW1wbGUgOTogUHJpbWFyeSBMYW5ndWFnZXNcbmNvbnNvbGUubG9nKCdcXG49PT0gUHJpbWFyeSBMYW5ndWFnZXMgPT09Jyk7XG5jb25zdCBwcmltYXJ5TGFuZ3VhZ2VzID0gZ2V0UHJpbWFyeUxhbmd1YWdlcygpO1xuY29uc29sZS5sb2coJ1ByaW1hcnkgbGFuZ3VhZ2VzOicsIHByaW1hcnlMYW5ndWFnZXMpO1xuXG4vLyBFeGFtcGxlIDEwOiBDb21wbGV0ZSBXb3JrZmxvd1xuY29uc3QgY29tcGxldGVUcmFuc2xhdGlvbldvcmtmbG93ID0gYXN5bmMgKCkgPT4ge1xuICBjb25zb2xlLmxvZygnXFxuPT09IENvbXBsZXRlIFRyYW5zbGF0aW9uIFdvcmtmbG93ID09PScpO1xuXG4gIGNvbnN0IGtleSA9ICd3ZWxjb21lX21lc3NhZ2UnO1xuICBjb25zdCB1c2VyTG9jYWxlID0gJ2VzLW14JzsgLy8gVXNlcidzIGZ1bGwgbG9jYWxlXG4gIGNvbnN0IGFwcExvY2FsZSA9ICdlbi11cyc7IC8vIEFwcCdzIGRlZmF1bHQgbG9jYWxlXG5cbiAgLy8gMS4gRXh0cmFjdCBsYW5ndWFnZSBmb3IgdHJhbnNsYXRpb24gQVBJXG4gIGNvbnN0IHVzZXJMYW5ndWFnZSA9IGV4dHJhY3RMYW5ndWFnZSh1c2VyTG9jYWxlKTtcbiAgY29uc3QgYXBwTGFuZ3VhZ2UgPSBleHRyYWN0TGFuZ3VhZ2UoYXBwTG9jYWxlKTtcblxuICBjb25zb2xlLmxvZyhgVXNlciBsb2NhbGU6ICR7dXNlckxvY2FsZX0gKGxhbmd1YWdlOiAke3VzZXJMYW5ndWFnZX0pYCk7XG4gIGNvbnNvbGUubG9nKGBBcHAgbG9jYWxlOiAke2FwcExvY2FsZX0gKGxhbmd1YWdlOiAke2FwcExhbmd1YWdlfSlgKTtcblxuICAvLyAyLiBDaGVjayBpZiB3ZSBuZWVkIHRyYW5zbGF0aW9uXG4gIGlmKHVzZXJMYW5ndWFnZSAhPT0gYXBwTGFuZ3VhZ2UpIHtcbiAgICBjb25zb2xlLmxvZygnVHJhbnNsYXRpb24gbmVlZGVkIScpO1xuXG4gICAgLy8gMy4gR2V0IHNvdXJjZSBjb250ZW50IChmcm9tIGFwcCBsb2NhbGUpXG4gICAgY29uc3Qgc291cmNlQ29udGVudCA9IGF3YWl0IGdldENvbnRlbnRXaXRoRmFsbGJhY2soa2V5LCBhcHBMb2NhbGUpO1xuXG4gICAgLy8gNC4gVHJhbnNsYXRlIHVzaW5nIGxhbmd1YWdlIGNvZGVzXG4gICAgY29uc3QgdHJhbnNsYXRlZENvbnRlbnQgPSBhd2FpdCB0cmFuc2xhdGVUZXh0KHNvdXJjZUNvbnRlbnQsIHVzZXJMYW5ndWFnZSwgYXBwTGFuZ3VhZ2UpO1xuXG4gICAgLy8gNS4gU3RvcmUgd2l0aCBmdWxsIGxvY2FsZVxuICAgIGF3YWl0IHN0b3JlVHJhbnNsYXRpb24oa2V5LCB0cmFuc2xhdGVkQ29udGVudCwgdXNlckxvY2FsZSk7XG5cbiAgICBjb25zb2xlLmxvZyhgVHJhbnNsYXRpb24gY29tcGxldGU6ICR7dHJhbnNsYXRlZENvbnRlbnR9YCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5sb2coJ05vIHRyYW5zbGF0aW9uIG5lZWRlZCAtIHNhbWUgbGFuZ3VhZ2UnKTtcbiAgfVxufTtcblxuLy8gUnVuIGV4YW1wbGVzXG5leHBvcnQgY29uc3QgcnVuTG9jYWxlRXhhbXBsZXMgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnNvbGUubG9nKCdMb2NhbGUgVXRpbGl0aWVzIEV4YW1wbGVzXFxuJyk7XG5cbiAgLy8gUnVuIHN5bmNocm9ub3VzIGV4YW1wbGVzXG4gIGNvbnNvbGUubG9nKCdTeW5jaHJvbm91cyBleGFtcGxlcyBjb21wbGV0ZWQgYWJvdmUnKTtcblxuICAvLyBSdW4gYXN5bmMgZXhhbXBsZXNcbiAgYXdhaXQgZ2V0Q29udGVudFdpdGhGYWxsYmFjaygnd2VsY29tZV9tZXNzYWdlJywgJ2VzLW14Jyk7XG4gIGF3YWl0IGNvbXBsZXRlVHJhbnNsYXRpb25Xb3JrZmxvdygpO1xuXG4gIGNvbnNvbGUubG9nKCdcXG49PT0gRXhhbXBsZSBDb21wbGV0ZSA9PT0nKTtcbn07XG5cbi8vIFVuY29tbWVudCB0byBydW4gZXhhbXBsZXNcbi8vIHJ1bkxvY2FsZUV4YW1wbGVzKCk7Il0sCiAgIm1hcHBpbmdzIjogIkFBS0EsT0FDRSxtQkFBQUEsRUFDQSxvQkFBQUMsRUFFQSx1QkFBQUMsRUFFQSx1QkFBQUMsTUFDSyxnQkFpQ1AsTUFBTUMsRUFBZ0IsTUFBT0MsRUFBY0MsRUFBc0JDLEVBQXVCLE9BQVMsQ0FFL0YsTUFBTUMsRUFBaUJSLEVBQWdCTSxDQUFZLEVBQzdDRyxFQUFpQlQsRUFBZ0JPLENBQVksRUFRbkQsTUFBTyxnQkFBZ0JGLENBQUksR0FDN0IsRUFHTUssRUFBbUIsTUFBT0MsRUFBYUMsRUFBaUJDLEtBU3JELENBQUMsSUFBQUYsRUFBSyxPQUFBRSxFQUFRLFFBQUFELENBQU8sR0FJeEJFLEVBQXlCLE1BQU9ILEVBQWFJLElBQTRCLENBTzdFLEdBQUdkLEVBQWlCYyxDQUFlLEVBQUcsQ0FDcEMsTUFBTUMsRUFBV2hCLEVBQWdCZSxDQUFlLENBS2xELENBS0EsTUFBTyxnQkFBZ0JKLENBQUcsT0FBT0ksQ0FBZSxHQUNsRCxFQVdNRSxFQUFtQmQsRUFBb0IsRUFPdkNlLEVBQW1CaEIsRUFBb0IsRUFJdkNpQixFQUE4QixTQUFZLENBRzlDLE1BQU1SLEVBQU0sa0JBQ05TLEVBQWEsUUFDYkMsRUFBWSxRQUdaQyxFQUFldEIsRUFBZ0JvQixDQUFVLEVBQ3pDRyxFQUFjdkIsRUFBZ0JxQixDQUFTLEVBTTdDLEdBQUdDLElBQWlCQyxFQUFhLENBSS9CLE1BQU1DLEVBQWdCLE1BQU1WLEVBQXVCSCxFQUFLVSxDQUFTLEVBRzNESSxFQUFvQixNQUFNckIsRUFBY29CLEVBQWVGLEVBQWNDLENBQVcsRUFHdEYsTUFBTWIsRUFBaUJDLEVBQUtjLEVBQW1CTCxDQUFVLENBRzNELENBR0YsRUFHYU0sRUFBb0IsU0FBWSxDQU8zQyxNQUFNWixFQUF1QixrQkFBbUIsT0FBTyxFQUN2RCxNQUFNSyxFQUE0QixDQUdwQyIsCiAgIm5hbWVzIjogWyJleHRyYWN0TGFuZ3VhZ2UiLCAiaXNSZWdpb25hbExvY2FsZSIsICJnZXRQcmltYXJ5TGFuZ3VhZ2VzIiwgImdldFN1cHBvcnRlZExvY2FsZXMiLCAidHJhbnNsYXRlVGV4dCIsICJ0ZXh0IiwgInRhcmdldExvY2FsZSIsICJzb3VyY2VMb2NhbGUiLCAidGFyZ2V0TGFuZ3VhZ2UiLCAic291cmNlTGFuZ3VhZ2UiLCAic3RvcmVUcmFuc2xhdGlvbiIsICJrZXkiLCAiY29udGVudCIsICJsb2NhbGUiLCAiZ2V0Q29udGVudFdpdGhGYWxsYmFjayIsICJyZXF1ZXN0ZWRMb2NhbGUiLCAibGFuZ3VhZ2UiLCAic3VwcG9ydGVkTG9jYWxlcyIsICJwcmltYXJ5TGFuZ3VhZ2VzIiwgImNvbXBsZXRlVHJhbnNsYXRpb25Xb3JrZmxvdyIsICJ1c2VyTG9jYWxlIiwgImFwcExvY2FsZSIsICJ1c2VyTGFuZ3VhZ2UiLCAiYXBwTGFuZ3VhZ2UiLCAic291cmNlQ29udGVudCIsICJ0cmFuc2xhdGVkQ29udGVudCIsICJydW5Mb2NhbGVFeGFtcGxlcyJdCn0K
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 +1,2 @@
1
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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2xvY2FsZVV0aWxzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHR5cGUge0xvY2FsZX0gZnJvbSAnLi4vdHlwZXMvY29udGVudC50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0TGFuZ3VhZ2UgPSAobG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcgPT4gbG9jYWxlLnNwbGl0KCctJylbMF07XG5cbmV4cG9ydCBjb25zdCBpc1JlZ2lvbmFsTG9jYWxlID0gKGxvY2FsZTogc3RyaW5nKTogYm9vbGVhbiA9PiBsb2NhbGUuaW5jbHVkZXMoJy0nKTtcblxuZXhwb3J0IGNvbnN0IGdldEZhbGxiYWNrQ2hhaW4gPSAobG9jYWxlOiBzdHJpbmcpOiBzdHJpbmdbXSA9PiB7XG4gIGNvbnN0IGxhbmd1YWdlID0gZXh0cmFjdExhbmd1YWdlKGxvY2FsZSk7XG4gIHJldHVybiBpc1JlZ2lvbmFsTG9jYWxlKGxvY2FsZSkgPyBbbG9jYWxlLCBsYW5ndWFnZV0gOiBbbG9jYWxlXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQcmltYXJ5TGFuZ3VhZ2VzID0gKCk6IHN0cmluZ1tdID0+IFsnZW4nLCAnZXMnLCAnZnInLCAnZGUnLCAncHQnLCAnaXQnXTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRMb2NhbGUgPSAobG9jYWxlOiBzdHJpbmcpOiBsb2NhbGUgaXMgTG9jYWxlID0+IHtcbiAgY29uc3QgdmFsaWRMb2NhbGVzOiBMb2NhbGVbXSA9IFtcbiAgICAnZW4nLCAnZW4tdXMnLCAnZW4tZ2InLCAnZW4tY2EnLCAnZW4tYXUnLFxuICAgICdlcycsICdlcy1teCcsICdlcy1lcycsICdlcy1hcicsXG4gICAgJ2ZyJywgJ2ZyLWZyJywgJ2ZyLWNhJyxcbiAgICAnZGUnLCAnZGUtZGUnLCAnZGUtYXQnLFxuICAgICdwdCcsICdwdC1icicsICdwdC1wdCcsXG4gICAgJ2l0JywgJ2l0LWl0J1xuICBdO1xuICByZXR1cm4gdmFsaWRMb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSBhcyBMb2NhbGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFN1cHBvcnRlZExvY2FsZXMgPSAoKTogTG9jYWxlW10gPT4gW1xuICAnZW4nLCAnZW4tdXMnLCAnZW4tZ2InLCAnZW4tY2EnLCAnZW4tYXUnLFxuICAnZXMnLCAnZXMtbXgnLCAnZXMtZXMnLCAnZXMtYXInLFxuICAnZnInLCAnZnItZnInLCAnZnItY2EnLFxuICAnZGUnLCAnZGUtZGUnLCAnZGUtYXQnLFxuICAncHQnLCAncHQtYnInLCAncHQtcHQnLFxuICAnaXQnLCAnaXQtaXQnXG5dOyJdLAogICJtYXBwaW5ncyI6ICJBQU1PLE1BQU1BLEVBQW1CQyxHQUEyQkEsRUFBTyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBRWpFQyxFQUFvQkQsR0FBNEJBLEVBQU8sU0FBUyxHQUFHLEVBRW5FRSxFQUFvQkYsR0FBNkIsQ0FDNUQsTUFBTUcsRUFBV0osRUFBZ0JDLENBQU0sRUFDdkMsT0FBT0MsRUFBaUJELENBQU0sRUFBSSxDQUFDQSxFQUFRRyxDQUFRLEVBQUksQ0FBQ0gsQ0FBTSxDQUNoRSxFQUVhSSxFQUFzQixJQUFnQixDQUFDLEtBQU0sS0FBTSxLQUFNLEtBQU0sS0FBTSxJQUFJLEVBRXpFQyxFQUFpQkwsR0FDRyxDQUM3QixLQUFNLFFBQVMsUUFBUyxRQUFTLFFBQ2pDLEtBQU0sUUFBUyxRQUFTLFFBQ3hCLEtBQU0sUUFBUyxRQUNmLEtBQU0sUUFBUyxRQUNmLEtBQU0sUUFBUyxRQUNmLEtBQU0sT0FDUixFQUNvQixTQUFTQSxDQUFnQixFQUdsQ00sRUFBc0IsSUFBZ0IsQ0FDakQsS0FBTSxRQUFTLFFBQVMsUUFBUyxRQUNqQyxLQUFNLFFBQVMsUUFBUyxRQUN4QixLQUFNLFFBQVMsUUFDZixLQUFNLFFBQVMsUUFDZixLQUFNLFFBQVMsUUFDZixLQUFNLE9BQ1IiLAogICJuYW1lcyI6IFsiZXh0cmFjdExhbmd1YWdlIiwgImxvY2FsZSIsICJpc1JlZ2lvbmFsTG9jYWxlIiwgImdldEZhbGxiYWNrQ2hhaW4iLCAibGFuZ3VhZ2UiLCAiZ2V0UHJpbWFyeUxhbmd1YWdlcyIsICJpc1ZhbGlkTG9jYWxlIiwgImdldFN1cHBvcnRlZExvY2FsZXMiXQp9Cg==
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2xvY2FsZVV0aWxzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHR5cGUge0xvY2FsZX0gZnJvbSAnLi4vdHlwZXMvY29udGVudC50eXBlcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0TGFuZ3VhZ2UgPSAobG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcgPT4gbG9jYWxlLnNwbGl0KCctJylbMF07XG5cbmV4cG9ydCBjb25zdCBpc1JlZ2lvbmFsTG9jYWxlID0gKGxvY2FsZTogc3RyaW5nKTogYm9vbGVhbiA9PiBsb2NhbGUuaW5jbHVkZXMoJy0nKTtcblxuZXhwb3J0IGNvbnN0IGdldEZhbGxiYWNrQ2hhaW4gPSAobG9jYWxlOiBzdHJpbmcpOiBzdHJpbmdbXSA9PiB7XG4gIGNvbnN0IGxhbmd1YWdlID0gZXh0cmFjdExhbmd1YWdlKGxvY2FsZSk7XG4gIHJldHVybiBpc1JlZ2lvbmFsTG9jYWxlKGxvY2FsZSkgPyBbbG9jYWxlLCBsYW5ndWFnZV0gOiBbbG9jYWxlXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQcmltYXJ5TGFuZ3VhZ2VzID0gKCk6IHN0cmluZ1tdID0+IFsnZW4nLCAnZXMnLCAnZnInLCAnZGUnLCAncHQnLCAnaXQnXTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRMb2NhbGUgPSAobG9jYWxlOiBzdHJpbmcpOiBsb2NhbGUgaXMgTG9jYWxlID0+IHtcbiAgY29uc3QgdmFsaWRMb2NhbGVzOiBMb2NhbGVbXSA9IFtcbiAgICAnZW4nLCAnZW4tdXMnLCAnZW4tZ2InLCAnZW4tY2EnLCAnZW4tYXUnLFxuICAgICdlcycsICdlcy1teCcsICdlcy1lcycsICdlcy1hcicsXG4gICAgJ2ZyJywgJ2ZyLWZyJywgJ2ZyLWNhJyxcbiAgICAnZGUnLCAnZGUtZGUnLCAnZGUtYXQnLFxuICAgICdwdCcsICdwdC1icicsICdwdC1wdCcsXG4gICAgJ2l0JywgJ2l0LWl0J1xuICBdO1xuICByZXR1cm4gdmFsaWRMb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSBhcyBMb2NhbGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFN1cHBvcnRlZExvY2FsZXMgPSAoKTogTG9jYWxlW10gPT4gW1xuICAnZW4nLCAnZW4tdXMnLCAnZW4tZ2InLCAnZW4tY2EnLCAnZW4tYXUnLFxuICAnZXMnLCAnZXMtbXgnLCAnZXMtZXMnLCAnZXMtYXInLFxuICAnZnInLCAnZnItZnInLCAnZnItY2EnLFxuICAnZGUnLCAnZGUtZGUnLCAnZGUtYXQnLFxuICAncHQnLCAncHQtYnInLCAncHQtcHQnLFxuICAnaXQnLCAnaXQtaXQnXG5dOyJdLAogICJtYXBwaW5ncyI6ICJBQU1PLE1BQU1BLEVBQW1CQyxHQUEyQkEsRUFBTyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBRWpFQyxFQUFvQkQsR0FBNEJBLEVBQU8sU0FBUyxHQUFHLEVBRW5FRSxFQUFvQkYsR0FBNkIsQ0FDNUQsTUFBTUcsRUFBV0osRUFBZ0JDLENBQU0sRUFDdkMsT0FBT0MsRUFBaUJELENBQU0sRUFBSSxDQUFDQSxFQUFRRyxDQUFRLEVBQUksQ0FBQ0gsQ0FBTSxDQUNoRSxFQUVhSSxFQUFzQixJQUFnQixDQUFDLEtBQU0sS0FBTSxLQUFNLEtBQU0sS0FBTSxJQUFJLEVBRXpFQyxFQUFpQkwsR0FDRyxDQUM3QixLQUFNLFFBQVMsUUFBUyxRQUFTLFFBQ2pDLEtBQU0sUUFBUyxRQUFTLFFBQ3hCLEtBQU0sUUFBUyxRQUNmLEtBQU0sUUFBUyxRQUNmLEtBQU0sUUFBUyxRQUNmLEtBQU0sT0FDUixFQUNvQixTQUFTQSxDQUFnQixFQUdsQ00sRUFBc0IsSUFBZ0IsQ0FDakQsS0FBTSxRQUFTLFFBQVMsUUFBUyxRQUNqQyxLQUFNLFFBQVMsUUFBUyxRQUN4QixLQUFNLFFBQVMsUUFDZixLQUFNLFFBQVMsUUFDZixLQUFNLFFBQVMsUUFDZixLQUFNLE9BQ1IiLAogICJuYW1lcyI6IFsiZXh0cmFjdExhbmd1YWdlIiwgImxvY2FsZSIsICJpc1JlZ2lvbmFsTG9jYWxlIiwgImdldEZhbGxiYWNrQ2hhaW4iLCAibGFuZ3VhZ2UiLCAiZ2V0UHJpbWFyeUxhbmd1YWdlcyIsICJpc1ZhbGlkTG9jYWxlIiwgImdldFN1cHBvcnRlZExvY2FsZXMiXQp9Cg==
@@ -0,0 +1,2 @@
1
+ import type { ApiContext } from '../types/auth.types.js';
2
+ export declare const addFieldsToContext: (resolve: Function, parent: any, args: any, context: ApiContext, info: any) => any;
@@ -1,2 +1,2 @@
1
- import{getGqlFields as s}from"./arangodbUtils";const d=(e,o,n,i,t)=>{const p={...i,fields:s(t)};return e(o,n,p,t)};export{d as addFieldsToContext};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL21pZGRsZXdhcmVVdGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtnZXRHcWxGaWVsZHN9IGZyb20gJy4vYXJhbmdvZGJVdGlscyc7XG5cbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGFkZEZpZWxkc1RvQ29udGV4dCA9IChcbiAgcmVzb2x2ZTogRnVuY3Rpb24sXG4gIHBhcmVudDogYW55LFxuICBhcmdzOiBhbnksXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGluZm86IGFueVxuKSA9PiB7XG4gIGNvbnN0IGNvbnRleHRXaXRoRmllbGRzID0ge1xuICAgIC4uLmNvbnRleHQsXG4gICAgZmllbGRzOiBnZXRHcWxGaWVsZHMoaW5mbylcbiAgfTtcblxuICByZXR1cm4gcmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGNvbnRleHRXaXRoRmllbGRzLCBpbmZvKTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxnQkFBQUEsTUFBbUIsa0JBSXBCLE1BQU1DLEVBQXFCLENBQ2hDQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxJQUNHLENBQ0gsTUFBTUMsRUFBb0IsQ0FDeEIsR0FBR0YsRUFDSCxPQUFRTCxFQUFhTSxDQUFJLENBQzNCLEVBRUEsT0FBT0osRUFBUUMsRUFBUUMsRUFBTUcsRUFBbUJELENBQUksQ0FDdEQiLAogICJuYW1lcyI6IFsiZ2V0R3FsRmllbGRzIiwgImFkZEZpZWxkc1RvQ29udGV4dCIsICJyZXNvbHZlIiwgInBhcmVudCIsICJhcmdzIiwgImNvbnRleHQiLCAiaW5mbyIsICJjb250ZXh0V2l0aEZpZWxkcyJdCn0K
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
@@ -0,0 +1,18 @@
1
+ export type Session = {
2
+ readonly errors?: string[];
3
+ readonly exp?: number;
4
+ readonly iat?: number;
5
+ readonly username?: string;
6
+ readonly userAccess?: number;
7
+ readonly userId: string;
8
+ };
9
+ export type SessionToken = {
10
+ readonly expires: number;
11
+ readonly issued: number;
12
+ readonly token: string;
13
+ readonly userId: string;
14
+ readonly username: string;
15
+ };
16
+ export declare const setSession: (session: Session) => string;
17
+ export declare const getSession: (token: string) => Session;
18
+ export declare const isAdminUser: (session?: Session) => boolean;
@@ -1,2 +1,2 @@
1
- import e from"jsonwebtoken";const t=r=>e.sign(r,process.env.SESSION_SECRET),i=r=>{try{return e.verify(r,process.env.SESSION_SECRET)}catch(s){switch(s.message){case"jwt expired":throw new Error("expired_session");default:throw new Error("invalid_session")}}},a=r=>r.userAccess>2;export{i as getSession,a as isAdminUser,t as setSession};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3Nlc3Npb25VdGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCBqd3QgZnJvbSAnanNvbndlYnRva2VuJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuL2FuYWx5dGljc1V0aWxzJztcblxuZXhwb3J0IHR5cGUgU2Vzc2lvbiA9IHtcbiAgcmVhZG9ubHkgZXJyb3JzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IGV4cD86IG51bWJlcjtcbiAgcmVhZG9ubHkgaWF0PzogbnVtYmVyO1xuICByZWFkb25seSB1c2VybmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlckFjY2Vzcz86IG51bWJlcjtcbiAgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBTZXNzaW9uVG9rZW4gPSB7XG4gIHJlYWRvbmx5IGV4cGlyZXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgaXNzdWVkOiBudW1iZXI7XG4gIHJlYWRvbmx5IHRva2VuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJJZDogc3RyaW5nO1xuICByZWFkb25seSB1c2VybmFtZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFNlc3Npb24gPSAoc2Vzc2lvbjogU2Vzc2lvbik6IHN0cmluZyA9PiBqd3Quc2lnbihzZXNzaW9uLCBwcm9jZXNzLmVudi5TRVNTSU9OX1NFQ1JFVCk7XG5cbmV4cG9ydCBjb25zdCBnZXRTZXNzaW9uID0gKHRva2VuOiBzdHJpbmcpOiBTZXNzaW9uID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gand0LnZlcmlmeSh0b2tlbiwgcHJvY2Vzcy5lbnYuU0VTU0lPTl9TRUNSRVQpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgc3dpdGNoKGVycm9yLm1lc3NhZ2UpIHtcbiAgICAgIGNhc2UgJ2p3dCBleHBpcmVkJzoge1xuICAgICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoJ2V4cGlyZWRfc2Vzc2lvbicpO1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcignaW52YWxpZF9zZXNzaW9uJyk7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpc0FkbWluVXNlciA9IChzZXNzaW9uOiBTZXNzaW9uKSA9PiBzZXNzaW9uLnVzZXJBY2Nlc3MgPiAyOyJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQU9BLE1BQVMsZUFzQlQsTUFBTUMsRUFBY0MsR0FBNkJGLEVBQUksS0FBS0UsRUFBUyxRQUFRLElBQUksY0FBYyxFQUV2RkMsRUFBY0MsR0FBMkIsQ0FDcEQsR0FBSSxDQUNGLE9BQU9KLEVBQUksT0FBT0ksRUFBTyxRQUFRLElBQUksY0FBYyxDQUNyRCxPQUFRQyxFQUFPLENBQ2IsT0FBT0EsRUFBTSxRQUFTLENBQ3BCLElBQUssY0FFSCxNQURZLElBQUksTUFBTSxpQkFBaUIsRUFHekMsUUFFRSxNQURZLElBQUksTUFBTSxpQkFBaUIsQ0FHM0MsQ0FDRixDQUNGLEVBRWFDLEVBQWVKLEdBQXFCQSxFQUFRLFdBQWEiLAogICJuYW1lcyI6IFsiand0IiwgInNldFNlc3Npb24iLCAic2Vzc2lvbiIsICJnZXRTZXNzaW9uIiwgInRva2VuIiwgImVycm9yIiwgImlzQWRtaW5Vc2VyIl0KfQo=
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==
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ import stripe from 'stripe';
6
+ export declare const stripeApiVersion = "2025-07-30.basil";
7
+ export declare const getStripeClient: () => stripe;
@@ -1,2 +1,2 @@
1
- import t from"stripe";import{Config as e}from"../config";const i="2025-05-28.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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3N0cmlwZVV0aWxzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHN0cmlwZSBmcm9tICdzdHJpcGUnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IHN0cmlwZUFwaVZlcnNpb24gPSAnMjAyNS0wNS0yOC5iYXNpbCc7XG5cbmV4cG9ydCBjb25zdCBnZXRTdHJpcGVDbGllbnQgPSAoKSA9PiBuZXcgc3RyaXBlKENvbmZpZy5nZXQoJ3N0cmlwZS50b2tlbicpLCB7YXBpVmVyc2lvbjogc3RyaXBlQXBpVmVyc2lvbiwgdHlwZXNjcmlwdDogdHJ1ZX0pOyJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQU9BLE1BQVksU0FFbkIsT0FBUSxVQUFBQyxNQUFhLFlBRWQsTUFBTUMsRUFBbUIsbUJBRW5CQyxFQUFrQixJQUFNLElBQUlILEVBQU9DLEVBQU8sSUFBSSxjQUFjLEVBQUcsQ0FBQyxXQUFZQyxFQUFrQixXQUFZLEVBQUksQ0FBQyIsCiAgIm5hbWVzIjogWyJzdHJpcGUiLCAiQ29uZmlnIiwgInN0cmlwZUFwaVZlcnNpb24iLCAiZ2V0U3RyaXBlQ2xpZW50Il0KfQo=
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=
@@ -0,0 +1,3 @@
1
+ export type TemplateParams = Record<string, string>;
2
+ export declare const parseTemplate: (template: string, params: TemplateParams) => string;
3
+ export declare const createTemplate: <T extends TemplateParams>(templateString: string, params: T) => string;
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ import { jest } from '@jest/globals';
6
+ import type { GraphQLResolveInfo } from 'graphql';
7
+ import type { ApiContext } from '../types/auth.types.js';
8
+ type MockOverrides = Partial<Record<string, unknown>>;
9
+ type TestContext = Partial<ApiContext> & {
10
+ session?: Partial<{
11
+ userId: string;
12
+ username: string;
13
+ userAccess: number;
14
+ }>;
15
+ };
16
+ type TestArgs = Record<string, unknown>;
17
+ type TestReturnValue = unknown;
18
+ export declare const createMockContext: (overrides?: MockOverrides) => ApiContext;
19
+ export declare const createMockResolveInfo: (fieldName?: string) => GraphQLResolveInfo;
20
+ export declare const mockActionsModule: (modulePath: string, mockActions: Record<string, jest.Mock>) => Promise<void>;
21
+ export declare const mockObjectType: (modulePath: string, typeName: string) => Promise<void>;
22
+ export declare const createQueryTestSuite: (name: string, actionsPath: string, testCases: Array<{
23
+ name: string;
24
+ actionName: string;
25
+ args: TestArgs;
26
+ expectedCall: (context: TestContext, args: TestArgs) => TestArgs;
27
+ mockReturnValue: TestReturnValue;
28
+ errorCase?: boolean;
29
+ }>) => void;
30
+ export declare const createMutationTestSuite: (name: string, actionsPath: string, testCases: Array<{
31
+ name: string;
32
+ actionName: string;
33
+ args: TestArgs;
34
+ expectedCall: (context: TestContext, args: TestArgs) => TestArgs;
35
+ mockReturnValue: TestReturnValue;
36
+ requiresAuth?: boolean;
37
+ authUserId?: string;
38
+ }>) => void;
39
+ export declare const createIntegrationTestSuite: (name: string, actionsPath: string, objectTypePath: string, typeName: string, testCases: Array<{
40
+ name: string;
41
+ actionName: string;
42
+ args: TestArgs;
43
+ expectedCall: (context: TestContext, args: TestArgs) => TestArgs;
44
+ successReturnValue: TestReturnValue;
45
+ errorReturnValue: TestReturnValue;
46
+ testErrorCase: boolean;
47
+ }>) => void;
48
+ export declare const createMockUser: (overrides?: MockOverrides) => {
49
+ email: string;
50
+ firstName: string;
51
+ lastName: string;
52
+ userId: string;
53
+ username: string;
54
+ };
55
+ export declare const createMockPost: (overrides?: MockOverrides) => {
56
+ content: string;
57
+ createdAt: string;
58
+ postId: string;
59
+ userId: string;
60
+ };
61
+ export declare const createMockMessage: (overrides?: MockOverrides) => {
62
+ content: string;
63
+ conversationId: string;
64
+ createdAt: string;
65
+ messageId: string;
66
+ userId: string;
67
+ };
68
+ export declare const createMockReaction: (overrides?: MockOverrides) => {
69
+ createdAt: string;
70
+ postId: string;
71
+ reactionId: string;
72
+ type: string;
73
+ userId: string;
74
+ };
75
+ export declare const createMockTag: (overrides?: MockOverrides) => {
76
+ description: string;
77
+ name: string;
78
+ tagId: string;
79
+ };
80
+ export declare const setupCommonMocks: () => Promise<void>;
81
+ export declare const clearAllMocks: () => void;
82
+ export declare const createActionTestSuite: (name: string, actionsPath: string, testCases: Array<{
83
+ name: string;
84
+ actionName: string;
85
+ args: TestArgs;
86
+ mockQuery: jest.Mock;
87
+ expectedResult: TestReturnValue;
88
+ }>) => void;
89
+ export declare const createAdapterTestSuite: (name: string, adapterPath: string, testCases: any[]) => void;
90
+ export declare const createUtilsTestSuite: (name: string, utilsPath: string, testCases: Array<{
91
+ name: string;
92
+ input: TestArgs;
93
+ expectedOutput: TestReturnValue;
94
+ }>) => void;
95
+ export {};
@@ -1,2 +1,2 @@
1
- const g=(e={})=>{const r={userAccess:1,userId:"user1",username:"testuser"},n=e.session||{},t={databaseName:e.databaseName??"test",...e};return delete t.session,t.session={userAccess:n.userAccess!==void 0?n.userAccess:r.userAccess,userId:n.userId!==void 0?n.userId:r.userId,username:n.username!==void 0?n.username:r.username},t},T=(e="test")=>({fieldName:e,fieldNodes:[],fragments:{},operation:{},parentType:{},path:{key:e,prev:void 0,typename:"Test"},returnType:{},rootValue:{},schema:{},variableValues:{}}),f=(e,r)=>{jest.doMock(e,()=>r)},k=(e,r)=>{jest.doMock(e,()=>({[r]:{getField:jest.fn(()=>({resolve:jest.fn()})),getFields:jest.fn(()=>({}))}}))},y=(e,r,n)=>{describe(`${e} Queries`,async()=>{const t=await import(r),o=g();n.forEach(({name:a,actionName:c,args:s,expectedCall:i,mockReturnValue:l,errorCase:u=!1})=>{it(`should call ${c} action with correct parameters`,async()=>{t[c].mockResolvedValue(l);const p=await t[c](o,s);expect(t[c]).toHaveBeenCalledWith(o,i(o,s)),expect(p).toEqual(l)}),u&&it(`should handle ${c} when no data found`,async()=>{t[c].mockResolvedValue(null);const p=await t[c](o,s);expect(t[c]).toHaveBeenCalledWith(o,i(o,s)),expect(p).toBeNull()})})})},A=(e,r,n)=>{describe(`${e} Mutations`,async()=>{const t=await import(r);n.forEach(({actionName:o,args:a,expectedCall:c,mockReturnValue:s,requiresAuth:i=!1,authUserId:l})=>{it(`should call ${o} action with correct parameters`,async()=>{const u=g();i&&l&&(u.session.userId=l),t[o].mockResolvedValue(s);const p=await t[o](u,a);expect(t[o]).toHaveBeenCalledWith(u,c(u,a)),expect(p).toEqual(s)})})})},h=(e,r,n,t,o)=>{describe(`${e} Integration`,async()=>{const a=await import(r);o.forEach(({name:c,actionName:s,args:i,expectedCall:l,successReturnValue:u,errorReturnValue:p,testErrorCase:x})=>{describe(c,()=>{it(`should return data when ${s} succeeds`,async()=>{const d=g();a[s].mockResolvedValue(u);const m=await a[s](d,i);expect(a[s]).toHaveBeenCalledWith(d,l(d,i)),expect(m).toEqual(u||{})}),x&&it(`should handle ${s} when no data found`,async()=>{const d=g();a[s].mockResolvedValue(p);const m=await a[s](d,i);expect(a[s]).toHaveBeenCalledWith(d,l(d,i)),expect(m).toEqual(p)})})})})},j=(e={})=>({email:"test@example.com",firstName:"Test",lastName:"User",userId:"user1",username:"testuser",...e}),M=(e={})=>({content:"Test post content",createdAt:new Date().toISOString(),postId:"post1",userId:"user1",...e}),I=(e={})=>({content:"Test message",conversationId:"conv1",createdAt:new Date().toISOString(),messageId:"msg1",userId:"user1",...e}),v=(e={})=>({createdAt:new Date().toISOString(),postId:"post1",reactionId:"react1",type:"like",userId:"user1",...e}),R=(e={})=>({description:"Test tag description",name:"test-tag",tagId:"tag1",...e}),w=()=>{jest.mock("../utils/arangodbUtils",()=>({all:jest.fn(),getDocId:jest.fn(),getLimit:jest.fn(),next:jest.fn(),useDb:jest.fn(()=>({query:jest.fn(()=>Promise.resolve({all:jest.fn(),next:jest.fn()}))}))})),jest.mock("../utils/analyticsUtils",()=>({logError:jest.fn(),logException:jest.fn()})),jest.mock("../utils/sessionUtils",()=>({getSession:jest.fn(),isAdminUser:jest.fn(),setSession:jest.fn()})),jest.mock("../utils/authUtils",()=>({isAuthenticated:jest.fn(()=>!0)}))},C=()=>{jest.clearAllMocks()},E=(e,r,n)=>{describe(`${e} actions`,async()=>{const t=await import(r);n.forEach(({name:o,actionName:a,args:c,mockQuery:s,expectedResult:i})=>{it(`should execute ${a}`,async()=>{const l=g(),{useDb:u}=await import("../utils/arangodbUtils");u.mockReturnValue({query:s});const p=await t[a](l,c);expect(p).toEqual(i)})})})},V=(e,r,n)=>{describe(e,async()=>{const t=await import(r);n.forEach(({name:o,input:a,expectedOutput:c})=>{it(`should ${o}`,()=>{const s=t.parseTag(a);expect(s).toEqual(c)})})})},b=(e,r,n)=>{describe(e,async()=>{const t=await import(r);n.forEach(({name:o,input:a,expectedOutput:c})=>{it(`should ${o}`,()=>{let s;if(t.logInfo)s=t.logInfo(a);else if(t.removeEmptyKeys)s=t.removeEmptyKeys(a);else throw new Error(`No suitable function found in ${r}`);expect(s).toEqual(c)})})})};export{C as clearAllMocks,E as createActionTestSuite,V as createAdapterTestSuite,h as createIntegrationTestSuite,g as createMockContext,I as createMockMessage,M as createMockPost,v as createMockReaction,T as createMockResolveInfo,R as createMockTag,j as createMockUser,A as createMutationTestSuite,y as createQueryTestSuite,b as createUtilsTestSuite,f as mockActionsModule,k as mockObjectType,w as setupCommonMocks};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3Rlc3RVdGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjUtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7R3JhcGhRTFJlc29sdmVJbmZvfSBmcm9tICdncmFwaHFsJztcblxuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gRGVmaW5lIHByb3BlciB0eXBlcyBmb3IgdGVzdCB1dGlsaXRpZXNcbnR5cGUgTW9ja092ZXJyaWRlcyA9IFBhcnRpYWw8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xudHlwZSBUZXN0Q29udGV4dCA9IFBhcnRpYWw8QXBpQ29udGV4dD4gJiB7c2Vzc2lvbj86IFBhcnRpYWw8e3VzZXJJZDogc3RyaW5nOyB1c2VybmFtZTogc3RyaW5nOyB1c2VyQWNjZXNzOiBudW1iZXJ9Pn07XG50eXBlIFRlc3RBcmdzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG50eXBlIFRlc3RSZXR1cm5WYWx1ZSA9IHVua25vd247XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNb2NrQ29udGV4dCA9IChvdmVycmlkZXM6IE1vY2tPdmVycmlkZXMgPSB7fSk6IEFwaUNvbnRleHQgPT4ge1xuICBjb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgICB1c2VyQWNjZXNzOiAxLFxuICAgIHVzZXJJZDogJ3VzZXIxJyxcbiAgICB1c2VybmFtZTogJ3Rlc3R1c2VyJ1xuICB9O1xuICBjb25zdCBvdmVycmlkZVNlc3Npb246IFBhcnRpYWw8dHlwZW9mIGRlZmF1bHRTZXNzaW9uPiA9IG92ZXJyaWRlcy5zZXNzaW9uIHx8IHt9O1xuICBjb25zdCBjb250ZXh0OiBUZXN0Q29udGV4dCA9IHtcbiAgICBkYXRhYmFzZU5hbWU6IChvdmVycmlkZXMuZGF0YWJhc2VOYW1lIGFzIHN0cmluZykgPz8gJ3Rlc3QnLFxuICAgIC4uLm92ZXJyaWRlc1xuICB9O1xuICBkZWxldGUgY29udGV4dC5zZXNzaW9uO1xuICBjb250ZXh0LnNlc3Npb24gPSB7XG4gICAgdXNlckFjY2Vzczogb3ZlcnJpZGVTZXNzaW9uLnVzZXJBY2Nlc3MgIT09IHVuZGVmaW5lZCA/IG92ZXJyaWRlU2Vzc2lvbi51c2VyQWNjZXNzIDogZGVmYXVsdFNlc3Npb24udXNlckFjY2VzcyxcbiAgICB1c2VySWQ6IG92ZXJyaWRlU2Vzc2lvbi51c2VySWQgIT09IHVuZGVmaW5lZCA/IG92ZXJyaWRlU2Vzc2lvbi51c2VySWQgOiBkZWZhdWx0U2Vzc2lvbi51c2VySWQsXG4gICAgdXNlcm5hbWU6IG92ZXJyaWRlU2Vzc2lvbi51c2VybmFtZSAhPT0gdW5kZWZpbmVkID8gb3ZlcnJpZGVTZXNzaW9uLnVzZXJuYW1lIDogZGVmYXVsdFNlc3Npb24udXNlcm5hbWVcbiAgfTtcbiAgcmV0dXJuIGNvbnRleHQgYXMgQXBpQ29udGV4dDtcbn07XG5cbi8vIENvbW1vbiBtb2NrIHJlc29sdmUgaW5mbyBmb3IgR3JhcGhRTCByZXNvbHZlcnNcbmV4cG9ydCBjb25zdCBjcmVhdGVNb2NrUmVzb2x2ZUluZm8gPSAoZmllbGROYW1lOiBzdHJpbmcgPSAndGVzdCcpOiBHcmFwaFFMUmVzb2x2ZUluZm8gPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1hc3NlcnRpb25zXG4gIGNvbnN0IG9wZXJhdGlvbiA9IHt9IGFzIEdyYXBoUUxSZXNvbHZlSW5mb1snb3BlcmF0aW9uJ107XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWFzc2VydGlvbnNcbiAgY29uc3QgcGFyZW50VHlwZSA9IHt9IGFzIEdyYXBoUUxSZXNvbHZlSW5mb1sncGFyZW50VHlwZSddO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1hc3NlcnRpb25zXG4gIGNvbnN0IHJldHVyblR5cGUgPSB7fSBhcyBHcmFwaFFMUmVzb2x2ZUluZm9bJ3JldHVyblR5cGUnXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1xuICBjb25zdCBzY2hlbWEgPSB7fSBhcyBHcmFwaFFMUmVzb2x2ZUluZm9bJ3NjaGVtYSddO1xuXG4gIHJldHVybiB7XG4gICAgZmllbGROYW1lLFxuICAgIGZpZWxkTm9kZXM6IFtdLFxuICAgIGZyYWdtZW50czoge30sXG4gICAgb3BlcmF0aW9uLFxuICAgIHBhcmVudFR5cGUsXG4gICAgcGF0aDoge2tleTogZmllbGROYW1lLCBwcmV2OiB1bmRlZmluZWQsIHR5cGVuYW1lOiAnVGVzdCd9LFxuICAgIHJldHVyblR5cGUsXG4gICAgcm9vdFZhbHVlOiB7fSxcbiAgICBzY2hlbWEsXG4gICAgdmFyaWFibGVWYWx1ZXM6IHt9XG4gIH07XG59O1xuXG4vLyBVdGlsaXR5IHRvIG1vY2sgYWN0aW9ucyBtb2R1bGVcbmV4cG9ydCBjb25zdCBtb2NrQWN0aW9uc01vZHVsZSA9IChtb2R1bGVQYXRoOiBzdHJpbmcsIG1vY2tBY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBqZXN0Lk1vY2s+KSA9PiB7XG4gIGplc3QuZG9Nb2NrKG1vZHVsZVBhdGgsICgpID0+IG1vY2tBY3Rpb25zKTtcbn07XG5cbi8vIFV0aWxpdHkgdG8gbW9jayBvYmplY3QgdHlwZXNcbmV4cG9ydCBjb25zdCBtb2NrT2JqZWN0VHlwZSA9IChtb2R1bGVQYXRoOiBzdHJpbmcsIHR5cGVOYW1lOiBzdHJpbmcpID0+IHtcbiAgamVzdC5kb01vY2sobW9kdWxlUGF0aCwgKCkgPT4gKHtcbiAgICBbdHlwZU5hbWVdOiB7XG4gICAgICBnZXRGaWVsZDogamVzdC5mbigoKSA9PiAoe3Jlc29sdmU6IGplc3QuZm4oKX0pKSxcbiAgICAgIGdldEZpZWxkczogamVzdC5mbigoKSA9PiAoe30pKVxuICAgIH1cbiAgfSkpO1xufTtcblxuLy8gVXRpbGl0eSB0byBjcmVhdGUgYSB0ZXN0IHN1aXRlIGZvciBxdWVyeSByZXNvbHZlcnNcbmV4cG9ydCBjb25zdCBjcmVhdGVRdWVyeVRlc3RTdWl0ZSA9IChcbiAgbmFtZTogc3RyaW5nLFxuICBhY3Rpb25zUGF0aDogc3RyaW5nLFxuICB0ZXN0Q2FzZXM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYWN0aW9uTmFtZTogc3RyaW5nO1xuICAgIGFyZ3M6IFRlc3RBcmdzO1xuICAgIGV4cGVjdGVkQ2FsbDogKGNvbnRleHQ6IFRlc3RDb250ZXh0LCBhcmdzOiBUZXN0QXJncykgPT4gVGVzdEFyZ3M7XG4gICAgbW9ja1JldHVyblZhbHVlOiBUZXN0UmV0dXJuVmFsdWU7XG4gICAgZXJyb3JDYXNlPzogYm9vbGVhbjtcbiAgfT5cbikgPT4ge1xuICBkZXNjcmliZShgJHtuYW1lfSBRdWVyaWVzYCwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGFjdGlvbnMgPSBhd2FpdCBpbXBvcnQoYWN0aW9uc1BhdGgpO1xuICAgIGNvbnN0IG1vY2tDb250ZXh0ID0gY3JlYXRlTW9ja0NvbnRleHQoKTtcblxuICAgIHRlc3RDYXNlcy5mb3JFYWNoKCh7bmFtZTogdGVzdE5hbWUsIGFjdGlvbk5hbWUsIGFyZ3MsIGV4cGVjdGVkQ2FsbCwgbW9ja1JldHVyblZhbHVlLCBlcnJvckNhc2UgPSBmYWxzZX0pID0+IHtcbiAgICAgIGl0KGBzaG91bGQgY2FsbCAke2FjdGlvbk5hbWV9IGFjdGlvbiB3aXRoIGNvcnJlY3QgcGFyYW1ldGVyc2AsIGFzeW5jICgpID0+IHtcbiAgICAgICAgKGFjdGlvbnNbYWN0aW9uTmFtZV0gYXMgamVzdC5Nb2NrKS5tb2NrUmVzb2x2ZWRWYWx1ZShtb2NrUmV0dXJuVmFsdWUpO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IChhY3Rpb25zW2FjdGlvbk5hbWVdIGFzIGplc3QuTW9jaykobW9ja0NvbnRleHQsIGFyZ3MpO1xuICAgICAgICBleHBlY3QoYWN0aW9uc1thY3Rpb25OYW1lXSkudG9IYXZlQmVlbkNhbGxlZFdpdGgobW9ja0NvbnRleHQsIGV4cGVjdGVkQ2FsbChtb2NrQ29udGV4dCwgYXJncykpO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKG1vY2tSZXR1cm5WYWx1ZSk7XG4gICAgICB9KTtcblxuICAgICAgaWYoZXJyb3JDYXNlKSB7XG4gICAgICAgIGl0KGBzaG91bGQgaGFuZGxlICR7YWN0aW9uTmFtZX0gd2hlbiBubyBkYXRhIGZvdW5kYCwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIChhY3Rpb25zW2FjdGlvbk5hbWVdIGFzIGplc3QuTW9jaykubW9ja1Jlc29sdmVkVmFsdWUobnVsbCk7XG5cbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCAoYWN0aW9uc1thY3Rpb25OYW1lXSBhcyBqZXN0Lk1vY2spKG1vY2tDb250ZXh0LCBhcmdzKTtcbiAgICAgICAgICBleHBlY3QoYWN0aW9uc1thY3Rpb25OYW1lXSkudG9IYXZlQmVlbkNhbGxlZFdpdGgobW9ja0NvbnRleHQsIGV4cGVjdGVkQ2FsbChtb2NrQ29udGV4dCwgYXJncykpO1xuICAgICAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn07XG5cbi8vIFV0aWxpdHkgdG8gY3JlYXRlIGEgdGVzdCBzdWl0ZSBmb3IgbXV0YXRpb24gcmVzb2x2ZXJzXG5leHBvcnQgY29uc3QgY3JlYXRlTXV0YXRpb25UZXN0U3VpdGUgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgYWN0aW9uc1BhdGg6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGFjdGlvbk5hbWU6IHN0cmluZztcbiAgICBhcmdzOiBUZXN0QXJncztcbiAgICBleHBlY3RlZENhbGw6IChjb250ZXh0OiBUZXN0Q29udGV4dCwgYXJnczogVGVzdEFyZ3MpID0+IFRlc3RBcmdzO1xuICAgIG1vY2tSZXR1cm5WYWx1ZTogVGVzdFJldHVyblZhbHVlO1xuICAgIHJlcXVpcmVzQXV0aD86IGJvb2xlYW47XG4gICAgYXV0aFVzZXJJZD86IHN0cmluZztcbiAgfT5cbikgPT4ge1xuICBkZXNjcmliZShgJHtuYW1lfSBNdXRhdGlvbnNgLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgYWN0aW9ucyA9IGF3YWl0IGltcG9ydChhY3Rpb25zUGF0aCk7XG5cbiAgICB0ZXN0Q2FzZXMuZm9yRWFjaCgoe1xuICAgICAgYWN0aW9uTmFtZSxcbiAgICAgIGFyZ3MsXG4gICAgICBleHBlY3RlZENhbGwsXG4gICAgICBtb2NrUmV0dXJuVmFsdWUsXG4gICAgICByZXF1aXJlc0F1dGggPSBmYWxzZSxcbiAgICAgIGF1dGhVc2VySWRcbiAgICB9KSA9PiB7XG4gICAgICBpdChgc2hvdWxkIGNhbGwgJHthY3Rpb25OYW1lfSBhY3Rpb24gd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnNgLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1vY2tDb250ZXh0ID0gY3JlYXRlTW9ja0NvbnRleHQoKTtcbiAgICAgICAgaWYocmVxdWlyZXNBdXRoICYmIGF1dGhVc2VySWQpIHtcbiAgICAgICAgICAobW9ja0NvbnRleHQuc2Vzc2lvbiBhcyB7dXNlcklkOiBzdHJpbmd9KS51c2VySWQgPSBhdXRoVXNlcklkO1xuICAgICAgICB9XG5cbiAgICAgICAgKGFjdGlvbnNbYWN0aW9uTmFtZV0gYXMgamVzdC5Nb2NrKS5tb2NrUmVzb2x2ZWRWYWx1ZShtb2NrUmV0dXJuVmFsdWUpO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IChhY3Rpb25zW2FjdGlvbk5hbWVdIGFzIGplc3QuTW9jaykobW9ja0NvbnRleHQsIGFyZ3MpO1xuICAgICAgICBleHBlY3QoYWN0aW9uc1thY3Rpb25OYW1lXSkudG9IYXZlQmVlbkNhbGxlZFdpdGgobW9ja0NvbnRleHQsIGV4cGVjdGVkQ2FsbChtb2NrQ29udGV4dCwgYXJncykpO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKG1vY2tSZXR1cm5WYWx1ZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG4vLyBVdGlsaXR5IHRvIGNyZWF0ZSBpbnRlZ3JhdGlvbiB0ZXN0IHN1aXRlXG5leHBvcnQgY29uc3QgY3JlYXRlSW50ZWdyYXRpb25UZXN0U3VpdGUgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgYWN0aW9uc1BhdGg6IHN0cmluZyxcbiAgb2JqZWN0VHlwZVBhdGg6IHN0cmluZyxcbiAgdHlwZU5hbWU6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGFjdGlvbk5hbWU6IHN0cmluZztcbiAgICBhcmdzOiBUZXN0QXJncztcbiAgICBleHBlY3RlZENhbGw6IChjb250ZXh0OiBUZXN0Q29udGV4dCwgYXJnczogVGVzdEFyZ3MpID0+IFRlc3RBcmdzO1xuICAgIHN1Y2Nlc3NSZXR1cm5WYWx1ZTogVGVzdFJldHVyblZhbHVlO1xuICAgIGVycm9yUmV0dXJuVmFsdWU6IFRlc3RSZXR1cm5WYWx1ZTtcbiAgICB0ZXN0RXJyb3JDYXNlOiBib29sZWFuO1xuICB9PlxuKSA9PiB7XG4gIGRlc2NyaWJlKGAke25hbWV9IEludGVncmF0aW9uYCwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGFjdGlvbnMgPSBhd2FpdCBpbXBvcnQoYWN0aW9uc1BhdGgpO1xuXG4gICAgdGVzdENhc2VzLmZvckVhY2goKHtcbiAgICAgIG5hbWU6IHRlc3ROYW1lLFxuICAgICAgYWN0aW9uTmFtZSxcbiAgICAgIGFyZ3MsXG4gICAgICBleHBlY3RlZENhbGwsXG4gICAgICBzdWNjZXNzUmV0dXJuVmFsdWUsXG4gICAgICBlcnJvclJldHVyblZhbHVlLFxuICAgICAgdGVzdEVycm9yQ2FzZVxuICAgIH0pID0+IHtcbiAgICAgIGRlc2NyaWJlKHRlc3ROYW1lLCAoKSA9PiB7XG4gICAgICAgIGl0KGBzaG91bGQgcmV0dXJuIGRhdGEgd2hlbiAke2FjdGlvbk5hbWV9IHN1Y2NlZWRzYCwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1vY2tDb250ZXh0ID0gY3JlYXRlTW9ja0NvbnRleHQoKTtcbiAgICAgICAgICAoYWN0aW9uc1thY3Rpb25OYW1lXSBhcyBqZXN0Lk1vY2spLm1vY2tSZXNvbHZlZFZhbHVlKHN1Y2Nlc3NSZXR1cm5WYWx1ZSk7XG5cbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCAoYWN0aW9uc1thY3Rpb25OYW1lXSBhcyBqZXN0Lk1vY2spKG1vY2tDb250ZXh0LCBhcmdzKTtcblxuICAgICAgICAgIGV4cGVjdChhY3Rpb25zW2FjdGlvbk5hbWVdKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChtb2NrQ29udGV4dCwgZXhwZWN0ZWRDYWxsKG1vY2tDb250ZXh0LCBhcmdzKSk7XG4gICAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChzdWNjZXNzUmV0dXJuVmFsdWUgfHwge30pO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZih0ZXN0RXJyb3JDYXNlKSB7XG4gICAgICAgICAgaXQoYHNob3VsZCBoYW5kbGUgJHthY3Rpb25OYW1lfSB3aGVuIG5vIGRhdGEgZm91bmRgLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtb2NrQ29udGV4dCA9IGNyZWF0ZU1vY2tDb250ZXh0KCk7XG4gICAgICAgICAgICAoYWN0aW9uc1thY3Rpb25OYW1lXSBhcyBqZXN0Lk1vY2spLm1vY2tSZXNvbHZlZFZhbHVlKGVycm9yUmV0dXJuVmFsdWUpO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCAoYWN0aW9uc1thY3Rpb25OYW1lXSBhcyBqZXN0Lk1vY2spKG1vY2tDb250ZXh0LCBhcmdzKTtcblxuICAgICAgICAgICAgZXhwZWN0KGFjdGlvbnNbYWN0aW9uTmFtZV0pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKG1vY2tDb250ZXh0LCBleHBlY3RlZENhbGwobW9ja0NvbnRleHQsIGFyZ3MpKTtcbiAgICAgICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXJyb3JSZXR1cm5WYWx1ZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbi8vIENvbW1vbiBtb2NrIGRhdGEgZ2VuZXJhdG9yc1xuZXhwb3J0IGNvbnN0IGNyZWF0ZU1vY2tVc2VyID0gKG92ZXJyaWRlczogTW9ja092ZXJyaWRlcyA9IHt9KSA9PiAoe1xuICBlbWFpbDogJ3Rlc3RAZXhhbXBsZS5jb20nLFxuICBmaXJzdE5hbWU6ICdUZXN0JyxcbiAgbGFzdE5hbWU6ICdVc2VyJyxcbiAgdXNlcklkOiAndXNlcjEnLFxuICB1c2VybmFtZTogJ3Rlc3R1c2VyJyxcbiAgLi4ub3ZlcnJpZGVzXG59KTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1vY2tQb3N0ID0gKG92ZXJyaWRlczogTW9ja092ZXJyaWRlcyA9IHt9KSA9PiAoe1xuICBjb250ZW50OiAnVGVzdCBwb3N0IGNvbnRlbnQnLFxuICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgcG9zdElkOiAncG9zdDEnLFxuICB1c2VySWQ6ICd1c2VyMScsXG4gIC4uLm92ZXJyaWRlc1xufSk7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNb2NrTWVzc2FnZSA9IChvdmVycmlkZXM6IE1vY2tPdmVycmlkZXMgPSB7fSkgPT4gKHtcbiAgY29udGVudDogJ1Rlc3QgbWVzc2FnZScsXG4gIGNvbnZlcnNhdGlvbklkOiAnY29udjEnLFxuICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgbWVzc2FnZUlkOiAnbXNnMScsXG4gIHVzZXJJZDogJ3VzZXIxJyxcbiAgLi4ub3ZlcnJpZGVzXG59KTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1vY2tSZWFjdGlvbiA9IChvdmVycmlkZXM6IE1vY2tPdmVycmlkZXMgPSB7fSkgPT4gKHtcbiAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gIHBvc3RJZDogJ3Bvc3QxJyxcbiAgcmVhY3Rpb25JZDogJ3JlYWN0MScsXG4gIHR5cGU6ICdsaWtlJyxcbiAgdXNlcklkOiAndXNlcjEnLFxuICAuLi5vdmVycmlkZXNcbn0pO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTW9ja1RhZyA9IChvdmVycmlkZXM6IE1vY2tPdmVycmlkZXMgPSB7fSkgPT4gKHtcbiAgZGVzY3JpcHRpb246ICdUZXN0IHRhZyBkZXNjcmlwdGlvbicsXG4gIG5hbWU6ICd0ZXN0LXRhZycsXG4gIHRhZ0lkOiAndGFnMScsXG4gIC4uLm92ZXJyaWRlc1xufSk7XG5cbi8vIFV0aWxpdHkgdG8gc2V0IHVwIGNvbW1vbiBtb2Nrc1xuZXhwb3J0IGNvbnN0IHNldHVwQ29tbW9uTW9ja3MgPSAoKSA9PiB7XG4gIGplc3QubW9jaygnLi4vdXRpbHMvYXJhbmdvZGJVdGlscycsICgpID0+ICh7XG4gICAgYWxsOiBqZXN0LmZuKCksXG4gICAgZ2V0RG9jSWQ6IGplc3QuZm4oKSxcbiAgICBnZXRMaW1pdDogamVzdC5mbigpLFxuICAgIG5leHQ6IGplc3QuZm4oKSxcbiAgICB1c2VEYjogamVzdC5mbigoKSA9PiAoe1xuICAgICAgcXVlcnk6IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgYWxsOiBqZXN0LmZuKCksXG4gICAgICAgIG5leHQ6IGplc3QuZm4oKVxuICAgICAgfSkpXG4gICAgfSkpXG4gIH0pKTtcblxuICBqZXN0Lm1vY2soJy4uL3V0aWxzL2FuYWx5dGljc1V0aWxzJywgKCkgPT4gKHtcbiAgICBsb2dFcnJvcjogamVzdC5mbigpLFxuICAgIGxvZ0V4Y2VwdGlvbjogamVzdC5mbigpXG4gIH0pKTtcblxuICBqZXN0Lm1vY2soJy4uL3V0aWxzL3Nlc3Npb25VdGlscycsICgpID0+ICh7XG4gICAgZ2V0U2Vzc2lvbjogamVzdC5mbigpLFxuICAgIGlzQWRtaW5Vc2VyOiBqZXN0LmZuKCksXG4gICAgc2V0U2Vzc2lvbjogamVzdC5mbigpXG4gIH0pKTtcblxuICBqZXN0Lm1vY2soJy4uL3V0aWxzL2F1dGhVdGlscycsICgpID0+ICh7XG4gICAgaXNBdXRoZW50aWNhdGVkOiBqZXN0LmZuKCgpID0+IHRydWUpXG4gIH0pKTtcbn07XG5cbi8vIFV0aWxpdHkgdG8gY2xlYXIgYWxsIG1vY2tzXG5leHBvcnQgY29uc3QgY2xlYXJBbGxNb2NrcyA9ICgpID0+IHtcbiAgamVzdC5jbGVhckFsbE1vY2tzKCk7XG59O1xuXG4vLyBVdGlsaXR5IHRvIGNyZWF0ZSBhIHRlc3Qgc3VpdGUgZm9yIGFjdGlvbiBmdW5jdGlvbnNcbmV4cG9ydCBjb25zdCBjcmVhdGVBY3Rpb25UZXN0U3VpdGUgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgYWN0aW9uc1BhdGg6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGFjdGlvbk5hbWU6IHN0cmluZztcbiAgICBhcmdzOiBUZXN0QXJncztcbiAgICBtb2NrUXVlcnk6IGplc3QuTW9jaztcbiAgICBleHBlY3RlZFJlc3VsdDogVGVzdFJldHVyblZhbHVlO1xuICB9PlxuKSA9PiB7XG4gIGRlc2NyaWJlKGAke25hbWV9IGFjdGlvbnNgLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgYWN0aW9ucyA9IGF3YWl0IGltcG9ydChhY3Rpb25zUGF0aCk7XG5cbiAgICB0ZXN0Q2FzZXMuZm9yRWFjaCgoe25hbWU6IHRlc3ROYW1lLCBhY3Rpb25OYW1lLCBhcmdzLCBtb2NrUXVlcnksIGV4cGVjdGVkUmVzdWx0fSkgPT4ge1xuICAgICAgaXQoYHNob3VsZCBleGVjdXRlICR7YWN0aW9uTmFtZX1gLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1vY2tDb250ZXh0ID0gY3JlYXRlTW9ja0NvbnRleHQoKTtcbiAgICAgICAgY29uc3Qge3VzZURifSA9IGF3YWl0IGltcG9ydCgnLi4vdXRpbHMvYXJhbmdvZGJVdGlscycpO1xuICAgICAgICAodXNlRGIgYXMgamVzdC5Nb2NrKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIHF1ZXJ5OiBtb2NrUXVlcnlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgKGFjdGlvbnNbYWN0aW9uTmFtZV0gYXMgamVzdC5Nb2NrKShtb2NrQ29udGV4dCwgYXJncyk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXhwZWN0ZWRSZXN1bHQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxuLy8gVXRpbGl0eSB0byBjcmVhdGUgYSB0ZXN0IHN1aXRlIGZvciBhZGFwdGVyIGZ1bmN0aW9uc1xuZXhwb3J0IGNvbnN0IGNyZWF0ZUFkYXB0ZXJUZXN0U3VpdGUgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgYWRhcHRlclBhdGg6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGlucHV0OiBUZXN0QXJncztcbiAgICBleHBlY3RlZE91dHB1dDogVGVzdFJldHVyblZhbHVlO1xuICB9PlxuKSA9PiB7XG4gIGRlc2NyaWJlKG5hbWUsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBhZGFwdGVyID0gYXdhaXQgaW1wb3J0KGFkYXB0ZXJQYXRoKTtcblxuICAgIHRlc3RDYXNlcy5mb3JFYWNoKCh7bmFtZTogdGVzdE5hbWUsIGlucHV0LCBleHBlY3RlZE91dHB1dH0pID0+IHtcbiAgICAgIGl0KGBzaG91bGQgJHt0ZXN0TmFtZX1gLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IChhZGFwdGVyIGFzIHtwYXJzZVRhZzogKGlucHV0OiBUZXN0QXJncykgPT4gVGVzdFJldHVyblZhbHVlfSkucGFyc2VUYWcoaW5wdXQpO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkT3V0cHV0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbi8vIFV0aWxpdHkgdG8gY3JlYXRlIGEgdGVzdCBzdWl0ZSBmb3IgdXRpbGl0eSBmdW5jdGlvbnNcbmV4cG9ydCBjb25zdCBjcmVhdGVVdGlsc1Rlc3RTdWl0ZSA9IChcbiAgbmFtZTogc3RyaW5nLFxuICB1dGlsc1BhdGg6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGlucHV0OiBUZXN0QXJncztcbiAgICBleHBlY3RlZE91dHB1dDogVGVzdFJldHVyblZhbHVlO1xuICB9PlxuKSA9PiB7XG4gIGRlc2NyaWJlKG5hbWUsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB1dGlscyA9IGF3YWl0IGltcG9ydCh1dGlsc1BhdGgpO1xuXG4gICAgdGVzdENhc2VzLmZvckVhY2goKHtuYW1lOiB0ZXN0TmFtZSwgaW5wdXQsIGV4cGVjdGVkT3V0cHV0fSkgPT4ge1xuICAgICAgaXQoYHNob3VsZCAke3Rlc3ROYW1lfWAsICgpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgaWYoKHV0aWxzIGFzIHtsb2dJbmZvPzogKGlucHV0OiBUZXN0QXJncykgPT4gVGVzdFJldHVyblZhbHVlfSkubG9nSW5mbykge1xuICAgICAgICAgIHJlc3VsdCA9ICh1dGlscyBhcyB7bG9nSW5mbzogKGlucHV0OiBUZXN0QXJncykgPT4gVGVzdFJldHVyblZhbHVlfSkubG9nSW5mbyhpbnB1dCk7XG4gICAgICAgIH0gZWxzZSBpZigodXRpbHMgYXMge3JlbW92ZUVtcHR5S2V5cz86IChpbnB1dDogVGVzdEFyZ3MpID0+IFRlc3RSZXR1cm5WYWx1ZX0pLnJlbW92ZUVtcHR5S2V5cykge1xuICAgICAgICAgIHJlc3VsdCA9ICh1dGlscyBhcyB7cmVtb3ZlRW1wdHlLZXlzOiAoaW5wdXQ6IFRlc3RBcmdzKSA9PiBUZXN0UmV0dXJuVmFsdWV9KS5yZW1vdmVFbXB0eUtleXMoaW5wdXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3VpdGFibGUgZnVuY3Rpb24gZm91bmQgaW4gJHt1dGlsc1BhdGh9YCk7XG4gICAgICAgIH1cbiAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZE91dHB1dCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQWNPLE1BQU1BLEVBQW9CLENBQUNDLEVBQTJCLENBQUMsSUFBa0IsQ0FDOUUsTUFBTUMsRUFBaUIsQ0FDckIsV0FBWSxFQUNaLE9BQVEsUUFDUixTQUFVLFVBQ1osRUFDTUMsRUFBa0RGLEVBQVUsU0FBVyxDQUFDLEVBQ3hFRyxFQUF1QixDQUMzQixhQUFlSCxFQUFVLGNBQTJCLE9BQ3BELEdBQUdBLENBQ0wsRUFDQSxjQUFPRyxFQUFRLFFBQ2ZBLEVBQVEsUUFBVSxDQUNoQixXQUFZRCxFQUFnQixhQUFlLE9BQVlBLEVBQWdCLFdBQWFELEVBQWUsV0FDbkcsT0FBUUMsRUFBZ0IsU0FBVyxPQUFZQSxFQUFnQixPQUFTRCxFQUFlLE9BQ3ZGLFNBQVVDLEVBQWdCLFdBQWEsT0FBWUEsRUFBZ0IsU0FBV0QsRUFBZSxRQUMvRixFQUNPRSxDQUNULEVBR2FDLEVBQXdCLENBQUNDLEVBQW9CLFVBVWpELENBQ0wsVUFBQUEsRUFDQSxXQUFZLENBQUMsRUFDYixVQUFXLENBQUMsRUFDWixVQVpnQixDQUFDLEVBYWpCLFdBWGlCLENBQUMsRUFZbEIsS0FBTSxDQUFDLElBQUtBLEVBQVcsS0FBTSxPQUFXLFNBQVUsTUFBTSxFQUN4RCxXQVhpQixDQUFDLEVBWWxCLFVBQVcsQ0FBQyxFQUNaLE9BWGEsQ0FBQyxFQVlkLGVBQWdCLENBQUMsQ0FDbkIsR0FJV0MsRUFBb0IsQ0FBQ0MsRUFBb0JDLElBQTJDLENBQy9GLEtBQUssT0FBT0QsRUFBWSxJQUFN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Q0FBYyxDQUN2QyxDQUFDLENBQ0gsQ0FBQyxDQUNILENBQUMsQ0FDSCIsCiAgIm5hbWVzIjogWyJjcmVhdGVNb2NrQ29udGV4dCIsICJvdmVycmlkZXMiLCAiZGVmYXVsdFNlc3Npb24iLCAib3ZlcnJpZGVTZXNzaW9uIiwgImNvbnRleHQiLCAiY3JlYXRlTW9ja1Jlc29sdmVJbmZvIiwgImZpZWxkTmFtZSIsICJtb2NrQWN0aW9uc01vZHVsZSIsICJtb2R1bGVQYXRoIiwgIm1vY2tBY3Rpb25zIiwgIm1vY2tPYmplY3RUeXBlIiwgInR5cGVOYW1lIiwgImNyZWF0ZVF1ZXJ5VGVzdFN1aXRlIiwgIm5hbWUiLCAiYWN0aW9uc1BhdGgiLCAidGVzdENhc2VzIiwgImFjdGlvbnMiLCAibW9ja0NvbnRleHQiLCAidGVzdE5hbWUiLCAiYWN0aW9uTmFtZSIsICJhcmdzIiwgImV4cGVjdGVkQ2FsbCIsICJtb2NrUmV0dXJuVmFsdWUiLCAiZXJyb3JDYXNlIiwgInJlc3VsdCIsICJjcmVhdGVNdXRhdGlvblRlc3RTdWl0ZSIsICJyZXF1aXJlc0F1dGgiLCAiYXV0aFVzZXJJZCIsICJjcmVhdGVJbnRlZ3JhdGlvblRlc3RTdWl0ZSIsICJvYmplY3RUeXBlUGF0aCIsICJzdWNjZXNzUmV0dXJuVmFsdWUiLCAiZXJyb3JSZXR1cm5WYWx1ZSIsICJ0ZXN0RXJyb3JDYXNlIiwgImNyZWF0ZU1vY2tVc2VyIiwgImNyZWF0ZU1vY2tQb3N0IiwgImNyZWF0ZU1vY2tNZXNzYWdlIiwgImNyZWF0ZU1vY2tSZWFjdGlvbiIsICJjcmVhdGVNb2NrVGFnIiwgInNldHVwQ29tbW9uTW9ja3MiLCAiY2xlYXJBbGxNb2NrcyIsICJjcmVhdGVBY3Rpb25UZXN0U3VpdGUiLCAibW9ja1F1ZXJ5IiwgImV4cGVjdGVkUmVzdWx0IiwgInVzZURiIiwgImNyZWF0ZUFkYXB0ZXJUZXN0U3VpdGUiLCAiYWRhcHRlclBhdGgiLCAiYWRhcHRlciIsICJpbnB1dCIsICJleHBlY3RlZE91dHB1dCIsICJjcmVhdGVVdGlsc1Rlc3RTdWl0ZSIsICJ1dGlsc1BhdGgiLCAidXRpbHMiXQp9Cg==
1
+ import{jest as t}from"@jest/globals";const y=(e={})=>{const r={userAccess:1,userId:"user1",username:"testuser"},n=e.session||{},s={databaseName:e.databaseName??"test",...e};return delete s.session,s.session={userAccess:n.userAccess!==void 0?n.userAccess:r.userAccess,userId:n.userId!==void 0?n.userId:r.userId,username:n.username!==void 0?n.username:r.username},s},x=(e="test")=>({fieldName:e,fieldNodes:[],fragments:{},operation:{},parentType:{},path:{key:e,prev:void 0,typename:"Test"},returnType:{},rootValue:{},schema:{},variableValues:{}}),A=async(e,r)=>{const n=Object.entries(r).reduce((s,[a,c])=>(s[a]=t.fn().mockImplementation(c),s),{});await t.isolateModulesAsync(async()=>{t.unstable_mockModule(e,()=>({__esModule:!0,...n,default:n}))})},I=async(e,r)=>{const n={__esModule:!0,[r]:{getField:t.fn(()=>({resolve:t.fn()})),getFields:t.fn(()=>({}))},default:{[r]:{getField:t.fn(()=>({resolve:t.fn()})),getFields:t.fn(()=>({}))}}};await t.isolateModulesAsync(async()=>{t.unstable_mockModule(e,()=>n)})},h=(e,r,n)=>{describe(`${e} Queries`,()=>{let s;const a=y();beforeAll(()=>{s={}}),n.forEach(({name:c,actionName:l,args:o,expectedCall:u,mockReturnValue:p,errorCase:d=!1})=>{it(`should call ${l} action with correct parameters`,async()=>{const i=t.fn().mockImplementation(()=>Promise.resolve(p));s[l]=i;const m=await i(a,o);expect(i).toHaveBeenCalledWith(a,u(a,o)),expect(m).toEqual(p)}),d&&it(`should handle ${l} when no data found`,async()=>{const i=t.fn().mockImplementation(()=>Promise.resolve(null));s[l]=i;const m=await i(a,o);expect(i).toHaveBeenCalledWith(a,u(a,o)),expect(m).toBeNull()})})})},M=(e,r,n)=>{describe(`${e} Mutations`,()=>{let s;beforeAll(()=>{s={}}),n.forEach(({actionName:a,args:c,expectedCall:l,mockReturnValue:o,requiresAuth:u=!1,authUserId:p})=>{it(`should call ${a} action with correct parameters`,async()=>{const d=y();u&&p&&(d.session.userId=p);const i=t.fn().mockImplementation(()=>Promise.resolve(o));s[a]=i;const m=await i(d,c);expect(i).toHaveBeenCalledWith(d,l(d,c)),expect(m).toEqual(o)})})})},b=(e,r,n,s,a)=>{describe(`${e} Integration`,()=>{let c;beforeAll(()=>{c={}}),a.forEach(({name:l,actionName:o,args:u,expectedCall:p,successReturnValue:d,errorReturnValue:i,testErrorCase:m})=>{describe(l,()=>{it(`should return data when ${o} succeeds`,async()=>{const g=y(),f=t.fn().mockImplementation(()=>Promise.resolve(d));c[o]=f;const T=await f(g,u);expect(f).toHaveBeenCalledWith(g,p(g,u)),expect(T).toEqual(d||{})}),m&&it(`should handle ${o} when no data found`,async()=>{const g=y(),f=t.fn().mockImplementation(()=>Promise.resolve(i));c[o]=f;const T=await f(g,u);expect(f).toHaveBeenCalledWith(g,p(g,u)),expect(T).toEqual(i)})})})})},v=(e={})=>({email:"test@example.com",firstName:"Test",lastName:"User",userId:"user1",username:"testuser",...e}),R=(e={})=>({content:"Test post content",createdAt:new Date().toISOString(),postId:"post1",userId:"user1",...e}),w=(e={})=>({content:"Test message",conversationId:"conv1",createdAt:new Date().toISOString(),messageId:"msg1",userId:"user1",...e}),C=(e={})=>({createdAt:new Date().toISOString(),postId:"post1",reactionId:"react1",type:"like",userId:"user1",...e}),E=(e={})=>({description:"Test tag description",name:"test-tag",tagId:"tag1",...e}),S=async()=>{const e={__esModule:!0,useDb:t.fn(),getLimit:t.fn(),getDocId:t.fn(),sortIds:t.fn(),getGqlFields:t.fn(),default:{useDb:t.fn(),getLimit:t.fn(),getDocId:t.fn(),sortIds:t.fn(),getGqlFields:t.fn()}};await t.isolateModulesAsync(async()=>{t.unstable_mockModule("./arangodbUtils.js",()=>e)})},V=()=>{t.clearAllMocks()},q=(e,r,n)=>{describe(`${e} actions`,()=>{let s;beforeAll(async()=>{s=await import(r)}),n.forEach(({name:a,actionName:c,args:l,mockQuery:o,expectedResult:u})=>{it(`should execute ${c}`,async()=>{const p=y(),d=t.fn().mockReturnValue({query:o}),i=t.requireActual("./arangodbUtils.js");t.doMock("./arangodbUtils.js",()=>({useDb:d,...i}));const m=await s[c](p,l);expect(m).toEqual(u)})})})},O=(e,r,n)=>{describe(e,()=>{let s;beforeAll(async()=>{s=await import(r)}),n.forEach(({name:a,input:c,expectedOutput:l})=>{it(`should ${a}`,()=>{const o=s.parseTag(c);expect(o).toEqual(l)})})})},P=(e,r,n)=>{describe(e,()=>{let s;beforeAll(async()=>{s=await import(r)}),n.forEach(({name:a,input:c,expectedOutput:l})=>{it(`should ${a}`,()=>{let o;if(s.logInfo)o=s.logInfo(c);else if(s.removeEmptyKeys)o=s.removeEmptyKeys(c);else throw new Error(`No suitable function found in ${r}`);expect(o).toEqual(l)})})})};export{V as clearAllMocks,q as createActionTestSuite,O as createAdapterTestSuite,b as createIntegrationTestSuite,y as createMockContext,w as createMockMessage,R as createMockPost,C as createMockReaction,x as createMockResolveInfo,E as createMockTag,v as createMockUser,M as createMutationTestSuite,h as createQueryTestSuite,P as createUtilsTestSuite,A as mockActionsModule,I as mockObjectType,S as setupCommonMocks};
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3Rlc3RVdGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjUtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7amVzdH0gZnJvbSAnQGplc3QvZ2xvYmFscyc7XG5pbXBvcnQgdHlwZSB7R3JhcGhRTFJlc29sdmVJbmZvfSBmcm9tICdncmFwaHFsJztcblxuXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5cbi8vIERlZmluZSBwcm9wZXIgdHlwZXMgZm9yIHRlc3QgdXRpbGl0aWVzXG50eXBlIE1vY2tPdmVycmlkZXMgPSBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbnR5cGUgVGVzdENvbnRleHQgPSBQYXJ0aWFsPEFwaUNvbnRleHQ+ICYge3Nlc3Npb24/OiBQYXJ0aWFsPHt1c2VySWQ6IHN0cmluZzsgdXNlcm5hbWU6IHN0cmluZzsgdXNlckFjY2VzczogbnVtYmVyfT59O1xudHlwZSBUZXN0QXJncyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xudHlwZSBUZXN0UmV0dXJuVmFsdWUgPSB1bmtub3duO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTW9ja0NvbnRleHQgPSAob3ZlcnJpZGVzOiBNb2NrT3ZlcnJpZGVzID0ge30pOiBBcGlDb250ZXh0ID0+IHtcbiAgY29uc3QgZGVmYXVsdFNlc3Npb24gPSB7XG4gICAgdXNlckFjY2VzczogMSxcbiAgICB1c2VySWQ6ICd1c2VyMScsXG4gICAgdXNlcm5hbWU6ICd0ZXN0dXNlcidcbiAgfTtcbiAgY29uc3Qgb3ZlcnJpZGVTZXNzaW9uOiBQYXJ0aWFsPHR5cGVvZiBkZWZhdWx0U2Vzc2lvbj4gPSBvdmVycmlkZXMuc2Vzc2lvbiB8fCB7fTtcbiAgY29uc3QgY29udGV4dDogVGVzdENvbnRleHQgPSB7XG4gICAgZGF0YWJhc2VOYW1lOiAob3ZlcnJpZGVzLmRhdGFiYXNlTmFtZSBhcyBzdHJpbmcpID8/ICd0ZXN0JyxcbiAgICAuLi5vdmVycmlkZXNcbiAgfTtcbiAgZGVsZXRlIGNvbnRleHQuc2Vzc2lvbjtcbiAgY29udGV4dC5zZXNzaW9uID0ge1xuICAgIHVzZXJBY2Nlc3M6IG92ZXJyaWRlU2Vzc2lvbi51c2VyQWNjZXNzICE9PSB1bmRlZmluZWQgPyBvdmVycmlkZVNlc3Npb24udXNlckFjY2VzcyA6IGRlZmF1bHRTZXNzaW9uLnVzZXJBY2Nlc3MsXG4gICAgdXNlcklkOiBvdmVycmlkZVNlc3Npb24udXNlcklkICE9PSB1bmRlZmluZWQgPyBvdmVycmlkZVNlc3Npb24udXNlcklkIDogZGVmYXVsdFNlc3Npb24udXNlcklkLFxuICAgIHVzZXJuYW1lOiBvdmVycmlkZVNlc3Npb24udXNlcm5hbWUgIT09IHVuZGVmaW5lZCA/IG92ZXJyaWRlU2Vzc2lvbi51c2VybmFtZSA6IGRlZmF1bHRTZXNzaW9uLnVzZXJuYW1lXG4gIH07XG4gIHJldHVybiBjb250ZXh0IGFzIEFwaUNvbnRleHQ7XG59O1xuXG4vLyBDb21tb24gbW9jayByZXNvbHZlIGluZm8gZm9yIEdyYXBoUUwgcmVzb2x2ZXJzXG5leHBvcnQgY29uc3QgY3JlYXRlTW9ja1Jlc29sdmVJbmZvID0gKGZpZWxkTmFtZTogc3RyaW5nID0gJ3Rlc3QnKTogR3JhcGhRTFJlc29sdmVJbmZvID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1xuICBjb25zdCBvcGVyYXRpb24gPSB7fSBhcyBHcmFwaFFMUmVzb2x2ZUluZm9bJ29wZXJhdGlvbiddO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1hc3NlcnRpb25zXG4gIGNvbnN0IHBhcmVudFR5cGUgPSB7fSBhcyBHcmFwaFFMUmVzb2x2ZUluZm9bJ3BhcmVudFR5cGUnXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1xuICBjb25zdCByZXR1cm5UeXBlID0ge30gYXMgR3JhcGhRTFJlc29sdmVJbmZvWydyZXR1cm5UeXBlJ107XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWFzc2VydGlvbnNcbiAgY29uc3Qgc2NoZW1hID0ge30gYXMgR3JhcGhRTFJlc29sdmVJbmZvWydzY2hlbWEnXTtcblxuICByZXR1cm4ge1xuICAgIGZpZWxkTmFtZSxcbiAgICBmaWVsZE5vZGVzOiBbXSxcbiAgICBmcmFnbWVudHM6IHt9LFxuICAgIG9wZXJhdGlvbixcbiAgICBwYXJlbnRUeXBlLFxuICAgIHBhdGg6IHtrZXk6IGZpZWxkTmFtZSwgcHJldjogdW5kZWZpbmVkLCB0eXBlbmFtZTogJ1Rlc3QnfSxcbiAgICByZXR1cm5UeXBlLFxuICAgIHJvb3RWYWx1ZToge30sXG4gICAgc2NoZW1hLFxuICAgIHZhcmlhYmxlVmFsdWVzOiB7fVxuICB9O1xufTtcblxuLy8gVXRpbGl0eSB0byBtb2NrIGFjdGlvbnMgbW9kdWxlXG5leHBvcnQgY29uc3QgbW9ja0FjdGlvbnNNb2R1bGUgPSBhc3luYyAobW9kdWxlUGF0aDogc3RyaW5nLCBtb2NrQWN0aW9uczogUmVjb3JkPHN0cmluZywgamVzdC5Nb2NrPikgPT4ge1xuICBjb25zdCBtb2NrcyA9IE9iamVjdC5lbnRyaWVzKG1vY2tBY3Rpb25zKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgYWNjW2tleV0gPSBqZXN0LmZuKCkubW9ja0ltcGxlbWVudGF0aW9uKHZhbHVlKTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBqZXN0Lk1vY2s+KTtcblxuICBhd2FpdCBqZXN0Lmlzb2xhdGVNb2R1bGVzQXN5bmMoYXN5bmMgKCkgPT4ge1xuICAgIGplc3QudW5zdGFibGVfbW9ja01vZHVsZShtb2R1bGVQYXRoLCAoKSA9PiAoe1xuICAgICAgX19lc01vZHVsZTogdHJ1ZSxcbiAgICAgIC4uLm1vY2tzLFxuICAgICAgZGVmYXVsdDogbW9ja3NcbiAgICB9KSk7XG4gIH0pO1xufTtcblxuLy8gVXRpbGl0eSB0byBtb2NrIG9iamVjdCB0eXBlc1xuZXhwb3J0IGNvbnN0IG1vY2tPYmplY3RUeXBlID0gYXN5bmMgKG1vZHVsZVBhdGg6IHN0cmluZywgdHlwZU5hbWU6IHN0cmluZykgPT4ge1xuICBjb25zdCBtb2NrID0ge1xuICAgIF9fZXNNb2R1bGU6IHRydWUsXG4gICAgW3R5cGVOYW1lXToge1xuICAgICAgZ2V0RmllbGQ6IGplc3QuZm4oKCkgPT4gKHtyZXNvbHZlOiBqZXN0LmZuKCl9KSksXG4gICAgICBnZXRGaWVsZHM6IGplc3QuZm4oKCkgPT4gKHt9KSlcbiAgICB9LFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIFt0eXBlTmFtZV06IHtcbiAgICAgICAgZ2V0RmllbGQ6IGplc3QuZm4oKCkgPT4gKHtyZXNvbHZlOiBqZXN0LmZuKCl9KSksXG4gICAgICAgIGdldEZpZWxkczogamVzdC5mbigoKSA9PiAoe30pKVxuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgYXdhaXQgamVzdC5pc29sYXRlTW9kdWxlc0FzeW5jKGFzeW5jICgpID0+IHtcbiAgICBqZXN0LnVuc3RhYmxlX21vY2tNb2R1bGUobW9kdWxlUGF0aCwgKCkgPT4gbW9jayk7XG4gIH0pO1xufTtcblxuLy8gVXRpbGl0eSB0byBjcmVhdGUgYSB0ZXN0IHN1aXRlIGZvciBxdWVyeSByZXNvbHZlcnNcbmV4cG9ydCBjb25zdCBjcmVhdGVRdWVyeVRlc3RTdWl0ZSA9IChcbiAgbmFtZTogc3RyaW5nLFxuICBhY3Rpb25zUGF0aDogc3RyaW5nLFxuICB0ZXN0Q2FzZXM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYWN0aW9uTmFtZTogc3RyaW5nO1xuICAgIGFyZ3M6IFRlc3RBcmdzO1xuICAgIGV4cGVjdGVkQ2FsbDogKGNvbnRleHQ6IFRlc3RDb250ZXh0LCBhcmdzOiBUZXN0QXJncykgPT4gVGVzdEFyZ3M7XG4gICAgbW9ja1JldHVyblZhbHVlOiBUZXN0UmV0dXJuVmFsdWU7XG4gICAgZXJyb3JDYXNlPzogYm9vbGVhbjtcbiAgfT5cbikgPT4ge1xuICBkZXNjcmliZShgJHtuYW1lfSBRdWVyaWVzYCwgKCkgPT4ge1xuICAgIGxldCBhY3Rpb25zOiBhbnk7XG4gICAgY29uc3QgbW9ja0NvbnRleHQgPSBjcmVhdGVNb2NrQ29udGV4dCgpO1xuXG4gICAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICAgIGFjdGlvbnMgPSB7fTtcbiAgICB9KTtcblxuICAgIHRlc3RDYXNlcy5mb3JFYWNoKCh7bmFtZTogdGVzdE5hbWUsIGFjdGlvbk5hbWUsIGFyZ3MsIGV4cGVjdGVkQ2FsbCwgbW9ja1JldHVyblZhbHVlLCBlcnJvckNhc2UgPSBmYWxzZX0pID0+IHtcbiAgICAgIGl0KGBzaG91bGQgY2FsbCAke2FjdGlvbk5hbWV9IGFjdGlvbiB3aXRoIGNvcnJlY3QgcGFyYW1ldGVyc2AsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgbW9ja0ZuID0gamVzdC5mbigpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlc29sdmUobW9ja1JldHVyblZhbHVlKSk7XG4gICAgICAgIGFjdGlvbnNbYWN0aW9uTmFtZV0gPSBtb2NrRm47XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbW9ja0ZuKG1vY2tDb250ZXh0LCBhcmdzKTtcbiAgICAgICAgZXhwZWN0KG1vY2tGbikudG9IYXZlQmVlbkNhbGxlZFdpdGgobW9ja0NvbnRleHQsIGV4cGVjdGVkQ2FsbChtb2NrQ29udGV4dCwgYXJncykpO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKG1vY2tSZXR1cm5WYWx1ZSk7XG4gICAgICB9KTtcblxuICAgICAgaWYoZXJyb3JDYXNlKSB7XG4gICAgICAgIGl0KGBzaG91bGQgaGFuZGxlICR7YWN0aW9uTmFtZX0gd2hlbiBubyBkYXRhIGZvdW5kYCwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1vY2tGbiA9IGplc3QuZm4oKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKG51bGwpKTtcbiAgICAgICAgICBhY3Rpb25zW2FjdGlvbk5hbWVdID0gbW9ja0ZuO1xuXG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbW9ja0ZuKG1vY2tDb250ZXh0LCBhcmdzKTtcbiAgICAgICAgICBleHBlY3QobW9ja0ZuKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChtb2NrQ29udGV4dCwgZXhwZWN0ZWRDYWxsKG1vY2tDb250ZXh0LCBhcmdzKSk7XG4gICAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZU51bGwoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufTtcblxuLy8gVXRpbGl0eSB0byBjcmVhdGUgYSB0ZXN0IHN1aXRlIGZvciBtdXRhdGlvbiByZXNvbHZlcnNcbmV4cG9ydCBjb25zdCBjcmVhdGVNdXRhdGlvblRlc3RTdWl0ZSA9IChcbiAgbmFtZTogc3RyaW5nLFxuICBhY3Rpb25zUGF0aDogc3RyaW5nLFxuICB0ZXN0Q2FzZXM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYWN0aW9uTmFtZTogc3RyaW5nO1xuICAgIGFyZ3M6IFRlc3RBcmdzO1xuICAgIGV4cGVjdGVkQ2FsbDogKGNvbnRleHQ6IFRlc3RDb250ZXh0LCBhcmdzOiBUZXN0QXJncykgPT4gVGVzdEFyZ3M7XG4gICAgbW9ja1JldHVyblZhbHVlOiBUZXN0UmV0dXJuVmFsdWU7XG4gICAgcmVxdWlyZXNBdXRoPzogYm9vbGVhbjtcbiAgICBhdXRoVXNlcklkPzogc3RyaW5nO1xuICB9PlxuKSA9PiB7XG4gIGRlc2NyaWJlKGAke25hbWV9IE11dGF0aW9uc2AsICgpID0+IHtcbiAgICBsZXQgYWN0aW9uczogYW55O1xuXG4gICAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICAgIGFjdGlvbnMgPSB7fTtcbiAgICB9KTtcblxuICAgIHRlc3RDYXNlcy5mb3JFYWNoKCh7XG4gICAgICBhY3Rpb25OYW1lLFxuICAgICAgYXJncyxcbiAgICAgIGV4cGVjdGVkQ2FsbCxcbiAgICAgIG1vY2tSZXR1cm5WYWx1ZSxcbiAgICAgIHJlcXVpcmVzQXV0aCA9IGZhbHNlLFxuICAgICAgYXV0aFVzZXJJZFxuICAgIH0pID0+IHtcbiAgICAgIGl0KGBzaG91bGQgY2FsbCAke2FjdGlvbk5hbWV9IGFjdGlvbiB3aXRoIGNvcnJlY3QgcGFyYW1ldGVyc2AsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgbW9ja0NvbnRleHQgPSBjcmVhdGVNb2NrQ29udGV4dCgpO1xuICAgICAgICBpZihyZXF1aXJlc0F1dGggJiYgYXV0aFVzZXJJZCkge1xuICAgICAgICAgIChtb2NrQ29udGV4dC5zZXNzaW9uIGFzIHt1c2VySWQ6IHN0cmluZ30pLnVzZXJJZCA9IGF1dGhVc2VySWQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtb2NrRm4gPSBqZXN0LmZuKCkubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVzb2x2ZShtb2NrUmV0dXJuVmFsdWUpKTtcbiAgICAgICAgYWN0aW9uc1thY3Rpb25OYW1lXSA9IG1vY2tGbjtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBtb2NrRm4obW9ja0NvbnRleHQsIGFyZ3MpO1xuICAgICAgICBleHBlY3QobW9ja0ZuKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChtb2NrQ29udGV4dCwgZXhwZWN0ZWRDYWxsKG1vY2tDb250ZXh0LCBhcmdzKSk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwobW9ja1JldHVyblZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbi8vIFV0aWxpdHkgdG8gY3JlYXRlIGludGVncmF0aW9uIHRlc3Qgc3VpdGVcbmV4cG9ydCBjb25zdCBjcmVhdGVJbnRlZ3JhdGlvblRlc3RTdWl0ZSA9IChcbiAgbmFtZTogc3RyaW5nLFxuICBhY3Rpb25zUGF0aDogc3RyaW5nLFxuICBvYmplY3RUeXBlUGF0aDogc3RyaW5nLFxuICB0eXBlTmFtZTogc3RyaW5nLFxuICB0ZXN0Q2FzZXM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYWN0aW9uTmFtZTogc3RyaW5nO1xuICAgIGFyZ3M6IFRlc3RBcmdzO1xuICAgIGV4cGVjdGVkQ2FsbDogKGNvbnRleHQ6IFRlc3RDb250ZXh0LCBhcmdzOiBUZXN0QXJncykgPT4gVGVzdEFyZ3M7XG4gICAgc3VjY2Vzc1JldHVyblZhbHVlOiBUZXN0UmV0dXJuVmFsdWU7XG4gICAgZXJyb3JSZXR1cm5WYWx1ZTogVGVzdFJldHVyblZhbHVlO1xuICAgIHRlc3RFcnJvckNhc2U6IGJvb2xlYW47XG4gIH0+XG4pID0+IHtcbiAgZGVzY3JpYmUoYCR7bmFtZX0gSW50ZWdyYXRpb25gLCAoKSA9PiB7XG4gICAgbGV0IGFjdGlvbnM6IGFueTtcblxuICAgIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgICBhY3Rpb25zID0ge307XG4gICAgfSk7XG5cbiAgICB0ZXN0Q2FzZXMuZm9yRWFjaCgoe1xuICAgICAgbmFtZTogdGVzdE5hbWUsXG4gICAgICBhY3Rpb25OYW1lLFxuICAgICAgYXJncyxcbiAgICAgIGV4cGVjdGVkQ2FsbCxcbiAgICAgIHN1Y2Nlc3NSZXR1cm5WYWx1ZSxcbiAgICAgIGVycm9yUmV0dXJuVmFsdWUsXG4gICAgICB0ZXN0RXJyb3JDYXNlXG4gICAgfSkgPT4ge1xuICAgICAgZGVzY3JpYmUodGVzdE5hbWUsICgpID0+IHtcbiAgICAgICAgaXQoYHNob3VsZCByZXR1cm4gZGF0YSB3aGVuICR7YWN0aW9uTmFtZX0gc3VjY2VlZHNgLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgbW9ja0NvbnRleHQgPSBjcmVhdGVNb2NrQ29udGV4dCgpO1xuICAgICAgICAgIGNvbnN0IG1vY2tGbiA9IGplc3QuZm4oKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHN1Y2Nlc3NSZXR1cm5WYWx1ZSkpO1xuICAgICAgICAgIGFjdGlvbnNbYWN0aW9uTmFtZV0gPSBtb2NrRm47XG5cbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBtb2NrRm4obW9ja0NvbnRleHQsIGFyZ3MpO1xuXG4gICAgICAgICAgZXhwZWN0KG1vY2tGbikudG9IYXZlQmVlbkNhbGxlZFdpdGgobW9ja0NvbnRleHQsIGV4cGVjdGVkQ2FsbChtb2NrQ29udGV4dCwgYXJncykpO1xuICAgICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoc3VjY2Vzc1JldHVyblZhbHVlIHx8IHt9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYodGVzdEVycm9yQ2FzZSkge1xuICAgICAgICAgIGl0KGBzaG91bGQgaGFuZGxlICR7YWN0aW9uTmFtZX0gd2hlbiBubyBkYXRhIGZvdW5kYCwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW9ja0NvbnRleHQgPSBjcmVhdGVNb2NrQ29udGV4dCgpO1xuICAgICAgICAgICAgY29uc3QgbW9ja0ZuID0gamVzdC5mbigpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlc29sdmUoZXJyb3JSZXR1cm5WYWx1ZSkpO1xuICAgICAgICAgICAgYWN0aW9uc1thY3Rpb25OYW1lXSA9IG1vY2tGbjtcblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbW9ja0ZuKG1vY2tDb250ZXh0LCBhcmdzKTtcblxuICAgICAgICAgICAgZXhwZWN0KG1vY2tGbikudG9IYXZlQmVlbkNhbGxlZFdpdGgobW9ja0NvbnRleHQsIGV4cGVjdGVkQ2FsbChtb2NrQ29udGV4dCwgYXJncykpO1xuICAgICAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChlcnJvclJldHVyblZhbHVlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxuLy8gQ29tbW9uIG1vY2sgZGF0YSBnZW5lcmF0b3JzXG5leHBvcnQgY29uc3QgY3JlYXRlTW9ja1VzZXIgPSAob3ZlcnJpZGVzOiBNb2NrT3ZlcnJpZGVzID0ge30pID0+ICh7XG4gIGVtYWlsOiAndGVzdEBleGFtcGxlLmNvbScsXG4gIGZpcnN0TmFtZTogJ1Rlc3QnLFxuICBsYXN0TmFtZTogJ1VzZXInLFxuICB1c2VySWQ6ICd1c2VyMScsXG4gIHVzZXJuYW1lOiAndGVzdHVzZXInLFxuICAuLi5vdmVycmlkZXNcbn0pO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTW9ja1Bvc3QgPSAob3ZlcnJpZGVzOiBNb2NrT3ZlcnJpZGVzID0ge30pID0+ICh7XG4gIGNvbnRlbnQ6ICdUZXN0IHBvc3QgY29udGVudCcsXG4gIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICBwb3N0SWQ6ICdwb3N0MScsXG4gIHVzZXJJZDogJ3VzZXIxJyxcbiAgLi4ub3ZlcnJpZGVzXG59KTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1vY2tNZXNzYWdlID0gKG92ZXJyaWRlczogTW9ja092ZXJyaWRlcyA9IHt9KSA9PiAoe1xuICBjb250ZW50OiAnVGVzdCBtZXNzYWdlJyxcbiAgY29udmVyc2F0aW9uSWQ6ICdjb252MScsXG4gIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICBtZXNzYWdlSWQ6ICdtc2cxJyxcbiAgdXNlcklkOiAndXNlcjEnLFxuICAuLi5vdmVycmlkZXNcbn0pO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTW9ja1JlYWN0aW9uID0gKG92ZXJyaWRlczogTW9ja092ZXJyaWRlcyA9IHt9KSA9PiAoe1xuICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgcG9zdElkOiAncG9zdDEnLFxuICByZWFjdGlvbklkOiAncmVhY3QxJyxcbiAgdHlwZTogJ2xpa2UnLFxuICB1c2VySWQ6ICd1c2VyMScsXG4gIC4uLm92ZXJyaWRlc1xufSk7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNb2NrVGFnID0gKG92ZXJyaWRlczogTW9ja092ZXJyaWRlcyA9IHt9KSA9PiAoe1xuICBkZXNjcmlwdGlvbjogJ1Rlc3QgdGFnIGRlc2NyaXB0aW9uJyxcbiAgbmFtZTogJ3Rlc3QtdGFnJyxcbiAgdGFnSWQ6ICd0YWcxJyxcbiAgLi4ub3ZlcnJpZGVzXG59KTtcblxuLy8gVXRpbGl0eSB0byBzZXQgdXAgY29tbW9uIG1vY2tzXG5leHBvcnQgY29uc3Qgc2V0dXBDb21tb25Nb2NrcyA9IGFzeW5jICgpID0+IHtcbiAgY29uc3QgbW9jayA9IHtcbiAgICBfX2VzTW9kdWxlOiB0cnVlLFxuICAgIHVzZURiOiBqZXN0LmZuKCksXG4gICAgZ2V0TGltaXQ6IGplc3QuZm4oKSxcbiAgICBnZXREb2NJZDogamVzdC5mbigpLFxuICAgIHNvcnRJZHM6IGplc3QuZm4oKSxcbiAgICBnZXRHcWxGaWVsZHM6IGplc3QuZm4oKSxcbiAgICBkZWZhdWx0OiB7XG4gICAgICB1c2VEYjogamVzdC5mbigpLFxuICAgICAgZ2V0TGltaXQ6IGplc3QuZm4oKSxcbiAgICAgIGdldERvY0lkOiBqZXN0LmZuKCksXG4gICAgICBzb3J0SWRzOiBqZXN0LmZuKCksXG4gICAgICBnZXRHcWxGaWVsZHM6IGplc3QuZm4oKVxuICAgIH1cbiAgfTtcbiAgYXdhaXQgamVzdC5pc29sYXRlTW9kdWxlc0FzeW5jKGFzeW5jICgpID0+IHtcbiAgICBqZXN0LnVuc3RhYmxlX21vY2tNb2R1bGUoJy4vYXJhbmdvZGJVdGlscy5qcycsICgpID0+IG1vY2spO1xuICB9KTtcbn07XG5cbi8vIFV0aWxpdHkgdG8gY2xlYXIgYWxsIG1vY2tzXG5leHBvcnQgY29uc3QgY2xlYXJBbGxNb2NrcyA9ICgpID0+IHtcbiAgamVzdC5jbGVhckFsbE1vY2tzKCk7XG59O1xuXG4vLyBVdGlsaXR5IHRvIGNyZWF0ZSBhIHRlc3Qgc3VpdGUgZm9yIGFjdGlvbiBmdW5jdGlvbnNcbmV4cG9ydCBjb25zdCBjcmVhdGVBY3Rpb25UZXN0U3VpdGUgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgYWN0aW9uc1BhdGg6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGFjdGlvbk5hbWU6IHN0cmluZztcbiAgICBhcmdzOiBUZXN0QXJncztcbiAgICBtb2NrUXVlcnk6IGplc3QuTW9jaztcbiAgICBleHBlY3RlZFJlc3VsdDogVGVzdFJldHVyblZhbHVlO1xuICB9PlxuKSA9PiB7XG4gIGRlc2NyaWJlKGAke25hbWV9IGFjdGlvbnNgLCAoKSA9PiB7XG4gICAgbGV0IGFjdGlvbnM6IGFueTtcblxuICAgIGJlZm9yZUFsbChhc3luYyAoKSA9PiB7XG4gICAgICBhY3Rpb25zID0gYXdhaXQgaW1wb3J0KGFjdGlvbnNQYXRoKTtcbiAgICB9KTtcblxuICAgIHRlc3RDYXNlcy5mb3JFYWNoKCh7bmFtZTogdGVzdE5hbWUsIGFjdGlvbk5hbWUsIGFyZ3MsIG1vY2tRdWVyeSwgZXhwZWN0ZWRSZXN1bHR9KSA9PiB7XG4gICAgICBpdChgc2hvdWxkIGV4ZWN1dGUgJHthY3Rpb25OYW1lfWAsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgbW9ja0NvbnRleHQgPSBjcmVhdGVNb2NrQ29udGV4dCgpO1xuICAgICAgICBjb25zdCBtb2NrRGIgPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICBxdWVyeTogbW9ja1F1ZXJ5XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBhY3R1YWwgPSBqZXN0LnJlcXVpcmVBY3R1YWwoJy4vYXJhbmdvZGJVdGlscy5qcycpIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgICAgICBqZXN0LmRvTW9jaygnLi9hcmFuZ29kYlV0aWxzLmpzJywgKCkgPT4gKHtcbiAgICAgICAgICB1c2VEYjogbW9ja0RiLFxuICAgICAgICAgIC4uLmFjdHVhbFxuICAgICAgICB9KSk7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgKGFjdGlvbnNbYWN0aW9uTmFtZV0gYXMgamVzdC5Nb2NrKShtb2NrQ29udGV4dCwgYXJncyk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXhwZWN0ZWRSZXN1bHQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFkYXB0ZXJUZXN0U3VpdGUgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgYWRhcHRlclBhdGg6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBhbnlbXVxuKSA9PiB7XG4gIGRlc2NyaWJlKG5hbWUsICgpID0+IHtcbiAgICBsZXQgYWRhcHRlcjogYW55O1xuXG4gICAgYmVmb3JlQWxsKGFzeW5jICgpID0+IHtcbiAgICAgIGFkYXB0ZXIgPSBhd2FpdCBpbXBvcnQoYWRhcHRlclBhdGgpO1xuICAgIH0pO1xuXG4gICAgdGVzdENhc2VzLmZvckVhY2goKHtuYW1lOiB0ZXN0TmFtZSwgaW5wdXQsIGV4cGVjdGVkT3V0cHV0fSkgPT4ge1xuICAgICAgaXQoYHNob3VsZCAke3Rlc3ROYW1lfWAsICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKGFkYXB0ZXIgYXMge3BhcnNlVGFnOiAoaW5wdXQ6IFRlc3RBcmdzKSA9PiBUZXN0UmV0dXJuVmFsdWV9KS5wYXJzZVRhZyhpbnB1dCk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXhwZWN0ZWRPdXRwdXQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVV0aWxzVGVzdFN1aXRlID0gKFxuICBuYW1lOiBzdHJpbmcsXG4gIHV0aWxzUGF0aDogc3RyaW5nLFxuICB0ZXN0Q2FzZXM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgaW5wdXQ6IFRlc3RBcmdzO1xuICAgIGV4cGVjdGVkT3V0cHV0OiBUZXN0UmV0dXJuVmFsdWU7XG4gIH0+XG4pID0+IHtcbiAgZGVzY3JpYmUobmFtZSwgKCkgPT4ge1xuICAgIGxldCB1dGlsczogYW55O1xuXG4gICAgYmVmb3JlQWxsKGFzeW5jICgpID0+IHtcbiAgICAgIHV0aWxzID0gYXdhaXQgaW1wb3J0KHV0aWxzUGF0aCk7XG4gICAgfSk7XG5cbiAgICB0ZXN0Q2FzZXMuZm9yRWFjaCgoe25hbWU6IHRlc3ROYW1lLCBpbnB1dCwgZXhwZWN0ZWRPdXRwdXR9KSA9PiB7XG4gICAgICBpdChgc2hvdWxkICR7dGVzdE5hbWV9YCwgKCkgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICBpZigodXRpbHMgYXMge2xvZ0luZm8/OiAoaW5wdXQ6IFRlc3RBcmdzKSA9PiBUZXN0UmV0dXJuVmFsdWV9KS5sb2dJbmZvKSB7XG4gICAgICAgICAgcmVzdWx0ID0gKHV0aWxzIGFzIHtsb2dJbmZvOiAoaW5wdXQ6IFRlc3RBcmdzKSA9PiBUZXN0UmV0dXJuVmFsdWV9KS5sb2dJbmZvKGlucHV0KTtcbiAgICAgICAgfSBlbHNlIGlmKCh1dGlscyBhcyB7cmVtb3ZlRW1wdHlLZXlzPzogKGlucHV0OiBUZXN0QXJncykgPT4gVGVzdFJldHVyblZhbHVlfSkucmVtb3ZlRW1wdHlLZXlzKSB7XG4gICAgICAgICAgcmVzdWx0ID0gKHV0aWxzIGFzIHtyZW1vdmVFbXB0eUtleXM6IChpbnB1dDogVGVzdEFyZ3MpID0+IFRlc3RSZXR1cm5WYWx1ZX0pLnJlbW92ZUVtcHR5S2V5cyhpbnB1dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWl0YWJsZSBmdW5jdGlvbiBmb3VuZCBpbiAke3V0aWxzUGF0aH1gKTtcbiAgICAgICAgfVxuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkT3V0cHV0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsT0FBUSxRQUFBQSxNQUFXLGdCQVlaLE1BQU1DLEVBQW9CLENBQUNDLEVBQTJCLENBQUMsSUFBa0IsQ0FDOUUsTUFBTUMsRUFBaUIsQ0FDckIsV0FBWSxFQUNaLE9BQVEsUUFDUixTQUFVLFVBQ1osRUFDTUMsRUFBa0RGLEVBQVUsU0FBVyxDQUFDLEVBQ3hFRyxFQUF1QixDQUMzQixhQUFlSCxFQUFVLGNBQTJCLE9BQ3BELEdBQUdBLENBQ0wsRUFDQSxjQUFPRyxFQUFRLFFBQ2ZBLEVBQVEsUUFBVSxDQUNoQixXQUFZRCxFQUFnQixhQUFlLE9BQVlBLEVBQWdCLFdBQWFELEVBQWUsV0FDbkcsT0FBUUMsRUFBZ0IsU0FBVyxPQUFZQSxFQUFnQixPQUFTRCxFQUFlLE9BQ3ZGLFNBQVVDLEVBQWdCLFdBQWEsT0FBWUEsRUFBZ0IsU0FBV0QsRUFBZSxRQUMvRixFQUNPRSxDQUNULEVBR2FDLEVBQXdCLENBQUNDLEVBQW9CLFVBVWpELENBQ0wsVUFBQUEsRUFDQSxXQUFZLENBQUMsRUFDYixVQUFXLENBQUMsRUFDWixVQVpnQixDQUFDLEVBYWpCLFdBWGlCLENBQUMsRUFZbEIsS0FBTSxDQUFDLElBQUtBLEVBQVcsS0FBTSxPQUFXLFNBQVUsTUFBTSxFQUN4RCxXQVhpQixDQUFDLEVBWWxCLFVBQVcsQ0FBQyxFQUNaLE9BWGEsQ0FBQyxFQVlkLGVBQWdCLENBQUMsQ0FDbkIsR0FJV0MsRUFBb0IsTUFBT0MsRUFBb0JDLElBQTJDLENBQ3JHLE1BQU1DLEVBQVEsT0FBTyxRQUFRRCxDQUFXLEVBQUUsT0FBTyxDQUFDRSxFQUFLLENBQUNDLEVBQUtDLENBQUssS0FDaEVGLEVBQUlDLENBQUcsRUFBSWIsRUFBSyxHQUFHLEVBQUUsbUJBQW1CYyxDQUFLLEVBQ3RDRixHQUNOLENBQUMsQ0FBOEIsRUFFbEMsTUFBTVosRUFBSyxvQkFBb0IsU0FBWSxDQUN6Q0EsRUFBSyxv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LElBQU0sQ0FDN0IsTUFBTU8sRUFBVXVCLEVBQTZELFNBQVNDLENBQUssRUFDM0YsT0FBT3hCLENBQU0sRUFBRSxRQUFReUIsQ0FBYyxDQUN2QyxDQUFDLENBQ0gsQ0FBQyxDQUNILENBQUMsQ0FDSCxFQUVhQyxFQUF1QixDQUNsQ3RDLEVBQ0F1QyxFQUNBckMsSUFLRyxDQUNILFNBQVNGLEVBQU0sSUFBTSxDQUNuQixJQUFJd0MsRUFFSixVQUFVLFNBQVksQ0FDcEJBLEVBQVEsTUFBTSxPQUFPRCxFQUN2QixDQUFDLEVBRURyQyxFQUFVLFFBQVEsQ0FBQyxDQUFDLEtBQU1HLEVBQVUsTUFBQStCLEVBQU8sZUFBQUMsQ0FBYyxJQUFNLENBQzdELEdBQUcsVUFBVWhDLENBQVEsR0FBSSxJQUFNLENBQzdCLElBQUlPLEVBQ0osR0FBSTRCLEVBQTJELFFBQzdENUIsRUFBVTRCLEVBQTBELFFBQVFKLENBQUssVUFDeEVJLEVBQW1FLGdCQUM1RTVCLEVBQVU0QixFQUFrRSxnQkFBZ0JKLENBQUssTUFFakcsT0FBTSxJQUFJLE1BQU0saUNBQWlDRyxDQUFTLEVBQUUsRUFFOUQsT0FBTzNCLENBQU0sRUFBRSxRQUFReUIsQ0FBYyxDQUN2QyxDQUFDLENBQ0gsQ0FBQyxDQUNILENBQUMsQ0FDSCIsCiAgIm5hbWVzIjogWyJqZXN0IiwgImNyZWF0ZU1vY2tDb250ZXh0IiwgIm92ZXJyaWRlcyIsICJkZWZhdWx0U2Vzc2lvbiIsICJvdmVycmlkZVNlc3Npb24iLCAiY29udGV4dCIsICJjcmVhdGVNb2NrUmVzb2x2ZUluZm8iLCAiZmllbGROYW1lIiwgIm1vY2tBY3Rpb25zTW9kdWxlIiwgIm1vZHVsZVBhdGgiLCAibW9ja0FjdGlvbnMiLCAibW9ja3MiLCAiYWNjIiwgImtleSIsICJ2YWx1ZSIsICJtb2NrT2JqZWN0VHlwZSIsICJ0eXBlTmFtZSIsICJtb2NrIiwgImNyZWF0ZVF1ZXJ5VGVzdFN1aXRlIiwgIm5hbWUiLCAiYWN0aW9uc1BhdGgiLCAidGVzdENhc2VzIiwgImFjdGlvbnMiLCAibW9ja0NvbnRleHQiLCAidGVzdE5hbWUiLCAiYWN0aW9uTmFtZSIsICJhcmdzIiwgImV4cGVjdGVkQ2FsbCIsICJtb2NrUmV0dXJuVmFsdWUiLCAiZXJyb3JDYXNlIiwgIm1vY2tGbiIsICJyZXN1bHQiLCAiY3JlYXRlTXV0YXRpb25UZXN0U3VpdGUiLCAicmVxdWlyZXNBdXRoIiwgImF1dGhVc2VySWQiLCAiY3JlYXRlSW50ZWdyYXRpb25UZXN0U3VpdGUiLCAib2JqZWN0VHlwZVBhdGgiLCAic3VjY2Vzc1JldHVyblZhbHVlIiwgImVycm9yUmV0dXJuVmFsdWUiLCAidGVzdEVycm9yQ2FzZSIsICJjcmVhdGVNb2NrVXNlciIsICJjcmVhdGVNb2NrUG9zdCIsICJjcmVhdGVNb2NrTWVzc2FnZSIsICJjcmVhdGVNb2NrUmVhY3Rpb24iLCAiY3JlYXRlTW9ja1RhZyIsICJzZXR1cENvbW1vbk1vY2tzIiwgImNsZWFyQWxsTW9ja3MiLCAiY3JlYXRlQWN0aW9uVGVzdFN1aXRlIiwgIm1vY2tRdWVyeSIsICJleHBlY3RlZFJlc3VsdCIsICJtb2NrRGIiLCAiYWN0dWFsIiwgImNyZWF0ZUFkYXB0ZXJUZXN0U3VpdGUiLCAiYWRhcHRlclBhdGgiLCAiYWRhcHRlciIsICJpbnB1dCIsICJleHBlY3RlZE91dHB1dCIsICJjcmVhdGVVdGlsc1Rlc3RTdWl0ZSIsICJ1dGlsc1BhdGgiLCAidXRpbHMiXQp9Cg==
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ import type { ApiContext } from '../types/auth.types.js';
6
+ import type { Locale } from '../types/content.types.js';
7
+ interface TranslationObject {
8
+ key: string;
9
+ fallback?: string;
10
+ params?: Record<string, any>;
11
+ }
12
+ declare class TranslationQueue {
13
+ private batches;
14
+ private batchTimeout;
15
+ private maxBatchSize;
16
+ translate(context: ApiContext, translations: TranslationObject[], locale?: Locale): Promise<Record<string, string>>;
17
+ private getTranslation;
18
+ flush(): Promise<void>;
19
+ clear(): void;
20
+ private getBatchKey;
21
+ private processBatch;
22
+ private interpolate;
23
+ }
24
+ declare const translationQueue: TranslationQueue;
25
+ export declare const i18n: (context: ApiContext, translations: TranslationObject[], locale?: Locale) => Promise<Record<string, string>>;
26
+ export declare const flush: () => Promise<void>;
27
+ export declare const clear: () => void;
28
+ export type { TranslationObject };
29
+ export { translationQueue };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ *
5
+ * Example usage of the translation queue system with Google Translate integration
6
+ *
7
+ * This demonstrates how to use the new translation queue that automatically
8
+ * translates content using Google Translate API when needed.
9
+ */
10
+ import type { ApiContext } from '../types/auth.types.js';
11
+ import type { Locale } from '../types/content.types.js';
12
+ export declare function getWelcomeMessages(context: ApiContext, locale?: Locale): Promise<Record<string, string>>;
13
+ export declare function getPersonalizedMessages(context: ApiContext, username: string, locale?: Locale): Promise<Record<string, string>>;
14
+ export declare function getMultiLanguageContent(context: ApiContext): Promise<Record<Locale, Record<string, string>>>;
15
+ export declare function getRobustTranslations(context: ApiContext, locale?: Locale): Promise<Record<string, string>>;
16
+ export declare function processLargeTranslationBatch(context: ApiContext, locale?: Locale): Promise<Record<string, string>>;
17
+ export declare function getErrorMessages(context: ApiContext, errorCode: string, locale?: Locale): Promise<Record<string, string>>;
18
+ export declare function generateEmailTemplate(context: ApiContext, userData: {
19
+ name: string;
20
+ email: string;
21
+ orderId: string;
22
+ total: number;
23
+ items: number;
24
+ }, locale?: Locale): Promise<{
25
+ subject: string;
26
+ greeting: string;
27
+ body: string;
28
+ footer: string;
29
+ }>;
30
+ export declare function getNotificationMessages(context: ApiContext, locale?: Locale): Promise<Record<string, string>>;
31
+ export declare function performanceComparison(context: ApiContext): Promise<Record<string, string>>;
32
+ export declare function getUserGreeting(context: ApiContext, userLocale?: string, username?: string): Promise<string>;
33
+ export declare function ensureAllTranslationsProcessed(): Promise<void>;