Vladimir Razuvaev
|
90602b31ba
|
Added link to docs for generic error about unique type instance (#149)
|
2017-08-20 22:28:17 +07:00 |
|
Vladimir Razuvaev
|
de791536ce
|
Docblocks improvements
|
2017-08-20 22:10:13 +07:00 |
|
Vladimir Razuvaev
|
d5e3d08d85
|
Minor Executor tweaks
|
2017-08-20 20:09:55 +07:00 |
|
Vladimir Razuvaev
|
085516bdda
|
Moved GraphQL\Language\AST\Node::fromArray to GraphQL\Utils\AST::fromArray
|
2017-08-20 19:50:44 +07:00 |
|
Vladimir Razuvaev
|
bd444752f8
|
Documentation and docblock improvements
|
2017-08-20 16:00:44 +07:00 |
|
Vladimir Razuvaev
|
71343f2f62
|
Server: Extracted method for emitting response
|
2017-08-20 02:32:50 +07:00 |
|
Vladimir Razuvaev
|
1b4f983f3f
|
Improved docblock comments (suitable for reference docs generation)
|
2017-08-19 23:01:46 +07:00 |
|
Jeremiah VALERIE
|
1c143360ca
|
Add hooks to helps promise completion with custom backend
|
2017-08-18 16:18:48 +02:00 |
|
Vladimir Razuvaev
|
203fddfe4e
|
Abstract base class for validation rules
|
2017-08-18 20:56:04 +07:00 |
|
Vladimir Razuvaev
|
9499e5ae8e
|
Suppressing Config deprecation warning in tests
|
2017-08-18 18:07:23 +07:00 |
|
Vladimir Razuvaev
|
2bfce65484
|
Fixed Parser docblock comments
|
2017-08-18 02:55:22 +07:00 |
|
Vladimir Razuvaev
|
83cc9132a0
|
Server: minor improvements
|
2017-08-18 02:54:35 +07:00 |
|
Vladimir Razuvaev
|
d578b8a22f
|
Split sync and async facade methods
|
2017-08-18 01:49:10 +07:00 |
|
Vladimir Razuvaev
|
e52fe8c384
|
BuildSchema::build() now accepts DocumentNode as well
|
2017-08-17 20:33:36 +07:00 |
|
Vladimir Razuvaev
|
03629c1e3c
|
Refactored error formatting (debugging part)
|
2017-08-17 18:49:17 +07:00 |
|
Vladimir Razuvaev
|
1d38643538
|
Ability to re-throw resolver exceptions
|
2017-08-17 03:01:23 +07:00 |
|
Vladimir Razuvaev
|
51e877bfba
|
Improving docblock comments
|
2017-08-17 02:15:49 +07:00 |
|
Vladimir Razuvaev
|
b4d767bad6
|
Moved typeFromAST() to AST util
|
2017-08-17 02:14:55 +07:00 |
|
Vladimir Razuvaev
|
a50c9a4c1f
|
Renamed error category constants
|
2017-08-17 02:13:44 +07:00 |
|
Vladimir Razuvaev
|
4634f214ea
|
Revamping GraphQL facade methods
|
2017-08-17 02:12:37 +07:00 |
|
Vladimir Razuvaev
|
b56083b7de
|
Improved flexibility of error handling
|
2017-08-17 02:11:21 +07:00 |
|
Vladimir Razuvaev
|
1ee226465b
|
Server: added missing error message
|
2017-08-16 19:22:45 +07:00 |
|
Vladimir Razuvaev
|
f369d4e2d4
|
Reverted unnecessary breaking change
|
2017-08-15 23:39:07 +07:00 |
|
Vladimir Razuvaev
|
3971001f6d
|
Server: additional tests + related fixes
|
2017-08-15 20:59:48 +07:00 |
|
Vladimir Razuvaev
|
828c6b0fc3
|
Server: disable query batching by default; allow array as server config
|
2017-08-15 18:05:09 +07:00 |
|
Vladimir Razuvaev
|
9931cde6d4
|
Tests for lazy type loading during query execution + related changed
|
2017-08-15 01:49:56 +07:00 |
|
Vladimir Razuvaev
|
e4813c3a05
|
Additional checks and tests for situations when user-land code returns duplicate type instances
|
2017-08-14 23:52:17 +07:00 |
|
Vladimir Razuvaev
|
8817d54e83
|
Validate that type loader always returns the same type instance as referenced in other parts of the schema
|
2017-08-14 22:32:07 +07:00 |
|
Vladimir Razuvaev
|
b9d3a11785
|
Extracted lazy schema test; minor related refactoring
|
2017-08-14 20:41:08 +07:00 |
|
Vladimir Razuvaev
|
f47db61907
|
Fully load all schema types in constructor when type loader is not set
|
2017-08-14 19:44:16 +07:00 |
|
Vladimir Razuvaev
|
884a8967f3
|
Type loader tests
|
2017-08-14 19:42:01 +07:00 |
|
Vladimir Razuvaev
|
20f8cab943
|
Removed schema descriptor (as lazy loading of types can work without it now)
|
2017-08-14 01:42:02 +07:00 |
|
Vladimir Razuvaev
|
f9eb14869f
|
Removed callbacks in field types (previously deprecated in #35)
|
2017-08-14 00:50:24 +07:00 |
|
Vladimir Razuvaev
|
6845b28a35
|
Deprecated GraphQL\Type\Definition\Config (#148)
|
2017-08-14 00:09:02 +07:00 |
|
Vladimir Razuvaev
|
34eae0b891
|
Schema validation + tests (#148)
|
2017-08-13 23:04:03 +07:00 |
|
Vladimir Razuvaev
|
d3580e959e
|
Moved Schema to GraphQL\Type namespace (but preserved BC)
|
2017-08-12 21:40:03 +07:00 |
|
Vladimir Razuvaev
|
f911fac7b1
|
Default error reporting now includes "category" key for every error
|
2017-08-08 02:02:07 +07:00 |
|
Vladimir Razuvaev
|
09070485c1
|
Added ability to decorate type configs in BuildSchema + made type creation lazy
|
2017-07-28 17:55:25 +07:00 |
|
Vladimir Razuvaev
|
3a8301f6c6
|
Allow types schema option to be callable
|
2017-07-28 17:53:57 +07:00 |
|
Vladimir Razuvaev
|
6a20483b87
|
Server: Ability to use thunk for root value and context
|
2017-07-27 20:11:45 +07:00 |
|
Vladimir Razuvaev
|
e7838d2253
|
Do not output trace for trivial errors even in debug mode
|
2017-07-25 20:08:34 +07:00 |
|
Vladimir Razuvaev
|
3e6f2c9e83
|
Fixed minor bugs
|
2017-07-25 19:26:41 +07:00 |
|
Vladimir Razuvaev
|
1af902865b
|
AST: new NodeList class for collections of nodes (vs array) to enable effective conversion of libgraphqlparser output to our AST tree
|
2017-07-21 22:29:59 +07:00 |
|
Vladimir Razuvaev
|
e04d3300a7
|
Server: send result for regular responses + prepare response for PSR7 request
|
2017-07-21 22:11:20 +07:00 |
|
Vladimir Razuvaev
|
b2ec265d4f
|
Server: ability to execute PSR7 request
|
2017-07-19 23:35:22 +07:00 |
|
Vladimir Razuvaev
|
87c812b221
|
Better located error handling
|
2017-07-19 20:08:42 +07:00 |
|
Vladimir Razuvaev
|
81986145fe
|
Server: moving things around to simplify
|
2017-07-19 19:55:22 +07:00 |
|
Vladimir Razuvaev
|
08a68d4857
|
Throwing GraphQL\Error\Error vs GraphQL\Error\UserError from type definitions
|
2017-07-19 19:39:10 +07:00 |
|
Vladimir Razuvaev
|
e6e531b88b
|
Server: throw only when there is a configuration or logic error (invariant violation)
|
2017-07-19 19:30:39 +07:00 |
|
Vladimir Razuvaev
|
38922dbbed
|
Default error formatter now returns "Internal server error" unless error is client-aware and safe to report directly to end-users
|
2017-07-18 20:57:30 +07:00 |
|
Vladimir Razuvaev
|
fbcd20814a
|
Scalar type serialize method now throws InvariantViolation and parseValue throws UserError
|
2017-07-18 20:52:39 +07:00 |
|
Vladimir Razuvaev
|
8e3d1eb29b
|
Merge branch 'master' of https://github.com/webonyx/graphql-php into v0.10
|
2017-07-18 00:42:52 +07:00 |
|
Vladimir Razuvaev
|
8fe26a1a21
|
String and ID types should not try to convert non-scalar values to string (#121)
|
2017-07-18 00:25:45 +07:00 |
|
Vladimir Razuvaev
|
49208d758d
|
Server: use proper batching helper
|
2017-07-17 23:48:30 +07:00 |
|
Vladimir Razuvaev
|
919cf80240
|
Server: batched queries with shared deferreds (promises) #105
|
2017-07-17 20:31:26 +07:00 |
|
Vladimir Razuvaev
|
24ffd605f4
|
New method "Executor::promiseToExecute()" which always returns promise (even for SyncPromiseAdapter)
|
2017-07-17 19:47:29 +07:00 |
|
Vladimir Razuvaev
|
0e2ac57515
|
Split HTTP server execution to canonical replaceable steps: parsing, validation, execution with separate tests for each step
|
2017-07-17 16:57:30 +07:00 |
|
Vladimir Razuvaev
|
f8c3195e54
|
Granular methods for HTTP request parsing + tests
|
2017-07-16 19:04:58 +07:00 |
|
Vladimir Razuvaev
|
794d3672ef
|
Initial pass on standard server implementation (also deprecated current GraphQL\Server which is undocumented anyway)
|
2017-07-14 19:44:18 +07:00 |
|
Vladimir Razuvaev
|
a3b40db0fb
|
Enhanced Utils::printSafe() to output more information about arrays
|
2017-07-14 15:16:43 +07:00 |
|
Vladimir Razuvaev
|
3f04d29628
|
Ability to pass custom set of validation rules when executing a query (including empty set to skip validation) #134
|
2017-07-13 20:33:09 +07:00 |
|
Vladimir Razuvaev
|
37a42ededd
|
Query validation should pass if empty array of rules is provided
|
2017-07-13 02:39:24 +07:00 |
|
Vladimir Razuvaev
|
65d9472b0b
|
Moved PromiseAdapter to ExecutionContext; allow passing it to Executor::execute() directly vs setting statically
|
2017-07-12 19:44:04 +07:00 |
|
Vladimir Razuvaev
|
aaa5b7af41
|
Global config; descriptor moved to appropriate namespace; minor cleanup
|
2017-07-12 13:16:34 +07:00 |
|
Vladimir Razuvaev
|
296544089c
|
Moved GraphQL\Utils to GraphQL\Utils\Utils
|
2017-07-10 19:53:46 +07:00 |
|
Vladimir Razuvaev
|
ed28deda81
|
Replaced trigger_error with Warning for resolveType warning
|
2017-07-10 19:38:12 +07:00 |
|
Vladimir Razuvaev
|
9551569ffe
|
Merge branch 'lazy-types' into v0.10
# Conflicts:
# src/Executor/Executor.php
|
2017-07-10 17:11:41 +07:00 |
|
Vladimir Razuvaev
|
463d995d95
|
Reverted #116 (now Executor::defaultFieldResolver checks for instanceof Closure vs is_callable again)
|
2017-07-08 15:22:17 +07:00 |
|
Vladimir Razuvaev
|
3beeb06340
|
Merge branches 'master' and 'v0.10' of https://github.com/webonyx/graphql-php into v0.10
# Conflicts:
# src/Utils/MixedStore.php
|
2017-07-06 19:50:23 +07:00 |
|
Vladimir Razuvaev
|
bc6a7a3d1d
|
Fix: allow MixedStore to accept true, false, null and floats as keys + related tests
|
2017-07-06 19:29:33 +07:00 |
|
Vladimir Razuvaev
|
24bcc65314
|
SchemaPrinter: reverted sorting of fields in printed version (as it breaks s = parse(print(s)) rule)
|
2017-07-05 19:45:02 +07:00 |
|
Vladimir Razuvaev
|
ea94ee7515
|
Utility function getDirectiveValues + related refactoring
|
2017-07-05 19:33:25 +07:00 |
|
Vladimir Razuvaev
|
a79a51d445
|
Schema Parsing: allow leading pipe for union type definitions
|
2017-07-05 19:01:13 +07:00 |
|
Vladimir Razuvaev
|
0b7d55c30d
|
SchemaPrinter: sort fields before printing to get more stable diff
|
2017-07-05 18:33:16 +07:00 |
|
Vladimir Razuvaev
|
9b9a74c1d1
|
Spec compliance: errors in buildExecutionContext() are caught and included in result rather than thrown
|
2017-07-05 17:33:59 +07:00 |
|
Vladimir Razuvaev
|
678cf5d0bf
|
Renamed argument of GraphQL::execute()
|
2017-07-05 16:26:02 +07:00 |
|
Vladimir Razuvaev
|
78d9ba0d5e
|
Allow providing default field resolver for execution call
|
2017-07-05 16:22:01 +07:00 |
|
Vladimir Razuvaev
|
9f4980ce49
|
Fix for broken build on PHP < 5.6
|
2017-07-04 22:18:55 +07:00 |
|
Vladimir Razuvaev
|
b47c87f793
|
Allow null values for enums
|
2017-07-04 20:19:52 +07:00 |
|
Vladimir Razuvaev
|
f569c6de2d
|
Spec compliance: coercion of Int values
|
2017-07-04 18:27:20 +07:00 |
|
Vladimir Razuvaev
|
90e1ea4d22
|
Added tools for warnings with ability to suppress them
|
2017-07-04 17:13:05 +07:00 |
|
Vladimir Razuvaev
|
88b85c9761
|
Make 'errors' top property in response array
|
2017-07-04 16:29:30 +07:00 |
|
Vladimir Razuvaev
|
189877c173
|
Allow passing custom TypeInfo to validate
|
2017-07-04 16:19:16 +07:00 |
|
Vladimir Razuvaev
|
a53b798f29
|
Minor spelling fix
|
2017-07-04 16:12:56 +07:00 |
|
Vladimir Razuvaev
|
fc9ad7e37a
|
Unify wording in error messages
|
2017-07-04 14:02:35 +07:00 |
|
Vladimir Razuvaev
|
76e182e616
|
Forbid duplicate type definitions
|
2017-07-04 14:01:00 +07:00 |
|
Vladimir Razuvaev
|
c3db8de9e7
|
Note about dunderscore becoming hard error in next version
|
2017-07-04 13:58:56 +07:00 |
|
Vladimir Razuvaev
|
3e1fc1a922
|
Refactored isThenable checks in Executor
|
2017-07-04 13:47:50 +07:00 |
|
Vladimir Razuvaev
|
32376dd6ee
|
Fix: type safety for TypeInfo
|
2017-07-04 13:25:01 +07:00 |
|
Vladimir Razuvaev
|
4c96193027
|
Fix: isLeafType should not return true for ListOfType and NonNull wrappers
|
2017-07-04 13:17:09 +07:00 |
|
Vladimir Razuvaev
|
c5484ae6f9
|
Convert error to warning for non-compliant usage of __ in names
|
2017-07-04 00:28:17 +07:00 |
|
Vladimir Razuvaev
|
34bd378c7e
|
Refactored executor logic related to isTypeOf
|
2017-07-04 00:09:32 +07:00 |
|
Vladimir Razuvaev
|
29c1132554
|
getValue() for EnumType (and getEnumValue() for TypeInfo)
|
2017-07-03 23:23:12 +07:00 |
|
Vladimir Razuvaev
|
14ef8ef835
|
Fixed typo in buildSchema
|
2017-07-03 23:09:50 +07:00 |
|
Vladimir Razuvaev
|
d64c352262
|
Ability for interface types to resolve type asynchronously
|
2017-07-03 23:08:20 +07:00 |
|
Vladimir Razuvaev
|
445f579f09
|
Include expected type in isValidPHPValue error message
|
2017-07-03 18:24:58 +07:00 |
|
Vladimir Razuvaev
|
e30f2a99cf
|
Pass ResolveInfo in default field resolver when value is callable
|
2017-07-03 18:14:45 +07:00 |
|
Vladimir Razuvaev
|
faf81ef18a
|
Catch exceptions in isValidPHPValue and return corresponding error message
|
2017-07-03 18:12:12 +07:00 |
|
Vladimir Razuvaev
|
b471938f16
|
Consistent validation of type names + reject names starting with __
|
2017-07-03 18:04:08 +07:00 |
|
Vladimir Razuvaev
|
b147b528e2
|
Merge branch 'v0.10' of https://github.com/webonyx/graphql-php into v0.10
|
2017-06-27 16:41:31 +07:00 |
|