@joeygrable94/utm-src-pub-validators 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs ADDED
@@ -0,0 +1,584 @@
1
+ 'use strict';
2
+
3
+ var v7 = require('valibot');
4
+
5
+ function _interopNamespace(e) {
6
+ if (e && e.__esModule) return e;
7
+ var n = Object.create(null);
8
+ if (e) {
9
+ Object.keys(e).forEach(function (k) {
10
+ if (k !== 'default') {
11
+ var d = Object.getOwnPropertyDescriptor(e, k);
12
+ Object.defineProperty(n, k, d.get ? d : {
13
+ enumerable: true,
14
+ get: function () { return e[k]; }
15
+ });
16
+ }
17
+ });
18
+ }
19
+ n.default = e;
20
+ return Object.freeze(n);
21
+ }
22
+
23
+ var v7__namespace = /*#__PURE__*/_interopNamespace(v7);
24
+
25
+ // src/constants-limits.ts
26
+ var LIMIT_MIN_LABEL = 1;
27
+ var LIMIT_MAX_LABEL = 255;
28
+ var LIMIT_MIN_VALUE = 1;
29
+ var LIMIT_MAX_VALUE = 255;
30
+ var LIMIT_MAX_DESCRIPTION = 1024;
31
+ var LIMIT_MIN_USERNAME = 3;
32
+ var LIMIT_MAX_USERNAME = 255;
33
+ var LIMIT_MIN_EMAIL = 5;
34
+ var LIMIT_MAX_EMAIL = 255;
35
+ var LIMIT_MIN_PASSWORD = 8;
36
+ var LIMIT_MAX_PASSWORD = 255;
37
+ var LIMIT_MAX_PROVIDER = 255;
38
+ var LIMIT_MIN_NAME = 2;
39
+ var LIMIT_MAX_NAME = 255;
40
+ var LIMIT_MIN_PRODUCT_ID = 2;
41
+ var LIMIT_MAX_PRODUCT_ID = 64;
42
+ var LIMIT_MIN_PRICE_ID = 2;
43
+ var LIMIT_MAX_PRICE_ID = 64;
44
+ var LIMIT_MIN_UNIT_AMOUNT = 0;
45
+ var LIMIT_MIN_UNIT_TERM_IN_MONTHS = 1;
46
+ var LIMIT_MAX_UNIT_TERM_IN_MONTHS = 12;
47
+ var LIMIT_MIN_DESTINATION = 10;
48
+ var LIMIT_MAX_DESTINATION = 2048;
49
+ var LIMIT_MIN_DOMAIN = 10;
50
+ var LIMIT_MAX_DOMAIN = 253;
51
+ var LIMIT_MIN_PATH = 1;
52
+ var LIMIT_MAX_PATH = 2038;
53
+ var LIMIT_MIN_QUERY = 1;
54
+ var LIMIT_MAX_QUERY = 2038;
55
+ var LIMIT_MIN_FRAGMENT = 1;
56
+ var LIMIT_MAX_FRAGMENT = 2038;
57
+ var LIMIT_MIN_UTM_SOURCE = 1;
58
+ var LIMIT_MAX_UTM_SOURCE = 2026;
59
+ var LIMIT_MIN_UTM_MEDIUM = 1;
60
+ var LIMIT_MAX_UTM_MEDIUM = 2026;
61
+ var LIMIT_MIN_UTM_CAMPAIGN = 1;
62
+ var LIMIT_MAX_UTM_CAMPAIGN = 2024;
63
+ var LIMIT_MIN_UTM_CREATIVE_FORMAT = 1;
64
+ var LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017;
65
+ var LIMIT_MIN_UTM_CONTENT = 1;
66
+ var LIMIT_MAX_UTM_CONTENT = 2025;
67
+ var LIMIT_MIN_UTM_TERM = 1;
68
+ var LIMIT_MAX_UTM_TERM = 2028;
69
+ var LIMIT_MIN_UTM_ID = 1;
70
+ var LIMIT_MAX_UTM_ID = 2030;
71
+
72
+ // src/constants-regex.ts
73
+ var REGEX_VALUE = /^[a-zA-Z0-9._-]+$/;
74
+ var ERROR_MESSAGE_REGEX_VALUE = `can only contain letters, numbers, and the special characters: - _ .`;
75
+ var REGEX_DOMAIN = /^(?=.{1,253}$)(?!\-)((xn--)?[a-zA-Z0-9]{1,59}(-[a-zA-Z0-9]{1,62})?\.)+([a-zA-Z]{2,63}|xn--[a-zA-Z0-9]{2,59})$/;
76
+ var ERROR_MESSAGE_REGEX_DOMAIN = "please provide a valid domain name";
77
+ function omitUndefined(obj) {
78
+ const result = {};
79
+ for (const key in obj) {
80
+ if (obj[key] !== void 0) {
81
+ result[key] = obj[key];
82
+ }
83
+ }
84
+ return result;
85
+ }
86
+ function validateAndClean(schema, input) {
87
+ var _a, _b;
88
+ try {
89
+ const parsed = v7__namespace.parse(schema, input);
90
+ const cleaned = omitUndefined(parsed);
91
+ return { data: cleaned, error: null, errors: null };
92
+ } catch (err) {
93
+ if (err instanceof v7__namespace.ValiError) {
94
+ const errors = {};
95
+ for (const issue of err.issues) {
96
+ const field = ((_b = (_a = issue.path) == null ? void 0 : _a[0]) == null ? void 0 : _b.key) || "unknown";
97
+ errors[field] = issue.message;
98
+ }
99
+ return { data: null, error: null, errors };
100
+ }
101
+ let errorMessage = "Unknown error";
102
+ if (err instanceof Error) {
103
+ errorMessage = err.message;
104
+ } else {
105
+ errorMessage = String(err);
106
+ }
107
+ return { data: null, error: errorMessage, errors: null };
108
+ }
109
+ }
110
+ function isValidationSuccess(result) {
111
+ return result.error === null && result.errors === null;
112
+ }
113
+ function isValidationFailure(result) {
114
+ return result.error !== null || result.errors !== null;
115
+ }
116
+ var IsValidReferenceId = v7__namespace.object({
117
+ id: v7__namespace.number("please provide a valid id number")
118
+ });
119
+ var IsValidCost = v7__namespace.pipe(
120
+ v7__namespace.number("please enter a cost value"),
121
+ v7__namespace.minValue(0),
122
+ v7__namespace.maxValue(
123
+ 1e6,
124
+ "your campaign cost exceeds our $1 million dollar limit, please contact us for enterprise solutions"
125
+ )
126
+ );
127
+ var IsValidOrUndefinedCost = v7__namespace.undefinedable(IsValidCost);
128
+ var IsValidLabel = v7__namespace.pipe(
129
+ v7__namespace.string("please provide a label"),
130
+ v7__namespace.trim(),
131
+ v7__namespace.minLength(
132
+ LIMIT_MIN_LABEL,
133
+ `the label is too short, it must be at least ${LIMIT_MIN_LABEL} characters`
134
+ ),
135
+ v7__namespace.maxLength(
136
+ LIMIT_MAX_LABEL,
137
+ `the label is too long, it must be ${LIMIT_MAX_LABEL} characters or less`
138
+ )
139
+ );
140
+ var IsValidOrUndefinedLabel = v7__namespace.undefinedable(IsValidLabel);
141
+ var IsValidValue = v7__namespace.pipe(
142
+ v7__namespace.string("please provide a value"),
143
+ v7__namespace.trim(),
144
+ v7__namespace.minLength(
145
+ LIMIT_MIN_VALUE,
146
+ `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`
147
+ ),
148
+ v7__namespace.maxLength(
149
+ LIMIT_MAX_VALUE,
150
+ `the value is too long, it must be ${LIMIT_MAX_VALUE} characters or less`
151
+ ),
152
+ v7__namespace.regex(REGEX_VALUE, `the value ${ERROR_MESSAGE_REGEX_VALUE}`)
153
+ );
154
+ var IsValidOrUndefinedValue = v7__namespace.undefinedable(IsValidValue);
155
+ var IsValidDescription = v7__namespace.nullable(
156
+ v7__namespace.pipe(
157
+ v7__namespace.string("the description must be a string"),
158
+ v7__namespace.trim(),
159
+ v7__namespace.maxLength(
160
+ LIMIT_MAX_DESCRIPTION,
161
+ `the description is too long, it must be ${LIMIT_MAX_DESCRIPTION} characters or less`
162
+ )
163
+ )
164
+ );
165
+ var IsValidOrUndefinedDescription = v7__namespace.optional(IsValidDescription);
166
+ var IsValidIsActive = v7__namespace.boolean("isActive must be a boolean");
167
+ var IsValidOrUndefinedIsActive = v7__namespace.undefinedable(IsValidIsActive);
168
+ var IsValidName = v7__namespace.pipe(
169
+ v7__namespace.string("please provide a name"),
170
+ v7__namespace.trim(),
171
+ v7__namespace.minLength(
172
+ LIMIT_MIN_NAME,
173
+ `the name is too short, it must be at least ${LIMIT_MIN_NAME} characters`
174
+ ),
175
+ v7__namespace.maxLength(
176
+ LIMIT_MAX_NAME,
177
+ `the name is too long, it must be ${LIMIT_MAX_NAME} characters or less`
178
+ )
179
+ );
180
+ var IsValidOrUndefinedName = v7__namespace.undefinedable(IsValidName);
181
+ var IsValidApplyValueTo = v7__namespace.picklist([
182
+ "source",
183
+ "medium",
184
+ "campaign",
185
+ "content",
186
+ "creative",
187
+ "term",
188
+ "id"
189
+ ]);
190
+ var IsValidOrUndefinedApplyValueTo = v7__namespace.nullable(IsValidApplyValueTo);
191
+ var IsValidApplyValueAs = v7__namespace.picklist(["prefix", "suffix"]);
192
+ var IsValidOrUndefinedApplyValueAs = v7__namespace.nullable(IsValidApplyValueAs);
193
+ var IsValidProductId = v7__namespace.pipe(
194
+ v7__namespace.string("please provide a product_id"),
195
+ v7__namespace.trim(),
196
+ v7__namespace.minLength(
197
+ LIMIT_MIN_PRODUCT_ID,
198
+ `the product_id is too short, it must be at least ${LIMIT_MIN_PRODUCT_ID} characters`
199
+ ),
200
+ v7__namespace.maxLength(
201
+ LIMIT_MAX_PRODUCT_ID,
202
+ `the product_id is too long, it must be ${LIMIT_MAX_PRODUCT_ID} characters or less`
203
+ )
204
+ );
205
+ var IsValidOrUndefinedProductId = v7__namespace.undefinedable(IsValidProductId);
206
+ var IsValidPriceId = v7__namespace.pipe(
207
+ v7__namespace.string("please provide a price_id"),
208
+ v7__namespace.trim(),
209
+ v7__namespace.minLength(
210
+ LIMIT_MIN_PRICE_ID,
211
+ `the price_id is too short, it must be at least ${LIMIT_MIN_PRICE_ID} characters`
212
+ ),
213
+ v7__namespace.maxLength(
214
+ LIMIT_MAX_PRICE_ID,
215
+ `the price_id is too long, it must be ${LIMIT_MAX_PRICE_ID} characters or less`
216
+ )
217
+ );
218
+ var IsValidOrUndefinedPriceId = v7__namespace.undefinedable(IsValidPriceId);
219
+ var IsValidUnitAmount = v7__namespace.pipe(
220
+ v7__namespace.number("please provide a unit_amount"),
221
+ v7__namespace.minValue(
222
+ LIMIT_MIN_UNIT_AMOUNT,
223
+ `the unit_amount must be a decimal greater than or equal to ${LIMIT_MIN_UNIT_AMOUNT}`
224
+ )
225
+ );
226
+ var IsValidOrUndefinedUnitAmount = v7__namespace.undefinedable(IsValidUnitAmount);
227
+ var IsValidUnitTermInMonths = v7__namespace.pipe(
228
+ v7__namespace.number("please provide a unit_term_in_months"),
229
+ v7__namespace.minValue(
230
+ LIMIT_MIN_UNIT_TERM_IN_MONTHS,
231
+ `the unit_term_in_months must be an integer greater than or equal to ${LIMIT_MIN_UNIT_TERM_IN_MONTHS}`
232
+ ),
233
+ v7__namespace.maxValue(
234
+ LIMIT_MAX_UNIT_TERM_IN_MONTHS,
235
+ `the unit_term_in_months must be an integer less than or equal to ${LIMIT_MAX_UNIT_TERM_IN_MONTHS}`
236
+ )
237
+ );
238
+ var IsValidOrUndefinedUnitTermInMonths = v7__namespace.undefinedable(
239
+ IsValidUnitTermInMonths
240
+ );
241
+ var IsValidUrlDestination = v7__namespace.pipe(
242
+ v7__namespace.string("please provide a url destination"),
243
+ v7__namespace.trim(),
244
+ v7__namespace.minLength(
245
+ LIMIT_MIN_DESTINATION,
246
+ `the url destination is too short, it must be at least ${LIMIT_MIN_DESTINATION} characters`
247
+ ),
248
+ v7__namespace.maxLength(
249
+ LIMIT_MAX_DESTINATION,
250
+ `the url destination is too long, it must be ${LIMIT_MAX_DESTINATION} characters or less`
251
+ ),
252
+ v7__namespace.url("please provide a valid url")
253
+ );
254
+ var IsValidOrUndefinedUrlDestination = v7__namespace.nullable(IsValidUrlDestination);
255
+ var IsValidUrlProtocol = v7__namespace.picklist(
256
+ ["http", "https"],
257
+ "please provide a valid url protocol"
258
+ );
259
+ var IsValidOrUndefinedUrlProtocol = v7__namespace.nullable(IsValidUrlProtocol);
260
+ var IsValidUrlDomain = v7__namespace.pipe(
261
+ v7__namespace.string("please provide a domain"),
262
+ v7__namespace.trim(),
263
+ v7__namespace.minLength(
264
+ LIMIT_MIN_DOMAIN,
265
+ `the domain is too short, it must be at least ${LIMIT_MIN_DOMAIN} characters`
266
+ ),
267
+ v7__namespace.maxLength(
268
+ LIMIT_MAX_DOMAIN,
269
+ `the domain is too long, it must be ${LIMIT_MAX_DOMAIN} characters or less`
270
+ ),
271
+ v7__namespace.regex(REGEX_DOMAIN, ERROR_MESSAGE_REGEX_DOMAIN)
272
+ );
273
+ var IsValidOrUndefinedUrlDomain = v7__namespace.nullable(IsValidUrlDomain);
274
+ var IsValidUrlPath = v7__namespace.pipe(
275
+ v7__namespace.string("please provide a url path"),
276
+ v7__namespace.trim(),
277
+ v7__namespace.minLength(
278
+ LIMIT_MIN_PATH,
279
+ `the url path is too short, it must be at least ${LIMIT_MIN_PATH} characters`
280
+ ),
281
+ v7__namespace.maxLength(
282
+ LIMIT_MAX_PATH,
283
+ `the url path is too long, it must be ${LIMIT_MAX_PATH} characters or less`
284
+ )
285
+ );
286
+ var IsValidOrUndefinedUrlPath = v7__namespace.nullable(IsValidUrlPath);
287
+ var IsValidUrlQuery = v7__namespace.pipe(
288
+ v7__namespace.string("please provide a url query"),
289
+ v7__namespace.trim(),
290
+ v7__namespace.minLength(
291
+ LIMIT_MIN_QUERY,
292
+ `the url query is too short, it must be at least ${LIMIT_MIN_QUERY} characters`
293
+ ),
294
+ v7__namespace.maxLength(
295
+ LIMIT_MAX_QUERY,
296
+ `the url query is too long, it must be ${LIMIT_MAX_QUERY} characters or less`
297
+ )
298
+ );
299
+ var IsValidOrUndefinedUrlQuery = v7__namespace.nullable(IsValidUrlQuery);
300
+ var IsValidUrlFragment = v7__namespace.pipe(
301
+ v7__namespace.string("please provide a url hash/fragment"),
302
+ v7__namespace.trim(),
303
+ v7__namespace.minLength(
304
+ LIMIT_MIN_FRAGMENT,
305
+ `the url hash/fragment is too short, it must be at least ${LIMIT_MIN_FRAGMENT} characters`
306
+ ),
307
+ v7__namespace.maxLength(
308
+ LIMIT_MAX_FRAGMENT,
309
+ `the url hash/fragment is too long, it must be ${LIMIT_MAX_FRAGMENT} characters or less`
310
+ )
311
+ );
312
+ var IsValidOrUndefinedUrlFragment = v7__namespace.nullable(IsValidUrlFragment);
313
+ var IsValidUsername = v7__namespace.pipe(
314
+ v7__namespace.string("please provide a username"),
315
+ v7__namespace.trim(),
316
+ v7__namespace.minLength(
317
+ LIMIT_MIN_USERNAME,
318
+ `your username is too short, it must be at least ${LIMIT_MIN_USERNAME} characters`
319
+ ),
320
+ v7__namespace.maxLength(
321
+ LIMIT_MAX_USERNAME,
322
+ `your username is too long, it must be ${LIMIT_MAX_USERNAME} characters or less`
323
+ ),
324
+ v7__namespace.regex(REGEX_VALUE, `your username ${ERROR_MESSAGE_REGEX_VALUE}`)
325
+ );
326
+ var IsValidOrUndefinedUsername = v7__namespace.undefinedable(IsValidUsername);
327
+ var IsValidEmail = v7__namespace.pipe(
328
+ v7__namespace.string("please provide an email"),
329
+ v7__namespace.trim(),
330
+ v7__namespace.minLength(
331
+ LIMIT_MIN_EMAIL,
332
+ `your email is too short, it must be at least ${LIMIT_MIN_EMAIL} characters`
333
+ ),
334
+ v7__namespace.maxLength(
335
+ LIMIT_MAX_EMAIL,
336
+ `your email is too long, it must be ${LIMIT_MAX_EMAIL} characters or less`
337
+ ),
338
+ v7__namespace.email("please provide a valid email address")
339
+ );
340
+ var IsValidOrUndefinedEmail = v7__namespace.undefinedable(IsValidEmail);
341
+ var IsValidPassword = v7__namespace.pipe(
342
+ v7__namespace.string("a password is required"),
343
+ v7__namespace.trim(),
344
+ v7__namespace.minLength(
345
+ LIMIT_MIN_PASSWORD,
346
+ `your password is too short, it must be at least ${LIMIT_MIN_PASSWORD} characters`
347
+ ),
348
+ v7__namespace.maxLength(
349
+ LIMIT_MAX_PASSWORD,
350
+ `your password is too long, it must be ${LIMIT_MAX_PASSWORD} characters or less`
351
+ )
352
+ );
353
+ var IsValidOrUndefinedPassword = v7__namespace.undefinedable(IsValidPassword);
354
+ var IsValidProvider = v7__namespace.pipe(
355
+ v7__namespace.string("please enter a provider"),
356
+ v7__namespace.trim(),
357
+ v7__namespace.maxLength(
358
+ LIMIT_MAX_PROVIDER,
359
+ `the provider string is too long, it must be ${LIMIT_MAX_PROVIDER} characters or less`
360
+ )
361
+ );
362
+ var IsValidOrUndefinedProvider = v7__namespace.undefinedable(IsValidProvider);
363
+ var IsValidConfirmed = v7__namespace.boolean();
364
+ var IsValidOrUndefinedConfirmed = v7__namespace.undefinedable(IsValidConfirmed);
365
+ var IsValidBlocked = v7__namespace.boolean();
366
+ var IsValidOrUndefinedBlocked = v7__namespace.undefinedable(IsValidBlocked);
367
+ var IsValidUrlUtmSource = v7__namespace.pipe(
368
+ v7__namespace.string(),
369
+ v7__namespace.trim(),
370
+ v7__namespace.minLength(
371
+ LIMIT_MIN_UTM_SOURCE,
372
+ `the utm_source is too short, it must be at least ${LIMIT_MIN_UTM_SOURCE} characters`
373
+ ),
374
+ v7__namespace.maxLength(
375
+ LIMIT_MAX_UTM_SOURCE,
376
+ `the utm_source is too long, it must be ${LIMIT_MAX_UTM_SOURCE} characters or less`
377
+ ),
378
+ v7__namespace.regex(REGEX_VALUE, `utm_source ${ERROR_MESSAGE_REGEX_VALUE}`)
379
+ );
380
+ var IsValidOrUndefinedUrlUtmSource = v7__namespace.nullable(IsValidUrlUtmSource);
381
+ var IsValidUrlUtmMedium = v7__namespace.pipe(
382
+ v7__namespace.string(),
383
+ v7__namespace.trim(),
384
+ v7__namespace.minLength(
385
+ LIMIT_MIN_UTM_MEDIUM,
386
+ `the utm_medium is too short, it must be at least ${LIMIT_MIN_UTM_MEDIUM} characters`
387
+ ),
388
+ v7__namespace.maxLength(
389
+ LIMIT_MAX_UTM_MEDIUM,
390
+ `the utm_medium is too long, it must be ${LIMIT_MAX_UTM_MEDIUM} characters or less`
391
+ ),
392
+ v7__namespace.regex(REGEX_VALUE, `utm_medium ${ERROR_MESSAGE_REGEX_VALUE}`)
393
+ );
394
+ var IsValidOrUndefinedUrlUtmMedium = v7__namespace.nullable(IsValidUrlUtmMedium);
395
+ var IsValidUrlUtmCampaign = v7__namespace.pipe(
396
+ v7__namespace.string(),
397
+ v7__namespace.trim(),
398
+ v7__namespace.minLength(
399
+ LIMIT_MIN_UTM_CAMPAIGN,
400
+ `the utm_campaign is too short, it must be at least ${LIMIT_MIN_UTM_CAMPAIGN} characters`
401
+ ),
402
+ v7__namespace.maxLength(
403
+ LIMIT_MAX_UTM_CAMPAIGN,
404
+ `the utm_campaign is too long, it must be ${LIMIT_MAX_UTM_CAMPAIGN} characters or less`
405
+ ),
406
+ v7__namespace.regex(REGEX_VALUE, `utm_campaign ${ERROR_MESSAGE_REGEX_VALUE}`)
407
+ );
408
+ var IsValidOrUndefinedUrlUtmCampaign = v7__namespace.nullable(IsValidUrlUtmCampaign);
409
+ var IsValidUrlUtmCreativeFormat = v7__namespace.pipe(
410
+ v7__namespace.string(),
411
+ v7__namespace.trim(),
412
+ v7__namespace.minLength(
413
+ LIMIT_MIN_UTM_CREATIVE_FORMAT,
414
+ `the utm_creative_format is too short, it must be at least ${LIMIT_MIN_UTM_CREATIVE_FORMAT} characters`
415
+ ),
416
+ v7__namespace.maxLength(
417
+ LIMIT_MAX_UTM_CREATIVE_FORMAT,
418
+ `the utm_creative_format is too long, it must be ${LIMIT_MAX_UTM_CREATIVE_FORMAT} characters or less`
419
+ ),
420
+ v7__namespace.regex(REGEX_VALUE, `utm_creative_format ${ERROR_MESSAGE_REGEX_VALUE}`)
421
+ );
422
+ var IsValidOrUndefinedUrlUtmCreativeFormat = v7__namespace.nullable(
423
+ IsValidUrlUtmCreativeFormat
424
+ );
425
+ var IsValidUrlUtmContent = v7__namespace.pipe(
426
+ v7__namespace.string(),
427
+ v7__namespace.trim(),
428
+ v7__namespace.minLength(
429
+ LIMIT_MIN_UTM_CONTENT,
430
+ `the utm_content is too short, it must be at least ${LIMIT_MIN_UTM_CONTENT} characters`
431
+ ),
432
+ v7__namespace.maxLength(
433
+ LIMIT_MAX_UTM_CONTENT,
434
+ `the utm_content is too long, it must be ${LIMIT_MAX_UTM_CONTENT} characters or less`
435
+ ),
436
+ v7__namespace.regex(REGEX_VALUE, `utm_content ${ERROR_MESSAGE_REGEX_VALUE}`)
437
+ );
438
+ var IsValidOrUndefinedUrlUtmContent = v7__namespace.nullable(IsValidUrlUtmContent);
439
+ var IsValidUrlUtmTerm = v7__namespace.pipe(
440
+ v7__namespace.string(),
441
+ v7__namespace.trim(),
442
+ v7__namespace.minLength(
443
+ LIMIT_MIN_UTM_TERM,
444
+ `the utm_term is too short, it must be at least ${LIMIT_MIN_UTM_TERM} characters`
445
+ ),
446
+ v7__namespace.maxLength(
447
+ LIMIT_MAX_UTM_TERM,
448
+ `the utm_term is too long, it must be ${LIMIT_MAX_UTM_TERM} characters or less`
449
+ ),
450
+ v7__namespace.regex(REGEX_VALUE, `utm_term ${ERROR_MESSAGE_REGEX_VALUE}`)
451
+ );
452
+ var IsValidOrUndefinedUrlUtmTerm = v7__namespace.nullable(IsValidUrlUtmTerm);
453
+ var IsValidUrlUtmId = v7__namespace.pipe(
454
+ v7__namespace.string(),
455
+ v7__namespace.trim(),
456
+ v7__namespace.minLength(
457
+ LIMIT_MIN_UTM_ID,
458
+ `the utm_id is too short, it must be at least ${LIMIT_MIN_UTM_ID} characters`
459
+ ),
460
+ v7__namespace.maxLength(
461
+ LIMIT_MAX_UTM_ID,
462
+ `the utm_id is too long, it must be ${LIMIT_MAX_UTM_ID} characters or less`
463
+ ),
464
+ v7__namespace.regex(REGEX_VALUE, `utm_id ${ERROR_MESSAGE_REGEX_VALUE}`)
465
+ );
466
+ var IsValidOrUndefinedUrlUtmId = v7__namespace.nullable(IsValidUrlUtmId);
467
+
468
+ exports.ERROR_MESSAGE_REGEX_DOMAIN = ERROR_MESSAGE_REGEX_DOMAIN;
469
+ exports.ERROR_MESSAGE_REGEX_VALUE = ERROR_MESSAGE_REGEX_VALUE;
470
+ exports.IsValidApplyValueAs = IsValidApplyValueAs;
471
+ exports.IsValidApplyValueTo = IsValidApplyValueTo;
472
+ exports.IsValidBlocked = IsValidBlocked;
473
+ exports.IsValidConfirmed = IsValidConfirmed;
474
+ exports.IsValidCost = IsValidCost;
475
+ exports.IsValidDescription = IsValidDescription;
476
+ exports.IsValidEmail = IsValidEmail;
477
+ exports.IsValidIsActive = IsValidIsActive;
478
+ exports.IsValidLabel = IsValidLabel;
479
+ exports.IsValidName = IsValidName;
480
+ exports.IsValidOrUndefinedApplyValueAs = IsValidOrUndefinedApplyValueAs;
481
+ exports.IsValidOrUndefinedApplyValueTo = IsValidOrUndefinedApplyValueTo;
482
+ exports.IsValidOrUndefinedBlocked = IsValidOrUndefinedBlocked;
483
+ exports.IsValidOrUndefinedConfirmed = IsValidOrUndefinedConfirmed;
484
+ exports.IsValidOrUndefinedCost = IsValidOrUndefinedCost;
485
+ exports.IsValidOrUndefinedDescription = IsValidOrUndefinedDescription;
486
+ exports.IsValidOrUndefinedEmail = IsValidOrUndefinedEmail;
487
+ exports.IsValidOrUndefinedIsActive = IsValidOrUndefinedIsActive;
488
+ exports.IsValidOrUndefinedLabel = IsValidOrUndefinedLabel;
489
+ exports.IsValidOrUndefinedName = IsValidOrUndefinedName;
490
+ exports.IsValidOrUndefinedPassword = IsValidOrUndefinedPassword;
491
+ exports.IsValidOrUndefinedPriceId = IsValidOrUndefinedPriceId;
492
+ exports.IsValidOrUndefinedProductId = IsValidOrUndefinedProductId;
493
+ exports.IsValidOrUndefinedProvider = IsValidOrUndefinedProvider;
494
+ exports.IsValidOrUndefinedUnitAmount = IsValidOrUndefinedUnitAmount;
495
+ exports.IsValidOrUndefinedUnitTermInMonths = IsValidOrUndefinedUnitTermInMonths;
496
+ exports.IsValidOrUndefinedUrlDestination = IsValidOrUndefinedUrlDestination;
497
+ exports.IsValidOrUndefinedUrlDomain = IsValidOrUndefinedUrlDomain;
498
+ exports.IsValidOrUndefinedUrlFragment = IsValidOrUndefinedUrlFragment;
499
+ exports.IsValidOrUndefinedUrlPath = IsValidOrUndefinedUrlPath;
500
+ exports.IsValidOrUndefinedUrlProtocol = IsValidOrUndefinedUrlProtocol;
501
+ exports.IsValidOrUndefinedUrlQuery = IsValidOrUndefinedUrlQuery;
502
+ exports.IsValidOrUndefinedUrlUtmCampaign = IsValidOrUndefinedUrlUtmCampaign;
503
+ exports.IsValidOrUndefinedUrlUtmContent = IsValidOrUndefinedUrlUtmContent;
504
+ exports.IsValidOrUndefinedUrlUtmCreativeFormat = IsValidOrUndefinedUrlUtmCreativeFormat;
505
+ exports.IsValidOrUndefinedUrlUtmId = IsValidOrUndefinedUrlUtmId;
506
+ exports.IsValidOrUndefinedUrlUtmMedium = IsValidOrUndefinedUrlUtmMedium;
507
+ exports.IsValidOrUndefinedUrlUtmSource = IsValidOrUndefinedUrlUtmSource;
508
+ exports.IsValidOrUndefinedUrlUtmTerm = IsValidOrUndefinedUrlUtmTerm;
509
+ exports.IsValidOrUndefinedUsername = IsValidOrUndefinedUsername;
510
+ exports.IsValidOrUndefinedValue = IsValidOrUndefinedValue;
511
+ exports.IsValidPassword = IsValidPassword;
512
+ exports.IsValidPriceId = IsValidPriceId;
513
+ exports.IsValidProductId = IsValidProductId;
514
+ exports.IsValidProvider = IsValidProvider;
515
+ exports.IsValidReferenceId = IsValidReferenceId;
516
+ exports.IsValidUnitAmount = IsValidUnitAmount;
517
+ exports.IsValidUnitTermInMonths = IsValidUnitTermInMonths;
518
+ exports.IsValidUrlDestination = IsValidUrlDestination;
519
+ exports.IsValidUrlDomain = IsValidUrlDomain;
520
+ exports.IsValidUrlFragment = IsValidUrlFragment;
521
+ exports.IsValidUrlPath = IsValidUrlPath;
522
+ exports.IsValidUrlProtocol = IsValidUrlProtocol;
523
+ exports.IsValidUrlQuery = IsValidUrlQuery;
524
+ exports.IsValidUrlUtmCampaign = IsValidUrlUtmCampaign;
525
+ exports.IsValidUrlUtmContent = IsValidUrlUtmContent;
526
+ exports.IsValidUrlUtmCreativeFormat = IsValidUrlUtmCreativeFormat;
527
+ exports.IsValidUrlUtmId = IsValidUrlUtmId;
528
+ exports.IsValidUrlUtmMedium = IsValidUrlUtmMedium;
529
+ exports.IsValidUrlUtmSource = IsValidUrlUtmSource;
530
+ exports.IsValidUrlUtmTerm = IsValidUrlUtmTerm;
531
+ exports.IsValidUsername = IsValidUsername;
532
+ exports.IsValidValue = IsValidValue;
533
+ exports.LIMIT_MAX_DESCRIPTION = LIMIT_MAX_DESCRIPTION;
534
+ exports.LIMIT_MAX_DESTINATION = LIMIT_MAX_DESTINATION;
535
+ exports.LIMIT_MAX_DOMAIN = LIMIT_MAX_DOMAIN;
536
+ exports.LIMIT_MAX_EMAIL = LIMIT_MAX_EMAIL;
537
+ exports.LIMIT_MAX_FRAGMENT = LIMIT_MAX_FRAGMENT;
538
+ exports.LIMIT_MAX_LABEL = LIMIT_MAX_LABEL;
539
+ exports.LIMIT_MAX_NAME = LIMIT_MAX_NAME;
540
+ exports.LIMIT_MAX_PASSWORD = LIMIT_MAX_PASSWORD;
541
+ exports.LIMIT_MAX_PATH = LIMIT_MAX_PATH;
542
+ exports.LIMIT_MAX_PRICE_ID = LIMIT_MAX_PRICE_ID;
543
+ exports.LIMIT_MAX_PRODUCT_ID = LIMIT_MAX_PRODUCT_ID;
544
+ exports.LIMIT_MAX_PROVIDER = LIMIT_MAX_PROVIDER;
545
+ exports.LIMIT_MAX_QUERY = LIMIT_MAX_QUERY;
546
+ exports.LIMIT_MAX_UNIT_TERM_IN_MONTHS = LIMIT_MAX_UNIT_TERM_IN_MONTHS;
547
+ exports.LIMIT_MAX_USERNAME = LIMIT_MAX_USERNAME;
548
+ exports.LIMIT_MAX_UTM_CAMPAIGN = LIMIT_MAX_UTM_CAMPAIGN;
549
+ exports.LIMIT_MAX_UTM_CONTENT = LIMIT_MAX_UTM_CONTENT;
550
+ exports.LIMIT_MAX_UTM_CREATIVE_FORMAT = LIMIT_MAX_UTM_CREATIVE_FORMAT;
551
+ exports.LIMIT_MAX_UTM_ID = LIMIT_MAX_UTM_ID;
552
+ exports.LIMIT_MAX_UTM_MEDIUM = LIMIT_MAX_UTM_MEDIUM;
553
+ exports.LIMIT_MAX_UTM_SOURCE = LIMIT_MAX_UTM_SOURCE;
554
+ exports.LIMIT_MAX_UTM_TERM = LIMIT_MAX_UTM_TERM;
555
+ exports.LIMIT_MAX_VALUE = LIMIT_MAX_VALUE;
556
+ exports.LIMIT_MIN_DESTINATION = LIMIT_MIN_DESTINATION;
557
+ exports.LIMIT_MIN_DOMAIN = LIMIT_MIN_DOMAIN;
558
+ exports.LIMIT_MIN_EMAIL = LIMIT_MIN_EMAIL;
559
+ exports.LIMIT_MIN_FRAGMENT = LIMIT_MIN_FRAGMENT;
560
+ exports.LIMIT_MIN_LABEL = LIMIT_MIN_LABEL;
561
+ exports.LIMIT_MIN_NAME = LIMIT_MIN_NAME;
562
+ exports.LIMIT_MIN_PASSWORD = LIMIT_MIN_PASSWORD;
563
+ exports.LIMIT_MIN_PATH = LIMIT_MIN_PATH;
564
+ exports.LIMIT_MIN_PRICE_ID = LIMIT_MIN_PRICE_ID;
565
+ exports.LIMIT_MIN_PRODUCT_ID = LIMIT_MIN_PRODUCT_ID;
566
+ exports.LIMIT_MIN_QUERY = LIMIT_MIN_QUERY;
567
+ exports.LIMIT_MIN_UNIT_AMOUNT = LIMIT_MIN_UNIT_AMOUNT;
568
+ exports.LIMIT_MIN_UNIT_TERM_IN_MONTHS = LIMIT_MIN_UNIT_TERM_IN_MONTHS;
569
+ exports.LIMIT_MIN_USERNAME = LIMIT_MIN_USERNAME;
570
+ exports.LIMIT_MIN_UTM_CAMPAIGN = LIMIT_MIN_UTM_CAMPAIGN;
571
+ exports.LIMIT_MIN_UTM_CONTENT = LIMIT_MIN_UTM_CONTENT;
572
+ exports.LIMIT_MIN_UTM_CREATIVE_FORMAT = LIMIT_MIN_UTM_CREATIVE_FORMAT;
573
+ exports.LIMIT_MIN_UTM_ID = LIMIT_MIN_UTM_ID;
574
+ exports.LIMIT_MIN_UTM_MEDIUM = LIMIT_MIN_UTM_MEDIUM;
575
+ exports.LIMIT_MIN_UTM_SOURCE = LIMIT_MIN_UTM_SOURCE;
576
+ exports.LIMIT_MIN_UTM_TERM = LIMIT_MIN_UTM_TERM;
577
+ exports.LIMIT_MIN_VALUE = LIMIT_MIN_VALUE;
578
+ exports.REGEX_DOMAIN = REGEX_DOMAIN;
579
+ exports.REGEX_VALUE = REGEX_VALUE;
580
+ exports.isValidationFailure = isValidationFailure;
581
+ exports.isValidationSuccess = isValidationSuccess;
582
+ exports.validateAndClean = validateAndClean;
583
+ //# sourceMappingURL=index.cjs.map
584
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/constants-limits.ts","../src/constants-regex.ts","../src/utilities.ts","../src/validators-generics.ts","../src/validators-groups.ts","../src/validators-stripe.ts","../src/validators-urls.ts","../src/validators-users.ts","../src/validators-utm-params.ts"],"names":["v","v2","v3","v4","v5","v6","v7"],"mappings":"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","file":"index.cjs","sourcesContent":["// Generics\nexport const LIMIT_MIN_LABEL = 1\nexport const LIMIT_MAX_LABEL = 255\nexport const LIMIT_MIN_VALUE = 1\nexport const LIMIT_MAX_VALUE = 255\nexport const LIMIT_MAX_DESCRIPTION = 1024\n// Users\nexport const LIMIT_MIN_USERNAME = 3\nexport const LIMIT_MAX_USERNAME = 255\nexport const LIMIT_MIN_EMAIL = 5\nexport const LIMIT_MAX_EMAIL = 255\nexport const LIMIT_MIN_PASSWORD = 8\nexport const LIMIT_MAX_PASSWORD = 255\nexport const LIMIT_MAX_PROVIDER = 255\n// Strapi\nexport const LIMIT_MIN_NAME = 2\nexport const LIMIT_MAX_NAME = 255\nexport const LIMIT_MIN_PRODUCT_ID = 2\nexport const LIMIT_MAX_PRODUCT_ID = 64\nexport const LIMIT_MIN_PRICE_ID = 2\nexport const LIMIT_MAX_PRICE_ID = 64\nexport const LIMIT_MIN_UNIT_AMOUNT = 0\nexport const LIMIT_MIN_UNIT_TERM_IN_MONTHS = 1\nexport const LIMIT_MAX_UNIT_TERM_IN_MONTHS = 12\n// URLs\nexport const LIMIT_MIN_DESTINATION = 10\nexport const LIMIT_MAX_DESTINATION = 2048\nexport const LIMIT_MIN_DOMAIN = 10\nexport const LIMIT_MAX_DOMAIN = 253\nexport const LIMIT_MIN_PATH = 1\nexport const LIMIT_MAX_PATH = 2038\nexport const LIMIT_MIN_QUERY = 1\nexport const LIMIT_MAX_QUERY = 2038\nexport const LIMIT_MIN_FRAGMENT = 1\nexport const LIMIT_MAX_FRAGMENT = 2038\n// UTM Parameters\nexport const LIMIT_MIN_UTM_SOURCE = 1\nexport const LIMIT_MAX_UTM_SOURCE = 2026\nexport const LIMIT_MIN_UTM_MEDIUM = 1\nexport const LIMIT_MAX_UTM_MEDIUM = 2026\nexport const LIMIT_MIN_UTM_CAMPAIGN = 1\nexport const LIMIT_MAX_UTM_CAMPAIGN = 2024\nexport const LIMIT_MIN_UTM_CREATIVE_FORMAT = 1\nexport const LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017\nexport const LIMIT_MIN_UTM_CONTENT = 1\nexport const LIMIT_MAX_UTM_CONTENT = 2025\nexport const LIMIT_MIN_UTM_TERM = 1\nexport const LIMIT_MAX_UTM_TERM = 2028\nexport const LIMIT_MIN_UTM_ID = 1\nexport const LIMIT_MAX_UTM_ID = 2030\n","// Generics\nexport const REGEX_VALUE = /^[a-zA-Z0-9._-]+$/\nexport const ERROR_MESSAGE_REGEX_VALUE = `can only contain letters, numbers, and the special characters: - _ .`\n\nexport const REGEX_DOMAIN =\n /^(?=.{1,253}$)(?!\\-)((xn--)?[a-zA-Z0-9]{1,59}(-[a-zA-Z0-9]{1,62})?\\.)+([a-zA-Z]{2,63}|xn--[a-zA-Z0-9]{2,59})$/\n\nexport const ERROR_MESSAGE_REGEX_DOMAIN = 'please provide a valid domain name'\n","import * as v from 'valibot'\n\nfunction omitUndefined<T extends Record<string, any>>(obj: T): Partial<T> {\n const result: Partial<T> = {}\n for (const key in obj) {\n if (obj[key] !== undefined) {\n result[key] = obj[key]\n }\n }\n return result\n}\n\ntype ValidateAndCleanSuccess<T> = {\n data: Partial<T>\n error: null\n errors: null\n}\n\ntype ValidateAndCleanFailure = {\n data: null\n error: string | null\n errors: Record<string, string> | null\n}\n\ntype ValidateAndCleanResult<T> =\n | ValidateAndCleanSuccess<T>\n | ValidateAndCleanFailure\n\nexport function validateAndClean<T>(\n schema: v.BaseSchema<T, Partial<T>, v.BaseIssue<T>>,\n input: unknown,\n): ValidateAndCleanResult<T> {\n try {\n const parsed = v.parse(schema, input)\n const cleaned = omitUndefined(parsed)\n return { data: cleaned, error: null, errors: null }\n } catch (err: unknown) {\n if (err instanceof v.ValiError) {\n const errors: Record<string, string> = {}\n for (const issue of err.issues) {\n const field = issue.path?.[0]?.key || 'unknown'\n errors[field] = issue.message\n }\n return { data: null, error: null, errors }\n }\n let errorMessage = 'Unknown error'\n if (err instanceof Error) {\n errorMessage = err.message\n } else {\n errorMessage = String(err)\n }\n return { data: null, error: errorMessage, errors: null }\n }\n}\n\nexport function isValidationSuccess<T>(\n result: ValidateAndCleanResult<T>,\n): result is ValidateAndCleanSuccess<T> {\n return result.error === null && result.errors === null\n}\n\nexport function isValidationFailure<T>(\n result: ValidateAndCleanResult<T>,\n): result is ValidateAndCleanFailure {\n return result.error !== null || result.errors !== null\n}\n","import * as v from 'valibot'\nimport {\n LIMIT_MAX_LABEL,\n LIMIT_MIN_LABEL,\n LIMIT_MAX_VALUE,\n LIMIT_MIN_VALUE,\n LIMIT_MAX_DESCRIPTION,\n LIMIT_MIN_NAME,\n LIMIT_MAX_NAME\n} from './constants-limits'\nimport { ERROR_MESSAGE_REGEX_VALUE, REGEX_VALUE } from './constants-regex'\n\n// reference id for relationships\nexport const IsValidReferenceId = v.object({\n id: v.number('please provide a valid id number')\n})\n\n// cost\nexport const IsValidCost = v.pipe(\n v.number('please enter a cost value'),\n v.minValue(0),\n v.maxValue(\n 1000000,\n 'your campaign cost exceeds our $1 million dollar limit, please contact us for enterprise solutions'\n )\n)\nexport const IsValidOrUndefinedCost = v.undefinedable(IsValidCost)\n\n// label\nexport const IsValidLabel = v.pipe(\n v.string('please provide a label'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_LABEL,\n `the label is too short, it must be at least ${LIMIT_MIN_LABEL} characters`\n ),\n v.maxLength(\n LIMIT_MAX_LABEL,\n `the label is too long, it must be ${LIMIT_MAX_LABEL} characters or less`\n )\n)\nexport const IsValidOrUndefinedLabel = v.undefinedable(IsValidLabel)\n\n// value\nexport const IsValidValue = v.pipe(\n v.string('please provide a value'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_MAX_VALUE,\n `the value is too long, it must be ${LIMIT_MAX_VALUE} characters or less`\n ),\n v.regex(REGEX_VALUE, `the value ${ERROR_MESSAGE_REGEX_VALUE}`)\n)\nexport const IsValidOrUndefinedValue = v.undefinedable(IsValidValue)\n\n// description (optional)\nexport const IsValidDescription = v.nullable(\n v.pipe(\n v.string('the description must be a string'),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_DESCRIPTION,\n `the description is too long, it must be ${LIMIT_MAX_DESCRIPTION} characters or less`\n )\n )\n)\nexport const IsValidOrUndefinedDescription = v.optional(IsValidDescription)\n\n// is_active\nexport const IsValidIsActive = v.boolean('isActive must be a boolean')\nexport const IsValidOrUndefinedIsActive = v.undefinedable(IsValidIsActive)\n\n// name\nexport const IsValidName = v.pipe(\n v.string('please provide a name'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_NAME,\n `the name is too short, it must be at least ${LIMIT_MIN_NAME} characters`\n ),\n v.maxLength(\n LIMIT_MAX_NAME,\n `the name is too long, it must be ${LIMIT_MAX_NAME} characters or less`\n )\n)\nexport const IsValidOrUndefinedName = v.undefinedable(IsValidName)\n","import * as v from 'valibot'\n\nexport const IsValidApplyValueTo = v.picklist([\n 'source',\n 'medium',\n 'campaign',\n 'content',\n 'creative',\n 'term',\n 'id'\n])\nexport const IsValidOrUndefinedApplyValueTo = v.nullable(IsValidApplyValueTo)\n\nexport const IsValidApplyValueAs = v.picklist(['prefix', 'suffix'])\nexport const IsValidOrUndefinedApplyValueAs = v.nullable(IsValidApplyValueAs)\n","import * as v from 'valibot'\nimport {\n LIMIT_MIN_PRICE_ID,\n LIMIT_MAX_PRICE_ID,\n LIMIT_MIN_UNIT_AMOUNT,\n LIMIT_MIN_UNIT_TERM_IN_MONTHS,\n LIMIT_MAX_UNIT_TERM_IN_MONTHS,\n LIMIT_MIN_PRODUCT_ID,\n LIMIT_MAX_PRODUCT_ID\n} from './constants-limits'\n\n// product_id\nexport const IsValidProductId = v.pipe(\n v.string('please provide a product_id'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PRODUCT_ID,\n `the product_id is too short, it must be at least ${LIMIT_MIN_PRODUCT_ID} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PRODUCT_ID,\n `the product_id is too long, it must be ${LIMIT_MAX_PRODUCT_ID} characters or less`\n )\n)\nexport const IsValidOrUndefinedProductId = v.undefinedable(IsValidProductId)\n\n// price_id\nexport const IsValidPriceId = v.pipe(\n v.string('please provide a price_id'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PRICE_ID,\n `the price_id is too short, it must be at least ${LIMIT_MIN_PRICE_ID} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PRICE_ID,\n `the price_id is too long, it must be ${LIMIT_MAX_PRICE_ID} characters or less`\n )\n)\nexport const IsValidOrUndefinedPriceId = v.undefinedable(IsValidPriceId)\n\n// unit_amount\nexport const IsValidUnitAmount = v.pipe(\n v.number('please provide a unit_amount'),\n v.minValue(\n LIMIT_MIN_UNIT_AMOUNT,\n `the unit_amount must be a decimal greater than or equal to ${LIMIT_MIN_UNIT_AMOUNT}`\n )\n)\nexport const IsValidOrUndefinedUnitAmount = v.undefinedable(IsValidUnitAmount)\n\nexport const IsValidUnitTermInMonths = v.pipe(\n v.number('please provide a unit_term_in_months'),\n v.minValue(\n LIMIT_MIN_UNIT_TERM_IN_MONTHS,\n `the unit_term_in_months must be an integer greater than or equal to ${LIMIT_MIN_UNIT_TERM_IN_MONTHS}`\n ),\n v.maxValue(\n LIMIT_MAX_UNIT_TERM_IN_MONTHS,\n `the unit_term_in_months must be an integer less than or equal to ${LIMIT_MAX_UNIT_TERM_IN_MONTHS}`\n )\n)\nexport const IsValidOrUndefinedUnitTermInMonths = v.undefinedable(\n IsValidUnitTermInMonths\n)\n","import * as v from 'valibot'\nimport {\n LIMIT_MAX_DESTINATION,\n LIMIT_MAX_DOMAIN,\n LIMIT_MAX_FRAGMENT,\n LIMIT_MAX_PATH,\n LIMIT_MAX_QUERY,\n LIMIT_MIN_DESTINATION,\n LIMIT_MIN_DOMAIN,\n LIMIT_MIN_FRAGMENT,\n LIMIT_MIN_PATH,\n LIMIT_MIN_QUERY\n} from './constants-limits'\nimport { ERROR_MESSAGE_REGEX_DOMAIN, REGEX_DOMAIN } from './constants-regex'\n\n// destination\nexport const IsValidUrlDestination = v.pipe(\n v.string('please provide a url destination'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DESTINATION,\n `the url destination is too short, it must be at least ${LIMIT_MIN_DESTINATION} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DESTINATION,\n `the url destination is too long, it must be ${LIMIT_MAX_DESTINATION} characters or less`\n ),\n v.url('please provide a valid url')\n)\nexport const IsValidOrUndefinedUrlDestination = v.nullable(IsValidUrlDestination)\n\n// protocol\nexport const IsValidUrlProtocol = v.picklist(\n ['http', 'https'],\n 'please provide a valid url protocol'\n)\nexport const IsValidOrUndefinedUrlProtocol = v.nullable(IsValidUrlProtocol)\n\n// domain\nexport const IsValidUrlDomain = v.pipe(\n v.string('please provide a domain'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DOMAIN,\n `the domain is too short, it must be at least ${LIMIT_MIN_DOMAIN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DOMAIN,\n `the domain is too long, it must be ${LIMIT_MAX_DOMAIN} characters or less`\n ),\n v.regex(REGEX_DOMAIN, ERROR_MESSAGE_REGEX_DOMAIN)\n)\nexport const IsValidOrUndefinedUrlDomain = v.nullable(IsValidUrlDomain)\n\n// path\nexport const IsValidUrlPath = v.pipe(\n v.string('please provide a url path'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PATH,\n `the url path is too short, it must be at least ${LIMIT_MIN_PATH} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PATH,\n `the url path is too long, it must be ${LIMIT_MAX_PATH} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlPath = v.nullable(IsValidUrlPath)\n\n// query\nexport const IsValidUrlQuery = v.pipe(\n v.string('please provide a url query'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_QUERY,\n `the url query is too short, it must be at least ${LIMIT_MIN_QUERY} characters`\n ),\n v.maxLength(\n LIMIT_MAX_QUERY,\n `the url query is too long, it must be ${LIMIT_MAX_QUERY} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlQuery = v.nullable(IsValidUrlQuery)\n\n// fragment\nexport const IsValidUrlFragment = v.pipe(\n v.string('please provide a url hash/fragment'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_FRAGMENT,\n `the url hash/fragment is too short, it must be at least ${LIMIT_MIN_FRAGMENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_FRAGMENT,\n `the url hash/fragment is too long, it must be ${LIMIT_MAX_FRAGMENT} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlFragment = v.nullable(IsValidUrlFragment)\n","import * as v from 'valibot'\nimport {\n LIMIT_MAX_EMAIL,\n LIMIT_MAX_PASSWORD,\n LIMIT_MAX_PROVIDER,\n LIMIT_MAX_USERNAME,\n LIMIT_MIN_EMAIL,\n LIMIT_MIN_PASSWORD,\n LIMIT_MIN_USERNAME\n} from './constants-limits'\nimport { ERROR_MESSAGE_REGEX_VALUE, REGEX_VALUE } from './constants-regex'\n\nexport const IsValidUsername = v.pipe(\n v.string('please provide a username'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_USERNAME,\n `your username is too short, it must be at least ${LIMIT_MIN_USERNAME} characters`\n ),\n v.maxLength(\n LIMIT_MAX_USERNAME,\n `your username is too long, it must be ${LIMIT_MAX_USERNAME} characters or less`\n ),\n v.regex(REGEX_VALUE, `your username ${ERROR_MESSAGE_REGEX_VALUE}`)\n)\nexport const IsValidOrUndefinedUsername = v.undefinedable(IsValidUsername)\n\nexport const IsValidEmail = v.pipe(\n v.string('please provide an email'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_EMAIL,\n `your email is too short, it must be at least ${LIMIT_MIN_EMAIL} characters`\n ),\n v.maxLength(\n LIMIT_MAX_EMAIL,\n `your email is too long, it must be ${LIMIT_MAX_EMAIL} characters or less`\n ),\n v.email('please provide a valid email address')\n)\nexport const IsValidOrUndefinedEmail = v.undefinedable(IsValidEmail)\n\nexport const IsValidPassword = v.pipe(\n v.string('a password is required'),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PASSWORD,\n `your password is too short, it must be at least ${LIMIT_MIN_PASSWORD} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PASSWORD,\n `your password is too long, it must be ${LIMIT_MAX_PASSWORD} characters or less`\n )\n)\nexport const IsValidOrUndefinedPassword = v.undefinedable(IsValidPassword)\n\nexport const IsValidProvider = v.pipe(\n v.string('please enter a provider'),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_PROVIDER,\n `the provider string is too long, it must be ${LIMIT_MAX_PROVIDER} characters or less`\n )\n)\nexport const IsValidOrUndefinedProvider = v.undefinedable(IsValidProvider)\n\nexport const IsValidConfirmed = v.boolean()\nexport const IsValidOrUndefinedConfirmed = v.undefinedable(IsValidConfirmed)\n\nexport const IsValidBlocked = v.boolean()\nexport const IsValidOrUndefinedBlocked = v.undefinedable(IsValidBlocked)\n","import * as v from 'valibot'\nimport {\n LIMIT_MAX_UTM_CAMPAIGN,\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n LIMIT_MAX_UTM_MEDIUM,\n LIMIT_MAX_UTM_SOURCE,\n LIMIT_MIN_UTM_CAMPAIGN,\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n LIMIT_MIN_UTM_MEDIUM,\n LIMIT_MIN_UTM_SOURCE,\n LIMIT_MIN_UTM_CONTENT,\n LIMIT_MAX_UTM_CONTENT,\n LIMIT_MIN_UTM_TERM,\n LIMIT_MAX_UTM_TERM,\n LIMIT_MIN_UTM_ID,\n LIMIT_MAX_UTM_ID\n} from './constants-limits'\nimport { ERROR_MESSAGE_REGEX_VALUE, REGEX_VALUE } from './constants-regex'\n\n// utm_source\nexport const IsValidUrlUtmSource = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_SOURCE,\n `the utm_source is too short, it must be at least ${LIMIT_MIN_UTM_SOURCE} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_SOURCE,\n `the utm_source is too long, it must be ${LIMIT_MAX_UTM_SOURCE} characters or less`\n ),\n v.regex(REGEX_VALUE, `utm_source ${ERROR_MESSAGE_REGEX_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmSource = v.nullable(IsValidUrlUtmSource)\n\n// utm_medium\nexport const IsValidUrlUtmMedium = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_MEDIUM,\n `the utm_medium is too short, it must be at least ${LIMIT_MIN_UTM_MEDIUM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_MEDIUM,\n `the utm_medium is too long, it must be ${LIMIT_MAX_UTM_MEDIUM} characters or less`\n ),\n v.regex(REGEX_VALUE, `utm_medium ${ERROR_MESSAGE_REGEX_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmMedium = v.nullable(IsValidUrlUtmMedium)\n\n// utm_campaign\nexport const IsValidUrlUtmCampaign = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CAMPAIGN,\n `the utm_campaign is too short, it must be at least ${LIMIT_MIN_UTM_CAMPAIGN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CAMPAIGN,\n `the utm_campaign is too long, it must be ${LIMIT_MAX_UTM_CAMPAIGN} characters or less`\n ),\n v.regex(REGEX_VALUE, `utm_campaign ${ERROR_MESSAGE_REGEX_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCampaign = v.nullable(IsValidUrlUtmCampaign)\n\n// utm_creative_format\nexport const IsValidUrlUtmCreativeFormat = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too short, it must be at least ${LIMIT_MIN_UTM_CREATIVE_FORMAT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too long, it must be ${LIMIT_MAX_UTM_CREATIVE_FORMAT} characters or less`\n ),\n v.regex(REGEX_VALUE, `utm_creative_format ${ERROR_MESSAGE_REGEX_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCreativeFormat = v.nullable(\n IsValidUrlUtmCreativeFormat\n)\n\n// utm_content\nexport const IsValidUrlUtmContent = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CONTENT,\n `the utm_content is too short, it must be at least ${LIMIT_MIN_UTM_CONTENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CONTENT,\n `the utm_content is too long, it must be ${LIMIT_MAX_UTM_CONTENT} characters or less`\n ),\n v.regex(REGEX_VALUE, `utm_content ${ERROR_MESSAGE_REGEX_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmContent = v.nullable(IsValidUrlUtmContent)\n\n// utm_term\nexport const IsValidUrlUtmTerm = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_TERM,\n `the utm_term is too short, it must be at least ${LIMIT_MIN_UTM_TERM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_TERM,\n `the utm_term is too long, it must be ${LIMIT_MAX_UTM_TERM} characters or less`\n ),\n v.regex(REGEX_VALUE, `utm_term ${ERROR_MESSAGE_REGEX_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmTerm = v.nullable(IsValidUrlUtmTerm)\n\n// utm_id\nexport const IsValidUrlUtmId = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_ID,\n `the utm_id is too short, it must be at least ${LIMIT_MIN_UTM_ID} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_ID,\n `the utm_id is too long, it must be ${LIMIT_MAX_UTM_ID} characters or less`\n ),\n v.regex(REGEX_VALUE, `utm_id ${ERROR_MESSAGE_REGEX_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmId = v.nullable(IsValidUrlUtmId)\n"]}