Long — GraphQL Custom Scalar

Author – jakobmerrild

Date - 2025-12-18

1Overview

This scalar represents a 64-bit signed integer (non-fractional) value, ranging from -2^63 to 2^63-1.

2Name

The scalar should be named Long to match commonly used names for the same data structure in a variety of programming languages. Alternatively the scalar can be named Int64 to represent the 64-bit encoding.

3Result spec

A field of type Long should result in a string value representing a base-10 encoding of the underlying value without a fractional or exponential part. A leading - should only be added if the field represents a negative value.

These are valid examples:

Output Explanation
"0" Zero is a valid integer within the range
"-9223372036854775808" This is the lowest value that can be represented in the range
"9223372036854775807" This is the largest value that can be represented in the range

These are invalid examples:

Output Explanation
"+1234" Leading + is not allowed
"-10223372036854775808" Value is lower than -2^63
"12223372036854775807" Value is greater than 2^63-1
"123.0" Fractional part is not allowed even if it is zero
"1e6" Exponential notation is not allowed, even if it represents a valid value
12345 Number representations of a valid value are not allowed

4Input spec

For input string values shall be accepted so long as they fall within the range represented by the spec.

These are valid examples:

Input Explanation
"0" StringValue within range
"-9223372036854775808" This is the lowest value that can be represented in the range
"9223372036854775807" This is the largest value that can be represented in the range

These are invalid examples:

Input Explanation
"-10223372036854775808" Value is lower than -2^63
"12223372036854775807" Value is greater than 2^63-1
"123.0" FloatValue is not allowed
"FFFFF" A StringValue containing a base-16 representation of a valid value is not allowed
"6543.000" A StringValue containing a base-10 representation with a fractional part is not allowed. Even if the fractional part is zero
987654321 An IntValue containing a base-10 representation of the value is not allowed
  1. 1Overview
  2. 2Name
  3. 3Result spec
  4. 4Input spec