| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added ability to escape quotes in strings.
* Removed type checking for customfunc arguments. It was a bad idea to check types, because php automatically tries to convert a parameter to required type and throws if it failures. On the other hand, we can check types also in callables if required.
* Update phpdoc
* Fix some typos + improve min, max, avg funcs.
* Update readme + improvements.
* Fix a typo in sample.
* Fix unshown backslash in readme.
|
|
|
|
|
|
|
|
| |
Also array function is defined which return arguments as array. Square bracket arrays are also supported. (#108)
valid expression -> "max([1,2,3])"
valid expression -> "max(array(1,2,3))"
valid expression -> "max($ages_arr)"
valid expression -> "max(ages_arr())"
|
|
|
|
|
|
|
| |
(handwritten arrays not supported yet, can be used for array variables or functions returning an array) (#107)
invalid expression -> "max([1,2,3])"
valid expression -> "max($ages_arr)"
valid expression -> "max(ages_arr())"
|
|
|
|
|
|
|
|
|
| |
* Support unlimited args for min, max default funcs.
Default functions max and min were requiring 2 arguments strictly. Now they supoort unlimited args, same as php's min, max funcs.
* Improved functions: support unlimited parameters (see min, max funcs), optional parameters (see round func), parameters with types (see round func, throws IncorrectFunctionParameterException on unmatched type, union types and intersection types not supported because of min php level! there is a todo for this, to support them later @see CustomFunction@execute) Also added unittests for improvements.
* Run php-cs-fixer fix
|
|
|
|
|
|
|
|
|
|
|
| |
* test: add testNullReturnType and testUnsupportedOperands
* refactor: fix PhpDoc comments and use PHP 7.4 arrow functions
* refactor: fix PHP-CS-Fixer issues
* test: run testUnsupportedOperands() only on PHP8+
Co-authored-by: Javier Marín <contacto@ideatic.net>
|
|
|
|
|
|
|
| |
* Configuring PHP CS Fixer
Dropping PHP 7,3 support
* Fixing merge issue
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added varExists method
* getVar now respects VarNotFoundHandler setting
* Use local version of PHP-CS-Fixer
Instead of hard coded version from github actions
* Fixing actions
* Fixing actions
* Dropping testing for 7.3, as it is no longer supported
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added handler to define not found variables
Added support for string variables
Fixed strings and ints comparison error
* Check if variables have scalar types (int, float, string and bool)
Better $onVarNotFound logic
* Better support for null variables
* Better support for null variables
* Better support for null variables
* Allow null values in `setVar` method
* Support for unary positive operator
* Add PhpStan config file
Fix PhpStan warnings
Set consts visibility
Add name info to variable tokens for easier debugging
Co-authored-by: Javier Marín <contacto@ideatic.net>
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Added handler to define not found variables
Added support for string variables
Fixed strings and ints comparison error
* Check if variables have scalar types (int, float, string and bool)
Better $onVarNotFound logic
* Better support for null variables
* Better support for null variables
* Better support for null variables
|
| |
| |
| |
| | |
Additional unit tests
Readme update
|
| |
| |
| |
| |
| |
| |
| | |
* String comparison unit tests
* getVars and getFunctions sanity checks
* Add dynamic variable documentation
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Added handler to define not found variables
Added support for string variables
Fixed strings and ints comparison error
* Check if variables have scalar types (int, float, string and bool)
Better $onVarNotFound logic
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Reproduce if throws UnknownOperatorException
* Fix variable detection
* Adding IncorrectNumberOfFunctionParametersException
* Removing tabs
* Better exception message text
|
| |
| |
| | |
* Support for unary positive operator
|
| |
| |
| | |
Fixed unary minus to allow a minus sign in front of functions and parentheses.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* cache-control improvements
* Update src/NXP/MathExecutor.php
yeah, you're right.
Co-authored-by: Alexander Kiryukhin <a.kiryukhin@mail.ru>
* Update MathExecutor.php
braces qfix
* Update MathExecutor.php
Co-authored-by: Alexander Kiryukhin <a.kiryukhin@mail.ru>
|
| |
| |
| |
| |
| | |
* Additional tests
Co-authored-by: diman3210 <diman-3210@mail.ru>
|
| |
| |
| |
| |
| | |
* add new functions and aliases to the old functions
* add tests for new functions
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Variable fixes (#67)
* Reproduce if throws UnknownOperatorException
* Fix variable detection
* Adding IncorrectNumberOfFunctionParametersException
* Removing tabs
* Better exception message text
* Handler for not found variables (#68)
* Added handler to define not found variables
Added support for string variables
Fixed strings and ints comparison error
* Check if variables have scalar types (int, float, string and bool)
Better $onVarNotFound logic
* Release prep (#69)
* String comparison unit tests
* getVars and getFunctions sanity checks
* Add dynamic variable documentation
* Better setVar error message (#70)
Additional unit tests
Readme update
* Improved support for null variables (#72)
* Added handler to define not found variables
Added support for string variables
Fixed strings and ints comparison error
* Check if variables have scalar types (int, float, string and bool)
Better $onVarNotFound logic
* Better support for null variables
* Better support for null variables
* Better support for null variables
* Allow null values in `setVar` method (#73)
* Added handler to define not found variables
Added support for string variables
Fixed strings and ints comparison error
* Check if variables have scalar types (int, float, string and bool)
Better $onVarNotFound logic
* Better support for null variables
* Better support for null variables
* Better support for null variables
* Allow null values in `setVar` method
* Better unit testing
Co-authored-by: Javier Marín <javier@marinros.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Added handler to define not found variables
Added support for string variables
Fixed strings and ints comparison error
* Check if variables have scalar types (int, float, string and bool)
Better $onVarNotFound logic
* Better support for null variables
* Better support for null variables
* Better support for null variables
|
| |
| |
| |
| | |
Additional unit tests
Readme update
|
| |
| |
| |
| |
| |
| |
| | |
* String comparison unit tests
* getVars and getFunctions sanity checks
* Add dynamic variable documentation
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Added handler to define not found variables
Added support for string variables
Fixed strings and ints comparison error
* Check if variables have scalar types (int, float, string and bool)
Better $onVarNotFound logic
|
|/
|
|
|
|
|
|
|
|
|
| |
* Reproduce if throws UnknownOperatorException
* Fix variable detection
* Adding IncorrectNumberOfFunctionParametersException
* Removing tabs
* Better exception message text
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Code style fixes
Up phpunit to v8
New CI
* Remove travis
* Fix CI badge
* Added php-cs-fixer action
|
| |
|
|
|
|
|
| |
More clean structure
Parsing without regular expressions
|
|
|
|
|
| |
* Update documentation for PHPFUI/InstaDoc
* Support for negative numbers starting paren enclosed expressions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Merge in neonxp master (#9)
* Version 1.1 (#51)
* Update README.md and more function support
* Removing phpunit symbolic link (#53)
* Left bracket and minus fix (#55)
* Left bracket and minus fix (#54)
* Add test for left bracket and minus fix #55
* Fix substraction by zero bug (#56)
Co-authored-by: franksl <info@streamlake.com>
Co-authored-by: Clément Lafont <johnrazeur@gmail.com>
* Docs and test updates
* Update composer
Co-authored-by: franksl <info@streamlake.com>
Co-authored-by: Clément Lafont <johnrazeur@gmail.com>
|
|\ |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
* Left bracket and minus fix (#54)
* Add test for left bracket and minus fix #55
|
|/
|
|
| |
* Update README.md and more function support
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* TokenFactory: allowing multicharacter tokens
* Added logical and compare operators: <, <=, >, >=, ==, !=, ||, &&
* Fixed operator priorities
* Error messages fixes
* Fixed operators priority
The priorities are assigned by following the php language standard
(https://www.php.net/manual/en/language.operators.precedence.php)
I've assigned precedence in steps of 10 units by following the linked page:
230 clone new
220 **
210 ++ -- ~ (int) (float) (string) (array) (object) (bool) @
200 instanceof
190 !
180 * / %
170 + - .
160 << >>
150 < <= > >=
140 == != === !== <> <=>
130 &
120 ^
110 |
100 &&
90 ||
80 ??
70 ? :
60 = += -= *= **= /= .= %= &= |= ^= <<= >>=
50 yield from
40 yield
30 and
20 xor
10 or
* Added if() function
* Cache key fix
There are cases where the cache key creation raised an error, for example
while evaluating the expression "if(cos(2), cos(2), 0)", because the
if() function was passing a float to the MathExecutor:execute() method.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Subtraction fix (#46) (#7)
* Updated unit tests
* Fixed docs
* Better unary minus support
* Subtraction fix (#46) (#8)
* Updated unit tests
* Fixed docs
* Better unary minus support
* Upgrading PHPUnit and dropping support for 5.6 and 7.0
|
|
|
|
|
| |
* Updated unit tests
* Fixed docs
* Better unary minus support
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Fixed parsing for ()
* sync (#5)
* Documentation fixes (#34)
Fixing typos in and clarifying documentation.
* MathExecutor allow override default operators, functions and vars (#36)
* Added simple coc (#37)
* Added simple coc
* Fix
* Replaceable operators (#38)
* Updated from NeonXP/MathExecutor
* Fixed function in () block issue
* Fixing typos in and clarifying documentation.
* Syncing from origin (#3)
* Documentation fixes (#34)
Fixing typos in and clarifying documentation.
* MathExecutor allow override default operators, functions and vars (#36)
* Allow for operators to be replaced based on regex expression
* Fix md typo (#39)
* Updated from NeonXP/MathExecutor
* Fixed function in () block issue
* Fixing typos in and clarifying documentation.
* Syncing from origin (#3)
* Documentation fixes (#34)
Fixing typos in and clarifying documentation.
* MathExecutor allow override default operators, functions and vars (#36)
* Syncing to origin (#4)
* Documentation fixes (#34)
Fixing typos in and clarifying documentation.
* MathExecutor allow override default operators, functions and vars (#36)
* Added simple coc (#37)
* Added simple coc
* Fix
* Replaceable operators (#38)
* Updated from NeonXP/MathExecutor
* Fixed function in () block issue
* Fixing typos in and clarifying documentation.
* Syncing from origin (#3)
* Documentation fixes (#34)
Fixing typos in and clarifying documentation.
* MathExecutor allow override default operators, functions and vars (#36)
* Allow for operators to be replaced based on regex expression
* \\ instead of \
* Update README.md
Some small fixes
* Fix single quotes parsing (#41)
* Fix single quotes parsing
Fix e-mails
Some small fixes
* Mistake in test
* More PHP versions
* Update README.md
Deleted `dev` branch
* Fixed function parameter order
Corrected $places default value for addFunction to match TokenFactory
Added function order test and put expected order first in assertEquals
If else blocks in calculator
Updated docs
|
| |
| |
| |
| |
| | |
Added unit tests for expressions in function arguments.
Changed array_push to $var[] = native code.
|