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 |
|
vladar
|
8f80389ecf
|
Moved parse/serialize methods from abstract ScalarType class to LeafType interface (as EnumType implements them as well)
|
2016-11-01 23:50:18 +07:00 |
|
vladar
|
e56eb6e10d
|
Replaced \UnexpectedValueException with GraphQL\Error\InvariantViolationException; Improved some instanceof checks
|
2016-11-01 23:40:37 +07:00 |
|
vladar
|
19436c326d
|
Infer type name from className for enum and scalar types as well
|
2016-10-24 16:47:39 +07:00 |
|
vladar
|
e4fa881cc3
|
Infer type name from class name for those using inheritance
|
2016-10-23 21:32:54 +07:00 |
|
vladar
|
2ef58a615f
|
Several minor tweaks
|
2016-10-23 05:06:36 +07:00 |
|
vladar
|
9941a0143a
|
Added DefinitionContainer interface to enable compositional use of user-land types (vs extending ObjectType, InterfaceType, etc). Very similar to IteratorAggregate vs Iterator
|
2016-10-23 05:05:50 +07:00 |
|
vladar
|
c11f25794a
|
Deprecated callbacks in "type" option of field/argument definitions (see #35)
|
2016-10-23 00:49:25 +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
|
6c076e21d4
|
Another minor improvement to error formatting
|
2016-10-21 18:36:49 +07:00 |
|
vladar
|
7f1d74f980
|
Improved error reporting for invalid field definitions
|
2016-10-21 18:17:20 +07:00 |
|
vladar
|
927997a705
|
Various tools for better error reporting / formatting
|
2016-10-21 17:46:35 +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
|
2b305ad6e2
|
Updated config validation rules
|
2016-10-21 15:52:58 +07:00 |
|
vladar
|
6d7a4a4f34
|
Fixed tests broken by recent changes to serialized error format
|
2016-10-21 15:28:24 +07:00 |
|
vladar
|
c25a29213c
|
Fixed reported path for error; deprecated old FormattedError tool
|
2016-10-21 04:47:07 +07:00 |
|
vladar
|
2369454687
|
Minor comment tweaks + ability to define enum values as simple k=>v pairs
|
2016-10-21 03:10:06 +07:00 |
|
vladar
|
3ba187ec04
|
Added missing one-line shorthand for field arguments
|
2016-10-21 00:06:34 +07:00 |
|
vladar
|
fc37515ec2
|
Replaced instanceof check with is_array for shorthand notation of field definitions (as instanceof might be pretty slow)
|
2016-10-20 19:15:20 +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
|
357166791a
|
Consistent coding style + doc block comments for Types and Utils
|
2016-10-17 19:14:29 +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 |
|
Vladimir Razuvaev
|
f91cbf3409
|
Merge pull request #51 from geshido/master
Fix fatal error with deprecated directive fields in introspection query
|
2016-09-16 16:48:07 +07:00 |
|
vladar
|
4b651d80a5
|
Fixed php notice with deprecated schema constructor
|
2016-09-15 17:32:54 +07:00 |
|
Yury
|
6b97439877
|
Fix fatal error when GraphiQL tries to run introspection query
|
2016-09-15 15:47:56 +07:00 |
|
Yury
|
dab3e52242
|
Fix fatal error
|
2016-09-15 14:34:50 +07:00 |
|
vladar
|
f7c8c670fe
|
Fixed syntax errors specific to PHP5.5- to still support PHP5.4+
|
2016-09-14 18:47:34 +07:00 |
|
vladar
|
26db43e7c4
|
Enabled subscriptions in executor
|
2016-09-14 18:47:34 +07:00 |
|
vladar
|
31f40f5e26
|
Fixed scalar Int to respect min/max values according to graphql spec; added descriptions to scalars
|
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
|
a6a4f7862b
|
Several validator fixes
|
2016-09-14 18:41:02 +07:00 |
|
vladar
|
e82f887918
|
Fixed visitor; more visitor tests
|
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
|
8ab7a9a438
|
Implemented covariant return types for interface fields (#23)
|
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
|
86adfde0a0
|
Updated AST to 2016 spec version
|
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 |
|