@nlabs/metropolisjs 0.1.2 → 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 (329) 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 +1123 -112
  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/i18n-import-examples.ts +86 -0
  19. package/examples/i18n-namespace-usage.ts +118 -0
  20. package/examples/i18next-singleton-demo.ts +187 -0
  21. package/examples/permission-system-usage.tsx +415 -0
  22. package/examples/project-details.tsx +397 -0
  23. package/examples/shared-i18n-usage.tsx +203 -0
  24. package/examples/signup-error-handling.ts +100 -0
  25. package/examples/translation-types.ts +86 -0
  26. package/examples/translation-usage.tsx +336 -0
  27. package/index.js +1 -0
  28. package/jest.config.mjs +28 -0
  29. package/lex.config.mjs +11 -2
  30. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts +22 -0
  31. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +1 -0
  32. package/lib/__tests__/e2e/helpers/testGraphQLServer.js +197 -0
  33. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts +3 -0
  34. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +1 -0
  35. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +52 -0
  36. package/lib/actions/appActions/appActions.d.ts +29 -0
  37. package/lib/actions/appActions/appActions.d.ts.map +1 -0
  38. package/lib/actions/appActions/appActions.js +159 -0
  39. package/lib/actions/connectionActions/connectionActions.d.ts +19 -0
  40. package/lib/actions/connectionActions/connectionActions.d.ts.map +1 -0
  41. package/lib/actions/connectionActions/connectionActions.js +131 -0
  42. package/lib/actions/contentActions/contentActions.d.ts +34 -0
  43. package/lib/actions/contentActions/contentActions.d.ts.map +1 -0
  44. package/lib/actions/contentActions/contentActions.js +314 -0
  45. package/lib/actions/conversationActions/conversationActions.d.ts +30 -0
  46. package/lib/actions/conversationActions/conversationActions.d.ts.map +1 -0
  47. package/lib/actions/conversationActions/conversationActions.js +225 -0
  48. package/lib/actions/eventActions/eventActions.d.ts +27 -7
  49. package/lib/actions/eventActions/eventActions.d.ts.map +1 -0
  50. package/lib/actions/eventActions/eventActions.js +436 -2
  51. package/lib/actions/groupActions/groupActions.d.ts +30 -0
  52. package/lib/actions/groupActions/groupActions.d.ts.map +1 -0
  53. package/lib/actions/groupActions/groupActions.js +229 -0
  54. package/lib/actions/imageActions/imageActions.d.ts +16 -10
  55. package/lib/actions/imageActions/imageActions.d.ts.map +1 -0
  56. package/lib/actions/imageActions/imageActions.js +593 -2
  57. package/lib/actions/index.d.ts +21 -9
  58. package/lib/actions/index.d.ts.map +1 -0
  59. package/lib/actions/index.js +22 -2
  60. package/lib/actions/locationActions/locationActions.d.ts +11 -9
  61. package/lib/actions/locationActions/locationActions.d.ts.map +1 -0
  62. package/lib/actions/locationActions/locationActions.js +388 -2
  63. package/lib/actions/messageActions/messageActions.d.ts +16 -32
  64. package/lib/actions/messageActions/messageActions.d.ts.map +1 -0
  65. package/lib/actions/messageActions/messageActions.js +235 -2
  66. package/lib/actions/permissionActions/permissionActions.d.ts +34 -0
  67. package/lib/actions/permissionActions/permissionActions.d.ts.map +1 -0
  68. package/lib/actions/permissionActions/permissionActions.js +330 -0
  69. package/lib/actions/personaActions/personaActions.d.ts +65 -0
  70. package/lib/actions/personaActions/personaActions.d.ts.map +1 -0
  71. package/lib/actions/personaActions/personaActions.js +572 -0
  72. package/lib/actions/postActions/postActions.d.ts +12 -32
  73. package/lib/actions/postActions/postActions.d.ts.map +1 -0
  74. package/lib/actions/postActions/postActions.js +447 -2
  75. package/lib/actions/reactionActions/reactionActions.d.ts +13 -27
  76. package/lib/actions/reactionActions/reactionActions.d.ts.map +1 -0
  77. package/lib/actions/reactionActions/reactionActions.js +413 -2
  78. package/lib/actions/sseActions/sseActions.d.ts +1 -0
  79. package/lib/actions/sseActions/sseActions.d.ts.map +1 -0
  80. package/lib/actions/sseActions/sseActions.js +148 -2
  81. package/lib/actions/subscriptionActions/subscriptionActions.d.ts +24 -0
  82. package/lib/actions/subscriptionActions/subscriptionActions.d.ts.map +1 -0
  83. package/lib/actions/subscriptionActions/subscriptionActions.js +329 -0
  84. package/lib/actions/tagActions/tagActions.d.ts +13 -31
  85. package/lib/actions/tagActions/tagActions.d.ts.map +1 -0
  86. package/lib/actions/tagActions/tagActions.js +347 -2
  87. package/lib/actions/translationActions/translationActions.d.ts +38 -0
  88. package/lib/actions/translationActions/translationActions.d.ts.map +1 -0
  89. package/lib/actions/translationActions/translationActions.js +189 -0
  90. package/lib/actions/userActions/userActions.d.ts +42 -95
  91. package/lib/actions/userActions/userActions.d.ts.map +1 -0
  92. package/lib/actions/userActions/userActions.js +844 -2
  93. package/lib/actions/videoActions/videoActions.d.ts +41 -0
  94. package/lib/actions/videoActions/videoActions.d.ts.map +1 -0
  95. package/lib/actions/videoActions/videoActions.js +532 -0
  96. package/lib/actions/websocketActions/websocketActions.d.ts +20 -21
  97. package/lib/actions/websocketActions/websocketActions.d.ts.map +1 -0
  98. package/lib/actions/websocketActions/websocketActions.js +377 -2
  99. package/lib/adapters/appAdapter/appAdapter.d.ts +8 -0
  100. package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -0
  101. package/lib/adapters/appAdapter/appAdapter.js +90 -0
  102. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +3 -2
  103. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -0
  104. package/lib/adapters/arangoAdapter/arangoAdapter.js +75 -2
  105. package/lib/adapters/contentAdapter/contentAdapter.d.ts +3 -2
  106. package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -0
  107. package/lib/adapters/contentAdapter/contentAdapter.js +107 -2
  108. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +3 -2
  109. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -0
  110. package/lib/adapters/conversationAdapter/conversationAdapter.js +75 -2
  111. package/lib/adapters/eventAdapter/eventAdapter.d.ts +5 -2
  112. package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -0
  113. package/lib/adapters/eventAdapter/eventAdapter.js +162 -2
  114. package/lib/adapters/fileAdapter/fileAdapter.d.ts +3 -2
  115. package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -0
  116. package/lib/adapters/fileAdapter/fileAdapter.js +118 -2
  117. package/lib/adapters/groupAdapter/groupAdapter.d.ts +28 -0
  118. package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -0
  119. package/lib/adapters/groupAdapter/groupAdapter.js +66 -0
  120. package/lib/adapters/imageAdapter/imageAdapter.d.ts +9 -2
  121. package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -0
  122. package/lib/adapters/imageAdapter/imageAdapter.js +134 -2
  123. package/lib/adapters/index.d.ts +34 -16
  124. package/lib/adapters/index.d.ts.map +1 -0
  125. package/lib/adapters/index.js +19 -2
  126. package/lib/adapters/locationAdapter/locationAdapter.d.ts +3 -2
  127. package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -0
  128. package/lib/adapters/locationAdapter/locationAdapter.js +95 -2
  129. package/lib/adapters/messageAdapter/messageAdapter.d.ts +23 -19
  130. package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -0
  131. package/lib/adapters/messageAdapter/messageAdapter.js +82 -2
  132. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +41 -0
  133. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -0
  134. package/lib/adapters/permissionAdapter/permissionAdapter.js +120 -0
  135. package/lib/adapters/personaAdapter/personaAdapter.d.ts +28 -2
  136. package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -0
  137. package/lib/adapters/personaAdapter/personaAdapter.js +161 -2
  138. package/lib/adapters/postAdapter/postAdapter.d.ts +3 -2
  139. package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -0
  140. package/lib/adapters/postAdapter/postAdapter.js +115 -2
  141. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +5 -2
  142. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -0
  143. package/lib/adapters/reactionAdapter/reactionAdapter.js +81 -2
  144. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +3 -2
  145. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -0
  146. package/lib/adapters/reaktorAdapter/reaktorAdapter.js +58 -2
  147. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +3 -2
  148. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -0
  149. package/lib/adapters/sessionAdapter/sessionAdapter.js +80 -2
  150. package/lib/adapters/tagAdapter/tagAdapter.d.ts +3 -2
  151. package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -0
  152. package/lib/adapters/tagAdapter/tagAdapter.js +98 -2
  153. package/lib/adapters/translationAdapter/translationAdapter.d.ts +21 -0
  154. package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -0
  155. package/lib/adapters/translationAdapter/translationAdapter.js +55 -0
  156. package/lib/adapters/userAdapter/userAdapter.d.ts +18 -6
  157. package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -0
  158. package/lib/adapters/userAdapter/userAdapter.js +302 -2
  159. package/lib/adapters/videoAdapter/videoAdapter.d.ts +8 -0
  160. package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -0
  161. package/lib/adapters/videoAdapter/videoAdapter.js +194 -0
  162. package/lib/config/index.d.ts +19 -6
  163. package/lib/config/index.d.ts.map +1 -0
  164. package/lib/config/index.js +97 -2
  165. package/lib/constants/Collections.d.ts +44 -0
  166. package/lib/constants/Collections.d.ts.map +1 -0
  167. package/lib/constants/Collections.js +40 -0
  168. package/lib/constants/MetropolisConstants.d.ts +1 -0
  169. package/lib/constants/MetropolisConstants.d.ts.map +1 -0
  170. package/lib/constants/MetropolisConstants.js +15 -2
  171. package/lib/graphql/message.d.ts +1 -0
  172. package/lib/graphql/message.d.ts.map +1 -0
  173. package/lib/graphql/message.js +6 -4
  174. package/lib/graphql/notification.d.ts +1 -0
  175. package/lib/graphql/notification.d.ts.map +1 -0
  176. package/lib/graphql/notification.js +6 -4
  177. package/lib/graphql/session.d.ts +1 -0
  178. package/lib/graphql/session.d.ts.map +1 -0
  179. package/lib/graphql/session.js +4 -3
  180. package/lib/index.d.ts +45 -22
  181. package/lib/index.d.ts.map +1 -0
  182. package/lib/index.js +248 -2
  183. package/lib/stores/appStore.d.ts +1 -0
  184. package/lib/stores/appStore.d.ts.map +1 -0
  185. package/lib/stores/appStore.js +23 -2
  186. package/lib/stores/contentStore.d.ts +36 -0
  187. package/lib/stores/contentStore.d.ts.map +1 -0
  188. package/lib/stores/contentStore.js +139 -0
  189. package/lib/stores/conversationStore.d.ts +38 -0
  190. package/lib/stores/conversationStore.d.ts.map +1 -0
  191. package/lib/stores/conversationStore.js +117 -0
  192. package/lib/stores/eventStore.d.ts +4 -1
  193. package/lib/stores/eventStore.d.ts.map +1 -0
  194. package/lib/stores/eventStore.js +47 -2
  195. package/lib/stores/groupStore.d.ts +37 -0
  196. package/lib/stores/groupStore.d.ts.map +1 -0
  197. package/lib/stores/groupStore.js +68 -0
  198. package/lib/stores/imageStore.d.ts +6 -1
  199. package/lib/stores/imageStore.d.ts.map +1 -0
  200. package/lib/stores/imageStore.js +53 -2
  201. package/lib/stores/index.d.ts +20 -11
  202. package/lib/stores/index.d.ts.map +1 -0
  203. package/lib/stores/index.js +24 -2
  204. package/lib/stores/locationStore.d.ts +2 -1
  205. package/lib/stores/locationStore.d.ts.map +1 -0
  206. package/lib/stores/locationStore.js +42 -2
  207. package/lib/stores/messageStore.d.ts +19 -4
  208. package/lib/stores/messageStore.d.ts.map +1 -0
  209. package/lib/stores/messageStore.js +137 -2
  210. package/lib/stores/notificationStore.d.ts +33 -0
  211. package/lib/stores/notificationStore.d.ts.map +1 -0
  212. package/lib/stores/notificationStore.js +55 -0
  213. package/lib/stores/permissionStore.d.ts +37 -0
  214. package/lib/stores/permissionStore.d.ts.map +1 -0
  215. package/lib/stores/permissionStore.js +117 -0
  216. package/lib/stores/personaStore.d.ts +26 -0
  217. package/lib/stores/personaStore.d.ts.map +1 -0
  218. package/lib/stores/personaStore.js +118 -0
  219. package/lib/stores/postStore.d.ts +2 -1
  220. package/lib/stores/postStore.d.ts.map +1 -0
  221. package/lib/stores/postStore.js +53 -2
  222. package/lib/stores/reactionStore.d.ts +1 -0
  223. package/lib/stores/reactionStore.d.ts.map +1 -0
  224. package/lib/stores/reactionStore.js +28 -2
  225. package/lib/stores/subscriptionStore.d.ts +41 -0
  226. package/lib/stores/subscriptionStore.d.ts.map +1 -0
  227. package/lib/stores/subscriptionStore.js +85 -0
  228. package/lib/stores/tagStore.d.ts +8 -5
  229. package/lib/stores/tagStore.d.ts.map +1 -0
  230. package/lib/stores/tagStore.js +87 -2
  231. package/lib/stores/translationStore.d.ts +42 -0
  232. package/lib/stores/translationStore.d.ts.map +1 -0
  233. package/lib/stores/translationStore.js +122 -0
  234. package/lib/stores/userStore.d.ts +5 -4
  235. package/lib/stores/userStore.d.ts.map +1 -0
  236. package/lib/stores/userStore.js +319 -2
  237. package/lib/stores/videoStore.d.ts +39 -0
  238. package/lib/stores/videoStore.d.ts.map +1 -0
  239. package/lib/stores/videoStore.js +132 -0
  240. package/lib/stores/websocketStore.d.ts +1 -0
  241. package/lib/stores/websocketStore.d.ts.map +1 -0
  242. package/lib/stores/websocketStore.js +51 -2
  243. package/lib/types/apps.types.d.ts +17 -0
  244. package/lib/types/apps.types.d.ts.map +1 -0
  245. package/lib/types/apps.types.js +6 -0
  246. package/lib/types/common.types.d.ts +31 -0
  247. package/lib/types/common.types.d.ts.map +1 -0
  248. package/lib/types/common.types.js +6 -0
  249. package/lib/types/conversations.types.d.ts +17 -0
  250. package/lib/types/conversations.types.d.ts.map +1 -0
  251. package/lib/types/conversations.types.js +6 -0
  252. package/lib/types/edges.types.d.ts +38 -0
  253. package/lib/types/edges.types.d.ts.map +1 -0
  254. package/lib/types/edges.types.js +6 -0
  255. package/lib/types/groups.types.d.ts +19 -0
  256. package/lib/types/groups.types.d.ts.map +1 -0
  257. package/lib/types/groups.types.js +6 -0
  258. package/lib/types/index.d.ts +12 -0
  259. package/lib/types/index.d.ts.map +1 -0
  260. package/lib/types/index.js +12 -0
  261. package/lib/types/subscriptions.types.d.ts +32 -0
  262. package/lib/types/subscriptions.types.d.ts.map +1 -0
  263. package/lib/types/subscriptions.types.js +6 -0
  264. package/lib/types/videos.types.d.ts +61 -0
  265. package/lib/types/videos.types.d.ts.map +1 -0
  266. package/lib/types/videos.types.js +6 -0
  267. package/lib/utils/MetropolisProvider.d.ts +39 -15
  268. package/lib/utils/MetropolisProvider.d.ts.map +1 -0
  269. package/lib/utils/MetropolisProvider.js +31 -2
  270. package/lib/utils/actionFactory.d.ts +21 -19
  271. package/lib/utils/actionFactory.d.ts.map +1 -0
  272. package/lib/utils/actionFactory.js +95 -2
  273. package/lib/utils/api.d.ts +5 -4
  274. package/lib/utils/api.d.ts.map +1 -0
  275. package/lib/utils/api.js +252 -6
  276. package/lib/utils/app.d.ts +1 -0
  277. package/lib/utils/app.d.ts.map +1 -0
  278. package/lib/utils/app.js +15 -2
  279. package/lib/utils/baseActionFactory.d.ts +5 -23
  280. package/lib/utils/baseActionFactory.d.ts.map +1 -0
  281. package/lib/utils/baseActionFactory.js +72 -2
  282. package/lib/utils/configUtils.d.ts +11 -0
  283. package/lib/utils/configUtils.d.ts.map +1 -0
  284. package/lib/utils/configUtils.js +20 -0
  285. package/lib/utils/dateUtils.d.ts +1 -0
  286. package/lib/utils/dateUtils.d.ts.map +1 -0
  287. package/lib/utils/dateUtils.js +11 -2
  288. package/lib/utils/file.d.ts +3 -1
  289. package/lib/utils/file.d.ts.map +1 -0
  290. package/lib/utils/file.js +156 -2
  291. package/lib/utils/i18n.d.ts +7 -0
  292. package/lib/utils/i18n.d.ts.map +1 -0
  293. package/lib/utils/i18n.js +96 -0
  294. package/lib/utils/index.d.ts +20 -0
  295. package/lib/utils/index.d.ts.map +1 -0
  296. package/lib/utils/index.js +26 -0
  297. package/lib/utils/location.d.ts +4 -3
  298. package/lib/utils/location.d.ts.map +1 -0
  299. package/lib/utils/location.js +82 -2
  300. package/lib/utils/permissionUtils.d.ts +22 -0
  301. package/lib/utils/permissionUtils.d.ts.map +1 -0
  302. package/lib/utils/permissionUtils.js +72 -0
  303. package/lib/utils/requestCache.d.ts +8 -0
  304. package/lib/utils/requestCache.d.ts.map +1 -0
  305. package/lib/utils/requestCache.js +53 -0
  306. package/lib/utils/session.d.ts +14 -0
  307. package/lib/utils/session.d.ts.map +1 -0
  308. package/lib/utils/session.js +107 -0
  309. package/lib/utils/useConversationTyping.d.ts +26 -0
  310. package/lib/utils/useConversationTyping.d.ts.map +1 -0
  311. package/lib/utils/useConversationTyping.js +117 -0
  312. package/lib/utils/useMetropolis.d.ts +67 -12
  313. package/lib/utils/useMetropolis.d.ts.map +1 -0
  314. package/lib/utils/useMetropolis.js +311 -2
  315. package/lib/utils/useTranslations.d.ts +16 -0
  316. package/lib/utils/useTranslations.d.ts.map +1 -0
  317. package/lib/utils/useTranslations.js +105 -0
  318. package/lib/utils/validatorFactory.d.ts +3 -2
  319. package/lib/utils/validatorFactory.d.ts.map +1 -0
  320. package/lib/utils/validatorFactory.js +95 -2
  321. package/package.json +58 -17
  322. package/temp_signin.ts +73 -0
  323. package/lib/actions/profileActions/profileActions.d.ts +0 -50
  324. package/lib/actions/profileActions/profileActions.js +0 -2
  325. package/lib/adapters/profileAdapter/profileAdapter.d.ts +0 -32
  326. package/lib/adapters/profileAdapter/profileAdapter.js +0 -2
  327. package/lib/stores/profileStore.d.ts +0 -24
  328. package/lib/stores/profileStore.js +0 -2
  329. /package/{FACTORY_PATTERN_GUIDE.md → factoryPatternGuide.md} +0 -0
