configforge 1.0.0-beta.6 → 1.0.0-beta.7
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/README.md +265 -107
- package/dist/core/Converter.d.ts +1 -0
- package/dist/core/Converter.d.ts.map +1 -1
- package/dist/core/Converter.js +6 -4
- package/dist/core/Converter.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/validators/ValidatorRegistry.d.ts +55 -0
- package/dist/validators/ValidatorRegistry.d.ts.map +1 -0
- package/dist/validators/ValidatorRegistry.js +140 -0
- package/dist/validators/ValidatorRegistry.js.map +1 -0
- package/dist/validators/built-in.d.ts +93 -0
- package/dist/validators/built-in.d.ts.map +1 -0
- package/dist/validators/built-in.js +290 -0
- package/dist/validators/built-in.js.map +1 -0
- package/dist/validators/index.d.ts +4 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/dist/validators/index.js +24 -0
- package/dist/validators/index.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -132,7 +132,34 @@ const converter = forge()
|
|
|
132
132
|
})
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
-
### 7.
|
|
135
|
+
### 7. Add Validation
|
|
136
|
+
|
|
137
|
+
```javascript
|
|
138
|
+
const { validators } = require('configforge');
|
|
139
|
+
|
|
140
|
+
// Add field validation
|
|
141
|
+
.validate('email', validators.email)
|
|
142
|
+
.validate('age', validators.all(
|
|
143
|
+
validators.required,
|
|
144
|
+
validators.type('number'),
|
|
145
|
+
validators.range(18, 120)
|
|
146
|
+
))
|
|
147
|
+
.validate('username', validators.all(
|
|
148
|
+
validators.required,
|
|
149
|
+
validators.minLength(3),
|
|
150
|
+
validators.pattern(/^[a-zA-Z0-9_]+$/, 'Only letters, numbers, and underscores allowed')
|
|
151
|
+
))
|
|
152
|
+
|
|
153
|
+
// Custom validation with context
|
|
154
|
+
.validate('password', (value, context) => {
|
|
155
|
+
if (context.source.confirmPassword !== value) {
|
|
156
|
+
return 'Passwords do not match';
|
|
157
|
+
}
|
|
158
|
+
return validators.minLength(8)(value, context);
|
|
159
|
+
})
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 8. Convert Data
|
|
136
163
|
|
|
137
164
|
```javascript
|
|
138
165
|
// Convert object data
|
|
@@ -266,69 +293,71 @@ console.log(result.data);
|
|
|
266
293
|
### Example 3: Array Processing with forEach()
|
|
267
294
|
|
|
268
295
|
```javascript
|
|
269
|
-
//
|
|
270
|
-
const
|
|
271
|
-
'
|
|
272
|
-
|
|
296
|
+
// Simple fruit inventory
|
|
297
|
+
const fruitData = {
|
|
298
|
+
storeId: 'STORE-001',
|
|
299
|
+
fruits: [
|
|
273
300
|
{
|
|
274
|
-
name: '
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
skintrait: { skinName: 'Nik_187t' },
|
|
279
|
-
commandtrait: { commands: [{ command: 'warp plots' }] },
|
|
280
|
-
},
|
|
301
|
+
name: 'Apple',
|
|
302
|
+
color: 'red',
|
|
303
|
+
price: 1.5,
|
|
304
|
+
quantity: 100,
|
|
281
305
|
},
|
|
282
306
|
{
|
|
283
|
-
name: '
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
307
|
+
name: 'Banana',
|
|
308
|
+
color: 'yellow',
|
|
309
|
+
price: 0.75,
|
|
310
|
+
quantity: 80,
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
name: 'Orange',
|
|
314
|
+
color: 'orange',
|
|
315
|
+
price: 1.25,
|
|
316
|
+
quantity: 60,
|
|
290
317
|
},
|
|
291
318
|
],
|
|
292
319
|
};
|
|
293
320
|
|
|
294
321
|
const converter = forge()
|
|
295
|
-
.from('
|
|
296
|
-
.to('
|
|
297
|
-
.map('
|
|
298
|
-
.forEach('
|
|
322
|
+
.from('inventory')
|
|
323
|
+
.to('catalog')
|
|
324
|
+
.map('storeId', 'storeId')
|
|
325
|
+
.forEach('fruits', (fruit, index) => {
|
|
299
326
|
return {
|
|
300
|
-
id:
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
skin: npc.traits?.skintrait?.skinName,
|
|
308
|
-
commands:
|
|
309
|
-
npc.traits?.commandtrait?.commands?.map(cmd => cmd.command) || [],
|
|
327
|
+
id: index + 1,
|
|
328
|
+
fruitName: fruit.name,
|
|
329
|
+
displayColor: fruit.color,
|
|
330
|
+
pricePerItem: fruit.price,
|
|
331
|
+
inStock: fruit.quantity,
|
|
332
|
+
totalValue: fruit.price * fruit.quantity,
|
|
333
|
+
isExpensive: fruit.price > 1.0,
|
|
310
334
|
};
|
|
311
335
|
});
|
|
312
336
|
|
|
313
|
-
const result = await converter.convert(
|
|
337
|
+
const result = await converter.convert(fruitData);
|
|
314
338
|
console.log(result.data);
|
|
315
339
|
// {
|
|
316
|
-
//
|
|
317
|
-
//
|
|
340
|
+
// storeId: 'STORE-001',
|
|
341
|
+
// fruits: [
|
|
318
342
|
// {
|
|
319
|
-
// id:
|
|
320
|
-
//
|
|
321
|
-
//
|
|
322
|
-
//
|
|
323
|
-
//
|
|
343
|
+
// id: 1,
|
|
344
|
+
// fruitName: 'Apple',
|
|
345
|
+
// displayColor: 'red',
|
|
346
|
+
// pricePerItem: 1.50,
|
|
347
|
+
// inStock: 100,
|
|
348
|
+
// totalValue: 150,
|
|
349
|
+
// isExpensive: true
|
|
324
350
|
// },
|
|
325
351
|
// {
|
|
326
|
-
// id:
|
|
327
|
-
//
|
|
328
|
-
//
|
|
329
|
-
//
|
|
330
|
-
//
|
|
331
|
-
//
|
|
352
|
+
// id: 2,
|
|
353
|
+
// fruitName: 'Banana',
|
|
354
|
+
// displayColor: 'yellow',
|
|
355
|
+
// pricePerItem: 0.75,
|
|
356
|
+
// inStock: 80,
|
|
357
|
+
// totalValue: 60,
|
|
358
|
+
// isExpensive: false
|
|
359
|
+
// },
|
|
360
|
+
// // ... more fruits
|
|
332
361
|
// ]
|
|
333
362
|
// }
|
|
334
363
|
```
|
|
@@ -336,85 +365,90 @@ console.log(result.data);
|
|
|
336
365
|
### Example 4: Conditional Mapping with when()
|
|
337
366
|
|
|
338
367
|
```javascript
|
|
339
|
-
// Different
|
|
340
|
-
const
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
368
|
+
// Different types of pets need different mappings
|
|
369
|
+
const petData = {
|
|
370
|
+
type: 'dog',
|
|
371
|
+
name: 'Buddy',
|
|
372
|
+
age: 3,
|
|
373
|
+
dogInfo: {
|
|
374
|
+
breed: 'Golden Retriever',
|
|
375
|
+
tricks: ['sit', 'stay', 'fetch'],
|
|
376
|
+
},
|
|
377
|
+
catInfo: {
|
|
378
|
+
breed: 'Persian',
|
|
379
|
+
indoor: true,
|
|
380
|
+
},
|
|
381
|
+
birdInfo: {
|
|
382
|
+
species: 'Parrot',
|
|
383
|
+
canTalk: true,
|
|
350
384
|
},
|
|
351
385
|
};
|
|
352
386
|
|
|
353
387
|
const converter = forge()
|
|
354
|
-
.from('
|
|
355
|
-
.to('
|
|
356
|
-
.map('
|
|
357
|
-
.map('
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
.
|
|
362
|
-
.map('
|
|
388
|
+
.from('petData')
|
|
389
|
+
.to('petProfile')
|
|
390
|
+
.map('name', 'petName')
|
|
391
|
+
.map('age', 'petAge')
|
|
392
|
+
.map('type', 'animalType')
|
|
393
|
+
|
|
394
|
+
// Only map dog-specific info for dogs
|
|
395
|
+
.when(source => source.type === 'dog')
|
|
396
|
+
.map('dogInfo.breed', 'breed')
|
|
397
|
+
.map('dogInfo.tricks', 'knownTricks')
|
|
363
398
|
.end()
|
|
364
399
|
|
|
365
|
-
// Only map
|
|
366
|
-
.when(source => source.
|
|
367
|
-
.map('
|
|
368
|
-
.map('
|
|
400
|
+
// Only map cat-specific info for cats
|
|
401
|
+
.when(source => source.type === 'cat')
|
|
402
|
+
.map('catInfo.breed', 'breed')
|
|
403
|
+
.map('catInfo.indoor', 'isIndoorCat')
|
|
369
404
|
.end()
|
|
370
405
|
|
|
371
|
-
//
|
|
372
|
-
.when(
|
|
373
|
-
.map('
|
|
406
|
+
// Only map bird-specific info for birds
|
|
407
|
+
.when(source => source.type === 'bird')
|
|
408
|
+
.map('birdInfo.species', 'species')
|
|
409
|
+
.map('birdInfo.canTalk', 'canSpeak')
|
|
374
410
|
.end();
|
|
375
411
|
|
|
376
|
-
const result = await converter.convert(
|
|
412
|
+
const result = await converter.convert(petData);
|
|
377
413
|
console.log(result.data);
|
|
378
414
|
// {
|
|
379
|
-
//
|
|
380
|
-
//
|
|
381
|
-
//
|
|
382
|
-
//
|
|
383
|
-
//
|
|
415
|
+
// petName: 'Buddy',
|
|
416
|
+
// petAge: 3,
|
|
417
|
+
// animalType: 'dog',
|
|
418
|
+
// breed: 'Golden Retriever',
|
|
419
|
+
// knownTricks: ['sit', 'stay', 'fetch']
|
|
384
420
|
// }
|
|
385
421
|
```
|
|
386
422
|
|
|
387
423
|
### Example 5: Merge Multiple Fields with merge()
|
|
388
424
|
|
|
389
425
|
```javascript
|
|
390
|
-
//
|
|
391
|
-
const
|
|
392
|
-
|
|
393
|
-
firstName: '
|
|
394
|
-
lastName: '
|
|
395
|
-
email: 'john.doe@example.com',
|
|
426
|
+
// Simple student report card
|
|
427
|
+
const studentData = {
|
|
428
|
+
student: {
|
|
429
|
+
firstName: 'Alice',
|
|
430
|
+
lastName: 'Smith',
|
|
396
431
|
},
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
discount: 15.0,
|
|
432
|
+
grades: {
|
|
433
|
+
math: 85,
|
|
434
|
+
english: 92,
|
|
435
|
+
science: 78,
|
|
402
436
|
},
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
437
|
+
activities: ['soccer', 'chess', 'art'],
|
|
438
|
+
info: {
|
|
439
|
+
grade: '5th',
|
|
440
|
+
teacher: 'Ms. Johnson',
|
|
407
441
|
},
|
|
408
442
|
};
|
|
409
443
|
|
|
410
444
|
const converter = forge()
|
|
411
|
-
.from('
|
|
412
|
-
.to('
|
|
445
|
+
.from('report')
|
|
446
|
+
.to('summary')
|
|
413
447
|
|
|
414
|
-
// Merge
|
|
448
|
+
// Merge student name fields
|
|
415
449
|
.merge(
|
|
416
|
-
['
|
|
417
|
-
'
|
|
450
|
+
['student.firstName', 'student.lastName'],
|
|
451
|
+
'studentName',
|
|
418
452
|
(first, last) => `${first} ${last}`
|
|
419
453
|
)
|
|
420
454
|
|
|
@@ -458,7 +492,128 @@ console.log(result.data);
|
|
|
458
492
|
// }
|
|
459
493
|
```
|
|
460
494
|
|
|
461
|
-
### Example 6:
|
|
495
|
+
### Example 6: Data Validation
|
|
496
|
+
|
|
497
|
+
```javascript
|
|
498
|
+
const { forge, validators } = require('configforge');
|
|
499
|
+
|
|
500
|
+
// User registration form data
|
|
501
|
+
const formData = {
|
|
502
|
+
personalInfo: {
|
|
503
|
+
firstName: 'John',
|
|
504
|
+
lastName: 'Doe',
|
|
505
|
+
email: 'john.doe@example.com',
|
|
506
|
+
age: 28,
|
|
507
|
+
},
|
|
508
|
+
accountInfo: {
|
|
509
|
+
username: 'johndoe123',
|
|
510
|
+
password: 'SecurePass123!',
|
|
511
|
+
confirmPassword: 'SecurePass123!',
|
|
512
|
+
},
|
|
513
|
+
preferences: {
|
|
514
|
+
newsletter: 'yes',
|
|
515
|
+
theme: 'dark',
|
|
516
|
+
language: 'en',
|
|
517
|
+
},
|
|
518
|
+
};
|
|
519
|
+
|
|
520
|
+
const converter = forge()
|
|
521
|
+
.from('form')
|
|
522
|
+
.to('user')
|
|
523
|
+
// Map fields
|
|
524
|
+
.merge(
|
|
525
|
+
['personalInfo.firstName', 'personalInfo.lastName'],
|
|
526
|
+
'fullName',
|
|
527
|
+
(first, last) => `${first} ${last}`
|
|
528
|
+
)
|
|
529
|
+
.map('personalInfo.email', 'email')
|
|
530
|
+
.map('personalInfo.age', 'age')
|
|
531
|
+
.map('accountInfo.username', 'username')
|
|
532
|
+
.map('accountInfo.password', 'password')
|
|
533
|
+
.map(
|
|
534
|
+
'preferences.newsletter',
|
|
535
|
+
'subscribeToNewsletter',
|
|
536
|
+
value => value === 'yes'
|
|
537
|
+
)
|
|
538
|
+
.map('preferences.theme', 'theme')
|
|
539
|
+
.map('preferences.language', 'language')
|
|
540
|
+
|
|
541
|
+
// Add validation rules
|
|
542
|
+
.validate(
|
|
543
|
+
'fullName',
|
|
544
|
+
validators.all(
|
|
545
|
+
validators.required,
|
|
546
|
+
validators.minLength(2),
|
|
547
|
+
validators.maxLength(100)
|
|
548
|
+
)
|
|
549
|
+
)
|
|
550
|
+
.validate('email', validators.all(validators.required, validators.email))
|
|
551
|
+
.validate(
|
|
552
|
+
'age',
|
|
553
|
+
validators.all(
|
|
554
|
+
validators.required,
|
|
555
|
+
validators.type('number'),
|
|
556
|
+
validators.range(13, 120)
|
|
557
|
+
)
|
|
558
|
+
)
|
|
559
|
+
.validate(
|
|
560
|
+
'username',
|
|
561
|
+
validators.all(
|
|
562
|
+
validators.required,
|
|
563
|
+
validators.minLength(3),
|
|
564
|
+
validators.maxLength(20),
|
|
565
|
+
validators.pattern(
|
|
566
|
+
/^[a-zA-Z0-9_]+$/,
|
|
567
|
+
'Username can only contain letters, numbers, and underscores'
|
|
568
|
+
)
|
|
569
|
+
)
|
|
570
|
+
)
|
|
571
|
+
.validate(
|
|
572
|
+
'password',
|
|
573
|
+
validators.all(
|
|
574
|
+
validators.required,
|
|
575
|
+
validators.minLength(8),
|
|
576
|
+
validators.pattern(
|
|
577
|
+
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/,
|
|
578
|
+
'Password must contain lowercase, uppercase, and number'
|
|
579
|
+
)
|
|
580
|
+
)
|
|
581
|
+
)
|
|
582
|
+
.validate('theme', validators.oneOf(['light', 'dark', 'auto']))
|
|
583
|
+
.validate('language', validators.oneOf(['en', 'es', 'fr', 'de']))
|
|
584
|
+
|
|
585
|
+
// Custom validation
|
|
586
|
+
.validate('password', (value, context) => {
|
|
587
|
+
if (context.source.accountInfo.confirmPassword !== value) {
|
|
588
|
+
return 'Passwords do not match';
|
|
589
|
+
}
|
|
590
|
+
return true;
|
|
591
|
+
});
|
|
592
|
+
|
|
593
|
+
const result = await converter.convert(formData);
|
|
594
|
+
|
|
595
|
+
if (result.errors.length > 0) {
|
|
596
|
+
console.log('Validation errors:');
|
|
597
|
+
result.errors.forEach(error => {
|
|
598
|
+
console.log(`- ${error.path}: ${error.message}`);
|
|
599
|
+
});
|
|
600
|
+
} else {
|
|
601
|
+
console.log('User data is valid!');
|
|
602
|
+
console.log(result.data);
|
|
603
|
+
// {
|
|
604
|
+
// fullName: 'John Doe',
|
|
605
|
+
// email: 'john.doe@example.com',
|
|
606
|
+
// age: 28,
|
|
607
|
+
// username: 'johndoe123',
|
|
608
|
+
// password: 'SecurePass123!',
|
|
609
|
+
// subscribeToNewsletter: true,
|
|
610
|
+
// theme: 'dark',
|
|
611
|
+
// language: 'en'
|
|
612
|
+
// }
|
|
613
|
+
}
|
|
614
|
+
```
|
|
615
|
+
|
|
616
|
+
### Example 7: File Conversion
|
|
462
617
|
|
|
463
618
|
```javascript
|
|
464
619
|
// Convert YAML file to JSON structure
|
|
@@ -500,14 +655,14 @@ await result.save('./config.json');
|
|
|
500
655
|
- Default values with `defaults()`
|
|
501
656
|
- **Array/object processing with `forEach()`**
|
|
502
657
|
- **Conditional mapping with `when()`**
|
|
503
|
-
- **Multi-field merging with `merge()`**
|
|
658
|
+
- **Multi-field merging with `merge()`**
|
|
659
|
+
- **Field validation with `validate()`** ⭐ NEW!
|
|
504
660
|
- File parsing (YAML, JSON)
|
|
505
661
|
- Conversion statistics and reporting
|
|
506
662
|
- Before/after hooks
|
|
507
663
|
|
|
508
664
|
**🚧 Coming Soon:**
|
|
509
665
|
|
|
510
|
-
- Field validation
|
|
511
666
|
- CLI generation
|
|
512
667
|
- Plugin system
|
|
513
668
|
|
|
@@ -517,11 +672,14 @@ await result.save('./config.json');
|
|
|
517
672
|
2. **Use dot notation** for nested objects: `'user.profile.name'`
|
|
518
673
|
3. **Use bracket notation** for arrays: `'items[0]'`, `'items[1]'`
|
|
519
674
|
4. **Transform functions** get the value and context: `(value, ctx) => { ... }`
|
|
520
|
-
5. **Use conditional mapping** with `when()` for type-specific logic: `when(source => source.
|
|
675
|
+
5. **Use conditional mapping** with `when()` for type-specific logic: `when(source => source.accountType === 'premium')`
|
|
521
676
|
6. **Use merge()** to combine multiple fields: `merge(['field1', 'field2'], 'result', (a, b) => a + b)`
|
|
522
|
-
7. **
|
|
523
|
-
8. **
|
|
524
|
-
9. **
|
|
677
|
+
7. **Use validation** to ensure data quality: `validate('email', validators.email)`
|
|
678
|
+
8. **Combine validators** with `validators.all()` for multiple rules
|
|
679
|
+
9. **Always call `.end()`** after conditional mappings to return to the main converter
|
|
680
|
+
10. **Check `result.errors`** to see validation failures
|
|
681
|
+
11. **Check `result.unmapped`** to see which fields weren't mapped
|
|
682
|
+
12. **Use `result.print()`** for a nice conversion report
|
|
525
683
|
|
|
526
684
|
---
|
|
527
685
|
|
package/dist/core/Converter.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,YAAY,EACZ,OAAO,EACP,WAAW,EACX,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,SAAS,
|
|
1
|
+
{"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
|
package/dist/core/Converter.js
CHANGED
|
@@ -229,6 +229,8 @@ class Converter {
|
|
|
229
229
|
executeConversion(sourceData, startTime) {
|
|
230
230
|
const warnings = [];
|
|
231
231
|
const errors = [];
|
|
232
|
+
// Store source data for validation context
|
|
233
|
+
this.sourceData = sourceData;
|
|
232
234
|
// Run before hooks
|
|
233
235
|
let processedSource = sourceData;
|
|
234
236
|
for (const hook of this.hooks.before) {
|
|
@@ -318,20 +320,20 @@ class Converter {
|
|
|
318
320
|
try {
|
|
319
321
|
const value = this.getPath(targetData, field);
|
|
320
322
|
const result = validator(value, {
|
|
321
|
-
source: {},
|
|
323
|
+
source: this.sourceData || {}, // Store source data for validation context
|
|
322
324
|
target: targetData,
|
|
323
325
|
path: field,
|
|
324
326
|
converter: this,
|
|
325
|
-
allErrors: errors,
|
|
327
|
+
allErrors: errors.filter(e => e instanceof types_1.ValidationError),
|
|
326
328
|
});
|
|
327
329
|
if (result !== true) {
|
|
328
|
-
errors.push(new types_1.
|
|
330
|
+
errors.push(new types_1.ValidationError(typeof result === 'string'
|
|
329
331
|
? result
|
|
330
332
|
: `Validation failed for field: ${field}`, { path: field }));
|
|
331
333
|
}
|
|
332
334
|
}
|
|
333
335
|
catch (error) {
|
|
334
|
-
errors.push(new types_1.
|
|
336
|
+
errors.push(new types_1.ValidationError(`Validation error for field ${field}: ${error instanceof Error ? error.message : 'Unknown error'}`, { path: field }));
|
|
335
337
|
}
|
|
336
338
|
}
|
|
337
339
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":";;;AAAA,oCAiBkB;AAClB,+BAAoC;AACpC,qCAAkC;AAClC,yDAA0D;AAC1D,wCAA4C;AAC5C,2BAAoC;AAEpC;;GAEG;AACH,MAAa,SAAS;IAapB,YAAY,UAAwB,EAAE;QAV9B,aAAQ,GAAc,EAAE,CAAC;QACzB,kBAAa,GAAwB,EAAE,CAAC;QACxC,eAAU,GAA6B,IAAI,GAAG,EAAE,CAAC;QACjD,UAAK,GAA0C;YACrD,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;SACV,CAAC;QAKA,IAAI,CAAC,OAAO,GAAG;YACb,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,KAAK;YAClB,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,MAAuB,EAAE,OAAsB;QAClD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG;gBAClB,IAAI,EAAE,MAAM;gBACZ,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;aAC3D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,EAAE,CAAC,MAAuB,EAAE,OAAsB;QAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG;gBAClB,IAAI,EAAE,MAAM;gBACZ,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;aAC3D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,GAAG,CACD,MAA8B,EAC9B,MAA8B,EAC9B,SAAuB;QAEvB,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,IAAA,SAAM,GAAE;YACZ,MAAM;YACN,MAAM;YACN,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,IAAI,EAAE,QAAQ;SACf,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,MAA2B;QAClC,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAa,EAAE,SAAsB;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU;QACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,EAAU;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAA+B;QAClC,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,MAAc,EAAE,KAAgB;QACtC,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,IAAA,SAAM,GAAE;YACZ,MAAM;YACN,MAAM,EAAE,MAAM,EAAE,2CAA2C;YAC3D,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACR,SAAS,EAAE,KAAK;aACjB;SACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CACH,OAAiB,EACjB,MAAc,EACd,OAAgB,EAChB,SAAuB;QAEvB,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,IAAA,SAAM,GAAE;YACZ,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,6DAA6D;YACxF,MAAM;YACN,IAAI,EAAE,OAAO;YACb,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,QAAQ,EAAE;gBACR,OAAO;gBACP,OAAO;aACR;SACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAkC;QAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC;YACH,+BAA+B;YAC/B,IAAI,UAAe,CAAC;YAEpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,mBAAmB;gBACnB,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;iBAAM,IACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAC7C,CAAC;gBACD,wGAAwG;gBACxG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC7C,CAAC;gBACD,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,sBAAsB;gBACtB,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;YAED,yBAAyB;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC/C,MAAM,KAAK,GAAoB;gBAC7B,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,kBAAkB,EAAE,CAAC;gBACrB,iBAAiB,EAAE,CAAC;gBACpB,gBAAgB,EAAE,CAAC;gBACnB,QAAQ;aACT,CAAC;YAEF,OAAO,IAAI,uCAAoB,CAC7B,EAAE,EACF,EAAE,EACF,EAAE,EACF;gBACE,KAAK,YAAY,wBAAgB;oBAC/B,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,+BAAuB,CACzB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD;aACN,EACD,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAc;QACxB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC/C,MAAM,KAAK,GAAoB;gBAC7B,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,kBAAkB,EAAE,CAAC;gBACrB,iBAAiB,EAAE,CAAC;gBACpB,gBAAgB,EAAE,CAAC;gBACnB,QAAQ;aACT,CAAC;YAEF,OAAO,IAAI,uCAAoB,CAC7B,EAAE,EACF,EAAE,EACF,EAAE,EACF;gBACE,KAAK,YAAY,wBAAgB;oBAC/B,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,+BAAuB,CACzB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD;aACN,EACD,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,QAAgB;QACzC,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,wBAAc,CAAC,aAAa,CACzC,QAAQ,EACR,OAAO,EACP,IAAI,CAAC,YAAY,EAAE,MAAM,CAC1B,CAAC;QACF,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,iBAAiB,CACvB,UAAe,EACf,SAAiB;QAEjB,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAuB,EAAE,CAAC;QAEtC,2CAA2C;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,mBAAmB;QACnB,IAAI,eAAe,GAAG,UAAU,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;gBACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,eAAe,GAAG,MAAM,CAAC;gBAC3B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,IAAI,+BAAuB,CACzB,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAClF,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,UAAe,CAAC;QAEpB,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,KAAK,YAAY,wBAAgB;gBAC/B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,+BAAuB,CACzB,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC9E,CACN,CAAC;YACF,UAAU,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,iBAAiB;QACjB,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAE5C,kBAAkB;QAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,UAAU,GAAG,MAAM,CAAC;gBACtB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,IAAI,+BAAuB,CACzB,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACjF,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAExC,sBAAsB;QACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAE5D,mCAAmC;QACnC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,KAAK;gBACL,OAAO,EAAE,4BAA4B;gBACrC,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;aAClC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAoB;YAC7B,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAClD,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAClC,cAAc,EAAE,QAAQ,CAAC,MAAM;YAC/B,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM;YAC1D,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;YAChE,gBAAgB,EAAE,MAAM,CAAC,MAAM;YAC/B,QAAQ;YACR,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;SACpC,CAAC;QAEF,OAAO,IAAI,uCAAoB,CAC7B,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,UAAe;QACnC,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;QAEjC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/D,uDAAuD;YACvD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,UAAe,EAAE,MAA0B;QAChE,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE;oBAC9B,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,2CAA2C;oBAC1E,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,MAAM,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,uBAAe,CACb;iBACvB,CAAC,CAAC;gBAEH,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CACT,IAAI,uBAAe,CACjB,OAAO,MAAM,KAAK,QAAQ;wBACxB,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,gCAAgC,KAAK,EAAE,EAC3C,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,IAAI,uBAAe,CACjB,8BAA8B,KAAK,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EAClG,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,KAAa;QAC3C,6CAA6C;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAC/B,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAClD,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CACrD,CAAC;QAEF,OAAO,OAAO,CAAC,CAAC,CAAC,wBAAwB,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,GAAQ,EAAE,KAAK,GAAG,CAAC;QACrC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,cAAc;QAGpB,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,GAAQ,EAAE,IAAY;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO,GAAG,GAAG,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC;gBACnE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,OAAO,CAAC,GAAQ,EAAE,IAAY;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO,GAAG,GAAG,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC9C,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,OAAO,CAAC,GAAQ,EAAE,IAAY,EAAE,KAAU;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAG,CAAC;QAC5B,IAAI,OAAO,GAAG,GAAG,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IACE,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI;gBACrB,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAChC,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACpB,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,gEAAgE;IAEhE;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACF;AA3kBD,8BA2kBC;AAED;;GAEG;AACH,MAAa,iBAAiB;IAC5B,YACU,SAAoB,EACpB,SAA+B;QAD/B,cAAS,GAAT,SAAS,CAAW;QACpB,cAAS,GAAT,SAAS,CAAsB;IACtC,CAAC;IAEJ;;OAEG;IACH,GAAG,CACD,MAAc,EACd,MAAc,EACd,SAAuB;QAEvB,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,IAAA,SAAM,GAAE;YACZ,MAAM;YACN,MAAM;YACN,IAAI,EAAE,aAAa;YACnB,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;SACF,CAAC;QAEF,+CAA+C;QAC/C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAA+B;QAClC,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAU;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAU;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;CACF;AAzDD,8CAyDC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ export { forge } from './core/Forge';
|
|
|
2
2
|
export { Converter } from './core/Converter';
|
|
3
3
|
export { Mapper } from './core/Mapper';
|
|
4
4
|
export * as transforms from './transformers/built-in';
|
|
5
|
+
export * as validators from './validators/built-in';
|
|
6
|
+
export { ValidatorRegistry, validatorRegistry, } from './validators/ValidatorRegistry';
|
|
5
7
|
export * from './types';
|
|
6
8
|
export { parsePath, setPath, mergePaths, detectFormat } from './utils';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,cAAc,SAAS,CAAC;AAMxB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
36
36
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.detectFormat = exports.mergePaths = exports.setPath = exports.parsePath = exports.transforms = exports.Mapper = exports.Converter = exports.forge = void 0;
|
|
39
|
+
exports.detectFormat = exports.mergePaths = exports.setPath = exports.parsePath = exports.validatorRegistry = exports.ValidatorRegistry = exports.validators = exports.transforms = exports.Mapper = exports.Converter = exports.forge = void 0;
|
|
40
40
|
// Main exports
|
|
41
41
|
var Forge_1 = require("./core/Forge");
|
|
42
42
|
Object.defineProperty(exports, "forge", { enumerable: true, get: function () { return Forge_1.forge; } });
|
|
@@ -45,7 +45,10 @@ Object.defineProperty(exports, "Converter", { enumerable: true, get: function ()
|
|
|
45
45
|
var Mapper_1 = require("./core/Mapper");
|
|
46
46
|
Object.defineProperty(exports, "Mapper", { enumerable: true, get: function () { return Mapper_1.Mapper; } });
|
|
47
47
|
exports.transforms = __importStar(require("./transformers/built-in"));
|
|
48
|
-
|
|
48
|
+
exports.validators = __importStar(require("./validators/built-in"));
|
|
49
|
+
var ValidatorRegistry_1 = require("./validators/ValidatorRegistry");
|
|
50
|
+
Object.defineProperty(exports, "ValidatorRegistry", { enumerable: true, get: function () { return ValidatorRegistry_1.ValidatorRegistry; } });
|
|
51
|
+
Object.defineProperty(exports, "validatorRegistry", { enumerable: true, get: function () { return ValidatorRegistry_1.validatorRegistry; } });
|
|
49
52
|
__exportStar(require("./types"), exports);
|
|
50
53
|
// Plugin exports
|
|
51
54
|
// export { Plugin, PluginContext } from './plugins/Plugin'; // TODO: Implement plugin system
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,8CAA6C;AAApC,sGAAA,SAAS,OAAA;AAClB,wCAAuC;AAA9B,gGAAA,MAAM,OAAA;AACf,sEAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,8CAA6C;AAApC,sGAAA,SAAS,OAAA;AAClB,wCAAuC;AAA9B,gGAAA,MAAM,OAAA;AACf,sEAAsD;AACtD,oEAAoD;AACpD,oEAGwC;AAFtC,sHAAA,iBAAiB,OAAA;AACjB,sHAAA,iBAAiB,OAAA;AAEnB,0CAAwB;AAExB,iBAAiB;AACjB,6FAA6F;AAE7F,kBAAkB;AAClB,iCAAuE;AAA9D,kGAAA,SAAS,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,qGAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Validator, ValidatorFn } from '../types';
|
|
2
|
+
import * as builtInValidators from './built-in';
|
|
3
|
+
/**
|
|
4
|
+
* Registry for managing validators
|
|
5
|
+
*/
|
|
6
|
+
export declare class ValidatorRegistry {
|
|
7
|
+
private validators;
|
|
8
|
+
constructor();
|
|
9
|
+
/**
|
|
10
|
+
* Register a validator
|
|
11
|
+
*/
|
|
12
|
+
register(validator: Validator): void;
|
|
13
|
+
/**
|
|
14
|
+
* Register a validator by name and function
|
|
15
|
+
*/
|
|
16
|
+
registerFunction(name: string, validate: ValidatorFn): void;
|
|
17
|
+
/**
|
|
18
|
+
* Get a validator by name
|
|
19
|
+
*/
|
|
20
|
+
get(name: string): Validator | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Get a validator function by name
|
|
23
|
+
*/
|
|
24
|
+
getFunction(name: string): ValidatorFn | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Check if a validator exists
|
|
27
|
+
*/
|
|
28
|
+
has(name: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* List all registered validators
|
|
31
|
+
*/
|
|
32
|
+
list(): string[];
|
|
33
|
+
/**
|
|
34
|
+
* Remove a validator
|
|
35
|
+
*/
|
|
36
|
+
unregister(name: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Clear all validators
|
|
39
|
+
*/
|
|
40
|
+
clear(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Register all built-in validators
|
|
43
|
+
*/
|
|
44
|
+
private registerBuiltInValidators;
|
|
45
|
+
/**
|
|
46
|
+
* Create a validator instance with built-in validators
|
|
47
|
+
*/
|
|
48
|
+
static create(): ValidatorRegistry;
|
|
49
|
+
/**
|
|
50
|
+
* Get built-in validators object for direct access
|
|
51
|
+
*/
|
|
52
|
+
static getBuiltIns(): typeof builtInValidators;
|
|
53
|
+
}
|
|
54
|
+
export declare const validatorRegistry: ValidatorRegistry;
|
|
55
|
+
//# sourceMappingURL=ValidatorRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidatorRegistry.d.ts","sourceRoot":"","sources":["../../src/validators/ValidatorRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,iBAAiB,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAqC;;IAMvD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIpC;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IAI3D;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIxC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIlD;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;IAIhB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAgCjC;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,iBAAiB;IAIlC;;OAEG;IACH,MAAM,CAAC,WAAW;CAGnB;AAGD,eAAO,MAAM,iBAAiB,mBAA6B,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.validatorRegistry = exports.ValidatorRegistry = void 0;
|
|
37
|
+
const builtInValidators = __importStar(require("./built-in"));
|
|
38
|
+
/**
|
|
39
|
+
* Registry for managing validators
|
|
40
|
+
*/
|
|
41
|
+
class ValidatorRegistry {
|
|
42
|
+
constructor() {
|
|
43
|
+
this.validators = new Map();
|
|
44
|
+
this.registerBuiltInValidators();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Register a validator
|
|
48
|
+
*/
|
|
49
|
+
register(validator) {
|
|
50
|
+
this.validators.set(validator.name, validator);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Register a validator by name and function
|
|
54
|
+
*/
|
|
55
|
+
registerFunction(name, validate) {
|
|
56
|
+
this.register({ name, validate });
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get a validator by name
|
|
60
|
+
*/
|
|
61
|
+
get(name) {
|
|
62
|
+
return this.validators.get(name);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get a validator function by name
|
|
66
|
+
*/
|
|
67
|
+
getFunction(name) {
|
|
68
|
+
return this.validators.get(name)?.validate;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Check if a validator exists
|
|
72
|
+
*/
|
|
73
|
+
has(name) {
|
|
74
|
+
return this.validators.has(name);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* List all registered validators
|
|
78
|
+
*/
|
|
79
|
+
list() {
|
|
80
|
+
return Array.from(this.validators.keys());
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Remove a validator
|
|
84
|
+
*/
|
|
85
|
+
unregister(name) {
|
|
86
|
+
return this.validators.delete(name);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Clear all validators
|
|
90
|
+
*/
|
|
91
|
+
clear() {
|
|
92
|
+
this.validators.clear();
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Register all built-in validators
|
|
96
|
+
*/
|
|
97
|
+
registerBuiltInValidators() {
|
|
98
|
+
// Simple validators
|
|
99
|
+
this.registerFunction('required', builtInValidators.required);
|
|
100
|
+
this.registerFunction('positive', builtInValidators.positive);
|
|
101
|
+
this.registerFunction('nonNegative', builtInValidators.nonNegative);
|
|
102
|
+
this.registerFunction('integer', builtInValidators.integer);
|
|
103
|
+
this.registerFunction('email', builtInValidators.email);
|
|
104
|
+
this.registerFunction('url', builtInValidators.url);
|
|
105
|
+
this.registerFunction('uuid', builtInValidators.uuid);
|
|
106
|
+
this.registerFunction('uniqueItems', builtInValidators.uniqueItems);
|
|
107
|
+
// Factory validators (these need to be created with parameters)
|
|
108
|
+
// Note: These are registered as factory functions, not direct validators
|
|
109
|
+
this.registerFunction('minLength', builtInValidators.minLength);
|
|
110
|
+
this.registerFunction('maxLength', builtInValidators.maxLength);
|
|
111
|
+
this.registerFunction('range', builtInValidators.range);
|
|
112
|
+
this.registerFunction('pattern', builtInValidators.pattern);
|
|
113
|
+
this.registerFunction('oneOf', builtInValidators.oneOf);
|
|
114
|
+
this.registerFunction('minItems', builtInValidators.minItems);
|
|
115
|
+
this.registerFunction('maxItems', builtInValidators.maxItems);
|
|
116
|
+
this.registerFunction('type', builtInValidators.type);
|
|
117
|
+
this.registerFunction('hasProperties', builtInValidators.hasProperties);
|
|
118
|
+
this.registerFunction('custom', builtInValidators.custom);
|
|
119
|
+
this.registerFunction('all', builtInValidators.all);
|
|
120
|
+
this.registerFunction('any', builtInValidators.any);
|
|
121
|
+
this.registerFunction('optional', builtInValidators.optional);
|
|
122
|
+
this.registerFunction('when', builtInValidators.when);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Create a validator instance with built-in validators
|
|
126
|
+
*/
|
|
127
|
+
static create() {
|
|
128
|
+
return new ValidatorRegistry();
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get built-in validators object for direct access
|
|
132
|
+
*/
|
|
133
|
+
static getBuiltIns() {
|
|
134
|
+
return builtInValidators;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.ValidatorRegistry = ValidatorRegistry;
|
|
138
|
+
// Create and export a default registry instance
|
|
139
|
+
exports.validatorRegistry = ValidatorRegistry.create();
|
|
140
|
+
//# sourceMappingURL=ValidatorRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidatorRegistry.js","sourceRoot":"","sources":["../../src/validators/ValidatorRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { ValidatorFn, ValidationContext } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Built-in validator functions for common validation scenarios
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Validates that a value is required (not null, undefined, or empty string)
|
|
7
|
+
*/
|
|
8
|
+
export declare const required: ValidatorFn;
|
|
9
|
+
/**
|
|
10
|
+
* Validates that a string has a minimum length
|
|
11
|
+
*/
|
|
12
|
+
export declare const minLength: (min: number) => ValidatorFn;
|
|
13
|
+
/**
|
|
14
|
+
* Validates that a string has a maximum length
|
|
15
|
+
*/
|
|
16
|
+
export declare const maxLength: (max: number) => ValidatorFn;
|
|
17
|
+
/**
|
|
18
|
+
* Validates that a number is within a range
|
|
19
|
+
*/
|
|
20
|
+
export declare const range: (min: number, max: number) => ValidatorFn;
|
|
21
|
+
/**
|
|
22
|
+
* Validates that a number is positive
|
|
23
|
+
*/
|
|
24
|
+
export declare const positive: ValidatorFn;
|
|
25
|
+
/**
|
|
26
|
+
* Validates that a number is non-negative
|
|
27
|
+
*/
|
|
28
|
+
export declare const nonNegative: ValidatorFn;
|
|
29
|
+
/**
|
|
30
|
+
* Validates that a value is an integer
|
|
31
|
+
*/
|
|
32
|
+
export declare const integer: ValidatorFn;
|
|
33
|
+
/**
|
|
34
|
+
* Validates that a string matches a regular expression
|
|
35
|
+
*/
|
|
36
|
+
export declare const pattern: (regex: RegExp, message?: string) => ValidatorFn;
|
|
37
|
+
/**
|
|
38
|
+
* Validates that a string is a valid email address
|
|
39
|
+
*/
|
|
40
|
+
export declare const email: ValidatorFn;
|
|
41
|
+
/**
|
|
42
|
+
* Validates that a string is a valid URL
|
|
43
|
+
*/
|
|
44
|
+
export declare const url: ValidatorFn;
|
|
45
|
+
/**
|
|
46
|
+
* Validates that a string is a valid UUID
|
|
47
|
+
*/
|
|
48
|
+
export declare const uuid: ValidatorFn;
|
|
49
|
+
/**
|
|
50
|
+
* Validates that a value is one of the allowed values
|
|
51
|
+
*/
|
|
52
|
+
export declare const oneOf: <T>(allowedValues: T[]) => ValidatorFn;
|
|
53
|
+
/**
|
|
54
|
+
* Validates that an array has a minimum length
|
|
55
|
+
*/
|
|
56
|
+
export declare const minItems: (min: number) => ValidatorFn;
|
|
57
|
+
/**
|
|
58
|
+
* Validates that an array has a maximum length
|
|
59
|
+
*/
|
|
60
|
+
export declare const maxItems: (max: number) => ValidatorFn;
|
|
61
|
+
/**
|
|
62
|
+
* Validates that all items in an array are unique
|
|
63
|
+
*/
|
|
64
|
+
export declare const uniqueItems: ValidatorFn;
|
|
65
|
+
/**
|
|
66
|
+
* Validates that a value is of a specific type
|
|
67
|
+
*/
|
|
68
|
+
export declare const type: (expectedType: string) => ValidatorFn;
|
|
69
|
+
/**
|
|
70
|
+
* Validates that an object has required properties
|
|
71
|
+
*/
|
|
72
|
+
export declare const hasProperties: (properties: string[]) => ValidatorFn;
|
|
73
|
+
/**
|
|
74
|
+
* Validates using a custom function with access to the full validation context
|
|
75
|
+
*/
|
|
76
|
+
export declare const custom: (validatorFn: (value: any, context: ValidationContext) => boolean | string) => ValidatorFn;
|
|
77
|
+
/**
|
|
78
|
+
* Combines multiple validators with AND logic
|
|
79
|
+
*/
|
|
80
|
+
export declare const all: (...validators: ValidatorFn[]) => ValidatorFn;
|
|
81
|
+
/**
|
|
82
|
+
* Combines multiple validators with OR logic (passes if any validator passes)
|
|
83
|
+
*/
|
|
84
|
+
export declare const any: (...validators: ValidatorFn[]) => ValidatorFn;
|
|
85
|
+
/**
|
|
86
|
+
* Validates only if the value is not null/undefined (optional validation)
|
|
87
|
+
*/
|
|
88
|
+
export declare const optional: (validator: ValidatorFn) => ValidatorFn;
|
|
89
|
+
/**
|
|
90
|
+
* Validates that a value passes validation only if a condition is met
|
|
91
|
+
*/
|
|
92
|
+
export declare const when: (condition: (value: any, context: ValidationContext) => boolean, validator: ValidatorFn) => ValidatorFn;
|
|
93
|
+
//# sourceMappingURL=built-in.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"built-in.d.ts","sourceRoot":"","sources":["../../src/validators/built-in.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE1D;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,WAKtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,WAUvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,WAUvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,WAUhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,WAQtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,WAQzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,WAQrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,EAAE,UAAU,MAAM,KAAG,WAUzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,WAGnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,WAUjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,WAGlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,eAAe,CAAC,EAAE,KAAG,WAO7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,WAUtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,WAUtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,WASzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,cAAc,MAAM,KAAG,WAQ3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,EAAE,KAAG,WAYpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,GACjB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,GAAG,MAAM,KACxE,WAEF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,GAAG,GAAI,GAAG,YAAY,WAAW,EAAE,KAAG,WAUlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,GAAG,GAAI,GAAG,YAAY,WAAW,EAAE,KAAG,WAgBlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,WAAW,WAAW,KAAG,WAOjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,GACf,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,EAC9D,WAAW,WAAW,KACrB,WAOF,CAAC"}
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.when = exports.optional = exports.any = exports.all = exports.custom = exports.hasProperties = exports.type = exports.uniqueItems = exports.maxItems = exports.minItems = exports.oneOf = exports.uuid = exports.url = exports.email = exports.pattern = exports.integer = exports.nonNegative = exports.positive = exports.range = exports.maxLength = exports.minLength = exports.required = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Built-in validator functions for common validation scenarios
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Validates that a value is required (not null, undefined, or empty string)
|
|
9
|
+
*/
|
|
10
|
+
const required = (value) => {
|
|
11
|
+
if (value === null || value === undefined || value === '') {
|
|
12
|
+
return 'Field is required';
|
|
13
|
+
}
|
|
14
|
+
return true;
|
|
15
|
+
};
|
|
16
|
+
exports.required = required;
|
|
17
|
+
/**
|
|
18
|
+
* Validates that a string has a minimum length
|
|
19
|
+
*/
|
|
20
|
+
const minLength = (min) => {
|
|
21
|
+
return (value) => {
|
|
22
|
+
if (typeof value !== 'string') {
|
|
23
|
+
return `Expected string, got ${typeof value}`;
|
|
24
|
+
}
|
|
25
|
+
if (value.length < min) {
|
|
26
|
+
return `String must be at least ${min} characters long, got ${value.length}`;
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
exports.minLength = minLength;
|
|
32
|
+
/**
|
|
33
|
+
* Validates that a string has a maximum length
|
|
34
|
+
*/
|
|
35
|
+
const maxLength = (max) => {
|
|
36
|
+
return (value) => {
|
|
37
|
+
if (typeof value !== 'string') {
|
|
38
|
+
return `Expected string, got ${typeof value}`;
|
|
39
|
+
}
|
|
40
|
+
if (value.length > max) {
|
|
41
|
+
return `String must be at most ${max} characters long, got ${value.length}`;
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
exports.maxLength = maxLength;
|
|
47
|
+
/**
|
|
48
|
+
* Validates that a number is within a range
|
|
49
|
+
*/
|
|
50
|
+
const range = (min, max) => {
|
|
51
|
+
return (value) => {
|
|
52
|
+
if (typeof value !== 'number') {
|
|
53
|
+
return `Expected number, got ${typeof value}`;
|
|
54
|
+
}
|
|
55
|
+
if (value < min || value > max) {
|
|
56
|
+
return `Number must be between ${min} and ${max}, got ${value}`;
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
exports.range = range;
|
|
62
|
+
/**
|
|
63
|
+
* Validates that a number is positive
|
|
64
|
+
*/
|
|
65
|
+
const positive = (value) => {
|
|
66
|
+
if (typeof value !== 'number') {
|
|
67
|
+
return `Expected number, got ${typeof value}`;
|
|
68
|
+
}
|
|
69
|
+
if (value <= 0) {
|
|
70
|
+
return `Number must be positive, got ${value}`;
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
};
|
|
74
|
+
exports.positive = positive;
|
|
75
|
+
/**
|
|
76
|
+
* Validates that a number is non-negative
|
|
77
|
+
*/
|
|
78
|
+
const nonNegative = (value) => {
|
|
79
|
+
if (typeof value !== 'number') {
|
|
80
|
+
return `Expected number, got ${typeof value}`;
|
|
81
|
+
}
|
|
82
|
+
if (value < 0) {
|
|
83
|
+
return `Number must be non-negative, got ${value}`;
|
|
84
|
+
}
|
|
85
|
+
return true;
|
|
86
|
+
};
|
|
87
|
+
exports.nonNegative = nonNegative;
|
|
88
|
+
/**
|
|
89
|
+
* Validates that a value is an integer
|
|
90
|
+
*/
|
|
91
|
+
const integer = (value) => {
|
|
92
|
+
if (typeof value !== 'number') {
|
|
93
|
+
return `Expected number, got ${typeof value}`;
|
|
94
|
+
}
|
|
95
|
+
if (!Number.isInteger(value)) {
|
|
96
|
+
return `Expected integer, got ${value}`;
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
99
|
+
};
|
|
100
|
+
exports.integer = integer;
|
|
101
|
+
/**
|
|
102
|
+
* Validates that a string matches a regular expression
|
|
103
|
+
*/
|
|
104
|
+
const pattern = (regex, message) => {
|
|
105
|
+
return (value) => {
|
|
106
|
+
if (typeof value !== 'string') {
|
|
107
|
+
return `Expected string, got ${typeof value}`;
|
|
108
|
+
}
|
|
109
|
+
if (!regex.test(value)) {
|
|
110
|
+
return message || `String does not match required pattern`;
|
|
111
|
+
}
|
|
112
|
+
return true;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
exports.pattern = pattern;
|
|
116
|
+
/**
|
|
117
|
+
* Validates that a string is a valid email address
|
|
118
|
+
*/
|
|
119
|
+
exports.email = (0, exports.pattern)(/^[^\s@]+@[^\s@]+\.[^\s@]+$/, 'Invalid email address format');
|
|
120
|
+
/**
|
|
121
|
+
* Validates that a string is a valid URL
|
|
122
|
+
*/
|
|
123
|
+
const url = (value) => {
|
|
124
|
+
if (typeof value !== 'string') {
|
|
125
|
+
return `Expected string, got ${typeof value}`;
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
new URL(value);
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
return 'Invalid URL format';
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
exports.url = url;
|
|
136
|
+
/**
|
|
137
|
+
* Validates that a string is a valid UUID
|
|
138
|
+
*/
|
|
139
|
+
exports.uuid = (0, exports.pattern)(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, 'Invalid UUID format');
|
|
140
|
+
/**
|
|
141
|
+
* Validates that a value is one of the allowed values
|
|
142
|
+
*/
|
|
143
|
+
const oneOf = (allowedValues) => {
|
|
144
|
+
return (value) => {
|
|
145
|
+
if (!allowedValues.includes(value)) {
|
|
146
|
+
return `Value must be one of: ${allowedValues.join(', ')}, got ${value}`;
|
|
147
|
+
}
|
|
148
|
+
return true;
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
exports.oneOf = oneOf;
|
|
152
|
+
/**
|
|
153
|
+
* Validates that an array has a minimum length
|
|
154
|
+
*/
|
|
155
|
+
const minItems = (min) => {
|
|
156
|
+
return (value) => {
|
|
157
|
+
if (!Array.isArray(value)) {
|
|
158
|
+
return `Expected array, got ${typeof value}`;
|
|
159
|
+
}
|
|
160
|
+
if (value.length < min) {
|
|
161
|
+
return `Array must have at least ${min} items, got ${value.length}`;
|
|
162
|
+
}
|
|
163
|
+
return true;
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
exports.minItems = minItems;
|
|
167
|
+
/**
|
|
168
|
+
* Validates that an array has a maximum length
|
|
169
|
+
*/
|
|
170
|
+
const maxItems = (max) => {
|
|
171
|
+
return (value) => {
|
|
172
|
+
if (!Array.isArray(value)) {
|
|
173
|
+
return `Expected array, got ${typeof value}`;
|
|
174
|
+
}
|
|
175
|
+
if (value.length > max) {
|
|
176
|
+
return `Array must have at most ${max} items, got ${value.length}`;
|
|
177
|
+
}
|
|
178
|
+
return true;
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
exports.maxItems = maxItems;
|
|
182
|
+
/**
|
|
183
|
+
* Validates that all items in an array are unique
|
|
184
|
+
*/
|
|
185
|
+
const uniqueItems = (value) => {
|
|
186
|
+
if (!Array.isArray(value)) {
|
|
187
|
+
return `Expected array, got ${typeof value}`;
|
|
188
|
+
}
|
|
189
|
+
const unique = new Set(value);
|
|
190
|
+
if (unique.size !== value.length) {
|
|
191
|
+
return 'Array items must be unique';
|
|
192
|
+
}
|
|
193
|
+
return true;
|
|
194
|
+
};
|
|
195
|
+
exports.uniqueItems = uniqueItems;
|
|
196
|
+
/**
|
|
197
|
+
* Validates that a value is of a specific type
|
|
198
|
+
*/
|
|
199
|
+
const type = (expectedType) => {
|
|
200
|
+
return (value) => {
|
|
201
|
+
const actualType = Array.isArray(value) ? 'array' : typeof value;
|
|
202
|
+
if (actualType !== expectedType) {
|
|
203
|
+
return `Expected ${expectedType}, got ${actualType}`;
|
|
204
|
+
}
|
|
205
|
+
return true;
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
exports.type = type;
|
|
209
|
+
/**
|
|
210
|
+
* Validates that an object has required properties
|
|
211
|
+
*/
|
|
212
|
+
const hasProperties = (properties) => {
|
|
213
|
+
return (value) => {
|
|
214
|
+
if (typeof value !== 'object' || value === null) {
|
|
215
|
+
return `Expected object, got ${typeof value}`;
|
|
216
|
+
}
|
|
217
|
+
const missing = properties.filter(prop => !(prop in value));
|
|
218
|
+
if (missing.length > 0) {
|
|
219
|
+
return `Missing required properties: ${missing.join(', ')}`;
|
|
220
|
+
}
|
|
221
|
+
return true;
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
exports.hasProperties = hasProperties;
|
|
225
|
+
/**
|
|
226
|
+
* Validates using a custom function with access to the full validation context
|
|
227
|
+
*/
|
|
228
|
+
const custom = (validatorFn) => {
|
|
229
|
+
return validatorFn;
|
|
230
|
+
};
|
|
231
|
+
exports.custom = custom;
|
|
232
|
+
/**
|
|
233
|
+
* Combines multiple validators with AND logic
|
|
234
|
+
*/
|
|
235
|
+
const all = (...validators) => {
|
|
236
|
+
return (value, context) => {
|
|
237
|
+
for (const validator of validators) {
|
|
238
|
+
const result = validator(value, context);
|
|
239
|
+
if (result !== true) {
|
|
240
|
+
return result;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return true;
|
|
244
|
+
};
|
|
245
|
+
};
|
|
246
|
+
exports.all = all;
|
|
247
|
+
/**
|
|
248
|
+
* Combines multiple validators with OR logic (passes if any validator passes)
|
|
249
|
+
*/
|
|
250
|
+
const any = (...validators) => {
|
|
251
|
+
return (value, context) => {
|
|
252
|
+
const errors = [];
|
|
253
|
+
for (const validator of validators) {
|
|
254
|
+
const result = validator(value, context);
|
|
255
|
+
if (result === true) {
|
|
256
|
+
return true;
|
|
257
|
+
}
|
|
258
|
+
if (typeof result === 'string') {
|
|
259
|
+
errors.push(result);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return `All validations failed: ${errors.join('; ')}`;
|
|
263
|
+
};
|
|
264
|
+
};
|
|
265
|
+
exports.any = any;
|
|
266
|
+
/**
|
|
267
|
+
* Validates only if the value is not null/undefined (optional validation)
|
|
268
|
+
*/
|
|
269
|
+
const optional = (validator) => {
|
|
270
|
+
return (value, context) => {
|
|
271
|
+
if (value === null || value === undefined) {
|
|
272
|
+
return true;
|
|
273
|
+
}
|
|
274
|
+
return validator(value, context);
|
|
275
|
+
};
|
|
276
|
+
};
|
|
277
|
+
exports.optional = optional;
|
|
278
|
+
/**
|
|
279
|
+
* Validates that a value passes validation only if a condition is met
|
|
280
|
+
*/
|
|
281
|
+
const when = (condition, validator) => {
|
|
282
|
+
return (value, context) => {
|
|
283
|
+
if (!condition(value, context)) {
|
|
284
|
+
return true;
|
|
285
|
+
}
|
|
286
|
+
return validator(value, context);
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
exports.when = when;
|
|
290
|
+
//# sourceMappingURL=built-in.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"built-in.js","sourceRoot":"","sources":["../../src/validators/built-in.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AAEH;;GAEG;AACI,MAAM,QAAQ,GAAgB,CAAC,KAAU,EAAoB,EAAE;IACpE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AALW,QAAA,QAAQ,YAKnB;AAEF;;GAEG;AACI,MAAM,SAAS,GAAG,CAAC,GAAW,EAAe,EAAE;IACpD,OAAO,CAAC,KAAU,EAAoB,EAAE;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,wBAAwB,OAAO,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACvB,OAAO,2BAA2B,GAAG,yBAAyB,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB;AAEF;;GAEG;AACI,MAAM,SAAS,GAAG,CAAC,GAAW,EAAe,EAAE;IACpD,OAAO,CAAC,KAAU,EAAoB,EAAE;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,wBAAwB,OAAO,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACvB,OAAO,0BAA0B,GAAG,yBAAyB,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB;AAEF;;GAEG;AACI,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,GAAW,EAAe,EAAE;IAC7D,OAAO,CAAC,KAAU,EAAoB,EAAE;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,wBAAwB,OAAO,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAC/B,OAAO,0BAA0B,GAAG,QAAQ,GAAG,SAAS,KAAK,EAAE,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,KAAK,SAUhB;AAEF;;GAEG;AACI,MAAM,QAAQ,GAAgB,CAAC,KAAU,EAAoB,EAAE;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,wBAAwB,OAAO,KAAK,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,gCAAgC,KAAK,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,QAAQ,YAQnB;AAEF;;GAEG;AACI,MAAM,WAAW,GAAgB,CAAC,KAAU,EAAoB,EAAE;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,wBAAwB,OAAO,KAAK,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,oCAAoC,KAAK,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,WAAW,eAQtB;AAEF;;GAEG;AACI,MAAM,OAAO,GAAgB,CAAC,KAAU,EAAoB,EAAE;IACnE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,wBAAwB,OAAO,KAAK,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,yBAAyB,KAAK,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,OAAO,WAQlB;AAEF;;GAEG;AACI,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,OAAgB,EAAe,EAAE;IACtE,OAAO,CAAC,KAAU,EAAoB,EAAE;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,wBAAwB,OAAO,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,IAAI,wCAAwC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,OAAO,WAUlB;AAEF;;GAEG;AACU,QAAA,KAAK,GAAgB,IAAA,eAAO,EACvC,4BAA4B,EAC5B,8BAA8B,CAC/B,CAAC;AAEF;;GAEG;AACI,MAAM,GAAG,GAAgB,CAAC,KAAU,EAAoB,EAAE;IAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,wBAAwB,OAAO,KAAK,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,GAAG,OAUd;AAEF;;GAEG;AACU,QAAA,IAAI,GAAgB,IAAA,eAAO,EACtC,4EAA4E,EAC5E,qBAAqB,CACtB,CAAC;AAEF;;GAEG;AACI,MAAM,KAAK,GAAG,CAAI,aAAkB,EAAe,EAAE;IAC1D,OAAO,CAAC,KAAU,EAAoB,EAAE;QACtC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,yBAAyB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC;QAC3E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,KAAK,SAOhB;AAEF;;GAEG;AACI,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAe,EAAE;IACnD,OAAO,CAAC,KAAU,EAAoB,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,uBAAuB,OAAO,KAAK,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACvB,OAAO,4BAA4B,GAAG,eAAe,KAAK,CAAC,MAAM,EAAE,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB;AAEF;;GAEG;AACI,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAe,EAAE;IACnD,OAAO,CAAC,KAAU,EAAoB,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,uBAAuB,OAAO,KAAK,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACvB,OAAO,2BAA2B,GAAG,eAAe,KAAK,CAAC,MAAM,EAAE,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB;AAEF;;GAEG;AACI,MAAM,WAAW,GAAgB,CAAC,KAAU,EAAoB,EAAE;IACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,uBAAuB,OAAO,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,4BAA4B,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AATW,QAAA,WAAW,eAStB;AAEF;;GAEG;AACI,MAAM,IAAI,GAAG,CAAC,YAAoB,EAAe,EAAE;IACxD,OAAO,CAAC,KAAU,EAAoB,EAAE;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;QACjE,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAChC,OAAO,YAAY,YAAY,SAAS,UAAU,EAAE,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,IAAI,QAQf;AAEF;;GAEG;AACI,MAAM,aAAa,GAAG,CAAC,UAAoB,EAAe,EAAE;IACjE,OAAO,CAAC,KAAU,EAAoB,EAAE;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,OAAO,wBAAwB,OAAO,KAAK,EAAE,CAAC;QAChD,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,gCAAgC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,aAAa,iBAYxB;AAEF;;GAEG;AACI,MAAM,MAAM,GAAG,CACpB,WAAyE,EAC5D,EAAE;IACf,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAJW,QAAA,MAAM,UAIjB;AAEF;;GAEG;AACI,MAAM,GAAG,GAAG,CAAC,GAAG,UAAyB,EAAe,EAAE;IAC/D,OAAO,CAAC,KAAU,EAAE,OAA0B,EAAoB,EAAE;QAClE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACzC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,GAAG,OAUd;AAEF;;GAEG;AACI,MAAM,GAAG,GAAG,CAAC,GAAG,UAAyB,EAAe,EAAE;IAC/D,OAAO,CAAC,KAAU,EAAE,OAA0B,EAAoB,EAAE;QAClE,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACzC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO,2BAA2B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,GAAG,OAgBd;AAEF;;GAEG;AACI,MAAM,QAAQ,GAAG,CAAC,SAAsB,EAAe,EAAE;IAC9D,OAAO,CAAC,KAAU,EAAE,OAA0B,EAAoB,EAAE;QAClE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,QAAQ,YAOnB;AAEF;;GAEG;AACI,MAAM,IAAI,GAAG,CAClB,SAA8D,EAC9D,SAAsB,EACT,EAAE;IACf,OAAO,CAAC,KAAU,EAAE,OAA0B,EAAoB,EAAE;QAClE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,IAAI,QAUf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG3E,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.validatorRegistry = exports.ValidatorRegistry = void 0;
|
|
18
|
+
// Export built-in validators
|
|
19
|
+
__exportStar(require("./built-in"), exports);
|
|
20
|
+
// Export validator registry
|
|
21
|
+
var ValidatorRegistry_1 = require("./ValidatorRegistry");
|
|
22
|
+
Object.defineProperty(exports, "ValidatorRegistry", { enumerable: true, get: function () { return ValidatorRegistry_1.ValidatorRegistry; } });
|
|
23
|
+
Object.defineProperty(exports, "validatorRegistry", { enumerable: true, get: function () { return ValidatorRegistry_1.validatorRegistry; } });
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,6CAA2B;AAE3B,4BAA4B;AAC5B,yDAA2E;AAAlE,sHAAA,iBAAiB,OAAA;AAAE,sHAAA,iBAAiB,OAAA"}
|