This is required only for postgres as every other database is case invariant by default. But to achieve a portable way, we implement it via a custom DQL function.
This fixes issue #784
* OEMSecrets provider interface v.1.0
New class for interacting with the OEMSecrets (https://www.oemsecrets.com) API version 3.0.1.
* Refactored info provider to be stateless and independent from session, optimized Part-DB API usage, and fixed PHPStan issues.
Refactored info provider to be stateless and independent from session, now use Psr\Cache, fixed issues identified by PHPStan, additional minor enhancements and bug fixes.
* Prefix cache keys with oemsecrets_ to avoid key collissions
* Use uniqid with more entropy to reduce probability of collisions
* Made $resultData local as it is only used inside searchByKeyword
* Use the parameter name $id from interface declaration for getDetails to avoid problems with named arguments
* Use unicode modifier for preg_match to avoid problems when parameters contain non-unicode strings
* Various small code quality improvements
* Try to retrieve the part from the API in getDetails, if the DTO was not cached before
* Improved code formatting
* Channged OEMSecret default country to DE to be consistent with other default values
* Do not call gc_collect_cycles in the loop to process the results, but only after all processBatch calls
---------
Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
* DigiKey: Skip empty values
* Move improved range detection from LCSCProvider to ParameterDTO class
Improve numeric value detection by moving extra info to value_text
* ParameterDTO: Add micro unit prefix
* Bring $value_text2 to a defined state
* ParameterDTO: Don't overwrite $unit if it's not empty
* ParameterDTO: Don't overwrite $unit if it's not empty
* Correct some inaccuacies in comments
* Added tests and fixed certain edge cases in parsing parameters
* Added more tests for parameter parsing
---------
Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
* Follow first 'pdfUrl' link to get real datasheet URL
* Fix @param
* Fix @param
* Remove User-Agent header
It's not needed - LCSC was just having some server troubles over the weekend
* Added comment explaining the json_decode in getRealDatasheetUrl
---------
Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>