mirror of
https://github.com/graphql-python/graphene.git
synced 2026-01-18 22:39:09 +03:00
30 lines
624 B
Python
30 lines
624 B
Python
from __future__ import absolute_import
|
|
|
|
from uuid import UUID as _UUID
|
|
|
|
from graphql.language import ast
|
|
|
|
from .scalars import Scalar
|
|
|
|
|
|
class UUID(Scalar):
|
|
"""UUID"""
|
|
|
|
@staticmethod
|
|
def serialize(uuid):
|
|
if isinstance(uuid, str):
|
|
uuid = _UUID(uuid)
|
|
assert isinstance(uuid, _UUID), "Expected UUID instance, received {}".format(
|
|
uuid
|
|
)
|
|
return str(uuid)
|
|
|
|
@staticmethod
|
|
def parse_literal(node):
|
|
if isinstance(node, ast.StringValue):
|
|
return _UUID(node.value)
|
|
|
|
@staticmethod
|
|
def parse_value(value):
|
|
return _UUID(value)
|