
import { MapperKind } from "@graphql-tools/utils";

import { Executable, createDirective } from "../utilities";

export function resolveDirective ( name = "resolve" ) {
  return createDirective(name, { value: "text!", }, {
    [MapperKind.OBJECT_FIELD] ( [ directive, ], field ) {
      field.resolve = new Executable(
        name, directive!["value"] as string
      ) as unknown as NonNullable<typeof field.resolve>;
    },
  });
}
