Skip to content

Commit 32ff15f

Browse files
Numeric values now accept both int and float (#34)
Closes #32
1 parent 58e6018 commit 32ff15f

1 file changed

Lines changed: 60 additions & 15 deletions

File tree

src/Objects/Schema.php

Lines changed: 60 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
* @property string|null $pattern
2323
* @property int|null $maxLength
2424
* @property int|null $minLength
25-
* @property int|null $maximum
26-
* @property int|null $exclusiveMaximum
27-
* @property int|null $minimum
28-
* @property int|null $exclusiveMinimum
29-
* @property int|null $multipleOf
25+
* @property int|float|null $maximum
26+
* @property int|float|null $exclusiveMaximum
27+
* @property int|float|null $minimum
28+
* @property int|float|null $exclusiveMinimum
29+
* @property int|float|null $multipleOf
3030
* @property string[]|null $required
3131
* @property \GoldSpecDigital\ObjectOrientedOAS\Objects\Schema[]|null $properties
3232
* @property \GoldSpecDigital\ObjectOrientedOAS\Objects\Schema|null $additionalProperties
@@ -440,11 +440,20 @@ public function minLength(?int $minLength): self
440440
}
441441

442442
/**
443-
* @param int|null $maximum
443+
* @param int|float|null $maximum
444+
* @throws \GoldSpecDigital\ObjectOrientedOAS\Exceptions\InvalidArgumentException
444445
* @return \GoldSpecDigital\ObjectOrientedOAS\Objects\Schema
445446
*/
446-
public function maximum(?int $maximum): self
447+
public function maximum($maximum): self
447448
{
449+
if (
450+
!is_int($maximum)
451+
&& !is_float($maximum)
452+
&& !is_null($maximum)
453+
) {
454+
throw new InvalidArgumentException();
455+
}
456+
448457
$instance = clone $this;
449458

450459
$instance->maximum = $maximum;
@@ -453,11 +462,20 @@ public function maximum(?int $maximum): self
453462
}
454463

455464
/**
456-
* @param int|null $exclusiveMaximum
465+
* @param int|float|null $exclusiveMaximum
466+
* @throws \GoldSpecDigital\ObjectOrientedOAS\Exceptions\InvalidArgumentException
457467
* @return \GoldSpecDigital\ObjectOrientedOAS\Objects\Schema
458468
*/
459-
public function exclusiveMaximum(?int $exclusiveMaximum): self
469+
public function exclusiveMaximum($exclusiveMaximum): self
460470
{
471+
if (
472+
!is_int($exclusiveMaximum)
473+
&& !is_float($exclusiveMaximum)
474+
&& !is_null($exclusiveMaximum)
475+
) {
476+
throw new InvalidArgumentException();
477+
}
478+
461479
$instance = clone $this;
462480

463481
$instance->exclusiveMaximum = $exclusiveMaximum;
@@ -466,11 +484,20 @@ public function exclusiveMaximum(?int $exclusiveMaximum): self
466484
}
467485

468486
/**
469-
* @param int|null $minimum
487+
* @param int|float|null $minimum
488+
* @throws \GoldSpecDigital\ObjectOrientedOAS\Exceptions\InvalidArgumentException
470489
* @return \GoldSpecDigital\ObjectOrientedOAS\Objects\Schema
471490
*/
472-
public function minimum(?int $minimum): self
491+
public function minimum($minimum): self
473492
{
493+
if (
494+
!is_int($minimum)
495+
&& !is_float($minimum)
496+
&& !is_null($minimum)
497+
) {
498+
throw new InvalidArgumentException();
499+
}
500+
474501
$instance = clone $this;
475502

476503
$instance->minimum = $minimum;
@@ -479,11 +506,20 @@ public function minimum(?int $minimum): self
479506
}
480507

481508
/**
482-
* @param int|null $exclusiveMinimum
509+
* @param int|float|null $exclusiveMinimum
510+
* @throws \GoldSpecDigital\ObjectOrientedOAS\Exceptions\InvalidArgumentException
483511
* @return \GoldSpecDigital\ObjectOrientedOAS\Objects\Schema
484512
*/
485-
public function exclusiveMinimum(?int $exclusiveMinimum): self
513+
public function exclusiveMinimum($exclusiveMinimum): self
486514
{
515+
if (
516+
!is_int($exclusiveMinimum)
517+
&& !is_float($exclusiveMinimum)
518+
&& !is_null($exclusiveMinimum)
519+
) {
520+
throw new InvalidArgumentException();
521+
}
522+
487523
$instance = clone $this;
488524

489525
$instance->exclusiveMinimum = $exclusiveMinimum;
@@ -492,11 +528,20 @@ public function exclusiveMinimum(?int $exclusiveMinimum): self
492528
}
493529

494530
/**
495-
* @param int|null $multipleOf
531+
* @param int|float|null $multipleOf
532+
* @throws \GoldSpecDigital\ObjectOrientedOAS\Exceptions\InvalidArgumentException
496533
* @return \GoldSpecDigital\ObjectOrientedOAS\Objects\Schema
497534
*/
498-
public function multipleOf(?int $multipleOf): self
535+
public function multipleOf($multipleOf): self
499536
{
537+
if (
538+
!is_int($multipleOf)
539+
&& !is_float($multipleOf)
540+
&& !is_null($multipleOf)
541+
) {
542+
throw new InvalidArgumentException();
543+
}
544+
500545
$instance = clone $this;
501546

502547
$instance->multipleOf = $multipleOf;

0 commit comments

Comments
 (0)