🎧

graphql-scalars を使って基本的なデータ型を再定義しない生活

2023/07/18に公開

graphql-scalars というライブラリーがある。

https://github.com/Urigo/graphql-scalars

一般的なデータ型がすでに定義されていて、自分で定義せずともスカラーとして使うことができる。

使いたいな、と思ったものはソースコードに定義がないか確認してみると良い。公式サイトの一覧は古いらしく、ここにないものもあるので、ソースコードを見るのが確実だ。

使い方

公式サイトの記述が少しわかりづらいので少し補足。

まず使いたいデータ型を GraphQL スキーマで次のようにスカラーとして宣言してやる。

scalar DateTime

次に、対応する resolver を import して指定してやればいい。

import { DateTimeResolver } from "graphql-scalars";

const resolvers = {
  DateTime: DateTimeResolver,
  Query: {
    // some queries
  },
  Mutation: {
    // some mutations
  },
};

これで DateTime をスカラーとして使えるようになった。

GitHubで編集を提案

Discussion