getDocument method

DocumentNode getDocument()
inherited

Get document with document vars support

Implementation

DocumentNode getDocument() {
  String document = this.document;

  if (this case GraphqlDocumentVars vars) {
    final params = vars.documentVars;
    final regex = RegExp(r'\[\[(.*?)\]\]');
    final parsedDocument = document.replaceAllMapped(regex, (match) {
      final key = match.group(1);
      return params[key] ?? match.group(0)!;
    });
    return gql(parsedDocument);
  }

  return gql(document);
}