@managesome/knotr-toolkit 0.1.1 → 0.8.5

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 (300) hide show
  1. package/dist/backend/config.d.ts +43 -0
  2. package/dist/backend/config.d.ts.map +1 -0
  3. package/dist/backend/config.js +82 -0
  4. package/dist/backend/config.js.map +1 -0
  5. package/dist/backend/database.d.ts +28 -0
  6. package/dist/backend/database.d.ts.map +1 -0
  7. package/dist/backend/database.js +112 -0
  8. package/dist/backend/database.js.map +1 -0
  9. package/dist/backend/firebase.d.ts +68 -0
  10. package/dist/backend/firebase.d.ts.map +1 -0
  11. package/dist/backend/firebase.js +233 -0
  12. package/dist/backend/firebase.js.map +1 -0
  13. package/dist/backend/index.d.ts +8 -0
  14. package/dist/backend/index.d.ts.map +1 -0
  15. package/dist/backend/index.js +19 -0
  16. package/dist/backend/index.js.map +1 -0
  17. package/dist/backend/logger.d.ts +23 -0
  18. package/dist/backend/logger.d.ts.map +1 -0
  19. package/dist/backend/logger.js +107 -0
  20. package/dist/backend/logger.js.map +1 -0
  21. package/dist/backend/redis.d.ts +59 -0
  22. package/dist/backend/redis.d.ts.map +1 -0
  23. package/dist/backend/redis.js +169 -0
  24. package/dist/backend/redis.js.map +1 -0
  25. package/dist/backend/socket.d.ts +81 -0
  26. package/dist/backend/socket.d.ts.map +1 -0
  27. package/dist/backend/socket.js +132 -0
  28. package/dist/backend/socket.js.map +1 -0
  29. package/dist/backend/worker-queue.d.ts +40 -0
  30. package/dist/backend/worker-queue.d.ts.map +1 -0
  31. package/dist/backend/worker-queue.js +140 -0
  32. package/dist/backend/worker-queue.js.map +1 -0
  33. package/dist/client/api-client.d.ts +101 -0
  34. package/dist/client/api-client.d.ts.map +1 -0
  35. package/dist/client/api-client.js +261 -0
  36. package/dist/client/api-client.js.map +1 -0
  37. package/dist/client/api-error.d.ts +100 -0
  38. package/dist/client/api-error.d.ts.map +1 -0
  39. package/dist/client/api-error.js +111 -0
  40. package/dist/client/api-error.js.map +1 -0
  41. package/dist/client/endpoints.d.ts +510 -0
  42. package/dist/client/endpoints.d.ts.map +1 -0
  43. package/dist/client/endpoints.js +306 -0
  44. package/dist/client/endpoints.js.map +1 -0
  45. package/dist/client/index.d.ts +4 -0
  46. package/dist/client/index.d.ts.map +1 -0
  47. package/dist/client/index.js +7 -0
  48. package/dist/client/index.js.map +1 -0
  49. package/dist/constants/index.d.ts +2 -1
  50. package/dist/constants/index.d.ts.map +1 -1
  51. package/dist/constants/index.js +2 -1
  52. package/dist/constants/index.js.map +1 -1
  53. package/dist/constants/socket.d.ts +165 -0
  54. package/dist/constants/socket.d.ts.map +1 -0
  55. package/dist/constants/socket.js +204 -0
  56. package/dist/constants/socket.js.map +1 -0
  57. package/dist/helpers/ApiError.d.ts +74 -0
  58. package/dist/helpers/ApiError.d.ts.map +1 -0
  59. package/dist/helpers/ApiError.js +105 -0
  60. package/dist/helpers/ApiError.js.map +1 -0
  61. package/dist/helpers/asyncHandler.d.ts +42 -0
  62. package/dist/helpers/asyncHandler.d.ts.map +1 -0
  63. package/dist/helpers/asyncHandler.js +47 -0
  64. package/dist/helpers/asyncHandler.js.map +1 -0
  65. package/dist/helpers/id-generator.d.ts +98 -0
  66. package/dist/helpers/id-generator.d.ts.map +1 -0
  67. package/dist/helpers/id-generator.js +128 -0
  68. package/dist/helpers/id-generator.js.map +1 -0
  69. package/dist/helpers/index.d.ts +5 -0
  70. package/dist/helpers/index.d.ts.map +1 -0
  71. package/dist/helpers/index.js +8 -0
  72. package/dist/helpers/index.js.map +1 -0
  73. package/dist/helpers/response-timing.d.ts +91 -0
  74. package/dist/helpers/response-timing.d.ts.map +1 -0
  75. package/dist/helpers/response-timing.js +176 -0
  76. package/dist/helpers/response-timing.js.map +1 -0
  77. package/dist/index.d.ts +7 -3
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +21 -3
  80. package/dist/index.js.map +1 -1
  81. package/dist/schemas/account.schema.d.ts +4500 -0
  82. package/dist/schemas/account.schema.d.ts.map +1 -0
  83. package/dist/schemas/account.schema.js +123 -0
  84. package/dist/schemas/account.schema.js.map +1 -0
  85. package/dist/schemas/chat.schema.d.ts +4796 -0
  86. package/dist/schemas/chat.schema.d.ts.map +1 -0
  87. package/dist/schemas/chat.schema.js +107 -0
  88. package/dist/schemas/chat.schema.js.map +1 -0
  89. package/dist/schemas/collaboration-request.schema.d.ts +3960 -0
  90. package/dist/schemas/collaboration-request.schema.d.ts.map +1 -0
  91. package/dist/schemas/collaboration-request.schema.js +92 -0
  92. package/dist/schemas/collaboration-request.schema.js.map +1 -0
  93. package/dist/schemas/company-review.schema.d.ts +3465 -0
  94. package/dist/schemas/company-review.schema.d.ts.map +1 -0
  95. package/dist/schemas/company-review.schema.js +73 -0
  96. package/dist/schemas/company-review.schema.js.map +1 -0
  97. package/dist/schemas/company.schema.d.ts +6152 -0
  98. package/dist/schemas/company.schema.d.ts.map +1 -0
  99. package/dist/schemas/company.schema.js +192 -0
  100. package/dist/schemas/company.schema.js.map +1 -0
  101. package/dist/schemas/contract.schema.d.ts +5286 -0
  102. package/dist/schemas/contract.schema.d.ts.map +1 -0
  103. package/dist/schemas/contract.schema.js +115 -0
  104. package/dist/schemas/contract.schema.js.map +1 -0
  105. package/dist/schemas/dispute-evidence.schema.d.ts +3788 -0
  106. package/dist/schemas/dispute-evidence.schema.d.ts.map +1 -0
  107. package/dist/schemas/dispute-evidence.schema.js +71 -0
  108. package/dist/schemas/dispute-evidence.schema.js.map +1 -0
  109. package/dist/schemas/dispute.schema.d.ts +4970 -0
  110. package/dist/schemas/dispute.schema.d.ts.map +1 -0
  111. package/dist/schemas/dispute.schema.js +152 -0
  112. package/dist/schemas/dispute.schema.js.map +1 -0
  113. package/dist/schemas/donation.schema.d.ts +3594 -0
  114. package/dist/schemas/donation.schema.d.ts.map +1 -0
  115. package/dist/schemas/donation.schema.js +95 -0
  116. package/dist/schemas/donation.schema.js.map +1 -0
  117. package/dist/schemas/escrow.schema.d.ts +4322 -0
  118. package/dist/schemas/escrow.schema.d.ts.map +1 -0
  119. package/dist/schemas/escrow.schema.js +93 -0
  120. package/dist/schemas/escrow.schema.js.map +1 -0
  121. package/dist/schemas/flag.schema.d.ts +4375 -0
  122. package/dist/schemas/flag.schema.d.ts.map +1 -0
  123. package/dist/schemas/flag.schema.js +133 -0
  124. package/dist/schemas/flag.schema.js.map +1 -0
  125. package/dist/schemas/index.d.ts +33 -0
  126. package/dist/schemas/index.d.ts.map +1 -0
  127. package/dist/schemas/index.js +39 -0
  128. package/dist/schemas/index.js.map +1 -0
  129. package/dist/schemas/interest.schema.d.ts +3804 -0
  130. package/dist/schemas/interest.schema.d.ts.map +1 -0
  131. package/dist/schemas/interest.schema.js +107 -0
  132. package/dist/schemas/interest.schema.js.map +1 -0
  133. package/dist/schemas/match.schema.d.ts +4013 -0
  134. package/dist/schemas/match.schema.d.ts.map +1 -0
  135. package/dist/schemas/match.schema.js +118 -0
  136. package/dist/schemas/match.schema.js.map +1 -0
  137. package/dist/schemas/message.schema.d.ts +4213 -0
  138. package/dist/schemas/message.schema.d.ts.map +1 -0
  139. package/dist/schemas/message.schema.js +134 -0
  140. package/dist/schemas/message.schema.js.map +1 -0
  141. package/dist/schemas/milestone.schema.d.ts +4310 -0
  142. package/dist/schemas/milestone.schema.d.ts.map +1 -0
  143. package/dist/schemas/milestone.schema.js +99 -0
  144. package/dist/schemas/milestone.schema.js.map +1 -0
  145. package/dist/schemas/notification.schema.d.ts +4641 -0
  146. package/dist/schemas/notification.schema.d.ts.map +1 -0
  147. package/dist/schemas/notification.schema.js +139 -0
  148. package/dist/schemas/notification.schema.js.map +1 -0
  149. package/dist/schemas/profile.schema.d.ts +9589 -0
  150. package/dist/schemas/profile.schema.d.ts.map +1 -0
  151. package/dist/schemas/profile.schema.js +360 -0
  152. package/dist/schemas/profile.schema.js.map +1 -0
  153. package/dist/schemas/profit-share-agreement.schema.d.ts +3789 -0
  154. package/dist/schemas/profit-share-agreement.schema.d.ts.map +1 -0
  155. package/dist/schemas/profit-share-agreement.schema.js +76 -0
  156. package/dist/schemas/profit-share-agreement.schema.js.map +1 -0
  157. package/dist/schemas/profit-share.schema.d.ts +4051 -0
  158. package/dist/schemas/profit-share.schema.d.ts.map +1 -0
  159. package/dist/schemas/profit-share.schema.js +96 -0
  160. package/dist/schemas/profit-share.schema.js.map +1 -0
  161. package/dist/schemas/promo-code.schema.d.ts +3924 -0
  162. package/dist/schemas/promo-code.schema.d.ts.map +1 -0
  163. package/dist/schemas/promo-code.schema.js +112 -0
  164. package/dist/schemas/promo-code.schema.js.map +1 -0
  165. package/dist/schemas/proposal.schema.d.ts +5182 -0
  166. package/dist/schemas/proposal.schema.d.ts.map +1 -0
  167. package/dist/schemas/proposal.schema.js +114 -0
  168. package/dist/schemas/proposal.schema.js.map +1 -0
  169. package/dist/schemas/purchase.schema.d.ts +3724 -0
  170. package/dist/schemas/purchase.schema.d.ts.map +1 -0
  171. package/dist/schemas/purchase.schema.js +89 -0
  172. package/dist/schemas/purchase.schema.js.map +1 -0
  173. package/dist/schemas/requirement-post.schema.d.ts +6315 -0
  174. package/dist/schemas/requirement-post.schema.d.ts.map +1 -0
  175. package/dist/schemas/requirement-post.schema.js +153 -0
  176. package/dist/schemas/requirement-post.schema.js.map +1 -0
  177. package/dist/schemas/review.schema.d.ts +4512 -0
  178. package/dist/schemas/review.schema.d.ts.map +1 -0
  179. package/dist/schemas/review.schema.js +121 -0
  180. package/dist/schemas/review.schema.js.map +1 -0
  181. package/dist/schemas/service-listing.schema.d.ts +5152 -0
  182. package/dist/schemas/service-listing.schema.d.ts.map +1 -0
  183. package/dist/schemas/service-listing.schema.js +137 -0
  184. package/dist/schemas/service-listing.schema.js.map +1 -0
  185. package/dist/schemas/subscription.schema.d.ts +3985 -0
  186. package/dist/schemas/subscription.schema.d.ts.map +1 -0
  187. package/dist/schemas/subscription.schema.js +94 -0
  188. package/dist/schemas/subscription.schema.js.map +1 -0
  189. package/dist/schemas/tmc-application.schema.d.ts +4357 -0
  190. package/dist/schemas/tmc-application.schema.d.ts.map +1 -0
  191. package/dist/schemas/tmc-application.schema.js +96 -0
  192. package/dist/schemas/tmc-application.schema.js.map +1 -0
  193. package/dist/schemas/tmc-membership.schema.d.ts +3985 -0
  194. package/dist/schemas/tmc-membership.schema.d.ts.map +1 -0
  195. package/dist/schemas/tmc-membership.schema.js +84 -0
  196. package/dist/schemas/tmc-membership.schema.js.map +1 -0
  197. package/dist/schemas/trust-badge.schema.d.ts +3919 -0
  198. package/dist/schemas/trust-badge.schema.d.ts.map +1 -0
  199. package/dist/schemas/trust-badge.schema.js +83 -0
  200. package/dist/schemas/trust-badge.schema.js.map +1 -0
  201. package/dist/schemas/verification.schema.d.ts +4606 -0
  202. package/dist/schemas/verification.schema.d.ts.map +1 -0
  203. package/dist/schemas/verification.schema.js +114 -0
  204. package/dist/schemas/verification.schema.js.map +1 -0
  205. package/dist/schemas/webhook-event.schema.d.ts +3534 -0
  206. package/dist/schemas/webhook-event.schema.d.ts.map +1 -0
  207. package/dist/schemas/webhook-event.schema.js +83 -0
  208. package/dist/schemas/webhook-event.schema.js.map +1 -0
  209. package/dist/types/account.d.ts +36 -7
  210. package/dist/types/account.d.ts.map +1 -1
  211. package/dist/types/account.js +3 -1
  212. package/dist/types/account.js.map +1 -1
  213. package/dist/types/admin.d.ts +20 -10
  214. package/dist/types/admin.d.ts.map +1 -1
  215. package/dist/types/admin.js +3 -1
  216. package/dist/types/admin.js.map +1 -1
  217. package/dist/types/api.d.ts +184 -109
  218. package/dist/types/api.d.ts.map +1 -1
  219. package/dist/types/api.js +2 -1
  220. package/dist/types/api.js.map +1 -1
  221. package/dist/types/chat.d.ts +38 -20
  222. package/dist/types/chat.d.ts.map +1 -1
  223. package/dist/types/chat.js +3 -1
  224. package/dist/types/chat.js.map +1 -1
  225. package/dist/types/common.d.ts +39 -12
  226. package/dist/types/common.d.ts.map +1 -1
  227. package/dist/types/common.js +4 -1
  228. package/dist/types/common.js.map +1 -1
  229. package/dist/types/company.d.ts +61 -44
  230. package/dist/types/company.d.ts.map +1 -1
  231. package/dist/types/company.js +3 -1
  232. package/dist/types/company.js.map +1 -1
  233. package/dist/types/flag.d.ts +19 -8
  234. package/dist/types/flag.d.ts.map +1 -1
  235. package/dist/types/flag.js +3 -1
  236. package/dist/types/flag.js.map +1 -1
  237. package/dist/types/forms.d.ts +334 -0
  238. package/dist/types/forms.d.ts.map +1 -0
  239. package/dist/types/forms.js +5 -0
  240. package/dist/types/forms.js.map +1 -0
  241. package/dist/types/index.d.ts +18 -13
  242. package/dist/types/index.d.ts.map +1 -1
  243. package/dist/types/index.js +18 -13
  244. package/dist/types/index.js.map +1 -1
  245. package/dist/types/marketplace.d.ts +174 -104
  246. package/dist/types/marketplace.d.ts.map +1 -1
  247. package/dist/types/marketplace.js +2 -0
  248. package/dist/types/marketplace.js.map +1 -1
  249. package/dist/types/match.d.ts +36 -19
  250. package/dist/types/match.d.ts.map +1 -1
  251. package/dist/types/match.js +3 -1
  252. package/dist/types/match.js.map +1 -1
  253. package/dist/types/navigation.d.ts +305 -0
  254. package/dist/types/navigation.d.ts.map +1 -0
  255. package/dist/types/navigation.js +18 -0
  256. package/dist/types/navigation.js.map +1 -0
  257. package/dist/types/notification.d.ts +92 -0
  258. package/dist/types/notification.d.ts.map +1 -0
  259. package/dist/types/notification.js +5 -0
  260. package/dist/types/notification.js.map +1 -0
  261. package/dist/types/payment.d.ts +70 -38
  262. package/dist/types/payment.d.ts.map +1 -1
  263. package/dist/types/payment.js +3 -1
  264. package/dist/types/payment.js.map +1 -1
  265. package/dist/types/policy.d.ts +174 -81
  266. package/dist/types/policy.d.ts.map +1 -1
  267. package/dist/types/policy.js.map +1 -1
  268. package/dist/types/profile.d.ts +48 -37
  269. package/dist/types/profile.d.ts.map +1 -1
  270. package/dist/types/profile.js +3 -1
  271. package/dist/types/profile.js.map +1 -1
  272. package/dist/types/socket.d.ts +431 -0
  273. package/dist/types/socket.d.ts.map +1 -0
  274. package/dist/types/socket.js +5 -0
  275. package/dist/types/socket.js.map +1 -0
  276. package/dist/types/verification.d.ts +18 -9
  277. package/dist/types/verification.d.ts.map +1 -1
  278. package/dist/types/verification.js +3 -1
  279. package/dist/types/verification.js.map +1 -1
  280. package/dist/types/worker.d.ts +452 -0
  281. package/dist/types/worker.d.ts.map +1 -0
  282. package/dist/types/worker.js +5 -0
  283. package/dist/types/worker.js.map +1 -0
  284. package/dist/validation/index.d.ts +5 -0
  285. package/dist/validation/index.d.ts.map +1 -0
  286. package/dist/validation/index.js +9 -0
  287. package/dist/validation/index.js.map +1 -0
  288. package/dist/validation/messages.d.ts +124 -0
  289. package/dist/validation/messages.d.ts.map +1 -0
  290. package/dist/validation/messages.js +160 -0
  291. package/dist/validation/messages.js.map +1 -0
  292. package/dist/validation/schemas.d.ts +1127 -0
  293. package/dist/validation/schemas.d.ts.map +1 -0
  294. package/dist/validation/schemas.js +376 -0
  295. package/dist/validation/schemas.js.map +1 -0
  296. package/dist/validation/validators.d.ts +229 -0
  297. package/dist/validation/validators.d.ts.map +1 -0
  298. package/dist/validation/validators.js +307 -0
  299. package/dist/validation/validators.js.map +1 -0
  300. package/package.json +37 -3
