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 CHANGED
@@ -132,7 +132,34 @@ const converter = forge()
132
132
  })
133
133
  ```
134
134
 
135
- ### 7. Convert Data
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
- // Citizens NPC configuration
270
- const citizensData = {
271
- 'last-created-npc-id': 2,
272
- npc: [
296
+ // Simple fruit inventory
297
+ const fruitData = {
298
+ storeId: 'STORE-001',
299
+ fruits: [
273
300
  {
274
- name: 'Guard',
275
- uuid: '9e1d174d-bc6c-495e-bd70-17e60327b716',
276
- traits: {
277
- location: { x: 0.5, y: 98.0, z: -22.5 },
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: 'Merchant',
284
- uuid: 'fb0d6308-de11-4d3a-8c16-97338747c26f',
285
- traits: {
286
- location: { x: 33.5, y: 99.0, z: -31.5 },
287
- skintrait: { skinName: 'FrostAMC' },
288
- commandtrait: { commands: [{ command: 'knightrank' }] },
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('citizens')
296
- .to('fancynpcs')
297
- .map('last-created-npc-id', 'lastId')
298
- .forEach('npc', (npc, index) => {
322
+ .from('inventory')
323
+ .to('catalog')
324
+ .map('storeId', 'storeId')
325
+ .forEach('fruits', (fruit, index) => {
299
326
  return {
300
- id: npc.uuid,
301
- name: npc.name || `NPC_${index}`,
302
- location: {
303
- x: npc.traits?.location?.x,
304
- y: npc.traits?.location?.y,
305
- z: npc.traits?.location?.z,
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(citizensData);
337
+ const result = await converter.convert(fruitData);
314
338
  console.log(result.data);
315
339
  // {
316
- // lastId: 2,
317
- // npc: [
340
+ // storeId: 'STORE-001',
341
+ // fruits: [
318
342
  // {
319
- // id: '9e1d174d-bc6c-495e-bd70-17e60327b716',
320
- // name: 'Guard',
321
- // location: { x: 0.5, y: 98.0, z: -22.5 },
322
- // skin: 'Nik_187t',
323
- // commands: ['warp plots']
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: 'fb0d6308-de11-4d3a-8c16-97338747c26f',
327
- // name: 'Merchant',
328
- // location: { x: 33.5, y: 99.0, z: -31.5 },
329
- // skin: 'FrostAMC',
330
- // commands: ['knightrank']
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 NPC types need different mappings
340
- const npcConfig = {
341
- npc: {
342
- type: 'PLAYER',
343
- name: 'Guard',
344
- uuid: '9e1d174d-bc6c-495e-bd70-17e60327b716',
345
- traits: {
346
- skintrait: { skinName: 'Steve' },
347
- commandtrait: { commands: ['warp spawn', 'heal'] },
348
- equipment: { helmet: 'diamond_helmet' },
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('citizens')
355
- .to('fancynpcs')
356
- .map('npc.name', 'name')
357
- .map('npc.uuid', 'id')
358
-
359
- // Only map skin for PLAYER NPCs
360
- .when(source => source.npc?.type === 'PLAYER')
361
- .map('npc.traits.skintrait.skinName', 'skin')
362
- .map('npc.traits.commandtrait.commands', 'commands')
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 profession for VILLAGER NPCs
366
- .when(source => source.npc?.type === 'VILLAGER')
367
- .map('npc.traits.profession', 'profession')
368
- .map('npc.traits.trades', 'trades')
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
- // String condition - only if field exists
372
- .when('npc.traits.equipment')
373
- .map('npc.traits.equipment', 'equipment')
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(npcConfig);
412
+ const result = await converter.convert(petData);
377
413
  console.log(result.data);
378
414
  // {
379
- // name: 'Guard',
380
- // id: '9e1d174d-bc6c-495e-bd70-17e60327b716',
381
- // skin: 'Steve',
382
- // commands: ['warp spawn', 'heal'],
383
- // equipment: { helmet: 'diamond_helmet' }
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
- // E-commerce order processing
391
- const orderData = {
392
- customer: {
393
- firstName: 'John',
394
- lastName: 'Doe',
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
- order: {
398
- basePrice: 100.0,
399
- tax: 8.5,
400
- shipping: 12.99,
401
- discount: 15.0,
432
+ grades: {
433
+ math: 85,
434
+ english: 92,
435
+ science: 78,
402
436
  },
403
- items: ['laptop', 'mouse', 'keyboard'],
404
- metadata: {
405
- orderDate: '2023-12-01',
406
- source: 'web',
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('order')
412
- .to('invoice')
445
+ .from('report')
446
+ .to('summary')
413
447
 
414
- // Merge customer name fields
448
+ // Merge student name fields
415
449
  .merge(
416
- ['customer.firstName', 'customer.lastName'],
417
- 'customerName',
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: File Conversion
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()`** ⭐ NEW!
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.type === 'PLAYER')`
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. **Always call `.end()`** after conditional mappings to return to the main converter
523
- 8. **Check `result.unmapped`** to see which fields weren't mapped
524
- 9. **Use `result.print()`** for a nice conversion report
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
 
@@ -10,6 +10,7 @@ export declare class Converter<TSource = any, TTarget = any> {
10
10
  private validators;
11
11
  private hooks;
12
12
  private options;
13
+ private sourceData?;
13
14
  constructor(options?: ForgeOptions);
14
15
  /**
15
16
  * Define the source schema
@@ -1 +1 @@
1
- {"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
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,EAMV,MAAM,UAAU,CAAC;AAOlB;;GAEG;AACH,qBAAa,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IACjD,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,KAAK,CAGX;IACF,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAM;gBAEb,OAAO,GAAE,YAAiB;IAYtC;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAc3D;;OAEG;IACH,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAczD;;OAEG;IACH,GAAG,CACD,MAAM,EAAE,MAAM,OAAO,GAAG,MAAM,EAC9B,MAAM,EAAE,MAAM,OAAO,GAAG,MAAM,EAC9B,SAAS,CAAC,EAAE,WAAW,GACtB,IAAI;IAaP;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAK3C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI;IAKrD;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB;;OAEG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKvB;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,iBAAiB;IAIxD;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAe/C;;OAEG;IACH,KAAK,CACH,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,WAAW,GACtB,IAAI;IAiBP;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuD5E;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB;IAiC7C;;OAEG;YACW,YAAY;IAU1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuGzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;IACH,OAAO,CAAC,cAAc;IAmCtB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,OAAO;IAqBf;;OAEG;IACH,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC;;OAEG;IACH,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC;;OAEG;IACH,WAAW,IAAI,OAAO,EAAE;IAIxB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIlC;;OAEG;IACH,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAIzC;;OAEG;IACH,QAAQ,IAAI;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE;IAOjD;;OAEG;IACH,UAAU,IAAI,YAAY;CAG3B;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;gBADT,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,GAAG,WAAW;IAGzC;;OAEG;IACH,GAAG,CACD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,WAAW,GACtB,iBAAiB;IAiBpB;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,iBAAiB;IAIxD;;OAEG;IACH,GAAG,IAAI,SAAS;IAIhB;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIpD;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,gBAAgB;CAG1C"}
@@ -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.GenericConfigForgeError(typeof result === 'string'
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.GenericConfigForgeError(`Validation error for field ${field}: ${error instanceof Error ? error.message : 'Unknown error'}`, { path: field }));
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":"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"}
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
@@ -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;AAEtD,cAAc,SAAS,CAAC;AAMxB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,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
- // export * as validators from './validators/built-in'; // TODO: Implement validators module
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,4FAA4F;AAC5F,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"}
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":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './built-in';
2
+ export { ValidatorRegistry, validatorRegistry } from './ValidatorRegistry';
3
+ export type { Validator, ValidatorFn, ValidationContext } from '../types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "configforge",
3
- "version": "1.0.0-beta.6",
3
+ "version": "1.0.0-beta.7",
4
4
  "description": "Universal config converter framework with exceptional developer experience",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",