Как бросить свою ошибку в скалярных типах - PullRequest
0 голосов
/ 11 января 2020

Я столкнулся с такой проблемой, что не могу сбросить ошибку скалярного типа.

пример

export default new GraphQLScalarType({
...
  parseValue() {
    const error = new Error("errorMessage");
    error.extensions = { code: "codeError", dukar: 1000 };
    throw error;
},
...
})

в ответе, который я вижу

"error": {
    "errors": [
      {
        "message": "Variable \"$message\" got invalid value \"gugasdfghj@mhjkjjajijfru\" at \"message.email\"; Expected type EmailAddress. errorMessage",
        "locations": [
          {
            "line": 1,
            "column": 11
          }
        ],
        "extensions": {
          "code": "codeError",
          "dukar": 1000,
          "exception": {
            "stacktrace": [
              "Error: errorMessage","..."
            ]
          }
        }
      }
    ]
  }
}

Я ожидаю ответа

"error": {
    "errors": [
      {
        "message": "errorMessage",
        "locations": [
          {
            "line": 1,
            "column": 11
          }
        ],
        "extensions": {
          "code": "codeError",
          "dukar": 1000,
        }
      }
    ]
  }

, когда я использую throw new ApolloError, ничего не меняется. В чем причина? Как это исправить?

...