Al definir esta directiva personalizada:
directive @hashField on INPUT_FIELD_DEFINITION
Recibo este error en AWS AppSync (pestaña Esquema):
Error al analizar el esquema. No se admiten definiciones de directivas.
Entiendo que AWS proporciona funciones que pueden proporcionar funcionalidades similares, pero estas funciones no funcionarán para mi caso de uso.
¿Cuál es la alternativa para las directivas personalizadas en AWS AppSync? ¿Va a ser compatible en una versión futura?
Aparentemente, no está en su hoja de ruta agregar compatibilidad con Directivas.
Una alternativa podría ser tipos escalares personalizados; sin embargo, no cumple con mis requisitos ya que necesito especificar el orden de varias directivas aplicadas a un campo en particular.
Curiosamente, al usar el CDK de AWS, un método Directivo.personalizado está disponible tanto a nivel de campo como de objeto, por ejemplo
import { Field, GraphqlType, InterfaceType, ObjectType, Directive } from '@aws-cdk/aws-appsync-alpha'; new ObjectType('MyObjectType', { definition: { id: GraphqlType.id({ isRequired: true }), name: new Field({ returnType: GraphqlType.string(), directives: [Directive.custom('@myCustomFieldDirective(param: "value")')] }) }, directives: [ Directive.custom('@myCustomObjectDirective(param: "value")') ] });