@nlabs/metropolisjs 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/.github/copilot-instructions.md +167 -0
  2. package/AGENTS.md +13 -0
  3. package/CHANGELOG.md +112 -0
  4. package/GRAPHQL_VALIDATION_RESULTS.md +158 -0
  5. package/PERMISSION_GRAPHQL_INTEGRATION.md +293 -0
  6. package/PERMISSION_IMPLEMENTATION_SUMMARY.md +243 -0
  7. package/README.md +1343 -0
  8. package/SIGNIN_GRAPHQL_VALIDATION.md +125 -0
  9. package/VAULT_GRAPHQL_API_FINDINGS.md +312 -0
  10. package/docs/ACTIONS.md +63 -0
  11. package/docs/COLLECTIONS.md +1038 -0
  12. package/docs/CONNECTIONS.md +1367 -0
  13. package/docs/CRUD_INTEGRATION.md +702 -0
  14. package/examples/connections-usage.tsx +909 -0
  15. package/examples/content-actions-usage.ts +144 -0
  16. package/examples/crud-usage.tsx +847 -0
  17. package/examples/extensibility-usage.tsx +889 -0
  18. package/examples/factory-pattern-usage.ts +283 -0
  19. package/examples/i18n-import-examples.ts +86 -0
  20. package/examples/i18n-namespace-usage.ts +118 -0
  21. package/examples/i18next-singleton-demo.ts +187 -0
  22. package/examples/permission-system-usage.tsx +415 -0
  23. package/examples/project-details.tsx +397 -0
  24. package/examples/shared-i18n-usage.tsx +203 -0
  25. package/examples/signup-error-handling.ts +100 -0
  26. package/examples/translation-types.ts +86 -0
  27. package/examples/translation-usage.tsx +336 -0
  28. package/factoryPatternGuide.md +244 -0
  29. package/index.js +1 -0
  30. package/jest.config.mjs +28 -0
  31. package/lex.config.mjs +26 -0
  32. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts +22 -0
  33. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +1 -0
  34. package/lib/__tests__/e2e/helpers/testGraphQLServer.js +197 -0
  35. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts +3 -0
  36. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +1 -0
  37. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +52 -0
  38. package/lib/actions/appActions/appActions.d.ts +29 -0
  39. package/lib/actions/appActions/appActions.d.ts.map +1 -0
  40. package/lib/actions/appActions/appActions.js +159 -0
  41. package/lib/actions/connectionActions/connectionActions.d.ts +19 -0
  42. package/lib/actions/connectionActions/connectionActions.d.ts.map +1 -0
  43. package/lib/actions/connectionActions/connectionActions.js +131 -0
  44. package/lib/actions/contentActions/contentActions.d.ts +34 -0
  45. package/lib/actions/contentActions/contentActions.d.ts.map +1 -0
  46. package/lib/actions/contentActions/contentActions.js +314 -0
  47. package/lib/actions/conversationActions/conversationActions.d.ts +30 -0
  48. package/lib/actions/conversationActions/conversationActions.d.ts.map +1 -0
  49. package/lib/actions/conversationActions/conversationActions.js +225 -0
  50. package/lib/actions/eventActions/eventActions.d.ts +65 -0
  51. package/lib/actions/eventActions/eventActions.d.ts.map +1 -0
  52. package/lib/actions/eventActions/eventActions.js +436 -0
  53. package/lib/actions/groupActions/groupActions.d.ts +30 -0
  54. package/lib/actions/groupActions/groupActions.d.ts.map +1 -0
  55. package/lib/actions/groupActions/groupActions.js +229 -0
  56. package/lib/actions/imageActions/imageActions.d.ts +62 -0
  57. package/lib/actions/imageActions/imageActions.d.ts.map +1 -0
  58. package/lib/actions/imageActions/imageActions.js +593 -0
  59. package/lib/actions/index.d.ts +21 -0
  60. package/lib/actions/index.d.ts.map +1 -0
  61. package/lib/actions/index.js +22 -0
  62. package/lib/actions/locationActions/locationActions.d.ts +60 -0
  63. package/lib/actions/locationActions/locationActions.d.ts.map +1 -0
  64. package/lib/actions/locationActions/locationActions.js +388 -0
  65. package/lib/actions/messageActions/messageActions.d.ts +38 -0
  66. package/lib/actions/messageActions/messageActions.d.ts.map +1 -0
  67. package/lib/actions/messageActions/messageActions.js +235 -0
  68. package/lib/actions/permissionActions/permissionActions.d.ts +34 -0
  69. package/lib/actions/permissionActions/permissionActions.d.ts.map +1 -0
  70. package/lib/actions/permissionActions/permissionActions.js +330 -0
  71. package/lib/actions/personaActions/personaActions.d.ts +65 -0
  72. package/lib/actions/personaActions/personaActions.d.ts.map +1 -0
  73. package/lib/actions/personaActions/personaActions.js +572 -0
  74. package/lib/actions/postActions/postActions.d.ts +36 -0
  75. package/lib/actions/postActions/postActions.d.ts.map +1 -0
  76. package/lib/actions/postActions/postActions.js +447 -0
  77. package/lib/actions/reactionActions/reactionActions.d.ts +38 -0
  78. package/lib/actions/reactionActions/reactionActions.d.ts.map +1 -0
  79. package/lib/actions/reactionActions/reactionActions.js +413 -0
  80. package/lib/actions/sseActions/sseActions.d.ts +38 -0
  81. package/lib/actions/sseActions/sseActions.d.ts.map +1 -0
  82. package/lib/actions/sseActions/sseActions.js +148 -0
  83. package/lib/actions/subscriptionActions/subscriptionActions.d.ts +24 -0
  84. package/lib/actions/subscriptionActions/subscriptionActions.d.ts.map +1 -0
  85. package/lib/actions/subscriptionActions/subscriptionActions.js +329 -0
  86. package/lib/actions/tagActions/tagActions.d.ts +37 -0
  87. package/lib/actions/tagActions/tagActions.d.ts.map +1 -0
  88. package/lib/actions/tagActions/tagActions.js +347 -0
  89. package/lib/actions/translationActions/translationActions.d.ts +38 -0
  90. package/lib/actions/translationActions/translationActions.d.ts.map +1 -0
  91. package/lib/actions/translationActions/translationActions.js +189 -0
  92. package/lib/actions/userActions/userActions.d.ts +78 -0
  93. package/lib/actions/userActions/userActions.d.ts.map +1 -0
  94. package/lib/actions/userActions/userActions.js +844 -0
  95. package/lib/actions/videoActions/videoActions.d.ts +41 -0
  96. package/lib/actions/videoActions/videoActions.d.ts.map +1 -0
  97. package/lib/actions/videoActions/videoActions.js +532 -0
  98. package/lib/actions/websocketActions/websocketActions.d.ts +30 -0
  99. package/lib/actions/websocketActions/websocketActions.d.ts.map +1 -0
  100. package/lib/actions/websocketActions/websocketActions.js +377 -0
  101. package/lib/adapters/appAdapter/appAdapter.d.ts +8 -0
  102. package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -0
  103. package/lib/adapters/appAdapter/appAdapter.js +90 -0
  104. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +21 -0
  105. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -0
  106. package/lib/adapters/arangoAdapter/arangoAdapter.js +75 -0
  107. package/lib/adapters/contentAdapter/contentAdapter.d.ts +32 -0
  108. package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -0
  109. package/lib/adapters/contentAdapter/contentAdapter.js +107 -0
  110. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +24 -0
  111. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -0
  112. package/lib/adapters/conversationAdapter/conversationAdapter.js +75 -0
  113. package/lib/adapters/eventAdapter/eventAdapter.d.ts +46 -0
  114. package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -0
  115. package/lib/adapters/eventAdapter/eventAdapter.js +162 -0
  116. package/lib/adapters/fileAdapter/fileAdapter.d.ts +30 -0
  117. package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -0
  118. package/lib/adapters/fileAdapter/fileAdapter.js +118 -0
  119. package/lib/adapters/groupAdapter/groupAdapter.d.ts +28 -0
  120. package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -0
  121. package/lib/adapters/groupAdapter/groupAdapter.js +66 -0
  122. package/lib/adapters/imageAdapter/imageAdapter.d.ts +38 -0
  123. package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -0
  124. package/lib/adapters/imageAdapter/imageAdapter.js +134 -0
  125. package/lib/adapters/index.d.ts +34 -0
  126. package/lib/adapters/index.d.ts.map +1 -0
  127. package/lib/adapters/index.js +19 -0
  128. package/lib/adapters/locationAdapter/locationAdapter.d.ts +28 -0
  129. package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -0
  130. package/lib/adapters/locationAdapter/locationAdapter.js +95 -0
  131. package/lib/adapters/messageAdapter/messageAdapter.d.ts +31 -0
  132. package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -0
  133. package/lib/adapters/messageAdapter/messageAdapter.js +82 -0
  134. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +41 -0
  135. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -0
  136. package/lib/adapters/permissionAdapter/permissionAdapter.js +120 -0
  137. package/lib/adapters/personaAdapter/personaAdapter.d.ts +44 -0
  138. package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -0
  139. package/lib/adapters/personaAdapter/personaAdapter.js +161 -0
  140. package/lib/adapters/postAdapter/postAdapter.d.ts +33 -0
  141. package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -0
  142. package/lib/adapters/postAdapter/postAdapter.js +115 -0
  143. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +23 -0
  144. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -0
  145. package/lib/adapters/reactionAdapter/reactionAdapter.js +81 -0
  146. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +17 -0
  147. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -0
  148. package/lib/adapters/reaktorAdapter/reaktorAdapter.js +58 -0
  149. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +24 -0
  150. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -0
  151. package/lib/adapters/sessionAdapter/sessionAdapter.js +80 -0
  152. package/lib/adapters/tagAdapter/tagAdapter.d.ts +21 -0
  153. package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -0
  154. package/lib/adapters/tagAdapter/tagAdapter.js +98 -0
  155. package/lib/adapters/translationAdapter/translationAdapter.d.ts +21 -0
  156. package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -0
  157. package/lib/adapters/translationAdapter/translationAdapter.js +55 -0
  158. package/lib/adapters/userAdapter/userAdapter.d.ts +67 -0
  159. package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -0
  160. package/lib/adapters/userAdapter/userAdapter.js +302 -0
  161. package/lib/adapters/videoAdapter/videoAdapter.d.ts +8 -0
  162. package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -0
  163. package/lib/adapters/videoAdapter/videoAdapter.js +194 -0
  164. package/lib/config/index.d.ts +44 -0
  165. package/lib/config/index.d.ts.map +1 -0
  166. package/lib/config/index.js +97 -0
  167. package/lib/constants/Collections.d.ts +44 -0
  168. package/lib/constants/Collections.d.ts.map +1 -0
  169. package/lib/constants/Collections.js +40 -0
  170. package/lib/constants/MetropolisConstants.d.ts +15 -0
  171. package/lib/constants/MetropolisConstants.d.ts.map +1 -0
  172. package/lib/constants/MetropolisConstants.js +15 -0
  173. package/lib/graphql/message.d.ts +3 -0
  174. package/lib/graphql/message.d.ts.map +1 -0
  175. package/lib/graphql/message.js +20 -0
  176. package/lib/graphql/notification.d.ts +3 -0
  177. package/lib/graphql/notification.d.ts.map +1 -0
  178. package/lib/graphql/notification.js +20 -0
  179. package/lib/graphql/session.d.ts +2 -0
  180. package/lib/graphql/session.d.ts.map +1 -0
  181. package/lib/graphql/session.js +17 -0
  182. package/lib/index.d.ts +52 -0
  183. package/lib/index.d.ts.map +1 -0
  184. package/lib/index.js +248 -0
  185. package/lib/stores/appStore.d.ts +23 -0
  186. package/lib/stores/appStore.d.ts.map +1 -0
  187. package/lib/stores/appStore.js +23 -0
  188. package/lib/stores/contentStore.d.ts +36 -0
  189. package/lib/stores/contentStore.d.ts.map +1 -0
  190. package/lib/stores/contentStore.js +139 -0
  191. package/lib/stores/conversationStore.d.ts +38 -0
  192. package/lib/stores/conversationStore.d.ts.map +1 -0
  193. package/lib/stores/conversationStore.js +117 -0
  194. package/lib/stores/eventStore.d.ts +37 -0
  195. package/lib/stores/eventStore.d.ts.map +1 -0
  196. package/lib/stores/eventStore.js +47 -0
  197. package/lib/stores/groupStore.d.ts +37 -0
  198. package/lib/stores/groupStore.d.ts.map +1 -0
  199. package/lib/stores/groupStore.js +68 -0
  200. package/lib/stores/imageStore.d.ts +40 -0
  201. package/lib/stores/imageStore.d.ts.map +1 -0
  202. package/lib/stores/imageStore.js +53 -0
  203. package/lib/stores/index.d.ts +24 -0
  204. package/lib/stores/index.d.ts.map +1 -0
  205. package/lib/stores/index.js +24 -0
  206. package/lib/stores/locationStore.d.ts +34 -0
  207. package/lib/stores/locationStore.d.ts.map +1 -0
  208. package/lib/stores/locationStore.js +42 -0
  209. package/lib/stores/messageStore.d.ts +51 -0
  210. package/lib/stores/messageStore.d.ts.map +1 -0
  211. package/lib/stores/messageStore.js +137 -0
  212. package/lib/stores/notificationStore.d.ts +33 -0
  213. package/lib/stores/notificationStore.d.ts.map +1 -0
  214. package/lib/stores/notificationStore.js +55 -0
  215. package/lib/stores/permissionStore.d.ts +37 -0
  216. package/lib/stores/permissionStore.d.ts.map +1 -0
  217. package/lib/stores/permissionStore.js +117 -0
  218. package/lib/stores/personaStore.d.ts +26 -0
  219. package/lib/stores/personaStore.d.ts.map +1 -0
  220. package/lib/stores/personaStore.js +118 -0
  221. package/lib/stores/postStore.d.ts +34 -0
  222. package/lib/stores/postStore.d.ts.map +1 -0
  223. package/lib/stores/postStore.js +53 -0
  224. package/lib/stores/reactionStore.d.ts +25 -0
  225. package/lib/stores/reactionStore.d.ts.map +1 -0
  226. package/lib/stores/reactionStore.js +28 -0
  227. package/lib/stores/subscriptionStore.d.ts +41 -0
  228. package/lib/stores/subscriptionStore.d.ts.map +1 -0
  229. package/lib/stores/subscriptionStore.js +85 -0
  230. package/lib/stores/tagStore.d.ts +34 -0
  231. package/lib/stores/tagStore.d.ts.map +1 -0
  232. package/lib/stores/tagStore.js +87 -0
  233. package/lib/stores/translationStore.d.ts +42 -0
  234. package/lib/stores/translationStore.d.ts.map +1 -0
  235. package/lib/stores/translationStore.js +122 -0
  236. package/lib/stores/userStore.d.ts +74 -0
  237. package/lib/stores/userStore.d.ts.map +1 -0
  238. package/lib/stores/userStore.js +319 -0
  239. package/lib/stores/videoStore.d.ts +39 -0
  240. package/lib/stores/videoStore.d.ts.map +1 -0
  241. package/lib/stores/videoStore.js +132 -0
  242. package/lib/stores/websocketStore.d.ts +24 -0
  243. package/lib/stores/websocketStore.d.ts.map +1 -0
  244. package/lib/stores/websocketStore.js +51 -0
  245. package/lib/types/apps.types.d.ts +17 -0
  246. package/lib/types/apps.types.d.ts.map +1 -0
  247. package/lib/types/apps.types.js +6 -0
  248. package/lib/types/common.types.d.ts +31 -0
  249. package/lib/types/common.types.d.ts.map +1 -0
  250. package/lib/types/common.types.js +6 -0
  251. package/lib/types/conversations.types.d.ts +17 -0
  252. package/lib/types/conversations.types.d.ts.map +1 -0
  253. package/lib/types/conversations.types.js +6 -0
  254. package/lib/types/edges.types.d.ts +38 -0
  255. package/lib/types/edges.types.d.ts.map +1 -0
  256. package/lib/types/edges.types.js +6 -0
  257. package/lib/types/groups.types.d.ts +19 -0
  258. package/lib/types/groups.types.d.ts.map +1 -0
  259. package/lib/types/groups.types.js +6 -0
  260. package/lib/types/index.d.ts +12 -0
  261. package/lib/types/index.d.ts.map +1 -0
  262. package/lib/types/index.js +12 -0
  263. package/lib/types/subscriptions.types.d.ts +32 -0
  264. package/lib/types/subscriptions.types.d.ts.map +1 -0
  265. package/lib/types/subscriptions.types.js +6 -0
  266. package/lib/types/videos.types.d.ts +61 -0
  267. package/lib/types/videos.types.d.ts.map +1 -0
  268. package/lib/types/videos.types.js +6 -0
  269. package/lib/utils/MetropolisProvider.d.ts +58 -0
  270. package/lib/utils/MetropolisProvider.d.ts.map +1 -0
  271. package/lib/utils/MetropolisProvider.js +31 -0
  272. package/lib/utils/actionFactory.d.ts +24 -0
  273. package/lib/utils/actionFactory.d.ts.map +1 -0
  274. package/lib/utils/actionFactory.js +95 -0
  275. package/lib/utils/api.d.ts +44 -0
  276. package/lib/utils/api.d.ts.map +1 -0
  277. package/lib/utils/api.js +253 -0
  278. package/lib/utils/app.d.ts +7 -0
  279. package/lib/utils/app.d.ts.map +1 -0
  280. package/lib/utils/app.js +15 -0
  281. package/lib/utils/baseActionFactory.d.ts +16 -0
  282. package/lib/utils/baseActionFactory.d.ts.map +1 -0
  283. package/lib/utils/baseActionFactory.js +72 -0
  284. package/lib/utils/configUtils.d.ts +11 -0
  285. package/lib/utils/configUtils.d.ts.map +1 -0
  286. package/lib/utils/configUtils.js +20 -0
  287. package/lib/utils/dateUtils.d.ts +3 -0
  288. package/lib/utils/dateUtils.d.ts.map +1 -0
  289. package/lib/utils/dateUtils.js +11 -0
  290. package/lib/utils/file.d.ts +3 -0
  291. package/lib/utils/file.d.ts.map +1 -0
  292. package/lib/utils/file.js +156 -0
  293. package/lib/utils/i18n.d.ts +7 -0
  294. package/lib/utils/i18n.d.ts.map +1 -0
  295. package/lib/utils/i18n.js +96 -0
  296. package/lib/utils/index.d.ts +20 -0
  297. package/lib/utils/index.d.ts.map +1 -0
  298. package/lib/utils/index.js +26 -0
  299. package/lib/utils/location.d.ts +10 -0
  300. package/lib/utils/location.d.ts.map +1 -0
  301. package/lib/utils/location.js +82 -0
  302. package/lib/utils/permissionUtils.d.ts +22 -0
  303. package/lib/utils/permissionUtils.d.ts.map +1 -0
  304. package/lib/utils/permissionUtils.js +72 -0
  305. package/lib/utils/requestCache.d.ts +8 -0
  306. package/lib/utils/requestCache.d.ts.map +1 -0
  307. package/lib/utils/requestCache.js +53 -0
  308. package/lib/utils/session.d.ts +14 -0
  309. package/lib/utils/session.d.ts.map +1 -0
  310. package/lib/utils/session.js +107 -0
  311. package/lib/utils/useConversationTyping.d.ts +26 -0
  312. package/lib/utils/useConversationTyping.d.ts.map +1 -0
  313. package/lib/utils/useConversationTyping.js +117 -0
  314. package/lib/utils/useMetropolis.d.ts +67 -0
  315. package/lib/utils/useMetropolis.d.ts.map +1 -0
  316. package/lib/utils/useMetropolis.js +311 -0
  317. package/lib/utils/useTranslations.d.ts +16 -0
  318. package/lib/utils/useTranslations.d.ts.map +1 -0
  319. package/lib/utils/useTranslations.js +105 -0
  320. package/lib/utils/validatorFactory.d.ts +49 -0
  321. package/lib/utils/validatorFactory.d.ts.map +1 -0
  322. package/lib/utils/validatorFactory.js +95 -0
  323. package/package.json +75 -28
  324. package/temp_signin.ts +73 -0
  325. package/tsconfig.lint.json +25 -0
  326. package/tsconfig.test.json +14 -0
