Skip to content

Rename Coercion functions #2357

Closed
Closed
@andimarek

Description

@andimarek

The Coercion functions for Scalars are currently named:

  1. serialize: this is result or output coercion
  2. parseValue: this is runtime object input coercion
  3. parseLiteral: this is Ast literal input coercion
  4. (See Convert arbitrary scalar values into ASTs and back #1817): serializeAsLiteral this takes an input value and converts it to an Ast literal

I don't think the current names align very well with the spec: the spec talks about "Result Coercion" and "Input Coercion". Also parseValue doesn't parse anything, but convert a runtime input value to an internal value.

In my mental model parseValue and parseLiteral produce a internalInputValue and serializeAsLiteral converts the internalInputValue to a literal.

First rough idea (I am sure we can do better, just to start the discussion)

  1. coerceOutput or coerceResult (the spec talks about result coercion, but output would mirror input)
  2. coerceInputValue
  3. coerceInputLiteral
  4. coerceInternalValueAsLiteral

In GraphQL Java we are also thinking about renaming (and adding a 4th one) and it would be great to have a discussion about a more clear naming.

Activity

added this to the 16.0.0-alpha.1 milestone on Jan 18, 2020
removed this from the 16.0.0-alpha.1 milestone on Aug 13, 2020
sungam3r

sungam3r commented on Mar 14, 2021

@sungam3r

Just for information. GraphQL.NET in v4 has 7 methods for any scalar . See ScalarGraphType.

yaacovCR

yaacovCR commented on Oct 17, 2024

@yaacovCR
Contributor

Closed by #4218 and #4241

added a commit that references this issue on Oct 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @andimarek@yaacovCR@IvanGoncharov@sungam3r

        Issue actions

          Rename Coercion functions · Issue #2357 · graphql/graphql-js