@@ -0,0 +1,307 @@
1
+ // ============================================
2
+ // Validators - Reusable field validation functions
3
+ // ============================================
4
+ import { z } from 'zod';
5
+ import { MAX_ABOUT_LENGTH, MAX_AGE, MAX_EXPECTATIONS_LENGTH, MAX_HEIGHT_CM, MAX_MESSAGE_LENGTH, MAX_WEIGHT_KG, MIN_ABOUT_LENGTH, MIN_AGE, MIN_EXPECTATIONS_LENGTH, MIN_HEIGHT_CM, MIN_WEIGHT_KG, } from '../constants/index.js';
6
+ // ============================================
7
+ // Basic Validators
8
+ // ============================================
9
+ /**
10
+ * Email validator
11
+ */
12
+ export const emailValidator = z
13
+ .string()
14
+ .email('Invalid email address')
15
+ .min(5, 'Email too short')
16
+ .max(254, 'Email too long')
17
+ .toLowerCase()
18
+ .trim();
19
+ /**
20
+ * Phone number validator (E.164 format)
21
+ */
22
+ export const phoneValidator = z
23
+ .string()
24
+ .regex(/^\+[1-9]\d{1,14}$/, 'Invalid phone number format (use E.164 format: +1234567890)');
25
+ /**
26
+ * Password validator
27
+ */
28
+ export const passwordValidator = z
29
+ .string()
30
+ .min(8, 'Password must be at least 8 characters')
31
+ .max(128, 'Password too long')
32
+ .regex(/[a-z]/, 'Password must contain a lowercase letter')
33
+ .regex(/[A-Z]/, 'Password must contain an uppercase letter')
34
+ .regex(/[0-9]/, 'Password must contain a number');
35
+ /**
36
+ * Strong password validator (includes special chars)
37
+ */
38
+ export const strongPasswordValidator = passwordValidator.regex(/[^a-zA-Z0-9]/, 'Password must contain a special character');
39
+ /**
40
+ * Name validator (person's name)
41
+ */
42
+ export const nameValidator = z
43
+ .string()
44
+ .min(2, 'Name must be at least 2 characters')
45
+ .max(50, 'Name too long')
46
+ .regex(/^[a-zA-Z\s\-']+$/, 'Name can only contain letters, spaces, hyphens, and apostrophes')
47
+ .trim();
48
+ /**
49
+ * Display name validator (more permissive)
50
+ */
51
+ export const displayNameValidator = z
52
+ .string()
53
+ .min(2, 'Name must be at least 2 characters')
54
+ .max(100, 'Name too long')
55
+ .trim();
56
+ /**
57
+ * URL validator
58
+ */
59
+ export const urlValidator = z.string().url('Invalid URL');
60
+ /**
61
+ * Optional URL validator
62
+ */
63
+ export const optionalUrlValidator = z.string().url('Invalid URL').optional().or(z.literal(''));
64
+ // ============================================
65
+ // Profile Validators
66
+ // ============================================
67
+ /**
68
+ * Age validator
69
+ */
70
+ export const ageValidator = z
71
+ .number()
72
+ .int('Age must be a whole number')
73
+ .min(MIN_AGE, `Must be at least ${MIN_AGE} years old`)
74
+ .max(MAX_AGE, `Must be at most ${MAX_AGE} years old`);
75
+ /**
76
+ * Date of birth validator
77
+ */
78
+ export const dateOfBirthValidator = z
79
+ .date()
80
+ .refine((date) => {
81
+ const age = Math.floor((new Date().getTime() - date.getTime()) / (365.25 * 24 * 60 * 60 * 1000));
82
+ return age >= MIN_AGE;
83
+ }, { message: `Must be at least ${MIN_AGE} years old` })
84
+ .refine((date) => {
85
+ const age = Math.floor((new Date().getTime() - date.getTime()) / (365.25 * 24 * 60 * 60 * 1000));
86
+ return age <= MAX_AGE;
87
+ }, { message: `Must be at most ${MAX_AGE} years old` });
88
+ /**
89
+ * Date of birth string validator (ISO format)
90
+ */
91
+ export const dateOfBirthStringValidator = z
92
+ .string()
93
+ .regex(/^\d{4}-\d{2}-\d{2}$/, 'Date must be in YYYY-MM-DD format')
94
+ .transform((s) => new Date(s))
95
+ .pipe(dateOfBirthValidator);
96
+ /**
97
+ * Height validator (in cm)
98
+ */
99
+ export const heightValidator = z
100
+ .number()
101
+ .int('Height must be a whole number')
102
+ .min(MIN_HEIGHT_CM, `Height must be at least ${MIN_HEIGHT_CM} cm`)
103
+ .max(MAX_HEIGHT_CM, `Height must be at most ${MAX_HEIGHT_CM} cm`);
104
+ /**
105
+ * Weight validator (in kg)
106
+ */
107
+ export const weightValidator = z
108
+ .number()
109
+ .int('Weight must be a whole number')
110
+ .min(MIN_WEIGHT_KG, `Weight must be at least ${MIN_WEIGHT_KG} kg`)
111
+ .max(MAX_WEIGHT_KG, `Weight must be at most ${MAX_WEIGHT_KG} kg`);
112
+ /**
113
+ * About/bio validator
114
+ */
115
+ export const aboutValidator = z
116
+ .string()
117
+ .min(MIN_ABOUT_LENGTH, `Bio must be at least ${MIN_ABOUT_LENGTH} characters`)
118
+ .max(MAX_ABOUT_LENGTH, `Bio must be at most ${MAX_ABOUT_LENGTH} characters`)
119
+ .trim();
120
+ /**
121
+ * Expectations validator
122
+ */
123
+ export const expectationsValidator = z
124
+ .string()
125
+ .min(MIN_EXPECTATIONS_LENGTH, `Must be at least ${MIN_EXPECTATIONS_LENGTH} characters`)
126
+ .max(MAX_EXPECTATIONS_LENGTH, `Must be at most ${MAX_EXPECTATIONS_LENGTH} characters`)
127
+ .trim();
128
+ /**
129
+ * Gender validator
130
+ */
131
+ export const genderValidator = z.enum(['male', 'female'], {
132
+ errorMap: () => ({ message: 'Please select a gender' }),
133
+ });
134
+ /**
135
+ * Marital status validator
136
+ */
137
+ export const maritalStatusValidator = z.enum(['never_married', 'divorced', 'widowed', 'annulled'], {
138
+ errorMap: () => ({ message: 'Please select marital status' }),
139
+ });
140
+ /**
141
+ * Education level validator
142
+ */
143
+ export const educationLevelValidator = z.enum(['high_school', 'some_college', 'bachelors', 'masters', 'doctorate', 'professional', 'trade_school', 'other'], {
144
+ errorMap: () => ({ message: 'Please select education level' }),
145
+ });
146
+ // ============================================
147
+ // Location Validators
148
+ // ============================================
149
+ /**
150
+ * Country code validator (ISO 3166-1 alpha-2)
151
+ */
152
+ export const countryCodeValidator = z.string().length(2, 'Invalid country code').toUpperCase();
153
+ /**
154
+ * City validator
155
+ */
156
+ export const cityValidator = z.string().min(2, 'City name too short').max(100, 'City name too long').trim();
157
+ /**
158
+ * Location validator
159
+ */
160
+ export const locationValidator = z.object({
161
+ country: countryCodeValidator,
162
+ state: z.string().max(100).optional(),
163
+ city: cityValidator,
164
+ coordinates: z
165
+ .object({
166
+ latitude: z.number().min(-90).max(90),
167
+ longitude: z.number().min(-180).max(180),
168
+ })
169
+ .optional(),
170
+ });
171
+ // ============================================
172
+ // Chat Validators
173
+ // ============================================
174
+ /**
175
+ * Message content validator
176
+ */
177
+ export const messageContentValidator = z
178
+ .string()
179
+ .min(1, 'Message cannot be empty')
180
+ .max(MAX_MESSAGE_LENGTH, `Message too long (max ${MAX_MESSAGE_LENGTH} characters)`)
181
+ .trim();
182
+ /**
183
+ * Message type validator
184
+ */
185
+ export const messageTypeValidator = z.enum(['text', 'image', 'system', 'deleted']);
186
+ // ============================================
187
+ // Interest Validators
188
+ // ============================================
189
+ /**
190
+ * Interest message validator
191
+ */
192
+ export const interestMessageValidator = z
193
+ .string()
194
+ .min(10, 'Message must be at least 10 characters')
195
+ .max(500, 'Message must be at most 500 characters')
196
+ .trim();
197
+ // ============================================
198
+ // Payment Validators
199
+ // ============================================
200
+ /**
201
+ * Currency code validator (ISO 4217)
202
+ */
203
+ export const currencyCodeValidator = z.string().length(3, 'Invalid currency code').toUpperCase();
204
+ /**
205
+ * Promo code validator
206
+ */
207
+ export const promoCodeValidator = z
208
+ .string()
209
+ .min(4, 'Promo code too short')
210
+ .max(20, 'Promo code too long')
211
+ .regex(/^[A-Z0-9]+$/, 'Invalid promo code format')
212
+ .toUpperCase();
213
+ // ============================================
214
+ // Common Object Validators
215
+ // ============================================
216
+ /**
217
+ * Pagination validator
218
+ */
219
+ export const paginationValidator = z.object({
220
+ page: z.number().int().min(1).default(1),
221
+ limit: z.number().int().min(1).max(100).default(20),
222
+ });
223
+ /**
224
+ * ID validator (nanoid format)
225
+ */
226
+ export const idValidator = z.string().min(8, 'Invalid ID').max(32, 'Invalid ID');
227
+ /**
228
+ * Prefixed ID validator
229
+ */
230
+ export const prefixedIdValidator = (prefix) => z.string().regex(new RegExp(`^${prefix}_[a-zA-Z0-9_-]+$`), `Invalid ${prefix} ID`);
231
+ /**
232
+ * MongoDB ObjectId validator
233
+ */
234
+ export const objectIdValidator = z.string().regex(/^[a-f\d]{24}$/i, 'Invalid ObjectId');
235
+ /**
236
+ * UUID validator
237
+ */
238
+ export const uuidValidator = z.string().uuid('Invalid UUID');
239
+ // ============================================
240
+ // File Validators
241
+ // ============================================
242
+ /**
243
+ * Image MIME type validator
244
+ */
245
+ export const imageMimeTypeValidator = z.enum(['image/jpeg', 'image/png', 'image/webp']);
246
+ /**
247
+ * File size validator (in bytes)
248
+ */
249
+ export const fileSizeValidator = (maxBytes) => z.number().max(maxBytes, `File too large (max ${Math.round(maxBytes / 1024 / 1024)}MB)`);
250
+ // ============================================
251
+ // Array/Range Validators
252
+ // ============================================
253
+ /**
254
+ * Age range validator
255
+ */
256
+ export const ageRangeValidator = z
257
+ .object({
258
+ min: z.number().int().min(MIN_AGE).max(MAX_AGE),
259
+ max: z.number().int().min(MIN_AGE).max(MAX_AGE),
260
+ })
261
+ .refine((data) => data.min <= data.max, {
262
+ message: 'Minimum age must be less than or equal to maximum age',
263
+ });
264
+ /**
265
+ * Height range validator
266
+ */
267
+ export const heightRangeValidator = z
268
+ .object({
269
+ min: z.number().int().min(MIN_HEIGHT_CM).max(MAX_HEIGHT_CM),
270
+ max: z.number().int().min(MIN_HEIGHT_CM).max(MAX_HEIGHT_CM),
271
+ })
272
+ .refine((data) => data.min <= data.max, {
273
+ message: 'Minimum height must be less than or equal to maximum height',
274
+ });
275
+ // ============================================
276
+ // Helper Functions
277
+ // ============================================
278
+ /**
279
+ * Create an optional version of any validator
280
+ */
281
+ export function optional(schema) {
282
+ return schema.optional().nullable();
283
+ }
284
+ /**
285
+ * Create a validator that trims and lowercases strings
286
+ */
287
+ export function normalizedString(min = 1, max = 255) {
288
+ return z.string().min(min).max(max).trim().toLowerCase();
289
+ }
290
+ /**
291
+ * Validate and parse data, returning errors in a field map
292
+ */
293
+ export function validateWithFieldErrors(schema, data) {
294
+ const result = schema.safeParse(data);
295
+ if (result.success) {
296
+ return { success: true, data: result.data };
297
+ }
298
+ const errors = {};
299
+ result.error.errors.forEach((err) => {
300
+ const path = err.path.join('.');
301
+ if (!errors[path]) {
302
+ errors[path] = err.message;
303
+ }
304
+ });
305
+ return { success: false, errors };
306
+ }
307
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@managesome/knotr-toolkit",
3
- "version": "0.1.1",
4
- "description": "A Toolkit Library for Knotr",
3
+ "version": "0.8.5",
4
+ "description": "A Toolkit Library for Knotr - Types, Constants, Helpers, Validation, and Mongoose Schemas",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -18,11 +18,31 @@
18
18
  "types": "./dist/constants/index.d.ts",
19
19
  "default": "./dist/constants/index.js"
20
20
  },
21
+ "./helpers": {
22
+ "types": "./dist/helpers/index.d.ts",
23
+ "default": "./dist/helpers/index.js"
24
+ },
21
25
  "./i18n": {
22
26
  "types": "./dist/i18n/index.d.ts",
23
27
  "default": "./dist/i18n/index.js"
24
28
  },
25
- "./i18n/*": "./dist/i18n/*.json"
29
+ "./i18n/*": "./dist/i18n/*.json",
30
+ "./client": {
31
+ "types": "./dist/client/index.d.ts",
32
+ "default": "./dist/client/index.js"
33
+ },
34
+ "./validation": {
35
+ "types": "./dist/validation/index.d.ts",
36
+ "default": "./dist/validation/index.js"
37
+ },
38
+ "./backend": {
39
+ "types": "./dist/backend/index.d.ts",
40
+ "default": "./dist/backend/index.js"
41
+ },
42
+ "./schemas": {
43
+ "types": "./dist/schemas/index.d.ts",
44
+ "default": "./dist/schemas/index.js"
45
+ }
26
46
  },
27
47
  "files": [
28
48
  "dist"
@@ -40,14 +60,28 @@
40
60
  "clean": "rm -rf dist"
41
61
  },
42
62
  "devDependencies": {
63
+ "@types/express": "^4.17.21",
43
64
  "@types/jest": "^29.5.14",
44
65
  "jest": "^29.7.0",
66
+ "mongoose": "^9.1.5",
45
67
  "prettier": "^3.5.3",
46
68
  "ts-jest": "^29.3.1",
47
69
  "tslint": "^6.1.3",
48
70
  "tslint-config-prettier": "^1.18.0",
49
71
  "typescript": "^5.8.3"
50
72
  },
73
+ "dependencies": {
74
+ "nanoid": "^5.0.9",
75
+ "zod": "^3.24.4"
76
+ },
77
+ "peerDependencies": {
78
+ "mongoose": "^8.0.0"
79
+ },
80
+ "peerDependenciesMeta": {
81
+ "mongoose": {
82
+ "optional": true
83
+ }
84
+ },
51
85
  "author": "Knotr",
52
86
  "license": "UNLICENSED",
53
87
  "repository": {