@nlabs/metropolisjs 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/.github/copilot-instructions.md +167 -0
  2. package/AGENTS.md +13 -0
  3. package/CHANGELOG.md +112 -0
  4. package/GRAPHQL_VALIDATION_RESULTS.md +158 -0
  5. package/PERMISSION_GRAPHQL_INTEGRATION.md +293 -0
  6. package/PERMISSION_IMPLEMENTATION_SUMMARY.md +243 -0
  7. package/README.md +1343 -0
  8. package/SIGNIN_GRAPHQL_VALIDATION.md +125 -0
  9. package/VAULT_GRAPHQL_API_FINDINGS.md +312 -0
  10. package/docs/ACTIONS.md +63 -0
  11. package/docs/COLLECTIONS.md +1038 -0
  12. package/docs/CONNECTIONS.md +1367 -0
  13. package/docs/CRUD_INTEGRATION.md +702 -0
  14. package/examples/connections-usage.tsx +909 -0
  15. package/examples/content-actions-usage.ts +144 -0
  16. package/examples/crud-usage.tsx +847 -0
  17. package/examples/extensibility-usage.tsx +889 -0
  18. package/examples/factory-pattern-usage.ts +283 -0
  19. package/examples/i18n-import-examples.ts +86 -0
  20. package/examples/i18n-namespace-usage.ts +118 -0
  21. package/examples/i18next-singleton-demo.ts +187 -0
  22. package/examples/permission-system-usage.tsx +415 -0
  23. package/examples/project-details.tsx +397 -0
  24. package/examples/shared-i18n-usage.tsx +203 -0
  25. package/examples/signup-error-handling.ts +100 -0
  26. package/examples/translation-types.ts +86 -0
  27. package/examples/translation-usage.tsx +336 -0
  28. package/factoryPatternGuide.md +244 -0
  29. package/index.js +1 -0
  30. package/jest.config.mjs +28 -0
  31. package/lex.config.mjs +26 -0
  32. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts +22 -0
  33. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +1 -0
  34. package/lib/__tests__/e2e/helpers/testGraphQLServer.js +197 -0
  35. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts +3 -0
  36. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +1 -0
  37. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +52 -0
  38. package/lib/actions/appActions/appActions.d.ts +29 -0
  39. package/lib/actions/appActions/appActions.d.ts.map +1 -0
  40. package/lib/actions/appActions/appActions.js +159 -0
  41. package/lib/actions/connectionActions/connectionActions.d.ts +19 -0
  42. package/lib/actions/connectionActions/connectionActions.d.ts.map +1 -0
  43. package/lib/actions/connectionActions/connectionActions.js +131 -0
  44. package/lib/actions/contentActions/contentActions.d.ts +34 -0
  45. package/lib/actions/contentActions/contentActions.d.ts.map +1 -0
  46. package/lib/actions/contentActions/contentActions.js +314 -0
  47. package/lib/actions/conversationActions/conversationActions.d.ts +30 -0
  48. package/lib/actions/conversationActions/conversationActions.d.ts.map +1 -0
  49. package/lib/actions/conversationActions/conversationActions.js +225 -0
  50. package/lib/actions/eventActions/eventActions.d.ts +65 -0
  51. package/lib/actions/eventActions/eventActions.d.ts.map +1 -0
  52. package/lib/actions/eventActions/eventActions.js +436 -0
  53. package/lib/actions/groupActions/groupActions.d.ts +30 -0
  54. package/lib/actions/groupActions/groupActions.d.ts.map +1 -0
  55. package/lib/actions/groupActions/groupActions.js +229 -0
  56. package/lib/actions/imageActions/imageActions.d.ts +62 -0
  57. package/lib/actions/imageActions/imageActions.d.ts.map +1 -0
  58. package/lib/actions/imageActions/imageActions.js +593 -0
  59. package/lib/actions/index.d.ts +21 -0
  60. package/lib/actions/index.d.ts.map +1 -0
  61. package/lib/actions/index.js +22 -0
  62. package/lib/actions/locationActions/locationActions.d.ts +60 -0
  63. package/lib/actions/locationActions/locationActions.d.ts.map +1 -0
  64. package/lib/actions/locationActions/locationActions.js +388 -0
  65. package/lib/actions/messageActions/messageActions.d.ts +38 -0
  66. package/lib/actions/messageActions/messageActions.d.ts.map +1 -0
  67. package/lib/actions/messageActions/messageActions.js +235 -0
  68. package/lib/actions/permissionActions/permissionActions.d.ts +34 -0
  69. package/lib/actions/permissionActions/permissionActions.d.ts.map +1 -0
  70. package/lib/actions/permissionActions/permissionActions.js +330 -0
  71. package/lib/actions/personaActions/personaActions.d.ts +65 -0
  72. package/lib/actions/personaActions/personaActions.d.ts.map +1 -0
  73. package/lib/actions/personaActions/personaActions.js +572 -0
  74. package/lib/actions/postActions/postActions.d.ts +36 -0
  75. package/lib/actions/postActions/postActions.d.ts.map +1 -0
  76. package/lib/actions/postActions/postActions.js +447 -0
  77. package/lib/actions/reactionActions/reactionActions.d.ts +38 -0
  78. package/lib/actions/reactionActions/reactionActions.d.ts.map +1 -0
  79. package/lib/actions/reactionActions/reactionActions.js +413 -0
  80. package/lib/actions/sseActions/sseActions.d.ts +38 -0
  81. package/lib/actions/sseActions/sseActions.d.ts.map +1 -0
  82. package/lib/actions/sseActions/sseActions.js +148 -0
  83. package/lib/actions/subscriptionActions/subscriptionActions.d.ts +24 -0
  84. package/lib/actions/subscriptionActions/subscriptionActions.d.ts.map +1 -0
  85. package/lib/actions/subscriptionActions/subscriptionActions.js +329 -0
  86. package/lib/actions/tagActions/tagActions.d.ts +37 -0
  87. package/lib/actions/tagActions/tagActions.d.ts.map +1 -0
  88. package/lib/actions/tagActions/tagActions.js +347 -0
  89. package/lib/actions/translationActions/translationActions.d.ts +38 -0
  90. package/lib/actions/translationActions/translationActions.d.ts.map +1 -0
  91. package/lib/actions/translationActions/translationActions.js +189 -0
  92. package/lib/actions/userActions/userActions.d.ts +78 -0
  93. package/lib/actions/userActions/userActions.d.ts.map +1 -0
  94. package/lib/actions/userActions/userActions.js +844 -0
  95. package/lib/actions/videoActions/videoActions.d.ts +41 -0
  96. package/lib/actions/videoActions/videoActions.d.ts.map +1 -0
  97. package/lib/actions/videoActions/videoActions.js +532 -0
  98. package/lib/actions/websocketActions/websocketActions.d.ts +30 -0
  99. package/lib/actions/websocketActions/websocketActions.d.ts.map +1 -0
  100. package/lib/actions/websocketActions/websocketActions.js +377 -0
  101. package/lib/adapters/appAdapter/appAdapter.d.ts +8 -0
  102. package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -0
  103. package/lib/adapters/appAdapter/appAdapter.js +90 -0
  104. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +21 -0
  105. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -0
  106. package/lib/adapters/arangoAdapter/arangoAdapter.js +75 -0
  107. package/lib/adapters/contentAdapter/contentAdapter.d.ts +32 -0
  108. package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -0
  109. package/lib/adapters/contentAdapter/contentAdapter.js +107 -0
  110. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +24 -0
  111. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -0
  112. package/lib/adapters/conversationAdapter/conversationAdapter.js +75 -0
  113. package/lib/adapters/eventAdapter/eventAdapter.d.ts +46 -0
  114. package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -0
  115. package/lib/adapters/eventAdapter/eventAdapter.js +162 -0
  116. package/lib/adapters/fileAdapter/fileAdapter.d.ts +30 -0
  117. package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -0
  118. package/lib/adapters/fileAdapter/fileAdapter.js +118 -0
  119. package/lib/adapters/groupAdapter/groupAdapter.d.ts +28 -0
  120. package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -0
  121. package/lib/adapters/groupAdapter/groupAdapter.js +66 -0
  122. package/lib/adapters/imageAdapter/imageAdapter.d.ts +38 -0
  123. package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -0
  124. package/lib/adapters/imageAdapter/imageAdapter.js +134 -0
  125. package/lib/adapters/index.d.ts +34 -0
  126. package/lib/adapters/index.d.ts.map +1 -0
  127. package/lib/adapters/index.js +19 -0
  128. package/lib/adapters/locationAdapter/locationAdapter.d.ts +28 -0
  129. package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -0
  130. package/lib/adapters/locationAdapter/locationAdapter.js +95 -0
  131. package/lib/adapters/messageAdapter/messageAdapter.d.ts +31 -0
  132. package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -0
  133. package/lib/adapters/messageAdapter/messageAdapter.js +82 -0
  134. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +41 -0
  135. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -0
  136. package/lib/adapters/permissionAdapter/permissionAdapter.js +120 -0
  137. package/lib/adapters/personaAdapter/personaAdapter.d.ts +44 -0
  138. package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -0
  139. package/lib/adapters/personaAdapter/personaAdapter.js +161 -0
  140. package/lib/adapters/postAdapter/postAdapter.d.ts +33 -0
  141. package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -0
  142. package/lib/adapters/postAdapter/postAdapter.js +115 -0
  143. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +23 -0
  144. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -0
  145. package/lib/adapters/reactionAdapter/reactionAdapter.js +81 -0
  146. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +17 -0
  147. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -0
  148. package/lib/adapters/reaktorAdapter/reaktorAdapter.js +58 -0
  149. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +24 -0
  150. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -0
  151. package/lib/adapters/sessionAdapter/sessionAdapter.js +80 -0
  152. package/lib/adapters/tagAdapter/tagAdapter.d.ts +21 -0
  153. package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -0
  154. package/lib/adapters/tagAdapter/tagAdapter.js +98 -0
  155. package/lib/adapters/translationAdapter/translationAdapter.d.ts +21 -0
  156. package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -0
  157. package/lib/adapters/translationAdapter/translationAdapter.js +55 -0
  158. package/lib/adapters/userAdapter/userAdapter.d.ts +67 -0
  159. package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -0
  160. package/lib/adapters/userAdapter/userAdapter.js +302 -0
  161. package/lib/adapters/videoAdapter/videoAdapter.d.ts +8 -0
  162. package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -0
  163. package/lib/adapters/videoAdapter/videoAdapter.js +194 -0
  164. package/lib/config/index.d.ts +44 -0
  165. package/lib/config/index.d.ts.map +1 -0
  166. package/lib/config/index.js +97 -0
  167. package/lib/constants/Collections.d.ts +44 -0
  168. package/lib/constants/Collections.d.ts.map +1 -0
  169. package/lib/constants/Collections.js +40 -0
  170. package/lib/constants/MetropolisConstants.d.ts +15 -0
  171. package/lib/constants/MetropolisConstants.d.ts.map +1 -0
  172. package/lib/constants/MetropolisConstants.js +15 -0
  173. package/lib/graphql/message.d.ts +3 -0
  174. package/lib/graphql/message.d.ts.map +1 -0
  175. package/lib/graphql/message.js +20 -0
  176. package/lib/graphql/notification.d.ts +3 -0
  177. package/lib/graphql/notification.d.ts.map +1 -0
  178. package/lib/graphql/notification.js +20 -0
  179. package/lib/graphql/session.d.ts +2 -0
  180. package/lib/graphql/session.d.ts.map +1 -0
  181. package/lib/graphql/session.js +17 -0
  182. package/lib/index.d.ts +52 -0
  183. package/lib/index.d.ts.map +1 -0
  184. package/lib/index.js +248 -0
  185. package/lib/stores/appStore.d.ts +23 -0
  186. package/lib/stores/appStore.d.ts.map +1 -0
  187. package/lib/stores/appStore.js +23 -0
  188. package/lib/stores/contentStore.d.ts +36 -0
  189. package/lib/stores/contentStore.d.ts.map +1 -0
  190. package/lib/stores/contentStore.js +139 -0
  191. package/lib/stores/conversationStore.d.ts +38 -0
  192. package/lib/stores/conversationStore.d.ts.map +1 -0
  193. package/lib/stores/conversationStore.js +117 -0
  194. package/lib/stores/eventStore.d.ts +37 -0
  195. package/lib/stores/eventStore.d.ts.map +1 -0
  196. package/lib/stores/eventStore.js +47 -0
  197. package/lib/stores/groupStore.d.ts +37 -0
  198. package/lib/stores/groupStore.d.ts.map +1 -0
  199. package/lib/stores/groupStore.js +68 -0
  200. package/lib/stores/imageStore.d.ts +40 -0
  201. package/lib/stores/imageStore.d.ts.map +1 -0
  202. package/lib/stores/imageStore.js +53 -0
  203. package/lib/stores/index.d.ts +24 -0
  204. package/lib/stores/index.d.ts.map +1 -0
  205. package/lib/stores/index.js +24 -0
  206. package/lib/stores/locationStore.d.ts +34 -0
  207. package/lib/stores/locationStore.d.ts.map +1 -0
  208. package/lib/stores/locationStore.js +42 -0
  209. package/lib/stores/messageStore.d.ts +51 -0
  210. package/lib/stores/messageStore.d.ts.map +1 -0
  211. package/lib/stores/messageStore.js +137 -0
  212. package/lib/stores/notificationStore.d.ts +33 -0
  213. package/lib/stores/notificationStore.d.ts.map +1 -0
  214. package/lib/stores/notificationStore.js +55 -0
  215. package/lib/stores/permissionStore.d.ts +37 -0
  216. package/lib/stores/permissionStore.d.ts.map +1 -0
  217. package/lib/stores/permissionStore.js +117 -0
  218. package/lib/stores/personaStore.d.ts +26 -0
  219. package/lib/stores/personaStore.d.ts.map +1 -0
  220. package/lib/stores/personaStore.js +118 -0
  221. package/lib/stores/postStore.d.ts +34 -0
  222. package/lib/stores/postStore.d.ts.map +1 -0
  223. package/lib/stores/postStore.js +53 -0
  224. package/lib/stores/reactionStore.d.ts +25 -0
  225. package/lib/stores/reactionStore.d.ts.map +1 -0
  226. package/lib/stores/reactionStore.js +28 -0
  227. package/lib/stores/subscriptionStore.d.ts +41 -0
  228. package/lib/stores/subscriptionStore.d.ts.map +1 -0
  229. package/lib/stores/subscriptionStore.js +85 -0
  230. package/lib/stores/tagStore.d.ts +34 -0
  231. package/lib/stores/tagStore.d.ts.map +1 -0
  232. package/lib/stores/tagStore.js +87 -0
  233. package/lib/stores/translationStore.d.ts +42 -0
  234. package/lib/stores/translationStore.d.ts.map +1 -0
  235. package/lib/stores/translationStore.js +122 -0
  236. package/lib/stores/userStore.d.ts +74 -0
  237. package/lib/stores/userStore.d.ts.map +1 -0
  238. package/lib/stores/userStore.js +319 -0
  239. package/lib/stores/videoStore.d.ts +39 -0
  240. package/lib/stores/videoStore.d.ts.map +1 -0
  241. package/lib/stores/videoStore.js +132 -0
  242. package/lib/stores/websocketStore.d.ts +24 -0
  243. package/lib/stores/websocketStore.d.ts.map +1 -0
  244. package/lib/stores/websocketStore.js +51 -0
  245. package/lib/types/apps.types.d.ts +17 -0
  246. package/lib/types/apps.types.d.ts.map +1 -0
  247. package/lib/types/apps.types.js +6 -0
  248. package/lib/types/common.types.d.ts +31 -0
  249. package/lib/types/common.types.d.ts.map +1 -0
  250. package/lib/types/common.types.js +6 -0
  251. package/lib/types/conversations.types.d.ts +17 -0
  252. package/lib/types/conversations.types.d.ts.map +1 -0
  253. package/lib/types/conversations.types.js +6 -0
  254. package/lib/types/edges.types.d.ts +38 -0
  255. package/lib/types/edges.types.d.ts.map +1 -0
  256. package/lib/types/edges.types.js +6 -0
  257. package/lib/types/groups.types.d.ts +19 -0
  258. package/lib/types/groups.types.d.ts.map +1 -0
  259. package/lib/types/groups.types.js +6 -0
  260. package/lib/types/index.d.ts +12 -0
  261. package/lib/types/index.d.ts.map +1 -0
  262. package/lib/types/index.js +12 -0
  263. package/lib/types/subscriptions.types.d.ts +32 -0
  264. package/lib/types/subscriptions.types.d.ts.map +1 -0
  265. package/lib/types/subscriptions.types.js +6 -0
  266. package/lib/types/videos.types.d.ts +61 -0
  267. package/lib/types/videos.types.d.ts.map +1 -0
  268. package/lib/types/videos.types.js +6 -0
  269. package/lib/utils/MetropolisProvider.d.ts +58 -0
  270. package/lib/utils/MetropolisProvider.d.ts.map +1 -0
  271. package/lib/utils/MetropolisProvider.js +31 -0
  272. package/lib/utils/actionFactory.d.ts +24 -0
  273. package/lib/utils/actionFactory.d.ts.map +1 -0
  274. package/lib/utils/actionFactory.js +95 -0
  275. package/lib/utils/api.d.ts +44 -0
  276. package/lib/utils/api.d.ts.map +1 -0
  277. package/lib/utils/api.js +253 -0
  278. package/lib/utils/app.d.ts +7 -0
  279. package/lib/utils/app.d.ts.map +1 -0
  280. package/lib/utils/app.js +15 -0
  281. package/lib/utils/baseActionFactory.d.ts +16 -0
  282. package/lib/utils/baseActionFactory.d.ts.map +1 -0
  283. package/lib/utils/baseActionFactory.js +72 -0
  284. package/lib/utils/configUtils.d.ts +11 -0
  285. package/lib/utils/configUtils.d.ts.map +1 -0
  286. package/lib/utils/configUtils.js +20 -0
  287. package/lib/utils/dateUtils.d.ts +3 -0
  288. package/lib/utils/dateUtils.d.ts.map +1 -0
  289. package/lib/utils/dateUtils.js +11 -0
  290. package/lib/utils/file.d.ts +3 -0
  291. package/lib/utils/file.d.ts.map +1 -0
  292. package/lib/utils/file.js +156 -0
  293. package/lib/utils/i18n.d.ts +7 -0
  294. package/lib/utils/i18n.d.ts.map +1 -0
  295. package/lib/utils/i18n.js +96 -0
  296. package/lib/utils/index.d.ts +20 -0
  297. package/lib/utils/index.d.ts.map +1 -0
  298. package/lib/utils/index.js +26 -0
  299. package/lib/utils/location.d.ts +10 -0
  300. package/lib/utils/location.d.ts.map +1 -0
  301. package/lib/utils/location.js +82 -0
  302. package/lib/utils/permissionUtils.d.ts +22 -0
  303. package/lib/utils/permissionUtils.d.ts.map +1 -0
  304. package/lib/utils/permissionUtils.js +72 -0
  305. package/lib/utils/requestCache.d.ts +8 -0
  306. package/lib/utils/requestCache.d.ts.map +1 -0
  307. package/lib/utils/requestCache.js +53 -0
  308. package/lib/utils/session.d.ts +14 -0
  309. package/lib/utils/session.d.ts.map +1 -0
  310. package/lib/utils/session.js +107 -0
  311. package/lib/utils/useConversationTyping.d.ts +26 -0
  312. package/lib/utils/useConversationTyping.d.ts.map +1 -0
  313. package/lib/utils/useConversationTyping.js +117 -0
  314. package/lib/utils/useMetropolis.d.ts +67 -0
  315. package/lib/utils/useMetropolis.d.ts.map +1 -0
  316. package/lib/utils/useMetropolis.js +311 -0
  317. package/lib/utils/useTranslations.d.ts +16 -0
  318. package/lib/utils/useTranslations.d.ts.map +1 -0
  319. package/lib/utils/useTranslations.js +105 -0
  320. package/lib/utils/validatorFactory.d.ts +49 -0
  321. package/lib/utils/validatorFactory.d.ts.map +1 -0
  322. package/lib/utils/validatorFactory.js +95 -0
  323. package/package.json +75 -28
  324. package/temp_signin.ts +73 -0
  325. package/tsconfig.lint.json +25 -0
  326. package/tsconfig.test.json +14 -0
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ import type { PostType } from '../adapters/postAdapter/postAdapter.js';
6
+ export declare const POST_CONSTANTS: {
7
+ readonly ADD_ITEM_ERROR: "POST_ADD_ITEM_ERROR";
8
+ readonly ADD_ITEM_SUCCESS: "POST_ADD_ITEM_SUCCESS";
9
+ readonly GET_ITEM_ERROR: "POST_GET_ITEM_ERROR";
10
+ readonly GET_ITEM_SUCCESS: "POST_GET_ITEM_SUCCESS";
11
+ readonly GET_LIST_ERROR: "POST_GET_LIST_ERROR";
12
+ readonly GET_LIST_SUCCESS: "POST_GET_LIST_SUCCESS";
13
+ readonly REMOVE_ITEM_ERROR: "POST_REMOVE_ITEM_ERROR";
14
+ readonly REMOVE_ITEM_SUCCESS: "POST_REMOVE_ITEM_SUCCESS";
15
+ readonly UPDATE_ITEM_ERROR: "POST_UPDATE_ITEM_ERROR";
16
+ readonly UPDATE_ITEM_SUCCESS: "POST_UPDATE_ITEM_SUCCESS";
17
+ };
18
+ interface PostState {
19
+ lists: Record<string, PostType[]>;
20
+ viewed: Record<string, PostType>;
21
+ }
22
+ export declare const defaultValues: PostState;
23
+ export declare const postStore: (type: string, data: {
24
+ post?: PostType;
25
+ }, state?: PostState) => PostState;
26
+ export declare const posts: {
27
+ action: (type: string, data: {
28
+ post?: PostType;
29
+ }, state?: PostState) => PostState;
30
+ initialState: PostState;
31
+ name: string;
32
+ };
33
+ export {};
34
+ //# sourceMappingURL=postStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postStore.d.ts","sourceRoot":"","sources":["../../src/stores/postStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,wCAAwC,CAAC;AAErE,eAAO,MAAM,cAAc;;;;;;;;;;;CAWjB,CAAC;AAEX,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,aAAa,EAAE,SAG3B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,EAAE,MAAM;IAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAC,EAAE,iBAAqB,KAAG,SAgBxF,CAAC;AAEF,eAAO,MAAM,KAAK;mBAlBc,MAAM,QAAQ;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAC,wBAA0B,SAAS;;;CAsBjG,CAAC"}
@@ -0,0 +1,53 @@
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 POST_CONSTANTS = {
5
+ ADD_ITEM_ERROR: 'POST_ADD_ITEM_ERROR',
6
+ ADD_ITEM_SUCCESS: 'POST_ADD_ITEM_SUCCESS',
7
+ GET_ITEM_ERROR: 'POST_GET_ITEM_ERROR',
8
+ GET_ITEM_SUCCESS: 'POST_GET_ITEM_SUCCESS',
9
+ GET_LIST_ERROR: 'POST_GET_LIST_ERROR',
10
+ GET_LIST_SUCCESS: 'POST_GET_LIST_SUCCESS',
11
+ REMOVE_ITEM_ERROR: 'POST_REMOVE_ITEM_ERROR',
12
+ REMOVE_ITEM_SUCCESS: 'POST_REMOVE_ITEM_SUCCESS',
13
+ UPDATE_ITEM_ERROR: 'POST_UPDATE_ITEM_ERROR',
14
+ UPDATE_ITEM_SUCCESS: 'POST_UPDATE_ITEM_SUCCESS'
15
+ };
16
+ export const defaultValues = {
17
+ lists: {},
18
+ viewed: {}
19
+ };
20
+ export const postStore = (type, data, state = defaultValues)=>{
21
+ switch(type){
22
+ case POST_CONSTANTS.GET_ITEM_SUCCESS:
23
+ {
24
+ const { post } = data;
25
+ if (post && post.postId) {
26
+ const postWithCache = {
27
+ ...post,
28
+ cached: Date.now()
29
+ };
30
+ const viewed = {
31
+ ...state.viewed
32
+ };
33
+ viewed[post.postId] = postWithCache;
34
+ return {
35
+ ...state,
36
+ viewed
37
+ };
38
+ }
39
+ return state;
40
+ }
41
+ default:
42
+ {
43
+ return state;
44
+ }
45
+ }
46
+ };
47
+ export const posts = {
48
+ action: postStore,
49
+ initialState: defaultValues,
50
+ name: 'post'
51
+ };
52
+
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3Bvc3RTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHR5cGUge1Bvc3RUeXBlfSBmcm9tICcuLi9hZGFwdGVycy9wb3N0QWRhcHRlci9wb3N0QWRhcHRlci5qcyc7XG5cbmV4cG9ydCBjb25zdCBQT1NUX0NPTlNUQU5UUyA9IHtcbiAgQUREX0lURU1fRVJST1I6ICdQT1NUX0FERF9JVEVNX0VSUk9SJyxcbiAgQUREX0lURU1fU1VDQ0VTUzogJ1BPU1RfQUREX0lURU1fU1VDQ0VTUycsXG4gIEdFVF9JVEVNX0VSUk9SOiAnUE9TVF9HRVRfSVRFTV9FUlJPUicsXG4gIEdFVF9JVEVNX1NVQ0NFU1M6ICdQT1NUX0dFVF9JVEVNX1NVQ0NFU1MnLFxuICBHRVRfTElTVF9FUlJPUjogJ1BPU1RfR0VUX0xJU1RfRVJST1InLFxuICBHRVRfTElTVF9TVUNDRVNTOiAnUE9TVF9HRVRfTElTVF9TVUNDRVNTJyxcbiAgUkVNT1ZFX0lURU1fRVJST1I6ICdQT1NUX1JFTU9WRV9JVEVNX0VSUk9SJyxcbiAgUkVNT1ZFX0lURU1fU1VDQ0VTUzogJ1BPU1RfUkVNT1ZFX0lURU1fU1VDQ0VTUycsXG4gIFVQREFURV9JVEVNX0VSUk9SOiAnUE9TVF9VUERBVEVfSVRFTV9FUlJPUicsXG4gIFVQREFURV9JVEVNX1NVQ0NFU1M6ICdQT1NUX1VQREFURV9JVEVNX1NVQ0NFU1MnXG59IGFzIGNvbnN0O1xuXG5pbnRlcmZhY2UgUG9zdFN0YXRlIHtcbiAgbGlzdHM6IFJlY29yZDxzdHJpbmcsIFBvc3RUeXBlW10+O1xuICB2aWV3ZWQ6IFJlY29yZDxzdHJpbmcsIFBvc3RUeXBlPjtcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRWYWx1ZXM6IFBvc3RTdGF0ZSA9IHtcbiAgbGlzdHM6IHt9LFxuICB2aWV3ZWQ6IHt9XG59O1xuXG5leHBvcnQgY29uc3QgcG9zdFN0b3JlID0gKHR5cGU6IHN0cmluZywgZGF0YToge3Bvc3Q/OiBQb3N0VHlwZX0sIHN0YXRlID0gZGVmYXVsdFZhbHVlcyk6IFBvc3RTdGF0ZSA9PiB7XG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSBQT1NUX0NPTlNUQU5UUy5HRVRfSVRFTV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7cG9zdH0gPSBkYXRhO1xuICAgICAgaWYocG9zdCAmJiBwb3N0LnBvc3RJZCkge1xuICAgICAgICBjb25zdCBwb3N0V2l0aENhY2hlOiBQb3N0VHlwZSA9IHsuLi5wb3N0LCBjYWNoZWQ6IERhdGUubm93KCl9O1xuICAgICAgICBjb25zdCB2aWV3ZWQgPSB7Li4uc3RhdGUudmlld2VkfTtcbiAgICAgICAgdmlld2VkW3Bvc3QucG9zdElkXSA9IHBvc3RXaXRoQ2FjaGU7XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIHZpZXdlZH07XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwb3N0cyA9IHtcbiAgYWN0aW9uOiBwb3N0U3RvcmUsXG4gIGluaXRpYWxTdGF0ZTogZGVmYXVsdFZhbHVlcyxcbiAgbmFtZTogJ3Bvc3QnXG59O1xuIl0sIm5hbWVzIjpbIlBPU1RfQ09OU1RBTlRTIiwiQUREX0lURU1fRVJST1IiLCJBRERfSVRFTV9TVUNDRVNTIiwiR0VUX0lURU1fRVJST1IiLCJHRVRfSVRFTV9TVUNDRVNTIiwiR0VUX0xJU1RfRVJST1IiLCJHRVRfTElTVF9TVUNDRVNTIiwiUkVNT1ZFX0lURU1fRVJST1IiLCJSRU1PVkVfSVRFTV9TVUNDRVNTIiwiVVBEQVRFX0lURU1fRVJST1IiLCJVUERBVEVfSVRFTV9TVUNDRVNTIiwiZGVmYXVsdFZhbHVlcyIsImxpc3RzIiwidmlld2VkIiwicG9zdFN0b3JlIiwidHlwZSIsImRhdGEiLCJzdGF0ZSIsInBvc3QiLCJwb3N0SWQiLCJwb3N0V2l0aENhY2hlIiwiY2FjaGVkIiwiRGF0ZSIsIm5vdyIsInBvc3RzIiwiYWN0aW9uIiwiaW5pdGlhbFN0YXRlIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBR0QsT0FBTyxNQUFNQSxpQkFBaUI7SUFDNUJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0lBQ3JCQyxtQkFBbUI7SUFDbkJDLHFCQUFxQjtBQUN2QixFQUFXO0FBT1gsT0FBTyxNQUFNQyxnQkFBMkI7SUFDdENDLE9BQU8sQ0FBQztJQUNSQyxRQUFRLENBQUM7QUFDWCxFQUFFO0FBRUYsT0FBTyxNQUFNQyxZQUFZLENBQUNDLE1BQWNDLE1BQXlCQyxRQUFRTixhQUFhO0lBQ3BGLE9BQU9JO1FBQ0wsS0FBS2YsZUFBZUksZ0JBQWdCO1lBQUU7Z0JBQ3BDLE1BQU0sRUFBQ2MsSUFBSSxFQUFDLEdBQUdGO2dCQUNmLElBQUdFLFFBQVFBLEtBQUtDLE1BQU0sRUFBRTtvQkFDdEIsTUFBTUMsZ0JBQTBCO3dCQUFDLEdBQUdGLElBQUk7d0JBQUVHLFFBQVFDLEtBQUtDLEdBQUc7b0JBQUU7b0JBQzVELE1BQU1WLFNBQVM7d0JBQUMsR0FBR0ksTUFBTUosTUFBTTtvQkFBQTtvQkFDL0JBLE1BQU0sQ0FBQ0ssS0FBS0MsTUFBTSxDQUFDLEdBQUdDO29CQUN0QixPQUFPO3dCQUFDLEdBQUdILEtBQUs7d0JBQUVKO29CQUFNO2dCQUMxQjtnQkFDQSxPQUFPSTtZQUNUO1FBQ0E7WUFBUztnQkFDUCxPQUFPQTtZQUNUO0lBQ0Y7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNTyxRQUFRO0lBQ25CQyxRQUFRWDtJQUNSWSxjQUFjZjtJQUNkZ0IsTUFBTTtBQUNSLEVBQUUifQ==
@@ -0,0 +1,25 @@
1
+ export declare const REACTION_CONSTANTS: {
2
+ readonly ADD_ITEM_ERROR: "REACTION_ADD_ITEM_ERROR";
3
+ readonly ADD_ITEM_SUCCESS: "REACTION_ADD_ITEM_SUCCESS";
4
+ readonly GET_COUNT_ERROR: "REACTION_GET_COUNT_ERROR";
5
+ readonly GET_COUNT_SUCCESS: "REACTION_GET_COUNT_SUCCESS";
6
+ readonly HAS_ERROR: "REACTION_HAS_ERROR";
7
+ readonly HAS_SUCCESS: "REACTION_HAS_SUCCESS";
8
+ readonly REMOVE_ITEM_ERROR: "REACTION_REMOVE_ITEM_ERROR";
9
+ readonly REMOVE_ITEM_SUCCESS: "REACTION_REMOVE_ITEM_SUCCESS";
10
+ };
11
+ interface ReactionState {
12
+ reactions?: Record<string, {
13
+ count?: number;
14
+ hasReaction?: boolean;
15
+ }>;
16
+ }
17
+ export declare const defaultValues: ReactionState;
18
+ export declare const reactionStore: (type: string, data: Partial<ReactionState>, state?: ReactionState) => ReactionState;
19
+ export declare const reactions: {
20
+ action: (type: string, data: Partial<ReactionState>, state?: ReactionState) => ReactionState;
21
+ initialState: ReactionState;
22
+ name: string;
23
+ };
24
+ export {};
25
+ //# sourceMappingURL=reactionStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactionStore.d.ts","sourceRoot":"","sources":["../../src/stores/reactionStore.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;CASrB,CAAC;AAEX,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,aAAa,EAAE,aAE3B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,qBAAqB,KAAG,aAMjG,CAAC;AAEF,eAAO,MAAM,SAAS;mBARc,MAAM,QAAQ,OAAO,CAAC,aAAa,CAAC,4BAA0B,aAAa;;;CAY9G,CAAC"}
@@ -0,0 +1,28 @@
1
+ export const REACTION_CONSTANTS = {
2
+ ADD_ITEM_ERROR: 'REACTION_ADD_ITEM_ERROR',
3
+ ADD_ITEM_SUCCESS: 'REACTION_ADD_ITEM_SUCCESS',
4
+ GET_COUNT_ERROR: 'REACTION_GET_COUNT_ERROR',
5
+ GET_COUNT_SUCCESS: 'REACTION_GET_COUNT_SUCCESS',
6
+ HAS_ERROR: 'REACTION_HAS_ERROR',
7
+ HAS_SUCCESS: 'REACTION_HAS_SUCCESS',
8
+ REMOVE_ITEM_ERROR: 'REACTION_REMOVE_ITEM_ERROR',
9
+ REMOVE_ITEM_SUCCESS: 'REACTION_REMOVE_ITEM_SUCCESS'
10
+ };
11
+ export const defaultValues = {
12
+ reactions: {}
13
+ };
14
+ export const reactionStore = (type, data, state = defaultValues)=>{
15
+ switch(type){
16
+ default:
17
+ {
18
+ return state;
19
+ }
20
+ }
21
+ };
22
+ export const reactions = {
23
+ action: reactionStore,
24
+ initialState: defaultValues,
25
+ name: 'reaction'
26
+ };
27
+
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3JlYWN0aW9uU3RvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFJFQUNUSU9OX0NPTlNUQU5UUyA9IHtcbiAgQUREX0lURU1fRVJST1I6ICdSRUFDVElPTl9BRERfSVRFTV9FUlJPUicsXG4gIEFERF9JVEVNX1NVQ0NFU1M6ICdSRUFDVElPTl9BRERfSVRFTV9TVUNDRVNTJyxcbiAgR0VUX0NPVU5UX0VSUk9SOiAnUkVBQ1RJT05fR0VUX0NPVU5UX0VSUk9SJyxcbiAgR0VUX0NPVU5UX1NVQ0NFU1M6ICdSRUFDVElPTl9HRVRfQ09VTlRfU1VDQ0VTUycsXG4gIEhBU19FUlJPUjogJ1JFQUNUSU9OX0hBU19FUlJPUicsXG4gIEhBU19TVUNDRVNTOiAnUkVBQ1RJT05fSEFTX1NVQ0NFU1MnLFxuICBSRU1PVkVfSVRFTV9FUlJPUjogJ1JFQUNUSU9OX1JFTU9WRV9JVEVNX0VSUk9SJyxcbiAgUkVNT1ZFX0lURU1fU1VDQ0VTUzogJ1JFQUNUSU9OX1JFTU9WRV9JVEVNX1NVQ0NFU1MnXG59IGFzIGNvbnN0O1xuXG5pbnRlcmZhY2UgUmVhY3Rpb25TdGF0ZSB7XG4gIHJlYWN0aW9ucz86IFJlY29yZDxzdHJpbmcsIHtcbiAgICBjb3VudD86IG51bWJlcjtcbiAgICBoYXNSZWFjdGlvbj86IGJvb2xlYW47XG4gIH0+O1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdFZhbHVlczogUmVhY3Rpb25TdGF0ZSA9IHtcbiAgcmVhY3Rpb25zOiB7fVxufTtcblxuZXhwb3J0IGNvbnN0IHJlYWN0aW9uU3RvcmUgPSAodHlwZTogc3RyaW5nLCBkYXRhOiBQYXJ0aWFsPFJlYWN0aW9uU3RhdGU+LCBzdGF0ZSA9IGRlZmF1bHRWYWx1ZXMpOiBSZWFjdGlvblN0YXRlID0+IHtcbiAgc3dpdGNoKHR5cGUpIHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcmVhY3Rpb25zID0ge1xuICBhY3Rpb246IHJlYWN0aW9uU3RvcmUsXG4gIGluaXRpYWxTdGF0ZTogZGVmYXVsdFZhbHVlcyxcbiAgbmFtZTogJ3JlYWN0aW9uJ1xufTsiXSwibmFtZXMiOlsiUkVBQ1RJT05fQ09OU1RBTlRTIiwiQUREX0lURU1fRVJST1IiLCJBRERfSVRFTV9TVUNDRVNTIiwiR0VUX0NPVU5UX0VSUk9SIiwiR0VUX0NPVU5UX1NVQ0NFU1MiLCJIQVNfRVJST1IiLCJIQVNfU1VDQ0VTUyIsIlJFTU9WRV9JVEVNX0VSUk9SIiwiUkVNT1ZFX0lURU1fU1VDQ0VTUyIsImRlZmF1bHRWYWx1ZXMiLCJyZWFjdGlvbnMiLCJyZWFjdGlvblN0b3JlIiwidHlwZSIsImRhdGEiLCJzdGF0ZSIsImFjdGlvbiIsImluaXRpYWxTdGF0ZSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTUEscUJBQXFCO0lBQ2hDQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsaUJBQWlCO0lBQ2pCQyxtQkFBbUI7SUFDbkJDLFdBQVc7SUFDWEMsYUFBYTtJQUNiQyxtQkFBbUI7SUFDbkJDLHFCQUFxQjtBQUN2QixFQUFXO0FBU1gsT0FBTyxNQUFNQyxnQkFBK0I7SUFDMUNDLFdBQVcsQ0FBQztBQUNkLEVBQUU7QUFFRixPQUFPLE1BQU1DLGdCQUFnQixDQUFDQyxNQUFjQyxNQUE4QkMsUUFBUUwsYUFBYTtJQUM3RixPQUFPRztRQUNMO1lBQVM7Z0JBQ1AsT0FBT0U7WUFDVDtJQUNGO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTUosWUFBWTtJQUN2QkssUUFBUUo7SUFDUkssY0FBY1A7SUFDZFEsTUFBTTtBQUNSLEVBQUUifQ==
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Copyright (c) 2026-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ import type { PaymentPlanType, PaymentSubscriptionType } from '../types/subscriptions.types.js';
6
+ export declare const SUBSCRIPTION_CONSTANTS: {
7
+ readonly ADD_PLAN_ERROR: "SUBSCRIPTION_ADD_PLAN_ERROR";
8
+ readonly ADD_PLAN_SUCCESS: "SUBSCRIPTION_ADD_PLAN_SUCCESS";
9
+ readonly ADD_SUBSCRIPTION_ERROR: "SUBSCRIPTION_ADD_SUBSCRIPTION_ERROR";
10
+ readonly ADD_SUBSCRIPTION_SUCCESS: "SUBSCRIPTION_ADD_SUBSCRIPTION_SUCCESS";
11
+ readonly DELETE_SUBSCRIPTION_ERROR: "SUBSCRIPTION_DELETE_SUBSCRIPTION_ERROR";
12
+ readonly DELETE_SUBSCRIPTION_SUCCESS: "SUBSCRIPTION_DELETE_SUBSCRIPTION_SUCCESS";
13
+ readonly GET_PLAN_ERROR: "SUBSCRIPTION_GET_PLAN_ERROR";
14
+ readonly GET_PLAN_SUCCESS: "SUBSCRIPTION_GET_PLAN_SUCCESS";
15
+ readonly GET_SUBSCRIPTION_ERROR: "SUBSCRIPTION_GET_SUBSCRIPTION_ERROR";
16
+ readonly GET_SUBSCRIPTION_LIST_ERROR: "SUBSCRIPTION_GET_SUBSCRIPTION_LIST_ERROR";
17
+ readonly GET_SUBSCRIPTION_LIST_SUCCESS: "SUBSCRIPTION_GET_SUBSCRIPTION_LIST_SUCCESS";
18
+ readonly GET_SUBSCRIPTION_SUCCESS: "SUBSCRIPTION_GET_SUBSCRIPTION_SUCCESS";
19
+ };
20
+ export interface SubscriptionState {
21
+ readonly error?: Error;
22
+ readonly plansByItem: Record<string, PaymentPlanType>;
23
+ readonly subscriptionList: PaymentSubscriptionType[];
24
+ readonly subscriptionsByItem: Record<string, PaymentSubscriptionType>;
25
+ }
26
+ export declare const initialSubscriptionState: SubscriptionState;
27
+ type SubscriptionStoreAction = {
28
+ readonly error?: Error;
29
+ readonly itemKey?: string;
30
+ readonly list?: PaymentSubscriptionType[];
31
+ readonly plan?: PaymentPlanType;
32
+ readonly subscription?: PaymentSubscriptionType;
33
+ };
34
+ export declare const subscriptionStore: (type: string, data: SubscriptionStoreAction, state?: SubscriptionState) => SubscriptionState;
35
+ export declare const subscriptions: {
36
+ action: (type: string, data: SubscriptionStoreAction, state?: SubscriptionState) => SubscriptionState;
37
+ initialState: SubscriptionState;
38
+ name: string;
39
+ };
40
+ export {};
41
+ //# sourceMappingURL=subscriptionStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptionStore.d.ts","sourceRoot":"","sources":["../../src/stores/subscriptionStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAC,eAAe,EAAE,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AAE9F,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;CAazB,CAAC;AAEX,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IACrD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,wBAAwB,EAAE,iBAKtC,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,MAAM,uBAAuB,EAC7B,yBAAgC,KAC/B,iBA8CF,CAAC;AAEF,eAAO,MAAM,aAAa;mBAnDlB,MAAM,QACN,uBAAuB,gCAE5B,iBAAiB;;;CAoDnB,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Copyright (c) 2026-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ export const SUBSCRIPTION_CONSTANTS = {
5
+ ADD_PLAN_ERROR: 'SUBSCRIPTION_ADD_PLAN_ERROR',
6
+ ADD_PLAN_SUCCESS: 'SUBSCRIPTION_ADD_PLAN_SUCCESS',
7
+ ADD_SUBSCRIPTION_ERROR: 'SUBSCRIPTION_ADD_SUBSCRIPTION_ERROR',
8
+ ADD_SUBSCRIPTION_SUCCESS: 'SUBSCRIPTION_ADD_SUBSCRIPTION_SUCCESS',
9
+ DELETE_SUBSCRIPTION_ERROR: 'SUBSCRIPTION_DELETE_SUBSCRIPTION_ERROR',
10
+ DELETE_SUBSCRIPTION_SUCCESS: 'SUBSCRIPTION_DELETE_SUBSCRIPTION_SUCCESS',
11
+ GET_PLAN_ERROR: 'SUBSCRIPTION_GET_PLAN_ERROR',
12
+ GET_PLAN_SUCCESS: 'SUBSCRIPTION_GET_PLAN_SUCCESS',
13
+ GET_SUBSCRIPTION_ERROR: 'SUBSCRIPTION_GET_SUBSCRIPTION_ERROR',
14
+ GET_SUBSCRIPTION_LIST_ERROR: 'SUBSCRIPTION_GET_SUBSCRIPTION_LIST_ERROR',
15
+ GET_SUBSCRIPTION_LIST_SUCCESS: 'SUBSCRIPTION_GET_SUBSCRIPTION_LIST_SUCCESS',
16
+ GET_SUBSCRIPTION_SUCCESS: 'SUBSCRIPTION_GET_SUBSCRIPTION_SUCCESS'
17
+ };
18
+ export const initialSubscriptionState = {
19
+ error: undefined,
20
+ plansByItem: {},
21
+ subscriptionList: [],
22
+ subscriptionsByItem: {}
23
+ };
24
+ export const subscriptionStore = (type, data, state = initialSubscriptionState)=>{
25
+ const { error, itemKey = '', plan, subscription } = data;
26
+ switch(type){
27
+ case SUBSCRIPTION_CONSTANTS.ADD_PLAN_SUCCESS:
28
+ case SUBSCRIPTION_CONSTANTS.GET_PLAN_SUCCESS:
29
+ return itemKey ? {
30
+ ...state,
31
+ error: undefined,
32
+ plansByItem: {
33
+ ...state.plansByItem,
34
+ [itemKey]: plan || {}
35
+ }
36
+ } : state;
37
+ case SUBSCRIPTION_CONSTANTS.ADD_SUBSCRIPTION_SUCCESS:
38
+ case SUBSCRIPTION_CONSTANTS.GET_SUBSCRIPTION_SUCCESS:
39
+ return itemKey ? {
40
+ ...state,
41
+ error: undefined,
42
+ subscriptionsByItem: {
43
+ ...state.subscriptionsByItem,
44
+ [itemKey]: subscription || {}
45
+ }
46
+ } : state;
47
+ case SUBSCRIPTION_CONSTANTS.GET_SUBSCRIPTION_LIST_SUCCESS:
48
+ return {
49
+ ...state,
50
+ error: undefined,
51
+ subscriptionList: data.list || []
52
+ };
53
+ case SUBSCRIPTION_CONSTANTS.DELETE_SUBSCRIPTION_SUCCESS:
54
+ if (!itemKey) {
55
+ return state;
56
+ }
57
+ return {
58
+ ...state,
59
+ error: undefined,
60
+ subscriptionsByItem: {
61
+ ...state.subscriptionsByItem,
62
+ [itemKey]: {}
63
+ }
64
+ };
65
+ case SUBSCRIPTION_CONSTANTS.ADD_PLAN_ERROR:
66
+ case SUBSCRIPTION_CONSTANTS.ADD_SUBSCRIPTION_ERROR:
67
+ case SUBSCRIPTION_CONSTANTS.DELETE_SUBSCRIPTION_ERROR:
68
+ case SUBSCRIPTION_CONSTANTS.GET_PLAN_ERROR:
69
+ case SUBSCRIPTION_CONSTANTS.GET_SUBSCRIPTION_ERROR:
70
+ case SUBSCRIPTION_CONSTANTS.GET_SUBSCRIPTION_LIST_ERROR:
71
+ return {
72
+ ...state,
73
+ error
74
+ };
75
+ default:
76
+ return state;
77
+ }
78
+ };
79
+ export const subscriptions = {
80
+ action: subscriptionStore,
81
+ initialState: initialSubscriptionState,
82
+ name: 'subscription'
83
+ };
84
+
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3N1YnNjcmlwdGlvblN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI2LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgdHlwZSB7UGF5bWVudFBsYW5UeXBlLCBQYXltZW50U3Vic2NyaXB0aW9uVHlwZX0gZnJvbSAnLi4vdHlwZXMvc3Vic2NyaXB0aW9ucy50eXBlcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTID0ge1xuICBBRERfUExBTl9FUlJPUjogJ1NVQlNDUklQVElPTl9BRERfUExBTl9FUlJPUicsXG4gIEFERF9QTEFOX1NVQ0NFU1M6ICdTVUJTQ1JJUFRJT05fQUREX1BMQU5fU1VDQ0VTUycsXG4gIEFERF9TVUJTQ1JJUFRJT05fRVJST1I6ICdTVUJTQ1JJUFRJT05fQUREX1NVQlNDUklQVElPTl9FUlJPUicsXG4gIEFERF9TVUJTQ1JJUFRJT05fU1VDQ0VTUzogJ1NVQlNDUklQVElPTl9BRERfU1VCU0NSSVBUSU9OX1NVQ0NFU1MnLFxuICBERUxFVEVfU1VCU0NSSVBUSU9OX0VSUk9SOiAnU1VCU0NSSVBUSU9OX0RFTEVURV9TVUJTQ1JJUFRJT05fRVJST1InLFxuICBERUxFVEVfU1VCU0NSSVBUSU9OX1NVQ0NFU1M6ICdTVUJTQ1JJUFRJT05fREVMRVRFX1NVQlNDUklQVElPTl9TVUNDRVNTJyxcbiAgR0VUX1BMQU5fRVJST1I6ICdTVUJTQ1JJUFRJT05fR0VUX1BMQU5fRVJST1InLFxuICBHRVRfUExBTl9TVUNDRVNTOiAnU1VCU0NSSVBUSU9OX0dFVF9QTEFOX1NVQ0NFU1MnLFxuICBHRVRfU1VCU0NSSVBUSU9OX0VSUk9SOiAnU1VCU0NSSVBUSU9OX0dFVF9TVUJTQ1JJUFRJT05fRVJST1InLFxuICBHRVRfU1VCU0NSSVBUSU9OX0xJU1RfRVJST1I6ICdTVUJTQ1JJUFRJT05fR0VUX1NVQlNDUklQVElPTl9MSVNUX0VSUk9SJyxcbiAgR0VUX1NVQlNDUklQVElPTl9MSVNUX1NVQ0NFU1M6ICdTVUJTQ1JJUFRJT05fR0VUX1NVQlNDUklQVElPTl9MSVNUX1NVQ0NFU1MnLFxuICBHRVRfU1VCU0NSSVBUSU9OX1NVQ0NFU1M6ICdTVUJTQ1JJUFRJT05fR0VUX1NVQlNDUklQVElPTl9TVUNDRVNTJ1xufSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBTdWJzY3JpcHRpb25TdGF0ZSB7XG4gIHJlYWRvbmx5IGVycm9yPzogRXJyb3I7XG4gIHJlYWRvbmx5IHBsYW5zQnlJdGVtOiBSZWNvcmQ8c3RyaW5nLCBQYXltZW50UGxhblR5cGU+O1xuICByZWFkb25seSBzdWJzY3JpcHRpb25MaXN0OiBQYXltZW50U3Vic2NyaXB0aW9uVHlwZVtdO1xuICByZWFkb25seSBzdWJzY3JpcHRpb25zQnlJdGVtOiBSZWNvcmQ8c3RyaW5nLCBQYXltZW50U3Vic2NyaXB0aW9uVHlwZT47XG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsU3Vic2NyaXB0aW9uU3RhdGU6IFN1YnNjcmlwdGlvblN0YXRlID0ge1xuICBlcnJvcjogdW5kZWZpbmVkLFxuICBwbGFuc0J5SXRlbToge30sXG4gIHN1YnNjcmlwdGlvbkxpc3Q6IFtdLFxuICBzdWJzY3JpcHRpb25zQnlJdGVtOiB7fVxufTtcblxudHlwZSBTdWJzY3JpcHRpb25TdG9yZUFjdGlvbiA9IHtcbiAgcmVhZG9ubHkgZXJyb3I/OiBFcnJvcjtcbiAgcmVhZG9ubHkgaXRlbUtleT86IHN0cmluZztcbiAgcmVhZG9ubHkgbGlzdD86IFBheW1lbnRTdWJzY3JpcHRpb25UeXBlW107XG4gIHJlYWRvbmx5IHBsYW4/OiBQYXltZW50UGxhblR5cGU7XG4gIHJlYWRvbmx5IHN1YnNjcmlwdGlvbj86IFBheW1lbnRTdWJzY3JpcHRpb25UeXBlO1xufTtcblxuZXhwb3J0IGNvbnN0IHN1YnNjcmlwdGlvblN0b3JlID0gKFxuICB0eXBlOiBzdHJpbmcsXG4gIGRhdGE6IFN1YnNjcmlwdGlvblN0b3JlQWN0aW9uLFxuICBzdGF0ZSA9IGluaXRpYWxTdWJzY3JpcHRpb25TdGF0ZVxuKTogU3Vic2NyaXB0aW9uU3RhdGUgPT4ge1xuICBjb25zdCB7XG4gICAgZXJyb3IsXG4gICAgaXRlbUtleSA9ICcnLFxuICAgIHBsYW4sXG4gICAgc3Vic2NyaXB0aW9uXG4gIH0gPSBkYXRhO1xuXG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkFERF9QTEFOX1NVQ0NFU1M6XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkdFVF9QTEFOX1NVQ0NFU1M6XG4gICAgICByZXR1cm4gaXRlbUtleVxuICAgICAgICA/IHsuLi5zdGF0ZSwgZXJyb3I6IHVuZGVmaW5lZCwgcGxhbnNCeUl0ZW06IHsuLi5zdGF0ZS5wbGFuc0J5SXRlbSwgW2l0ZW1LZXldOiBwbGFuIHx8IHt9fX1cbiAgICAgICAgOiBzdGF0ZTtcblxuICAgIGNhc2UgU1VCU0NSSVBUSU9OX0NPTlNUQU5UUy5BRERfU1VCU0NSSVBUSU9OX1NVQ0NFU1M6XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkdFVF9TVUJTQ1JJUFRJT05fU1VDQ0VTUzpcbiAgICAgIHJldHVybiBpdGVtS2V5XG4gICAgICAgID8gey4uLnN0YXRlLCBlcnJvcjogdW5kZWZpbmVkLCBzdWJzY3JpcHRpb25zQnlJdGVtOiB7Li4uc3RhdGUuc3Vic2NyaXB0aW9uc0J5SXRlbSwgW2l0ZW1LZXldOiBzdWJzY3JpcHRpb24gfHwge319fVxuICAgICAgICA6IHN0YXRlO1xuXG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkdFVF9TVUJTQ1JJUFRJT05fTElTVF9TVUNDRVNTOlxuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgZXJyb3I6IHVuZGVmaW5lZCwgc3Vic2NyaXB0aW9uTGlzdDogZGF0YS5saXN0IHx8IFtdfTtcblxuICAgIGNhc2UgU1VCU0NSSVBUSU9OX0NPTlNUQU5UUy5ERUxFVEVfU1VCU0NSSVBUSU9OX1NVQ0NFU1M6XG4gICAgICBpZighaXRlbUtleSkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBlcnJvcjogdW5kZWZpbmVkLFxuICAgICAgICBzdWJzY3JpcHRpb25zQnlJdGVtOiB7Li4uc3RhdGUuc3Vic2NyaXB0aW9uc0J5SXRlbSwgW2l0ZW1LZXldOiB7fX1cbiAgICAgIH07XG5cbiAgICBjYXNlIFNVQlNDUklQVElPTl9DT05TVEFOVFMuQUREX1BMQU5fRVJST1I6XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkFERF9TVUJTQ1JJUFRJT05fRVJST1I6XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkRFTEVURV9TVUJTQ1JJUFRJT05fRVJST1I6XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkdFVF9QTEFOX0VSUk9SOlxuICAgIGNhc2UgU1VCU0NSSVBUSU9OX0NPTlNUQU5UUy5HRVRfU1VCU0NSSVBUSU9OX0VSUk9SOlxuICAgIGNhc2UgU1VCU0NSSVBUSU9OX0NPTlNUQU5UUy5HRVRfU1VCU0NSSVBUSU9OX0xJU1RfRVJST1I6XG4gICAgICByZXR1cm4gey4uLnN0YXRlLCBlcnJvcn07XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHN0YXRlO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IHtcbiAgYWN0aW9uOiBzdWJzY3JpcHRpb25TdG9yZSxcbiAgaW5pdGlhbFN0YXRlOiBpbml0aWFsU3Vic2NyaXB0aW9uU3RhdGUsXG4gIG5hbWU6ICdzdWJzY3JpcHRpb24nXG59O1xuIl0sIm5hbWVzIjpbIlNVQlNDUklQVElPTl9DT05TVEFOVFMiLCJBRERfUExBTl9FUlJPUiIsIkFERF9QTEFOX1NVQ0NFU1MiLCJBRERfU1VCU0NSSVBUSU9OX0VSUk9SIiwiQUREX1NVQlNDUklQVElPTl9TVUNDRVNTIiwiREVMRVRFX1NVQlNDUklQVElPTl9FUlJPUiIsIkRFTEVURV9TVUJTQ1JJUFRJT05fU1VDQ0VTUyIsIkdFVF9QTEFOX0VSUk9SIiwiR0VUX1BMQU5fU1VDQ0VTUyIsIkdFVF9TVUJTQ1JJUFRJT05fRVJST1IiLCJHRVRfU1VCU0NSSVBUSU9OX0xJU1RfRVJST1IiLCJHRVRfU1VCU0NSSVBUSU9OX0xJU1RfU1VDQ0VTUyIsIkdFVF9TVUJTQ1JJUFRJT05fU1VDQ0VTUyIsImluaXRpYWxTdWJzY3JpcHRpb25TdGF0ZSIsImVycm9yIiwidW5kZWZpbmVkIiwicGxhbnNCeUl0ZW0iLCJzdWJzY3JpcHRpb25MaXN0Iiwic3Vic2NyaXB0aW9uc0J5SXRlbSIsInN1YnNjcmlwdGlvblN0b3JlIiwidHlwZSIsImRhdGEiLCJzdGF0ZSIsIml0ZW1LZXkiLCJwbGFuIiwic3Vic2NyaXB0aW9uIiwibGlzdCIsInN1YnNjcmlwdGlvbnMiLCJhY3Rpb24iLCJpbml0aWFsU3RhdGUiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FHRCxPQUFPLE1BQU1BLHlCQUF5QjtJQUNwQ0MsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLHdCQUF3QjtJQUN4QkMsMEJBQTBCO0lBQzFCQywyQkFBMkI7SUFDM0JDLDZCQUE2QjtJQUM3QkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLHdCQUF3QjtJQUN4QkMsNkJBQTZCO0lBQzdCQywrQkFBK0I7SUFDL0JDLDBCQUEwQjtBQUM1QixFQUFXO0FBU1gsT0FBTyxNQUFNQywyQkFBOEM7SUFDekRDLE9BQU9DO0lBQ1BDLGFBQWEsQ0FBQztJQUNkQyxrQkFBa0IsRUFBRTtJQUNwQkMscUJBQXFCLENBQUM7QUFDeEIsRUFBRTtBQVVGLE9BQU8sTUFBTUMsb0JBQW9CLENBQy9CQyxNQUNBQyxNQUNBQyxRQUFRVCx3QkFBd0I7SUFFaEMsTUFBTSxFQUNKQyxLQUFLLEVBQ0xTLFVBQVUsRUFBRSxFQUNaQyxJQUFJLEVBQ0pDLFlBQVksRUFDYixHQUFHSjtJQUVKLE9BQU9EO1FBQ0wsS0FBS3BCLHVCQUF1QkUsZ0JBQWdCO1FBQzVDLEtBQUtGLHVCQUF1QlEsZ0JBQWdCO1lBQzFDLE9BQU9lLFVBQ0g7Z0JBQUMsR0FBR0QsS0FBSztnQkFBRVIsT0FBT0M7Z0JBQVdDLGFBQWE7b0JBQUMsR0FBR00sTUFBTU4sV0FBVztvQkFBRSxDQUFDTyxRQUFRLEVBQUVDLFFBQVEsQ0FBQztnQkFBQztZQUFDLElBQ3ZGRjtRQUVOLEtBQUt0Qix1QkFBdUJJLHdCQUF3QjtRQUNwRCxLQUFLSix1QkFBdUJZLHdCQUF3QjtZQUNsRCxPQUFPVyxVQUNIO2dCQUFDLEdBQUdELEtBQUs7Z0JBQUVSLE9BQU9DO2dCQUFXRyxxQkFBcUI7b0JBQUMsR0FBR0ksTUFBTUosbUJBQW1CO29CQUFFLENBQUNLLFFBQVEsRUFBRUUsZ0JBQWdCLENBQUM7Z0JBQUM7WUFBQyxJQUMvR0g7UUFFTixLQUFLdEIsdUJBQXVCVyw2QkFBNkI7WUFDdkQsT0FBTztnQkFBQyxHQUFHVyxLQUFLO2dCQUFFUixPQUFPQztnQkFBV0Usa0JBQWtCSSxLQUFLSyxJQUFJLElBQUksRUFBRTtZQUFBO1FBRXZFLEtBQUsxQix1QkFBdUJNLDJCQUEyQjtZQUNyRCxJQUFHLENBQUNpQixTQUFTO2dCQUNYLE9BQU9EO1lBQ1Q7WUFFQSxPQUFPO2dCQUNMLEdBQUdBLEtBQUs7Z0JBQ1JSLE9BQU9DO2dCQUNQRyxxQkFBcUI7b0JBQUMsR0FBR0ksTUFBTUosbUJBQW1CO29CQUFFLENBQUNLLFFBQVEsRUFBRSxDQUFDO2dCQUFDO1lBQ25FO1FBRUYsS0FBS3ZCLHVCQUF1QkMsY0FBYztRQUMxQyxLQUFLRCx1QkFBdUJHLHNCQUFzQjtRQUNsRCxLQUFLSCx1QkFBdUJLLHlCQUF5QjtRQUNyRCxLQUFLTCx1QkFBdUJPLGNBQWM7UUFDMUMsS0FBS1AsdUJBQXVCUyxzQkFBc0I7UUFDbEQsS0FBS1QsdUJBQXVCVSwyQkFBMkI7WUFDckQsT0FBTztnQkFBQyxHQUFHWSxLQUFLO2dCQUFFUjtZQUFLO1FBRXpCO1lBQ0UsT0FBT1E7SUFDWDtBQUNGLEVBQUU7QUFFRixPQUFPLE1BQU1LLGdCQUFnQjtJQUMzQkMsUUFBUVQ7SUFDUlUsY0FBY2hCO0lBQ2RpQixNQUFNO0FBQ1IsRUFBRSJ9
@@ -0,0 +1,34 @@
1
+ import type { TagType } from '../adapters/tagAdapter/tagAdapter.js';
2
+ export declare const TAG_CONSTANTS: {
3
+ readonly ADD_LINK_SUCCESS: "TAG_ADD_LINK_SUCCESS";
4
+ readonly ADD_ITEM_ERROR: "TAG_ADD_ITEM_ERROR";
5
+ readonly ADD_ITEM_SUCCESS: "TAG_ADD_ITEM_SUCCESS";
6
+ readonly ADD_PERSONA_ERROR: "TAG_ADD_PERSONA_ERROR";
7
+ readonly ADD_PERSONA_SUCCESS: "TAG_ADD_PERSONA_SUCCESS";
8
+ readonly GET_LIST_ERROR: "TAG_GET_LIST_ERROR";
9
+ readonly GET_LIST_SUCCESS: "TAG_GET_LIST_SUCCESS";
10
+ readonly REMOVE_LINK_SUCCESS: "TAG_REMOVE_LINK_SUCCESS";
11
+ readonly REMOVE_ITEM_ERROR: "TAG_REMOVE_ITEM_ERROR";
12
+ readonly REMOVE_ITEM_SUCCESS: "TAG_REMOVE_ITEM_SUCCESS";
13
+ readonly REMOVE_PERSONA_ERROR: "TAG_REMOVE_PERSONA_ERROR";
14
+ readonly REMOVE_PERSONA_SUCCESS: "TAG_REMOVE_PERSONA_SUCCESS";
15
+ readonly UPDATE_ITEM_ERROR: "TAG_UPDATE_ITEM_ERROR";
16
+ readonly UPDATE_ITEM_SUCCESS: "TAG_UPDATE_ITEM_SUCCESS";
17
+ };
18
+ interface TagState {
19
+ expires: number;
20
+ list: TagType[];
21
+ }
22
+ export declare const defaultValues: TagState;
23
+ export declare const tagStore: (type: string, data: {
24
+ tags?: TagState["list"];
25
+ }, state?: TagState) => TagState;
26
+ export declare const tags: {
27
+ action: (type: string, data: {
28
+ tags?: TagState["list"];
29
+ }, state?: TagState) => TagState;
30
+ initialState: TagState;
31
+ name: string;
32
+ };
33
+ export {};
34
+ //# sourceMappingURL=tagStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagStore.d.ts","sourceRoot":"","sources":["../../src/stores/tagStore.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAEpE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAehB,CAAC;AAEX,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,QAG3B,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,EAAE,MAAM;IAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;CAAC,EAAE,gBAAqB,KAAG,QA6C/F,CAAC;AAEF,eAAO,MAAM,IAAI;mBA/Cc,MAAM,QAAQ;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;KAAC,uBAA0B,QAAQ;;;CAmDvG,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Copyright (c) 2021-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { DateTime } from 'luxon';
5
+ export const TAG_CONSTANTS = {
6
+ ADD_LINK_SUCCESS: 'TAG_ADD_LINK_SUCCESS',
7
+ ADD_ITEM_ERROR: 'TAG_ADD_ITEM_ERROR',
8
+ ADD_ITEM_SUCCESS: 'TAG_ADD_ITEM_SUCCESS',
9
+ ADD_PERSONA_ERROR: 'TAG_ADD_PERSONA_ERROR',
10
+ ADD_PERSONA_SUCCESS: 'TAG_ADD_PERSONA_SUCCESS',
11
+ GET_LIST_ERROR: 'TAG_GET_LIST_ERROR',
12
+ GET_LIST_SUCCESS: 'TAG_GET_LIST_SUCCESS',
13
+ REMOVE_LINK_SUCCESS: 'TAG_REMOVE_LINK_SUCCESS',
14
+ REMOVE_ITEM_ERROR: 'TAG_REMOVE_ITEM_ERROR',
15
+ REMOVE_ITEM_SUCCESS: 'TAG_REMOVE_ITEM_SUCCESS',
16
+ REMOVE_PERSONA_ERROR: 'TAG_REMOVE_PERSONA_ERROR',
17
+ REMOVE_PERSONA_SUCCESS: 'TAG_REMOVE_PERSONA_SUCCESS',
18
+ UPDATE_ITEM_ERROR: 'TAG_UPDATE_ITEM_ERROR',
19
+ UPDATE_ITEM_SUCCESS: 'TAG_UPDATE_ITEM_SUCCESS'
20
+ };
21
+ export const defaultValues = {
22
+ expires: Date.now(),
23
+ list: []
24
+ };
25
+ export const tagStore = (type, data, state = defaultValues)=>{
26
+ switch(type){
27
+ case TAG_CONSTANTS.ADD_ITEM_SUCCESS:
28
+ case TAG_CONSTANTS.UPDATE_ITEM_SUCCESS:
29
+ {
30
+ const { tag } = data;
31
+ const tagId = String(tag?.tagId || '').trim();
32
+ if (!tagId) {
33
+ return state;
34
+ }
35
+ const list = state.list.some((item)=>String(item?.tagId || '').trim() === tagId) ? state.list.map((item)=>String(item?.tagId || '').trim() === tagId ? {
36
+ ...item,
37
+ ...tag
38
+ } : item) : [
39
+ ...state.list,
40
+ tag
41
+ ];
42
+ return {
43
+ ...state,
44
+ list: [
45
+ ...list
46
+ ].sort((left, right)=>String(left?.name || '').localeCompare(String(right?.name || '')))
47
+ };
48
+ }
49
+ case TAG_CONSTANTS.GET_LIST_SUCCESS:
50
+ {
51
+ const { tags = [] } = data;
52
+ const expires = DateTime.local().plus({
53
+ hours: 24
54
+ }).toMillis();
55
+ return {
56
+ ...state,
57
+ expires,
58
+ list: [
59
+ ...tags
60
+ ]
61
+ };
62
+ }
63
+ case TAG_CONSTANTS.REMOVE_ITEM_SUCCESS:
64
+ {
65
+ const { tag } = data;
66
+ const tagId = String(tag?.tagId || '').trim();
67
+ if (!tagId) {
68
+ return state;
69
+ }
70
+ return {
71
+ ...state,
72
+ list: state.list.filter((item)=>String(item?.tagId || '').trim() !== tagId)
73
+ };
74
+ }
75
+ default:
76
+ {
77
+ return state;
78
+ }
79
+ }
80
+ };
81
+ export const tags = {
82
+ action: tagStore,
83
+ initialState: defaultValues,
84
+ name: 'tag'
85
+ };
86
+
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3RhZ1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIxLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gJ2x1eG9uJztcblxuaW1wb3J0IHR5cGUgeyBUYWdUeXBlIH0gZnJvbSAnLi4vYWRhcHRlcnMvdGFnQWRhcHRlci90YWdBZGFwdGVyLmpzJztcblxuZXhwb3J0IGNvbnN0IFRBR19DT05TVEFOVFMgPSB7XG4gIEFERF9MSU5LX1NVQ0NFU1M6ICdUQUdfQUREX0xJTktfU1VDQ0VTUycsXG4gIEFERF9JVEVNX0VSUk9SOiAnVEFHX0FERF9JVEVNX0VSUk9SJyxcbiAgQUREX0lURU1fU1VDQ0VTUzogJ1RBR19BRERfSVRFTV9TVUNDRVNTJyxcbiAgQUREX1BFUlNPTkFfRVJST1I6ICdUQUdfQUREX1BFUlNPTkFfRVJST1InLFxuICBBRERfUEVSU09OQV9TVUNDRVNTOiAnVEFHX0FERF9QRVJTT05BX1NVQ0NFU1MnLFxuICBHRVRfTElTVF9FUlJPUjogJ1RBR19HRVRfTElTVF9FUlJPUicsXG4gIEdFVF9MSVNUX1NVQ0NFU1M6ICdUQUdfR0VUX0xJU1RfU1VDQ0VTUycsXG4gIFJFTU9WRV9MSU5LX1NVQ0NFU1M6ICdUQUdfUkVNT1ZFX0xJTktfU1VDQ0VTUycsXG4gIFJFTU9WRV9JVEVNX0VSUk9SOiAnVEFHX1JFTU9WRV9JVEVNX0VSUk9SJyxcbiAgUkVNT1ZFX0lURU1fU1VDQ0VTUzogJ1RBR19SRU1PVkVfSVRFTV9TVUNDRVNTJyxcbiAgUkVNT1ZFX1BFUlNPTkFfRVJST1I6ICdUQUdfUkVNT1ZFX1BFUlNPTkFfRVJST1InLFxuICBSRU1PVkVfUEVSU09OQV9TVUNDRVNTOiAnVEFHX1JFTU9WRV9QRVJTT05BX1NVQ0NFU1MnLFxuICBVUERBVEVfSVRFTV9FUlJPUjogJ1RBR19VUERBVEVfSVRFTV9FUlJPUicsXG4gIFVQREFURV9JVEVNX1NVQ0NFU1M6ICdUQUdfVVBEQVRFX0lURU1fU1VDQ0VTUydcbn0gYXMgY29uc3Q7XG5cbmludGVyZmFjZSBUYWdTdGF0ZSB7XG4gIGV4cGlyZXM6IG51bWJlcjtcbiAgbGlzdDogVGFnVHlwZVtdO1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdFZhbHVlczogVGFnU3RhdGUgPSB7XG4gIGV4cGlyZXM6IERhdGUubm93KCksXG4gIGxpc3Q6IFtdXG59O1xuXG5leHBvcnQgY29uc3QgdGFnU3RvcmUgPSAodHlwZTogc3RyaW5nLCBkYXRhOiB7dGFncz86IFRhZ1N0YXRlWydsaXN0J119LCBzdGF0ZSA9IGRlZmF1bHRWYWx1ZXMpOiBUYWdTdGF0ZSA9PiB7XG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSBUQUdfQ09OU1RBTlRTLkFERF9JVEVNX1NVQ0NFU1M6XG4gICAgY2FzZSBUQUdfQ09OU1RBTlRTLlVQREFURV9JVEVNX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHt0YWd9ID0gZGF0YSBhcyB7dGFnPzogVGFnVHlwZX07XG4gICAgICBjb25zdCB0YWdJZCA9IFN0cmluZyh0YWc/LnRhZ0lkIHx8ICcnKS50cmltKCk7XG5cbiAgICAgIGlmKCF0YWdJZCkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxpc3QgPSBzdGF0ZS5saXN0LnNvbWUoKGl0ZW0pID0+IFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpID09PSB0YWdJZClcbiAgICAgICAgPyBzdGF0ZS5saXN0Lm1hcCgoaXRlbSkgPT4gKFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpID09PSB0YWdJZCA/IHsuLi5pdGVtLCAuLi50YWd9IDogaXRlbSkpXG4gICAgICAgIDogWy4uLnN0YXRlLmxpc3QsIHRhZyBhcyBUYWdUeXBlXTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxpc3Q6IFsuLi5saXN0XS5zb3J0KChsZWZ0LCByaWdodCkgPT4gU3RyaW5nKGxlZnQ/Lm5hbWUgfHwgJycpLmxvY2FsZUNvbXBhcmUoU3RyaW5nKHJpZ2h0Py5uYW1lIHx8ICcnKSkpXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgVEFHX0NPTlNUQU5UUy5HRVRfTElTVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dGFncyA9IFtdfSA9IGRhdGE7XG4gICAgICBjb25zdCBleHBpcmVzOiBudW1iZXIgPSBEYXRlVGltZS5sb2NhbCgpLnBsdXMoe2hvdXJzOiAyNH0pLnRvTWlsbGlzKCk7XG4gICAgICByZXR1cm4gey4uLnN0YXRlLCBleHBpcmVzLCBsaXN0OiBbLi4udGFnc119O1xuICAgIH1cblxuICAgIGNhc2UgVEFHX0NPTlNUQU5UUy5SRU1PVkVfSVRFTV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dGFnfSA9IGRhdGEgYXMge3RhZz86IFRhZ1R5cGV9O1xuICAgICAgY29uc3QgdGFnSWQgPSBTdHJpbmcodGFnPy50YWdJZCB8fCAnJykudHJpbSgpO1xuXG4gICAgICBpZighdGFnSWQpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbGlzdDogc3RhdGUubGlzdC5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpICE9PSB0YWdJZClcbiAgICAgIH07XG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRhZ3MgPSB7XG4gIGFjdGlvbjogdGFnU3RvcmUsXG4gIGluaXRpYWxTdGF0ZTogZGVmYXVsdFZhbHVlcyxcbiAgbmFtZTogJ3RhZydcbn07XG4iXSwibmFtZXMiOlsiRGF0ZVRpbWUiLCJUQUdfQ09OU1RBTlRTIiwiQUREX0xJTktfU1VDQ0VTUyIsIkFERF9JVEVNX0VSUk9SIiwiQUREX0lURU1fU1VDQ0VTUyIsIkFERF9QRVJTT05BX0VSUk9SIiwiQUREX1BFUlNPTkFfU1VDQ0VTUyIsIkdFVF9MSVNUX0VSUk9SIiwiR0VUX0xJU1RfU1VDQ0VTUyIsIlJFTU9WRV9MSU5LX1NVQ0NFU1MiLCJSRU1PVkVfSVRFTV9FUlJPUiIsIlJFTU9WRV9JVEVNX1NVQ0NFU1MiLCJSRU1PVkVfUEVSU09OQV9FUlJPUiIsIlJFTU9WRV9QRVJTT05BX1NVQ0NFU1MiLCJVUERBVEVfSVRFTV9FUlJPUiIsIlVQREFURV9JVEVNX1NVQ0NFU1MiLCJkZWZhdWx0VmFsdWVzIiwiZXhwaXJlcyIsIkRhdGUiLCJub3ciLCJsaXN0IiwidGFnU3RvcmUiLCJ0eXBlIiwiZGF0YSIsInN0YXRlIiwidGFnIiwidGFnSWQiLCJTdHJpbmciLCJ0cmltIiwic29tZSIsIml0ZW0iLCJtYXAiLCJzb3J0IiwibGVmdCIsInJpZ2h0IiwibmFtZSIsImxvY2FsZUNvbXBhcmUiLCJ0YWdzIiwibG9jYWwiLCJwbHVzIiwiaG91cnMiLCJ0b01pbGxpcyIsImZpbHRlciIsImFjdGlvbiIsImluaXRpYWxTdGF0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBU0EsUUFBUSxRQUFRLFFBQVE7QUFJakMsT0FBTyxNQUFNQyxnQkFBZ0I7SUFDM0JDLGtCQUFrQjtJQUNsQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0lBQ3JCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMscUJBQXFCO0lBQ3JCQyxtQkFBbUI7SUFDbkJDLHFCQUFxQjtJQUNyQkMsc0JBQXNCO0lBQ3RCQyx3QkFBd0I7SUFDeEJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0FBQ3ZCLEVBQVc7QUFPWCxPQUFPLE1BQU1DLGdCQUEwQjtJQUNyQ0MsU0FBU0MsS0FBS0MsR0FBRztJQUNqQkMsTUFBTSxFQUFFO0FBQ1YsRUFBRTtBQUVGLE9BQU8sTUFBTUMsV0FBVyxDQUFDQyxNQUFjQyxNQUFpQ0MsUUFBUVIsYUFBYTtJQUMzRixPQUFPTTtRQUNMLEtBQUtyQixjQUFjRyxnQkFBZ0I7UUFDbkMsS0FBS0gsY0FBY2MsbUJBQW1CO1lBQUU7Z0JBQ3RDLE1BQU0sRUFBQ1UsR0FBRyxFQUFDLEdBQUdGO2dCQUNkLE1BQU1HLFFBQVFDLE9BQU9GLEtBQUtDLFNBQVMsSUFBSUUsSUFBSTtnQkFFM0MsSUFBRyxDQUFDRixPQUFPO29CQUNULE9BQU9GO2dCQUNUO2dCQUVBLE1BQU1KLE9BQU9JLE1BQU1KLElBQUksQ0FBQ1MsSUFBSSxDQUFDLENBQUNDLE9BQVNILE9BQU9HLE1BQU1KLFNBQVMsSUFBSUUsSUFBSSxPQUFPRixTQUN4RUYsTUFBTUosSUFBSSxDQUFDVyxHQUFHLENBQUMsQ0FBQ0QsT0FBVUgsT0FBT0csTUFBTUosU0FBUyxJQUFJRSxJQUFJLE9BQU9GLFFBQVE7d0JBQUMsR0FBR0ksSUFBSTt3QkFBRSxHQUFHTCxHQUFHO29CQUFBLElBQUlLLFFBQzNGO3VCQUFJTixNQUFNSixJQUFJO29CQUFFSztpQkFBZTtnQkFFbkMsT0FBTztvQkFDTCxHQUFHRCxLQUFLO29CQUNSSixNQUFNOzJCQUFJQTtxQkFBSyxDQUFDWSxJQUFJLENBQUMsQ0FBQ0MsTUFBTUMsUUFBVVAsT0FBT00sTUFBTUUsUUFBUSxJQUFJQyxhQUFhLENBQUNULE9BQU9PLE9BQU9DLFFBQVE7Z0JBQ3JHO1lBQ0Y7UUFFQSxLQUFLbEMsY0FBY08sZ0JBQWdCO1lBQUU7Z0JBQ25DLE1BQU0sRUFBQzZCLE9BQU8sRUFBRSxFQUFDLEdBQUdkO2dCQUNwQixNQUFNTixVQUFrQmpCLFNBQVNzQyxLQUFLLEdBQUdDLElBQUksQ0FBQztvQkFBQ0MsT0FBTztnQkFBRSxHQUFHQyxRQUFRO2dCQUNuRSxPQUFPO29CQUFDLEdBQUdqQixLQUFLO29CQUFFUDtvQkFBU0csTUFBTTsyQkFBSWlCO3FCQUFLO2dCQUFBO1lBQzVDO1FBRUEsS0FBS3BDLGNBQWNVLG1CQUFtQjtZQUFFO2dCQUN0QyxNQUFNLEVBQUNjLEdBQUcsRUFBQyxHQUFHRjtnQkFDZCxNQUFNRyxRQUFRQyxPQUFPRixLQUFLQyxTQUFTLElBQUlFLElBQUk7Z0JBRTNDLElBQUcsQ0FBQ0YsT0FBTztvQkFDVCxPQUFPRjtnQkFDVDtnQkFFQSxPQUFPO29CQUNMLEdBQUdBLEtBQUs7b0JBQ1JKLE1BQU1JLE1BQU1KLElBQUksQ0FBQ3NCLE1BQU0sQ0FBQyxDQUFDWixPQUFTSCxPQUFPRyxNQUFNSixTQUFTLElBQUlFLElBQUksT0FBT0Y7Z0JBQ3pFO1lBQ0Y7UUFFQTtZQUFTO2dCQUNQLE9BQU9GO1lBQ1Q7SUFDRjtBQUNGLEVBQUU7QUFFRixPQUFPLE1BQU1hLE9BQU87SUFDbEJNLFFBQVF0QjtJQUNSdUIsY0FBYzVCO0lBQ2RtQixNQUFNO0FBQ1IsRUFBRSJ9
@@ -0,0 +1,42 @@
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 interface TranslationType {
6
+ readonly key: string;
7
+ readonly locale: string;
8
+ readonly value: string;
9
+ readonly namespace?: string;
10
+ readonly timestamp?: number;
11
+ }
12
+ export interface TranslationState {
13
+ readonly error?: Error;
14
+ readonly translations: Record<string, TranslationType>;
15
+ readonly pendingKeys: Set<string>;
16
+ readonly isQueueing: boolean;
17
+ readonly lastSync: number;
18
+ }
19
+ export declare const TRANSLATION_CONSTANTS: {
20
+ readonly ADD_TRANSLATIONS_SUCCESS: "TRANSLATION_ADD_TRANSLATIONS_SUCCESS";
21
+ readonly ADD_TRANSLATIONS_ERROR: "TRANSLATION_ADD_TRANSLATIONS_ERROR";
22
+ readonly GET_TRANSLATIONS_SUCCESS: "TRANSLATION_GET_TRANSLATIONS_SUCCESS";
23
+ readonly GET_TRANSLATIONS_ERROR: "TRANSLATION_GET_TRANSLATIONS_ERROR";
24
+ readonly QUEUE_TRANSLATION_KEY: "TRANSLATION_QUEUE_TRANSLATION_KEY";
25
+ readonly CLEAR_PENDING_KEYS: "TRANSLATION_CLEAR_PENDING_KEYS";
26
+ readonly SET_QUEUEING_STATE: "TRANSLATION_SET_QUEUEING_STATE";
27
+ };
28
+ export type TranslationConstantsType = typeof TRANSLATION_CONSTANTS[keyof typeof TRANSLATION_CONSTANTS];
29
+ interface TranslationData {
30
+ readonly error?: Error;
31
+ readonly translations?: TranslationType[];
32
+ readonly key?: string;
33
+ readonly isQueueing?: boolean;
34
+ }
35
+ export declare const translationStore: (type: string, data: TranslationData, state?: TranslationState) => TranslationState;
36
+ export declare const translations: {
37
+ action: (type: string, data: TranslationData, state?: TranslationState) => TranslationState;
38
+ initialState: TranslationState;
39
+ name: string;
40
+ };
41
+ export {};
42
+ //# sourceMappingURL=translationStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translationStore.d.ts","sourceRoot":"","sources":["../../src/stores/translationStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,qBAAqB;;;;;;;;CAQxB,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,OAAO,qBAAqB,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AASxG,UAAU,eAAe;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAMD,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,MAAM,eAAe,EAAE,wBAAqB,KAAG,gBA4F7F,CAAC;AAEF,eAAO,MAAM,YAAY;mBA9Fc,MAAM,QAAQ,eAAe,+BAA0B,gBAAgB;;;CAkG7G,CAAC"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ export const TRANSLATION_CONSTANTS = {
5
+ ADD_TRANSLATIONS_SUCCESS: 'TRANSLATION_ADD_TRANSLATIONS_SUCCESS',
6
+ ADD_TRANSLATIONS_ERROR: 'TRANSLATION_ADD_TRANSLATIONS_ERROR',
7
+ GET_TRANSLATIONS_SUCCESS: 'TRANSLATION_GET_TRANSLATIONS_SUCCESS',
8
+ GET_TRANSLATIONS_ERROR: 'TRANSLATION_GET_TRANSLATIONS_ERROR',
9
+ QUEUE_TRANSLATION_KEY: 'TRANSLATION_QUEUE_TRANSLATION_KEY',
10
+ CLEAR_PENDING_KEYS: 'TRANSLATION_CLEAR_PENDING_KEYS',
11
+ SET_QUEUEING_STATE: 'TRANSLATION_SET_QUEUEING_STATE'
12
+ };
13
+ const defaultValues = {
14
+ translations: {},
15
+ pendingKeys: new Set(),
16
+ isQueueing: false,
17
+ lastSync: 0
18
+ };
19
+ const createTranslationKey = (key, locale, namespace)=>{
20
+ return namespace ? `${namespace}:${key}:${locale}` : `${key}:${locale}`;
21
+ };
22
+ export const translationStore = (type, data, state = defaultValues)=>{
23
+ switch(type){
24
+ case TRANSLATION_CONSTANTS.ADD_TRANSLATIONS_SUCCESS:
25
+ {
26
+ const { translations } = data;
27
+ if (translations?.length) {
28
+ const newTranslations = {
29
+ ...state.translations
30
+ };
31
+ const newPendingKeys = new Set(state.pendingKeys);
32
+ translations.forEach((translation)=>{
33
+ const translationKey = createTranslationKey(translation.key, translation.locale, translation.namespace);
34
+ newTranslations[translationKey] = {
35
+ ...translation,
36
+ timestamp: Date.now()
37
+ };
38
+ newPendingKeys.delete(translationKey);
39
+ });
40
+ return {
41
+ ...state,
42
+ error: undefined,
43
+ translations: newTranslations,
44
+ pendingKeys: newPendingKeys,
45
+ lastSync: Date.now()
46
+ };
47
+ }
48
+ return state;
49
+ }
50
+ case TRANSLATION_CONSTANTS.GET_TRANSLATIONS_SUCCESS:
51
+ {
52
+ const { translations } = data;
53
+ if (translations?.length) {
54
+ const newTranslations = {
55
+ ...state.translations
56
+ };
57
+ translations.forEach((translation)=>{
58
+ const translationKey = createTranslationKey(translation.key, translation.locale, translation.namespace);
59
+ newTranslations[translationKey] = {
60
+ ...translation,
61
+ timestamp: Date.now()
62
+ };
63
+ });
64
+ return {
65
+ ...state,
66
+ error: undefined,
67
+ translations: newTranslations,
68
+ lastSync: Date.now()
69
+ };
70
+ }
71
+ return state;
72
+ }
73
+ case TRANSLATION_CONSTANTS.QUEUE_TRANSLATION_KEY:
74
+ {
75
+ const { key } = data;
76
+ if (key) {
77
+ const newPendingKeys = new Set(state.pendingKeys);
78
+ newPendingKeys.add(key);
79
+ return {
80
+ ...state,
81
+ pendingKeys: newPendingKeys
82
+ };
83
+ }
84
+ return state;
85
+ }
86
+ case TRANSLATION_CONSTANTS.CLEAR_PENDING_KEYS:
87
+ {
88
+ return {
89
+ ...state,
90
+ pendingKeys: new Set()
91
+ };
92
+ }
93
+ case TRANSLATION_CONSTANTS.SET_QUEUEING_STATE:
94
+ {
95
+ const { isQueueing } = data;
96
+ return {
97
+ ...state,
98
+ isQueueing: isQueueing || false
99
+ };
100
+ }
101
+ case TRANSLATION_CONSTANTS.ADD_TRANSLATIONS_ERROR:
102
+ case TRANSLATION_CONSTANTS.GET_TRANSLATIONS_ERROR:
103
+ {
104
+ const { error } = data;
105
+ return {
106
+ ...state,
107
+ error
108
+ };
109
+ }
110
+ default:
111
+ {
112
+ return state;
113
+ }
114
+ }
115
+ };
116
+ export const translations = {
117
+ action: translationStore,
118
+ initialState: defaultValues,
119
+ name: 'translations'
120
+ };
121
+
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3RyYW5zbGF0aW9uU3RvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjUtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvblR5cGUge1xuICByZWFkb25seSBrZXk6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9jYWxlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdGltZXN0YW1wPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9uU3RhdGUge1xuICByZWFkb25seSBlcnJvcj86IEVycm9yO1xuICByZWFkb25seSB0cmFuc2xhdGlvbnM6IFJlY29yZDxzdHJpbmcsIFRyYW5zbGF0aW9uVHlwZT47XG4gIHJlYWRvbmx5IHBlbmRpbmdLZXlzOiBTZXQ8c3RyaW5nPjtcbiAgcmVhZG9ubHkgaXNRdWV1ZWluZzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbGFzdFN5bmM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFRSQU5TTEFUSU9OX0NPTlNUQU5UUyA9IHtcbiAgQUREX1RSQU5TTEFUSU9OU19TVUNDRVNTOiAnVFJBTlNMQVRJT05fQUREX1RSQU5TTEFUSU9OU19TVUNDRVNTJyxcbiAgQUREX1RSQU5TTEFUSU9OU19FUlJPUjogJ1RSQU5TTEFUSU9OX0FERF9UUkFOU0xBVElPTlNfRVJST1InLFxuICBHRVRfVFJBTlNMQVRJT05TX1NVQ0NFU1M6ICdUUkFOU0xBVElPTl9HRVRfVFJBTlNMQVRJT05TX1NVQ0NFU1MnLFxuICBHRVRfVFJBTlNMQVRJT05TX0VSUk9SOiAnVFJBTlNMQVRJT05fR0VUX1RSQU5TTEFUSU9OU19FUlJPUicsXG4gIFFVRVVFX1RSQU5TTEFUSU9OX0tFWTogJ1RSQU5TTEFUSU9OX1FVRVVFX1RSQU5TTEFUSU9OX0tFWScsXG4gIENMRUFSX1BFTkRJTkdfS0VZUzogJ1RSQU5TTEFUSU9OX0NMRUFSX1BFTkRJTkdfS0VZUycsXG4gIFNFVF9RVUVVRUlOR19TVEFURTogJ1RSQU5TTEFUSU9OX1NFVF9RVUVVRUlOR19TVEFURSdcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFRyYW5zbGF0aW9uQ29uc3RhbnRzVHlwZSA9IHR5cGVvZiBUUkFOU0xBVElPTl9DT05TVEFOVFNba2V5b2YgdHlwZW9mIFRSQU5TTEFUSU9OX0NPTlNUQU5UU107XG5cbmNvbnN0IGRlZmF1bHRWYWx1ZXM6IFRyYW5zbGF0aW9uU3RhdGUgPSB7XG4gIHRyYW5zbGF0aW9uczoge30sXG4gIHBlbmRpbmdLZXlzOiBuZXcgU2V0KCksXG4gIGlzUXVldWVpbmc6IGZhbHNlLFxuICBsYXN0U3luYzogMFxufTtcblxuaW50ZXJmYWNlIFRyYW5zbGF0aW9uRGF0YSB7XG4gIHJlYWRvbmx5IGVycm9yPzogRXJyb3I7XG4gIHJlYWRvbmx5IHRyYW5zbGF0aW9ucz86IFRyYW5zbGF0aW9uVHlwZVtdO1xuICByZWFkb25seSBrZXk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzUXVldWVpbmc/OiBib29sZWFuO1xufVxuXG5jb25zdCBjcmVhdGVUcmFuc2xhdGlvbktleSA9IChrZXk6IHN0cmluZywgbG9jYWxlOiBzdHJpbmcsIG5hbWVzcGFjZT86IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBuYW1lc3BhY2UgPyBgJHtuYW1lc3BhY2V9OiR7a2V5fToke2xvY2FsZX1gIDogYCR7a2V5fToke2xvY2FsZX1gO1xufTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0aW9uU3RvcmUgPSAodHlwZTogc3RyaW5nLCBkYXRhOiBUcmFuc2xhdGlvbkRhdGEsIHN0YXRlID0gZGVmYXVsdFZhbHVlcyk6IFRyYW5zbGF0aW9uU3RhdGUgPT4ge1xuICBzd2l0Y2godHlwZSkge1xuICAgIGNhc2UgVFJBTlNMQVRJT05fQ09OU1RBTlRTLkFERF9UUkFOU0xBVElPTlNfU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3RyYW5zbGF0aW9uc30gPSBkYXRhO1xuICAgICAgaWYodHJhbnNsYXRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgbmV3VHJhbnNsYXRpb25zID0gey4uLnN0YXRlLnRyYW5zbGF0aW9uc307XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdLZXlzID0gbmV3IFNldChzdGF0ZS5wZW5kaW5nS2V5cyk7XG5cbiAgICAgICAgdHJhbnNsYXRpb25zLmZvckVhY2goKHRyYW5zbGF0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBjcmVhdGVUcmFuc2xhdGlvbktleSh0cmFuc2xhdGlvbi5rZXksIHRyYW5zbGF0aW9uLmxvY2FsZSwgdHJhbnNsYXRpb24ubmFtZXNwYWNlKTtcbiAgICAgICAgICBuZXdUcmFuc2xhdGlvbnNbdHJhbnNsYXRpb25LZXldID0ge1xuICAgICAgICAgICAgLi4udHJhbnNsYXRpb24sXG4gICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KClcbiAgICAgICAgICB9O1xuICAgICAgICAgIG5ld1BlbmRpbmdLZXlzLmRlbGV0ZSh0cmFuc2xhdGlvbktleSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgZXJyb3I6IHVuZGVmaW5lZCxcbiAgICAgICAgICB0cmFuc2xhdGlvbnM6IG5ld1RyYW5zbGF0aW9ucyxcbiAgICAgICAgICBwZW5kaW5nS2V5czogbmV3UGVuZGluZ0tleXMsXG4gICAgICAgICAgbGFzdFN5bmM6IERhdGUubm93KClcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG5cbiAgICBjYXNlIFRSQU5TTEFUSU9OX0NPTlNUQU5UUy5HRVRfVFJBTlNMQVRJT05TX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHt0cmFuc2xhdGlvbnN9ID0gZGF0YTtcbiAgICAgIGlmKHRyYW5zbGF0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IG5ld1RyYW5zbGF0aW9ucyA9IHsuLi5zdGF0ZS50cmFuc2xhdGlvbnN9O1xuXG4gICAgICAgIHRyYW5zbGF0aW9ucy5mb3JFYWNoKCh0cmFuc2xhdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gY3JlYXRlVHJhbnNsYXRpb25LZXkodHJhbnNsYXRpb24ua2V5LCB0cmFuc2xhdGlvbi5sb2NhbGUsIHRyYW5zbGF0aW9uLm5hbWVzcGFjZSk7XG4gICAgICAgICAgbmV3VHJhbnNsYXRpb25zW3RyYW5zbGF0aW9uS2V5XSA9IHtcbiAgICAgICAgICAgIC4uLnRyYW5zbGF0aW9uLFxuICAgICAgICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBlcnJvcjogdW5kZWZpbmVkLFxuICAgICAgICAgIHRyYW5zbGF0aW9uczogbmV3VHJhbnNsYXRpb25zLFxuICAgICAgICAgIGxhc3RTeW5jOiBEYXRlLm5vdygpXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuXG4gICAgY2FzZSBUUkFOU0xBVElPTl9DT05TVEFOVFMuUVVFVUVfVFJBTlNMQVRJT05fS0VZOiB7XG4gICAgICBjb25zdCB7a2V5fSA9IGRhdGE7XG4gICAgICBpZihrZXkpIHtcbiAgICAgICAgY29uc3QgbmV3UGVuZGluZ0tleXMgPSBuZXcgU2V0KHN0YXRlLnBlbmRpbmdLZXlzKTtcbiAgICAgICAgbmV3UGVuZGluZ0tleXMuYWRkKGtleSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgcGVuZGluZ0tleXM6IG5ld1BlbmRpbmdLZXlzXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuXG4gICAgY2FzZSBUUkFOU0xBVElPTl9DT05TVEFOVFMuQ0xFQVJfUEVORElOR19LRVlTOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcGVuZGluZ0tleXM6IG5ldyBTZXQoKVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIFRSQU5TTEFUSU9OX0NPTlNUQU5UUy5TRVRfUVVFVUVJTkdfU1RBVEU6IHtcbiAgICAgIGNvbnN0IHtpc1F1ZXVlaW5nfSA9IGRhdGE7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgaXNRdWV1ZWluZzogaXNRdWV1ZWluZyB8fCBmYWxzZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIFRSQU5TTEFUSU9OX0NPTlNUQU5UUy5BRERfVFJBTlNMQVRJT05TX0VSUk9SOlxuICAgIGNhc2UgVFJBTlNMQVRJT05fQ09OU1RBTlRTLkdFVF9UUkFOU0xBVElPTlNfRVJST1I6IHtcbiAgICAgIGNvbnN0IHtlcnJvcn0gPSBkYXRhO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGVycm9yXG4gICAgICB9O1xuICAgIH1cblxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGlvbnMgPSB7XG4gIGFjdGlvbjogdHJhbnNsYXRpb25TdG9yZSxcbiAgaW5pdGlhbFN0YXRlOiBkZWZhdWx0VmFsdWVzLFxuICBuYW1lOiAndHJhbnNsYXRpb25zJ1xufTsiXSwibmFtZXMiOlsiVFJBTlNMQVRJT05fQ09OU1RBTlRTIiwiQUREX1RSQU5TTEFUSU9OU19TVUNDRVNTIiwiQUREX1RSQU5TTEFUSU9OU19FUlJPUiIsIkdFVF9UUkFOU0xBVElPTlNfU1VDQ0VTUyIsIkdFVF9UUkFOU0xBVElPTlNfRVJST1IiLCJRVUVVRV9UUkFOU0xBVElPTl9LRVkiLCJDTEVBUl9QRU5ESU5HX0tFWVMiLCJTRVRfUVVFVUVJTkdfU1RBVEUiLCJkZWZhdWx0VmFsdWVzIiwidHJhbnNsYXRpb25zIiwicGVuZGluZ0tleXMiLCJTZXQiLCJpc1F1ZXVlaW5nIiwibGFzdFN5bmMiLCJjcmVhdGVUcmFuc2xhdGlvbktleSIsImtleSIsImxvY2FsZSIsIm5hbWVzcGFjZSIsInRyYW5zbGF0aW9uU3RvcmUiLCJ0eXBlIiwiZGF0YSIsInN0YXRlIiwibGVuZ3RoIiwibmV3VHJhbnNsYXRpb25zIiwibmV3UGVuZGluZ0tleXMiLCJmb3JFYWNoIiwidHJhbnNsYXRpb24iLCJ0cmFuc2xhdGlvbktleSIsInRpbWVzdGFtcCIsIkRhdGUiLCJub3ciLCJkZWxldGUiLCJlcnJvciIsInVuZGVmaW5lZCIsImFkZCIsImFjdGlvbiIsImluaXRpYWxTdGF0ZSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQWtCRCxPQUFPLE1BQU1BLHdCQUF3QjtJQUNuQ0MsMEJBQTBCO0lBQzFCQyx3QkFBd0I7SUFDeEJDLDBCQUEwQjtJQUMxQkMsd0JBQXdCO0lBQ3hCQyx1QkFBdUI7SUFDdkJDLG9CQUFvQjtJQUNwQkMsb0JBQW9CO0FBQ3RCLEVBQVc7QUFJWCxNQUFNQyxnQkFBa0M7SUFDdENDLGNBQWMsQ0FBQztJQUNmQyxhQUFhLElBQUlDO0lBQ2pCQyxZQUFZO0lBQ1pDLFVBQVU7QUFDWjtBQVNBLE1BQU1DLHVCQUF1QixDQUFDQyxLQUFhQyxRQUFnQkM7SUFDekQsT0FBT0EsWUFBWSxHQUFHQSxVQUFVLENBQUMsRUFBRUYsSUFBSSxDQUFDLEVBQUVDLFFBQVEsR0FBRyxHQUFHRCxJQUFJLENBQUMsRUFBRUMsUUFBUTtBQUN6RTtBQUVBLE9BQU8sTUFBTUUsbUJBQW1CLENBQUNDLE1BQWNDLE1BQXVCQyxRQUFRYixhQUFhO0lBQ3pGLE9BQU9XO1FBQ0wsS0FBS25CLHNCQUFzQkMsd0JBQXdCO1lBQUU7Z0JBQ25ELE1BQU0sRUFBQ1EsWUFBWSxFQUFDLEdBQUdXO2dCQUN2QixJQUFHWCxjQUFjYSxRQUFRO29CQUN2QixNQUFNQyxrQkFBa0I7d0JBQUMsR0FBR0YsTUFBTVosWUFBWTtvQkFBQTtvQkFDOUMsTUFBTWUsaUJBQWlCLElBQUliLElBQUlVLE1BQU1YLFdBQVc7b0JBRWhERCxhQUFhZ0IsT0FBTyxDQUFDLENBQUNDO3dCQUNwQixNQUFNQyxpQkFBaUJiLHFCQUFxQlksWUFBWVgsR0FBRyxFQUFFVyxZQUFZVixNQUFNLEVBQUVVLFlBQVlULFNBQVM7d0JBQ3RHTSxlQUFlLENBQUNJLGVBQWUsR0FBRzs0QkFDaEMsR0FBR0QsV0FBVzs0QkFDZEUsV0FBV0MsS0FBS0MsR0FBRzt3QkFDckI7d0JBQ0FOLGVBQWVPLE1BQU0sQ0FBQ0o7b0JBQ3hCO29CQUVBLE9BQU87d0JBQ0wsR0FBR04sS0FBSzt3QkFDUlcsT0FBT0M7d0JBQ1B4QixjQUFjYzt3QkFDZGIsYUFBYWM7d0JBQ2JYLFVBQVVnQixLQUFLQyxHQUFHO29CQUNwQjtnQkFDRjtnQkFDQSxPQUFPVDtZQUNUO1FBRUEsS0FBS3JCLHNCQUFzQkcsd0JBQXdCO1lBQUU7Z0JBQ25ELE1BQU0sRUFBQ00sWUFBWSxFQUFDLEdBQUdXO2dCQUN2QixJQUFHWCxjQUFjYSxRQUFRO29CQUN2QixNQUFNQyxrQkFBa0I7d0JBQUMsR0FBR0YsTUFBTVosWUFBWTtvQkFBQTtvQkFFOUNBLGFBQWFnQixPQUFPLENBQUMsQ0FBQ0M7d0JBQ3BCLE1BQU1DLGlCQUFpQmIscUJBQXFCWSxZQUFZWCxHQUFHLEVBQUVXLFlBQVlWLE1BQU0sRUFBRVUsWUFBWVQsU0FBUzt3QkFDdEdNLGVBQWUsQ0FBQ0ksZUFBZSxHQUFHOzRCQUNoQyxHQUFHRCxXQUFXOzRCQUNkRSxXQUFXQyxLQUFLQyxHQUFHO3dCQUNyQjtvQkFDRjtvQkFFQSxPQUFPO3dCQUNMLEdBQUdULEtBQUs7d0JBQ1JXLE9BQU9DO3dCQUNQeEIsY0FBY2M7d0JBQ2RWLFVBQVVnQixLQUFLQyxHQUFHO29CQUNwQjtnQkFDRjtnQkFDQSxPQUFPVDtZQUNUO1FBRUEsS0FBS3JCLHNCQUFzQksscUJBQXFCO1lBQUU7Z0JBQ2hELE1BQU0sRUFBQ1UsR0FBRyxFQUFDLEdBQUdLO2dCQUNkLElBQUdMLEtBQUs7b0JBQ04sTUFBTVMsaUJBQWlCLElBQUliLElBQUlVLE1BQU1YLFdBQVc7b0JBQ2hEYyxlQUFlVSxHQUFHLENBQUNuQjtvQkFDbkIsT0FBTzt3QkFDTCxHQUFHTSxLQUFLO3dCQUNSWCxhQUFhYztvQkFDZjtnQkFDRjtnQkFDQSxPQUFPSDtZQUNUO1FBRUEsS0FBS3JCLHNCQUFzQk0sa0JBQWtCO1lBQUU7Z0JBQzdDLE9BQU87b0JBQ0wsR0FBR2UsS0FBSztvQkFDUlgsYUFBYSxJQUFJQztnQkFDbkI7WUFDRjtRQUVBLEtBQUtYLHNCQUFzQk8sa0JBQWtCO1lBQUU7Z0JBQzdDLE1BQU0sRUFBQ0ssVUFBVSxFQUFDLEdBQUdRO2dCQUNyQixPQUFPO29CQUNMLEdBQUdDLEtBQUs7b0JBQ1JULFlBQVlBLGNBQWM7Z0JBQzVCO1lBQ0Y7UUFFQSxLQUFLWixzQkFBc0JFLHNCQUFzQjtRQUNqRCxLQUFLRixzQkFBc0JJLHNCQUFzQjtZQUFFO2dCQUNqRCxNQUFNLEVBQUM0QixLQUFLLEVBQUMsR0FBR1o7Z0JBQ2hCLE9BQU87b0JBQ0wsR0FBR0MsS0FBSztvQkFDUlc7Z0JBQ0Y7WUFDRjtRQUVBO1lBQVM7Z0JBQ1AsT0FBT1g7WUFDVDtJQUNGO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTVosZUFBZTtJQUMxQjBCLFFBQVFqQjtJQUNSa0IsY0FBYzVCO0lBQ2Q2QixNQUFNO0FBQ1IsRUFBRSJ9