reliant-type 2.1.4 → 2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -277,6 +277,15 @@ When a function defined in a schema is accessed, it is wrapped in a validation p
277
277
 
278
278
  This ensures strict contract adherence during execution.
279
279
 
280
+ ### Technical Limitations
281
+
282
+ Due to JavaScript's dynamic nature, some validation aspects are deferred:
283
+
284
+ - **Deferred Execution Validation**: `safeParse` verifies that the field is a function and checks its declared argument count (arity). However, it **cannot** validate the function's internal logic or return value without executing it.
285
+ - _Implication_: A function that returns an invalid type will pass `safeParse`, but will throw an error **when called**.
286
+ - **Side Effects**: To prevent unintended side effects (e.g., database writes), ReliantType never speculatively executes functions during validation.
287
+ - **Spread Operator Arity**: Functions using spread operators (`...args`) have a declared length of 0 in JavaScript. Therefore, ReliantType cannot enforce a minimum argument count at `safeParse` time for these functions; validation occurs strictly at runtime.
288
+
280
289
  ## Utility Functions
281
290
 
282
291
  Reliant Type provides powerful utility functions for advanced schema definition:
@@ -579,9 +579,45 @@ class FieldPrecompilers {
579
579
  }
580
580
  /**
581
581
  * Precompile function field types (fn(() => void), etc.)
582
- * ENHANCED: Implements function wrapping to validate arguments and return values at runtime.
582
+ * ENHANCED: Parses signature once at compilation time and enforces arity check at validation time.
583
583
  */
