sample-proxies/graphql-sample/graphql-proxy/apiproxy/resources/jsc/graphql.jsc.js
/**
     * ObjectTypeExtension :
     *  - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition
     *  - extend type Name ImplementsInterfaces? Directives[Const]
     *  - extend type Name ImplementsInterfaces
     */
ObjectTypeExtension :
- extend type Name ImplementsInterfaces. Directives[Const].
ObjectTypeExtension : - extend type Name ImplementsInterfaces . Directives [ Const ] .
function parseObjectTypeExtension(lexer) {
      var start = lexer.token;
      expectKeyword(lexer, 'extend');
      expectKeyword(lexer, 'type');
      var name = parseName(lexer);
      var interfaces = parseImplementsInterfaces(lexer);
      var directives = parseDirectives(lexer, true);
      var fields = parseFieldsDefinition(lexer);
      if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {
        throw unexpected(lexer);
      }
      return {
        kind: Kind.OBJECT_TYPE_EXTENSION,
        name: name,
        interfaces: interfaces,
        directives: directives,
        fields: fields,
        loc: loc(lexer, start)
      };
    }
function parseObjectTypeExtension ( lexer ) { var start = lexer . token ; expectKeyword ( lexer , 'extend' ) ; expectKeyword ( lexer , 'type' ) ; var name = parseName ( lexer ) ; var interfaces = parseImplementsInterfaces ( lexer ) ; var directives = parseDirectives ( lexer , true ) ; var fields = parseFieldsDefinition ( lexer ) ; if ( interfaces . length === 0 && directives . length === 0 && fields . length === 0 ) { throw unexpected ( lexer ) ; } return { kind : Kind . OBJECT_TYPE_EXTENSION , name : name , interfaces : interfaces , directives : directives , fields : fields , loc : loc ( lexer , start ) } ; }
ObjectTypeExtension :
  - extend type Name ImplementsInterfaces?
ObjectTypeExtension : - extend type Name ImplementsInterfaces?