@@ -1,3 +1,4 @@
1
+ import { type CollectionType } from '../../constants/Collections.js';
1
2
  export interface ReactionType {
2
3
  _id?: string;
3
4
  _key?: string;
@@ -8,13 +9,15 @@ export interface ReactionType {
8
9
  id?: string;
9
10
  name?: string;
10
11
  reactionId?: string;
12
+ type?: CollectionType;
11
13
  value?: string;
12
14
  [key: string]: any;
13
15
  }
14
16
  export declare class ReactionValidationError extends Error {
15
- field?: string | undefined;
16
- constructor(message: string, field?: string | undefined);
17
+ field?: string;
18
+ constructor(message: string, field?: string);
17
19
  }
18
20
  export declare const validateReactionInput: (reaction: unknown) => ReactionType;
19
21
  export declare const formatReactionOutput: (reaction: ReactionType) => ReactionType;
20
22
  export declare const parseReaction: (reaction: ReactionType) => ReactionType;
23
+ //# sourceMappingURL=reactionAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactionAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/reactionAdapter/reactionAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IACZ,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AA4BD,eAAO,MAAM,qBAAqB,GAAI,UAAU,OAAO,KAAG,YAWzD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,YAAY,KAAG,YAAwB,CAAC;AAEvF,eAAO,MAAM,aAAa,GAAI,UAAU,YAAY,KAAG,YAUtD,CAAC"}
@@ -1,2 +1,81 @@
1
- import{parseArangoId as d,parseId as g,parseVarChar as p}from"@nlabs/utils";import{z as r}from"zod";import{parseDocument as l,removeEmptyKeys as m}from"../arangoAdapter/arangoAdapter";class a extends Error{constructor(o,e){super(o);this.field=e;this.name="ReactionValidationError"}}const f=r.object({_id:r.string().optional(),_key:r.string().optional(),_rev:r.string().optional(),_oldRev:r.string().optional(),_from:r.string().optional(),_to:r.string().optional(),id:r.string().optional(),name:r.string().max(32).optional(),reactionId:r.string().optional(),type:r.string(),value:r.string().max(32).optional()}).passthrough(),h=n=>{try{return f.parse(n)}catch(t){if(t instanceof r.ZodError){const o=t.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join(", ");throw new a(`Reaction validation failed: ${o}`)}throw t}},T=n=>n,w=n=>{try{return R(n)}catch(t){throw t instanceof a?t:new a(`Reaction parsing failed: ${t instanceof Error?t.message:"Unknown error"}`)}},R=n=>{const{_id:t,_key:o,id:e,name:s,reactionId:i,value:c}=n;return m({...l(n),...(t||e||o||i)&&{id:d(t||e||`reactions/${o||i}`)},...s&&{name:p(s,32)},...(o||i)&&{reactionId:g(o||i||"")},...c&&{value:p(c,32)}})};export{a as ReactionValidationError,T as formatReactionOutput,w as parseReaction,h as validateReactionInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3JlYWN0aW9uQWRhcHRlci9yZWFjdGlvbkFkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VWYXJDaGFyfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3BhcnNlRG9jdW1lbnQsIHJlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vYXJhbmdvQWRhcHRlci9hcmFuZ29BZGFwdGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBSZWFjdGlvblR5cGUge1xuICBfaWQ/OiBzdHJpbmc7XG4gIF9rZXk/OiBzdHJpbmc7XG4gIF9yZXY/OiBzdHJpbmc7XG4gIF9vbGRSZXY/OiBzdHJpbmc7XG4gIF9mcm9tPzogc3RyaW5nO1xuICBfdG8/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICByZWFjdGlvbklkPzogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgUmVhY3Rpb25WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1JlYWN0aW9uVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBSZWFjdGlvbklucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG5hbWU6IHouc3RyaW5nKCkubWF4KDMyKS5vcHRpb25hbCgpLFxuICByZWFjdGlvbklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHR5cGU6IHouc3RyaW5nKCksXG4gIHZhbHVlOiB6LnN0cmluZygpLm1heCgzMikub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVhY3Rpb25JbnB1dCA9IChyZWFjdGlvbjogdW5rbm93bik6IFJlYWN0aW9uVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gUmVhY3Rpb25JbnB1dFNjaGVtYS5wYXJzZShyZWFjdGlvbik7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBSZWFjdGlvblR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgUmVhY3Rpb25WYWxpZGF0aW9uRXJyb3IoYFJlYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFJlYWN0aW9uT3V0cHV0ID0gKHJlYWN0aW9uOiBSZWFjdGlvblR5cGUpOiBSZWFjdGlvblR5cGUgPT4gcmVhY3Rpb247XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWN0aW9uID0gKHJlYWN0aW9uOiBSZWFjdGlvblR5cGUpOiBSZWFjdGlvblR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1SZWFjdGlvblRyYW5zZm9ybWF0aW9uKHJlYWN0aW9uKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBSZWFjdGlvblZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBSZWFjdGlvblZhbGlkYXRpb25FcnJvcihgUmVhY3Rpb24gcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1SZWFjdGlvblRyYW5zZm9ybWF0aW9uID0gKHJlYWN0aW9uOiBSZWFjdGlvblR5cGUpOiBSZWFjdGlvblR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgaWQsXG4gICAgbmFtZSxcbiAgICByZWFjdGlvbklkLFxuICAgIHZhbHVlXG4gIH0gPSByZWFjdGlvbjtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChyZWFjdGlvbiksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCByZWFjdGlvbklkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGByZWFjdGlvbnMvJHtfa2V5IHx8IHJlYWN0aW9uSWR9YCl9KSxcbiAgICAuLi4obmFtZSAmJiB7bmFtZTogcGFyc2VWYXJDaGFyKG5hbWUsIDMyKX0pLFxuICAgIC4uLigoX2tleSB8fCByZWFjdGlvbklkKSAmJiB7cmVhY3Rpb25JZDogcGFyc2VJZChfa2V5IHx8IHJlYWN0aW9uSWQgfHwgJycpfSksXG4gICAgLi4uKHZhbHVlICYmIHt2YWx1ZTogcGFyc2VWYXJDaGFyKHZhbHVlLCAzMil9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsaUJBQUFBLEVBQWUsV0FBQUMsRUFBUyxnQkFBQUMsTUFBbUIsZUFDbkQsT0FBUSxLQUFBQyxNQUFRLE1BRWhCLE9BQVEsaUJBQUFDLEVBQWUsbUJBQUFDLE1BQXNCLGlDQWdCdEMsTUFBTUMsVUFBZ0MsS0FBTSxDQUNqRCxZQUFZQyxFQUF3QkMsRUFBZ0IsQ0FDbEQsTUFBTUQsQ0FBTyxFQURxQixXQUFBQyxFQUVsQyxLQUFLLEtBQU8seUJBQ2QsQ0FDRixDQUVBLE1BQU1DLEVBQXNCTixFQUFFLE9BQU8sQ0FDbkMsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsR0FBSUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN4QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQ2xDLFdBQVlBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDaEMsS0FBTUEsRUFBRSxPQUFPLEVBQ2YsTUFBT0EsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxDQUNyQyxDQUFDLEVBQUUsWUFBWSxFQUVGTyxFQUF5QkMsR0FBb0MsQ0FDeEUsR0FBSSxDQUVGLE9BRGtCRixFQUFvQixNQUFNRSxDQUFRLENBRXRELE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlQsRUFBRSxTQUFVLENBQzlCLE1BQU1VLEVBQWNELEVBQU0sT0FBTyxJQUFLLEdBQU0sR0FBRyxFQUFFLEtBQUssS0FBSyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlOLEVBQXdCLCtCQUErQk8sQ0FBVyxFQUFFLENBQ2hGLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFFLEVBQXdCSCxHQUF5Q0EsRUFFakVJLEVBQWlCSixHQUF5QyxDQUNyRSxHQUFJLENBRUYsT0FEZUssRUFBOEJMLENBQVEsQ0FFdkQsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQXdCLDRCQUE0Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUMxSCxDQUNGLEVBRU1JLEVBQWlDTCxHQUF5QyxDQUM5RSxLQUFNLENBQ0osSUFBQU0sRUFDQSxLQUFBQyxFQUNBLEdBQUFDLEVBQ0EsS0FBQUMsRUFDQSxXQUFBQyxFQUNBLE1BQUFDLENBQ0YsRUFBSVgsRUFVSixPQVJvQk4sRUFBZ0IsQ0FDbEMsR0FBR0QsRUFBY08sQ0FBUSxFQUN6QixJQUFLTSxHQUFPRSxHQUFNRCxHQUFRRyxJQUFlLENBQUMsR0FBSXJCLEVBQWNpQixHQUFPRSxHQUFNLGFBQWFELEdBQVFHLENBQVUsRUFBRSxDQUFDLEVBQzNHLEdBQUlELEdBQVEsQ0FBQyxLQUFNbEIsRUFBYWtCLEVBQU0sRUFBRSxDQUFDLEVBQ3pDLElBQUtGLEdBQVFHLElBQWUsQ0FBQyxXQUFZcEIsRUFBUWlCLEdBQVFHLEdBQWMsRUFBRSxDQUFDLEVBQzFFLEdBQUlDLEdBQVMsQ0FBQyxNQUFPcEIsRUFBYW9CLEVBQU8sRUFBRSxDQUFDLENBQzlDLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VWYXJDaGFyIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAiUmVhY3Rpb25WYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJSZWFjdGlvbklucHV0U2NoZW1hIiwgInZhbGlkYXRlUmVhY3Rpb25JbnB1dCIsICJyZWFjdGlvbiIsICJlcnJvciIsICJmaWVsZEVycm9ycyIsICJmb3JtYXRSZWFjdGlvbk91dHB1dCIsICJwYXJzZVJlYWN0aW9uIiwgInBlcmZvcm1SZWFjdGlvblRyYW5zZm9ybWF0aW9uIiwgIl9pZCIsICJfa2V5IiwgImlkIiwgIm5hbWUiLCAicmVhY3Rpb25JZCIsICJ2YWx1ZSJdCn0K
1
+ import { parseArangoId, parseId, parseVarChar } from '@nlabs/utils';
2
+ import { z } from 'zod';
3
+ import { parseDocument, removeEmptyKeys } from '../arangoAdapter/arangoAdapter.js';
4
+ import { COLLECTIONS } from '../../constants/Collections.js';
5
+ export class ReactionValidationError extends Error {
6
+ field;
7
+ constructor(message, field){
8
+ super(message), this.field = field;
9
+ this.name = 'ReactionValidationError';
10
+ }
11
+ }
12
+ const ReactionInputSchema = z.object({
13
+ _id: z.string().optional(),
14
+ _key: z.string().optional(),
15
+ _rev: z.string().optional(),
16
+ _oldRev: z.string().optional(),
17
+ _from: z.string().optional(),
18
+ _to: z.string().optional(),
19
+ id: z.string().optional(),
20
+ name: z.string().max(32).optional(),
21
+ reactionId: z.string().optional(),
22
+ type: z.enum([
23
+ COLLECTIONS.APPS,
24
+ COLLECTIONS.CONVERSATIONS,
25
+ COLLECTIONS.FILES,
26
+ COLLECTIONS.GROUPS,
27
+ COLLECTIONS.IMAGES,
28
+ COLLECTIONS.MESSAGES,
29
+ COLLECTIONS.POSTS,
30
+ COLLECTIONS.PERSONAS,
31
+ COLLECTIONS.TAGS,
32
+ COLLECTIONS.USERS,
33
+ COLLECTIONS.VIDEOS
34
+ ]),
35
+ value: z.string().max(32).optional()
36
+ }).loose();
37
+ export const validateReactionInput = (reaction)=>{
38
+ try {
39
+ const validated = ReactionInputSchema.parse(reaction);
40
+ return validated;
41
+ } catch (error) {
42
+ if (error instanceof z.ZodError) {
43
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
44
+ throw new ReactionValidationError(`Reaction validation failed: ${fieldErrors}`);
45
+ }
46
+ throw error;
47
+ }
48
+ };
49
+ export const formatReactionOutput = (reaction)=>reaction;
50
+ export const parseReaction = (reaction)=>{
51
+ try {
52
+ const parsed = performReactionTransformation(reaction);
53
+ return parsed;
54
+ } catch (error) {
55
+ if (error instanceof ReactionValidationError) {
56
+ throw error;
57
+ }
58
+ throw new ReactionValidationError(`Reaction parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
59
+ }
60
+ };
61
+ const performReactionTransformation = (reaction)=>{
62
+ const { _id, _key, id, name, reactionId, value } = reaction;
63
+ const transformed = removeEmptyKeys({
64
+ ...parseDocument(reaction),
65
+ ...(_id || id || _key || reactionId) && {
66
+ id: parseArangoId(_id || id || `reactions/${_key || reactionId}`)
67
+ },
68
+ ...name && {
69
+ name: parseVarChar(name, 32)
70
+ },
71
+ ...(_key || reactionId) && {
72
+ reactionId: parseId(_key || reactionId || '')
73
+ },
74
+ ...value && {
75
+ value: parseVarChar(value, 32)
76
+ }
77
+ });
78
+ return transformed;
79
+ };
80
+
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvcmVhY3Rpb25BZGFwdGVyL3JlYWN0aW9uQWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZVZhckNoYXIgfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7IHBhcnNlRG9jdW1lbnQsIHJlbW92ZUVtcHR5S2V5cyB9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlci5qcyc7XG5pbXBvcnQge0NPTExFQ1RJT05TLCB0eXBlIENvbGxlY3Rpb25UeXBlfSBmcm9tICcuLi8uLi9jb25zdGFudHMvQ29sbGVjdGlvbnMuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0aW9uVHlwZSB7XG4gIF9pZD86IHN0cmluZztcbiAgX2tleT86IHN0cmluZztcbiAgX3Jldj86IHN0cmluZztcbiAgX29sZFJldj86IHN0cmluZztcbiAgX2Zyb20/OiBzdHJpbmc7XG4gIF90bz86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHJlYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBDb2xsZWN0aW9uVHlwZTtcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIFJlYWN0aW9uVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdSZWFjdGlvblZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgUmVhY3Rpb25JbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm1heCgzMikub3B0aW9uYWwoKSxcbiAgcmVhY3Rpb25JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0eXBlOiB6LmVudW0oW1xuICAgIENPTExFQ1RJT05TLkFQUFMsXG4gICAgQ09MTEVDVElPTlMuQ09OVkVSU0FUSU9OUyxcbiAgICBDT0xMRUNUSU9OUy5GSUxFUyxcbiAgICBDT0xMRUNUSU9OUy5HUk9VUFMsXG4gICAgQ09MTEVDVElPTlMuSU1BR0VTLFxuICAgIENPTExFQ1RJT05TLk1FU1NBR0VTLFxuICAgIENPTExFQ1RJT05TLlBPU1RTLFxuICAgIENPTExFQ1RJT05TLlBFUlNPTkFTLFxuICAgIENPTExFQ1RJT05TLlRBR1MsXG4gICAgQ09MTEVDVElPTlMuVVNFUlMsXG4gICAgQ09MTEVDVElPTlMuVklERU9TXG4gIF0pLFxuICB2YWx1ZTogei5zdHJpbmcoKS5tYXgoMzIpLm9wdGlvbmFsKClcbn0pLmxvb3NlKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWN0aW9uSW5wdXQgPSAocmVhY3Rpb246IHVua25vd24pOiBSZWFjdGlvblR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IFJlYWN0aW9uSW5wdXRTY2hlbWEucGFyc2UocmVhY3Rpb24pO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgUmVhY3Rpb25UeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IFJlYWN0aW9uVmFsaWRhdGlvbkVycm9yKGBSZWFjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRSZWFjdGlvbk91dHB1dCA9IChyZWFjdGlvbjogUmVhY3Rpb25UeXBlKTogUmVhY3Rpb25UeXBlID0+IHJlYWN0aW9uO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFjdGlvbiA9IChyZWFjdGlvbjogUmVhY3Rpb25UeXBlKTogUmVhY3Rpb25UeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtUmVhY3Rpb25UcmFuc2Zvcm1hdGlvbihyZWFjdGlvbik7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgUmVhY3Rpb25WYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgUmVhY3Rpb25WYWxpZGF0aW9uRXJyb3IoYFJlYWN0aW9uIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtUmVhY3Rpb25UcmFuc2Zvcm1hdGlvbiA9IChyZWFjdGlvbjogUmVhY3Rpb25UeXBlKTogUmVhY3Rpb25UeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGlkLFxuICAgIG5hbWUsXG4gICAgcmVhY3Rpb25JZCxcbiAgICB2YWx1ZVxuICB9ID0gcmVhY3Rpb247XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQocmVhY3Rpb24pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgcmVhY3Rpb25JZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgcmVhY3Rpb25zLyR7X2tleSB8fCByZWFjdGlvbklkfWApfSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlVmFyQ2hhcihuYW1lLCAzMil9KSxcbiAgICAuLi4oKF9rZXkgfHwgcmVhY3Rpb25JZCkgJiYge3JlYWN0aW9uSWQ6IHBhcnNlSWQoX2tleSB8fCByZWFjdGlvbklkIHx8ICcnKX0pLFxuICAgIC4uLih2YWx1ZSAmJiB7dmFsdWU6IHBhcnNlVmFyQ2hhcih2YWx1ZSwgMzIpfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTtcbiJdLCJuYW1lcyI6WyJwYXJzZUFyYW5nb0lkIiwicGFyc2VJZCIsInBhcnNlVmFyQ2hhciIsInoiLCJwYXJzZURvY3VtZW50IiwicmVtb3ZlRW1wdHlLZXlzIiwiQ09MTEVDVElPTlMiLCJSZWFjdGlvblZhbGlkYXRpb25FcnJvciIsIkVycm9yIiwibWVzc2FnZSIsImZpZWxkIiwibmFtZSIsIlJlYWN0aW9uSW5wdXRTY2hlbWEiLCJvYmplY3QiLCJfaWQiLCJzdHJpbmciLCJvcHRpb25hbCIsIl9rZXkiLCJfcmV2IiwiX29sZFJldiIsIl9mcm9tIiwiX3RvIiwiaWQiLCJtYXgiLCJyZWFjdGlvbklkIiwidHlwZSIsImVudW0iLCJBUFBTIiwiQ09OVkVSU0FUSU9OUyIsIkZJTEVTIiwiR1JPVVBTIiwiSU1BR0VTIiwiTUVTU0FHRVMiLCJQT1NUUyIsIlBFUlNPTkFTIiwiVEFHUyIsIlVTRVJTIiwiVklERU9TIiwidmFsdWUiLCJsb29zZSIsInZhbGlkYXRlUmVhY3Rpb25JbnB1dCIsInJlYWN0aW9uIiwidmFsaWRhdGVkIiwicGFyc2UiLCJlcnJvciIsIlpvZEVycm9yIiwiZmllbGRFcnJvcnMiLCJpc3N1ZXMiLCJtYXAiLCJlIiwicGF0aCIsImpvaW4iLCJmb3JtYXRSZWFjdGlvbk91dHB1dCIsInBhcnNlUmVhY3Rpb24iLCJwYXJzZWQiLCJwZXJmb3JtUmVhY3Rpb25UcmFuc2Zvcm1hdGlvbiIsInRyYW5zZm9ybWVkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxhQUFhLEVBQUVDLE9BQU8sRUFBRUMsWUFBWSxRQUFRLGVBQWU7QUFDcEUsU0FBU0MsQ0FBQyxRQUFRLE1BQU07QUFFeEIsU0FBU0MsYUFBYSxFQUFFQyxlQUFlLFFBQVEsb0NBQW9DO0FBQ25GLFNBQVFDLFdBQVcsUUFBNEIsaUNBQWlDO0FBaUJoRixPQUFPLE1BQU1DLGdDQUFnQ0M7O0lBQzNDLFlBQVlDLE9BQWUsRUFBRSxBQUFPQyxLQUFjLENBQUU7UUFDbEQsS0FBSyxDQUFDRCxlQUQ0QkMsUUFBQUE7UUFFbEMsSUFBSSxDQUFDQyxJQUFJLEdBQUc7SUFDZDtBQUNGO0FBRUEsTUFBTUMsc0JBQXNCVCxFQUFFVSxNQUFNLENBQUM7SUFDbkNDLEtBQUtYLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUN4QkMsTUFBTWQsRUFBRVksTUFBTSxHQUFHQyxRQUFRO0lBQ3pCRSxNQUFNZixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDekJHLFNBQVNoQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDNUJJLE9BQU9qQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDMUJLLEtBQUtsQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDeEJNLElBQUluQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDdkJMLE1BQU1SLEVBQUVZLE1BQU0sR0FBR1EsR0FBRyxDQUFDLElBQUlQLFFBQVE7SUFDakNRLFlBQVlyQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDL0JTLE1BQU10QixFQUFFdUIsSUFBSSxDQUFDO1FBQ1hwQixZQUFZcUIsSUFBSTtRQUNoQnJCLFlBQVlzQixhQUFhO1FBQ3pCdEIsWUFBWXVCLEtBQUs7UUFDakJ2QixZQUFZd0IsTUFBTTtRQUNsQnhCLFlBQVl5QixNQUFNO1FBQ2xCekIsWUFBWTBCLFFBQVE7UUFDcEIxQixZQUFZMkIsS0FBSztRQUNqQjNCLFlBQVk0QixRQUFRO1FBQ3BCNUIsWUFBWTZCLElBQUk7UUFDaEI3QixZQUFZOEIsS0FBSztRQUNqQjlCLFlBQVkrQixNQUFNO0tBQ25CO0lBQ0RDLE9BQU9uQyxFQUFFWSxNQUFNLEdBQUdRLEdBQUcsQ0FBQyxJQUFJUCxRQUFRO0FBQ3BDLEdBQUd1QixLQUFLO0FBRVIsT0FBTyxNQUFNQyx3QkFBd0IsQ0FBQ0M7SUFDcEMsSUFBSTtRQUNGLE1BQU1DLFlBQVk5QixvQkFBb0IrQixLQUFLLENBQUNGO1FBQzVDLE9BQU9DO0lBQ1QsRUFBRSxPQUFNRSxPQUFPO1FBQ2IsSUFBR0EsaUJBQWlCekMsRUFBRTBDLFFBQVEsRUFBRTtZQUM5QixNQUFNQyxjQUFjRixNQUFNRyxNQUFNLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFNLEdBQUdBLEVBQUVDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFRixFQUFFeEMsT0FBTyxFQUFFLEVBQUUwQyxJQUFJLENBQUM7WUFDdEYsTUFBTSxJQUFJNUMsd0JBQXdCLENBQUMsNEJBQTRCLEVBQUV1QyxhQUFhO1FBQ2hGO1FBQ0EsTUFBTUY7SUFDUjtBQUNGLEVBQUU7QUFFRixPQUFPLE1BQU1RLHVCQUF1QixDQUFDWCxXQUF5Q0EsU0FBUztBQUV2RixPQUFPLE1BQU1ZLGdCQUFnQixDQUFDWjtJQUM1QixJQUFJO1FBQ0YsTUFBTWEsU0FBU0MsOEJBQThCZDtRQUM3QyxPQUFPYTtJQUNULEVBQUUsT0FBTVYsT0FBTztRQUNiLElBQUdBLGlCQUFpQnJDLHlCQUF5QjtZQUMzQyxNQUFNcUM7UUFDUjtRQUNBLE1BQU0sSUFBSXJDLHdCQUF3QixDQUFDLHlCQUF5QixFQUFFcUMsaUJBQWlCcEMsUUFBUW9DLE1BQU1uQyxPQUFPLEdBQUcsaUJBQWlCO0lBQzFIO0FBQ0YsRUFBRTtBQUVGLE1BQU04QyxnQ0FBZ0MsQ0FBQ2Q7SUFDckMsTUFBTSxFQUNKM0IsR0FBRyxFQUNIRyxJQUFJLEVBQ0pLLEVBQUUsRUFDRlgsSUFBSSxFQUNKYSxVQUFVLEVBQ1ZjLEtBQUssRUFDTixHQUFHRztJQUVKLE1BQU1lLGNBQWNuRCxnQkFBZ0I7UUFDbEMsR0FBR0QsY0FBY3FDLFNBQVM7UUFDMUIsR0FBSSxBQUFDM0IsQ0FBQUEsT0FBT1EsTUFBTUwsUUFBUU8sVUFBUyxLQUFNO1lBQUNGLElBQUl0QixjQUFjYyxPQUFPUSxNQUFNLENBQUMsVUFBVSxFQUFFTCxRQUFRTyxZQUFZO1FBQUMsQ0FBQztRQUM1RyxHQUFJYixRQUFRO1lBQUNBLE1BQU1ULGFBQWFTLE1BQU07UUFBRyxDQUFDO1FBQzFDLEdBQUksQUFBQ00sQ0FBQUEsUUFBUU8sVUFBUyxLQUFNO1lBQUNBLFlBQVl2QixRQUFRZ0IsUUFBUU8sY0FBYztRQUFHLENBQUM7UUFDM0UsR0FBSWMsU0FBUztZQUFDQSxPQUFPcEMsYUFBYW9DLE9BQU87UUFBRyxDQUFDO0lBQy9DO0lBRUEsT0FBT2tCO0FBQ1QifQ==
@@ -1,6 +1,6 @@
1
1
  export declare class ReaktorValidationError extends Error {
2
- field?: string | undefined;
3
- constructor(message: string, field?: string | undefined);
2
+ field?: string;
3
+ constructor(message: string, field?: string);
4
4
  }
5
5
  export declare const validateReaktorContent: (content?: string, length?: number) => string | undefined;
6
6
  export declare const validateReaktorDate: (date?: number) => number | undefined;
@@ -14,3 +14,4 @@ export declare const parseReaktorItemId: (itemId?: string) => string | undefined
14
14
  export declare const parseReaktorName: (name?: string) => string | undefined;
15
15
  export declare const parseReaktorType: (type?: string) => string | undefined;
16
16
  export declare const parseReaktorUrl: (url?: string) => string | undefined;
17
+ //# sourceMappingURL=reaktorAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reaktorAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/reaktorAdapter/reaktorAdapter.ts"],"names":[],"mappings":"AAEA,qBAAa,sBAAuB,SAAQ,KAAK;IACX,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAED,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,EAAE,SAAQ,MAAY,KAAG,MAAM,GAAG,SAMxF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SAM5D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,SAMhE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SAM5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SAM5D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAM1D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,EAAE,SAAQ,MAAY,KAAG,MAAM,GAAG,SAChC,CAAC;AAEvD,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SACjB,CAAC;AAE1C,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,SACtB,CAAC;AAEzC,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SACb,CAAC;AAE9C,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SACZ,CAAC;AAE/C,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SACrB,CAAC"}
@@ -1,2 +1,58 @@
1
- import{parseId as a,parseNum as i,parseString as o,parseUrl as s,parseVarChar as d}from"@nlabs/utils";class n extends Error{constructor(t,m){super(t);this.field=m;this.name="ReaktorValidationError"}}const w=(r,e=500)=>{try{return c(r,e)}catch(t){throw new n(`Content validation failed: ${t instanceof Error?t.message:"Unknown error"}`,"content")}},R=r=>{try{return u(r)}catch(e){throw new n(`Date validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"date")}},h=r=>{try{return f(r)}catch(e){throw new n(`Item ID validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"itemId")}},x=r=>{try{return p(r)}catch(e){throw new n(`Name validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"name")}},v=r=>{try{return g(r)}catch(e){throw new n(`Type validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"type")}},U=r=>{try{return l(r)}catch(e){throw new n(`URL validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"url")}},c=(r,e=500)=>r?o(r,e):void 0,u=r=>r?i(r,13):void 0,f=r=>r?a(r):void 0,p=r=>r?o(r,160):void 0,g=r=>r?d(r,160):void 0,l=r=>r?s(r):void 0;export{n as ReaktorValidationError,c as parseReaktorContent,u as parseReaktorDate,f as parseReaktorItemId,p as parseReaktorName,g as parseReaktorType,l as parseReaktorUrl,w as validateReaktorContent,R as validateReaktorDate,h as validateReaktorItemId,x as validateReaktorName,v as validateReaktorType,U as validateReaktorUrl};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3JlYWt0b3JBZGFwdGVyL3JlYWt0b3JBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VVcmwsIHBhcnNlVmFyQ2hhcn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1JlYWt0b3JWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JDb250ZW50ID0gKGNvbnRlbnQ/OiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyID0gNTAwKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50LCBsZW5ndGgpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYENvbnRlbnQgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ2NvbnRlbnQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3RvckRhdGUgPSAoZGF0ZT86IG51bWJlcik6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3RvckRhdGUoZGF0ZSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgRGF0ZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAnZGF0ZScpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9ySXRlbUlkID0gKGl0ZW1JZD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3Rvckl0ZW1JZChpdGVtSWQpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYEl0ZW0gSUQgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ2l0ZW1JZCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9yTmFtZSA9IChuYW1lPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yTmFtZShuYW1lKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBOYW1lIHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICduYW1lJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JUeXBlID0gKHR5cGU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JUeXBlKHR5cGUpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYFR5cGUgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ3R5cGUnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3RvclVybCA9ICh1cmw/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JVcmwodXJsKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBVUkwgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ3VybCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yQ29udGVudCA9IChjb250ZW50Pzogc3RyaW5nLCBsZW5ndGg6IG51bWJlciA9IDUwMCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAoY29udGVudCA/IHBhcnNlU3RyaW5nKGNvbnRlbnQsIGxlbmd0aCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yRGF0ZSA9IChkYXRlPzogbnVtYmVyKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+XG4gIChkYXRlID8gcGFyc2VOdW0oZGF0ZSwgMTMpIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3Rvckl0ZW1JZCA9IChpdGVtSWQ/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKGl0ZW1JZCA/IHBhcnNlSWQoaXRlbUlkKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JOYW1lID0gKG5hbWU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKG5hbWUgPyBwYXJzZVN0cmluZyhuYW1lLCAxNjApIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvclR5cGUgPSAodHlwZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAodHlwZSA/IHBhcnNlVmFyQ2hhcih0eXBlLCAxNjApIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvclVybCA9ICh1cmw/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKHVybCA/IHBhcnNlVXJsKHVybCkgOiB1bmRlZmluZWQpOyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsV0FBQUEsRUFBUyxZQUFBQyxFQUFVLGVBQUFDLEVBQWEsWUFBQUMsRUFBVSxnQkFBQUMsTUFBbUIsZUFFOUQsTUFBTUMsVUFBK0IsS0FBTSxDQUNoRCxZQUFZQyxFQUF3QkMsRUFBZ0IsQ0FDbEQsTUFBTUQsQ0FBTyxFQURxQixXQUFBQyxFQUVsQyxLQUFLLEtBQU8sd0JBQ2QsQ0FDRixDQUVPLE1BQU1DLEVBQXlCLENBQUNDLEVBQWtCQyxFQUFpQixNQUE0QixDQUNwRyxHQUFJLENBQ0YsT0FBT0MsRUFBb0JGLEVBQVNDLENBQU0sQ0FDNUMsT0FBUUUsRUFBTyxDQUNiLE1BQU0sSUFBSVAsRUFBdUIsOEJBQThCTyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxHQUFJLFNBQVMsQ0FDdEksQ0FDRixFQUVhQyxFQUF1QkMsR0FBc0MsQ0FDeEUsR0FBSSxDQUNGLE9BQU9DLEVBQWlCRCxDQUFJLENBQzlCLE9BQVFGLEVBQU8sQ0FDYixNQUFNLElBQUlQLEVBQXVCLDJCQUEyQk8sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsR0FBSSxNQUFNLENBQ2hJLENBQ0YsRUFFYUksRUFBeUJDLEdBQXdDLENBQzVFLEdBQUksQ0FDRixPQUFPQyxFQUFtQkQsQ0FBTSxDQUNsQyxPQUFRTCxFQUFPLENBQ2IsTUFBTSxJQUFJUCxFQUF1Qiw4QkFBOEJPLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEdBQUksUUFBUSxDQUNySSxDQUNGLEVBRWFPLEVBQXVCQyxHQUFzQyxDQUN4RSxHQUFJLENBQ0YsT0FBT0MsRUFBaUJELENBQUksQ0FDOUIsT0FBUVIsRUFBTyxDQUNiLE1BQU0sSUFBSVAsRUFBdUIsMkJBQTJCTyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxHQUFJLE1BQU0sQ0FDaEksQ0FDRixFQUVhVSxFQUF1QkMsR0FBc0MsQ0FDeEUsR0FBSSxDQUNGLE9BQU9DLEVBQWlCRCxDQUFJLENBQzlCLE9BQVFYLEVBQU8sQ0FDYixNQUFNLElBQUlQLEVBQXVCLDJCQUEyQk8sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsR0FBSSxNQUFNLENBQ2hJLENBQ0YsRUFFYWEsRUFBc0JDLEdBQXFDLENBQ3RFLEdBQUksQ0FDRixPQUFPQyxFQUFnQkQsQ0FBRyxDQUM1QixPQUFRZCxFQUFPLENBQ2IsTUFBTSxJQUFJUCxFQUF1QiwwQkFBMEJPLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEdBQUksS0FBSyxDQUM5SCxDQUNGLEVBRWFELEVBQXNCLENBQUNGLEVBQWtCQyxFQUFpQixNQUNwRUQsRUFBVVAsRUFBWU8sRUFBU0MsQ0FBTSxFQUFJLE9BRS9CSyxFQUFvQkQsR0FDOUJBLEVBQU9iLEVBQVNhLEVBQU0sRUFBRSxFQUFJLE9BRWxCSSxFQUFzQkQsR0FDaENBLEVBQVNqQixFQUFRaUIsQ0FBTSxFQUFJLE9BRWpCSSxFQUFvQkQsR0FDOUJBLEVBQU9sQixFQUFZa0IsRUFBTSxHQUFHLEVBQUksT0FFdEJJLEVBQW9CRCxHQUM5QkEsRUFBT25CLEVBQWFtQixFQUFNLEdBQUcsRUFBSSxPQUV2QkksRUFBbUJELEdBQzdCQSxFQUFNdkIsRUFBU3VCLENBQUcsRUFBSSIsCiAgIm5hbWVzIjogWyJwYXJzZUlkIiwgInBhcnNlTnVtIiwgInBhcnNlU3RyaW5nIiwgInBhcnNlVXJsIiwgInBhcnNlVmFyQ2hhciIsICJSZWFrdG9yVmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAidmFsaWRhdGVSZWFrdG9yQ29udGVudCIsICJjb250ZW50IiwgImxlbmd0aCIsICJwYXJzZVJlYWt0b3JDb250ZW50IiwgImVycm9yIiwgInZhbGlkYXRlUmVha3RvckRhdGUiLCAiZGF0ZSIsICJwYXJzZVJlYWt0b3JEYXRlIiwgInZhbGlkYXRlUmVha3Rvckl0ZW1JZCIsICJpdGVtSWQiLCAicGFyc2VSZWFrdG9ySXRlbUlkIiwgInZhbGlkYXRlUmVha3Rvck5hbWUiLCAibmFtZSIsICJwYXJzZVJlYWt0b3JOYW1lIiwgInZhbGlkYXRlUmVha3RvclR5cGUiLCAidHlwZSIsICJwYXJzZVJlYWt0b3JUeXBlIiwgInZhbGlkYXRlUmVha3RvclVybCIsICJ1cmwiLCAicGFyc2VSZWFrdG9yVXJsIl0KfQo=
1
+ import { parseId, parseNum, parseString, parseUrl, parseVarChar } from '@nlabs/utils';
2
+ export class ReaktorValidationError extends Error {
3
+ field;
4
+ constructor(message, field){
5
+ super(message), this.field = field;
6
+ this.name = 'ReaktorValidationError';
7
+ }
8
+ }
9
+ export const validateReaktorContent = (content, length = 500)=>{
10
+ try {
11
+ return parseReaktorContent(content, length);
12
+ } catch (error) {
13
+ throw new ReaktorValidationError(`Content validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'content');
14
+ }
15
+ };
16
+ export const validateReaktorDate = (date)=>{
17
+ try {
18
+ return parseReaktorDate(date);
19
+ } catch (error) {
20
+ throw new ReaktorValidationError(`Date validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'date');
21
+ }
22
+ };
23
+ export const validateReaktorItemId = (itemId)=>{
24
+ try {
25
+ return parseReaktorItemId(itemId);
26
+ } catch (error) {
27
+ throw new ReaktorValidationError(`Item ID validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'itemId');
28
+ }
29
+ };
30
+ export const validateReaktorName = (name)=>{
31
+ try {
32
+ return parseReaktorName(name);
33
+ } catch (error) {
34
+ throw new ReaktorValidationError(`Name validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'name');
35
+ }
36
+ };
37
+ export const validateReaktorType = (type)=>{
38
+ try {
39
+ return parseReaktorType(type);
40
+ } catch (error) {
41
+ throw new ReaktorValidationError(`Type validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'type');
42
+ }
43
+ };
44
+ export const validateReaktorUrl = (url)=>{
45
+ try {
46
+ return parseReaktorUrl(url);
47
+ } catch (error) {
48
+ throw new ReaktorValidationError(`URL validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'url');
49
+ }
50
+ };
51
+ export const parseReaktorContent = (content, length = 500)=>content ? parseString(content, length) : undefined;
52
+ export const parseReaktorDate = (date)=>date ? parseNum(date, 13) : undefined;
53
+ export const parseReaktorItemId = (itemId)=>itemId ? parseId(itemId) : undefined;
54
+ export const parseReaktorName = (name)=>name ? parseString(name, 160) : undefined;
55
+ export const parseReaktorType = (type)=>type ? parseVarChar(type, 160) : undefined;
56
+ export const parseReaktorUrl = (url)=>url ? parseUrl(url) : undefined;
57
+
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvcmVha3RvckFkYXB0ZXIvcmVha3RvckFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZUlkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmcsIHBhcnNlVXJsLCBwYXJzZVZhckNoYXJ9IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdSZWFrdG9yVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9yQ29udGVudCA9IChjb250ZW50Pzogc3RyaW5nLCBsZW5ndGg6IG51bWJlciA9IDUwMCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3RvckNvbnRlbnQoY29udGVudCwgbGVuZ3RoKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBDb250ZW50IHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICdjb250ZW50Jyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JEYXRlID0gKGRhdGU/OiBudW1iZXIpOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JEYXRlKGRhdGUpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYERhdGUgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ2RhdGUnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3Rvckl0ZW1JZCA9IChpdGVtSWQ/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JJdGVtSWQoaXRlbUlkKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBJdGVtIElEIHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICdpdGVtSWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3Rvck5hbWUgPSAobmFtZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3Rvck5hbWUobmFtZSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgTmFtZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAnbmFtZScpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9yVHlwZSA9ICh0eXBlPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yVHlwZSh0eXBlKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBUeXBlIHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICd0eXBlJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JVcmwgPSAodXJsPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yVXJsKHVybCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgVVJMIHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICd1cmwnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvckNvbnRlbnQgPSAoY29udGVudD86IHN0cmluZywgbGVuZ3RoOiBudW1iZXIgPSA1MDApOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKGNvbnRlbnQgPyBwYXJzZVN0cmluZyhjb250ZW50LCBsZW5ndGgpIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvckRhdGUgPSAoZGF0ZT86IG51bWJlcik6IG51bWJlciB8IHVuZGVmaW5lZCA9PlxuICAoZGF0ZSA/IHBhcnNlTnVtKGRhdGUsIDEzKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JJdGVtSWQgPSAoaXRlbUlkPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+XG4gIChpdGVtSWQgPyBwYXJzZUlkKGl0ZW1JZCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yTmFtZSA9IChuYW1lPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+XG4gIChuYW1lID8gcGFyc2VTdHJpbmcobmFtZSwgMTYwKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JUeXBlID0gKHR5cGU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKHR5cGUgPyBwYXJzZVZhckNoYXIodHlwZSwgMTYwKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JVcmwgPSAodXJsPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+XG4gICh1cmwgPyBwYXJzZVVybCh1cmwpIDogdW5kZWZpbmVkKTsiXSwibmFtZXMiOlsicGFyc2VJZCIsInBhcnNlTnVtIiwicGFyc2VTdHJpbmciLCJwYXJzZVVybCIsInBhcnNlVmFyQ2hhciIsIlJlYWt0b3JWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJ2YWxpZGF0ZVJlYWt0b3JDb250ZW50IiwiY29udGVudCIsImxlbmd0aCIsInBhcnNlUmVha3RvckNvbnRlbnQiLCJlcnJvciIsInZhbGlkYXRlUmVha3RvckRhdGUiLCJkYXRlIiwicGFyc2VSZWFrdG9yRGF0ZSIsInZhbGlkYXRlUmVha3Rvckl0ZW1JZCIsIml0ZW1JZCIsInBhcnNlUmVha3Rvckl0ZW1JZCIsInZhbGlkYXRlUmVha3Rvck5hbWUiLCJwYXJzZVJlYWt0b3JOYW1lIiwidmFsaWRhdGVSZWFrdG9yVHlwZSIsInR5cGUiLCJwYXJzZVJlYWt0b3JUeXBlIiwidmFsaWRhdGVSZWFrdG9yVXJsIiwidXJsIiwicGFyc2VSZWFrdG9yVXJsIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxRQUFRLEVBQUVDLFlBQVksUUFBTyxlQUFlO0FBRXBGLE9BQU8sTUFBTUMsK0JBQStCQzs7SUFDMUMsWUFBWUMsT0FBZSxFQUFFLEFBQU9DLEtBQWMsQ0FBRTtRQUNsRCxLQUFLLENBQUNELGVBRDRCQyxRQUFBQTtRQUVsQyxJQUFJLENBQUNDLElBQUksR0FBRztJQUNkO0FBQ0Y7QUFF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
@@ -15,9 +15,10 @@ export interface SessionType {
15
15
  [key: string]: any;
16
16
  }
17
17
  export declare class SessionValidationError extends Error {
18
- field?: string | undefined;
19
- constructor(message: string, field?: string | undefined);
18
+ field?: string;
19
+ constructor(message: string, field?: string);
20
20
  }
21
21
  export declare const validateSessionInput: (session: unknown) => SessionType;
22
22
  export declare const formatSessionOutput: (session: SessionType) => SessionType;
23
23
  export declare const parseSession: (session: SessionType) => SessionType;
24
+ //# sourceMappingURL=sessionAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/sessionAdapter/sessionAdapter.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IACX,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAkBD,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,KAAG,WAWvD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,WAAW,KAAG,WAAsB,CAAC;AAElF,eAAO,MAAM,YAAY,GAAI,SAAS,WAAW,KAAG,WAUnD,CAAC"}
@@ -1,2 +1,80 @@
1
- import{parseArangoId as c,parseId as g,parseUsername as f}from"@nlabs/utils";import{z as s}from"zod";import{parseDocument as S,removeEmptyKeys as y}from"../arangoAdapter/arangoAdapter";import{parseReaktorDate as l}from"../reaktorAdapter/reaktorAdapter";class t extends Error{constructor(n,o){super(n);this.field=o;this.name="SessionValidationError"}}const _=s.object({_id:s.string().optional(),_key:s.string().optional(),_rev:s.string().optional(),_oldRev:s.string().optional(),_from:s.string().optional(),_to:s.string().optional(),expires:s.number().optional(),id:s.string().optional(),issued:s.number().optional(),sessionId:s.string().optional(),token:s.string().optional(),userId:s.string().optional(),username:s.string().optional()}).passthrough(),w=r=>{try{return _.parse(r)}catch(e){if(e instanceof s.ZodError){const n=e.issues.map(o=>`${o.path.join(".")}: ${o.message}`).join(", ");throw new t(`Session validation failed: ${n}`)}throw e}},E=r=>r,b=r=>{try{return I(r)}catch(e){throw e instanceof t?e:new t(`Session parsing failed: ${e instanceof Error?e.message:"Unknown error"}`)}},I=r=>{const{_id:e,_key:n,expires:o,id:a,issued:p,sessionId:i,token:d,userId:m,username:u}=r;return y({...S(r),...o!==void 0&&{expires:l(o)},...(e||a||n||i)&&{id:c(e||a||`sessions/${n||i}`)},...p!==void 0&&{issued:l(p)},...(n||i)&&{sessionId:g(n||i||"")},...d&&{token:d},...m&&{userId:g(m)},...u&&{username:f(u)}})};export{t as SessionValidationError,E as formatSessionOutput,b as parseSession,w as validateSessionInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3Nlc3Npb25BZGFwdGVyL3Nlc3Npb25BZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlVXNlcm5hbWV9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudCwgcmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXInO1xuaW1wb3J0IHtwYXJzZVJlYWt0b3JEYXRlfSBmcm9tICcuLi9yZWFrdG9yQWRhcHRlci9yZWFrdG9yQWRhcHRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvblR5cGUge1xuICBfaWQ/OiBzdHJpbmc7XG4gIF9rZXk/OiBzdHJpbmc7XG4gIF9yZXY/OiBzdHJpbmc7XG4gIF9vbGRSZXY/OiBzdHJpbmc7XG4gIF9mcm9tPzogc3RyaW5nO1xuICBfdG8/OiBzdHJpbmc7XG4gIGV4cGlyZXM/OiBudW1iZXI7XG4gIGlkPzogc3RyaW5nO1xuICBpc3N1ZWQ/OiBudW1iZXI7XG4gIHNlc3Npb25JZD86IHN0cmluZztcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIFNlc3Npb25WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1Nlc3Npb25WYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFNlc3Npb25JbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBleHBpcmVzOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGlzc3VlZDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBzZXNzaW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdG9rZW46IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzZXJuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVNlc3Npb25JbnB1dCA9IChzZXNzaW9uOiB1bmtub3duKTogU2Vzc2lvblR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IFNlc3Npb25JbnB1dFNjaGVtYS5wYXJzZShzZXNzaW9uKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIFNlc3Npb25UeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IFNlc3Npb25WYWxpZGF0aW9uRXJyb3IoYFNlc3Npb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0U2Vzc2lvbk91dHB1dCA9IChzZXNzaW9uOiBTZXNzaW9uVHlwZSk6IFNlc3Npb25UeXBlID0+IHNlc3Npb247XG5cbmV4cG9ydCBjb25zdCBwYXJzZVNlc3Npb24gPSAoc2Vzc2lvbjogU2Vzc2lvblR5cGUpOiBTZXNzaW9uVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybVNlc3Npb25UcmFuc2Zvcm1hdGlvbihzZXNzaW9uKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBTZXNzaW9uVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFNlc3Npb25WYWxpZGF0aW9uRXJyb3IoYFNlc3Npb24gcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1TZXNzaW9uVHJhbnNmb3JtYXRpb24gPSAoc2Vzc2lvbjogU2Vzc2lvblR5cGUpOiBTZXNzaW9uVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBleHBpcmVzLFxuICAgIGlkLFxuICAgIGlzc3VlZCxcbiAgICBzZXNzaW9uSWQsXG4gICAgdG9rZW4sXG4gICAgdXNlcklkLFxuICAgIHVzZXJuYW1lXG4gIH0gPSBzZXNzaW9uO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KHNlc3Npb24pLFxuICAgIC4uLihleHBpcmVzICE9PSB1bmRlZmluZWQgJiYge2V4cGlyZXM6IHBhcnNlUmVha3RvckRhdGUoZXhwaXJlcyl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IHNlc3Npb25JZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgc2Vzc2lvbnMvJHtfa2V5IHx8IHNlc3Npb25JZH1gKX0pLFxuICAgIC4uLihpc3N1ZWQgIT09IHVuZGVmaW5lZCAmJiB7aXNzdWVkOiBwYXJzZVJlYWt0b3JEYXRlKGlzc3VlZCl9KSxcbiAgICAuLi4oKF9rZXkgfHwgc2Vzc2lvbklkKSAmJiB7c2Vzc2lvbklkOiBwYXJzZUlkKF9rZXkgfHwgc2Vzc2lvbklkIHx8ICcnKX0pLFxuICAgIC4uLih0b2tlbiAmJiB7dG9rZW59KSxcbiAgICAuLi4odXNlcklkICYmIHt1c2VySWQ6IHBhcnNlSWQodXNlcklkKX0pLFxuICAgIC4uLih1c2VybmFtZSAmJiB7dXNlcm5hbWU6IHBhcnNlVXNlcm5hbWUodXNlcm5hbWUpfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLGlCQUFBQSxFQUFlLFdBQUFDLEVBQVMsaUJBQUFDLE1BQW9CLGVBQ3BELE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxFQUFlLG1CQUFBQyxNQUFzQixpQ0FDN0MsT0FBUSxvQkFBQUMsTUFBdUIsbUNBbUJ4QixNQUFNQyxVQUErQixLQUFNLENBQ2hELFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyx3QkFDZCxDQUNGLENBRUEsTUFBTUMsRUFBcUJQLEVBQUUsT0FBTyxDQUNsQyxJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLEdBQUlBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDeEIsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM1QixVQUFXQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQy9CLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM1QixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQ2hDLENBQUMsRUFBRSxZQUFZLEVBRUZRLEVBQXdCQyxHQUFrQyxDQUNyRSxHQUFJLENBRUYsT0FEa0JGLEVBQW1CLE1BQU1FLENBQU8sQ0FFcEQsT0FBUUMsRUFBTyxDQUNiLEdBQUdBLGFBQWlCVixFQUFFLFNBQVUsQ0FDOUIsTUFBTVcsRUFBY0QsRUFBTSxPQUFPLElBQUtFLEdBQU0sR0FBR0EsRUFBRSxLQUFLLEtBQUssR0FBRyxDQUFDLEtBQUtBLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQzFGLE1BQU0sSUFBSVIsRUFBdUIsOEJBQThCTyxDQUFXLEVBQUUsQ0FDOUUsQ0FDQSxNQUFNRCxDQUNSLENBQ0YsRUFFYUcsRUFBdUJKLEdBQXNDQSxFQUU3REssRUFBZ0JMLEdBQXNDLENBQ2pFLEdBQUksQ0FFRixPQURlTSxFQUE2Qk4sQ0FBTyxDQUVyRCxPQUFRQyxFQUFPLENBQ2IsTUFBR0EsYUFBaUJOLEVBQ1pNLEVBRUYsSUFBSU4sRUFBdUIsMkJBQTJCTSxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxFQUFFLENBQ3hILENBQ0YsRUFFTUssRUFBZ0NOLEdBQXNDLENBQzFFLEtBQU0sQ0FDSixJQUFBTyxFQUNBLEtBQUFDLEVBQ0EsUUFBQUMsRUFDQSxHQUFBQyxFQUNBLE9BQUFDLEVBQ0EsVUFBQUMsRUFDQSxNQUFBQyxFQUNBLE9BQUFDLEVBQ0EsU0FBQUMsQ0FDRixFQUFJZixFQWFKLE9BWG9CUCxFQUFnQixDQUNsQyxHQUFHRCxFQUFjUSxDQUFPLEVBQ3hCLEdBQUlTLElBQVksUUFBYSxDQUFDLFFBQVNmLEVBQWlCZSxDQUFPLENBQUMsRUFDaEUsSUFBS0YsR0FBT0csR0FBTUYsR0FBUUksSUFBYyxDQUFDLEdBQUl4QixFQUFjbUIsR0FBT0csR0FBTSxZQUFZRixHQUFRSSxDQUFTLEVBQUUsQ0FBQyxFQUN4RyxHQUFJRCxJQUFXLFFBQWEsQ0FBQyxPQUFRakIsRUFBaUJpQixDQUFNLENBQUMsRUFDN0QsSUFBS0gsR0FBUUksSUFBYyxDQUFDLFVBQVd2QixFQUFRbUIsR0FBUUksR0FBYSxFQUFFLENBQUMsRUFDdkUsR0FBSUMsR0FBUyxDQUFDLE1BQUFBLENBQUssRUFDbkIsR0FBSUMsR0FBVSxDQUFDLE9BQVF6QixFQUFReUIsQ0FBTSxDQUFDLEVBQ3RDLEdBQUlDLEdBQVksQ0FBQyxTQUFVekIsRUFBY3lCLENBQVEsQ0FBQyxDQUNwRCxDQUFDLENBR0giLAogICJuYW1lcyI6IFsicGFyc2VBcmFuZ29JZCIsICJwYXJzZUlkIiwgInBhcnNlVXNlcm5hbWUiLCAieiIsICJwYXJzZURvY3VtZW50IiwgInJlbW92ZUVtcHR5S2V5cyIsICJwYXJzZVJlYWt0b3JEYXRlIiwgIlNlc3Npb25WYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJTZXNzaW9uSW5wdXRTY2hlbWEiLCAidmFsaWRhdGVTZXNzaW9uSW5wdXQiLCAic2Vzc2lvbiIsICJlcnJvciIsICJmaWVsZEVycm9ycyIsICJlIiwgImZvcm1hdFNlc3Npb25PdXRwdXQiLCAicGFyc2VTZXNzaW9uIiwgInBlcmZvcm1TZXNzaW9uVHJhbnNmb3JtYXRpb24iLCAiX2lkIiwgIl9rZXkiLCAiZXhwaXJlcyIsICJpZCIsICJpc3N1ZWQiLCAic2Vzc2lvbklkIiwgInRva2VuIiwgInVzZXJJZCIsICJ1c2VybmFtZSJdCn0K
1
+ import { parseArangoId, parseId, parseUsername } from '@nlabs/utils';
2
+ import { z } from 'zod';
3
+ import { parseDocument, removeEmptyKeys } from '../arangoAdapter/arangoAdapter.js';
4
+ import { parseReaktorDate } from '../reaktorAdapter/reaktorAdapter.js';
5
+ export class SessionValidationError extends Error {
6
+ field;
7
+ constructor(message, field){
8
+ super(message), this.field = field;
9
+ this.name = 'SessionValidationError';
10
+ }
11
+ }
12
+ const SessionInputSchema = z.object({
13
+ _id: z.string().optional(),
14
+ _key: z.string().optional(),
15
+ _rev: z.string().optional(),
16
+ _oldRev: z.string().optional(),
17
+ _from: z.string().optional(),
18
+ _to: z.string().optional(),
19
+ expires: z.number().optional(),
20
+ id: z.string().optional(),
21
+ issued: z.number().optional(),
22
+ sessionId: z.string().optional(),
23
+ token: z.string().optional(),
24
+ userId: z.string().optional(),
25
+ username: z.string().optional()
26
+ }).loose();
27
+ export const validateSessionInput = (session)=>{
28
+ try {
29
+ const validated = SessionInputSchema.parse(session);
30
+ return validated;
31
+ } catch (error) {
32
+ if (error instanceof z.ZodError) {
33
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
34
+ throw new SessionValidationError(`Session validation failed: ${fieldErrors}`);
35
+ }
36
+ throw error;
37
+ }
38
+ };
39
+ export const formatSessionOutput = (session)=>session;
40
+ export const parseSession = (session)=>{
41
+ try {
42
+ const parsed = performSessionTransformation(session);
43
+ return parsed;
44
+ } catch (error) {
45
+ if (error instanceof SessionValidationError) {
46
+ throw error;
47
+ }
48
+ throw new SessionValidationError(`Session parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
49
+ }
50
+ };
51
+ const performSessionTransformation = (session)=>{
52
+ const { _id, _key, expires, id, issued, sessionId, token, userId, username } = session;
53
+ const transformed = removeEmptyKeys({
54
+ ...parseDocument(session),
55
+ ...expires !== undefined && {
56
+ expires: parseReaktorDate(expires)
57
+ },
58
+ ...(_id || id || _key || sessionId) && {
59
+ id: parseArangoId(_id || id || `sessions/${_key || sessionId}`)
60
+ },
61
+ ...issued !== undefined && {
62
+ issued: parseReaktorDate(issued)
63
+ },
64
+ ...(_key || sessionId) && {
65
+ sessionId: parseId(_key || sessionId || '')
66
+ },
67
+ ...token && {
68
+ token
69
+ },
70
+ ...userId && {
71
+ userId: parseId(userId)
72
+ },
73
+ ...username && {
74
+ username: parseUsername(username)
75
+ }
76
+ });
77
+ return transformed;
78
+ };
79
+
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvc2Vzc2lvbkFkYXB0ZXIvc2Vzc2lvbkFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VVc2VybmFtZSB9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcblxuaW1wb3J0IHsgcGFyc2VEb2N1bWVudCwgcmVtb3ZlRW1wdHlLZXlzIH0gZnJvbSAnLi4vYXJhbmdvQWRhcHRlci9hcmFuZ29BZGFwdGVyLmpzJztcbmltcG9ydCB7IHBhcnNlUmVha3RvckRhdGUgfSBmcm9tICcuLi9yZWFrdG9yQWRhcHRlci9yZWFrdG9yQWRhcHRlci5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvblR5cGUge1xuICBfaWQ/OiBzdHJpbmc7XG4gIF9rZXk/OiBzdHJpbmc7XG4gIF9yZXY/OiBzdHJpbmc7XG4gIF9vbGRSZXY/OiBzdHJpbmc7XG4gIF9mcm9tPzogc3RyaW5nO1xuICBfdG8/OiBzdHJpbmc7XG4gIGV4cGlyZXM/OiBudW1iZXI7XG4gIGlkPzogc3RyaW5nO1xuICBpc3N1ZWQ/OiBudW1iZXI7XG4gIHNlc3Npb25JZD86IHN0cmluZztcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIFNlc3Npb25WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1Nlc3Npb25WYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFNlc3Npb25JbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBleHBpcmVzOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGlzc3VlZDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBzZXNzaW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdG9rZW46IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzZXJuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLmxvb3NlKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVNlc3Npb25JbnB1dCA9IChzZXNzaW9uOiB1bmtub3duKTogU2Vzc2lvblR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IFNlc3Npb25JbnB1dFNjaGVtYS5wYXJzZShzZXNzaW9uKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIFNlc3Npb25UeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IFNlc3Npb25WYWxpZGF0aW9uRXJyb3IoYFNlc3Npb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0U2Vzc2lvbk91dHB1dCA9IChzZXNzaW9uOiBTZXNzaW9uVHlwZSk6IFNlc3Npb25UeXBlID0+IHNlc3Npb247XG5cbmV4cG9ydCBjb25zdCBwYXJzZVNlc3Npb24gPSAoc2Vzc2lvbjogU2Vzc2lvblR5cGUpOiBTZXNzaW9uVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybVNlc3Npb25UcmFuc2Zvcm1hdGlvbihzZXNzaW9uKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBTZXNzaW9uVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFNlc3Npb25WYWxpZGF0aW9uRXJyb3IoYFNlc3Npb24gcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1TZXNzaW9uVHJhbnNmb3JtYXRpb24gPSAoc2Vzc2lvbjogU2Vzc2lvblR5cGUpOiBTZXNzaW9uVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBleHBpcmVzLFxuICAgIGlkLFxuICAgIGlzc3VlZCxcbiAgICBzZXNzaW9uSWQsXG4gICAgdG9rZW4sXG4gICAgdXNlcklkLFxuICAgIHVzZXJuYW1lXG4gIH0gPSBzZXNzaW9uO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KHNlc3Npb24pLFxuICAgIC4uLihleHBpcmVzICE9PSB1bmRlZmluZWQgJiYge2V4cGlyZXM6IHBhcnNlUmVha3RvckRhdGUoZXhwaXJlcyl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IHNlc3Npb25JZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgc2Vzc2lvbnMvJHtfa2V5IHx8IHNlc3Npb25JZH1gKX0pLFxuICAgIC4uLihpc3N1ZWQgIT09IHVuZGVmaW5lZCAmJiB7aXNzdWVkOiBwYXJzZVJlYWt0b3JEYXRlKGlzc3VlZCl9KSxcbiAgICAuLi4oKF9rZXkgfHwgc2Vzc2lvbklkKSAmJiB7c2Vzc2lvbklkOiBwYXJzZUlkKF9rZXkgfHwgc2Vzc2lvbklkIHx8ICcnKX0pLFxuICAgIC4uLih0b2tlbiAmJiB7dG9rZW59KSxcbiAgICAuLi4odXNlcklkICYmIHt1c2VySWQ6IHBhcnNlSWQodXNlcklkKX0pLFxuICAgIC4uLih1c2VybmFtZSAmJiB7dXNlcm5hbWU6IHBhcnNlVXNlcm5hbWUodXNlcm5hbWUpfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTsiXSwibmFtZXMiOlsicGFyc2VBcmFuZ29JZCIsInBhcnNlSWQiLCJwYXJzZVVzZXJuYW1lIiwieiIsInBhcnNlRG9jdW1lbnQiLCJyZW1vdmVFbXB0eUtleXMiLCJwYXJzZVJlYWt0b3JEYXRlIiwiU2Vzc2lvblZhbGlkYXRpb25FcnJvciIsIkVycm9yIiwibWVzc2FnZSIsImZpZWxkIiwibmFtZSIsIlNlc3Npb25JbnB1dFNjaGVtYSIsIm9iamVjdCIsIl9pZCIsInN0cmluZyIsIm9wdGlvbmFsIiwiX2tleSIsIl9yZXYiLCJfb2xkUmV2IiwiX2Zyb20iLCJfdG8iLCJleHBpcmVzIiwibnVtYmVyIiwiaWQiLCJpc3N1ZWQiLCJzZXNzaW9uSWQiLCJ0b2tlbiIsInVzZXJJZCIsInVzZXJuYW1lIiwibG9vc2UiLCJ2YWxpZGF0ZVNlc3Npb25JbnB1dCIsInNlc3Npb24iLCJ2YWxpZGF0ZWQiLCJwYXJzZSIsImVycm9yIiwiWm9kRXJyb3IiLCJmaWVsZEVycm9ycyIsImlzc3VlcyIsIm1hcCIsImUiLCJwYXRoIiwiam9pbiIsImZvcm1hdFNlc3Npb25PdXRwdXQiLCJwYXJzZVNlc3Npb24iLCJwYXJzZWQiLCJwZXJmb3JtU2Vzc2lvblRyYW5zZm9ybWF0aW9uIiwidHJhbnNmb3JtZWQiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsRUFBRUMsT0FBTyxFQUFFQyxhQUFhLFFBQVEsZUFBZTtBQUNyRSxTQUFTQyxDQUFDLFFBQVEsTUFBTTtBQUV4QixTQUFTQyxhQUFhLEVBQUVDLGVBQWUsUUFBUSxvQ0FBb0M7QUFDbkYsU0FBU0MsZ0JBQWdCLFFBQVEsc0NBQXNDO0FBbUJ2RSxPQUFPLE1BQU1DLCtCQUErQkM7O0lBQzFDLFlBQVlDLE9BQWUsRUFBRSxBQUFPQyxLQUFjLENBQUU7UUFDbEQsS0FBSyxDQUFDRCxlQUQ0QkMsUUFBQUE7UUFFbEMsSUFBSSxDQUFDQyxJQUFJLEdBQUc7SUFDZDtBQUNGO0FBRUEsTUFBTUMscUJBQXFCVCxFQUFFVSxNQUFNLENBQUM7SUFDbENDLEtBQUtYLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUN4QkMsTUFBTWQsRUFBRVksTUFBTSxHQUFHQyxRQUFRO0lBQ3pCRSxNQUFNZixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDekJHLFNBQVNoQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDNUJJLE9BQU9qQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDMUJLLEtBQUtsQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDeEJNLFNBQVNuQixFQUFFb0IsTUFBTSxHQUFHUCxRQUFRO0lBQzVCUSxJQUFJckIsRUFBRVksTUFBTSxHQUFHQyxRQUFRO0lBQ3ZCUyxRQUFRdEIsRUFBRW9CLE1BQU0sR0FBR1AsUUFBUTtJQUMzQlUsV0FBV3ZCLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUM5QlcsT0FBT3hCLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUMxQlksUUFBUXpCLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUMzQmEsVUFBVTFCLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtBQUMvQixHQUFHYyxLQUFLO0FBRVIsT0FBTyxNQUFNQyx1QkFBdUIsQ0FBQ0M7SUFDbkMsSUFBSTtRQUNGLE1BQU1DLFlBQVlyQixtQkFBbUJzQixLQUFLLENBQUNGO1FBQzNDLE9BQU9DO0lBQ1QsRUFBRSxPQUFNRSxPQUFPO1FBQ2IsSUFBR0EsaUJBQWlCaEMsRUFBRWlDLFFBQVEsRUFBRTtZQUM5QixNQUFNQyxjQUFjRixNQUFNRyxNQUFNLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFNLEdBQUdBLEVBQUVDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFRixFQUFFL0IsT0FBTyxFQUFFLEVBQUVpQyxJQUFJLENBQUM7WUFDdEYsTUFBTSxJQUFJbkMsdUJBQXVCLENBQUMsMkJBQTJCLEVBQUU4QixhQUFhO1FBQzlFO1FBQ0EsTUFBTUY7SUFDUjtBQUNGLEVBQUU7QUFFRixPQUFPLE1BQU1RLHNCQUFzQixDQUFDWCxVQUFzQ0EsUUFBUTtBQUVsRixPQUFPLE1BQU1ZLGVBQWUsQ0FBQ1o7SUFDM0IsSUFBSTtRQUNGLE1BQU1hLFNBQVNDLDZCQUE2QmQ7UUFDNUMsT0FBT2E7SUFDVCxFQUFFLE9BQU1WLE9BQU87UUFDYixJQUFHQSxpQkFBaUI1Qix3QkFBd0I7WUFDMUMsTUFBTTRCO1FBQ1I7UUFDQSxNQUFNLElBQUk1Qix1QkFBdUIsQ0FBQyx3QkFBd0IsRUFBRTRCLGlCQUFpQjNCLFFBQVEyQixNQUFNMUIsT0FBTyxHQUFHLGlCQUFpQjtJQUN4SDtBQUNGLEVBQUU7QUFFRixNQUFNcUMsK0JBQStCLENBQUNkO0lBQ3BDLE1BQU0sRUFDSmxCLEdBQUcsRUFDSEcsSUFBSSxFQUNKSyxPQUFPLEVBQ1BFLEVBQUUsRUFDRkMsTUFBTSxFQUNOQyxTQUFTLEVBQ1RDLEtBQUssRUFDTEMsTUFBTSxFQUNOQyxRQUFRLEVBQ1QsR0FBR0c7SUFFSixNQUFNZSxjQUFjMUMsZ0JBQWdCO1FBQ2xDLEdBQUdELGNBQWM0QixRQUFRO1FBQ3pCLEdBQUlWLFlBQVkwQixhQUFhO1lBQUMxQixTQUFTaEIsaUJBQWlCZ0I7UUFBUSxDQUFDO1FBQ2pFLEdBQUksQUFBQ1IsQ0FBQUEsT0FBT1UsTUFBTVAsUUFBUVMsU0FBUSxLQUFNO1lBQUNGLElBQUl4QixjQUFjYyxPQUFPVSxNQUFNLENBQUMsU0FBUyxFQUFFUCxRQUFRUyxXQUFXO1FBQUMsQ0FBQztRQUN6RyxHQUFJRCxXQUFXdUIsYUFBYTtZQUFDdkIsUUFBUW5CLGlCQUFpQm1CO1FBQU8sQ0FBQztRQUM5RCxHQUFJLEFBQUNSLENBQUFBLFFBQVFTLFNBQVEsS0FBTTtZQUFDQSxXQUFXekIsUUFBUWdCLFFBQVFTLGFBQWE7UUFBRyxDQUFDO1FBQ3hFLEdBQUlDLFNBQVM7WUFBQ0E7UUFBSyxDQUFDO1FBQ3BCLEdBQUlDLFVBQVU7WUFBQ0EsUUFBUTNCLFFBQVEyQjtRQUFPLENBQUM7UUFDdkMsR0FBSUMsWUFBWTtZQUFDQSxVQUFVM0IsY0FBYzJCO1FBQVMsQ0FBQztJQUNyRDtJQUVBLE9BQU9rQjtBQUNUIn0=
@@ -11,10 +11,11 @@ export interface TagType {
11
11
  [key: string]: any;
12
12
  }
13
13
  export declare class TagValidationError extends Error {
14
- field?: string | undefined;
15
- constructor(message: string, field?: string | undefined);
14
+ field?: string;
15
+ constructor(message: string, field?: string);
16
16
  }
17
17
  export declare const validateTagInput: (tag: unknown) => TagType;
18
18
  export declare const formatTagOutput: (tag: TagType) => TagType;
19
19
  export declare const parseTag: (tag: TagType) => TagType;
20
20
  export declare const parseTagLegacy: (tag: TagType) => TagType;
21
+ //# sourceMappingURL=tagAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/tagAdapter/tagAdapter.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IACP,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAcD,eAAO,MAAM,gBAAgB,GAAI,KAAK,OAAO,KAAG,OAW/C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,KAAG,OAAc,CAAC;AAE9D,eAAO,MAAM,QAAQ,GAAI,KAAK,OAAO,KAAG,OAUvC,CAAC;AAuDF,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,KAAG,OAAwB,CAAC"}
@@ -1,2 +1,98 @@
1
- import{parseArangoId as f,parseId as n,parseString as l}from"@nlabs/utils";import{z as i}from"zod";import{parseDocument as I,removeEmptyKeys as _}from"../arangoAdapter/arangoAdapter";import{parseReaktorContent as u,parseReaktorType as k}from"../reaktorAdapter/reaktorAdapter";class s extends Error{constructor(o,a){super(o);this.field=a;this.name="TagValidationError"}}const h=i.object({_id:i.string().optional(),_key:i.string().optional(),category:i.string().max(160).optional(),description:i.string().optional(),id:i.string().optional(),name:i.string().max(160).optional(),tagBy:i.string().optional(),tagId:i.string().optional(),userId:i.string().optional()}).passthrough(),j=r=>{try{return h.parse(r)}catch(e){if(e instanceof i.ZodError){const o=e.issues.map(a=>`${a.path.join(".")}: ${a.message}`).join(", ");throw new s(`Tag validation failed: ${o}`)}throw e}},b=r=>r,x=r=>{try{return w(r)}catch(e){throw e instanceof s?e:new s(`Tag parsing failed: ${e instanceof Error?e.message:"Unknown error"}`)}},w=r=>{const{_id:e,_key:o,category:a,description:d,id:p,name:g,tagBy:y,tagId:c,userId:T}=r,m={...I(r),...a&&{category:k(a)},...d&&{description:u(d)},...(e||p)&&{id:f(e||p||"")},...(o||c)&&{tagId:n(o||c||"")},...g&&{name:l(g,160)},...y&&{tagBy:n(y)},...T&&{userId:n(T)}},t=_(m);return r._id?(t.id=r._id,t._id=r._id):r.id&&!t.id&&(t.id=r.id,t._id=r.id),r._key?(t.tagId=r._key,t._key=r._key):r.tagId&&!t.tagId&&(t.tagId=r.tagId,t._key=r.tagId),r.tagId&&!t._key&&(t._key=r.tagId),r.id&&!t._id&&(t._id=r.id),t},R=r=>x(r);export{s as TagValidationError,b as formatTagOutput,x as parseTag,R as parseTagLegacy,j as validateTagInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3RhZ0FkYXB0ZXIvdGFnQWRhcHRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZVN0cmluZ30gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtwYXJzZURvY3VtZW50LCByZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlcic7XG5pbXBvcnQge3BhcnNlUmVha3RvckNvbnRlbnQsIHBhcnNlUmVha3RvclR5cGV9IGZyb20gJy4uL3JlYWt0b3JBZGFwdGVyL3JlYWt0b3JBZGFwdGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWdUeXBlIHtcbiAgX2lkPzogc3RyaW5nO1xuICBfa2V5Pzogc3RyaW5nO1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICB0YWdCeT86IHN0cmluZztcbiAgdGFnSWQ/OiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgVGFnVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdUYWdWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFRhZ0lucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjYXRlZ29yeTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHRhZ0J5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRhZ0lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVUYWdJbnB1dCA9ICh0YWc6IHVua25vd24pOiBUYWdUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBUYWdJbnB1dFNjaGVtYS5wYXJzZSh0YWcpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgVGFnVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBUYWdWYWxpZGF0aW9uRXJyb3IoYFRhZyB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRUYWdPdXRwdXQgPSAodGFnOiBUYWdUeXBlKTogVGFnVHlwZSA9PiB0YWc7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVRhZyA9ICh0YWc6IFRhZ1R5cGUpOiBUYWdUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtVGFnVHJhbnNmb3JtYXRpb24odGFnKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBUYWdWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgVGFnVmFsaWRhdGlvbkVycm9yKGBUYWcgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1UYWdUcmFuc2Zvcm1hdGlvbiA9ICh0YWc6IFRhZ1R5cGUpOiBUYWdUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGNhdGVnb3J5LFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGlkLFxuICAgIG5hbWUsXG4gICAgdGFnQnksXG4gICAgdGFnSWQsXG4gICAgdXNlcklkXG4gIH0gPSB0YWc7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudCh0YWcpLFxuICAgIC4uLihjYXRlZ29yeSAmJiB7Y2F0ZWdvcnk6IHBhcnNlUmVha3RvclR5cGUoY2F0ZWdvcnkpfSksXG4gICAgLi4uKGRlc2NyaXB0aW9uICYmIHtkZXNjcmlwdGlvbjogcGFyc2VSZWFrdG9yQ29udGVudChkZXNjcmlwdGlvbil9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCAnJyl9KSxcbiAgICAuLi4oKF9rZXkgfHwgdGFnSWQpICYmIHt0YWdJZDogcGFyc2VJZChfa2V5IHx8IHRhZ0lkIHx8ICcnKX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHRhZ0J5ICYmIHt0YWdCeTogcGFyc2VJZCh0YWdCeSl9KSxcbiAgICAuLi4odXNlcklkICYmIHt1c2VySWQ6IHBhcnNlSWQodXNlcklkKX0pXG4gIH07XG5cbiAgY29uc3QgcmVzdWx0ID0gcmVtb3ZlRW1wdHlLZXlzKHRyYW5zZm9ybWVkKTtcblxuICBpZih0YWcuX2lkKSB7XG4gICAgcmVzdWx0LmlkID0gdGFnLl9pZDtcbiAgICByZXN1bHQuX2lkID0gdGFnLl9pZDtcbiAgfSBlbHNlIGlmKHRhZy5pZCAmJiAhcmVzdWx0LmlkKSB7XG4gICAgcmVzdWx0LmlkID0gdGFnLmlkO1xuICAgIHJlc3VsdC5faWQgPSB0YWcuaWQ7XG4gIH1cblxuICBpZih0YWcuX2tleSkge1xuICAgIHJlc3VsdC50YWdJZCA9IHRhZy5fa2V5O1xuICAgIHJlc3VsdC5fa2V5ID0gdGFnLl9rZXk7XG4gIH0gZWxzZSBpZih0YWcudGFnSWQgJiYgIXJlc3VsdC50YWdJZCkge1xuICAgIHJlc3VsdC50YWdJZCA9IHRhZy50YWdJZDtcbiAgICByZXN1bHQuX2tleSA9IHRhZy50YWdJZDtcbiAgfVxuXG4gIGlmKHRhZy50YWdJZCAmJiAhcmVzdWx0Ll9rZXkpIHtcbiAgICByZXN1bHQuX2tleSA9IHRhZy50YWdJZDtcbiAgfVxuXG4gIGlmKHRhZy5pZCAmJiAhcmVzdWx0Ll9pZCkge1xuICAgIHJlc3VsdC5faWQgPSB0YWcuaWQ7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVGFnTGVnYWN5ID0gKHRhZzogVGFnVHlwZSk6IFRhZ1R5cGUgPT4gcGFyc2VUYWcodGFnKTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLGlCQUFBQSxFQUFlLFdBQUFDLEVBQVMsZUFBQUMsTUFBa0IsZUFDbEQsT0FBUSxLQUFBQyxNQUFRLE1BRWhCLE9BQVEsaUJBQUFDLEVBQWUsbUJBQUFDLE1BQXNCLGlDQUM3QyxPQUFRLHVCQUFBQyxFQUFxQixvQkFBQUMsTUFBdUIsbUNBZTdDLE1BQU1DLFVBQTJCLEtBQU0sQ0FDNUMsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLG9CQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFpQlIsRUFBRSxPQUFPLENBQzlCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixTQUFVQSxFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUcsRUFBRSxTQUFTLEVBQ3ZDLFlBQWFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDakMsR0FBSUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN4QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUcsRUFBRSxTQUFTLEVBQ25DLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixPQUFRQSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQzlCLENBQUMsRUFBRSxZQUFZLEVBRUZTLEVBQW9CQyxHQUEwQixDQUN6RCxHQUFJLENBRUYsT0FEa0JGLEVBQWUsTUFBTUUsQ0FBRyxDQUU1QyxPQUFRQyxFQUFPLENBQ2IsR0FBR0EsYUFBaUJYLEVBQUUsU0FBVSxDQUM5QixNQUFNWSxFQUFjRCxFQUFNLE9BQU8sSUFBS0UsR0FBTSxHQUFHQSxFQUFFLEtBQUssS0FBSyxHQUFHLENBQUMsS0FBS0EsRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLElBQUksRUFDMUYsTUFBTSxJQUFJUixFQUFtQiwwQkFBMEJPLENBQVcsRUFBRSxDQUN0RSxDQUNBLE1BQU1ELENBQ1IsQ0FDRixFQUVhRyxFQUFtQkosR0FBMEJBLEVBRTdDSyxFQUFZTCxHQUEwQixDQUNqRCxHQUFJLENBRUYsT0FEZU0sRUFBeUJOLENBQUcsQ0FFN0MsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQW1CLHVCQUF1Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUNoSCxDQUNGLEVBRU1LLEVBQTRCTixHQUEwQixDQUMxRCxLQUFNLENBQ0osSUFBQU8sRUFDQSxLQUFBQyxFQUNBLFNBQUFDLEVBQ0EsWUFBQUMsRUFDQSxHQUFBQyxFQUNBLEtBQUFDLEVBQ0EsTUFBQUMsRUFDQSxNQUFBQyxFQUNBLE9BQUFDLENBQ0YsRUFBSWYsRUFFRWdCLEVBQWMsQ0FDbEIsR0FBR3pCLEVBQWNTLENBQUcsRUFDcEIsR0FBSVMsR0FBWSxDQUFDLFNBQVVmLEVBQWlCZSxDQUFRLENBQUMsRUFDckQsR0FBSUMsR0FBZSxDQUFDLFlBQWFqQixFQUFvQmlCLENBQVcsQ0FBQyxFQUNqRSxJQUFLSCxHQUFPSSxJQUFPLENBQUMsR0FBSXhCLEVBQWNvQixHQUFPSSxHQUFNLEVBQUUsQ0FBQyxFQUN0RCxJQUFLSCxHQUFRTSxJQUFVLENBQUMsTUFBTzFCLEVBQVFvQixHQUFRTSxHQUFTLEVBQUUsQ0FBQyxFQUMzRCxHQUFJRixHQUFRLENBQUMsS0FBTXZCLEVBQVl1QixFQUFNLEdBQUcsQ0FBQyxFQUN6QyxHQUFJQyxHQUFTLENBQUMsTUFBT3pCLEVBQVF5QixDQUFLLENBQUMsRUFDbkMsR0FBSUUsR0FBVSxDQUFDLE9BQVEzQixFQUFRMkIsQ0FBTSxDQUFDLENBQ3hDLEVBRU1FLEVBQVN6QixFQUFnQndCLENBQVcsRUFFMUMsT0FBR2hCLEVBQUksS0FDTGlCLEVBQU8sR0FBS2pCLEVBQUksSUFDaEJpQixFQUFPLElBQU1qQixFQUFJLEtBQ1RBLEVBQUksSUFBTSxDQUFDaUIsRUFBTyxLQUMxQkEsRUFBTyxHQUFLakIsRUFBSSxHQUNoQmlCLEVBQU8sSUFBTWpCLEVBQUksSUFHaEJBLEVBQUksTUFDTGlCLEVBQU8sTUFBUWpCLEVBQUksS0FDbkJpQixFQUFPLEtBQU9qQixFQUFJLE1BQ1ZBLEVBQUksT0FBUyxDQUFDaUIsRUFBTyxRQUM3QkEsRUFBTyxNQUFRakIsRUFBSSxNQUNuQmlCLEVBQU8sS0FBT2pCLEVBQUksT0FHakJBLEVBQUksT0FBUyxDQUFDaUIsRUFBTyxPQUN0QkEsRUFBTyxLQUFPakIsRUFBSSxPQUdqQkEsRUFBSSxJQUFNLENBQUNpQixFQUFPLE1BQ25CQSxFQUFPLElBQU1qQixFQUFJLElBR1ppQixDQUNULEVBRWFDLEVBQWtCbEIsR0FBMEJLLEVBQVNMLENBQUciLAogICJuYW1lcyI6IFsicGFyc2VBcmFuZ29JZCIsICJwYXJzZUlkIiwgInBhcnNlU3RyaW5nIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAicGFyc2VSZWFrdG9yQ29udGVudCIsICJwYXJzZVJlYWt0b3JUeXBlIiwgIlRhZ1ZhbGlkYXRpb25FcnJvciIsICJtZXNzYWdlIiwgImZpZWxkIiwgIlRhZ0lucHV0U2NoZW1hIiwgInZhbGlkYXRlVGFnSW5wdXQiLCAidGFnIiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0VGFnT3V0cHV0IiwgInBhcnNlVGFnIiwgInBlcmZvcm1UYWdUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJjYXRlZ29yeSIsICJkZXNjcmlwdGlvbiIsICJpZCIsICJuYW1lIiwgInRhZ0J5IiwgInRhZ0lkIiwgInVzZXJJZCIsICJ0cmFuc2Zvcm1lZCIsICJyZXN1bHQiLCAicGFyc2VUYWdMZWdhY3kiXQp9Cg==
1
+ import { parseArangoId, parseId, parseString } from '@nlabs/utils';
2
+ import { z } from 'zod';
3
+ import { parseDocument, removeEmptyKeys } from '../arangoAdapter/arangoAdapter.js';
4
+ import { parseReaktorContent, parseReaktorType } from '../reaktorAdapter/reaktorAdapter.js';
5
+ export class TagValidationError extends Error {
6
+ field;
7
+ constructor(message, field){
8
+ super(message), this.field = field;
9
+ this.name = 'TagValidationError';
10
+ }
11
+ }
12
+ const TagInputSchema = z.object({
13
+ _id: z.string().optional(),
14
+ _key: z.string().optional(),
15
+ category: z.string().max(160).optional(),
16
+ description: z.string().optional(),
17
+ id: z.string().optional(),
18
+ name: z.string().max(160).optional(),
19
+ tagBy: z.string().optional(),
20
+ tagId: z.string().optional(),
21
+ userId: z.string().optional()
22
+ }).loose();
23
+ export const validateTagInput = (tag)=>{
24
+ try {
25
+ const validated = TagInputSchema.parse(tag);
26
+ return validated;
27
+ } catch (error) {
28
+ if (error instanceof z.ZodError) {
29
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
30
+ throw new TagValidationError(`Tag validation failed: ${fieldErrors}`);
31
+ }
32
+ throw error;
33
+ }
34
+ };
35
+ export const formatTagOutput = (tag)=>tag;
36
+ export const parseTag = (tag)=>{
37
+ try {
38
+ const parsed = performTagTransformation(tag);
39
+ return parsed;
40
+ } catch (error) {
41
+ if (error instanceof TagValidationError) {
42
+ throw error;
43
+ }
44
+ throw new TagValidationError(`Tag parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
45
+ }
46
+ };
47
+ const performTagTransformation = (tag)=>{
48
+ const { _id, _key, category, description, id, name, tagBy, tagId, userId } = tag;
49
+ const transformed = {
50
+ ...parseDocument(tag),
51
+ ...category && {
52
+ category: parseReaktorType(category)
53
+ },
54
+ ...description && {
55
+ description: parseReaktorContent(description)
56
+ },
57
+ ...(_id || id) && {
58
+ id: parseArangoId(_id || id || '')
59
+ },
60
+ ...(_key || tagId) && {
61
+ tagId: parseId(_key || tagId || '')
62
+ },
63
+ ...name && {
64
+ name: parseString(name, 160)
65
+ },
66
+ ...tagBy && {
67
+ tagBy: parseId(tagBy)
68
+ },
69
+ ...userId && {
70
+ userId: parseId(userId)
71
+ }
72
+ };
73
+ const result = removeEmptyKeys(transformed);
74
+ if (tag._id) {
75
+ result.id = tag._id;
76
+ result._id = tag._id;
77
+ } else if (tag.id && !result.id) {
78
+ result.id = tag.id;
79
+ result._id = tag.id;
80
+ }
81
+ if (tag._key) {
82
+ result.tagId = tag._key;
83
+ result._key = tag._key;
84
+ } else if (tag.tagId && !result.tagId) {
85
+ result.tagId = tag.tagId;
86
+ result._key = tag.tagId;
87
+ }
88
+ if (tag.tagId && !result._key) {
89
+ result._key = tag.tagId;
90
+ }
91
+ if (tag.id && !result._id) {
92
+ result._id = tag.id;
93
+ }
94
+ return result;
95
+ };
96
+ export const parseTagLegacy = (tag)=>parseTag(tag);
97
+
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvdGFnQWRhcHRlci90YWdBZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlU3RyaW5nIH0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuXG5pbXBvcnQgeyBwYXJzZURvY3VtZW50LCByZW1vdmVFbXB0eUtleXMgfSBmcm9tICcuLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXIuanMnO1xuaW1wb3J0IHsgcGFyc2VSZWFrdG9yQ29udGVudCwgcGFyc2VSZWFrdG9yVHlwZSB9IGZyb20gJy4uL3JlYWt0b3JBZGFwdGVyL3JlYWt0b3JBZGFwdGVyLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWdUeXBlIHtcbiAgX2lkPzogc3RyaW5nO1xuICBfa2V5Pzogc3RyaW5nO1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICB0YWdCeT86IHN0cmluZztcbiAgdGFnSWQ/OiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgVGFnVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdUYWdWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFRhZ0lucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjYXRlZ29yeTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHRhZ0J5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRhZ0lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5sb29zZSgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVUYWdJbnB1dCA9ICh0YWc6IHVua25vd24pOiBUYWdUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBUYWdJbnB1dFNjaGVtYS5wYXJzZSh0YWcpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgVGFnVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBUYWdWYWxpZGF0aW9uRXJyb3IoYFRhZyB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRUYWdPdXRwdXQgPSAodGFnOiBUYWdUeXBlKTogVGFnVHlwZSA9PiB0YWc7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVRhZyA9ICh0YWc6IFRhZ1R5cGUpOiBUYWdUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtVGFnVHJhbnNmb3JtYXRpb24odGFnKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBUYWdWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgVGFnVmFsaWRhdGlvbkVycm9yKGBUYWcgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1UYWdUcmFuc2Zvcm1hdGlvbiA9ICh0YWc6IFRhZ1R5cGUpOiBUYWdUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGNhdGVnb3J5LFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGlkLFxuICAgIG5hbWUsXG4gICAgdGFnQnksXG4gICAgdGFnSWQsXG4gICAgdXNlcklkXG4gIH0gPSB0YWc7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudCh0YWcpLFxuICAgIC4uLihjYXRlZ29yeSAmJiB7Y2F0ZWdvcnk6IHBhcnNlUmVha3RvclR5cGUoY2F0ZWdvcnkpfSksXG4gICAgLi4uKGRlc2NyaXB0aW9uICYmIHtkZXNjcmlwdGlvbjogcGFyc2VSZWFrdG9yQ29udGVudChkZXNjcmlwdGlvbil9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCAnJyl9KSxcbiAgICAuLi4oKF9rZXkgfHwgdGFnSWQpICYmIHt0YWdJZDogcGFyc2VJZChfa2V5IHx8IHRhZ0lkIHx8ICcnKX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHRhZ0J5ICYmIHt0YWdCeTogcGFyc2VJZCh0YWdCeSl9KSxcbiAgICAuLi4odXNlcklkICYmIHt1c2VySWQ6IHBhcnNlSWQodXNlcklkKX0pXG4gIH07XG5cbiAgY29uc3QgcmVzdWx0ID0gcmVtb3ZlRW1wdHlLZXlzKHRyYW5zZm9ybWVkKTtcblxuICBpZih0YWcuX2lkKSB7XG4gICAgcmVzdWx0LmlkID0gdGFnLl9pZDtcbiAgICByZXN1bHQuX2lkID0gdGFnLl9pZDtcbiAgfSBlbHNlIGlmKHRhZy5pZCAmJiAhcmVzdWx0LmlkKSB7XG4gICAgcmVzdWx0LmlkID0gdGFnLmlkO1xuICAgIHJlc3VsdC5faWQgPSB0YWcuaWQ7XG4gIH1cblxuICBpZih0YWcuX2tleSkge1xuICAgIHJlc3VsdC50YWdJZCA9IHRhZy5fa2V5O1xuICAgIHJlc3VsdC5fa2V5ID0gdGFnLl9rZXk7XG4gIH0gZWxzZSBpZih0YWcudGFnSWQgJiYgIXJlc3VsdC50YWdJZCkge1xuICAgIHJlc3VsdC50YWdJZCA9IHRhZy50YWdJZDtcbiAgICByZXN1bHQuX2tleSA9IHRhZy50YWdJZDtcbiAgfVxuXG4gIGlmKHRhZy50YWdJZCAmJiAhcmVzdWx0Ll9rZXkpIHtcbiAgICByZXN1bHQuX2tleSA9IHRhZy50YWdJZDtcbiAgfVxuXG4gIGlmKHRhZy5pZCAmJiAhcmVzdWx0Ll9pZCkge1xuICAgIHJlc3VsdC5faWQgPSB0YWcuaWQ7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVGFnTGVnYWN5ID0gKHRhZzogVGFnVHlwZSk6IFRhZ1R5cGUgPT4gcGFyc2VUYWcodGFnKTsiXSwibmFtZXMiOlsicGFyc2VBcmFuZ29JZCIsInBhcnNlSWQiLCJwYXJzZVN0cmluZyIsInoiLCJwYXJzZURvY3VtZW50IiwicmVtb3ZlRW1wdHlLZXlzIiwicGFyc2VSZWFrdG9yQ29udGVudCIsInBhcnNlUmVha3RvclR5cGUiLCJUYWdWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJUYWdJbnB1dFNjaGVtYSIsIm9iamVjdCIsIl9pZCIsInN0cmluZyIsIm9wdGlvbmFsIiwiX2tleSIsImNhdGVnb3J5IiwibWF4IiwiZGVzY3JpcHRpb24iLCJpZCIsInRhZ0J5IiwidGFnSWQiLCJ1c2VySWQiLCJsb29zZSIsInZhbGlkYXRlVGFnSW5wdXQiLCJ0YWciLCJ2YWxpZGF0ZWQiLCJwYXJzZSIsImVycm9yIiwiWm9kRXJyb3IiLCJmaWVsZEVycm9ycyIsImlzc3VlcyIsIm1hcCIsImUiLCJwYXRoIiwiam9pbiIsImZvcm1hdFRhZ091dHB1dCIsInBhcnNlVGFnIiwicGFyc2VkIiwicGVyZm9ybVRhZ1RyYW5zZm9ybWF0aW9uIiwidHJhbnNmb3JtZWQiLCJyZXN1bHQiLCJwYXJzZVRhZ0xlZ2FjeSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsYUFBYSxFQUFFQyxPQUFPLEVBQUVDLFdBQVcsUUFBUSxlQUFlO0FBQ25FLFNBQVNDLENBQUMsUUFBUSxNQUFNO0FBRXhCLFNBQVNDLGFBQWEsRUFBRUMsZUFBZSxRQUFRLG9DQUFvQztBQUNuRixTQUFTQyxtQkFBbUIsRUFBRUMsZ0JBQWdCLFFBQVEsc0NBQXNDO0FBZTVGLE9BQU8sTUFBTUMsMkJBQTJCQzs7SUFDdEMsWUFBWUMsT0FBZSxFQUFFLEFBQU9DLEtBQWMsQ0FBRTtRQUNsRCxLQUFLLENBQUNELGVBRDRCQyxRQUFBQTtRQUVsQyxJQUFJLENBQUNDLElBQUksR0FBRztJQUNkO0FBQ0Y7QUFFQSxNQUFNQyxpQkFBaUJWLEVBQUVXLE1BQU0sQ0FBQztJQUM5QkMsS0FBS1osRUFBRWEsTUFBTSxHQUFHQyxRQUFRO0lBQ3hCQyxNQUFNZixFQUFFYSxNQUFNLEdBQUdDLFFBQVE7SUFDekJFLFVBQVVoQixFQUFFYSxNQUFNLEdBQUdJLEdBQUcsQ0FBQyxLQUFLSCxRQUFRO0lBQ3RDSSxhQUFhbEIsRUFBRWEsTUFBTSxHQUFHQyxRQUFRO0lBQ2hDSyxJQUFJbkIsRUFBRWEsTUFBTSxHQUFHQyxRQUFRO0lBQ3ZCTCxNQUFNVCxFQUFFYSxNQUFNLEdBQUdJLEdBQUcsQ0FBQyxLQUFLSCxRQUFRO0lBQ2xDTSxPQUFPcEIsRUFBRWEsTUFBTSxHQUFHQyxRQUFRO0lBQzFCTyxPQUFPckIsRUFBRWEsTUFBTSxH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
@@ -0,0 +1,21 @@
1
+ export interface TranslationType {
2
+ readonly key: string;
3
+ readonly locale: string;
4
+ readonly value: string;
5
+ readonly namespace?: string;
6
+ readonly timestamp?: number;
7
+ }
8
+ export interface TranslationInputType {
9
+ readonly key: string;
10
+ readonly locale: string;
11
+ readonly value: string;
12
+ readonly namespace?: string;
13
+ }
14
+ export declare class TranslationValidationError extends Error {
15
+ field?: string;
16
+ constructor(message: string, field?: string);
17
+ }
18
+ export declare const parseTranslation: (translation: TranslationType) => TranslationType;
19
+ export declare const parseTranslationInput: (translation: TranslationInputType) => TranslationInputType;
20
+ export declare const validateTranslationInput: (input: unknown) => TranslationInputType;
21
+ //# sourceMappingURL=translationAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translationAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/translationAdapter/translationAdapter.ts"],"names":[],"mappings":"AAMA,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,oBAAoB;IACnC,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;CAC7B;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACf,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAiBD,eAAO,MAAM,gBAAgB,GAAI,aAAa,eAAe,KAAG,eAY/D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,aAAa,oBAAoB,KAAG,oBAYzE,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,oBAEzD,CAAC"}