Commit Graph

248 Commits

Author SHA1 Message Date
Vladimir Razuvaev
21e3445754 Merge pull request #116 from leocavalcante/resolve-callables
Resolve callables by default
2017-06-27 00:37:30 +07:00
Vladimir Razuvaev
1657f0e9bd Merge branch 'master' into v0.10 2017-06-26 17:47:36 +07:00
Daniel Tschinder
65ef159ddc
Support PHP7 error exceptions everywhere
Also replace \Error with \Throwable
2017-06-25 07:33:28 -07:00
Vladimir Razuvaev
61368c59f2 Merge branch 'master' of https://github.com/webonyx/graphql-php 2017-06-24 22:45:40 +07:00
Vladimir Razuvaev
a0657b7847 Refactored Lexer algorithm for better performance. Now O(N) vs O(N^2) previously (#137) 2017-06-24 22:42:55 +07:00
Vladimir Razuvaev
141afc1cf7 Merge pull request #131 from n1ru4l/feature-disable-introspection-validation-rule
Add DisableIntrospection validation rule
2017-06-19 13:35:23 +07:00
Simon Podlipsky
6a4785dc4a
Fixed incorrect type hints in method docs 2017-06-18 12:29:29 +02:00
Laurin Quast
719a438628 Adds DisableIntrospection validation rule to the DocumentValidator (default: disabled) 2017-06-17 14:51:38 +02:00
Laurin Quast
1c62f554ae Implements DisableIntrospection validation rule 2017-06-17 14:50:24 +02:00
Vladimir Razuvaev
ffc4542cd0 Improvements in config validation 2017-06-12 22:48:48 +07:00
Vladimir Razuvaev
e7cde5ecf3 Fixed broken 5.4 build 2017-06-03 17:17:42 +07:00
Vladimir Razuvaev
bc4b990946 Do not run query complexity validation if there were other validation errors (as it will throw and mess up previous validation results), see #125 2017-06-03 17:07:01 +07:00
Vladimir Razuvaev
bc6c0e2eea Reverted float literal parsing, as it was not the cause of #125 2017-06-03 16:48:29 +07:00
Vladimir Razuvaev
4eb68bf63f Do not parse invalid input strings as floats (see #125) 2017-06-03 14:04:47 +07:00
Vladimir Razuvaev
6fb62b25b3 Fixed "out of memory" error for edge cases of resolveType() calls 2017-05-29 22:54:35 +07:00
Jeremiah VALERIE
6d5b4e5a37 Use dedicated exception for scalar type parsing error 2017-05-29 10:32:48 +02:00
leocavalcante
e07c86bd5e Default resolve callables 2017-05-07 19:21:20 -03:00
Vladimir Razuvaev
848f9c3edf Preserve backwards compatibility of Ast\Node::toArray(): do shallow conversion by default 2017-04-25 18:02:45 +07:00
Vladimir Razuvaev
835e4e6b2d Removed unnecessary loc entry in AST\Node::toArray() 2017-04-25 18:00:06 +07:00
Pascal de Vink
11a1b13b72
Use directives to calculate query complexity 2017-04-24 14:21:58 +02:00
Andreas Heiberg
ed8bf4e2b2 fix __toString() for AST Node
previously it would only shallowly convert to array causing json_encode to fail
2017-04-07 11:34:33 +01:00
Decebal Dobrica
51e67d49c7 php merge for associative array non-integer intexed 2017-03-16 10:21:26 +00:00
Vladimir Razuvaev
f77bd17eba ResolveInfo: Take in account inline fragments in getFieldSelection() 2017-03-10 19:21:27 +07:00
Vladimir Razuvaev
ce9bf33f20 Ability to load types in schema on demand (#69) 2017-03-05 03:26:22 +07:00
Vladimir Razuvaev
827bfa7907 Server: added missing return $this; statements 2017-02-27 18:19:09 +07:00
Vladimir Razuvaev
34ca931533 Sanity check to ensure that GraphQL query is string 2017-02-24 17:14:30 +07:00
Vladimir Razuvaev
3f909e3e11 Separate utility for extractTypes 2017-02-24 16:29:28 +07:00
Bernhard Schussek
e35b57601d Fixed SyncPromiseAdapter::all() to not change the order of arrays 2017-02-23 11:45:13 +01:00
petecoop
664af3d44a use constants 2017-02-20 10:31:11 +00:00
petecoop
fc629a292d BuildSchema and SchemaPrinter 2017-02-19 19:26:56 +00:00
Adam Dumas
97674cbbb9 Fixed Utils::assign() bug relating to detecting missing required keys 2017-02-13 12:50:34 -05:00
jane-olszewska
060dc51595 Set schema element description to strings retrieved from a continuous chunk of comment tokens immediately preceding the element 2017-02-06 18:33:21 +00:00
jane-olszewska
dd31ab2b80 Added a description field to schema type definition classes 2017-02-06 18:33:18 +00:00
jane-olszewska
bbb5cf1e4d Fixed comment token extraction: will no longer read one character from the next line 2017-02-06 18:13:43 +00:00
vladar
c18cd16960 GraphQL\Server: set PromiseAdapter before executing query 2017-01-26 19:24:53 +07:00
vladar
d10e933a00 Merge branch 'master' of https://github.com/webonyx/graphql-php 2017-01-26 19:18:40 +07:00
vladar
c545474715 Fixed DocBlock comment 2017-01-26 19:00:10 +07:00
vladar
2ddae2bf88 Added EXPERIMENTAL note for code related to type resolution strategies 2017-01-26 18:59:14 +07:00
Daniel Tschinder
1ff9c429d6 Fix typo in DocBlock 2017-01-26 11:18:53 +01:00
vladar
e2875953e1 Tests for new GraphQL\Server facade 2017-01-19 19:23:00 +07:00
vladar
8e75cc3d60 Merge branch 'master' of https://github.com/webonyx/graphql-php 2017-01-19 11:55:10 +07:00
OwlyCode
d022b19b4e Added compatibility with php7 error handling. 2017-01-12 17:18:25 +01:00
vladar
ceaf798b07 Merge branch 'master' of https://github.com/webonyx/graphql-php 2016-12-23 22:42:05 +07:00
Juuso Leinonen
90c4b5d9fa Changed ReactPromiseAdapter::all to preserve the array key order and added tests 2016-12-22 15:08:28 +02:00
vladar
296cc7530d Added Server class as a new facade for library, including HTTP endpoint compatible with express-graphql format 2016-12-19 20:40:46 +07:00
vladar
ff3a40d329 Execution: modified deferred behavior to be more predictable (+added more tests for them) 2016-12-17 05:14:51 +07:00
vladar
9e8e77a071 Execution: Calling resolve function directly (vs calling it via call_user_func) 2016-12-15 15:34:27 +07:00
vladar
078a1efd50 Added GraphQL\GraphQL::setDefaultFieldResolver() 2016-12-14 20:18:10 +07:00
vladar
2043cc7e75 Introduced type resolution strategies: eager and lazy (for #69) 2016-12-14 17:12:09 +07:00
vladar
ae57a72461 Deleted unused SchemaValidator 2016-12-08 06:05:40 +07:00
vladar
51d816d280 Tests for Config 2016-12-08 04:16:13 +07:00
vladar
c5bba0e7d4 Cleaning up old unused messages 2016-12-06 03:45:52 +07:00
vladar
a165c3aaab Shortened method names of PromiseAdapter 2016-12-04 15:53:23 +07:00
vladar
7ab75cd05a Execution: tests are green 2016-12-03 04:11:14 +07:00
vladar
ab4ae779af Execution: fixed rejection issue in sync promise 2016-12-03 02:48:51 +07:00
vladar
e97ca7f971 Execution: added SyncPromiseAdapter and made it default for Executor (+removed GenericPromiseAdapter) 2016-12-03 02:14:14 +07:00
vladar
48d78412ec Execution: refactored promise adapters 2016-12-03 02:06:28 +07:00
vladar
3a375bb78e Simple implementation of Promises A+ for our sync case (using queue) 2016-12-02 18:43:54 +07:00
vladar
821e96508b Execution: added promiseForAssocArray method for cases when result contains promise 2016-12-01 18:29:50 +07:00
vladar
418ee48b20 Execution: moved then method to promise adapter 2016-12-01 17:52:42 +07:00
vladar
77244d3aab Refactored executor: now works as instance with exeContext and promise adapter as properties 2016-12-01 17:09:22 +07:00
Jeremiah VALERIE
dd9062d77e Add a generic promise support.
Make lib supports promises, using a promise adapter interface.
2016-11-26 20:50:01 +01:00
vladar
4945317406 Fixing broken build for 0.8 2016-11-25 18:45:38 +07:00
vladar
c08cc2b00b Fixing broken build for 0.8 2016-11-25 18:18:53 +07:00
vladar
0969073b8a Reverted DefinitionContainer (YAGNI) 2016-11-25 16:54:57 +07:00
vladar
7c0aa4ceec Better docs and comments on breaks and deprecations for 8.0 2016-11-25 16:37:00 +07:00
vladar
b665d267c3 Changed scope of Schema props (and some others) to private 2016-11-25 16:35:46 +07:00
vladar
16bfc12ab1 Moved directive location constants to separate class 2016-11-25 16:30:35 +07:00
vladar
018ac819cf Removed deprecated error classes and added class_alias for them instead in deprecated.php 2016-11-25 16:03:04 +07:00
vladar
3d4cd15678 Added file with deprecations (for moved/renamed classes) 2016-11-25 16:02:19 +07:00
vladar
63d44fe002 Disabled deprecation notice for ResolveInfo->fieldASTs (until next version) 2016-11-19 17:37:54 +07:00
vladar
660200ed50 GraphQL\Language\AST\NodeType -> GraphQL\Language\AST\NodeKind 2016-11-19 17:31:47 +07:00
vladar
7340e30753 Types are now serializable to JSON (output their name) 2016-11-19 17:25:34 +07:00
vladar
04550f805f Differentiate between input values with no default and with default = null 2016-11-19 17:21:22 +07:00
vladar
5a17ae8246 Clearer lexer errors 2016-11-19 17:08:20 +07:00
vladar
0ab55ec0d9 Replaced "AST" with "Node" in variable names for better readability 2016-11-19 06:47:55 +07:00
vladar
5aad8b596b Consistent docblock comments for arrays 2016-11-19 06:19:41 +07:00
vladar
8d696edee5 Renamed AST nodes to *Node to disambiguate types 2016-11-19 06:12:18 +07:00
vladar
5ce9a7009a Renamed default resolver 2016-11-19 04:22:08 +07:00
vladar
439959b292 Enforce input coercion rules 2016-11-19 04:15:40 +07:00
vladar
f672f0c90c Added validation rule for unique directives per location 2016-11-19 00:21:56 +07:00
vladar
8a676cde99 Support for NullValue 2016-11-18 23:59:28 +07:00
vladar
5d889ccacd Reverted several breaking changes from #75; tests are green 2016-11-16 18:37:35 +07:00
Andreas Heiberg
b2c8d8eeb1 [style changes] Lexer 2016-11-16 18:14:46 +07:00
Andreas Heiberg
d8ca5f4183 move to NodeType enum 2016-11-16 18:07:56 +07:00
Andreas Heiberg
816fa067b3 type hint Name node in visitor 2016-11-16 18:06:25 +07:00
Andreas Heiberg
46788f2ddb move NodeTypes enum to seperate class 2016-11-16 18:02:58 +07:00
Andreas Heiberg
2e25f51829 [style change] put VisitorOperation up top 2016-11-16 17:30:25 +07:00
Andreas Heiberg
80a662564e [style changes] arrays and callback 2016-11-16 17:29:50 +07:00
Andreas Heiberg
3c98963f72 remove static functions from Printer 2016-11-16 17:22:57 +07:00
vladar
bacb0649c2 Minor objectType refactoring 2016-11-11 01:00:32 +07:00
vladar
add2621a33 Replaced directive locations array with constants 2016-11-08 16:55:33 +07:00
vladar
1927102183 Minor executor tweaks 2016-11-07 19:52:44 +07:00
vladar
6023c0ff60 Refactoring abstract type resolution 2016-11-07 17:28:47 +07:00
vladar
afbd5dbc90 Removed last traces of field memoization 2016-11-07 16:26:02 +07:00
vladar
1672bd33e3 Minor comments improvement 2016-11-02 05:08:17 +07:00
vladar
61245213c4 Minor instanceof tweak 2016-11-02 00:41:44 +07:00
vladar
22e41a3729 Validate type/field/argument names 2016-11-02 00:14:44 +07:00
vladar
3b0e52f254 Updated AST Utils to match the behavior of reference implementation 2016-11-02 00:11:33 +07:00
vladar
443845d1f9 Added missing short-hand notation for input type fields 2016-11-02 00:07:10 +07:00