mashafrancis/butternut-user

View on GitHub
src/app/common/scalars/date.scalar.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { CustomScalar, Scalar } from '@nestjs/graphql';
import { Kind } from 'graphql';

@Scalar('Date')
export class DateScalar implements CustomScalar<number, Date> {
    description = 'Date custom scalar type';

    parseValue(value: number): Date {
        return new Date(value); // value from the client
    }

    serialize(value: Date): number {
        return value.getTime(); // value sent to the client
    }

    parseLiteral(ast: any): Date {
        if (ast.kind === Kind.INT) {
            return new Date(ast.value);
        }
        return null;
    }
}