BIS fnc errorParamsType: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[[^|]+\| *([a-zA-Z= _]+) *\]\]([^<]*)<\/code>" to "<code>$1$2$3</code>")
m (Text replacement - "(\|[pr][0-9]+ *= *[^-]+) *- *E([a-z])" to "$1 - e$2")
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:
|s1= [value, method, expected] call [[BIS_fnc_errorParamsType]]
|s1= [value, method, expected] call [[BIS_fnc_errorParamsType]]


|p1= '''value''' (Optional, default: [[nil]]): [[Anything]] - Value received.
|p1= '''value''': [[Anything]] - (Optional, default [[nil]]) value received.


|p2= '''method''' (Optional, default: ""): [[String]] - Validation method, can be one of:
|p2= '''method''': [[String]] - (Optional, default "") validation method, can be one of:
* "isEqualType"
* "isEqualType"
* "isEqualTypeArray"
* "isEqualTypeArray"
Line 21: Line 21:
* "isEqualTypeParams"
* "isEqualTypeParams"


|p3= '''expected''' (Optional, default: [[nil]]): [[Anything]] - Expected type.
|p3= '''expected''' (Optional, default: [[nil]]): [[Anything]] - expected type.


|r1= [[Nothing]]
|r1= [[Nothing]]


|x1= <code>// Show error and abort if input is not of type ARRAY:
|x1= <sqf>
_this _this, "isEqualType", []] [[call]] [[BIS_fnc_errorParamsType]]; };</code>
// show error and abort if input is not of type ARRAY:
if !(_this isEqualType []) exitWith { [_this, "isEqualType", []] call BIS_fnc_errorParamsType; };
</sqf>


|x2= <code>// Show error and abort if array input is not in format [SCALAR, STRING, BOOL]:
|x2= <sqf>
_this _this, "isEqualTypeArray", [0, "", [[true]]]] [[call]] [[BIS_fnc_errorParamsType]]; };</code>
// show error and abort if array input is not in format [SCALAR, STRING, BOOL]:
if !(_this isEqualTypeArray [0, "", true]) exitWith { [_this, "isEqualTypeArray", [0, "", true]] call BIS_fnc_errorParamsType; };
</sqf>


|x3= <code>// Show error and abort if array input is not in format [BOOL, BOOL, BOOL, ...]:
|x3= <sqf>
_this _this, "isEqualTypeAll", [[true]]] [[call]] [[BIS_fnc_errorParamsType]]; };</code>
// show error and abort if array input is not in format [BOOL, BOOL, BOOL, ...]:
if !(_this isEqualTypeAll true) exitWith { [_this, "isEqualTypeAll", true] call BIS_fnc_errorParamsType; };
</sqf>


|x4= <code>// Show error and abort if input is neither ARRAY nor OBJECT:
|x4= <sqf>
_this _this, "isEqualTypeAny", [[], [[objNull]]]] [[call]] [[BIS_fnc_errorParamsType]]; };</code>
// show error and abort if input is neither ARRAY nor OBJECT:
if !(_this isEqualTypeAny [[], objNull]) exitWith { [_this, "isEqualTypeAny", [[], objNull]] call BIS_fnc_errorParamsType; };
</sqf>


|x5= <code>// Show error and abort if input is neither of type ARRAY nor array in format [SCALAR, ARRAY, <ANYTHING>, OBJECT]:
|x5= <sqf>
[[if]] !([[Magic Variables#this|_this]] [[isEqualTypeParams]] [0, [], [[nil]], [[objNull]]]) [[exitWith]] { [<nowiki/>[[Magic Variables#this|_this]], "isEqualTypeParams", [0, [], [[nil]], [[objNull]]]] [[call]] [[BIS_fnc_errorParamsType]]; };</code>
// show error and abort if input is neither of type ARRAY nor array in format [SCALAR, ARRAY, <ANYTHING>, OBJECT]:
if !(_this isEqualTypeParams [0, [], nil, objNull]) exitWith { [_this, "isEqualTypeParams", [0, [], nil, objNull]] call BIS_fnc_errorParamsType; };
</sqf>


|seealso= [[BIS_fnc_error]]
|seealso= [[BIS_fnc_error]]
}}
}}

Latest revision as of 15:06, 8 November 2023

Hover & click on the images for description

Description

Description:
Displays a parameter type error message (using BIS_fnc_error) explaining the problem.
Execution:
call
Groups:
Diagnostic

Syntax

Syntax:
[value, method, expected] call BIS_fnc_errorParamsType
Parameters:
value: Anything - (Optional, default nil) value received.
method: String - (Optional, default "") validation method, can be one of:
  • "isEqualType"
  • "isEqualTypeArray"
  • "isEqualTypeAll"
  • "isEqualTypeAny"
  • "isEqualTypeParams"
expected (Optional, default: nil): Anything - expected type.
Return Value:
Nothing

Examples

Example 1:
// show error and abort if input is not of type ARRAY: if !(_this isEqualType []) exitWith { [_this, "isEqualType", []] call BIS_fnc_errorParamsType; };
Example 2:
// show error and abort if array input is not in format [SCALAR, STRING, BOOL]: if !(_this isEqualTypeArray [0, "", true]) exitWith { [_this, "isEqualTypeArray", [0, "", true]] call BIS_fnc_errorParamsType; };
Example 3:
// show error and abort if array input is not in format [BOOL, BOOL, BOOL, ...]: if !(_this isEqualTypeAll true) exitWith { [_this, "isEqualTypeAll", true] call BIS_fnc_errorParamsType; };
Example 4:
// show error and abort if input is neither ARRAY nor OBJECT: if !(_this isEqualTypeAny [[], objNull]) exitWith { [_this, "isEqualTypeAny", [[], objNull]] call BIS_fnc_errorParamsType; };
Example 5:
// show error and abort if input is neither of type ARRAY nor array in format [SCALAR, ARRAY, <ANYTHING>, OBJECT]: if !(_this isEqualTypeParams [0, [], nil, objNull]) exitWith { [_this, "isEqualTypeParams", [0, [], nil, objNull]] call BIS_fnc_errorParamsType; };

Additional Information

See also:
BIS_fnc_error

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note