@@ -0,0 +1,118 @@
1
+ import { parseArangoId, parseId, parseNum, parseString, parseUrl } from '@nlabs/utils';
2
+ import { z } from 'zod';
3
+ import { parseDocument } from '../arangoAdapter/arangoAdapter.js';
4
+ import { parseReaktorContent, parseReaktorType } from '../reaktorAdapter/reaktorAdapter.js';
5
+ export class FileValidationError extends Error {
6
+ field;
7
+ constructor(message, field){
8
+ super(message), this.field = field;
9
+ this.name = 'FileValidationError';
10
+ }
11
+ }
12
+ const FileInputSchema = z.object({
13
+ _from: z.string().optional(),
14
+ _id: z.string().optional(),
15
+ _key: z.string().optional(),
16
+ _oldRev: z.string().optional(),
17
+ _rev: z.string().optional(),
18
+ _to: z.string().optional(),
19
+ base64: z.string().optional(),
20
+ buffer: z.any().optional(),
21
+ description: z.string().optional(),
22
+ fileId: z.string().optional(),
23
+ fileSize: z.number().optional(),
24
+ fileType: z.string().optional(),
25
+ itemId: z.string().optional(),
26
+ itemType: z.string().optional(),
27
+ name: z.string().optional(),
28
+ url: z.string().optional(),
29
+ userId: z.string().optional()
30
+ }).loose();
31
+ export const validateFileInput = (file)=>{
32
+ try {
33
+ const validated = FileInputSchema.parse(file);
34
+ return validated;
35
+ } catch (error) {
36
+ if (error instanceof z.ZodError) {
37
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
38
+ throw new FileValidationError(`File validation failed: ${fieldErrors}`);
39
+ }
40
+ throw error;
41
+ }
42
+ };
43
+ export const formatFileOutput = (file)=>file;
44
+ export const getFileType = (file)=>{
45
+ const { fileType, name } = file;
46
+ if (fileType) {
47
+ return parseString(fileType, 16);
48
+ }
49
+ const nameArr = name?.split('.') || [];
50
+ const ext = nameArr.length > 0 ? nameArr[nameArr.length - 1] : '';
51
+ switch(ext){
52
+ case 'jpeg':
53
+ case 'jpg':
54
+ return 'image/jpeg';
55
+ case 'png':
56
+ return 'image/png';
57
+ case 'zip':
58
+ return 'application/zip';
59
+ default:
60
+ return '';
61
+ }
62
+ };
63
+ export const parseFile = (file)=>{
64
+ try {
65
+ const parsed = performFileTransformation(file);
66
+ return parsed;
67
+ } catch (error) {
68
+ if (error instanceof FileValidationError) {
69
+ throw error;
70
+ }
71
+ throw new FileValidationError(`File parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
72
+ }
73
+ };
74
+ const performFileTransformation = (file)=>{
75
+ const { _id, _key, base64, buffer, description, fileId, fileSize, fileType, id, itemId, itemType, name, url, userId } = file;
76
+ const transformed = {
77
+ ...parseDocument(file),
78
+ ...base64 && {
79
+ base64
80
+ },
81
+ ...buffer && {
82
+ buffer
83
+ },
84
+ ...description && {
85
+ description: parseReaktorContent(description)
86
+ },
87
+ ...(_key || fileId) && {
88
+ fileId: parseId(_key || fileId || '')
89
+ },
90
+ ...(_id || id || _key || fileId) && {
91
+ id: parseArangoId(_id || id || `files/${_key || fileId}`)
92
+ },
93
+ ...fileSize !== undefined && {
94
+ fileSize: parseNum(fileSize)
95
+ },
96
+ ...fileType && {
97
+ fileType: getFileType(file)
98
+ },
99
+ ...itemId && {
100
+ itemId: parseId(itemId)
101
+ },
102
+ ...itemType && {
103
+ itemType: parseReaktorType(itemType)
104
+ },
105
+ ...name && {
106
+ name: parseString(name, 160)
107
+ },
108
+ ...url && {
109
+ url: parseUrl(url)
110
+ },
111
+ ...userId && {
112
+ userId: parseId(userId)
113
+ }
114
+ };
115
+ return transformed;
116
+ };
117
+
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvZmlsZUFkYXB0ZXIvZmlsZUFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VOdW0sIHBhcnNlU3RyaW5nLCBwYXJzZVVybCB9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcblxuaW1wb3J0IHsgcGFyc2VEb2N1bWVudCB9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlci5qcyc7XG5pbXBvcnQgeyBwYXJzZVJlYWt0b3JDb250ZW50LCBwYXJzZVJlYWt0b3JUeXBlIH0gZnJvbSAnLi4vcmVha3RvckFkYXB0ZXIvcmVha3RvckFkYXB0ZXIuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVUeXBlIHtcbiAgX2Zyb20/OiBzdHJpbmc7XG4gIF9pZD86IHN0cmluZztcbiAgX2tleT86IHN0cmluZztcbiAgX29sZFJldj86IHN0cmluZztcbiAgX3Jldj86IHN0cmluZztcbiAgX3RvPzogc3RyaW5nO1xuICBiYXNlNjQ/OiBzdHJpbmc7XG4gIGJ1ZmZlcj86IGFueTtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGZpbGVJZD86IHN0cmluZztcbiAgZmlsZVNpemU/OiBudW1iZXI7XG4gIGZpbGVUeXBlPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgaXRlbUlkPzogc3RyaW5nO1xuICBpdGVtVHlwZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIEZpbGVWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0ZpbGVWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IEZpbGVJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBiYXNlNjQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgYnVmZmVyOiB6LmFueSgpLm9wdGlvbmFsKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlU2l6ZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBmaWxlVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpdGVtSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXRlbVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1cmw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLmxvb3NlKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUZpbGVJbnB1dCA9IChmaWxlOiB1bmtub3duKTogRmlsZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IEZpbGVJbnB1dFNjaGVtYS5wYXJzZShmaWxlKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIEZpbGVUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IEZpbGVWYWxpZGF0aW9uRXJyb3IoYEZpbGUgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0RmlsZU91dHB1dCA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IGZpbGU7XG5cbmV4cG9ydCBjb25zdCBnZXRGaWxlVHlwZSA9IChmaWxlOiBGaWxlVHlwZSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHtmaWxlVHlwZSwgbmFtZX0gPSBmaWxlO1xuXG4gIGlmKGZpbGVUeXBlKSB7XG4gICAgcmV0dXJuIHBhcnNlU3RyaW5nKGZpbGVUeXBlLCAxNik7XG4gIH1cblxuICBjb25zdCBuYW1lQXJyOiBzdHJpbmdbXSA9IG5hbWU/LnNwbGl0KCcuJykgfHwgW107XG4gIGNvbnN0IGV4dCA9IG5hbWVBcnIubGVuZ3RoID4gMCA/IG5hbWVBcnJbbmFtZUFyci5sZW5ndGggLSAxXSA6ICcnO1xuXG4gIHN3aXRjaChleHQpIHtcbiAgICBjYXNlICdqcGVnJzpcbiAgICBjYXNlICdqcGcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJztcbiAgICBjYXNlICdwbmcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9wbmcnO1xuICAgIGNhc2UgJ3ppcCc6XG4gICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3ppcCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlRmlsZSA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtRmlsZVRyYW5zZm9ybWF0aW9uKGZpbGUpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEZpbGVWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRmlsZVZhbGlkYXRpb25FcnJvcihgRmlsZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGJhc2U2NCxcbiAgICBidWZmZXIsXG4gICAgZGVzY3JpcHRpb24sXG4gICAgZmlsZUlkLFxuICAgIGZpbGVTaXplLFxuICAgIGZpbGVUeXBlLFxuICAgIGlkLFxuICAgIGl0ZW1JZCxcbiAgICBpdGVtVHlwZSxcbiAgICBuYW1lLFxuICAgIHVybCxcbiAgICB1c2VySWRcbiAgfSA9IGZpbGU7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudChmaWxlKSxcbiAgICAuLi4oYmFzZTY0ICYmIHtiYXNlNjR9KSxcbiAgICAuLi4oYnVmZmVyICYmIHtidWZmZXJ9KSxcbiAgICAuLi4oZGVzY3JpcHRpb24gJiYge2Rlc2NyaXB0aW9uOiBwYXJzZVJlYWt0b3JDb250ZW50KGRlc2NyaXB0aW9uKX0pLFxuICAgIC4uLigoX2tleSB8fCBmaWxlSWQpICYmIHtmaWxlSWQ6IHBhcnNlSWQoX2tleSB8fCBmaWxlSWQgfHwgJycpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBmaWxlSWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYGZpbGVzLyR7X2tleSB8fCBmaWxlSWR9YCl9KSxcbiAgICAuLi4oZmlsZVNpemUgIT09IHVuZGVmaW5lZCAmJiB7ZmlsZVNpemU6IHBhcnNlTnVtKGZpbGVTaXplKX0pLFxuICAgIC4uLihmaWxlVHlwZSAmJiB7ZmlsZVR5cGU6IGdldEZpbGVUeXBlKGZpbGUpfSksXG4gICAgLi4uKGl0ZW1JZCAmJiB7aXRlbUlkOiBwYXJzZUlkKGl0ZW1JZCl9KSxcbiAgICAuLi4oaXRlbVR5cGUgJiYge2l0ZW1UeXBlOiBwYXJzZVJlYWt0b3JUeXBlKGl0ZW1UeXBlKX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHVybCAmJiB7dXJsOiBwYXJzZVVybCh1cmwpfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9O1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sIm5hbWVzIjpbInBhcnNlQXJhbmdvSWQiLCJwYXJzZUlkIiwicGFyc2VOdW0iLCJwYXJzZVN0cmluZyIsInBhcnNlVXJsIiwieiIsInBhcnNlRG9jdW1lbnQiLCJwYXJzZVJlYWt0b3JDb250ZW50IiwicGFyc2VSZWFrdG9yVHlwZSIsIkZpbGVWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJGaWxlSW5wdXRTY2hlbWEiLCJvYmplY3QiLCJfZnJvbSIsInN0cmluZyIsIm9wdGlvbmFsIiwiX2lkIiwiX2tleSIsIl9vbGRSZXYiLCJfcmV2IiwiX3RvIiwiYmFzZTY0IiwiYnVmZmVyIiwiYW55IiwiZGVzY3JpcHRpb24iLCJmaWxlSWQiLCJmaWxlU2l6ZSIsIm51bWJlciIsImZpbGVUeXBlIiwiaXRlbUlkIiwiaXRlbVR5cGUiLCJ1cmwiLCJ1c2VySWQiLCJsb29zZSIsInZhbGlkYXRlRmlsZUlucHV0IiwiZmlsZSIsInZhbGlkYXRlZCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImZpZWxkRXJyb3JzIiwiaXNzdWVzIiwibWFwIiwiZSIsInBhdGgiLCJqb2luIiwiZm9ybWF0RmlsZU91dHB1dCIsImdldEZpbGVUeXBlIiwibmFtZUFyciIsInNwbGl0IiwiZXh0IiwibGVuZ3RoIiwicGFyc2VGaWxlIiwicGFyc2VkIiwicGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiIsImlkIiwidHJhbnNmb3JtZWQiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsUUFBUSxRQUFRLGVBQWU7QUFDdkYsU0FBU0MsQ0FBQyxRQUFRLE1BQU07QUFFeEIsU0FBU0MsYUFBYSxRQUFRLG9DQUFvQztBQUNsRSxTQUFTQyxtQkFBbUIsRUFBRUMsZ0JBQWdCLFFBQVEsc0NBQXNDO0FBd0I1RixPQUFPLE1BQU1DLDRCQUE0QkM7O0lBQ3ZDLFlBQVlDLE9BQWUsRUFBRSxBQUFPQyxLQUFjLENBQUU7UUFDbEQsS0FBSyxDQUFDRCxlQUQ0QkMsUUFBQUE7UUFFbEMsSUFBSSxDQUFDQyxJQUFJLEdBQUc7SUFDZDtBQUNGO0FBRUEsTUFBTUMsa0JBQWtCVCxFQUFFVSxNQUFNLENBQUM7SUFDL0JDLE9BQU9YLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUMxQkMsS0FBS2QsRUFBRVksTUFBTSxHQUFHQyxRQUFRO0lBQ3hCRSxNQUFNZixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDekJHLFNBQVNoQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDNUJJLE1BQU1qQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDekJLLEtBQUtsQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDeEJNLFFBQVFuQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDM0JPLFFBQVFwQixFQUFFcUIsR0FBRyxHQUFHUixRQUFRO0lBQ3hCUyxhQUFhdEIsRUFBRVksTUFBTSxHQUFHQyxRQUFRO0lBQ2hDVSxRQUFRdkIsRUFBRVksTUFBTSxHQUFHQyxRQUFRO0lBQzNCVyxVQUFVeEIs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
@@ -0,0 +1,28 @@
1
+ export interface Group {
2
+ [key: string]: any;
3
+ _id?: string;
4
+ _key?: string;
5
+ _rev?: string;
6
+ _oldRev?: string;
7
+ _from?: string;
8
+ _to?: string;
9
+ added?: number;
10
+ description?: string;
11
+ groupId?: string;
12
+ id?: string;
13
+ imageId?: string;
14
+ name?: string;
15
+ ownerId?: string;
16
+ privacy?: string;
17
+ tags?: any[];
18
+ type?: string;
19
+ updated?: number;
20
+ userCount?: number;
21
+ }
22
+ export declare class GroupValidationError extends Error {
23
+ field?: string;
24
+ constructor(message: string, field?: string);
25
+ }
26
+ export declare const validateGroupInput: (group: unknown) => Group;
27
+ export declare const parseGroup: (item: any) => Group;
28
+ //# sourceMappingURL=groupAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/groupAdapter/groupAdapter.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,KAAK;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,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,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IACT,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAsBD,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,KAWnD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,GAAG,KAAG,KAkBtC,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Copyright (c) 2026-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { parseId, parseNum, parseString } from '@nlabs/utils';
5
+ import { z } from 'zod';
6
+ import { parseDocument } from '../arangoAdapter/arangoAdapter.js';
7
+ import { parseReaktorDate, parseReaktorItemId, parseReaktorName, parseReaktorType } from '../reaktorAdapter/reaktorAdapter.js';
8
+ import { parseTag } from '../tagAdapter/tagAdapter.js';
9
+ export class GroupValidationError extends Error {
10
+ field;
11
+ constructor(message, field){
12
+ super(message), this.field = field;
13
+ this.name = 'GroupValidationError';
14
+ }
15
+ }
16
+ const GroupInputSchema = z.object({
17
+ _from: z.string().optional(),
18
+ _id: z.string().optional(),
19
+ _key: z.string().optional(),
20
+ _oldRev: z.string().optional(),
21
+ _rev: z.string().optional(),
22
+ _to: z.string().optional(),
23
+ added: z.number().optional(),
24
+ description: z.string().optional(),
25
+ groupId: z.string().optional(),
26
+ imageId: z.string().optional(),
27
+ name: z.string().optional(),
28
+ ownerId: z.string().optional(),
29
+ privacy: z.string().optional(),
30
+ tags: z.array(z.any()).optional(),
31
+ type: z.string().optional(),
32
+ updated: z.number().optional(),
33
+ userCount: z.number().optional()
34
+ }).loose();
35
+ export const validateGroupInput = (group)=>{
36
+ try {
37
+ const validated = GroupInputSchema.parse(group);
38
+ return validated;
39
+ } catch (error) {
40
+ if (error instanceof z.ZodError) {
41
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
42
+ throw new GroupValidationError(`Group validation failed: ${fieldErrors}`);
43
+ }
44
+ throw error;
45
+ }
46
+ };
47
+ export const parseGroup = (item)=>{
48
+ const base = parseDocument(item);
49
+ return {
50
+ ...base,
51
+ added: parseReaktorDate(item.added),
52
+ description: parseString(item.description),
53
+ groupId: parseReaktorItemId(item.groupId),
54
+ id: parseReaktorItemId(item.id),
55
+ imageId: parseId(item.imageId),
56
+ modified: parseReaktorDate(item.modified),
57
+ name: parseReaktorName(item.name),
58
+ ownerId: parseId(item.ownerId),
59
+ privacy: parseString(item.privacy),
60
+ tags: Array.isArray(item.tags) ? item.tags.map(parseTag) : [],
61
+ type: parseReaktorType(item.type),
62
+ userCount: parseNum(item.userCount)
63
+ };
64
+ };
65
+
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvZ3JvdXBBZGFwdGVyL2dyb3VwQWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNi1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtwYXJzZUlkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmd9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi4vYXJhbmdvQWRhcHRlci9hcmFuZ29BZGFwdGVyLmpzJztcbmltcG9ydCB7XG4gIHBhcnNlUmVha3RvckRhdGUsXG4gIHBhcnNlUmVha3Rvckl0ZW1JZCxcbiAgcGFyc2VSZWFrdG9yTmFtZSxcbiAgcGFyc2VSZWFrdG9yVHlwZVxufSBmcm9tICcuLi9yZWFrdG9yQWRhcHRlci9yZWFrdG9yQWRhcHRlci5qcyc7XG5pbXBvcnQge3BhcnNlVGFnfSBmcm9tICcuLi90YWdBZGFwdGVyL3RhZ0FkYXB0ZXIuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xuICBfaWQ/OiBzdHJpbmc7XG4gIF9rZXk/OiBzdHJpbmc7XG4gIF9yZXY/OiBzdHJpbmc7XG4gIF9vbGRSZXY/OiBzdHJpbmc7XG4gIF9mcm9tPzogc3RyaW5nO1xuICBfdG8/OiBzdHJpbmc7XG4gIGFkZGVkPzogbnVtYmVyO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZ3JvdXBJZD86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIGltYWdlSWQ/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIG93bmVySWQ/OiBzdHJpbmc7XG4gIHByaXZhY3k/OiBzdHJpbmc7XG4gIHRhZ3M/OiBhbnlbXTtcbiAgdHlwZT86IHN0cmluZztcbiAgdXBkYXRlZD86IG51bWJlcjtcbiAgdXNlckNvdW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgR3JvdXBWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0dyb3VwVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBHcm91cElucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGFkZGVkOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGdyb3VwSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaW1hZ2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG93bmVySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcHJpdmFjeTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0YWdzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIHR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXBkYXRlZDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB1c2VyQ291bnQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKVxufSkubG9vc2UoKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlR3JvdXBJbnB1dCA9IChncm91cDogdW5rbm93bik6IEdyb3VwID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBHcm91cElucHV0U2NoZW1hLnBhcnNlKGdyb3VwKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIEdyb3VwO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IEdyb3VwVmFsaWRhdGlvbkVycm9yKGBHcm91cCB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUdyb3VwID0gKGl0ZW06IGFueSk6IEdyb3VwID0+IHtcbiAgY29uc3QgYmFzZSA9IHBhcnNlRG9jdW1lbnQoaXRlbSk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlLFxuICAgIGFkZGVkOiBwYXJzZVJlYWt0b3JEYXRlKGl0ZW0uYWRkZWQpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXJzZVN0cmluZyhpdGVtLmRlc2NyaXB0aW9uKSxcbiAgICBncm91cElkOiBwYXJzZVJlYWt0b3JJdGVtSWQoaXRlbS5ncm91cElkKSxcbiAgICBpZDogcGFyc2VSZWFrdG9ySXRlbUlkKGl0ZW0uaWQpLFxuICAgIGltYWdlSWQ6IHBhcnNlSWQoaXRlbS5pbWFnZUlkKSxcbiAgICBtb2RpZmllZDogcGFyc2VSZWFrdG9yRGF0ZShpdGVtLm1vZGlmaWVkKSxcbiAgICBuYW1lOiBwYXJzZVJlYWt0b3JOYW1lKGl0ZW0ubmFtZSksXG4gICAgb3duZXJJZDogcGFyc2VJZChpdGVtLm93bmVySWQpLFxuICAgIHByaXZhY3k6IHBhcnNlU3RyaW5nKGl0ZW0ucHJpdmFjeSksXG4gICAgdGFnczogQXJyYXkuaXNBcnJheShpdGVtLnRhZ3MpID8gaXRlbS50YWdzLm1hcChwYXJzZVRhZykgOiBbXSxcbiAgICB0eXBlOiBwYXJzZVJlYWt0b3JUeXBlKGl0ZW0udHlwZSksXG4gICAgdXNlckNvdW50OiBwYXJzZU51bShpdGVtLnVzZXJDb3VudClcbiAgfTtcbn07XG4iXSwibmFtZXMiOlsicGFyc2VJZCIsInBhcnNlTnVtIiwicGFyc2VTdHJpbmciLCJ6IiwicGFyc2VEb2N1bWVudCIsInBhcnNlUmVha3RvckRhdGUiLCJwYXJzZVJlYWt0b3JJdGVtSWQiLCJwYXJzZVJlYWt0b3JOYW1lIiwicGFyc2VSZWFrdG9yVHlwZSIsInBhcnNlVGFnIiwiR3JvdXBWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJHcm91cElucHV0U2NoZW1hIiwib2JqZWN0IiwiX2Zyb20iLCJzdHJpbmciLCJvcHRpb25hbCIsIl9pZCIsIl9rZXkiLCJfb2xkUmV2IiwiX3JldiIsIl90byIsImFkZGVkIiwibnVtYmVyIiwiZGVzY3JpcHRpb24iLCJncm91cElkIiwiaW1hZ2VJZCIsIm93bmVySWQiLCJwcml2YWN5IiwidGFncyIsImFycmF5IiwiYW55IiwidHlwZSIsInVwZGF0ZWQiLCJ1c2VyQ291bnQiLCJsb29zZSIsInZhbGlkYXRlR3JvdXBJbnB1dCIsImdyb3VwIiwidmFsaWRhdGVkIiwicGFyc2UiLCJlcnJvciIsIlpvZEVycm9yIiwiZmllbGRFcnJvcnMiLCJpc3N1ZXMiLCJtYXAiLCJlIiwicGF0aCIsImpvaW4iLCJwYXJzZUdyb3VwIiwiaXRlbSIsImJhc2UiLCJpZCIsIm1vZGlmaWVkIiwiQXJyYXkiLCJpc0FycmF5Il0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxPQUFPLEVBQUVDLFFB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
@@ -0,0 +1,38 @@
1
+ export interface ImageType {
2
+ _id?: string;
3
+ _key?: string;
4
+ _rev?: string;
5
+ _oldRev?: string;
6
+ _from?: string;
7
+ _to?: string;
8
+ base64?: string;
9
+ bucket?: string;
10
+ color?: string;
11
+ description?: string;
12
+ file?: File;
13
+ id?: string;
14
+ imageId?: string;
15
+ height?: number;
16
+ itemId?: string;
17
+ itemType?: string;
18
+ model?: string;
19
+ make?: string;
20
+ privacy?: string;
21
+ s3Options?: any;
22
+ taken?: number;
23
+ thumb?: string;
24
+ fileType?: string;
25
+ type?: string;
26
+ url?: string;
27
+ width?: number;
28
+ name?: string;
29
+ [key: string]: any;
30
+ }
31
+ export declare class ImageValidationError extends Error {
32
+ field?: string;
33
+ constructor(message: string, field?: string);
34
+ }
35
+ export declare const validateImageInput: (image: unknown) => ImageType;
36
+ export declare const formatImageOutput: (image: ImageType) => ImageType;
37
+ export declare const parseImage: (image: ImageType) => ImageType;
38
+ //# sourceMappingURL=imageAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/imageAdapter/imageAdapter.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,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,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IACT,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AA+BD,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,SAWnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,SAAS,KAAG,SAAkB,CAAC;AAExE,eAAO,MAAM,UAAU,GAAI,OAAO,SAAS,KAAG,SAU7C,CAAC"}
@@ -0,0 +1,134 @@
1
+ import { parseArangoId, parseId, parseNum, parseString, parseUrl } from '@nlabs/utils';
2
+ import { z } from 'zod';
3
+ import { parseDocument, removeEmptyKeys } from '../arangoAdapter/arangoAdapter.js';
4
+ export class ImageValidationError extends Error {
5
+ field;
6
+ constructor(message, field){
7
+ super(message), this.field = field;
8
+ this.name = 'ImageValidationError';
9
+ }
10
+ }
11
+ const ImageInputSchema = z.object({
12
+ base64: z.string().optional(),
13
+ bucket: z.string().optional(),
14
+ color: z.string().optional(),
15
+ description: z.string().optional(),
16
+ file: z.any().optional(),
17
+ imageId: z.string().optional(),
18
+ height: z.number().optional(),
19
+ itemId: z.string().optional(),
20
+ itemType: z.string().optional(),
21
+ model: z.string().optional(),
22
+ make: z.string().optional(),
23
+ privacy: z.string().optional(),
24
+ s3Options: z.any().optional(),
25
+ taken: z.number().optional(),
26
+ thumb: z.string().optional(),
27
+ fileType: z.string().optional(),
28
+ type: z.string().optional(),
29
+ url: z.string().optional(),
30
+ width: z.number().optional(),
31
+ name: z.string().optional(),
32
+ _id: z.string().optional(),
33
+ _key: z.string().optional(),
34
+ _rev: z.string().optional(),
35
+ _oldRev: z.string().optional(),
36
+ _from: z.string().optional(),
37
+ _to: z.string().optional()
38
+ }).loose();
39
+ export const validateImageInput = (image)=>{
40
+ try {
41
+ const validated = ImageInputSchema.parse(image);
42
+ return validated;
43
+ } catch (error) {
44
+ if (error instanceof z.ZodError) {
45
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
46
+ throw new ImageValidationError(`Image validation failed: ${fieldErrors}`);
47
+ }
48
+ throw error;
49
+ }
50
+ };
51
+ export const formatImageOutput = (image)=>image;
52
+ export const parseImage = (image)=>{
53
+ try {
54
+ const parsed = performImageTransformation(image);
55
+ return parsed;
56
+ } catch (error) {
57
+ if (error instanceof ImageValidationError) {
58
+ throw error;
59
+ }
60
+ throw new ImageValidationError(`Image parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
61
+ }
62
+ };
63
+ const performImageTransformation = (image)=>{
64
+ const { _id, _key, base64, bucket, color, description, file, id, imageId, height, itemId, itemType, model, make, privacy, s3Options, taken, thumb, fileType, type, url, width, name } = image;
65
+ const transformed = removeEmptyKeys({
66
+ ...parseDocument(image),
67
+ ...(_key || imageId) && {
68
+ imageId: parseId(_key || imageId || '')
69
+ },
70
+ ...(_id || id || _key || imageId) && {
71
+ id: parseArangoId(_id || id || `images/${_key || imageId}`)
72
+ },
73
+ ...base64 && {
74
+ base64
75
+ },
76
+ ...bucket && {
77
+ bucket
78
+ },
79
+ ...color && {
80
+ color
81
+ },
82
+ ...description && {
83
+ description: parseString(description, 500)
84
+ },
85
+ ...file && {
86
+ file
87
+ },
88
+ ...height !== undefined && {
89
+ height: parseNum(height)
90
+ },
91
+ ...itemId && {
92
+ itemId: parseId(itemId)
93
+ },
94
+ ...itemType && {
95
+ itemType: parseString(itemType, 32)
96
+ },
97
+ ...model && {
98
+ model: parseString(model, 160)
99
+ },
100
+ ...make && {
101
+ make: parseString(make, 160)
102
+ },
103
+ ...privacy && {
104
+ privacy: parseString(privacy, 32)
105
+ },
106
+ ...s3Options && {
107
+ s3Options
108
+ },
109
+ ...taken !== undefined && {
110
+ taken: parseNum(taken)
111
+ },
112
+ ...thumb && {
113
+ thumb
114
+ },
115
+ ...fileType && {
116
+ fileType: parseString(fileType, 16)
117
+ },
118
+ ...type && {
119
+ type: parseString(type, 16)
120
+ },
121
+ ...url && {
122
+ url: parseUrl(url)
123
+ },
124
+ ...width !== undefined && {
125
+ width: parseNum(width)
126
+ },
127
+ ...name && {
128
+ name: parseString(name, 160)
129
+ }
130
+ });
131
+ return transformed;
132
+ };
133
+
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvaW1hZ2VBZGFwdGVyL2ltYWdlQWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmcsIHBhcnNlVXJsIH0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuXG5pbXBvcnQgeyBwYXJzZURvY3VtZW50LCByZW1vdmVFbXB0eUtleXMgfSBmcm9tICcuLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXIuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVHlwZSB7XG4gIF9pZD86IHN0cmluZztcbiAgX2tleT86IHN0cmluZztcbiAgX3Jldj86IHN0cmluZztcbiAgX29sZFJldj86IHN0cmluZztcbiAgX2Zyb20/OiBzdHJpbmc7XG4gIF90bz86IHN0cmluZztcbiAgYmFzZTY0Pzogc3RyaW5nO1xuICBidWNrZXQ/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZmlsZT86IEZpbGU7XG4gIGlkPzogc3RyaW5nO1xuICBpbWFnZUlkPzogc3RyaW5nO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGl0ZW1JZD86IHN0cmluZztcbiAgaXRlbVR5cGU/OiBzdHJpbmc7XG4gIG1vZGVsPzogc3RyaW5nO1xuICBtYWtlPzogc3RyaW5nO1xuICBwcml2YWN5Pzogc3RyaW5nO1xuICBzM09wdGlvbnM/OiBhbnk7XG4gIHRha2VuPzogbnVtYmVyO1xuICB0aHVtYj86IHN0cmluZztcbiAgZmlsZVR5cGU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbiAgd2lkdGg/OiBudW1iZXI7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIEltYWdlVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdJbWFnZVZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgSW1hZ2VJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgYmFzZTY0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGJ1Y2tldDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjb2xvcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlOiB6LmFueSgpLm9wdGlvbmFsKCksXG4gIGltYWdlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaGVpZ2h0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGl0ZW1JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpdGVtVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtb2RlbDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtYWtlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByaXZhY3k6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgczNPcHRpb25zOiB6LmFueSgpLm9wdGlvbmFsKCksXG4gIHRha2VuOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRodW1iOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVUeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXJsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHdpZHRoOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5sb29zZSgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVJbWFnZUlucHV0ID0gKGltYWdlOiB1bmtub3duKTogSW1hZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBJbWFnZUlucHV0U2NoZW1hLnBhcnNlKGltYWdlKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIEltYWdlVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBJbWFnZVZhbGlkYXRpb25FcnJvcihgSW1hZ2UgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0SW1hZ2VPdXRwdXQgPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiBpbWFnZTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlSW1hZ2UgPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24oaW1hZ2UpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEltYWdlVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEltYWdlVmFsaWRhdGlvbkVycm9yKGBJbWFnZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24gPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBiYXNlNjQsXG4gICAgYnVja2V0LFxuICAgIGNvbG9yLFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGZpbGUsXG4gICAgaWQsXG4gICAgaW1hZ2VJZCxcbiAgICBoZWlnaHQsXG4gICAgaXRlbUlkLFxuICAgIGl0ZW1UeXBlLFxuICAgIG1vZGVsLFxuICAgIG1ha2UsXG4gICAgcHJpdmFjeSxcbiAgICBzM09wdGlvbnMsXG4gICAgdGFrZW4sXG4gICAgdGh1bWIsXG4gICAgZmlsZVR5cGUsXG4gICAgdHlwZSxcbiAgICB1cmwsXG4gICAgd2lkdGgsXG4gICAgbmFtZVxuICB9ID0gaW1hZ2U7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQoaW1hZ2UpLFxuICAgIC4uLigoX2tleSB8fCBpbWFnZUlkKSAmJiB7aW1hZ2VJZDogcGFyc2VJZChfa2V5IHx8IGltYWdlSWQgfHwgJycpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBpbWFnZUlkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBpbWFnZXMvJHtfa2V5IHx8IGltYWdlSWR9YCl9KSxcbiAgICAuLi4oYmFzZTY0ICYmIHtiYXNlNjR9KSxcbiAgICAuLi4oYnVja2V0ICYmIHtidWNrZXR9KSxcbiAgICAuLi4oY29sb3IgJiYge2NvbG9yfSksXG4gICAgLi4uKGRlc2NyaXB0aW9uICYmIHtkZXNjcmlwdGlvbjogcGFyc2VTdHJpbmcoZGVzY3JpcHRpb24sIDUwMCl9KSxcbiAgICAuLi4oZmlsZSAmJiB7ZmlsZX0pLFxuICAgIC4uLihoZWlnaHQgIT09IHVuZGVmaW5lZCAmJiB7aGVpZ2h0OiBwYXJzZU51bShoZWlnaHQpfSksXG4gICAgLi4uKGl0ZW1JZCAmJiB7aXRlbUlkOiBwYXJzZUlkKGl0ZW1JZCl9KSxcbiAgICAuLi4oaXRlbVR5cGUgJiYge2l0ZW1UeXBlOiBwYXJzZVN0cmluZyhpdGVtVHlwZSwgMzIpfSksXG4gICAgLi4uKG1vZGVsICYmIHttb2RlbDogcGFyc2VTdHJpbmcobW9kZWwsIDE2MCl9KSxcbiAgICAuLi4obWFrZSAmJiB7bWFrZTogcGFyc2VTdHJpbmcobWFrZSwgMTYwKX0pLFxuICAgIC4uLihwcml2YWN5ICYmIHtwcml2YWN5OiBwYXJzZVN0cmluZyhwcml2YWN5LCAzMil9KSxcbiAgICAuLi4oczNPcHRpb25zICYmIHtzM09wdGlvbnN9KSxcbiAgICAuLi4odGFrZW4gIT09IHVuZGVmaW5lZCAmJiB7dGFrZW46IHBhcnNlTnVtKHRha2VuKX0pLFxuICAgIC4uLih0aHVtYiAmJiB7dGh1bWJ9KSxcbiAgICAuLi4oZmlsZVR5cGUgJiYge2ZpbGVUeXBlOiBwYXJzZVN0cmluZyhmaWxlVHlwZSwgMTYpfSksXG4gICAgLi4uKHR5cGUgJiYge3R5cGU6IHBhcnNlU3RyaW5nKHR5cGUsIDE2KX0pLFxuICAgIC4uLih1cmwgJiYge3VybDogcGFyc2VVcmwodXJsKX0pLFxuICAgIC4uLih3aWR0aCAhPT0gdW5kZWZpbmVkICYmIHt3aWR0aDogcGFyc2VOdW0od2lkdGgpfSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCl9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59O1xuIl0sIm5hbWVzIjpbInBhcnNlQXJhbmdvSWQiLCJwYXJzZUlkIiwicGFyc2VOdW0iLCJwYXJzZVN0cmluZyIsInBhcnNlVXJsIiwieiIsInBhcnNlRG9jdW1lbnQiLCJyZW1vdmVFbXB0eUtleXMiLCJJbWFnZVZhbGlkYXRpb25FcnJvciIsIkVycm9yIiwibWVzc2FnZSIsImZpZWxkIiwibmFtZSIsIkltYWdlSW5wdXRTY2hlbWEiLCJvYmplY3QiLCJiYXNlNjQiLCJzdHJpbmciLCJvcHRpb25hbCIsImJ1Y2tldCIsImNvbG9yIiwiZGVzY3JpcHRpb24iLCJmaWxlIiwiYW55IiwiaW1hZ2VJZCIsImhlaWdodCIsIm51bWJlciIsIml0ZW1JZCIsIml0ZW1UeXBlIiwibW9kZWwiLCJtYWtlIiwicHJpdmFjeSIsInMzT3B0aW9ucyIsInRha2VuIiwidGh1bWIiLCJmaWxlVHlwZSIsInR5cGUiLCJ1cmwiLCJ3aWR0aCIsIl9pZCIsIl9rZXkiLCJfcmV2IiwiX29sZFJldiIsIl9mcm9tIiwiX3RvIiwibG9vc2UiLCJ2YWxpZGF0ZUltYWdlSW5wdXQiLCJpbWFnZSIsInZhbGlkYXRlZCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImZpZWxkRXJyb3JzIiwiaXNzdWVzIiwibWFwIiwiZSIsInBhdGgiLCJqb2luIiwiZm9ybWF0SW1hZ2VPdXRwdXQiLCJwYXJzZUltYWdlIiwicGFyc2VkIiwicGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24iLCJpZCIsInRyYW5zZm9ybWVkIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxhQUFhLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLFFBQVEsUUFBUSxlQUFlO0FBQ3ZGLFNBQVNDLENBQUMsUUFBUSxNQUFNO0FBRXhCLFNBQVNDLGFBQWEsRUFBRUMsZUFBZSxRQUFRLG9DQUFvQztBQWlDbkYsT0FBTyxNQUFNQyw2QkFBNkJDOztJQUN4QyxZQUFZQyxPQUFlLEVBQUUsQUFBT0MsS0FBYyxDQUFFO1FBQ2xELEtBQUssQ0FBQ0QsZUFENEJDLFFBQUFBO1FBRWxDLElBQUksQ0FB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
@@ -0,0 +1,34 @@
1
+ export * from './arangoAdapter/arangoAdapter.js';
2
+ export { parseApp } from './appAdapter/appAdapter.js';
3
+ export { parseContent } from './contentAdapter/contentAdapter.js';
4
+ export { parseConversation } from './conversationAdapter/conversationAdapter.js';
5
+ export { parseEvent } from './eventAdapter/eventAdapter.js';
6
+ export { parseGroup } from './groupAdapter/groupAdapter.js';
7
+ export { parseImage } from './imageAdapter/imageAdapter.js';
8
+ export { parseLocation } from './locationAdapter/locationAdapter.js';
9
+ export { parseMessage } from './messageAdapter/messageAdapter.js';
10
+ export { getPermissionLevelName, hasPermission, isAdmin, isGuest, isModerator, isSuperAdmin, isUser, parsePermission, PermissionLevel, PermissionLevelNames } from './permissionAdapter/permissionAdapter.js';
11
+ export { parsePost } from './postAdapter/postAdapter.js';
12
+ export { parsePersona } from './personaAdapter/personaAdapter.js';
13
+ export { parseReaction } from './reactionAdapter/reactionAdapter.js';
14
+ export { parseTag } from './tagAdapter/tagAdapter.js';
15
+ export { parseTranslation } from './translationAdapter/translationAdapter.js';
16
+ export { parseUser } from './userAdapter/userAdapter.js';
17
+ export { parseVideo } from './videoAdapter/videoAdapter.js';
18
+ export type { AppType } from '../types/apps.types.js';
19
+ export type { ContentInputType, ContentType } from './contentAdapter/contentAdapter.js';
20
+ export type { ConversationType as ConversationAdapterType } from './conversationAdapter/conversationAdapter.js';
21
+ export type { EventType } from './eventAdapter/eventAdapter.js';
22
+ export type { GroupType } from '../types/groups.types.js';
23
+ export type { ImageType } from './imageAdapter/imageAdapter.js';
24
+ export type { LocationType } from './locationAdapter/locationAdapter.js';
25
+ export type { MessageType } from './messageAdapter/messageAdapter.js';
26
+ export type { Permission } from './permissionAdapter/permissionAdapter.js';
27
+ export type { PostType } from './postAdapter/postAdapter.js';
28
+ export type { PersonaType } from './personaAdapter/personaAdapter.js';
29
+ export type { ReactionType as ReactionAdapterType } from './reactionAdapter/reactionAdapter.js';
30
+ export type { TagType } from './tagAdapter/tagAdapter.js';
31
+ export type { TranslationType, TranslationInputType } from './translationAdapter/translationAdapter.js';
32
+ export type { User } from './userAdapter/userAdapter.js';
33
+ export type { VideoType } from '../types/videos.types.js';
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAC,iBAAiB,EAAC,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAC,YAAY,EAAC,MAAM,oCAAoC,CAAC;AAChE,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,OAAO,EACP,OAAO,EACP,WAAW,EACX,YAAY,EACZ,MAAM,EACN,eAAe,EACf,eAAe,EACf,oBAAoB,EACrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAC,QAAQ,EAAC,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAE1D,YAAY,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AACpD,YAAY,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,oCAAoC,CAAC;AACtF,YAAY,EAAC,gBAAgB,IAAI,uBAAuB,EAAC,MAAM,8CAA8C,CAAC;AAC9G,YAAY,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAC9D,YAAY,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACxD,YAAY,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAC9D,YAAY,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AACvE,YAAY,EAAC,WAAW,EAAC,MAAM,oCAAoC,CAAC;AACpE,YAAY,EAAC,UAAU,EAAC,MAAM,0CAA0C,CAAC;AACzE,YAAY,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAC3D,YAAY,EAAC,WAAW,EAAC,MAAM,oCAAoC,CAAC;AACpE,YAAY,EAAC,YAAY,IAAI,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AAC9F,YAAY,EAAC,OAAO,EAAC,MAAM,4BAA4B,CAAC;AACxD,YAAY,EAAC,eAAe,EAAE,oBAAoB,EAAC,MAAM,4CAA4C,CAAC;AACtG,YAAY,EAAC,IAAI,EAAC,MAAM,8BAA8B,CAAC;AACvD,YAAY,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,19 @@
1
+ export * from './arangoAdapter/arangoAdapter.js';
2
+ export { parseApp } from './appAdapter/appAdapter.js';
3
+ export { parseContent } from './contentAdapter/contentAdapter.js';
4
+ export { parseConversation } from './conversationAdapter/conversationAdapter.js';
5
+ export { parseEvent } from './eventAdapter/eventAdapter.js';
6
+ export { parseGroup } from './groupAdapter/groupAdapter.js';
7
+ export { parseImage } from './imageAdapter/imageAdapter.js';
8
+ export { parseLocation } from './locationAdapter/locationAdapter.js';
9
+ export { parseMessage } from './messageAdapter/messageAdapter.js';
10
+ export { getPermissionLevelName, hasPermission, isAdmin, isGuest, isModerator, isSuperAdmin, isUser, parsePermission, PermissionLevel, PermissionLevelNames } from './permissionAdapter/permissionAdapter.js';
11
+ export { parsePost } from './postAdapter/postAdapter.js';
12
+ export { parsePersona } from './personaAdapter/personaAdapter.js';
13
+ export { parseReaction } from './reactionAdapter/reactionAdapter.js';
14
+ export { parseTag } from './tagAdapter/tagAdapter.js';
15
+ export { parseTranslation } from './translationAdapter/translationAdapter.js';
16
+ export { parseUser } from './userAdapter/userAdapter.js';
17
+ export { parseVideo } from './videoAdapter/videoAdapter.js';
18
+
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUFwcH0gZnJvbSAnLi9hcHBBZGFwdGVyL2FwcEFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUNvbnRlbnR9IGZyb20gJy4vY29udGVudEFkYXB0ZXIvY29udGVudEFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUNvbnZlcnNhdGlvbn0gZnJvbSAnLi9jb252ZXJzYXRpb25BZGFwdGVyL2NvbnZlcnNhdGlvbkFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUV2ZW50fSBmcm9tICcuL2V2ZW50QWRhcHRlci9ldmVudEFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUdyb3VwfSBmcm9tICcuL2dyb3VwQWRhcHRlci9ncm91cEFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUltYWdlfSBmcm9tICcuL2ltYWdlQWRhcHRlci9pbWFnZUFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUxvY2F0aW9ufSBmcm9tICcuL2xvY2F0aW9uQWRhcHRlci9sb2NhdGlvbkFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZU1lc3NhZ2V9IGZyb20gJy4vbWVzc2FnZUFkYXB0ZXIvbWVzc2FnZUFkYXB0ZXIuanMnO1xuZXhwb3J0IHtcbiAgZ2V0UGVybWlzc2lvbkxldmVsTmFtZSxcbiAgaGFzUGVybWlzc2lvbixcbiAgaXNBZG1pbixcbiAgaXNHdWVzdCxcbiAgaXNNb2RlcmF0b3IsXG4gIGlzU3VwZXJBZG1pbixcbiAgaXNVc2VyLFxuICBwYXJzZVBlcm1pc3Npb24sXG4gIFBlcm1pc3Npb25MZXZlbCxcbiAgUGVybWlzc2lvbkxldmVsTmFtZXNcbn0gZnJvbSAnLi9wZXJtaXNzaW9uQWRhcHRlci9wZXJtaXNzaW9uQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlUG9zdH0gZnJvbSAnLi9wb3N0QWRhcHRlci9wb3N0QWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlUGVyc29uYX0gZnJvbSAnLi9wZXJzb25hQWRhcHRlci9wZXJzb25hQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlUmVhY3Rpb259IGZyb20gJy4vcmVhY3Rpb25BZGFwdGVyL3JlYWN0aW9uQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlVGFnfSBmcm9tICcuL3RhZ0FkYXB0ZXIvdGFnQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlVHJhbnNsYXRpb259IGZyb20gJy4vdHJhbnNsYXRpb25BZGFwdGVyL3RyYW5zbGF0aW9uQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlVXNlcn0gZnJvbSAnLi91c2VyQWRhcHRlci91c2VyQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlVmlkZW99IGZyb20gJy4vdmlkZW9BZGFwdGVyL3ZpZGVvQWRhcHRlci5qcyc7XG5cbmV4cG9ydCB0eXBlIHtBcHBUeXBlfSBmcm9tICcuLi90eXBlcy9hcHBzLnR5cGVzLmpzJztcbmV4cG9ydCB0eXBlIHtDb250ZW50SW5wdXRUeXBlLCBDb250ZW50VHlwZX0gZnJvbSAnLi9jb250ZW50QWRhcHRlci9jb250ZW50QWRhcHRlci5qcyc7XG5leHBvcnQgdHlwZSB7Q29udmVyc2F0aW9uVHlwZSBhcyBDb252ZXJzYXRpb25BZGFwdGVyVHlwZX0gZnJvbSAnLi9jb252ZXJzYXRpb25BZGFwdGVyL2NvbnZlcnNhdGlvbkFkYXB0ZXIuanMnO1xuZXhwb3J0IHR5cGUge0V2ZW50VHlwZX0gZnJvbSAnLi9ldmVudEFkYXB0ZXIvZXZlbnRBZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtHcm91cFR5cGV9IGZyb20gJy4uL3R5cGVzL2dyb3Vwcy50eXBlcy5qcyc7XG5leHBvcnQgdHlwZSB7SW1hZ2VUeXBlfSBmcm9tICcuL2ltYWdlQWRhcHRlci9pbWFnZUFkYXB0ZXIuanMnO1xuZXhwb3J0IHR5cGUge0xvY2F0aW9uVHlwZX0gZnJvbSAnLi9sb2NhdGlvbkFkYXB0ZXIvbG9jYXRpb25BZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtNZXNzYWdlVHlwZX0gZnJvbSAnLi9tZXNzYWdlQWRhcHRlci9tZXNzYWdlQWRhcHRlci5qcyc7XG5leHBvcnQgdHlwZSB7UGVybWlzc2lvbn0gZnJvbSAnLi9wZXJtaXNzaW9uQWRhcHRlci9wZXJtaXNzaW9uQWRhcHRlci5qcyc7XG5leHBvcnQgdHlwZSB7UG9zdFR5cGV9IGZyb20gJy4vcG9zdEFkYXB0ZXIvcG9zdEFkYXB0ZXIuanMnO1xuZXhwb3J0IHR5cGUge1BlcnNvbmFUeXBlfSBmcm9tICcuL3BlcnNvbmFBZGFwdGVyL3BlcnNvbmFBZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtSZWFjdGlvblR5cGUgYXMgUmVhY3Rpb25BZGFwdGVyVHlwZX0gZnJvbSAnLi9yZWFjdGlvbkFkYXB0ZXIvcmVhY3Rpb25BZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtUYWdUeXBlfSBmcm9tICcuL3RhZ0FkYXB0ZXIvdGFnQWRhcHRlci5qcyc7XG5leHBvcnQgdHlwZSB7VHJhbnNsYXRpb25UeXBlLCBUcmFuc2xhdGlvbklucHV0VHlwZX0gZnJvbSAnLi90cmFuc2xhdGlvbkFkYXB0ZXIvdHJhbnNsYXRpb25BZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtVc2VyfSBmcm9tICcuL3VzZXJBZGFwdGVyL3VzZXJBZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtWaWRlb1R5cGV9IGZyb20gJy4uL3R5cGVzL3ZpZGVvcy50eXBlcy5qcyc7XG4iXSwibmFtZXMiOlsicGFyc2VBcHAiLCJwYXJzZUNvbnRlbnQiLCJwYXJzZUNvbnZlcnNhdGlvbiIsInBhcnNlRXZlbnQiLCJwYXJzZUdyb3VwIiwicGFyc2VJbWFnZSIsInBhcnNlTG9jYXRpb24iLCJwYXJzZU1lc3NhZ2UiLCJnZXRQZXJtaXNzaW9uTGV2ZWxOYW1lIiwiaGFzUGVybWlzc2lvbiIsImlzQWRtaW4iLCJpc0d1ZXN0IiwiaXNNb2RlcmF0b3IiLCJpc1N1cGVyQWRtaW4iLCJpc1VzZXIiLCJwYXJzZVBlcm1pc3Npb24iLCJQZXJtaXNzaW9uTGV2ZWwiLCJQZXJtaXNzaW9uTGV2ZWxOYW1lcyIsInBhcnNlUG9zdCIsInBhcnNlUGVyc29uYSIsInBhcnNlUmVhY3Rpb24iLCJwYXJzZVRhZyIsInBhcnNlVHJhbnNsYXRpb24iLCJwYXJzZVVzZXIiLCJwYXJzZVZpZGVvIl0sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQztBQUNqRCxTQUFRQSxRQUFRLFFBQU8sNkJBQTZCO0FBQ3BELFNBQVFDLFlBQVksUUFBTyxxQ0FBcUM7QUFDaEUsU0FBUUMsaUJBQWlCLFFBQU8sK0NBQStDO0FBQy9FLFNBQVFDLFVBQVUsUUFBTyxpQ0FBaUM7QUFDMUQsU0FBUUMsVUFBVSxRQUFPLGlDQUFpQztBQUMxRCxTQUFRQyxVQUFVLFFBQU8saUNBQWlDO0FBQzFELFNBQVFDLGFBQWEsUUFBTyx1Q0FBdUM7QUFDbkUsU0FBUUMsWUFBWSxRQUFPLHFDQUFxQztBQUNoRSxTQUNFQyxzQkFBc0IsRUFDdEJDLGFBQWEsRUFDYkMsT0FBTyxFQUNQQyxPQUFPLEVBQ1BDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxNQUFNLEVBQ05DLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxvQkFBb0IsUUFDZiwyQ0FBMkM7QUFDbEQsU0FBUUMsU0FBUyxRQUFPLCtCQUErQjtBQUN2RCxTQUFRQyxZQUFZLFFBQU8scUNBQXFDO0FBQ2hFLFNBQVFDLGFBQWEsUUFBTyx1Q0FBdUM7QUFDbkUsU0FBUUMsUUFBUSxRQUFPLDZCQUE2QjtBQUNwRCxTQUFRQyxnQkFBZ0IsUUFBTyw2Q0FBNkM7QUFDNUUsU0FBUUMsU0FBUyxRQUFPLCtCQUErQjtBQUN2RCxTQUFRQyxVQUFVLFFBQU8saUNBQWlDIn0=
@@ -0,0 +1,28 @@
1
+ export interface LocationType {
2
+ _id?: string;
3
+ _key?: string;
4
+ _rev?: string;
5
+ _oldRev?: string;
6
+ _from?: string;
7
+ _to?: string;
8
+ address?: string;
9
+ city?: string;
10
+ country?: string;
11
+ id?: string;
12
+ latitude?: number;
13
+ location?: string;
14
+ locationId?: string;
15
+ longitude?: number;
16
+ state?: string;
17
+ street?: string;
18
+ zip?: string;
19
+ [key: string]: any;
20
+ }
21
+ export declare class LocationValidationError extends Error {
22
+ field?: string;
23
+ constructor(message: string, field?: string);
24
+ }
25
+ export declare const validateLocationInput: (location: unknown) => LocationType;
26
+ export declare const formatLocationOutput: (location: LocationType) => LocationType;
27
+ export declare const parseLocation: (location: LocationType) => LocationType;
28
+ //# sourceMappingURL=locationAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locationAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/locationAdapter/locationAdapter.ts"],"names":[],"mappings":"AAKA,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,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,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;AAsBD,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"}