Commit Graph

244 Commits

Author SHA1 Message Date
vladar
ff3a40d329 Execution: modified deferred behavior to be more predictable (+added more tests for them) 2016-12-17 05:14:51 +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
90e29ac704 Fixing tests for HHVM 2016-12-08 04:50:33 +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
26db4c76c6 Fixed tests for PHP7+ 2016-12-03 04:31:01 +07:00
vladar
fd335a1d13 Execution: tests are green 2016-12-03 04:23:21 +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
3a375bb78e Simple implementation of Promises A+ for our sync case (using queue) 2016-12-02 18:43:54 +07:00
Jeremiah VALERIE
76c31df1af Add Executor Promise tests 2016-11-26 23:51:42 +01:00
Jeremiah VALERIE
35d7d83088 Add Lists Promise tests 2016-11-26 22:28:46 +01:00
Jeremiah VALERIE
7f1e9d051b Add Mutation Promise tests 2016-11-26 20:50:01 +01:00
Jeremiah VALERIE
2ad79adf0c Add NonNull Promise tests 2016-11-26 20:50:01 +01: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
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
8d696edee5 Renamed AST nodes to *Node to disambiguate types 2016-11-19 06:12:18 +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
9bf8e82d7c Minor fix to StarWarsSchema type language in comments 2016-11-18 20:32:09 +07:00
vladar
5d889ccacd Reverted several breaking changes from #75; tests are green 2016-11-16 18:37:35 +07:00
Andreas Heiberg
d8ca5f4183 move to NodeType enum 2016-11-16 18:07:56 +07:00
Andreas Heiberg
46788f2ddb move NodeTypes enum to seperate class 2016-11-16 18:02:58 +07:00
Andreas Heiberg
3c98963f72 remove static functions from Printer 2016-11-16 17:22:57 +07:00
vladar
3b0e52f254 Updated AST Utils to match the behavior of reference implementation 2016-11-02 00:11:33 +07:00
vladar
e56eb6e10d Replaced \UnexpectedValueException with GraphQL\Error\InvariantViolationException; Improved some instanceof checks 2016-11-01 23:40:37 +07:00
vladar
e4fa881cc3 Infer type name from class name for those using inheritance 2016-10-23 21:32:54 +07:00
vladar
c11f25794a Deprecated callbacks in "type" option of field/argument definitions (see #35) 2016-10-23 00:49:25 +07:00
vladar
9964c88f32 Updated StarWars tests 2016-10-23 00:46:15 +07:00
vladar
f443c6b1ba Fixed broken test 2016-10-22 17:29:18 +07:00
vladar
276a58f6d1 Reverted one minor breaking change 2016-10-22 17:19:40 +07:00
vladar
a612b780c9 Return stdClass vs empty array for empty ObjectType values (see #59) 2016-10-22 17:16:47 +07:00
vladar
2675b65095 Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
vladar
6d7a4a4f34 Fixed tests broken by recent changes to serialized error format 2016-10-21 15:28:24 +07:00
vladar
3ba187ec04 Added missing one-line shorthand for field arguments 2016-10-21 00:06:34 +07:00
vladar
5148c3bf03 Allow one-liner shorthand for field definitions (#47) 2016-10-20 19:09:48 +07:00
vladar
09cc313072 Allow to define enum values by simply passing array of strings, e.g. 'values' => ['ONE', 'TWO', 'THREE'] 2016-10-20 19:01:30 +07:00
vladar
0a79be8409 Updated introspection query and related tests for recent changes 2016-10-19 01:35:18 +07:00
vladar
236021acf8 Added deprecated directive; changed custom directives handling in schema; various minor tweaks 2016-10-19 01:34:46 +07:00
vladar
7625d6abf1 Scalar serialization now throws on spec-incompatible values vs returning null 2016-10-19 01:23:38 +07:00
vladar
0a182ac53c Improved enums (now they can handle complex values) 2016-10-19 01:21:47 +07:00
vladar
7f22d4b874 Spec compliance improvement: data key should not exist in response when it is null / missing (#56) 2016-10-18 22:25:39 +07:00
vladar
3e2d9459aa resolveType for interface/unions is now allowed to return type name vs instance 2016-10-18 22:23:20 +07:00
vladar
89eb6dede9 Breaking change when returning Closure from resolver: this closure is expected to have different signature now (shouldn't affect most of the users) 2016-10-18 22:20:51 +07:00
vladar
a94640f9d2 Enabled GraphQL\Error to include path to failed value during execution step (not location in source query, but exact path to value, including index in array, etc) + tests for errors 2016-10-18 22:15:21 +07:00
vladar
c0f7ec099d Several executor tests 2016-10-18 20:30:15 +07:00
vladar
cd14146032 Updated parser to consume latest lexer; New public parser API methods: parseType and parseValue; added directives to schema parser/printer 2016-10-17 02:57:24 +07:00
vladar
3eeb4d450b Reworked lexer: tokens are now represented as double linked list 2016-10-17 02:53:50 +07:00
vladar
f9e97ea296 Fixed several broken tests 2016-09-14 19:36:10 +07:00
vladar
2c50c51432 Fixed issue in lazy interface test where query type definition incorrectly initialized type that was supposed to be tested for laziness 2016-09-14 18:47:34 +07:00
vladar
1f71ffc3fc Added test to catch regressions in lazy interface declarations (see #38) 2016-09-14 18:47:34 +07:00
vladar
26db43e7c4 Enabled subscriptions in executor 2016-09-14 18:47:34 +07:00
vladar
c3d7a49a08 Updated executor and it's tests for april2016 specs 2016-09-14 18:47:34 +07:00
vladar
00f12b3197 Fixed definition tests; added enum tests 2016-09-14 18:41:02 +07:00
vladar
183a9d72cf Introspection for april 2016 spec + fixed tests 2016-09-14 18:41:02 +07:00
vladar
e7c7924dc0 New AST utils + test 2016-09-14 18:41:02 +07:00
vladar
e82f887918 Fixed visitor; more visitor tests 2016-09-14 18:41:02 +07:00
vladar
3dec7a9995 Test complete validation 2016-09-14 18:41:02 +07:00
vladar
800d8ba25f Continue updating validator rules for april2016 spec 2016-09-14 18:41:02 +07:00
vladar
f1ddc98390 Updating validator rules for april2016 spec 2016-09-14 18:41:02 +07:00
vladar
17081cec1c More AST visitor tests 2016-09-14 18:41:02 +07:00
vladar
687b023616 Schema language parsing / printing 2016-09-14 18:41:02 +07:00
vladar
4f4776726d Updated parser to 2016 spec version; schema language parsing 2016-09-14 18:41:02 +07:00
vladar
c053169671 Updated Lexer and LexerTest to april 2016 spec 2016-09-14 18:41:02 +07:00
Matthew Leverton
7c6f216578 Change Lexer::readString to decode escaped characters to their literal values 2016-07-14 13:32:57 -05:00
Jeremiah VALERIE
3ae6c73367 Removed memoization on executor resolveField (see #43) 2016-06-10 11:57:43 +02:00
Jeremiah VALERIE
be46b14441 Fix ResolveInfo::getFieldSelection() when using multiple fragments on the same field. 2016-05-18 16:20:53 +02:00
Jérémiah VALERIE
327cc52601 Add ExecutionResult $extensions
https://facebook.github.io/graphql/#sec-Response-Format
2016-04-25 14:44:08 +02:00
vladar
4d024ee85e Test for lazy interface initialization + minor related tweak 2016-04-20 18:04:11 +06:00
Jeremiah VALERIE
545fe616a0 Add Complexity and Depth Query Security 2016-04-09 15:31:07 +02:00
Jeremiah VALERIE
1bc5e0c9da Use PSR-4 Autoloader for tests 2016-04-09 14:14:40 +02:00
vladar
68d8681983 #30 Fixed recursion bug in ResolveInfo::getFieldSelection() 2016-04-01 16:30:52 +06:00
vladar
201fb7754f Additional test case for input type fields definition as closure 2016-02-27 12:30:45 +06:00
vladar
d37fb34e96 Ability to define interface fields with closure 2016-02-27 12:29:45 +06:00
vladar
b890ef7cfe Ability to define InputObjectType fields with closure (#22) 2016-02-24 23:25:36 +06:00
vladar
98e5835620 Avoid infinite loop when using recursive types and interfaces (#16) 2016-01-01 19:16:25 +06:00
Andy Truong
968da9d122 Add subscriptionType. 2015-12-21 06:35:22 +07:00
vladar
68fb4ceb9c Refactored facade to simplify custom output formatting 2015-11-02 20:39:51 +06:00
vladar
3b3da9e066 Several performance improvements (#8) 2015-10-25 14:23:15 +06:00
vladar
d982bad63a Make sure default argument values are passed to resolve function (#4) 2015-10-23 17:30:02 +06:00
vladar
83f42825f8 Reverted mapping executor (#6) 2015-10-23 15:44:01 +06:00
vladar
3edf6248b0 Mapping Executor 2015-09-01 01:44:03 +06:00
vladar
5241c8a5d3 Better error messages for config validation 2015-08-30 13:41:41 +06:00
vladar
841d6ab851 Updated to latest version of graphql-js 2015-08-17 20:01:55 +06:00
vladar
022c962942 New language features (NamedType, directives rethinking) 2015-08-17 02:53:11 +06:00
vladar
1b2f74f115 More star wars tests 2015-08-16 16:17:35 +06:00
vladar
20c482ce2f Version 0.1 2015-07-15 23:05:46 +06:00