584
584
  static precompileFunction(functionType) {
585
+ // 1. Static Parsing (Done once)
586
+ const type = functionType.endsWith("?")
587
+ ? functionType.slice(0, -1)
588
+ : functionType;
589
+ const signature = type.slice(3, -1); // remove fn( and )
590
+ const arrowIndex = signature.lastIndexOf("=>");
591
+ let argDefs = [];
592
+ let returnPart = "any";
593
+ let minRequiredArgs = 0;
594
+ let hasRest = false;
595
+ if (arrowIndex !== -1) {
596
+ const argsPart = signature.slice(0, arrowIndex).trim();
597
+ returnPart = signature.slice(arrowIndex + 2).trim();
598
+ const cleanArgsPart = argsPart.startsWith("(") && argsPart.endsWith(")")
599
+ ? argsPart.slice(1, -1)
600
+ : argsPart;
601
+ if (cleanArgsPart && cleanArgsPart !== "()") {
602
+ argDefs = cleanArgsPart.split(",").map((s) => s.trim());
603
+ // Calculate minimum required arguments
604
+ for (const def of argDefs) {
605
+ const parts = def.split(":");
606
+ const namePart = parts[0].trim();
607
+ let typePart = parts.slice(1).join(":").trim() || "any";
608
+ if (typePart === "TYPE")
609
+ typePart = "any";
610
+ const isRest = namePart.startsWith("...");
611
+ const isOptional = namePart.endsWith("?") || typePart.endsWith("?");
612
+ if (isRest)
613
+ hasRest = true;
614
+ if (!isRest && !isOptional) {
615
+ minRequiredArgs++;
616
+ }
617
+ }
618
+ }
619
+ }
620
+ // 2. Validator (Runs on safeParse)
585
621
  const validator = (value) => {
586
622
  if (typeof value !== "function") {
587
623
  return {
@@ -591,65 +627,61 @@ class FieldPrecompilers {
591
627
  data: undefined,
592
628
  };
593
629
  }
594
- // Extract signature: fn((args) => returnType)
595
- const type = functionType.endsWith("?")
596
- ? functionType.slice(0, -1)
597
- : functionType;
598
- const signature = type.slice(3, -1); // remove fn( and )
599
- const arrowIndex = signature.lastIndexOf("=>");
600
- if (arrowIndex === -1) {
601
- return { success: true, errors: [], warnings: [], data: value };
630
+ // ARITY CHECK: Validate argument count immediately
631
+ // Note: value.length excludes rest parameters and default values
632
+ if (!hasRest && value.length < minRequiredArgs) {
633
+ return {
634
+ success: false,
635
+ errors: [
636
+ {
637
+ message: `Function signature mismatch. Expected at least ${minRequiredArgs} arguments, but received a function with ${value.length}.`,
638
+ path: [],
639
+ code: "INVALID_FUNCTION_ARITY",
640
+ expected: `${minRequiredArgs} arguments`,
641
+ received: `${value.length} arguments`,
642
+ receivedType: "function",
643
+ },
644
+ ],
645
+ warnings: [],
646
+ data: undefined,
647
+ };
602
648
  }
603
- const argsPart = signature.slice(0, arrowIndex).trim();
604
- const returnPart = signature.slice(arrowIndex + 2).trim();
605
- // Clean argsPart: remove outer parentheses if present
606
- const cleanArgsPart = argsPart.startsWith("(") && argsPart.endsWith(")")
607
- ? argsPart.slice(1, -1)
608
- : argsPart;
609
649
  // Create a wrapped function that validates on call
610
650
  const ReliantFunction = (...args) => {
611
651
  // 1. Validate Arguments
612
- if (cleanArgsPart && cleanArgsPart !== "()") {
613
- const argDefs = cleanArgsPart.split(",").map((s) => s.trim());
614
- for (let i = 0; i < argDefs.length; i++) {
615
- const def = argDefs[i];
616
- // Parse definition: name?: type or ...name: type
617
- const parts = def.split(":");
618
- const namePart = parts[0].trim();
619
- let typePart = parts.slice(1).join(":").trim() || "any";
620
- // Handle TYPE placeholder as any
621
- if (typePart === "TYPE")
622
- typePart = "any";
623
- const isRest = namePart.startsWith("...");
624
- const isOptional = namePart.endsWith("?") || typePart.endsWith("?");
625
- // Check for missing required arguments
626
- // We check if the index exists in args. explicitly passing undefined is allowed if the type allows it,
627
- // but not passing it at all is a missing argument error for required params.
628
- if (!isRest && !isOptional && i >= args.length) {
629
- throw new Error(`[ReliantType] Missing required argument at index ${i} ('${namePart}'). Expected ${typePart}.`);
630
- }
631
- if (isRest) {
632
- const restType = typePart.endsWith("[]")
633
- ? typePart.slice(0, -2)
634
- : typePart;
635
- const restArgs = args.slice(i);
636
- const restValidator = FieldPrecompilers.parseAndCompile(restType);
637
- for (const restArg of restArgs) {
638
- const res = restValidator(restArg);
639
- if (!res.success) {
640
- throw new Error(`[ReliantType] Argument validation failed for rest parameter at index ${i}: ${res.errors[0].message}`);
641
- }
652
+ for (let i = 0; i < argDefs.length; i++) {
653
+ const def = argDefs[i];
654
+ const parts = def.split(":");
655
+ const namePart = parts[0].trim();
656
+ let typePart = parts.slice(1).join(":").trim() || "any";
657
+ if (typePart === "TYPE")
658
+ typePart = "any";
659
+ const isRest = namePart.startsWith("...");
660
+ const isOptional = namePart.endsWith("?") || typePart.endsWith("?");
661
+ // Check for missing required arguments
662
+ if (!isRest && !isOptional && i >= args.length) {
663
+ throw new Error(`[ReliantType] Missing required argument at index ${i} ('${namePart}'). Expected ${typePart}.`);
664
+ }
665
+ if (isRest) {
666
+ const restType = typePart.endsWith("[]")
667
+ ? typePart.slice(0, -2)
668
+ : typePart;
669
+ const restArgs = args.slice(i);
670
+ const restValidator = FieldPrecompilers.parseAndCompile(restType);
671
+ for (const restArg of restArgs) {
672
+ const res = restValidator(restArg);
673
+ if (!res.success) {
674
+ throw new Error(`[ReliantType] Argument validation failed for rest parameter at index ${i}: ${res.errors[0].message}`);
642
675
  }
643
- break; // Rest is always last
644
676
  }
645
- else {
646
- // If argument is provided (or undefined but present), validate it
647
- if (i < args.length) {
648
- const argValidator = FieldPrecompilers.parseAndCompile(typePart);
649
- const res = argValidator(args[i]);
650
- if (!res.success) {
651
- throw new Error(`[ReliantType] Argument validation failed for argument at index ${i} ('${namePart}'): ${res.errors[0].message}`);
652
- }
677
+ break;
678
+ }
679
+ else {
680
+ if (i < args.length) {
681
+ const argValidator = FieldPrecompilers.parseAndCompile(typePart);
682
+ const res = argValidator(args[i]);
683
+ if (!res.success) {
684
+ throw new Error(`[ReliantType] Argument validation failed for argument at index ${i} ('${namePart}'): ${res.errors[0].message}`);
653
685
  }
654
686
  }
655
687
  }
@@ -658,7 +690,6 @@ class FieldPrecompilers {
658
690
  const result = value(...args);
659
691
  // 3. Validate Return Value
660
692
  if (returnPart && returnPart !== "void") {
661
- // Handle TYPE placeholder as any
662
693
  const returnType = returnPart === "TYPE" ? "any" : returnPart;
663
694
  if (returnType !== "any") {
664
695
  const returnValidator = FieldPrecompilers.parseAndCompile(returnType);
@@ -1 +1 @@
1
- {"version":3,"file":"FieldPrecompilers.js","sources":["../../../../../../../src/core/schema/mode/interfaces/precompilation/FieldPrecompilers.ts"],"sourcesContent":[null],"names":["ValidationHelpers","ErrorHandler","ErrorCode","ConstraintParser"],"mappings":"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"}
1
+ {"version":3,"file":"FieldPrecompilers.js","sources":["../../../../../../../src/core/schema/mode/interfaces/precompilation/FieldPrecompilers.ts"],"sourcesContent":[null],"names":["ValidationHelpers","ErrorHandler","ErrorCode","ConstraintParser"],"mappings":"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"}
@@ -577,9 +577,45 @@ class FieldPrecompilers {
577
577
  }
578
578
  /**
579
579
  * Precompile function field types (fn(() => void), etc.)
580
- * ENHANCED: Implements function wrapping to validate arguments and return values at runtime.
580
+ * ENHANCED: Parses signature once at compilation time and enforces arity check at validation time.
581
581
  */
582
582
  static precompileFunction(functionType) {
583
+ // 1. Static Parsing (Done once)
584
+ const type = functionType.endsWith("?")
585
+ ? functionType.slice(0, -1)
586
+ : functionType;
587
+ const signature = type.slice(3, -1); // remove fn( and )
588
+ const arrowIndex = signature.lastIndexOf("=>");
589
+ let argDefs = [];
590
+ let returnPart = "any";
591
+ let minRequiredArgs = 0;
592
+ let hasRest = false;
593
+ if (arrowIndex !== -1) {
594
+ const argsPart = signature.slice(0, arrowIndex).trim();
595
+ returnPart = signature.slice(arrowIndex + 2).trim();
596
+ const cleanArgsPart = argsPart.startsWith("(") && argsPart.endsWith(")")
597
+ ? argsPart.slice(1, -1)
598
+ : argsPart;
599
+ if (cleanArgsPart && cleanArgsPart !== "()") {
600
+ argDefs = cleanArgsPart.split(",").map((s) => s.trim());
601
+ // Calculate minimum required arguments
602
+ for (const def of argDefs) {
603
+ const parts = def.split(":");
604
+ const namePart = parts[0].trim();
605
+ let typePart = parts.slice(1).join(":").trim() || "any";
606
+ if (typePart === "TYPE")
607
+ typePart = "any";
608
+ const isRest = namePart.startsWith("...");
609
+ const isOptional = namePart.endsWith("?") || typePart.endsWith("?");
610
+ if (isRest)
611
+ hasRest = true;
612
+ if (!isRest && !isOptional) {
613
+ minRequiredArgs++;
614
+ }
615
+ }
616
+ }
617
+ }
618
+ // 2. Validator (Runs on safeParse)
583
619
  const validator = (value) => {
584
620
  if (typeof value !== "function") {
585
621
  return {
@@ -589,65 +625,61 @@ class FieldPrecompilers {
589
625
  data: undefined,
590
626
  };
591
627
  }
592
- // Extract signature: fn((args) => returnType)
593
- const type = functionType.endsWith("?")
594
- ? functionType.slice(0, -1)
595
- : functionType;
596
- const signature = type.slice(3, -1); // remove fn( and )
597
- const arrowIndex = signature.lastIndexOf("=>");
598
- if (arrowIndex === -1) {
599
- return { success: true, errors: [], warnings: [], data: value };
628
+ // ARITY CHECK: Validate argument count immediately
629
+ // Note: value.length excludes rest parameters and default values
630
+ if (!hasRest && value.length < minRequiredArgs) {
631
+ return {
632
+ success: false,
633
+ errors: [
634
+ {
635
+ message: `Function signature mismatch. Expected at least ${minRequiredArgs} arguments, but received a function with ${value.length}.`,
636
+ path: [],
637
+ code: "INVALID_FUNCTION_ARITY",
638
+ expected: `${minRequiredArgs} arguments`,
639
+ received: `${value.length} arguments`,
640
+ receivedType: "function",
641
+ },
642
+ ],
643
+ warnings: [],
644
+ data: undefined,
645
+ };
600
646
  }
601
- const argsPart = signature.slice(0, arrowIndex).trim();
602
- const returnPart = signature.slice(arrowIndex + 2).trim();
603
- // Clean argsPart: remove outer parentheses if present
604
- const cleanArgsPart = argsPart.startsWith("(") && argsPart.endsWith(")")
605
- ? argsPart.slice(1, -1)
606
- : argsPart;
607
647
  // Create a wrapped function that validates on call
608
648
  const ReliantFunction = (...args) => {
609
649
  // 1. Validate Arguments
610
- if (cleanArgsPart && cleanArgsPart !== "()") {
611
- const argDefs = cleanArgsPart.split(",").map((s) => s.trim());
612
- for (let i = 0; i < argDefs.length; i++) {
613
- const def = argDefs[i];
614
- // Parse definition: name?: type or ...name: type
615
- const parts = def.split(":");
616
- const namePart = parts[0].trim();
617
- let typePart = parts.slice(1).join(":").trim() || "any";
618
- // Handle TYPE placeholder as any
619
- if (typePart === "TYPE")
620
- typePart = "any";
621
- const isRest = namePart.startsWith("...");
622
- const isOptional = namePart.endsWith("?") || typePart.endsWith("?");
623
- // Check for missing required arguments
624
- // We check if the index exists in args. explicitly passing undefined is allowed if the type allows it,
625
- // but not passing it at all is a missing argument error for required params.
626
- if (!isRest && !isOptional && i >= args.length) {
627
- throw new Error(`[ReliantType] Missing required argument at index ${i} ('${namePart}'). Expected ${typePart}.`);
628
- }
629
- if (isRest) {
630
- const restType = typePart.endsWith("[]")
631
- ? typePart.slice(0, -2)
632
- : typePart;
633
- const restArgs = args.slice(i);
634
- const restValidator = FieldPrecompilers.parseAndCompile(restType);
635
- for (const restArg of restArgs) {
636
- const res = restValidator(restArg);
637
- if (!res.success) {
638
- throw new Error(`[ReliantType] Argument validation failed for rest parameter at index ${i}: ${res.errors[0].message}`);
639
- }
650
+ for (let i = 0; i < argDefs.length; i++) {
651
+ const def = argDefs[i];
652
+ const parts = def.split(":");
653
+ const namePart = parts[0].trim();
654
+ let typePart = parts.slice(1).join(":").trim() || "any";
655
+ if (typePart === "TYPE")
656
+ typePart = "any";
657
+ const isRest = namePart.startsWith("...");
658
+ const isOptional = namePart.endsWith("?") || typePart.endsWith("?");
659
+ // Check for missing required arguments
660
+ if (!isRest && !isOptional && i >= args.length) {
661
+ throw new Error(`[ReliantType] Missing required argument at index ${i} ('${namePart}'). Expected ${typePart}.`);
662
+ }
663
+ if (isRest) {
664
+ const restType = typePart.endsWith("[]")
665
+ ? typePart.slice(0, -2)
666
+ : typePart;
667
+ const restArgs = args.slice(i);
668
+ const restValidator = FieldPrecompilers.parseAndCompile(restType);
669
+ for (const restArg of restArgs) {
670
+ const res = restValidator(restArg);
671
+ if (!res.success) {
672
+ throw new Error(`[ReliantType] Argument validation failed for rest parameter at index ${i}: ${res.errors[0].message}`);
640
673
  }
641
- break; // Rest is always last
642
674
  }
643
- else {
644
- // If argument is provided (or undefined but present), validate it
645
- if (i < args.length) {
646
- const argValidator = FieldPrecompilers.parseAndCompile(typePart);
647
- const res = argValidator(args[i]);
648
- if (!res.success) {
649
- throw new Error(`[ReliantType] Argument validation failed for argument at index ${i} ('${namePart}'): ${res.errors[0].message}`);
650
- }
675
+ break;
676
+ }
677
+ else {
678
+ if (i < args.length) {
679
+ const argValidator = FieldPrecompilers.parseAndCompile(typePart);
680
+ const res = argValidator(args[i]);
681
+ if (!res.success) {
682
+ throw new Error(`[ReliantType] Argument validation failed for argument at index ${i} ('${namePart}'): ${res.errors[0].message}`);
651
683
  }
652
684
  }
653
685
  }
@@ -656,7 +688,6 @@ class FieldPrecompilers {
656
688
  const result = value(...args);
657
689
  // 3. Validate Return Value
658
690
  if (returnPart && returnPart !== "void") {
659
- // Handle TYPE placeholder as any
660
691
  const returnType = returnPart === "TYPE" ? "any" : returnPart;
661
692
  if (returnType !== "any") {
662
693
  const returnValidator = FieldPrecompilers.parseAndCompile(returnType);
@@ -1 +1 @@
1
- {"version":3,"file":"FieldPrecompilers.js","sources":["../../../../../../../src/core/schema/mode/interfaces/precompilation/FieldPrecompilers.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FieldPrecompilers.js","sources":["../../../../../../../src/core/schema/mode/interfaces/precompilation/FieldPrecompilers.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reliant-type",
3
- "version": "2.1.4",
3
+ "version": "2.1.5",
4
4
  "description": "A modern TypeScript validation library designed around familiar interface syntax and powerful conditional validation. Experience schema validation that feels natural to TypeScript developers while unlocking advanced runtime validation capabilities.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -705,9 +705,52 @@ export class FieldPrecompilers {
705
705
 
706
706
  /**
707
707
  * Precompile function field types (fn(() => void), etc.)
708
- * ENHANCED: Implements function wrapping to validate arguments and return values at runtime.
708
+ * ENHANCED: Parses signature once at compilation time and enforces arity check at validation time.
709
709
  */
710
710
  static precompileFunction(functionType: string): CompiledFieldValidator {
711
+ // 1. Static Parsing (Done once)
712
+ const type = functionType.endsWith("?")
713
+ ? functionType.slice(0, -1)
714
+ : functionType;
715
+ const signature = type.slice(3, -1); // remove fn( and )
716
+ const arrowIndex = signature.lastIndexOf("=>");
717
+
718
+ let argDefs: string[] = [];
719
+ let returnPart = "any";
720
+ let minRequiredArgs = 0;
721
+ let hasRest = false;
722
+
723
+ if (arrowIndex !== -1) {
724
+ const argsPart = signature.slice(0, arrowIndex).trim();
725
+ returnPart = signature.slice(arrowIndex + 2).trim();
726
+
727
+ const cleanArgsPart =
728
+ argsPart.startsWith("(") && argsPart.endsWith(")")
729
+ ? argsPart.slice(1, -1)
730
+ : argsPart;
731
+
732
+ if (cleanArgsPart && cleanArgsPart !== "()") {
733
+ argDefs = cleanArgsPart.split(",").map((s) => s.trim());
734
+
735
+ // Calculate minimum required arguments
736
+ for (const def of argDefs) {
737
+ const parts = def.split(":");
738
+ const namePart = parts[0].trim();
739
+ let typePart = parts.slice(1).join(":").trim() || "any";
740
+ if (typePart === "TYPE") typePart = "any";
741
+
742
+ const isRest = namePart.startsWith("...");
743
+ const isOptional = namePart.endsWith("?") || typePart.endsWith("?");
744
+
745
+ if (isRest) hasRest = true;
746
+ if (!isRest && !isOptional) {
747
+ minRequiredArgs++;
748
+ }
749
+ }
750
+ }
751
+ }
752
+
753
+ // 2. Validator (Runs on safeParse)
711
754
  const validator = (value: any): SchemaValidationResult => {
712
755
  if (typeof value !== "function") {
713
756
  return {
@@ -718,80 +761,69 @@ export class FieldPrecompilers {
718
761
  };
719
762
  }
720
763
 
721
- // Extract signature: fn((args) => returnType)
722
- const type = functionType.endsWith("?")
723
- ? functionType.slice(0, -1)
724
- : functionType;
725
- const signature = type.slice(3, -1); // remove fn( and )
726
-
727
- const arrowIndex = signature.lastIndexOf("=>");
728
- if (arrowIndex === -1) {
729
- return { success: true, errors: [], warnings: [], data: value };
764
+ // ARITY CHECK: Validate argument count immediately
765
+ // Note: value.length excludes rest parameters and default values
766
+ if (!hasRest && value.length < minRequiredArgs) {
767
+ return {
768
+ success: false,
769
+ errors: [
770
+ {
771
+ message: `Function signature mismatch. Expected at least ${minRequiredArgs} arguments, but received a function with ${value.length}.`,
772
+ path: [],
773
+ code: "INVALID_FUNCTION_ARITY",
774
+ expected: `${minRequiredArgs} arguments`,
775
+ received: `${value.length} arguments`,
776
+ receivedType: "function",
777
+ },
778
+ ],
779
+ warnings: [],
780
+ data: undefined,
781
+ };
730
782
  }
731
783
 
732
- const argsPart = signature.slice(0, arrowIndex).trim();
733
- const returnPart = signature.slice(arrowIndex + 2).trim();
734
-
735
- // Clean argsPart: remove outer parentheses if present
736
- const cleanArgsPart =
737
- argsPart.startsWith("(") && argsPart.endsWith(")")
738
- ? argsPart.slice(1, -1)
739
- : argsPart;
740
-
741
784
  // Create a wrapped function that validates on call
742
785
  const ReliantFunction = (...args: any[]) => {
743
786
  // 1. Validate Arguments
744
- if (cleanArgsPart && cleanArgsPart !== "()") {
745
- const argDefs = cleanArgsPart.split(",").map((s) => s.trim());
746
-
747
- for (let i = 0; i < argDefs.length; i++) {
748
- const def = argDefs[i];
749
- // Parse definition: name?: type or ...name: type
750
- const parts = def.split(":");
751
- const namePart = parts[0].trim();
752
- let typePart = parts.slice(1).join(":").trim() || "any";
753
-
754
- // Handle TYPE placeholder as any
755
- if (typePart === "TYPE") typePart = "any";
756
-
757
- const isRest = namePart.startsWith("...");
758
- const isOptional = namePart.endsWith("?") || typePart.endsWith("?");
759
-
760
- // Check for missing required arguments
761
- // We check if the index exists in args. explicitly passing undefined is allowed if the type allows it,
762
- // but not passing it at all is a missing argument error for required params.
763
- if (!isRest && !isOptional && i >= args.length) {
764
- throw new Error(
765
- `[ReliantType] Missing required argument at index ${i} ('${namePart}'). Expected ${typePart}.`
766
- );
767
- }
787
+ for (let i = 0; i < argDefs.length; i++) {
788
+ const def = argDefs[i];
789
+ const parts = def.split(":");
790
+ const namePart = parts[0].trim();
791
+ let typePart = parts.slice(1).join(":").trim() || "any";
792
+ if (typePart === "TYPE") typePart = "any";
793
+
794
+ const isRest = namePart.startsWith("...");
795
+ const isOptional = namePart.endsWith("?") || typePart.endsWith("?");
796
+
797
+ // Check for missing required arguments
798
+ if (!isRest && !isOptional && i >= args.length) {
799
+ throw new Error(
800
+ `[ReliantType] Missing required argument at index ${i} ('${namePart}'). Expected ${typePart}.`
801
+ );
802
+ }
768
803
 
769
- if (isRest) {
770
- const restType = typePart.endsWith("[]")
771
- ? typePart.slice(0, -2)
772
- : typePart;
773
- const restArgs = args.slice(i);
774
- const restValidator = FieldPrecompilers.parseAndCompile(restType);
775
- for (const restArg of restArgs) {
776
- const res = restValidator(restArg);
777
- if (!res.success) {
778
- throw new Error(
779
- `[ReliantType] Argument validation failed for rest parameter at index ${i}: ${res.errors[0].message}`
780
- );
781
- }
804
+ if (isRest) {
805
+ const restType = typePart.endsWith("[]")
806
+ ? typePart.slice(0, -2)
807
+ : typePart;
808
+ const restArgs = args.slice(i);
809
+ const restValidator = FieldPrecompilers.parseAndCompile(restType);
810
+ for (const restArg of restArgs) {
811
+ const res = restValidator(restArg);
812
+ if (!res.success) {
813
+ throw new Error(
814
+ `[ReliantType] Argument validation failed for rest parameter at index ${i}: ${res.errors[0].message}`
815
+ );
782
816
  }
783
- break; // Rest is always last
784
- } else {
785
- // If argument is provided (or undefined but present), validate it
786
- if (i < args.length) {
787
- const argValidator =
788
- FieldPrecompilers.parseAndCompile(typePart);
789
- const res = argValidator(args[i]);
790
- if (!res.success) {
791
- throw new Error(
792
- `[ReliantType] Argument validation failed for argument at index ${i} ('${namePart}'): ${res.errors[0].message}`
793
- );
794
- }
817
+ }
818
+ break;
819
+ } else {
820
+ if (i < args.length) {
821
+ const argValidator = FieldPrecompilers.parseAndCompile(typePart);
822
+ const res = argValidator(args[i]);
823
+ if (!res.success) {
824
+ throw new Error(
825
+ `[ReliantType] Argument validation failed for argument at index ${i} ('${namePart}'): ${res.errors[0].message}`
826
+ );
795
827
  }
796
828
  }
797
829
  }
@@ -802,9 +834,7 @@ export class FieldPrecompilers {
802
834
 
803
835
  // 3. Validate Return Value
804
836
  if (returnPart && returnPart !== "void") {
805
- // Handle TYPE placeholder as any
806
837
  const returnType = returnPart === "TYPE" ? "any" : returnPart;
807
-
808
838
  if (returnType !== "any") {
809
839
  const returnValidator =
810
840
  FieldPrecompilers.parseAndCompile(returnType);
@@ -816,7 +846,6 @@ export class FieldPrecompilers {
816
846
  }
817
847
  }
818
848
  }
819
-
820
849
  return result;
821
850
  };
822
851