🎧
graphql-scalars を使って基本的なデータ型を再定義しない生活
graphql-scalars というライブラリーがある。
一般的なデータ型がすでに定義されていて、自分で定義せずともスカラーとして使うことができる。
使いたいな、と思ったものはソースコードに定義がないか確認してみると良い。公式サイトの一覧は古いらしく、ここにないものもあるので、ソースコードを見るのが確実だ。
使い方
公式サイトの記述が少しわかりづらいので少し補足。
まず使いたいデータ型を GraphQL スキーマで次のようにスカラーとして宣言してやる。
scalar DateTime
次に、対応する resolver を import
して指定してやればいい。
import { DateTimeResolver } from "graphql-scalars";
const resolvers = {
DateTime: DateTimeResolver,
Query: {
// some queries
},
Mutation: {
// some mutations
},
};
これで DateTime をスカラーとして使えるようになった。
Discussion