Skip to main content

Allow full unicode range

At a glance


This spec text implements #687 (full context and details there) and also introduces a new escape sequence.

Three distinct changes:

  1. Change SourceCharacter to allow points above 0xFFFF, now to 0x10FFFF.
  2. Allow surrogate pairs within StringValue. This handles illegal pairs with a parse error.
  3. Introduce new syntax for full range code point EscapedUnicode. This syntax (\u{1F37A}) has been adopted by many other languages and I propose GraphQL adopt it as well.

(As a bonus, this removes the last instance of a regex in the lexer grammar!)

Reference implementation

Closes #687 Closes #214