@nlabs/reaktor 0.10.5 → 0.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) hide show
  1. package/lib/actions/apps.d.ts +1 -0
  2. package/lib/actions/apps.d.ts.map +1 -0
  3. package/lib/actions/apps.js +221 -0
  4. package/lib/actions/connections.d.ts +1 -0
  5. package/lib/actions/connections.d.ts.map +1 -0
  6. package/lib/actions/connections.js +62 -0
  7. package/lib/actions/content.d.ts +1 -0
  8. package/lib/actions/content.d.ts.map +1 -0
  9. package/lib/actions/content.js +240 -0
  10. package/lib/actions/conversations.d.ts +1 -0
  11. package/lib/actions/conversations.d.ts.map +1 -0
  12. package/lib/actions/conversations.js +335 -0
  13. package/lib/actions/dynamodb.d.ts +1 -0
  14. package/lib/actions/dynamodb.d.ts.map +1 -0
  15. package/lib/actions/dynamodb.js +119 -0
  16. package/lib/actions/email.d.ts +1 -0
  17. package/lib/actions/email.d.ts.map +1 -0
  18. package/lib/actions/email.js +56 -0
  19. package/lib/actions/files.d.ts +1 -0
  20. package/lib/actions/files.d.ts.map +1 -0
  21. package/lib/actions/files.js +226 -0
  22. package/lib/actions/groups.d.ts +1 -0
  23. package/lib/actions/groups.d.ts.map +1 -0
  24. package/lib/actions/groups.js +267 -0
  25. package/lib/actions/images.d.ts +1 -0
  26. package/lib/actions/images.d.ts.map +1 -0
  27. package/lib/actions/images.js +723 -0
  28. package/lib/actions/index.d.ts +1 -0
  29. package/lib/actions/index.d.ts.map +1 -0
  30. package/lib/actions/index.js +29 -0
  31. package/lib/actions/ios.d.ts +1 -0
  32. package/lib/actions/ios.d.ts.map +1 -0
  33. package/lib/actions/ios.js +230 -0
  34. package/lib/actions/locations.d.ts +1 -0
  35. package/lib/actions/locations.d.ts.map +1 -0
  36. package/lib/actions/locations.js +111 -0
  37. package/lib/actions/messages.d.ts +1 -0
  38. package/lib/actions/messages.d.ts.map +1 -0
  39. package/lib/actions/messages.js +167 -0
  40. package/lib/actions/notifications.d.ts +3 -2
  41. package/lib/actions/notifications.d.ts.map +1 -0
  42. package/lib/actions/notifications.js +37 -0
  43. package/lib/actions/payments.d.ts +1 -0
  44. package/lib/actions/payments.d.ts.map +1 -0
  45. package/lib/actions/payments.js +449 -0
  46. package/lib/actions/posts.d.ts +1 -0
  47. package/lib/actions/posts.d.ts.map +1 -0
  48. package/lib/actions/posts.js +608 -0
  49. package/lib/actions/profiles.d.ts +1 -0
  50. package/lib/actions/profiles.d.ts.map +1 -0
  51. package/lib/actions/profiles.js +58 -0
  52. package/lib/actions/reactions.d.ts +1 -0
  53. package/lib/actions/reactions.d.ts.map +1 -0
  54. package/lib/actions/reactions.js +286 -0
  55. package/lib/actions/s3.d.ts +1 -0
  56. package/lib/actions/s3.d.ts.map +1 -0
  57. package/lib/actions/s3.js +102 -0
  58. package/lib/actions/search.d.ts +1 -0
  59. package/lib/actions/search.d.ts.map +1 -0
  60. package/lib/actions/search.js +81 -0
  61. package/lib/actions/sms.d.ts +1 -0
  62. package/lib/actions/sms.d.ts.map +1 -0
  63. package/lib/actions/sms.js +52 -0
  64. package/lib/actions/statistics.d.ts +1 -0
  65. package/lib/actions/statistics.d.ts.map +1 -0
  66. package/lib/actions/statistics.js +43 -0
  67. package/lib/actions/subscriptions.d.ts +1 -0
  68. package/lib/actions/subscriptions.d.ts.map +1 -0
  69. package/lib/actions/subscriptions.js +202 -0
  70. package/lib/actions/tags.d.ts +1 -0
  71. package/lib/actions/tags.d.ts.map +1 -0
  72. package/lib/actions/tags.js +263 -0
  73. package/lib/actions/users.d.ts +1 -0
  74. package/lib/actions/users.d.ts.map +1 -0
  75. package/lib/actions/users.js +802 -0
  76. package/lib/actions/videos.d.ts +1 -0
  77. package/lib/actions/videos.d.ts.map +1 -0
  78. package/lib/actions/videos.js +423 -0
  79. package/lib/actions/websockets.d.ts +1 -0
  80. package/lib/actions/websockets.d.ts.map +1 -0
  81. package/lib/actions/websockets.js +164 -0
  82. package/lib/adapters/arangoAdapter.d.ts +1 -0
  83. package/lib/adapters/arangoAdapter.d.ts.map +1 -0
  84. package/lib/adapters/arangoAdapter.js +70 -0
  85. package/lib/adapters/contentAdapter.d.ts +1 -0
  86. package/lib/adapters/contentAdapter.d.ts.map +1 -0
  87. package/lib/adapters/contentAdapter.js +108 -0
  88. package/lib/adapters/fileAdapter.d.ts +1 -0
  89. package/lib/adapters/fileAdapter.d.ts.map +1 -0
  90. package/lib/adapters/fileAdapter.js +119 -0
  91. package/lib/adapters/imageAdapter.d.ts +1 -0
  92. package/lib/adapters/imageAdapter.d.ts.map +1 -0
  93. package/lib/adapters/imageAdapter.js +112 -0
  94. package/lib/adapters/index.d.ts +1 -0
  95. package/lib/adapters/index.d.ts.map +1 -0
  96. package/lib/adapters/index.js +11 -0
  97. package/lib/adapters/messageAdapter.d.ts +1 -0
  98. package/lib/adapters/messageAdapter.d.ts.map +1 -0
  99. package/lib/adapters/messageAdapter.js +82 -0
  100. package/lib/adapters/postAdapter.d.ts +1 -0
  101. package/lib/adapters/postAdapter.d.ts.map +1 -0
  102. package/lib/adapters/postAdapter.js +117 -0
  103. package/lib/adapters/reaktorAdapter.d.ts +1 -0
  104. package/lib/adapters/reaktorAdapter.d.ts.map +1 -0
  105. package/lib/adapters/reaktorAdapter.js +59 -0
  106. package/lib/adapters/tagAdapter.d.ts +1 -0
  107. package/lib/adapters/tagAdapter.d.ts.map +1 -0
  108. package/lib/adapters/tagAdapter.js +99 -0
  109. package/lib/adapters/userAdapter.d.ts +1 -0
  110. package/lib/adapters/userAdapter.d.ts.map +1 -0
  111. package/lib/adapters/userAdapter.js +264 -0
  112. package/lib/config.d.ts +1 -0
  113. package/lib/config.d.ts.map +1 -0
  114. package/lib/config.js +161 -0
  115. package/lib/handlers/graphqlHandler.d.ts +1 -0
  116. package/lib/handlers/graphqlHandler.d.ts.map +1 -0
  117. package/lib/handlers/graphqlHandler.js +118 -0
  118. package/lib/index.d.ts +1 -0
  119. package/lib/index.d.ts.map +1 -0
  120. package/lib/index.js +18 -0
  121. package/lib/lambdas/actions/websockets.d.ts +1 -0
  122. package/lib/lambdas/actions/websockets.d.ts.map +1 -0
  123. package/lib/lambdas/actions/websockets.js +105 -0
  124. package/lib/lambdas/authorizer.d.ts +1 -0
  125. package/lib/lambdas/authorizer.d.ts.map +1 -0
  126. package/lib/lambdas/authorizer.js +41 -0
  127. package/lib/lambdas/connection.d.ts +1 -0
  128. package/lib/lambdas/connection.d.ts.map +1 -0
  129. package/lib/lambdas/connection.js +85 -0
  130. package/lib/lambdas/utils/message.d.ts +1 -0
  131. package/lib/lambdas/utils/message.d.ts.map +1 -0
  132. package/lib/lambdas/utils/message.js +20 -0
  133. package/lib/lambdas/utils/websocket.d.ts +1 -0
  134. package/lib/lambdas/utils/websocket.d.ts.map +1 -0
  135. package/lib/lambdas/utils/websocket.js +78 -0
  136. package/lib/mocks/conversation.d.ts +1 -0
  137. package/lib/mocks/conversation.d.ts.map +1 -0
  138. package/lib/mocks/conversation.js +10 -0
  139. package/lib/mocks/file.d.ts +1 -0
  140. package/lib/mocks/file.d.ts.map +1 -0
  141. package/lib/mocks/file.js +13 -0
  142. package/lib/mocks/group.d.ts +1 -0
  143. package/lib/mocks/group.d.ts.map +1 -0
  144. package/lib/mocks/group.js +20 -0
  145. package/lib/mocks/image.d.ts +1 -0
  146. package/lib/mocks/image.d.ts.map +1 -0
  147. package/lib/mocks/image.js +17 -0
  148. package/lib/mocks/post.d.ts +1 -0
  149. package/lib/mocks/post.d.ts.map +1 -0
  150. package/lib/mocks/post.js +28 -0
  151. package/lib/mocks/tag.d.ts +1 -0
  152. package/lib/mocks/tag.d.ts.map +1 -0
  153. package/lib/mocks/tag.js +12 -0
  154. package/lib/mocks/user.d.ts +1 -0
  155. package/lib/mocks/user.d.ts.map +1 -0
  156. package/lib/mocks/user.js +61 -0
  157. package/lib/mocks/video.d.ts +1 -0
  158. package/lib/mocks/video.d.ts.map +1 -0
  159. package/lib/mocks/video.js +17 -0
  160. package/lib/mutations/content.d.ts +1 -0
  161. package/lib/mutations/content.d.ts.map +1 -0
  162. package/lib/mutations/content.js +27 -0
  163. package/lib/mutations/index.d.ts +1 -0
  164. package/lib/mutations/index.d.ts.map +1 -0
  165. package/lib/mutations/index.js +29 -0
  166. package/lib/mutations/locations.d.ts +1 -0
  167. package/lib/mutations/locations.d.ts.map +1 -0
  168. package/lib/mutations/locations.js +22 -0
  169. package/lib/mutations/messages.d.ts +1 -0
  170. package/lib/mutations/messages.d.ts.map +1 -0
  171. package/lib/mutations/messages.js +75 -0
  172. package/lib/mutations/posts.d.ts +1 -0
  173. package/lib/mutations/posts.d.ts.map +1 -0
  174. package/lib/mutations/posts.js +31 -0
  175. package/lib/mutations/profiles.d.ts +1 -0
  176. package/lib/mutations/profiles.d.ts.map +1 -0
  177. package/lib/mutations/profiles.js +78 -0
  178. package/lib/mutations/reactions.d.ts +1 -0
  179. package/lib/mutations/reactions.d.ts.map +1 -0
  180. package/lib/mutations/reactions.js +29 -0
  181. package/lib/mutations/statistics.d.ts +1 -0
  182. package/lib/mutations/statistics.d.ts.map +1 -0
  183. package/lib/mutations/statistics.js +17 -0
  184. package/lib/mutations/subscriptions.d.ts +1 -0
  185. package/lib/mutations/subscriptions.d.ts.map +1 -0
  186. package/lib/mutations/subscriptions.js +38 -0
  187. package/lib/mutations/tags.d.ts +1 -0
  188. package/lib/mutations/tags.d.ts.map +1 -0
  189. package/lib/mutations/tags.js +109 -0
  190. package/lib/mutations/users.d.ts +1 -0
  191. package/lib/mutations/users.d.ts.map +1 -0
  192. package/lib/mutations/users.js +129 -0
  193. package/lib/objectTypes/app.d.ts +1 -0
  194. package/lib/objectTypes/app.d.ts.map +1 -0
  195. package/lib/objectTypes/app.js +147 -0
  196. package/lib/objectTypes/bankAccount.d.ts +1 -0
  197. package/lib/objectTypes/bankAccount.d.ts.map +1 -0
  198. package/lib/objectTypes/bankAccount.js +54 -0
  199. package/lib/objectTypes/connection.d.ts +1 -0
  200. package/lib/objectTypes/connection.d.ts.map +1 -0
  201. package/lib/objectTypes/connection.js +26 -0
  202. package/lib/objectTypes/content.d.ts +1 -0
  203. package/lib/objectTypes/content.d.ts.map +1 -0
  204. package/lib/objectTypes/content.js +79 -0
  205. package/lib/objectTypes/conversation.d.ts +1 -0
  206. package/lib/objectTypes/conversation.d.ts.map +1 -0
  207. package/lib/objectTypes/conversation.js +53 -0
  208. package/lib/objectTypes/creditCard.d.ts +1 -0
  209. package/lib/objectTypes/creditCard.d.ts.map +1 -0
  210. package/lib/objectTypes/creditCard.js +64 -0
  211. package/lib/objectTypes/document.d.ts +1 -0
  212. package/lib/objectTypes/document.d.ts.map +1 -0
  213. package/lib/objectTypes/document.js +21 -0
  214. package/lib/objectTypes/error.d.ts +1 -0
  215. package/lib/objectTypes/error.d.ts.map +1 -0
  216. package/lib/objectTypes/error.js +24 -0
  217. package/lib/objectTypes/external.d.ts +1 -0
  218. package/lib/objectTypes/external.d.ts.map +1 -0
  219. package/lib/objectTypes/external.js +52 -0
  220. package/lib/objectTypes/file.d.ts +1 -0
  221. package/lib/objectTypes/file.d.ts.map +1 -0
  222. package/lib/objectTypes/file.js +76 -0
  223. package/lib/objectTypes/filter.d.ts +1 -0
  224. package/lib/objectTypes/filter.d.ts.map +1 -0
  225. package/lib/objectTypes/filter.js +21 -0
  226. package/lib/objectTypes/group.d.ts +1 -0
  227. package/lib/objectTypes/group.d.ts.map +1 -0
  228. package/lib/objectTypes/group.js +97 -0
  229. package/lib/objectTypes/iapSubscription.d.ts +1 -0
  230. package/lib/objectTypes/iapSubscription.d.ts.map +1 -0
  231. package/lib/objectTypes/iapSubscription.js +18 -0
  232. package/lib/objectTypes/image.d.ts +1 -0
  233. package/lib/objectTypes/image.d.ts.map +1 -0
  234. package/lib/objectTypes/image.js +105 -0
  235. package/lib/objectTypes/index.d.ts +1 -0
  236. package/lib/objectTypes/index.d.ts.map +1 -0
  237. package/lib/objectTypes/index.js +28 -0
  238. package/lib/objectTypes/location.d.ts +1 -0
  239. package/lib/objectTypes/location.d.ts.map +1 -0
  240. package/lib/objectTypes/location.js +85 -0
  241. package/lib/objectTypes/message.d.ts +1 -0
  242. package/lib/objectTypes/message.d.ts.map +1 -0
  243. package/lib/objectTypes/message.js +72 -0
  244. package/lib/objectTypes/passcode.d.ts +1 -0
  245. package/lib/objectTypes/passcode.d.ts.map +1 -0
  246. package/lib/objectTypes/passcode.js +20 -0
  247. package/lib/objectTypes/plan.d.ts +1 -0
  248. package/lib/objectTypes/plan.d.ts.map +1 -0
  249. package/lib/objectTypes/plan.js +71 -0
  250. package/lib/objectTypes/post.d.ts +1 -0
  251. package/lib/objectTypes/post.d.ts.map +1 -0
  252. package/lib/objectTypes/post.js +101 -0
  253. package/lib/objectTypes/profile.d.ts +1 -0
  254. package/lib/objectTypes/profile.d.ts.map +1 -0
  255. package/lib/objectTypes/profile.js +68 -0
  256. package/lib/objectTypes/reaction.d.ts +1 -0
  257. package/lib/objectTypes/reaction.d.ts.map +1 -0
  258. package/lib/objectTypes/reaction.js +37 -0
  259. package/lib/objectTypes/relation.d.ts +1 -0
  260. package/lib/objectTypes/relation.d.ts.map +1 -0
  261. package/lib/objectTypes/relation.js +27 -0
  262. package/lib/objectTypes/search.d.ts +1 -0
  263. package/lib/objectTypes/search.d.ts.map +1 -0
  264. package/lib/objectTypes/search.js +50 -0
  265. package/lib/objectTypes/statistics.d.ts +1 -0
  266. package/lib/objectTypes/statistics.d.ts.map +1 -0
  267. package/lib/objectTypes/statistics.js +17 -0
  268. package/lib/objectTypes/subscription.d.ts +1 -0
  269. package/lib/objectTypes/subscription.d.ts.map +1 -0
  270. package/lib/objectTypes/subscription.js +102 -0
  271. package/lib/objectTypes/tag.d.ts +1 -0
  272. package/lib/objectTypes/tag.d.ts.map +1 -0
  273. package/lib/objectTypes/tag.js +41 -0
  274. package/lib/objectTypes/user.d.ts +1 -0
  275. package/lib/objectTypes/user.d.ts.map +1 -0
  276. package/lib/objectTypes/user.js +111 -0
  277. package/lib/queries/content.d.ts +1 -0
  278. package/lib/queries/content.d.ts.map +1 -0
  279. package/lib/queries/content.js +50 -0
  280. package/lib/queries/index.d.ts +1 -0
  281. package/lib/queries/index.d.ts.map +1 -0
  282. package/lib/queries/index.js +27 -0
  283. package/lib/queries/locations.d.ts +1 -0
  284. package/lib/queries/locations.d.ts.map +1 -0
  285. package/lib/queries/locations.js +23 -0
  286. package/lib/queries/messages.d.ts +1 -0
  287. package/lib/queries/messages.d.ts.map +1 -0
  288. package/lib/queries/messages.js +35 -0
  289. package/lib/queries/posts.d.ts +1 -0
  290. package/lib/queries/posts.d.ts.map +1 -0
  291. package/lib/queries/posts.js +154 -0
  292. package/lib/queries/reactions.d.ts +1 -0
  293. package/lib/queries/reactions.d.ts.map +1 -0
  294. package/lib/queries/reactions.js +34 -0
  295. package/lib/queries/statistics.d.ts +1 -0
  296. package/lib/queries/statistics.d.ts.map +1 -0
  297. package/lib/queries/statistics.js +17 -0
  298. package/lib/queries/subscriptions.d.ts +1 -0
  299. package/lib/queries/subscriptions.d.ts.map +1 -0
  300. package/lib/queries/subscriptions.js +21 -0
  301. package/lib/queries/tags.d.ts +1 -0
  302. package/lib/queries/tags.d.ts.map +1 -0
  303. package/lib/queries/tags.js +56 -0
  304. package/lib/queries/users.d.ts +1 -0
  305. package/lib/queries/users.d.ts.map +1 -0
  306. package/lib/queries/users.js +39 -0
  307. package/lib/templates/email/layout.d.ts +1 -0
  308. package/lib/templates/email/layout.d.ts.map +1 -0
  309. package/lib/templates/email/layout.js +281 -0
  310. package/lib/templates/email/passwordForgot.d.ts +1 -0
  311. package/lib/templates/email/passwordForgot.d.ts.map +1 -0
  312. package/lib/templates/email/passwordForgot.js +17 -0
  313. package/lib/templates/email/passwordRecovery.d.ts +1 -0
  314. package/lib/templates/email/passwordRecovery.d.ts.map +1 -0
  315. package/lib/templates/email/passwordRecovery.js +14 -0
  316. package/lib/templates/email/verifyEmail.d.ts +1 -0
  317. package/lib/templates/email/verifyEmail.d.ts.map +1 -0
  318. package/lib/templates/email/verifyEmail.js +17 -0
  319. package/lib/templates/email/welcome.d.ts +1 -0
  320. package/lib/templates/email/welcome.d.ts.map +1 -0
  321. package/lib/templates/email/welcome.js +17 -0
  322. package/lib/templates/sms/passwordForgot.d.ts +1 -0
  323. package/lib/templates/sms/passwordForgot.d.ts.map +1 -0
  324. package/lib/templates/sms/passwordForgot.js +3 -0
  325. package/lib/templates/sms/passwordRecovery.d.ts +1 -0
  326. package/lib/templates/sms/passwordRecovery.d.ts.map +1 -0
  327. package/lib/templates/sms/passwordRecovery.js +3 -0
  328. package/lib/templates/sms/verifyEmail.d.ts +1 -0
  329. package/lib/templates/sms/verifyEmail.d.ts.map +1 -0
  330. package/lib/templates/sms/verifyEmail.js +3 -0
  331. package/lib/templates/sms/verifyPhone.d.ts +1 -0
  332. package/lib/templates/sms/verifyPhone.d.ts.map +1 -0
  333. package/lib/templates/sms/verifyPhone.js +3 -0
  334. package/lib/templates/sms/welcome.d.ts +1 -0
  335. package/lib/templates/sms/welcome.d.ts.map +1 -0
  336. package/lib/templates/sms/welcome.js +3 -0
  337. package/lib/types/apps.types.d.ts +1 -0
  338. package/lib/types/apps.types.d.ts.map +1 -0
  339. package/lib/types/apps.types.js +10 -0
  340. package/lib/types/arangodb.types.d.ts +1 -0
  341. package/lib/types/arangodb.types.d.ts.map +1 -0
  342. package/lib/types/arangodb.types.js +6 -0
  343. package/lib/types/auth.types.d.ts +1 -0
  344. package/lib/types/auth.types.d.ts.map +1 -0
  345. package/lib/types/auth.types.js +6 -0
  346. package/lib/types/connections.types.d.ts +1 -0
  347. package/lib/types/connections.types.d.ts.map +1 -0
  348. package/lib/types/connections.types.js +6 -0
  349. package/lib/types/content.types.d.ts +1 -0
  350. package/lib/types/content.types.d.ts.map +1 -0
  351. package/lib/types/content.types.js +6 -0
  352. package/lib/types/conversations.types.d.ts +1 -0
  353. package/lib/types/conversations.types.d.ts.map +1 -0
  354. package/lib/types/conversations.types.js +6 -0
  355. package/lib/types/email.types.d.ts +1 -0
  356. package/lib/types/email.types.d.ts.map +1 -0
  357. package/lib/types/email.types.js +6 -0
  358. package/lib/types/error.types.d.ts +1 -0
  359. package/lib/types/error.types.d.ts.map +1 -0
  360. package/lib/types/error.types.js +20 -0
  361. package/lib/types/files.types.d.ts +1 -0
  362. package/lib/types/files.types.d.ts.map +1 -0
  363. package/lib/types/files.types.js +6 -0
  364. package/lib/types/google.types.d.ts +1 -0
  365. package/lib/types/google.types.d.ts.map +1 -0
  366. package/lib/types/google.types.js +6 -0
  367. package/lib/types/groups.types.d.ts +1 -0
  368. package/lib/types/groups.types.d.ts.map +1 -0
  369. package/lib/types/groups.types.js +6 -0
  370. package/lib/types/images.types.d.ts +1 -0
  371. package/lib/types/images.types.d.ts.map +1 -0
  372. package/lib/types/images.types.js +6 -0
  373. package/lib/types/index.d.ts +1 -0
  374. package/lib/types/index.d.ts.map +1 -0
  375. package/lib/types/index.js +28 -0
  376. package/lib/types/locations.types.d.ts +1 -0
  377. package/lib/types/locations.types.d.ts.map +1 -0
  378. package/lib/types/locations.types.js +6 -0
  379. package/lib/types/messages.types.d.ts +1 -0
  380. package/lib/types/messages.types.d.ts.map +1 -0
  381. package/lib/types/messages.types.js +6 -0
  382. package/lib/types/notifications.types.d.ts +1 -0
  383. package/lib/types/notifications.types.d.ts.map +1 -0
  384. package/lib/types/notifications.types.js +6 -0
  385. package/lib/types/payments.types.d.ts +1 -0
  386. package/lib/types/payments.types.d.ts.map +1 -0
  387. package/lib/types/payments.types.js +6 -0
  388. package/lib/types/posts.types.d.ts +1 -0
  389. package/lib/types/posts.types.d.ts.map +1 -0
  390. package/lib/types/posts.types.js +6 -0
  391. package/lib/types/profiles.types.d.ts +1 -0
  392. package/lib/types/profiles.types.d.ts.map +1 -0
  393. package/lib/types/profiles.types.js +3 -0
  394. package/lib/types/statistics.types.d.ts +1 -0
  395. package/lib/types/statistics.types.d.ts.map +1 -0
  396. package/lib/types/statistics.types.js +3 -0
  397. package/lib/types/tags.types.d.ts +1 -0
  398. package/lib/types/tags.types.d.ts.map +1 -0
  399. package/lib/types/tags.types.js +6 -0
  400. package/lib/types/users.types.d.ts +1 -0
  401. package/lib/types/users.types.d.ts.map +1 -0
  402. package/lib/types/users.types.js +6 -0
  403. package/lib/types/videos.types.d.ts +1 -0
  404. package/lib/types/videos.types.d.ts.map +1 -0
  405. package/lib/types/videos.types.js +6 -0
  406. package/lib/types/websockets.types.d.ts +1 -0
  407. package/lib/types/websockets.types.d.ts.map +1 -0
  408. package/lib/types/websockets.types.js +6 -0
  409. package/lib/utils/adapterUtils.d.ts +1 -0
  410. package/lib/utils/adapterUtils.d.ts.map +1 -0
  411. package/lib/utils/adapterUtils.js +23 -0
  412. package/lib/utils/analyticsUtils.d.ts +1 -0
  413. package/lib/utils/analyticsUtils.d.ts.map +1 -0
  414. package/lib/utils/analyticsUtils.js +45 -0
  415. package/lib/utils/arangodbUtils.d.ts +1 -0
  416. package/lib/utils/arangodbUtils.d.ts.map +1 -0
  417. package/lib/utils/arangodbUtils.js +130 -0
  418. package/lib/utils/authUtils.d.ts +1 -0
  419. package/lib/utils/authUtils.d.ts.map +1 -0
  420. package/lib/utils/authUtils.js +54 -0
  421. package/lib/utils/contextUtils.d.ts +1 -0
  422. package/lib/utils/contextUtils.d.ts.map +1 -0
  423. package/lib/utils/contextUtils.js +10 -0
  424. package/lib/utils/dbI18n.d.ts +1 -0
  425. package/lib/utils/dbI18n.d.ts.map +1 -0
  426. package/lib/utils/dbI18n.example.d.ts +1 -0
  427. package/lib/utils/dbI18n.example.d.ts.map +1 -0
  428. package/lib/utils/dbI18n.example.js +93 -0
  429. package/lib/utils/dbI18n.js +28 -0
  430. package/lib/utils/googleTranslate.d.ts +1 -0
  431. package/lib/utils/googleTranslate.d.ts.map +1 -0
  432. package/lib/utils/googleTranslate.js +70 -0
  433. package/lib/utils/graphqlUtils.d.ts +1 -0
  434. package/lib/utils/graphqlUtils.d.ts.map +1 -0
  435. package/lib/utils/graphqlUtils.js +11 -0
  436. package/lib/utils/index.d.ts +1 -0
  437. package/lib/utils/index.d.ts.map +1 -0
  438. package/lib/utils/index.js +19 -0
  439. package/lib/utils/languageDetection.d.ts +1 -0
  440. package/lib/utils/languageDetection.d.ts.map +1 -0
  441. package/lib/utils/languageDetection.js +120 -0
  442. package/lib/utils/localeUtils.d.ts +1 -0
  443. package/lib/utils/localeUtils.d.ts.map +1 -0
  444. package/lib/utils/localeUtils.example.d.ts +1 -0
  445. package/lib/utils/localeUtils.example.d.ts.map +1 -0
  446. package/lib/utils/localeUtils.example.js +124 -0
  447. package/lib/utils/localeUtils.js +71 -0
  448. package/lib/utils/middlewareUtils.d.ts +1 -0
  449. package/lib/utils/middlewareUtils.d.ts.map +1 -0
  450. package/lib/utils/middlewareUtils.js +10 -0
  451. package/lib/utils/sessionUtils.d.ts +1 -0
  452. package/lib/utils/sessionUtils.d.ts.map +1 -0
  453. package/lib/utils/sessionUtils.js +26 -0
  454. package/lib/utils/stripeUtils.d.ts +2 -1
  455. package/lib/utils/stripeUtils.d.ts.map +1 -0
  456. package/lib/utils/stripeUtils.js +12 -0
  457. package/lib/utils/templateUtils.d.ts +1 -0
  458. package/lib/utils/templateUtils.d.ts.map +1 -0
  459. package/lib/utils/templateUtils.js +11 -0
  460. package/lib/utils/testUtils.d.ts +1 -0
  461. package/lib/utils/testUtils.d.ts.map +1 -0
  462. package/lib/utils/testUtils.js +292 -0
  463. package/lib/utils/translationQueue.d.ts +1 -0
  464. package/lib/utils/translationQueue.d.ts.map +1 -0
  465. package/lib/utils/translationQueue.example.d.ts +1 -0
  466. package/lib/utils/translationQueue.example.d.ts.map +1 -0
  467. package/lib/utils/translationQueue.example.js +340 -0
  468. package/lib/utils/translationQueue.js +113 -0
  469. package/package.json +43 -24
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ export const IsUserError = Symbol();
5
+ export class UserError extends Error {
6
+ constructor(...args){
7
+ super(...args);
8
+ this.name = 'Error';
9
+ this.message = args[0];
10
+ this[IsUserError] = true;
11
+ // Error.captureStackTrace(this);
12
+ }
13
+ }
14
+ export const logError = (params, error, context)=>{
15
+ const { column, line, message, source } = error || {};
16
+ const { databaseName, ...updatedContext } = context || {};
17
+ console.error('Reaktor Error:', {
18
+ column,
19
+ line,
20
+ message,
21
+ source,
22
+ type: 'error',
23
+ ...params,
24
+ ...updatedContext,
25
+ error
26
+ });
27
+ throw error || new UserError(params?.value);
28
+ };
29
+ export const logException = (params, context)=>{
30
+ const { databaseName, ...updatedContext } = context;
31
+ console.error('Reaktor Exception:', {
32
+ type: 'exception',
33
+ ...params,
34
+ ...updatedContext
35
+ });
36
+ throw new UserError(params?.value);
37
+ };
38
+ export const logInfo = (params)=>{
39
+ console.info('Reaktor Log:', {
40
+ type: 'log',
41
+ ...params
42
+ });
43
+ };
44
+
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2FuYWx5dGljc1V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5cbmV4cG9ydCB0eXBlIFJlYWt0b3JFcnJvciA9IEVycm9yICYge1xuICByZWFkb25seSBjb2x1bW4/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGxpbmU/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvdXJjZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFJlYWt0b3JMb2dQYXJhbXMgPSB7XG4gIHJlYWRvbmx5IGFjdGlvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsPzogc3RyaW5nO1xuICByZWFkb25seSBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcmVhZG9ubHkgdmFsdWU/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgSXNVc2VyRXJyb3IgPSBTeW1ib2woKTtcbmV4cG9ydCBjbGFzcyBVc2VyRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKC4uLmFyZ3MpIHtcbiAgICBzdXBlciguLi5hcmdzKTtcbiAgICB0aGlzLm5hbWUgPSAnRXJyb3InO1xuICAgIHRoaXMubWVzc2FnZSA9IGFyZ3NbMF07XG4gICAgdGhpc1tJc1VzZXJFcnJvcl0gPSB0cnVlO1xuXG4gICAgLy8gRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvZ0Vycm9yID0gKHBhcmFtczogUmVha3RvckxvZ1BhcmFtcywgZXJyb3I/OiBSZWFrdG9yRXJyb3IsIGNvbnRleHQ/OiBBcGlDb250ZXh0KTogUHJvbWlzZTx1bmtub3duPiA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb2x1bW4sXG4gICAgbGluZSxcbiAgICBtZXNzYWdlLFxuICAgIHNvdXJjZVxuICB9ID0gZXJyb3IgfHwge307XG5cbiAgY29uc3Qge2RhdGFiYXNlTmFtZSwgLi4udXBkYXRlZENvbnRleHR9ID0gY29udGV4dCB8fCB7fTtcblxuICBjb25zb2xlLmVycm9yKCdSZWFrdG9yIEVycm9yOicsIHtcbiAgICBjb2x1bW4sXG4gICAgbGluZSxcbiAgICBtZXNzYWdlLFxuICAgIHNvdXJjZSxcbiAgICB0eXBlOiAnZXJyb3InLFxuICAgIC4uLnBhcmFtcyxcbiAgICAuLi51cGRhdGVkQ29udGV4dCxcbiAgICBlcnJvclxuICB9KTtcblxuICB0aHJvdyAoZXJyb3IgfHwgbmV3IFVzZXJFcnJvcihwYXJhbXM/LnZhbHVlKSk7XG59O1xuXG5leHBvcnQgY29uc3QgbG9nRXhjZXB0aW9uID0gKHBhcmFtczogUmVha3RvckxvZ1BhcmFtcywgY29udGV4dDogQXBpQ29udGV4dCk6IFByb21pc2U8dW5rbm93bj4gPT4ge1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCAuLi51cGRhdGVkQ29udGV4dH0gPSBjb250ZXh0O1xuXG4gIGNvbnNvbGUuZXJyb3IoJ1JlYWt0b3IgRXhjZXB0aW9uOicsIHt0eXBlOiAnZXhjZXB0aW9uJywgLi4ucGFyYW1zLCAuLi51cGRhdGVkQ29udGV4dH0pO1xuICB0aHJvdyBuZXcgVXNlckVycm9yKHBhcmFtcz8udmFsdWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ0luZm8gPSAocGFyYW1zKTogdm9pZCA9PiB7XG4gIGNvbnNvbGUuaW5mbygnUmVha3RvciBMb2c6Jywge3R5cGU6ICdsb2cnLCAuLi5wYXJhbXN9KTtcbn07XG4iXSwibmFtZXMiOlsiSXNVc2VyRXJyb3IiLCJTeW1ib2wiLCJVc2VyRXJyb3IiLCJFcnJvciIsImFyZ3MiLCJuYW1lIiwibWVzc2FnZSIsImxvZ0Vycm9yIiwicGFyYW1zIiwiZXJyb3IiLCJjb250ZXh0IiwiY29sdW1uIiwibGluZSIsInNvdXJjZSIsImRhdGFiYXNlTmFtZSIsInVwZGF0ZWRDb250ZXh0IiwiY29uc29sZSIsInR5cGUiLCJ2YWx1ZSIsImxvZ0V4Y2VwdGlvbiIsImxvZ0luZm8iLCJpbmZvIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FrQkQsT0FBTyxNQUFNQSxjQUFjQyxTQUFTO0FBQ3BDLE9BQU8sTUFBTUMsa0JBQWtCQztJQUM3QixZQUFZLEdBQUdDLElBQUksQ0FBRTtRQUNuQixLQUFLLElBQUlBO1FBQ1QsSUFBSSxDQUFDQyxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNDLE9BQU8sR0FBR0YsSUFBSSxDQUFDLEVBQUU7UUFDdEIsSUFBSSxDQUFDSixZQUFZLEdBQUc7SUFFcEIsaUNBQWlDO0lBQ25DO0FBQ0Y7QUFFQSxPQUFPLE1BQU1PLFdBQVcsQ0FBQ0MsUUFBMEJDLE9BQXNCQztJQUN2RSxNQUFNLEVBQ0pDLE1BQU0sRUFDTkMsSUFBSSxFQUNKTixPQUFPLEVBQ1BPLE1BQU0sRUFDUCxHQUFHSixTQUFTLENBQUM7SUFFZCxNQUFNLEVBQUNLLFlBQVksRUFBRSxHQUFHQyxnQkFBZSxHQUFHTCxXQUFXLENBQUM7SUFFdERNLFFBQVFQLEtBQUssQ0FBQyxrQkFBa0I7UUFDOUJFO1FBQ0FDO1FBQ0FOO1FBQ0FPO1FBQ0FJLE1BQU07UUFDTixHQUFHVCxNQUFNO1FBQ1QsR0FBR08sY0FBYztRQUNqQk47SUFDRjtJQUVBLE1BQU9BLFNBQVMsSUFBSVAsVUFBVU0sUUFBUVU7QUFDeEMsRUFBRTtBQUVGLE9BQU8sTUFBTUMsZUFBZSxDQUFDWCxRQUEwQkU7SUFDckQsTUFBTSxFQUFDSSxZQUFZLEVBQUUsR0FBR0MsZ0JBQWUsR0FBR0w7SUFFMUNNLFFBQVFQLEtBQUssQ0FBQyxzQkFBc0I7UUFBQ1EsTUFBTTtRQUFhLEdBQUdULE1BQU07UUFBRSxHQUFHTyxjQUFjO0lBQUE7SUFDcEYsTUFBTSxJQUFJYixVQUFVTSxRQUFRVTtBQUM5QixFQUFFO0FBRUYsT0FBTyxNQUFNRSxVQUFVLENBQUNaO0lBQ3RCUSxRQUFRSyxJQUFJLENBQUMsZ0JBQWdCO1FBQUNKLE1BQU07UUFBTyxHQUFHVCxNQUFNO0lBQUE7QUFDdEQsRUFBRSJ9
@@ -68,3 +68,4 @@ export declare const getLimit: (start?: number, to?: number) => ArangoDbLimit;
68
68
  export declare const selectReactionCountByType: (objectType: string, objectKey: string, field: string, selects: any) => any;
