Commit Graph

16 Commits

Author SHA1 Message Date
Daniel Tschinder
8747ff8954 RFC: Block String
This RFC adds a new form of `StringValue`, the multi-line string, similar to that found in Python and Scala.

A multi-line string starts and ends with a triple-quote:

```
"""This is a triple-quoted string
and it can contain multiple lines"""
```

Multi-line strings are useful for typing literal bodies of text where new lines should be interpretted literally. In fact, the only escape sequence used is `\"""` and `\` is otherwise allowed unescaped. This is beneficial when writing documentation within strings which may reference the back-slash often:

```
"""
In a multi-line string \n and C:\\ are unescaped.
"""
```

The primary value of multi-line strings are to write long-form input directly in query text, in tools like GraphiQL, and as a prerequisite to another pending RFC to allow docstring style documentation in the Schema Definition Language.

Ref: graphql/graphql-js#926
2018-02-10 18:43:26 +01:00
Daniel Tschinder
46816a7cda Uniform parsing of queries with short-hand syntax with regular queries 2018-02-09 14:33:04 +01:00
Adrien Crivelli
5cbaf973e1
Leverage PHPUnit setExpectedException() instead of custom code
Closes #219
2018-01-01 18:06:08 +09: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
296544089c Moved GraphQL\Utils to GraphQL\Utils\Utils 2017-07-10 19:53:46 +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
vladar
660200ed50 GraphQL\Language\AST\NodeType -> GraphQL\Language\AST\NodeKind 2016-11-19 17:31:47 +07:00
vladar
8d696edee5 Renamed AST nodes to *Node to disambiguate types 2016-11-19 06:12:18 +07:00
vladar
8a676cde99 Support for NullValue 2016-11-18 23:59:28 +07:00
Andreas Heiberg
46788f2ddb move NodeTypes enum to seperate class 2016-11-16 18:02:58 +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
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
4f4776726d Updated parser to 2016 spec version; schema language parsing 2016-09-14 18:41:02 +07:00
Jeremiah VALERIE
1bc5e0c9da Use PSR-4 Autoloader for tests 2016-04-09 14:14:40 +02:00
vladar
022c962942 New language features (NamedType, directives rethinking) 2015-08-17 02:53:11 +06:00
vladar
20c482ce2f Version 0.1 2015-07-15 23:05:46 +06:00