Jáchym Toušek
25e341e9d9
Allow objects with __toString in IDType
2017-12-12 08:56:03 +01:00
Vladimir Razuvaev
1487741f37
Preserve description for custom scalars ( #181 )
2017-10-14 00:45:23 +07:00
Vladimir Razuvaev
f7248dec76
Ability to override internal types (using types
option of Schema class) #174
2017-09-22 23:08:51 +07:00
Vladimir Razuvaev
6050af4e67
Add support for directives applied on IDL & Schema
2017-09-20 17:43:06 +07:00
Vladimir Razuvaev
5f5c8118c0
Fixed parseValue
of StringType and IDType: (it should return null on invalid value, not throw)
2017-09-20 16:38:02 +07:00
Vladimir Razuvaev
2023b427ae
Fixed failed integer test (only fails on some OSs and PHP versions)
2017-09-20 16:20:51 +07:00
Derek Lavigne
d22385cc93
Update query variable coercion to meet the rules outlined in the
...
specification.
The framework currently coerces query variables similar to the way it
treats output values, which means it attempts to coerce the value into
the field's corresponding data type regardless of the received value.
According to items 3f and 3g in section 6.1.2
(http://facebook.github.io/graphql/#sec-Validating-Requests ) of
Facebook's GraphQL specification query variables should be coerced
according to their type's input coercion rules laid out in section
3.1.1 (http://facebook.github.io/graphql/#sec-Scalars ). If the value
can not be coerced into the correct type according the the input
coercion rules for the type a query error should be thrown. This
ensures that client provided query variables were of the correct format
and will be a valid format and type by the time they are passed into an
implementing resolver.
This patch fixes the above issue by updating the way query variables
are sanitized during the process of parsing the query. It directly
follows the rules for scalar input coercion laid out by the
specification and throws query errors when a value that cannot be
coerced to the correct type is given. Tests for isValidPHPValue will
also be updated to ensure that it is doing the correct type checks on
Values::isValidPHPValue for the given type and value provided. A new
test case will also be added to test Values::getVariableValues and make
sure it is also enforcing the scalar input coercion rules and throwing
errors for invalid values.
2017-09-18 12:14:09 -04:00
Vladimir Razuvaev
de791536ce
Docblocks improvements
2017-08-20 22:10:13 +07:00
Vladimir Razuvaev
bd444752f8
Documentation and docblock improvements
2017-08-20 16:00:44 +07:00
Vladimir Razuvaev
1b4f983f3f
Improved docblock comments (suitable for reference docs generation)
2017-08-19 23:01:46 +07:00
Vladimir Razuvaev
9499e5ae8e
Suppressing Config deprecation warning in tests
2017-08-18 18:07:23 +07:00
Vladimir Razuvaev
51e877bfba
Improving docblock comments
2017-08-17 02:15:49 +07:00
Vladimir Razuvaev
f369d4e2d4
Reverted unnecessary breaking change
2017-08-15 23:39:07 +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
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
08a68d4857
Throwing GraphQL\Error\Error
vs GraphQL\Error\UserError
from type definitions
2017-07-19 19:39:10 +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
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
9551569ffe
Merge branch 'lazy-types' into v0.10
...
# Conflicts:
# src/Executor/Executor.php
2017-07-10 17:11:41 +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
4c96193027
Fix: isLeafType should not return true for ListOfType and NonNull wrappers
2017-07-04 13:17:09 +07:00
Vladimir Razuvaev
29c1132554
getValue() for EnumType (and getEnumValue() for TypeInfo)
2017-07-03 23:23:12 +07:00
Vladimir Razuvaev
b471938f16
Consistent validation of type names + reject names starting with __
2017-07-03 18:04:08 +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
ffc4542cd0
Improvements in config validation
2017-06-12 22:48:48 +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
Jeremiah VALERIE
6d5b4e5a37
Use dedicated exception for scalar type parsing error
2017-05-29 10:32:48 +02: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
3f909e3e11
Separate utility for extractTypes
2017-02-24 16:29:28 +07:00
petecoop
fc629a292d
BuildSchema and SchemaPrinter
2017-02-19 19:26:56 +00: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
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