69
69
  export declare const sortIds: (ids: string[], sort?: string) => string[];
70
70
  export declare const getGqlFields: (info: any) => string[];
71
+ //# sourceMappingURL=arangodbUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arangodbUtils.d.ts","sourceRoot":"","sources":["../../src/utils/arangodbUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAOlC,OAAO,KAAK,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAElF,eAAO,MAAM,KAAK,GAAI,eAAe,MAAM,KAAG,QAW7C,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyD7B,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,YAAY,kBAAkB,EAAE,SAAI,KAAG,MAmB/D,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAO,MAAU,EAAE,KAAI,MAAW,KAAG,aAQ7D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,YAAY,MAAM,EAAE,WAAW,MAAM,EAAE,OAAO,MAAM,EAAE,YAAO,QAUtG,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,EAAE,EAAE,OAAM,MAAc,KAAG,MAAM,EAMlE,CAAC;AAEH,eAAO,MAAM,YAAY,GAAI,SAAI,aAShC,CAAC"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { Database } from 'arangojs';
5
+ import graphqlFields from 'graphql-fields';
6
+ import { Config } from '../config.js';
7
+ import { parseNum } from '@nlabs/utils/parsers/numbers';
8
+ import { parseArangoId, parseId } from '@nlabs/utils/parsers/strings';
9
+ export const useDb = (databaseName)=>{
10
+ const arangoConfig = Config.get('arangodb');
11
+ return new Database({
12
+ auth: {
13
+ password: arangoConfig.password,
14
+ username: arangoConfig.username
15
+ },
16
+ databaseName: databaseName || 'reaktor',
17
+ url: `${arangoConfig.url}:${arangoConfig.port}`
18
+ });
19
+ };
20
+ export const collectionDetails = {
21
+ apps: {
22
+ collection: 'apps',
23
+ key: 'appId'
24
+ },
25
+ conversations: {
26
+ collection: 'conversations',
27
+ key: 'conversationId'
28
+ },
29
+ files: {
30
+ collection: 'files',
31
+ key: 'fileId'
32
+ },
33
+ groups: {
34
+ collection: 'groups',
35
+ key: 'groupId'
36
+ },
37
+ images: {
38
+ collection: 'images',
39
+ key: 'imageId'
40
+ },
41
+ locations: {
42
+ collection: 'locations',
43
+ key: 'locationId'
44
+ },
45
+ messages: {
46
+ collection: 'messages',
47
+ key: 'messageId'
48
+ },
49
+ notifications: {
50
+ collection: 'notifications',
51
+ key: 'notificationId'
52
+ },
53
+ payments: {
54
+ collection: 'payments',
55
+ key: 'paymentId'
56
+ },
57
+ posts: {
58
+ collection: 'posts',
59
+ key: 'postId'
60
+ },
61
+ reactions: {
62
+ collection: 'reactions',
63
+ key: 'reactionId'
64
+ },
65
+ subscriptions: {
66
+ collection: 'subscriptions',
67
+ key: 'subscriptionId'
68
+ },
69
+ tags: {
70
+ collection: 'tags',
71
+ key: 'tagId'
72
+ },
73
+ users: {
74
+ collection: 'users',
75
+ key: 'userId'
76
+ }
77
+ };
78
+ export const getDocId = (collection, item)=>{
79
+ const { _id, _key, id } = item;
80
+ const itemId = parseArangoId(_id || id);
81
+ if (itemId) {
82
+ const idParts = itemId.split('/');
83
+ if (collectionDetails[idParts[0]]) {
84
+ return itemId;
85
+ }
86
+ }
87
+ let itemKey = parseId(_key);
88
+ if (!itemKey) {
89
+ itemKey = item[collectionDetails[collection].key];
90
+ }
91
+ return itemKey ? `${collection}/${itemKey}` : '';
92
+ };
93
+ export const getLimit = (start = 0, to = 30)=>{
94
+ let num = parseNum(to) - parseNum(start);
95
+ if (num > 50) {
96
+ num = 50;
97
+ }
98
+ return {
99
+ aql: to >= 0 ? `LIMIT ${start}, ${num}` : '',
100
+ num,
101
+ start
102
+ };
103
+ };
104
+ export const selectReactionCountByType = (objectType, objectKey, field, selects)=>{
105
+ const reactionType = field.substring(0, field.indexOf('Count'));
106
+ selects.queries.push(`LET ${field} = FIRST(
107
+ FOR obj, r IN INBOUND ${objectKey}._id hasReaction
108
+ FILTER r.name == "${reactionType}" && r.type == "${objectType}"
109
+ COLLECT WITH COUNT INTO count
110
+ RETURN count
111
+ )`);
112
+ selects.objects.push(`${field}:${field}`);
113
+ return selects;
114
+ };
115
+ export const sortIds = (ids, sort = 'ASC')=>ids.sort((a, b)=>{
116
+ if (sort.toUpperCase() === 'ASC') {
117
+ return a.localeCompare(b);
118
+ }
119
+ return b.localeCompare(a);
120
+ });
121
+ export const getGqlFields = (info)=>{
122
+ const fields = graphqlFields(info) || {};
123
+ const methodName = Object.keys(fields)[0];
124
+ if (methodName) {
125
+ return Object.keys(fields[methodName]);
126
+ }
127
+ return [];
128
+ };
129
+
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2FyYW5nb2RiVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7RGF0YWJhc2V9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCBncmFwaHFsRmllbGRzIGZyb20gJ2dyYXBocWwtZmllbGRzJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5cbmltcG9ydCB7cGFyc2VOdW19IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL251bWJlcnMnO1xuaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB0eXBlIHtBcmFuZ29EYkNvbGxlY3Rpb24sIEFyYW5nb0RiTGltaXR9IGZyb20gJy4uL3R5cGVzL2FyYW5nb2RiLnR5cGVzLmpzJztcblxuZXhwb3J0IGNvbnN0IHVzZURiID0gKGRhdGFiYXNlTmFtZT86IHN0cmluZyk6IERhdGFiYXNlID0+IHtcbiAgY29uc3QgYXJhbmdvQ29uZmlnID0gQ29uZmlnLmdldCgnYXJhbmdvZGInKTtcblxuICByZXR1cm4gbmV3IERhdGFiYXNlKHtcbiAgICBhdXRoOiB7XG4gICAgICBwYXNzd29yZDogYXJhbmdvQ29uZmlnLnBhc3N3b3JkLFxuICAgICAgdXNlcm5hbWU6IGFyYW5nb0NvbmZpZy51c2VybmFtZVxuICAgIH0sXG4gICAgZGF0YWJhc2VOYW1lOiBkYXRhYmFzZU5hbWUgfHwgJ3JlYWt0b3InLFxuICAgIHVybDogYCR7YXJhbmdvQ29uZmlnLnVybH06JHthcmFuZ29Db25maWcucG9ydH1gXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25EZXRhaWxzID0ge1xuICBhcHBzOiB7XG4gICAgY29sbGVjdGlvbjogJ2FwcHMnLFxuICAgIGtleTogJ2FwcElkJ1xuICB9LFxuICBjb252ZXJzYXRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ2NvbnZlcnNhdGlvbnMnLFxuICAgIGtleTogJ2NvbnZlcnNhdGlvbklkJ1xuICB9LFxuICBmaWxlczoge1xuICAgIGNvbGxlY3Rpb246ICdmaWxlcycsXG4gICAga2V5OiAnZmlsZUlkJ1xuICB9LFxuICBncm91cHM6IHtcbiAgICBjb2xsZWN0aW9uOiAnZ3JvdXBzJyxcbiAgICBrZXk6ICdncm91cElkJ1xuICB9LFxuICBpbWFnZXM6IHtcbiAgICBjb2xsZWN0aW9uOiAnaW1hZ2VzJyxcbiAgICBrZXk6ICdpbWFnZUlkJ1xuICB9LFxuICBsb2NhdGlvbnM6IHtcbiAgICBjb2xsZWN0aW9uOiAnbG9jYXRpb25zJyxcbiAgICBrZXk6ICdsb2NhdGlvbklkJ1xuICB9LFxuICBtZXNzYWdlczoge1xuICAgIGNvbGxlY3Rpb246ICdtZXNzYWdlcycsXG4gICAga2V5OiAnbWVzc2FnZUlkJ1xuICB9LFxuICBub3RpZmljYXRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ25vdGlmaWNhdGlvbnMnLFxuICAgIGtleTogJ25vdGlmaWNhdGlvbklkJ1xuICB9LFxuICBwYXltZW50czoge1xuICAgIGNvbGxlY3Rpb246ICdwYXltZW50cycsXG4gICAga2V5OiAncGF5bWVudElkJ1xuICB9LFxuICBwb3N0czoge1xuICAgIGNvbGxlY3Rpb246ICdwb3N0cycsXG4gICAga2V5OiAncG9zdElkJ1xuICB9LFxuICByZWFjdGlvbnM6IHtcbiAgICBjb2xsZWN0aW9uOiAncmVhY3Rpb25zJyxcbiAgICBrZXk6ICdyZWFjdGlvbklkJ1xuICB9LFxuICBzdWJzY3JpcHRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ3N1YnNjcmlwdGlvbnMnLFxuICAgIGtleTogJ3N1YnNjcmlwdGlvbklkJ1xuICB9LFxuICB0YWdzOiB7XG4gICAgY29sbGVjdGlvbjogJ3RhZ3MnLFxuICAgIGtleTogJ3RhZ0lkJ1xuICB9LFxuICB1c2Vyczoge1xuICAgIGNvbGxlY3Rpb246ICd1c2VycycsXG4gICAga2V5OiAndXNlcklkJ1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RG9jSWQgPSAoY29sbGVjdGlvbjogQXJhbmdvRGJDb2xsZWN0aW9uLCBpdGVtKTogc3RyaW5nID0+IHtcbiAgY29uc3Qge19pZCwgX2tleSwgaWR9ID0gaXRlbTtcbiAgY29uc3QgaXRlbUlkID0gcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQpO1xuXG4gIGlmKGl0ZW1JZCkge1xuICAgIGNvbnN0IGlkUGFydHMgPSBpdGVtSWQuc3BsaXQoJy8nKTtcblxuICAgIGlmKGNvbGxlY3Rpb25EZXRhaWxzW2lkUGFydHNbMF1dKSB7XG4gICAgICByZXR1cm4gaXRlbUlkO1xuICAgIH1cbiAgfVxuXG4gIGxldCBpdGVtS2V5ID0gcGFyc2VJZChfa2V5KTtcblxuICBpZighaXRlbUtleSkge1xuICAgIGl0ZW1LZXkgPSBpdGVtW2NvbGxlY3Rpb25EZXRhaWxzW2NvbGxlY3Rpb25dLmtleV07XG4gIH1cblxuICByZXR1cm4gaXRlbUtleSA/IGAke2NvbGxlY3Rpb259LyR7aXRlbUtleX1gIDogJyc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGltaXQgPSAoc3RhcnQ6IG51bWJlciA9IDAsIHRvOiBudW1iZXIgPSAzMCk6IEFyYW5nb0RiTGltaXQgPT4ge1xuICBsZXQgbnVtID0gcGFyc2VOdW0odG8pIC0gcGFyc2VOdW0oc3RhcnQpO1xuXG4gIGlmKG51bSA+IDUwKSB7XG4gICAgbnVtID0gNTA7XG4gIH1cblxuICByZXR1cm4ge2FxbDogdG8gPj0gMCA/IGBMSU1JVCAke3N0YXJ0fSwgJHtudW19YCA6ICcnLCBudW0sIHN0YXJ0fTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSZWFjdGlvbkNvdW50QnlUeXBlID0gKG9iamVjdFR5cGU6IHN0cmluZywgb2JqZWN0S2V5OiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcsIHNlbGVjdHMpID0+IHtcbiAgY29uc3QgcmVhY3Rpb25UeXBlOiBzdHJpbmcgPSBmaWVsZC5zdWJzdHJpbmcoMCwgZmllbGQuaW5kZXhPZignQ291bnQnKSk7XG4gIHNlbGVjdHMucXVlcmllcy5wdXNoKGBMRVQgJHtmaWVsZH0gPSBGSVJTVChcbiAgICAgIEZPUiBvYmosIHIgSU4gSU5CT1VORCAke29iamVjdEtleX0uX2lkIGhhc1JlYWN0aW9uXG4gICAgICBGSUxURVIgci5uYW1lID09IFwiJHtyZWFjdGlvblR5cGV9XCIgJiYgci50eXBlID09IFwiJHtvYmplY3RUeXBlfVwiXG4gICAgICBDT0xMRUNUIFdJVEggQ09VTlQgSU5UTyBjb3VudFxuICAgICAgUkVUVVJOIGNvdW50XG4gICAgKWApO1xuICBzZWxlY3RzLm9iamVjdHMucHVzaChgJHtmaWVsZH06JHtmaWVsZH1gKTtcbiAgcmV0dXJuIHNlbGVjdHM7XG59O1xuXG5leHBvcnQgY29uc3Qgc29ydElkcyA9IChpZHM6IHN0cmluZ1tdLCBzb3J0OiBzdHJpbmcgPSAnQVNDJyk6IHN0cmluZ1tdID0+IGlkcy5zb3J0KChhLCBiKSA9PiB7XG4gIGlmKHNvcnQudG9VcHBlckNhc2UoKSA9PT0gJ0FTQycpIHtcbiAgICByZXR1cm4gYS5sb2NhbGVDb21wYXJlKGIpO1xuICB9XG5cbiAgcmV0dXJuIGIubG9jYWxlQ29tcGFyZShhKTtcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0R3FsRmllbGRzID0gKGluZm8pID0+IHtcbiAgY29uc3QgZmllbGRzID0gZ3JhcGhxbEZpZWxkcyhpbmZvKSB8fCB7fTtcbiAgY29uc3QgbWV0aG9kTmFtZTogc3RyaW5nID0gT2JqZWN0LmtleXMoZmllbGRzKVswXTtcblxuICBpZihtZXRob2ROYW1lKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpZWxkc1ttZXRob2ROYW1lXSk7XG4gIH1cblxuICByZXR1cm4gW107XG59OyJdLCJuYW1lcyI6WyJEYXRhYmFzZSIsImdyYXBocWxGaWVsZHMiLCJDb25maWciLCJwYXJzZU51bSIsInBhcnNlQXJhbmdvSWQiLCJwYXJzZUlkIiwidXNlRGIiLCJkYXRhYmFzZU5hbWUiLCJhcmFuZ29Db25maWciLCJnZXQiLCJhdXRoIiwicGFzc3dvcmQiLCJ1c2VybmFtZSIsInVybCIsInBvcnQiLCJjb2xsZWN0aW9uRGV0YWlscyIsImFwcHMiLCJjb2xsZWN0aW9uIiwia2V5IiwiY29udmVyc2F0aW9ucyIsImZpbGVzIiwiZ3JvdXBzIiwiaW1hZ2VzIiwibG9jYXRpb25zIiwibWVzc2FnZXMiLCJub3RpZmljYXRpb25zIiwicGF5bWVudHMiLCJwb3N0cyIsInJlYWN0aW9ucyIsInN1YnNjcmlwdGlvbnMiLCJ0YWdzIiwidXNlcnMiLCJnZXREb2NJZCIsIml0ZW0iLCJfaWQiLCJfa2V5IiwiaWQiLCJpdGVtSWQiLCJpZFBhcnRzIiwic3BsaXQiLCJpdGVtS2V5IiwiZ2V0TGltaXQiLCJzdGFydCIsInRvIiwibnVtIiwiYXFsIiwic2VsZWN0UmVhY3Rpb25Db3VudEJ5VHlwZSIsIm9iamVjdFR5cGUiLCJvYmplY3RLZXkiLCJmaWVsZCIsInNlbGVjdHMiLCJyZWFjdGlvblR5cGUiLCJzdWJzdHJpbmciLCJpbmRleE9mIiwicXVlcmllcyIsInB1c2giLCJvYmplY3RzIiwic29ydElkcyIsImlkcyIsInNvcnQiLCJhIiwiYiIsInRvVXBwZXJDYXNlIiwibG9jYWxlQ29tcGFyZSIsImdldEdxbEZpZWxkcyIsImluZm8iLCJmaWVsZHMiLCJtZXRob2ROYW1lIiwiT2JqZWN0Iiwia2V5cyJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsUUFBUSxRQUFPLFdBQVc7QUFDbEMsT0FBT0MsbUJBQW1CLGlCQUFpQjtBQUUzQyxTQUFRQyxNQUFNLFFBQU8sZUFBZTtBQUVwQyxTQUFRQyxRQUFRLFFBQU8sK0JBQStCO0FBQ3RELFNBQVFDLGFBQWEsRUFBRUMsT0FBTyxRQUFPLCtCQUErQjtBQUdwRSxPQUFPLE1BQU1DLFFBQVEsQ0FBQ0M7SUFDcEIsTUFBTUMsZUFBZU4sT0FBT08sR0FBRyxDQUFDO0lBRWhDLE9BQU8sSUFBSVQsU0FBUztRQUNsQlUsTUFBTTtZQUNKQyxVQUFVSCxhQUFhRyxRQUFRO1lBQy9CQyxVQUFVSixhQUFhSSxRQUFRO1FBQ2pDO1FBQ0FMLGNBQWNBLGdCQUFnQjtRQUM5Qk0sS0FBSyxHQUFHTCxhQUFhSyxHQUFHLENBQUMsQ0FBQyxFQUFFTCxhQUFhTSxJQUFJLEVBQUU7SUFDakQ7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNQyxvQkFBb0I7SUFDL0JDLE1BQU07UUFDSkMsWUFBWTtRQUNaQyxLQUFLO0lBQ1A7SUFDQUMsZUFBZTtRQUNiRixZQUFZO1FBQ1pDLEtBQUs7SUFDUDtJQUNBRSxPQUFPO1FBQ0xILFlBQVk7UUFDWkMsS0FBSztJQUNQO0lBQ0FHLFFBQVE7UUFDTkosWUFBWTtRQUNaQyxLQUFLO0lBQ1A7SUFDQUksUUFBUTtRQUNOTCxZQUFZO1FBQ1pDLEtBQUs7SUFDUDtJQUNBSyxXQUFXO1FBQ1ROLFlBQVk7UUFDWkMsS0FBSztJQUNQO0lBQ0FNLFVBQVU7UUFDUlAsWUFBWTtRQUNaQyxLQUFLO0lBQ1A7SUFDQU8sZUFBZTtRQUNiUixZQUFZO1FBQ1pDLEtBQUs7SUFDUDtJQUNBUSxVQUFVO1FBQ1JULFlBQVk7UUFDWkMsS0FBSztJQUNQO0lBQ0FTLE9BQU87UUFDTFYsWUFBWTtRQUNaQyxLQUFLO0lBQ1A7SUFDQVUsV0FBVztRQUNUWCxZQUFZO1FBQ1pDLEtBQUs7SUFDUDtJQUNBVyxlQUFlO1FBQ2JaLFlBQVk7UUFDWkMsS0FBSztJQUNQO0lBQ0FZLE1BQU07UUFDSmIsWUFBWTtRQUNaQyxLQUFLO0lBQ1A7SUFDQWEsT0FBTztRQUNMZCxZQUFZO1FBQ1pDLEtBQUs7SUFDUDtBQUNGLEVBQUU7QUFFRixPQUFPLE1BQU1jLFdBQVcsQ0FBQ2YsWUFBZ0NnQjtJQUN2RCxNQUFNLEVBQUNDLEdBQUcsRUFBRUMsSUFBSSxFQUFFQyxFQUFFLEVBQUMsR0FBR0g7SUFDeEIsTUFBTUksU0FBU2pDLGNBQWM4QixPQUFPRTtJQUVwQyxJQUFHQyxRQUFRO1FBQ1QsTUFBTUMsVUFBVUQsT0FBT0UsS0FBSyxDQUFDO1FBRTdCLElBQUd4QixpQkFBaUIsQ0FBQ3VCLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNoQyxPQUFPRDtRQUNUO0lBQ0Y7SUFFQSxJQUFJRyxVQUFVbkMsUUFBUThCO0lBRXRCLElBQUcsQ0FBQ0ssU0FBUztRQUNYQSxVQUFVUCxJQUFJLENBQUNsQixpQkFBaUIsQ0FBQ0UsV0FBVyxDQUFDQyxHQUFHLENBQUM7SUFDbkQ7SUFFQSxPQUFPc0IsVUFBVSxHQUFHdkIsV0FBVyxDQUFDLEVBQUV1QixTQUFTLEdBQUc7QUFDaEQsRUFBRTtBQUVGLE9BQU8sTUFBTUMsV0FBVyxDQUFDQyxRQUFnQixDQUFDLEVBQUVDLEtBQWEsRUFBRTtJQUN6RCxJQUFJQyxNQUFNekMsU0FBU3dDLE1BQU14QyxTQUFTdUM7SUFFbEMsSUFBR0UsTUFBTSxJQUFJO1FBQ1hBLE1BQU07SUFDUjtJQUVBLE9BQU87UUFBQ0MsS0FBS0YsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFRCxNQUFNLEVBQUUsRUFBRUUsS0FBSyxHQUFHO1FBQUlBO1FBQUtGO0lBQUs7QUFDbEUsRUFBRTtBQUVGLE9BQU8sTUFBTUksNEJBQTRCLENBQUNDLFlBQW9CQyxXQUFtQkMsT0FBZUM7SUFDOUYsTUFBTUMsZUFBdUJGLE1BQU1HLFNBQVMsQ0FBQyxHQUFHSCxNQUFNSSxPQUFPLENBQUM7SUFDOURILFFBQVFJLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFTixNQUFNOzRCQUNSLEVBQUVELFVBQVU7d0JBQ2hCLEVBQUVHLGFBQWEsZ0JBQWdCLEVBQUVKLFdBQVc7OztLQUcvRCxDQUFDO0lBQ0pHLFFBQVFNLE9BQU8sQ0FBQ0QsSUFBSSxDQUFDLEdBQUdOLE1BQU0sQ0FBQyxFQUFFQSxPQUFPO0lBQ3hDLE9BQU9DO0FBQ1QsRUFBRTtBQUVGLE9BQU8sTUFBTU8sVUFBVSxDQUFDQyxLQUFlQyxPQUFlLEtBQUssR0FBZUQsSUFBSUMsSUFBSSxDQUFDLENBQUNDLEdBQUdDO1FBQ3JGLElBQUdGLEtBQUtHLFdBQVcsT0FBTyxPQUFPO1lBQy9CLE9BQU9GLEVBQUVHLGFBQWEsQ0FBQ0Y7UUFDekI7UUFFQSxPQUFPQSxFQUFFRSxhQUFhLENBQUNIO0lBQ3pCLEdBQUc7QUFFSCxPQUFPLE1BQU1JLGVBQWUsQ0FBQ0M7SUFDM0IsTUFBTUMsU0FBU2pFLGNBQWNnRSxTQUFTLENBQUM7SUFDdkMsTUFBTUUsYUFBcUJDLE9BQU9DLElBQUksQ0FBQ0gsT0FBTyxDQUFDLEVBQUU7SUFFakQsSUFBR0MsWUFBWTtRQUNiLE9BQU9DLE9BQU9DLElBQUksQ0FBQ0gsTUFBTSxDQUFDQyxXQUFXO0lBQ3ZDO0lBRUEsT0FBTyxFQUFFO0FBQ1gsRUFBRSJ9
@@ -21,3 +21,4 @@ export declare const getLambdaData: (data: LambdaData | string) => {
21
21
  export declare const parseJsonData: (data: any) => any;
22
22
  export declare const isAuthenticated: (context: ApiContext, userId: string) => boolean;
23
23
  export declare const createContext: (context: ApiContext, event: any) => Promise<ApiContext>;
24
+ //# sourceMappingURL=authUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authUtils.d.ts","sourceRoot":"","sources":["../../src/utils/authUtils.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAGvD,MAAM,MAAM,iBAAiB,GAAG;IAAC,SAAS,EAAE,WAAW,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACzB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,UAAU,GAAG,MAAM;;;CAetD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAI,QAMjC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,SAAS,UAAU,EAAE,QAAQ,MAAM,YAKlE,CAAC;AAGF,eAAO,MAAM,aAAa,GAAU,SAAS,UAAU,EAAE,UAAK,KAAG,OAAO,CAAC,UAAU,CAuBlF,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { getSession } from './sessionUtils.js';
5
+ export const getLambdaData = (data)=>{
6
+ if (typeof data === 'string') {
7
+ return {
8
+ body: parseJsonData(data),
9
+ context: {}
10
+ };
11
+ }
12
+ const { body, 'body-json': bodyJson, requestContext } = data;
13
+ const queryData = body || bodyJson;
14
+ return {
15
+ body: parseJsonData(queryData),
16
+ context: requestContext ? {
17
+ ...requestContext
18
+ } : {}
19
+ };
20
+ };
21
+ export const parseJsonData = (data)=>{
22
+ try {
23
+ return JSON.parse(data);
24
+ } catch (error) {
25
+ return data;
26
+ }
27
+ };
28
+ export const isAuthenticated = (context, userId)=>{
29
+ const { session } = context;
30
+ const { userAccess = 0, userId: sessionUserId } = session || {};
31
+ return userAccess > 3 || sessionUserId === userId;
32
+ };
33
+ export const createContext = async (context, event)=>{
34
+ try {
35
+ const authHeader = event.headers?.Authorization || event.headers?.authorization;
36
+ const token = authHeader?.replace('Bearer ', '');
37
+ if (!token) {
38
+ return context;
39
+ }
40
+ const session = getSession(token);
41
+ if (session?.userId) {
42
+ return {
43
+ ...context,
44
+ session
45
+ };
46
+ }
47
+ return context;
48
+ } catch (error) {
49
+ console.error('Auth error:', error);
50
+ return context;
51
+ }
52
+ };
53
+
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2F1dGhVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXRTZXNzaW9ufSBmcm9tICcuL3Nlc3Npb25VdGlscy5qcyc7XG5cbmltcG9ydCB0eXBlIHtBcHBTdGFnZX0gZnJvbSAnLi4vdHlwZXMvYXBwcy50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7U2Vzc2lvbn0gZnJvbSAnLi9zZXNzaW9uVXRpbHMuanMnO1xuXG5leHBvcnQgdHlwZSBMYW1iZGFEYXRhQ29udGV4dCA9IHthY2NvdW50SWQ6ICdhY2NvdW50SWQnLFxuICByZWFkb25seSByZXF1ZXN0SWQ6IHN0cmluZyxcbiAgcmVhZG9ubHkgcmVxdWVzdFRpbWVFcG9jaDogbnVtYmVyLFxuICByZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmcsXG4gIHJlYWRvbmx5IHJlc291cmNlUGF0aDogc3RyaW5nLFxuICByZWFkb25seSBzdGFnZTogQXBwU3RhZ2Vcbn07XG5cbmV4cG9ydCB0eXBlIExhbWJkYURhdGEgPSB7XG4gIHJlYWRvbmx5IGJvZHk/OiBzdHJpbmcgfCBvYmplY3Q7XG4gIHJlYWRvbmx5ICdib2R5LWpzb24nPzogc3RyaW5nO1xuICByZWFkb25seSBjb250ZXh0PzogTGFtYmRhRGF0YUNvbnRleHQ7XG4gIHJlYWRvbmx5IHJlcXVlc3RDb250ZXh0Pzogb2JqZWN0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldExhbWJkYURhdGEgPSAoZGF0YTogTGFtYmRhRGF0YSB8IHN0cmluZykgPT4ge1xuICBpZih0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYm9keTogcGFyc2VKc29uRGF0YShkYXRhKSxcbiAgICAgIGNvbnRleHQ6IHt9XG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IHtib2R5LCAnYm9keS1qc29uJzogYm9keUpzb24sIHJlcXVlc3RDb250ZXh0fSA9IGRhdGEgYXMgTGFtYmRhRGF0YTtcbiAgY29uc3QgcXVlcnlEYXRhID0gYm9keSB8fCBib2R5SnNvbjtcblxuICByZXR1cm4ge1xuICAgIGJvZHk6IHBhcnNlSnNvbkRhdGEocXVlcnlEYXRhKSxcbiAgICBjb250ZXh0OiByZXF1ZXN0Q29udGV4dCA/IHsuLi5yZXF1ZXN0Q29udGV4dH0gOiB7fVxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlSnNvbkRhdGEgPSAoZGF0YSkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGRhdGEpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpc0F1dGhlbnRpY2F0ZWQgPSAoY29udGV4dDogQXBpQ29udGV4dCwgdXNlcklkOiBzdHJpbmcpID0+IHtcbiAgY29uc3Qge3Nlc3Npb259ID0gY29udGV4dDtcbiAgY29uc3Qge3VzZXJBY2Nlc3MgPSAwLCB1c2VySWQ6IHNlc3Npb25Vc2VySWR9ID0gc2Vzc2lvbiB8fCB7fTtcblxuICByZXR1cm4gdXNlckFjY2VzcyA+IDMgfHwgc2Vzc2lvblVzZXJJZCA9PT0gdXNlcklkO1xufTtcblxuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29udGV4dCA9IGFzeW5jIChjb250ZXh0OiBBcGlDb250ZXh0LCBldmVudCk6IFByb21pc2U8QXBpQ29udGV4dD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IGF1dGhIZWFkZXIgPSBldmVudC5oZWFkZXJzPy5BdXRob3JpemF0aW9uIHx8IGV2ZW50LmhlYWRlcnM/LmF1dGhvcml6YXRpb247XG4gICAgY29uc3QgdG9rZW4gPSBhdXRoSGVhZGVyPy5yZXBsYWNlKCdCZWFyZXIgJywgJycpO1xuXG4gICAgaWYoIXRva2VuKSB7XG4gICAgICByZXR1cm4gY29udGV4dDtcbiAgICB9XG5cbiAgICBjb25zdCBzZXNzaW9uOiBTZXNzaW9uID0gZ2V0U2Vzc2lvbih0b2tlbik7XG5cbiAgICBpZihzZXNzaW9uPy51c2VySWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgIHNlc3Npb25cbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdBdXRoIGVycm9yOicsIGVycm9yKTtcbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxufTsiXSwibmFtZXMiOlsiZ2V0U2Vzc2lvbiIsImdldExhbWJkYURhdGEiLCJkYXRhIiwiYm9keSIsInBhcnNlSnNvbkRhdGEiLCJjb250ZXh0IiwiYm9keUpzb24iLCJyZXF1ZXN0Q29udGV4dCIsInF1ZXJ5RGF0YSIsIkpTT04iLCJwYXJzZSIsImVycm9yIiwiaXNBdXRoZW50aWNhdGVkIiwidXNlcklkIiwic2Vzc2lvbiIsInVzZXJBY2Nlc3MiLCJzZXNzaW9uVXNlcklkIiwiY3JlYXRlQ29udGV4dCIsImV2ZW50IiwiYXV0aEhlYWRlciIsImhlYWRlcnMiLCJBdXRob3JpemF0aW9uIiwiYXV0aG9yaXphdGlvbiIsInRva2VuIiwicmVwbGFjZSIsImNvbnNvbGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLFVBQVUsUUFBTyxvQkFBb0I7QUFxQjdDLE9BQU8sTUFBTUMsZ0JBQWdCLENBQUNDO0lBQzVCLElBQUcsT0FBT0EsU0FBUyxVQUFVO1FBQzNCLE9BQU87WUFDTEMsTUFBTUMsY0FBY0Y7WUFDcEJHLFNBQVMsQ0FBQztRQUNaO0lBQ0Y7SUFFQSxNQUFNLEVBQUNGLElBQUksRUFBRSxhQUFhRyxRQUFRLEVBQUVDLGNBQWMsRUFBQyxHQUFHTDtJQUN0RCxNQUFNTSxZQUFZTCxRQUFRRztJQUUxQixPQUFPO1FBQ0xILE1BQU1DLGNBQWNJO1FBQ3BCSCxTQUFTRSxpQkFBaUI7WUFBQyxHQUFHQSxjQUFjO1FBQUEsSUFBSSxDQUFDO0lBQ25EO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTUgsZ0JBQWdCLENBQUNGO0lBQzVCLElBQUk7UUFDRixPQUFPTyxLQUFLQyxLQUFLLENBQUNSO0lBQ3BCLEVBQUUsT0FBTVMsT0FBTztRQUNiLE9BQU9UO0lBQ1Q7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNVSxrQkFBa0IsQ0FBQ1AsU0FBcUJRO0lBQ25ELE1BQU0sRUFBQ0MsT0FBTyxFQUFDLEdBQUdUO0lBQ2xCLE1BQU0sRUFBQ1UsYUFBYSxDQUFDLEVBQUVGLFFBQVFHLGFBQWEsRUFBQyxHQUFHRixXQUFXLENBQUM7SUFFNUQsT0FBT0MsYUFBYSxLQUFLQyxrQkFBa0JIO0FBQzdDLEVBQUU7QUFHRixPQUFPLE1BQU1JLGdCQUFnQixPQUFPWixTQUFxQmE7SUFDdkQsSUFBSTtRQUNGLE1BQU1DLGFBQWFELE1BQU1FLE9BQU8sRUFBRUMsaUJBQWlCSCxNQUFNRSxPQUFPLEVBQUVFO1FBQ2xFLE1BQU1DLFFBQVFKLFlBQVlLLFFBQVEsV0FBVztRQUU3QyxJQUFHLENBQUNELE9BQU87WUFDVCxPQUFPbEI7UUFDVDtRQUVBLE1BQU1TLFVBQW1CZCxXQUFXdUI7UUFFcEMsSUFBR1QsU0FBU0QsUUFBUTtZQUNsQixPQUFPO2dCQUNMLEdBQUdSLE9BQU87Z0JBQ1ZTO1lBQ0Y7UUFDRjtRQUVBLE9BQU9UO0lBQ1QsRUFBRSxPQUFNTSxPQUFPO1FBQ2JjLFFBQVFkLEtBQUssQ0FBQyxlQUFlQTtRQUM3QixPQUFPTjtJQUNUO0FBQ0YsRUFBRSJ9
@@ -1,3 +1,4 @@
1
1
  import type { APIGatewayEvent } from 'aws-lambda';
2
2
  import type { LanguageDetectionContext } from './languageDetection.js';
3
3
  export declare const extractLanguageContext: (event: APIGatewayEvent) => LanguageDetectionContext;
4
+ //# sourceMappingURL=contextUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextUtils.d.ts","sourceRoot":"","sources":["../../src/utils/contextUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,wBAAwB,CAAC;AAErE,eAAO,MAAM,sBAAsB,GAAI,OAAO,eAAe,KAAG,wBAc/D,CAAC"}
@@ -0,0 +1,10 @@
1
+ export const extractLanguageContext = (event)=>{
2
+ const acceptLanguage = event.headers?.['Accept-Language'] || event.headers?.['accept-language'] || event.headers?.['Accept-Language'] || event.headers?.['accept-language'];
3
+ const ipAddress = event.requestContext?.identity?.sourceIp || event.headers?.['X-Forwarded-For']?.split(',')[0] || event.headers?.['x-forwarded-for']?.split(',')[0];
4
+ return {
5
+ acceptLanguage,
6
+ ipCountry: ipAddress ? 'US' : undefined
7
+ };
8
+ };
9
+
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2NvbnRleHRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7QVBJR2F0ZXdheUV2ZW50fSBmcm9tICdhd3MtbGFtYmRhJztcbmltcG9ydCB0eXBlIHtMYW5ndWFnZURldGVjdGlvbkNvbnRleHR9IGZyb20gJy4vbGFuZ3VhZ2VEZXRlY3Rpb24uanMnO1xuXG5leHBvcnQgY29uc3QgZXh0cmFjdExhbmd1YWdlQ29udGV4dCA9IChldmVudDogQVBJR2F0ZXdheUV2ZW50KTogTGFuZ3VhZ2VEZXRlY3Rpb25Db250ZXh0ID0+IHtcbiAgY29uc3QgYWNjZXB0TGFuZ3VhZ2UgPSBldmVudC5oZWFkZXJzPy5bJ0FjY2VwdC1MYW5ndWFnZSddXG4gICAgfHwgZXZlbnQuaGVhZGVycz8uWydhY2NlcHQtbGFuZ3VhZ2UnXVxuICAgIHx8IGV2ZW50LmhlYWRlcnM/LlsnQWNjZXB0LUxhbmd1YWdlJ11cbiAgICB8fCBldmVudC5oZWFkZXJzPy5bJ2FjY2VwdC1sYW5ndWFnZSddO1xuXG4gIGNvbnN0IGlwQWRkcmVzcyA9IGV2ZW50LnJlcXVlc3RDb250ZXh0Py5pZGVudGl0eT8uc291cmNlSXBcbiAgICB8fCBldmVudC5oZWFkZXJzPy5bJ1gtRm9yd2FyZGVkLUZvciddPy5zcGxpdCgnLCcpWzBdXG4gICAgfHwgZXZlbnQuaGVhZGVycz8uWyd4LWZvcndhcmRlZC1mb3InXT8uc3BsaXQoJywnKVswXTtcblxuICByZXR1cm4ge1xuICAgIGFjY2VwdExhbmd1YWdlLFxuICAgIGlwQ291bnRyeTogaXBBZGRyZXNzID8gJ1VTJyA6IHVuZGVmaW5lZFxuICB9IGFzIExhbmd1YWdlRGV0ZWN0aW9uQ29udGV4dDtcbn07Il0sIm5hbWVzIjpbImV4dHJhY3RMYW5ndWFnZUNvbnRleHQiLCJldmVudCIsImFjY2VwdExhbmd1YWdlIiwiaGVhZGVycyIsImlwQWRkcmVzcyIsInJlcXVlc3RDb250ZXh0IiwiaWRlbnRpdHkiLCJzb3VyY2VJcCIsInNwbGl0IiwiaXBDb3VudHJ5IiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLE1BQU1BLHlCQUF5QixDQUFDQztJQUNyQyxNQUFNQyxpQkFBaUJELE1BQU1FLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixJQUNwREYsTUFBTUUsT0FBTyxFQUFFLENBQUMsa0JBQWtCLElBQ2xDRixNQUFNRSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsSUFDbENGLE1BQU1FLE9BQU8sRUFBRSxDQUFDLGtCQUFrQjtJQUV2QyxNQUFNQyxZQUFZSCxNQUFNSSxjQUFjLEVBQUVDLFVBQVVDLFlBQzdDTixNQUFNRSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRUssTUFBTSxJQUFJLENBQUMsRUFBRSxJQUNqRFAsTUFBTUUsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUVLLE1BQU0sSUFBSSxDQUFDLEVBQUU7SUFFdEQsT0FBTztRQUNMTjtRQUNBTyxXQUFXTCxZQUFZLE9BQU9NO0lBQ2hDO0FBQ0YsRUFBRSJ9
@@ -8,3 +8,4 @@ export declare const dbI18nMultiple: (context: ApiContext, translations: Array<{
8
8
  }>) => Promise<string[]>;
9
9
  export declare const dbI18nWithInterpolation: (context: ApiContext, key: string, fallbackContent: string, interpolation?: Record<string, any>, locale?: Locale) => Promise<string>;
10
10
  export declare const dbI18nBatch: (context: ApiContext, keys: string[], fallbackMap: Record<string, string>, locale?: Locale) => Promise<Record<string, string>>;
11
+ //# sourceMappingURL=dbI18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbI18n.d.ts","sourceRoot":"","sources":["../../src/utils/dbI18n.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAEtD,eAAO,MAAM,MAAM,GACjB,SAAS,UAAU,EACnB,KAAK,MAAM,EACX,iBAAiB,MAAM,EACvB,SAAQ,MAAa,KACpB,OAAO,CAAC,MAAM,CAAkE,CAAC;AAEpF,eAAO,MAAM,cAAc,GACzB,SAAS,UAAU,EACnB,cAAc,KAAK,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,KACD,OAAO,CAAC,MAAM,EAAE,CAMlB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,UAAU,EACnB,KAAK,MAAM,EACX,iBAAiB,MAAM,EACvB,gBAAe,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EACvC,SAAQ,MAAa,KACpB,OAAO,CAAC,MAAM,CAMhB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,SAAS,UAAU,EACnB,MAAM,MAAM,EAAE,EACd,aAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,SAAQ,MAAa,KACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAehC,CAAC"}
@@ -18,3 +18,4 @@ export declare function generateWelcomeEmail(context: ApiContext, username: stri
18
18
  export declare function generateNotificationMessages(context: ApiContext, locale?: Locale): Promise<Record<string, string>>;
19
19
  export declare function getErrorMessage(context: ApiContext, errorCode: string, locale?: Locale): Promise<string>;
20
20
  export declare function getUserGreeting(context: ApiContext, userLocale?: string): Promise<string>;
21
+ //# sourceMappingURL=dbI18n.example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbI18n.example.d.ts","sourceRoot":"","sources":["../../src/utils/dbI18n.example.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAGtD,wBAAsB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAU9F;AAGD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAa,mBAYtB;AAGD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa;;;GA0BtG;AAGD,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,GAAE,MAAa,mCAkB5F;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,mBAclG;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,mBAY7E"}
@@ -0,0 +1,93 @@
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 database-driven i18n system
6
+ *
7
+ * This demonstrates how to use the new i18n utility that fetches
8
+ * translations from the database with fallback support.
9
+ */ import { dbI18n, dbI18nBatch, dbI18nMultiple, dbI18nWithInterpolation } from './dbI18n.js';
10
+ // Example 1: Basic database translation with fallback
11
+ export async function sendWelcomeSMS(context, username, phoneNumber) {
12
+ const message = await dbI18n(context, 'sms.welcome', 'Welcome to TorchOne, {{username}}! Thank you for joining our platform.', 'en');
13
+ console.log(`Sending SMS to ${phoneNumber}: ${message}`);
14
+ return message;
15
+ }
16
+ // Example 2: Translation with interpolation
17
+ export async function sendVerificationCode(context, code, locale = 'en') {
18
+ const message = await dbI18nWithInterpolation(context, 'sms.verificationCode', 'Your verification code is: {{code}}', {
19
+ code
20
+ }, locale);
21
+ console.log(`Sending verification code in ${locale}: ${message}`);
22
+ return message;
23
+ }
24
+ // Example 3: Multiple translations at once
25
+ export async function generateWelcomeEmail(context, username, locale = 'en') {
26
+ const [welcomeMessage, getStartedMessage, teamSignature] = await dbI18nMultiple(context, [
27
+ {
28
+ key: 'email.welcome',
29
+ fallback: 'Welcome to TorchOne, {{username}}!',
30
+ locale
31
+ },
32
+ {
33
+ key: 'email.getStarted',
34
+ fallback: 'To get started, please complete your profile and explore our features.',
35
+ locale
36
+ },
37
+ {
38
+ key: 'email.teamSignature',
39
+ fallback: 'The TorchOne Team',
40
+ locale
41
+ }
42
+ ]);
43
+ // Apply interpolation to welcome message
44
+ const interpolatedWelcome = welcomeMessage.replace(/\{\{username\}\}/g, username);
45
+ return {
46
+ subject: interpolatedWelcome,
47
+ body: `${interpolatedWelcome}\n\n${getStartedMessage}\n\n${teamSignature}`
48
+ };
49
+ }
50
+ // Example 4: Batch translation for better performance
51
+ export async function generateNotificationMessages(context, locale = 'en') {
52
+ const keys = [
53
+ 'notification.welcome',
54
+ 'notification.verification',
55
+ 'notification.passwordReset',
56
+ 'notification.profileUpdate'
57
+ ];
58
+ const fallbackMap = {
59
+ 'notification.welcome': 'Welcome to TorchOne!',
60
+ 'notification.verification': 'Please verify your account.',
61
+ 'notification.passwordReset': 'Your password has been reset.',
62
+ 'notification.profileUpdate': 'Your profile has been updated.'
63
+ };
64
+ const translations = await dbI18nBatch(context, keys, fallbackMap, locale);
65
+ return translations;
66
+ }
67
+ // Example 5: Error handling with fallback
68
+ export async function getErrorMessage(context, errorCode, locale = 'en') {
69
+ try {
70
+ const message = await dbI18n(context, `error.${errorCode}`, `An error occurred: ${errorCode}`, locale);
71
+ return message;
72
+ } catch (error) {
73
+ // If database is unavailable, return fallback
74
+ console.error('Database error, using fallback:', error);
75
+ return `An error occurred: ${errorCode}`;
76
+ }
77
+ }
78
+ // Example 6: Dynamic content based on user preferences
79
+ export async function getUserGreeting(context, userLocale) {
80
+ // Use user's locale if available, otherwise default to 'en'
81
+ const locale = userLocale || 'en';
82
+ const greeting = await dbI18n(context, 'greeting.morning', 'Good morning!', locale);
83
+ return greeting;
84
+ } // Usage examples:
85
+ // const context = { databaseName: 'torchone-dev', session: { userId: 'user123' } };
86
+ // await sendWelcomeSMS(context, 'John', '+1234567890');
87
+ // await sendVerificationCode(context, '123456', 'es');
88
+ // const email = await generateWelcomeEmail(context, 'Maria', 'pt');
89
+ // const notifications = await generateNotificationMessages(context, 'fr');
90
+ // const errorMsg = await getErrorMessage(context, 'INVALID_EMAIL', 'de');
91
+ // const greeting = await getUserGreeting(context, 'en');
92
+
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2RiSTE4bi5leGFtcGxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI1LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICpcbiAqIEV4YW1wbGUgdXNhZ2Ugb2YgdGhlIGRhdGFiYXNlLWRyaXZlbiBpMThuIHN5c3RlbVxuICpcbiAqIFRoaXMgZGVtb25zdHJhdGVzIGhvdyB0byB1c2UgdGhlIG5ldyBpMThuIHV0aWxpdHkgdGhhdCBmZXRjaGVzXG4gKiB0cmFuc2xhdGlvbnMgZnJvbSB0aGUgZGF0YWJhc2Ugd2l0aCBmYWxsYmFjayBzdXBwb3J0LlxuICovXG5cbmltcG9ydCB7ZGJJMThuLCBkYkkxOG5CYXRjaCwgZGJJMThuTXVsdGlwbGUsIGRiSTE4bldpdGhJbnRlcnBvbGF0aW9ufSBmcm9tICcuL2RiSTE4bi5qcyc7XG5cbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtMb2NhbGV9IGZyb20gJy4uL3R5cGVzL2NvbnRlbnQudHlwZXMuanMnO1xuXG4vLyBFeGFtcGxlIDE6IEJhc2ljIGRhdGFiYXNlIHRyYW5zbGF0aW9uIHdpdGggZmFsbGJhY2tcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZW5kV2VsY29tZVNNUyhjb250ZXh0OiBBcGlDb250ZXh0LCB1c2VybmFtZTogc3RyaW5nLCBwaG9uZU51bWJlcjogc3RyaW5nKSB7XG4gIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBkYkkxOG4oXG4gICAgY29udGV4dCxcbiAgICAnc21zLndlbGNvbWUnLFxuICAgICdXZWxjb21lIHRvIFRvcmNoT25lLCB7e3VzZXJuYW1lfX0hIFRoYW5rIHlvdSBmb3Igam9pbmluZyBvdXIgcGxhdGZvcm0uJyxcbiAgICAnZW4nXG4gICk7XG5cbiAgY29uc29sZS5sb2coYFNlbmRpbmcgU01TIHRvICR7cGhvbmVOdW1iZXJ9OiAke21lc3NhZ2V9YCk7XG4gIHJldHVybiBtZXNzYWdlO1xufVxuXG4vLyBFeGFtcGxlIDI6IFRyYW5zbGF0aW9uIHdpdGggaW50ZXJwb2xhdGlvblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbmRWZXJpZmljYXRpb25Db2RlKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICBjb2RlOiBzdHJpbmcsXG4gIGxvY2FsZTogTG9jYWxlID0gJ2VuJ1xuKSB7XG4gIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBkYkkxOG5XaXRoSW50ZXJwb2xhdGlvbihcbiAgICBjb250ZXh0LFxuICAgICdzbXMudmVyaWZpY2F0aW9uQ29kZScsXG4gICAgJ1lvdXIgdmVyaWZpY2F0aW9uIGNvZGUgaXM6IHt7Y29kZX19JyxcbiAgICB7Y29kZX0sXG4gICAgbG9jYWxlXG4gICk7XG5cbiAgY29uc29sZS5sb2coYFNlbmRpbmcgdmVyaWZpY2F0aW9uIGNvZGUgaW4gJHtsb2NhbGV9OiAke21lc3NhZ2V9YCk7XG4gIHJldHVybiBtZXNzYWdlO1xufVxuXG4vLyBFeGFtcGxlIDM6IE11bHRpcGxlIHRyYW5zbGF0aW9ucyBhdCBvbmNlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVXZWxjb21lRW1haWwoY29udGV4dDogQXBpQ29udGV4dCwgdXNlcm5hbWU6IHN0cmluZywgbG9jYWxlOiBMb2NhbGUgPSAnZW4nKSB7XG4gIGNvbnN0IFt3ZWxjb21lTWVzc2FnZSwgZ2V0U3RhcnRlZE1lc3NhZ2UsIHRlYW1TaWduYXR1cmVdID0gYXdhaXQgZGJJMThuTXVsdGlwbGUoY29udGV4dCwgW1xuICAgIHtcbiAgICAgIGtleTogJ2VtYWlsLndlbGNvbWUnLFxuICAgICAgZmFsbGJhY2s6ICdXZWxjb21lIHRvIFRvcmNoT25lLCB7e3VzZXJuYW1lfX0hJyxcbiAgICAgIGxvY2FsZVxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnZW1haWwuZ2V0U3RhcnRlZCcsXG4gICAgICBmYWxsYmFjazogJ1RvIGdldCBzdGFydGVkLCBwbGVhc2UgY29tcGxldGUgeW91ciBwcm9maWxlIGFuZCBleHBsb3JlIG91ciBmZWF0dXJlcy4nLFxuICAgICAgbG9jYWxlXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdlbWFpbC50ZWFtU2lnbmF0dXJlJyxcbiAgICAgIGZhbGxiYWNrOiAnVGhlIFRvcmNoT25lIFRlYW0nLFxuICAgICAgbG9jYWxlXG4gICAgfVxuICBdKTtcblxuICAvLyBBcHBseSBpbnRlcnBvbGF0aW9uIHRvIHdlbGNvbWUgbWVzc2FnZVxuICBjb25zdCBpbnRlcnBvbGF0ZWRXZWxjb21lID0gd2VsY29tZU1lc3NhZ2UucmVwbGFjZSgvXFx7XFx7dXNlcm5hbWVcXH1cXH0vZywgdXNlcm5hbWUpO1xuXG4gIHJldHVybiB7XG4gICAgc3ViamVjdDogaW50ZXJwb2xhdGVkV2VsY29tZSxcbiAgICBib2R5OiBgJHtpbnRlcnBvbGF0ZWRXZWxjb21lfVxcblxcbiR7Z2V0U3RhcnRlZE1lc3NhZ2V9XFxuXFxuJHt0ZWFtU2lnbmF0dXJlfWBcbiAgfTtcbn1cblxuLy8gRXhhbXBsZSA0OiBCYXRjaCB0cmFuc2xhdGlvbiBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVOb3RpZmljYXRpb25NZXNzYWdlcyhjb250ZXh0OiBBcGlDb250ZXh0LCBsb2NhbGU6IExvY2FsZSA9ICdlbicpIHtcbiAgY29uc3Qga2V5cyA9IFtcbiAgICAnbm90aWZpY2F0aW9uLndlbGNvbWUnLFxuICAgICdub3RpZmljYXRpb24udmVyaWZpY2F0aW9uJyxcbiAgICAnbm90aWZpY2F0aW9uLnBhc3N3b3JkUmVzZXQnLFxuICAgICdub3RpZmljYXRpb24ucHJvZmlsZVVwZGF0ZSdcbiAgXTtcblxuICBjb25zdCBmYWxsYmFja01hcCA9IHtcbiAgICAnbm90aWZpY2F0aW9uLndlbGNvbWUnOiAnV2VsY29tZSB0byBUb3JjaE9uZSEnLFxuICAgICdub3RpZmljYXRpb24udmVyaWZpY2F0aW9uJzogJ1BsZWFzZSB2ZXJpZnkgeW91ciBhY2NvdW50LicsXG4gICAgJ25vdGlmaWNhdGlvbi5wYXNzd29yZFJlc2V0JzogJ1lvdXIgcGFzc3dvcmQgaGFzIGJlZW4gcmVzZXQuJyxcbiAgICAnbm90aWZpY2F0aW9uLnByb2ZpbGVVcGRhdGUnOiAnWW91ciBwcm9maWxlIGhhcyBiZWVuIHVwZGF0ZWQuJ1xuICB9O1xuXG4gIGNvbnN0IHRyYW5zbGF0aW9ucyA9IGF3YWl0IGRiSTE4bkJhdGNoKGNvbnRleHQsIGtleXMsIGZhbGxiYWNrTWFwLCBsb2NhbGUpO1xuXG4gIHJldHVybiB0cmFuc2xhdGlvbnM7XG59XG5cbi8vIEV4YW1wbGUgNTogRXJyb3IgaGFuZGxpbmcgd2l0aCBmYWxsYmFja1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEVycm9yTWVzc2FnZShjb250ZXh0OiBBcGlDb250ZXh0LCBlcnJvckNvZGU6IHN0cmluZywgbG9jYWxlOiBMb2NhbGUgPSAnZW4nKSB7XG4gIHRyeSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGRiSTE4bihcbiAgICAgIGNvbnRleHQsXG4gICAgICBgZXJyb3IuJHtlcnJvckNvZGV9YCxcbiAgICAgIGBBbiBlcnJvciBvY2N1cnJlZDogJHtlcnJvckNvZGV9YCxcbiAgICAgIGxvY2FsZVxuICAgICk7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAvLyBJZiBkYXRhYmFzZSBpcyB1bmF2YWlsYWJsZSwgcmV0dXJuIGZhbGxiYWNrXG4gICAgY29uc29sZS5lcnJvcignRGF0YWJhc2UgZXJyb3IsIHVzaW5nIGZhbGxiYWNrOicsIGVycm9yKTtcbiAgICByZXR1cm4gYEFuIGVycm9yIG9jY3VycmVkOiAke2Vycm9yQ29kZX1gO1xuICB9XG59XG5cbi8vIEV4YW1wbGUgNjogRHluYW1pYyBjb250ZW50IGJhc2VkIG9uIHVzZXIgcHJlZmVyZW5jZXNcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRVc2VyR3JlZXRpbmcoY29udGV4dDogQXBpQ29udGV4dCwgdXNlckxvY2FsZT86IHN0cmluZykge1xuICAvLyBVc2UgdXNlcidzIGxvY2FsZSBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSBkZWZhdWx0IHRvICdlbidcbiAgY29uc3QgbG9jYWxlOiBMb2NhbGUgPSAodXNlckxvY2FsZSBhcyBMb2NhbGUpIHx8ICdlbic7XG5cbiAgY29uc3QgZ3JlZXRpbmcgPSBhd2FpdCBkYkkxOG4oXG4gICAgY29udGV4dCxcbiAgICAnZ3JlZXRpbmcubW9ybmluZycsXG4gICAgJ0dvb2QgbW9ybmluZyEnLFxuICAgIGxvY2FsZVxuICApO1xuXG4gIHJldHVybiBncmVldGluZztcbn1cblxuLy8gVXNhZ2UgZXhhbXBsZXM6XG4vLyBjb25zdCBjb250ZXh0ID0geyBkYXRhYmFzZU5hbWU6ICd0b3JjaG9uZS1kZXYnLCBzZXNzaW9uOiB7IHVzZXJJZDogJ3VzZXIxMjMnIH0gfTtcbi8vIGF3YWl0IHNlbmRXZWxjb21lU01TKGNvbnRleHQsICdKb2huJywgJysxMjM0NTY3ODkwJyk7XG4vLyBhd2FpdCBzZW5kVmVyaWZpY2F0aW9uQ29kZShjb250ZXh0LCAnMTIzNDU2JywgJ2VzJyk7XG4vLyBjb25zdCBlbWFpbCA9IGF3YWl0IGdlbmVyYXRlV2VsY29tZUVtYWlsKGNvbnRleHQsICdNYXJpYScsICdwdCcpO1xuLy8gY29uc3Qgbm90aWZpY2F0aW9ucyA9IGF3YWl0IGdlbmVyYXRlTm90aWZpY2F0aW9uTWVzc2FnZXMoY29udGV4dCwgJ2ZyJyk7XG4vLyBjb25zdCBlcnJvck1zZyA9IGF3YWl0IGdldEVycm9yTWVzc2FnZShjb250ZXh0LCAnSU5WQUxJRF9FTUFJTCcsICdkZScpO1xuLy8gY29uc3QgZ3JlZXRpbmcgPSBhd2FpdCBnZXRVc2VyR3JlZXRpbmcoY29udGV4dCwgJ2VuJyk7Il0sIm5hbWVzIjpbImRiSTE4biIsImRiSTE4bkJhdGNoIiwiZGJJMThuTXVsdGlwbGUiLCJkYkkxOG5XaXRoSW50ZXJwb2xhdGlvbiIsInNlbmRXZWxjb21lU01TIiwiY29udGV4dCIsInVzZXJuYW1lIiwicGhvbmVOdW1iZXIiLCJtZXNzYWdlIiwiY29uc29sZSIsImxvZyIsInNlbmRWZXJpZmljYXRpb25Db2RlIiwiY29kZSIsImxvY2FsZSIsImdlbmVyYXRlV2VsY29tZUVtYWlsIiwid2VsY29tZU1lc3NhZ2UiLCJnZXRTdGFydGVkTWVzc2FnZSIsInRlYW1TaWduYXR1cmUiLCJrZXkiLCJmYWxsYmFjayIsImludGVycG9sYXRlZFdlbGNvbWUiLCJyZXBsYWNlIiwic3ViamVjdCIsImJvZHkiLCJnZW5lcmF0ZU5vdGlmaWNhdGlvbk1lc3NhZ2VzIiwia2V5cyIsImZhbGxiYWNrTWFwIiwidHJhbnNsYXRpb25zIiwiZ2V0RXJyb3JNZXNzYWdlIiwiZXJyb3JDb2RlIiwiZXJyb3IiLCJnZXRVc2VyR3JlZXRpbmciLCJ1c2VyTG9jYWxlIiwiZ3JlZXRpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztDQVFDLEdBRUQsU0FBUUEsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLGNBQWMsRUFBRUMsdUJBQXVCLFFBQU8sY0FBYztBQUt6RixzREFBc0Q7QUFDdEQsT0FBTyxlQUFlQyxlQUFlQyxPQUFtQixFQUFFQyxRQUFnQixFQUFFQyxXQUFtQjtJQUM3RixNQUFNQyxVQUFVLE1BQU1SLE9BQ3BCSyxTQUNBLGVBQ0EsMEVBQ0E7SUFHRkksUUFBUUMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFSCxZQUFZLEVBQUUsRUFBRUMsU0FBUztJQUN2RCxPQUFPQTtBQUNUO0FBRUEsNENBQTRDO0FBQzVDLE9BQU8sZUFBZUcscUJBQ3BCTixPQUFtQixFQUNuQk8sSUFBWSxFQUNaQyxTQUFpQixJQUFJO0lBRXJCLE1BQU1MLFVBQVUsTUFBTUwsd0JBQ3BCRSxTQUNBLHdCQUNBLHVDQUNBO1FBQUNPO0lBQUksR0FDTEM7SUFHRkosUUFBUUMsR0FBRyxDQUFDLENBQUMsNkJBQTZCLEVBQUVHLE9BQU8sRUFBRSxFQUFFTCxTQUFTO0lBQ2hFLE9BQU9BO0FBQ1Q7QUFFQSwyQ0FBMkM7QUFDM0MsT0FBTyxlQUFlTSxxQkFBcUJULE9BQW1CLEVBQUVDLFFBQWdCLEVBQUVPLFNBQWlCLElBQUk7SUFDckcsTUFBTSxDQUFDRSxnQkFBZ0JDLG1CQUFtQkMsY0FBYyxHQUFHLE1BQU1mLGVBQWVHLFNBQVM7UUFDdkY7WUFDRWEsS0FBSztZQUNMQyxVQUFVO1lBQ1ZOO1FBQ0Y7UUFDQTtZQUNFSyxLQUFLO1lBQ0xDLFVBQVU7WUFDVk47UUFDRjtRQUNBO1lBQ0VLLEtBQUs7WUFDTEMsVUFBVTtZQUNWTjtRQUNGO0tBQ0Q7SUFFRCx5Q0FBeUM7SUFDekMsTUFBTU8sc0JBQXNCTCxlQUFlTSxPQUFPLENBQUMscUJBQXFCZjtJQUV4RSxPQUFPO1FBQ0xnQixTQUFTRjtRQUNURyxNQUFNLEdBQUdILG9CQUFvQixJQUFJLEVBQUVKLGtCQUFrQixJQUFJLEVBQUVDLGVBQWU7SUFDNUU7QUFDRjtBQUVBLHNEQUFzRDtBQUN0RCxPQUFPLGVBQWVPLDZCQUE2Qm5CLE9BQW1CLEVBQUVRLFNBQWlCLElBQUk7SUFDM0YsTUFBTVksT0FBTztRQUNYO1FBQ0E7UUFDQTtRQUNBO0tBQ0Q7SUFFRCxNQUFNQyxjQUFjO1FBQ2xCLHdCQUF3QjtRQUN4Qiw2QkFBNkI7UUFDN0IsOEJBQThCO1FBQzlCLDhCQUE4QjtJQUNoQztJQUVBLE1BQU1DLGVBQWUsTUFBTTFCLFlBQVlJLFNBQVNvQixNQUFNQyxhQUFhYjtJQUVuRSxPQUFPYztBQUNUO0FBRUEsMENBQTBDO0FBQzFDLE9BQU8sZUFBZUMsZ0JBQWdCdkIsT0FBbUIsRUFBRXdCLFNBQWlCLEVBQUVoQixTQUFpQixJQUFJO0lBQ2pHLElBQUk7UUFDRixNQUFNTCxVQUFVLE1BQU1SLE9BQ3BCSyxTQUNBLENBQUMsTUFBTSxFQUFFd0IsV0FBVyxFQUNwQixDQUFDLG1CQUFtQixFQUFFQSxXQUFXLEVBQ2pDaEI7UUFFRixPQUFPTDtJQUNULEVBQUUsT0FBTXNCLE9BQU87UUFDYiw4Q0FBOEM7UUFDOUNyQixRQUFRcUIsS0FBSyxDQUFDLG1DQUFtQ0E7UUFDakQsT0FBTyxDQUFDLG1CQUFtQixFQUFFRCxXQUFXO0lBQzFDO0FBQ0Y7QUFFQSx1REFBdUQ7QUFDdkQsT0FBTyxlQUFlRSxnQkFBZ0IxQixPQUFtQixFQUFFMkIsVUFBbUI7SUFDNUUsNERBQTREO0lBQzVELE1BQU1uQixTQUFpQixBQUFDbUIsY0FBeUI7SUFFakQsTUFBTUMsV0FBVyxNQUFNakMsT0FDckJLLFNBQ0Esb0JBQ0EsaUJBQ0FRO0lBR0YsT0FBT29CO0FBQ1QsRUFFQSxrQkFBa0I7Q0FDbEIsb0ZBQW9GO0NBQ3BGLHdEQUF3RDtDQUN4RCx1REFBdUQ7Q0FDdkQsb0VBQW9FO0NBQ3BFLDJFQUEyRTtDQUMzRSwwRUFBMEU7Q0FDMUUseURBQXlEIn0=
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { getContentWithFallback } from '../actions/content.js';
5
+ export const dbI18n = async (context, key, fallbackContent, locale = 'en')=>getContentWithFallback(context, key, fallbackContent, locale);
6
+ export const dbI18nMultiple = async (context, translations)=>{
7
+ const promises = translations.map(({ key, fallback, locale = 'en' })=>getContentWithFallback(context, key, fallback, locale));
8
+ return Promise.all(promises);
9
+ };
10
+ export const dbI18nWithInterpolation = async (context, key, fallbackContent, interpolation = {}, locale = 'en')=>{
11
+ const content = await getContentWithFallback(context, key, fallbackContent, locale);
12
+ return content.replace(/\{\{(\w+)\}\}/g, (match, key)=>interpolation[key] !== undefined ? String(interpolation[key]) : match);
13
+ };
14
+ export const dbI18nBatch = async (context, keys, fallbackMap, locale = 'en')=>{
15
+ const translations = keys.map((key)=>({
16
+ key,
17
+ fallback: fallbackMap[key] || key,
18
+ locale
19
+ }));
20
+ const results = await dbI18nMultiple(context, translations);
21
+ const resultMap = {};
22
+ keys.forEach((key, index)=>{
23
+ resultMap[key] = results[index];
24
+ });
25
+ return resultMap;
26
+ };
27
+
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2RiSTE4bi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXRDb250ZW50V2l0aEZhbGxiYWNrfSBmcm9tICcuLi9hY3Rpb25zL2NvbnRlbnQuanMnO1xuXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7TG9jYWxlfSBmcm9tICcuLi90eXBlcy9jb250ZW50LnR5cGVzLmpzJztcblxuZXhwb3J0IGNvbnN0IGRiSTE4biA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAga2V5OiBzdHJpbmcsXG4gIGZhbGxiYWNrQ29udGVudDogc3RyaW5nLFxuICBsb2NhbGU6IExvY2FsZSA9ICdlbidcbik6IFByb21pc2U8c3RyaW5nPiA9PiBnZXRDb250ZW50V2l0aEZhbGxiYWNrKGNvbnRleHQsIGtleSwgZmFsbGJhY2tDb250ZW50LCBsb2NhbGUpO1xuXG5leHBvcnQgY29uc3QgZGJJMThuTXVsdGlwbGUgPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8e1xuICAgIGtleTogc3RyaW5nO1xuICAgIGZhbGxiYWNrOiBzdHJpbmc7XG4gICAgbG9jYWxlPzogTG9jYWxlO1xuICB9PlxuKTogUHJvbWlzZTxzdHJpbmdbXT4gPT4ge1xuICBjb25zdCBwcm9taXNlcyA9IHRyYW5zbGF0aW9ucy5tYXAoKHtrZXksIGZhbGxiYWNrLCBsb2NhbGUgPSAnZW4nfSkgPT5cbiAgICBnZXRDb250ZW50V2l0aEZhbGxiYWNrKGNvbnRleHQsIGtleSwgZmFsbGJhY2ssIGxvY2FsZSlcbiAgKTtcblxuICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRiSTE4bldpdGhJbnRlcnBvbGF0aW9uID0gYXN5bmMgKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICBrZXk6IHN0cmluZyxcbiAgZmFsbGJhY2tDb250ZW50OiBzdHJpbmcsXG4gIGludGVycG9sYXRpb246IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcbiAgbG9jYWxlOiBMb2NhbGUgPSAnZW4nXG4pOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICBjb25zdCBjb250ZW50ID0gYXdhaXQgZ2V0Q29udGVudFdpdGhGYWxsYmFjayhjb250ZXh0LCBrZXksIGZhbGxiYWNrQ29udGVudCwgbG9jYWxlKTtcblxuICByZXR1cm4gY29udGVudC5yZXBsYWNlKC9cXHtcXHsoXFx3KylcXH1cXH0vZywgKG1hdGNoLCBrZXkpID0+XG4gICAgKGludGVycG9sYXRpb25ba2V5XSAhPT0gdW5kZWZpbmVkID8gU3RyaW5nKGludGVycG9sYXRpb25ba2V5XSkgOiBtYXRjaClcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkYkkxOG5CYXRjaCA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAga2V5czogc3RyaW5nW10sXG4gIGZhbGxiYWNrTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICBsb2NhbGU6IExvY2FsZSA9ICdlbidcbik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPT4ge1xuICBjb25zdCB0cmFuc2xhdGlvbnMgPSBrZXlzLm1hcCgoa2V5KSA9PiAoe1xuICAgIGtleSxcbiAgICBmYWxsYmFjazogZmFsbGJhY2tNYXBba2V5XSB8fCBrZXksXG4gICAgbG9jYWxlXG4gIH0pKTtcblxuICBjb25zdCByZXN1bHRzID0gYXdhaXQgZGJJMThuTXVsdGlwbGUoY29udGV4dCwgdHJhbnNsYXRpb25zKTtcblxuICBjb25zdCByZXN1bHRNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAga2V5cy5mb3JFYWNoKChrZXksIGluZGV4KSA9PiB7XG4gICAgcmVzdWx0TWFwW2tleV0gPSByZXN1bHRzW2luZGV4XTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdE1hcDtcbn07Il0sIm5hbWVzIjpbImdldENvbnRlbnRXaXRoRmFsbGJhY2siLCJkYkkxOG4iLCJjb250ZXh0Iiwia2V5IiwiZmFsbGJhY2tDb250ZW50IiwibG9jYWxlIiwiZGJJMThuTXVsdGlwbGUiLCJ0cmFuc2xhdGlvbnMiLCJwcm9taXNlcyIsIm1hcCIsImZhbGxiYWNrIiwiUHJvbWlzZSIsImFsbCIsImRiSTE4bldpdGhJbnRlcnBvbGF0aW9uIiwiaW50ZXJwb2xhdGlvbiIsImNvbnRlbnQiLCJyZXBsYWNlIiwibWF0Y2giLCJ1bmRlZmluZWQiLCJTdHJpbmciLCJkYkkxOG5CYXRjaCIsImtleXMiLCJmYWxsYmFja01hcCIsInJlc3VsdHMiLCJyZXN1bHRNYXAiLCJmb3JFYWNoIiwiaW5kZXgiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLHNCQUFzQixRQUFPLHdCQUF3QjtBQUs3RCxPQUFPLE1BQU1DLFNBQVMsT0FDcEJDLFNBQ0FDLEtBQ0FDLGlCQUNBQyxTQUFpQixJQUFJLEdBQ0RMLHVCQUF1QkUsU0FBU0MsS0FBS0MsaUJBQWlCQyxRQUFRO0FBRXBGLE9BQU8sTUFBTUMsaUJBQWlCLE9BQzVCSixTQUNBSztJQU1BLE1BQU1DLFdBQVdELGFBQWFFLEdBQUcsQ0FBQyxDQUFDLEVBQUNOLEdBQUcsRUFBRU8sUUFBUSxFQUFFTCxTQUFTLElBQUksRUFBQyxHQUMvREwsdUJBQXVCRSxTQUFTQyxLQUFLTyxVQUFVTDtJQUdqRCxPQUFPTSxRQUFRQyxHQUFHLENBQUNKO0FBQ3JCLEVBQUU7QUFFRixPQUFPLE1BQU1LLDBCQUEwQixPQUNyQ1gsU0FDQUMsS0FDQUMsaUJBQ0FVLGdCQUFxQyxDQUFDLENBQUMsRUFDdkNULFNBQWlCLElBQUk7SUFFckIsTUFBTVUsVUFBVSxNQUFNZix1QkFBdUJFLFNBQVNDLEtBQUtDLGlCQUFpQkM7SUFFNUUsT0FBT1UsUUFBUUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDQyxPQUFPZCxNQUM5Q1csYUFBYSxDQUFDWCxJQUFJLEtBQUtlLFlBQVlDLE9BQU9MLGFBQWEsQ0FBQ1gsSUFBSSxJQUFJYztBQUVyRSxFQUFFO0FBRUYsT0FBTyxNQUFNRyxjQUFjLE9BQ3pCbEIsU0FDQW1CLE1BQ0FDLGFBQ0FqQixTQUFpQixJQUFJO0lBRXJCLE1BQU1FLGVBQWVjLEtBQUtaLEdBQUcsQ0FBQyxDQUFDTixNQUFTLENBQUE7WUFDdENBO1lBQ0FPLFVBQVVZLFdBQVcsQ0FBQ25CLElBQUksSUFBSUE7WUFDOUJFO1FBQ0YsQ0FBQTtJQUVBLE1BQU1rQixVQUFVLE1BQU1qQixlQUFlSixTQUFTSztJQUU5QyxNQUFNaUIsWUFBb0MsQ0FBQztJQUMzQ0gsS0FBS0ksT0FBTyxDQUFDLENBQUN0QixLQUFLdUI7UUFDakJGLFNBQVMsQ0FBQ3JCLElBQUksR0FBR29CLE9BQU8sQ0FBQ0csTUFBTTtJQUNqQztJQUVBLE9BQU9GO0FBQ1QsRUFBRSJ9
@@ -4,3 +4,4 @@
4
4
  */
5
5
  export declare const translateText: (text: string, targetLanguage: string, sourceLanguage?: string) => Promise<string>;
6
6
  export declare const translateBatch: (texts: string[], targetLanguage: string, sourceLanguage?: string) => Promise<string[]>;
7
+ //# sourceMappingURL=googleTranslate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"googleTranslate.d.ts","sourceRoot":"","sources":["../../src/utils/googleTranslate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EACZ,gBAAgB,MAAM,EACtB,iBAAgB,MAAa,KAC5B,OAAO,CAAC,MAAM,CAqChB,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,OAAO,MAAM,EAAE,EACf,gBAAgB,MAAM,EACtB,iBAAgB,MAAa,KAC5B,OAAO,CAAC,MAAM,EAAE,CAqClB,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { Config } from '../config.js';
5
+ export const translateText = async (text, targetLanguage, sourceLanguage = 'en')=>{
6
+ try {
7
+ const apiKey = Config.get('google.key');
8
+ if (!apiKey) {
9
+ throw new Error('Google Translate API key not configured');
10
+ }
11
+ const url = `https://translation.googleapis.com/language/translate/v2?key=${apiKey}`;
12
+ const response = await fetch(url, {
13
+ method: 'POST',
14
+ headers: {
15
+ 'Content-Type': 'application/json'
16
+ },
17
+ body: JSON.stringify({
18
+ q: text,
19
+ target: targetLanguage,
20
+ source: sourceLanguage,
21
+ format: 'text'
22
+ })
23
+ });
24
+ if (!response.ok) {
25
+ throw new Error(`Google Translate API error: ${response.status} ${response.statusText}`);
26
+ }
27
+ const data = await response.json();
28
+ if (!data.data?.translations?.[0]?.translatedText) {
29
+ throw new Error('Invalid response from Google Translate API');
30
+ }
31
+ return data.data.translations[0].translatedText;
32
+ } catch (error) {
33
+ console.error('Translation error:', error);
34
+ throw error;
35
+ }
36
+ };
37
+ export const translateBatch = async (texts, targetLanguage, sourceLanguage = 'en')=>{
38
+ try {
39
+ const apiKey = Config.get('google.key');
40
+ if (!apiKey) {
41
+ throw new Error('Google Translate API key not configured');
42
+ }
43
+ const url = `https://translation.googleapis.com/language/translate/v2?key=${apiKey}`;
44
+ const response = await fetch(url, {
45
+ method: 'POST',
46
+ headers: {
47
+ 'Content-Type': 'application/json'
48
+ },
49
+ body: JSON.stringify({
50
+ q: texts,
51
+ target: targetLanguage,
52
+ source: sourceLanguage,
53
+ format: 'text'
54
+ })
55
+ });
56
+ if (!response.ok) {
57
+ throw new Error(`Google Translate API error: ${response.status} ${response.statusText}`);
58
+ }
59
+ const data = await response.json();
60
+ if (!data.data?.translations) {
61
+ throw new Error('Invalid response from Google Translate API');
62
+ }
63
+ return data.data.translations.map((t)=>t.translatedText);
64
+ } catch (error) {
65
+ console.error('Batch translation error:', error);
66
+ throw error;
67
+ }
68
+ };
69
+
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2dvb2dsZVRyYW5zbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcblxuaW50ZXJmYWNlIEdvb2dsZVRyYW5zbGF0ZVJlc3BvbnNlIHtcbiAgZGF0YToge1xuICAgIHRyYW5zbGF0aW9uczogQXJyYXk8e1xuICAgICAgdHJhbnNsYXRlZFRleHQ6IHN0cmluZztcbiAgICAgIGRldGVjdGVkU291cmNlTGFuZ3VhZ2U/OiBzdHJpbmc7XG4gICAgfT47XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVUZXh0ID0gYXN5bmMgKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHRhcmdldExhbmd1YWdlOiBzdHJpbmcsXG4gIHNvdXJjZUxhbmd1YWdlOiBzdHJpbmcgPSAnZW4nXG4pOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IGFwaUtleSA9IENvbmZpZy5nZXQoJ2dvb2dsZS5rZXknKTtcbiAgICBpZighYXBpS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0dvb2dsZSBUcmFuc2xhdGUgQVBJIGtleSBub3QgY29uZmlndXJlZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHVybCA9IGBodHRwczovL3RyYW5zbGF0aW9uLmdvb2dsZWFwaXMuY29tL2xhbmd1YWdlL3RyYW5zbGF0ZS92Mj9rZXk9JHthcGlLZXl9YDtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgcTogdGV4dCxcbiAgICAgICAgdGFyZ2V0OiB0YXJnZXRMYW5ndWFnZSxcbiAgICAgICAgc291cmNlOiBzb3VyY2VMYW5ndWFnZSxcbiAgICAgICAgZm9ybWF0OiAndGV4dCdcbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICBpZighcmVzcG9uc2Uub2spIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgR29vZ2xlIFRyYW5zbGF0ZSBBUEkgZXJyb3I6ICR7cmVzcG9uc2Uuc3RhdHVzfSAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKSBhcyBHb29nbGVUcmFuc2xhdGVSZXNwb25zZTtcblxuICAgIGlmKCFkYXRhLmRhdGE/LnRyYW5zbGF0aW9ucz8uWzBdPy50cmFuc2xhdGVkVGV4dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlc3BvbnNlIGZyb20gR29vZ2xlIFRyYW5zbGF0ZSBBUEknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YS5kYXRhLnRyYW5zbGF0aW9uc1swXS50cmFuc2xhdGVkVGV4dDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1RyYW5zbGF0aW9uIGVycm9yOicsIGVycm9yKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZUJhdGNoID0gYXN5bmMgKFxuICB0ZXh0czogc3RyaW5nW10sXG4gIHRhcmdldExhbmd1YWdlOiBzdHJpbmcsXG4gIHNvdXJjZUxhbmd1YWdlOiBzdHJpbmcgPSAnZW4nXG4pOiBQcm9taXNlPHN0cmluZ1tdPiA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgYXBpS2V5ID0gQ29uZmlnLmdldCgnZ29vZ2xlLmtleScpO1xuICAgIGlmKCFhcGlLZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignR29vZ2xlIFRyYW5zbGF0ZSBBUEkga2V5IG5vdCBjb25maWd1cmVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdXJsID0gYGh0dHBzOi8vdHJhbnNsYXRpb24uZ29vZ2xlYXBpcy5jb20vbGFuZ3VhZ2UvdHJhbnNsYXRlL3YyP2tleT0ke2FwaUtleX1gO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBxOiB0ZXh0cyxcbiAgICAgICAgdGFyZ2V0OiB0YXJnZXRMYW5ndWFnZSxcbiAgICAgICAgc291cmNlOiBzb3VyY2VMYW5ndWFnZSxcbiAgICAgICAgZm9ybWF0OiAndGV4dCdcbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICBpZighcmVzcG9uc2Uub2spIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgR29vZ2xlIFRyYW5zbGF0ZSBBUEkgZXJyb3I6ICR7cmVzcG9uc2Uuc3RhdHVzfSAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKSBhcyBHb29nbGVUcmFuc2xhdGVSZXNwb25zZTtcblxuICAgIGlmKCFkYXRhLmRhdGE/LnRyYW5zbGF0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlc3BvbnNlIGZyb20gR29vZ2xlIFRyYW5zbGF0ZSBBUEknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YS5kYXRhLnRyYW5zbGF0aW9ucy5tYXAoKHQpID0+IHQudHJhbnNsYXRlZFRleHQpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignQmF0Y2ggdHJhbnNsYXRpb24gZXJyb3I6JywgZXJyb3IpO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59OyJdLCJuYW1lcyI6WyJDb25maWciLCJ0cmFuc2xhdGVUZXh0IiwidGV4dCIsInRhcmdldExhbmd1YWdlIiwic291cmNlTGFuZ3VhZ2UiLCJhcGlLZXkiLCJnZXQiLCJFcnJvciIsInVybCIsInJlc3BvbnNlIiwiZmV0Y2giLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJxIiwidGFyZ2V0Iiwic291cmNlIiwiZm9ybWF0Iiwib2siLCJzdGF0dXMiLCJzdGF0dXNUZXh0IiwiZGF0YSIsImpzb24iLCJ0cmFuc2xhdGlvbnMiLCJ0cmFuc2xhdGVkVGV4dCIsImVycm9yIiwiY29uc29sZSIsInRyYW5zbGF0ZUJhdGNoIiwidGV4dHMiLCJtYXAiLCJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FFRCxTQUFRQSxNQUFNLFFBQU8sZUFBZTtBQVdwQyxPQUFPLE1BQU1DLGdCQUFnQixPQUMzQkMsTUFDQUMsZ0JBQ0FDLGlCQUF5QixJQUFJO0lBRTdCLElBQUk7UUFDRixNQUFNQyxTQUFTTCxPQUFPTSxHQUFHLENBQUM7UUFDMUIsSUFBRyxDQUFDRCxRQUFRO1lBQ1YsTUFBTSxJQUFJRSxNQUFNO1FBQ2xCO1FBRUEsTUFBTUMsTUFBTSxDQUFDLDZEQUE2RCxFQUFFSCxRQUFRO1FBRXBGLE1BQU1JLFdBQVcsTUFBTUMsTUFBTUYsS0FBSztZQUNoQ0csUUFBUTtZQUNSQyxTQUFTO2dCQUNQLGdCQUFnQjtZQUNsQjtZQUNBQyxNQUFNQyxLQUFLQyxTQUFTLENBQUM7Z0JBQ25CQyxHQUFHZDtnQkFDSGUsUUFBUWQ7Z0JBQ1JlLFFBQVFkO2dCQUNSZSxRQUFRO1lBQ1Y7UUFDRjtRQUVBLElBQUcsQ0FBQ1YsU0FBU1csRUFBRSxFQUFFO1lBQ2YsTUFBTSxJQUFJYixNQUFNLENBQUMsNEJBQTRCLEVBQUVFLFNBQVNZLE1BQU0sQ0FBQyxDQUFDLEVBQUVaLFNBQVNhLFVBQVUsRUFBRTtRQUN6RjtRQUVBLE1BQU1DLE9BQU8sTUFBTWQsU0FBU2UsSUFBSTtRQUVoQyxJQUFHLENBQUNELEtBQUtBLElBQUksRUFBRUUsY0FBYyxDQUFDLEVBQUUsRUFBRUMsZ0JBQWdCO1lBQ2hELE1BQU0sSUFBSW5CLE1BQU07UUFDbEI7UUFFQSxPQUFPZ0IsS0FBS0EsSUFBSSxDQUFDRSxZQUFZLENBQUMsRUFBRSxDQUFDQyxjQUFjO0lBQ2pELEVBQUUsT0FBTUMsT0FBTztRQUNiQyxRQUFRRCxLQUFLLENBQUMsc0JBQXNCQTtRQUNwQyxNQUFNQTtJQUNSO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTUUsaUJBQWlCLE9BQzVCQyxPQUNBM0IsZ0JBQ0FDLGlCQUF5QixJQUFJO0lBRTdCLElBQUk7UUFDRixNQUFNQyxTQUFTTCxPQUFPTSxHQUFHLENBQUM7UUFDMUIsSUFBRyxDQUFDRCxRQUFRO1lBQ1YsTUFBTSxJQUFJRSxNQUFNO1FBQ2xCO1FBRUEsTUFBTUMsTUFBTSxDQUFDLDZEQUE2RCxFQUFFSCxRQUFRO1FBRXBGLE1BQU1JLFdBQVcsTUFBTUMsTUFBTUYsS0FBSztZQUNoQ0csUUFBUTtZQUNSQyxTQUFTO2dCQUNQLGdCQUFnQjtZQUNsQjtZQUNBQyxNQUFNQyxLQUFLQyxTQUFTLENBQUM7Z0JBQ25CQyxHQUFHYztnQkFDSGIsUUFBUWQ7Z0JBQ1JlLFFBQVFkO2dCQUNSZSxRQUFRO1lBQ1Y7UUFDRjtRQUVBLElBQUcsQ0FBQ1YsU0FBU1csRUFBRSxFQUFFO1lBQ2YsTUFBTSxJQUFJYixNQUFNLENBQUMsNEJBQTRCLEVBQUVFLFNBQVNZLE1BQU0sQ0FBQyxDQUFDLEVBQUVaLFNBQVNhLFVBQVUsRUFBRTtRQUN6RjtRQUVBLE1BQU1DLE9BQU8sTUFBTWQsU0FBU2UsSUFBSTtRQUVoQyxJQUFHLENBQUNELEtBQUtBLElBQUksRUFBRUUsY0FBYztZQUMzQixNQUFNLElBQUlsQixNQUFNO1FBQ2xCO1FBRUEsT0FBT2dCLEtBQUtBLElBQUksQ0FBQ0UsWUFBWSxDQUFDTSxHQUFHLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRU4sY0FBYztJQUMzRCxFQUFFLE9BQU1DLE9BQU87UUFDYkMsUUFBUUQsS0FBSyxDQUFDLDRCQUE0QkE7UUFDMUMsTUFBTUE7SUFDUjtBQUNGLEVBQUUifQ==
@@ -8,3 +8,4 @@ export declare const enhanceContextWithFields: (baseContext: ApiContext) => (roo
8
8
  languageContext?: import("./languageDetection.js").LanguageDetectionContext;
9
9
  session?: import("./sessionUtils.js").Session;
10
10
  };
11
+ //# sourceMappingURL=graphqlUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphqlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/graphqlUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAEvD,eAAO,MAAM,kBAAkB,GAAI,MAAM,GAAG,KAAG,MAAM,EAAwB,CAAC;AAE9E,eAAO,MAAM,wBAAwB,GAAI,aAAa,UAAU,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,SAAS,GAAG,EAAE,MAAM,GAAG;;;;;;;CAOlH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { getGqlFields } from './arangodbUtils.js';
2
+ export const getRequestedFields = (info)=>getGqlFields(info);
3
+ export const enhanceContextWithFields = (baseContext)=>(root, args, context, info)=>{
4
+ const enhancedContext = {
5
+ ...baseContext,
6
+ fields: getGqlFields(info)
7
+ };
8
+ return enhancedContext;
9
+ };
10
+
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2dyYXBocWxVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEdxbEZpZWxkc30gZnJvbSAnLi9hcmFuZ29kYlV0aWxzLmpzJztcblxuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG5leHBvcnQgY29uc3QgZ2V0UmVxdWVzdGVkRmllbGRzID0gKGluZm86IGFueSk6IHN0cmluZ1tdID0+IGdldEdxbEZpZWxkcyhpbmZvKTtcblxuZXhwb3J0IGNvbnN0IGVuaGFuY2VDb250ZXh0V2l0aEZpZWxkcyA9IChiYXNlQ29udGV4dDogQXBpQ29udGV4dCkgPT4gKHJvb3Q6IGFueSwgYXJnczogYW55LCBjb250ZXh0OiBhbnksIGluZm86IGFueSkgPT4ge1xuICBjb25zdCBlbmhhbmNlZENvbnRleHQgPSB7XG4gICAgLi4uYmFzZUNvbnRleHQsXG4gICAgZmllbGRzOiBnZXRHcWxGaWVsZHMoaW5mbylcbiAgfTtcblxuICByZXR1cm4gZW5oYW5jZWRDb250ZXh0O1xufTsiXSwibmFtZXMiOlsiZ2V0R3FsRmllbGRzIiwiZ2V0UmVxdWVzdGVkRmllbGRzIiwiaW5mbyIsImVuaGFuY2VDb250ZXh0V2l0aEZpZWxkcyIsImJhc2VDb250ZXh0Iiwicm9vdCIsImFyZ3MiLCJjb250ZXh0IiwiZW5oYW5jZWRDb250ZXh0IiwiZmllbGRzIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxZQUFZLFFBQU8scUJBQXFCO0FBSWhELE9BQU8sTUFBTUMscUJBQXFCLENBQUNDLE9BQXdCRixhQUFhRSxNQUFNO0FBRTlFLE9BQU8sTUFBTUMsMkJBQTJCLENBQUNDLGNBQTRCLENBQUNDLE1BQVdDLE1BQVdDLFNBQWNMO1FBQ3hHLE1BQU1NLGtCQUFrQjtZQUN0QixHQUFHSixXQUFXO1lBQ2RLLFFBQVFULGFBQWFFO1FBQ3ZCO1FBRUEsT0FBT007SUFDVCxFQUFFIn0=
@@ -16,3 +16,4 @@ export * from './middlewareUtils.js';
16
16
  export * from './sessionUtils.js';
17
17
  export * from './templateUtils.js';
18
18
  export * from './translationQueue.js';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ export * from './adapterUtils.js';
5
+ export * from './analyticsUtils.js';
6
+ export * from './arangodbUtils.js';
7
+ export * from './authUtils.js';
8
+ export * from './contextUtils.js';
9
+ export * from './dbI18n.js';
10
+ export * from './googleTranslate.js';
11
+ export * from './graphqlUtils.js';
12
+ export * from './languageDetection.js';
13
+ export * from './localeUtils.js';
14
+ export * from './middlewareUtils.js';
15
+ export * from './sessionUtils.js';
16
+ export * from './templateUtils.js';
17
+ export * from './translationQueue.js';
18
+
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5leHBvcnQgKiBmcm9tICcuL2FkYXB0ZXJVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FuYWx5dGljc1V0aWxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYXJhbmdvZGJVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGhVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHRVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2RiSTE4bi5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dvb2dsZVRyYW5zbGF0ZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWxVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2xhbmd1YWdlRGV0ZWN0aW9uLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxlVXRpbHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9taWRkbGV3YXJlVXRpbHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXNzaW9uVXRpbHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi90ZW1wbGF0ZVV0aWxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRpb25RdWV1ZS5qcyc7XG5cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxjQUFjLG9CQUFvQjtBQUNsQyxjQUFjLHNCQUFzQjtBQUNwQyxjQUFjLHFCQUFxQjtBQUNuQyxjQUFjLGlCQUFpQjtBQUMvQixjQUFjLG9CQUFvQjtBQUNsQyxjQUFjLGNBQWM7QUFDNUIsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyxvQkFBb0I7QUFDbEMsY0FBYyx5QkFBeUI7QUFDdkMsY0FBYyxtQkFBbUI7QUFDakMsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyxvQkFBb0I7QUFDbEMsY0FBYyxxQkFBcUI7QUFDbkMsY0FBYyx3QkFBd0IifQ==