parameter — это библиотека parameter -argument, которая предоставляет дополнительную функциональность с правилами проверки и самоанализом схемы.
parameter доступен через Packagist, а источник репозитория находится по адресу chevere/ parameter .
composer require chevere/ parameter parameter позволяет создавать динамические parameter любого типа с дополнительными правилами.
Например, целое число с минимальным значением 10.
use function Chevere parameter int ;
$ int = int (min: 10 );
$ int ( $ var ); // exception if $var < 10В parameter функции или метода вы можете использовать атрибуты для определения правил проверки parameter и возвращаемого значения.
use Chevere parameter Attributes FloatAttr ;
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes ReturnAttr ;
use function Chevere parameter returnAttr ;
use function Chevere parameter validated ;
#[ReturnAttr(
new FloatAttr (min: 0 , max: 2400 )
)]
function wageWeekWA (
#[IntAttr(min: 1628 )]
int $ cents ,
#[FloatAttr(min: 0 , max: 40 )]
float $ hours
) {
return $ cents * $ hours / 100 ;
}
validated ( ' wageWeekWA ' , $ cents , $ hours ); Проверка может быть запущена с использованием validated (пример выше), встроенной и/или делегированной оболочке вызывающего объекта. parameter предоставляет помощники для доступа к правилам как для parameter , так и для возвращаемого значения, чтобы упростить процесс подключения.
Правила, определенные каждым parameter предоставляют удобочитаемую схему, которая позволяет отображать критерии проверки.
parameter предоставляет API, который можно использовать для создания parameter с использованием функций и/или атрибутов. Объекты parameter можно использовать непосредственно в логике, тогда как атрибуты требуют шага чтения.
Используйте встроенную проверку, чтобы перейти к следующему:
if ( $ var > 10 || $ var < 1 ) {
throw new InvalidArgumentException ();
}На это:
use function Chevere parameter int ;
int (min: 1 , max: 10 )( $ var );Используйте атрибуты, чтобы определить правила для parameter и возвращаемого значения.
Используйте делегированную проверку атрибутов с помощью функции validated() чтобы перейти к следующему:
function myFunction ( int $ var ): string
{
if ( $ var > 10 || $ var < 1 ) {
throw new InvalidArgumentException ();
}
$ return = ' done ok ' ;
return preg_match ( ' /ok$/ ' , $ return )
? $ return
: throw new InvalidArgumentException ();
}
$ result = myFunction ( $ var );На это:
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes ReturnAttr ;
use Chevere parameter Attributes StringAttr ;
use function Chevere parameter validated ;
#[ReturnAttr(
new StringAttr ( ' /ok$/ ' )
)]
function myFunction (
#[IntAttr(min: 1 , max: 10 )]
int $ var
): string
{
return ' done ok ' ;
}
$ result = validated ( ' myFunction ' , $ var ); Используйте reflectionTo parameter s и функции reflectionToReturn для ручной проверки аргументов и возвращаемого значения:
use ReflectionFunction ;
use function Chevere parameter reflectionTo parameter s ;
use function Chevere parameter reflectionToReturn ;
$ reflection = new ReflectionFunction ( ' myFunction ' );
$ parameter s = reflectionTo parameter s ( $ reflection );
$ return = reflectionToReturn ( $ reflection );
$ parameter s (... $ args ); // valid $args
$ result = myFunction (... $ args ); // myFunction call
$ return ( $ result ); // valid $resultИспользуйте встроенную проверку атрибутов для ручной проверки внутри тела функции:
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes ReturnAttr ;
use Chevere parameter Attributes StringAttr ;
use function Chevere parameter valid ;
use function Chevere parameter returnAttr ;
#[ReturnAttr(
new StringAttr ( ' /ok$/ ' )
)]
function myFunction (
#[IntAttr(min: 1 , max: 10 )]
int $ var
): string
{
valid (); // valid $var
$ return = ' ok ' ;
return returnAttr ()( $ return ); // valid $return
}Атрибуты PHP поддерживают только выражения, которые можно использовать с константами классов. Невозможно напрямую определить динамические parameter с помощью атрибутов.
Чтобы избежать этого ограничения, вы можете использовать атрибут CallableAttr , который позволяет перенаправлять разрешение parameter вызываемому объекту, возвращающему экземпляр parameter Interface .
use Chevere parameter Interfaces parameter Interface ;
use Chevere parameter Attributes CallableAttr ;
function myCallable (): parameter Interface
{
return arrayp (
email: string (),
)-> withOptional (
name: string (),
);
}
#[CallableAttr( ' myCallable ' )] parameter — это объект, реализующий parameter Interface . Каждый parameter может определять description и значение default , а также дополнительные правила проверки в зависимости от типа.
parameter может быть определен с использованием функций и/или атрибутов, для обоих он принимает одни и те же аргументы.
При вызове parameter $param('value') он запускает проверку переданного аргумента.
Используйте string функции для создания String parameter . Передайте regex для сопоставления строк.
use function Chevere parameter string ;
// Any string
$ string = string ();
// String matching bin-<digits>
$ string = string ( ' /^bin-[d]+$/ ' );
$ string ( ' bin-123 ' ); Используйте атрибут StringAttr для определения строкового parameter .
use Chevere parameter Attributes StringAttr ;
#[StringAttr( ' /^bin-[d]+$/ ' )]Следующие parameter основаны на String.
Используйте функцию enum для создания String parameter соответствующего списку строк.
use function Chevere parameter enum ;
$ enum = enum ( ' on ' , ' off ' );
$ enum ( ' on ' );
$ enum ( ' off ' ); Используйте атрибут EnumAttr для определения parameter строки перечисления.
use Chevere parameter Attributes EnumAttr ;
#[EnumAttr( ' on ' , ' off ' )] Используйте функцию intString для создания String parameter соответствующего целым числам строки.
use function Chevere parameter intString ;
$ int = intString ();
$ int ( ' 100 ' ); Используйте функцию boolString , чтобы создать String parameter , соответствующий строкам 0 и 1 .
use function Chevere parameter boolString ;
$ bool = boolString ();
$ bool ( ' 0 ' );
$ bool ( ' 1 ' ); Используйте функцию date , чтобы создать String parameter , соответствующий строкам YYYY-MM-DD .
use function Chevere parameter date ;
$ date = date ();
$ date ( ' 2021-01-01 ' ); Используйте функцию time для создания String parameter , соответствующего строкам hh:mm:ss .
use function Chevere parameter time ;
$ time = time ();
$ time ( ' 12:00:00 ' ); Используйте функцию datetime для создания String parameter , соответствующего строкам YYYY-MM-DD hh:mm:ss .
use function Chevere parameter datetime ;
$ datetime = datetime ();
$ datetime ( ' 2024-01-09 10:53:00 ' ); Используйте функцию int для создания Int parameter . Передайте min и max значения для целочисленного диапазона, accept для списка принятых целых чисел и reject для списка отклоненных целых чисел.
use function Chevere parameter int ;
// Any int
$ int = int ();
$ int ( 1 );
// Integer between 0 and 100
$ int = int (min: 0 , max: 100 );
$ int ( 50 );
// Integer matching 1, 2 or 3
$ int = int (accept: [ 1 , 2 , 3 ]);
$ int ( 2 );
// Integer not-matching 1, 2 or 3
$ int = int (reject: [ 1 , 2 , 3 ]);
$ int ( 4 ); Используйте атрибут IntAttr для определения целочисленного parameter .
use Chevere parameter Attributes IntAttr ;
#[IntAttr(min: 0 , max: 100 )]Следующие parameter основаны на Int.
Используйте функцию boolInt , чтобы создать Int parameter соответствующий целым числам 0 и 1 .
use function Chevere parameter boolInt ;
$ bool = boolInt ();
$ bool ( 0 );
$ bool ( 1 ); Используйте функцию float для создания Float parameter . Передайте min и max значения для диапазона плавающих значений, accept для списка принятых плавающих значений и reject для списка отклоненных плавающих значений.
use function Chevere parameter float ;
// Any float
$ float = float ();
$ float ( 1.5 );
// Float between 0 and 100
$ float = float (min: 0 , max: 100 );
$ float ( 50.5 );
// Float matching 1.5, 2.5 or 3.5
$ float = float (accept: [ 1.5 , 2.5 , 3.5 ]);
$ float ( 2.5 );
// Float not-matching 1.5, 2.5 or 3.5
$ float = float (reject: [ 1.5 , 2.5 , 3.5 ]);
$ float ( 4.5 ); Используйте атрибут FloatAttr для определения parameter с плавающей запятой.
use Chevere parameter Attributes FloatAttr ;
#[FloatAttr(min: 0 , max: 100 )] Используйте функцию bool для создания Bool parameter .
use function Chevere parameter bool ;
$ bool = bool ();
$ bool ( true );
$ bool ( false ); Используйте атрибут BoolAttr для определения parameter bool.
use Chevere parameter Attributes BoolAttr ;
#[BoolAttr] Используйте функцию null для создания Null parameter .
use function Chevere parameter null ;
$ null = null ();
$ null ( null ); Используйте атрибут NullAttr для определения нулевого parameter .
use Chevere parameter Attributes NullAttr ;
#[NullAttr] Используйте object функции для создания Object parameter . Передайте className для имени класса объекта.
use function Chevere parameter object ;
$ object = object (stdClass::class);
$ object ( new stdClass ()); Используйте атрибут ObjectAttr для определения parameter объекта.
use Chevere parameter Attributes ObjectAttr ;
#[ObjectAttr(stdClass::class)] Используйте функцию mixed для создания Mixed parameter .
use function Chevere parameter mixed ;
$ mixed = mixed ();
$ mixed ( 1 );
$ mixed ( ' 1 ' );
$ mixed ( true );
$ mixed ( null ); Используйте функцию union для создания Union parameter . Передайте список parameter для сопоставления, целевое значение должно соответствовать хотя бы одному.
use function Chevere parameter union ;
// Any string or null
$ union = union ( string (), null());
$ union ( ' abc ' );
$ union ( null );
// Any digit string or any integer
$ union = union (
intString (),
integer ()
);
$ union ( ' 100 ' );
$ union ( 100 ); parameter для array типов обрабатывается как составной parameter содержащий определение parameter для каждого из его членов.
Используйте функцию arrayp , чтобы создать Array parameter для именованных аргументов в качестве необходимых ключей массива.
use function Chevere parameter arrayp ;
// Empty array
$ array = arrayp ();
$ array ([]);
// Required 'a' => <string>
$ array = arrayp (a: string ());
$ array ([ ' a ' => ' Hello world ' ]);parameter поддерживает вложенные массивы любой глубины:
use function Chevere parameter arrayp ;
use function Chevere parameter float ;
use function Chevere parameter int ;
$ array = arrayp (
id: int (min: 0 ),
items: arrayp (
id: int (min: 0 ),
price: float (min: 0 ),
),
);
$ array ([
' id ' => 1 ,
' items ' => [
' id ' => 25 ,
' price ' => 16.5 ,
]
]); Используйте атрибут ArrayAttr для определения parameter массива.
use Chevere parameter Attributes ArrayAttr ;
use Chevere parameter Attributes FloatAttr ;
use Chevere parameter Attributes IntAttr ;
#[ArrayAttr(
id: new IntAttr (),
items: new ArrayAttr (
id: new IntAttr (),
price: new FloatAttr (),
),
)] используйте метод withRequired для определения требуемого parameter s.
$ array = $ array
-> withRequired (
username: string (),
email: string ()
); используйте метод withOptional для определения необязательных parameter s.
$ array = $ array
-> withOptional (address: string ());Примечание. Необязательные parameter будут проверены только в том случае, если указан соответствующий ключ.
используйте метод withModify для определения parameter изменения s.
$ array = $ array
-> withModify (
username: string ( ' /w+/ ' ),
); используйте метод withMakeOptional , чтобы сделать обязательные parameter необязательными.
$ array = $ array
-> withMakeOptional ( ' username ' ); используйте метод withMakeRequired , чтобы сделать обязательными необязательные parameter .
$ array = $ array
-> withMakeRequired ( ' email ' ); используйте метод without удаления parameter s.
$ array = $ array
-> without ( ' a ' ); используйте метод withOptionalMinimum , чтобы определить минимальное количество необязательных parameter . Полезно, если все parameter необязательны, кроме 1.
$ array = $ array
-> withOptionalMinimum ( 1 );Следующие parameter основаны на Array.
Используйте функцию arrayString для создания ArrayString parameter Interface для строковых значений. Он поддерживает только строковые parameter s.
use function Chevere parameter arrayString ;
use function Chevere parameter string ;
$ array = arrayString (
test: string (),
);
$ array ([ ' test ' => ' foo ' ]); Используйте file функции, чтобы создать Array parameter для загрузки файлов.
use function Chevere parameter file ;
$ array = file ();
$ file = [
' name ' => ' foo.txt ' ,
' type ' => ' text/plain ' ,
' tmp_name ' => ' /tmp/phpYzdqkD ' ,
' error ' => 0 ,
' size ' => 123 ,
];
$ array ( $ file ); По умолчанию он обеспечивает проверку формы $_FILES , но вы можете определить свои собственные правила проверки. Например, чтобы проверить имя и содержимое:
use function Chevere parameter file ;
$ array = file (
name: string ( ' /^.txt$/ ' ),
contents: string ( ' /wage-/ ' ),
);
$ array (
' name ' => ' wage-2024.txt ' ,
' type ' => ' text/plain ' ,
' tmp_name ' => ' /tmp/phpYzdqkD ' ,
' error ' => 0 ,
' size ' => 27 ,
' contents ' => ' yada yada wage-2024 bla bla ' ,
); Итерируемый тип Traversable|array рассматривается как составной parameter содержащий общее определение ключа и значения. parameter позволяет описать эту коллекцию элементов, имеющих одну и ту же форму.
Используйте функцию iterable для создания Iterable parameter . Передайте parameter V и K для общего ключа и значения.
use function Chevere parameter int ;
use function Chevere parameter iterable ;
$ iterable = iterable ( int (min: 0 ));
$ iterable ([ 0 , 1 , 2 , 3 ]);Он также работает с именованными ключами:
use function Chevere parameter int ;
use function Chevere parameter iterable ;
use function Chevere parameter string ;
$ iterable = iterable (
V: arrayp (
id: int (min: 0 ),
name: string ( ' ^[w]{1,255} ' ),
)
K: string (),
);
$ iterable ([
' based ' => [
' id ' => 1 ,
' name ' => ' OscarGangas '
],
' fome ' => [
' id ' => 2 ,
' name ' => ' BomboFica '
],
]); Используйте parameter s функции для создания экземпляра parameter s .
use function Chevere parameter s parameter s ;
use function Chevere parameter s string ;
$ parameter s = parameter s (foo: string ()); Используйте arguments функции для создания экземпляра Arguments .
use function Chevere parameter s arguments ;
use function Chevere parameter s string ;
$ arguments = arguments ( $ parameter s , [ ' foo ' => ' bar ' ]); Используйте функцию assertNamedArgument для утверждения именованного аргумента.
use function Chevere parameter s assertNamedArgument ;
use function Chevere parameter s int ;
use function Chevere parameter s parameter s ;
$ parameter = int (min: 10 );
assertNamedArgument (
name: ' foo ' ,
parameter : $ parameter ,
argument: 20
); Используйте функцию to parameter , чтобы создать экземпляр parameter Interface из строки типа. В примере ниже результирующий $ parameter будет Int parameter .
use function Chevere parameter s to parameter ;
$ parameter = to parameter ( ' int ' ); Используйте функцию arrayFrom для создания parameter массива из другого parameter массива. В приведенном ниже примере результирующий $array будет содержать только ключи name и id , как определено в $source .
use function Chevere parameter s arrayFrom ;
use function Chevere parameter s arrayp ;
use function Chevere parameter s int ;
use function Chevere parameter s string ;
$ source = arrayp (
id: int (),
name: string (),
email: string (),
age: int (),
);
$ array = arrayFrom ( $ source , ' name ' , ' id ' ); Используйте функцию takeKeys для получения массива с ключами из parameter . В приведенном ниже примере $keys будет содержать id и size .
use function Chevere parameter s arrayp ;
use function Chevere parameter s int ;
use function Chevere parameter s takeKeys ;
$ array = arrayp (
id: int (),
size: int (),
);
$ keys = takeKeys ( $ array ); Используйте функцию takeFrom , чтобы получить итератор с нужными ключами из parameter . В приведенном ниже примере $iterator выдаст ключи size и name .
use function Chevere parameter s arrayp ;
use function Chevere parameter s int ;
use function Chevere parameter s string ;
use function Chevere parameter s takeFrom ;
$ array = arrayp (
id: int (min: 0 ),
size: int (min: 100 ),
name: string (),
);
$ iterator = takeFrom ( $ array , ' size ' , ' name ' ); Используйте parameter sFrom , чтобы создать parameter s с нужными ключами из parameter . В приведенном ниже примере $ parameter s будет содержать ключи size и name .
use function Chevere parameter s arrayp ;
use function Chevere parameter s int ;
use function Chevere parameter s string ;
use function Chevere parameter s parameter sFrom ;
$ array = arrayp (
id: int (min: 0 ),
size: int (min: 100 ),
name: string (),
);
$ parameter s = parameter sFrom ( $ array , ' size ' , ' name ' ); Используйте функцию get parameter s для получения экземпляра parameter s из объекта, реализующего либо parameter AccessInterface , либо parameter sInterface .
use function Chevere parameter s get parameter s ;
$ parameter s = get parameter s ( $ object ); Используйте функцию getType для получения типа, известного в этой библиотеке.
use function Chevere parameter s getType ;
$ type = getType ( 1 ); // int Используйте parameter Attr , чтобы получить parameter AttributeInterface , реализующий объект, из parameter метода функции или класса.
use function Chevere parameter s parameter Attr ;
use Chevere parameter Attributes StringAttr ;
function myFunction (
#[StringAttr( ' /^bin-[d]+$/ ' )]
string $ foo
): void {
// ...
}
$ stringAttr = parameter Attr ( ' foo ' , ' myFunction ' );
$ stringAttr ( ' bin-123 ' ); Используйте reflectionTo parameter s , чтобы получить экземпляр parameter s из экземпляра ReflectionFunction или ReflectionMethod .
use function Chevere parameter reflectionTo parameter s ;
$ parameter s = reflectionTo parameter s ( $ reflection ); Используйте функцию reflectionToReturn , чтобы получить экземпляр parameter Interface из экземпляра ReflectionFunction или ReflectionMethod .
use function Chevere parameter reflectionToReturn ;
$ parameter = reflectionToReturn ( $ reflection ); Используйте reflected parameter Attribute чтобы получить parameter AttributeInterface , реализующий объект, из экземпляра Reflection parameter .
use function Chevere parameter reflected parameter Attribute ;
$ parameter Attribute = reflected parameter Attribute ( $ reflection parameter ); Используйте функцию, validated для проверки аргументов функции или метода.
use function Chevere parameter validated ;
$ result = validated ( ' myFunction ' , $ arg1 , $ arg2 ,); use function Chevere parameter string ;
$ value = ' ahhh ' ;
string ( ' /^a.+/ ' )( $ value );100 : use function Chevere parameter int ;
$ value = 100 ;
int (min: 100 )( $ value ); use function Chevere parameter int ;
$ value = 1 ;
int (accept: [ 1 , 2 , 3 ])( $ value ); use function Chevere parameter float ;
$ value = 3.1 ;
float (reject: [ 1.1 , 2.1 ])( $ value ); use function Chevere parameter arrayp ;
use function Chevere parameter int ;
use function Chevere parameter string ;
$ value = [
' id ' => 1 ,
' name ' => ' Pepe '
];
arrayp (
id: int (min: 1 ),
name: string ( ' /^[A-Z]{1}w+$/ ' )
)( $ value );int : use function Chevere parameter int ;
use function Chevere parameter iterable ;
$ value = [ 1 , 2 , 3 ];
iterable ( int ())( $ value ); use function Chevere parameter int ;
use function Chevere parameter iterable ;
$ value = [
' unila ' => 1 ,
' dorila ' => 2 ,
' tirifila ' => 3 ,
];
iterable (
K: string ( ' /ila$/ ' ),
V: int (min: 1 )
)( $ value ); use function Chevere parameter int ;
use function Chevere parameter null ;
$ value = 1 ;
union ( int (), null())( $ value );validated() , чтобы получить возврат, проверенный на соответствие всем правилам. use function Chevere parameter validated ;
$ result = validated ( ' myFunction ' , $ var );reflectionTo parameter s() , чтобы получить правила проверки аргументов. use ReflectionMethod ;
use Chevere parameter Attributes IntAttr ;
use function Chevere parameter arguments ;
use function Chevere parameter reflectionTo parameter s ;
$ class = new class () {
public function wea (
#[IntAttr(accept: [ 1 , 10 , 100 ])]
int $ base
): void {
}
};
$ object = new $ class ();
$ reflection = new ReflectionMethod ( $ object , ' wea ' );
$ parameter s = reflectionTo parameter s ( $ reflection );
$ args = [ ' base ' => 10 ];
$ parameter s (... $ args ); // valid $args
$ result = $ object -> wea (... $ args );reflectionToReturn() , чтобы получить правила проверки возвращаемого значения функции/метода: use ReflectionFunction ;
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes ReturnAttr ;
use function Chevere parameter reflectionToReturn ;
$ function =
#[ReturnAttr(
new IntAttr (min: 1000 )
)]
function ( int $ base ): int {
return 10 * $ base ;
};
$ reflection = new ReflectionFunction ( $ function );
$ return = reflectionToReturn ( $ reflection );
$ base = 10 ;
$ result = $ function ( $ base );
$ result = $ return ( $ result ); // Validates result Используйте valid() в теле функции/метода, чтобы вызвать проверку аргументов.
Hugo , Paco , Luis :1000 : use Chevere parameter Attributes EnumAttr ;
use function Chevere parameter validate ;
function myEnum (
#[EnumAttr( ' Hugo ' , ' Paco ' , ' Luis ' )]
string $ name ,
#[FloatAttr(min: 1000 )]
float $ money
): void
{
valid ();
// Or single...
valid ( ' name ' );
valid ( ' money ' );
}
$ arg1 = ' Paco ' ;
$ arg2 = 1000.50 ;
myEnum ( $ arg1 , $ arg2 );0 и 100 : use Chevere parameter Attributes IntAttr ;
use function Chevere parameter validate ;
function myInt (
#[IntAttr(reject: [ 0 , 100 ])]
int $ id
): void
{
valid ();
}
$ value = 50 ;
myInt ( $ value ); use Chevere parameter Attributes ArrayAttr ;
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes StringAttr ;
use Chevere parameter Attributes IterableAttr ;
use function Chevere parameter validate ;
function myArray (
#[ArrayAttr(
id: new IntAttr (min: 1 ),
role: new ArrayAttr (
mask: new IntAttr (accept: [ 64 , 128 , 256 ]),
name: new StringAttr ( ' /[a-z]+/ ' ),
tenants: new IterableAttr (
new IntAttr (min: 1 )
)
),
)]
array $ spooky
): void
{
valid ();
}
$ value = [
' id ' => 10 ,
' role ' => [
' mask ' => 128 ,
' name ' => ' admin ' ,
' tenants ' => [ 1 , 2 , 3 , 4 , 5 ]
],
];
myArray ( $ value ); use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes IterableAttr ;
use function Chevere parameter validate ;
function myIterable (
#[IterableAttr(
new IntAttr (),
)]
array $ list = [ 0 , 1 , 2 ]
): void
{
valid ();
} Используйте функцию returnAttr() в теле функции/метода.
min: 0, max: 5 возврат: use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes ReturnAttr ;
use function Chevere parameter returnAttr ;
#[ReturnAttr(
new IntAttr (min: 0 , max: 5 )
)]
public function myReturnInt (): int
{
$ result = 1 ;
return returnAttr ()( $ result );
} use Chevere parameter Attributes ArrayAttr ;
use Chevere parameter Attributes IntAttr ;
use Chevere parameter Attributes StringAttr ;
use Chevere parameter Attributes ReturnAttr ;
use function Chevere parameter returnAttr ;
#[ReturnAttr(
new ArrayAttr (
id: new IntAttr (min: 0 ),
name: new StringAttr ()
)
)]
public function myReturnArray (): array
{
$ result = [
' id ' => 1 ,
' name ' => ' Peoples Hernandez '
];
return returnAttr ()( $ result );
} По соглашению, если опустить ReturnAttr метод public static function return(): parameter Interface (если есть) будет использоваться для определения правил проверки возврата.
Документация доступна на chevere.org.
Авторские права Родольфо Берриос А.
Chevere распространяется по лицензии Apache версии 2.0. Полный текст лицензии см. в разделе ЛИЦЕНЗИЯ.
Если это не требуется применимым законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, распространяется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, явных или подразумеваемых. См. Лицензию для определения конкретного языка, регулирующего разрешения и ограничения в рамках Лицензии.