-
-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A token value might be a float #124
Conversation
@PowerKiKi I addressed the CI issues. Now, is this really a bug? Or is it a new feature? Because right now, if you try to implement a lexer such as the one in your test, static analysis points out that you're doing something wrong. |
Except: - doctrine/lexer:^2.1 because of doctrine/lexer#124
Thanks you for your help with the CI. I am coming from https://github.com/creof/doctrine2-spatial, that makes use of https://github.com/creof/wkt-parser, which in turns ended up using doctrine/lexer. My test case is basically a copy-paste of that method. So I am not a direct user of doctrine/lexer, but my project works with But I suppose we could argue that it is a misusage by Also, in addition to all of that, the fork I am thinking this comes down to the fact that PHP output arguments are not type checked. So what about we change that to the even more permissive |
I think we should stick with scalars, |
Sure thing, I'll do that. Does the test looks reasonably written as-is ? or should it be refactored differently ? |
2c7eeda
to
8eac7e7
Compare
The workflow needs to be approved for the CI to run... |
It seems there are CI jobs failing. Please take a look at this guide for more on how to handle those. |
It looks good enough. Should the docs be modified as well to explain why one might want to use |
d9f705e
to
ba7456e
Compare
I pushed CI fixes, but I am afraid I won't be able to help for the documentation. I couldn't find an obvious place for it, and I don't think I am knowledgeable enough to write documentation for this lib. |
Please address the remaining CI issues |
fcc9006
to
8f141db
Compare
Should be good to merge now |
* Replace ngx-layout by natural-layout #10361 * Restore bugsnag * Prettier sort css properties #10361 * Use eslint to sort HTML attributes #10394 * Drop debug styles #10394 * Upgrade natural-layout 2.0.0 * Disable passwords Safari "Smart quotes" for all password inputs #10443 If "Smart quotes" is enabled for Safari, that means that password characters might get replaced by other characters without user noticing. This means that password is not cross-browser compatible anymore. And a password created in Safari cannot be used in any other browsers if it contains characters subjected to "Smart quotes", or the other way around. By unconditionally disabling spellcheck, we disable "Smart quotes", and thus make password cross-browsers. However, users that created their passwords on Safari with "Smart quotes" enabled (in the OS settings), will **no longer be able to login** if the password contains characters such as `'`, `"`, `--` (and others ?). * Update natural * Avoid native private members #10451 Because we still support Safari < 16.4, that means that native private members are downleveled in a way that is less performant at runtime and slightly bigger at bundle size. See https://riegler.fr/blog/2024-05-17-private-fields-downleveling * Re-enable bugsnag * Update natural for layout fixes #10361 * Update natural for layout fixes #10361 * Use a non-broken natural-layout release #10361 * Show table headers even if no result #10361 There are two reasons for this change. First, and most important, is that a `mat-table` must never be removed from the DOM or else it will stop listening to data. That means that if a human searches for something but finds no result, then they will never be able to see results anymore, unless if they reload the page. Second, from an UX perspective, it _might_ be preferable to have a less surprising by always showing the headers, that never change. And the only "moving" part is the data itself, not the surrounding structure. * Don't require CLI confirmation if `/sites/` is a symlink * Non-interactive CI * Remove blank lines in `imports` * Remove blank lines in `import` * NaturalSelectEnum does not capitalize enum name #10356 While most enum names start with a capital, and should do so, there are cases where we require to start with a lowercase, such as SI unit `kg` * Migrate away from modules in tests Instead, use providers, and avoid `imports` in `configureTestingModule()` even for the component being tested, because our code is exclusively standalone. * Add missing providers in tests * Be strict about Angular extended diagnostics There is no reason to tolerate warnings * @ecodev/natural v59 #9896 This has no impact for Dilps * Each API field definition is lazy loaded #10525 Previously, we lazy-loaded the whole group of fields of QueryType and MutationType at once. But each field were not lazy-loaded individually. So a query with a single field, still loaded the schema for all possible queries. Same for mutations. Now we enforce lazy-loaded individual fields via PhpStan extra typing. The measured speed improvement is actually extremely small, and possibly even non-existent (!), even for our largest projects. Something like 1.01 ± 0.09 times faster than before. But we still keep it, because the work is already done, and it gives other minor advantages, such as: - less indented code - easier access to specific mutation via name instead of numerical index - _maybe_ less memory usage (though I didn't measure it) * Properly lazy load generated types too #10525 * Happy Stan #10525 * API types Date and Chronos accept native Date as input #10503 Because we implicitly transform them into string via Natural's HTTP link * Drop `allowedHosts` because it has no effect anymore #10503 * Linting in pre-commit hook #10483 Not everything can be fixed automatically by eslint, but at least we avoid pushing broken things to CI. * Update Felix for fixed native enum in queries #10570 * Update all PHP deps #10257 Except: - doctrine/lexer:^2.1 because of doctrine/lexer#124 * Use DB strict mode when inserting test data Because we should know exactly what we are doing and not accidentally cast things to unexpected values. So we can avoid bugs as seen in commit 894741693987b066f9fe470db3bd9c45a15d3418 * Angular 18.1 and all JS deps #10322 Except: - @types/node, we run on node 18 * Leverage `provideAnimationsAsync()` #10322 For an initial total ~50KB smaller * Leverage `eventCoalescing` #10322 For small performance boost when handling events * Use TypeScript bundler module resolution #10322 The TypeScript language service benefits from this option by allowing import auto-discovery to leverage any exports defined for a package. This is particularly useful for packages such as `@angular/material` which makes extensive use of secondary package exports. * Fix ngscroll thumb width and color (according to theme) ngx-scrollbar plugin changed again the name of the property to set the thumb thickness. We needed to change the property appareance to compact too to avoid horizontal scrollbar to appears because of the presence of the vertical scrollbar. * Fix multiple vertical scrolls on mass edit modal And fix app-card right border that should not be displayed on this modal. --------- Co-authored-by: Adrien Crivelli <[email protected]> Co-authored-by: David M <[email protected]>
Does this PR needs more than one approval to be merged ? or can it already be merged ? |
I'd like another review |
Please kindly squash your commits together. If you don't, we'll try to remember to do it for you but it's best if you save us this trouble. How to do that?
|
That means that `Lexer\::getType()` might transform `$value` into string|int|float|bool, but never into objects.
Squashed |
Thanks @PowerKiKi ! |
@derrabus, this a new version of #119, which might better explain the issue. I'll polish the code if we agree that this might get merged. What do you think ?
Closes #119