Skip to content

StefH/HotChocolate.Data.Extensions

Repository files navigation

HotChocolate.Data.Extensions

Contains some extra String filters like:

  • eqIgnoreCase / neqIgnoreCase
  • containsIgnoreCase / ncontainsIgnoreCase
  • endsWithIgnoreCase / nendsWithIgnoreCase
  • startsWithIgnoreCase / nstartsWithIgnoreCase

NuGet packages

Name NuGet Info
HotChocolate.Data.Extensions NuGet Badge Combined NuGet
HotChocolate.Data.Filters.Extensions NuGet Badge Contains only extensions for Filters

Usage "HotChocolate.Data.Filters.Extensions"

Register in your Startup.cs

    .AddGraphQLServer()

    // ...
           
        // Add filtering and sorting capabilities.
        .AddExtendedFiltering() // 👈 Instead of .AddFiltering()

    // ...

Use in GraphQL

Now you can write GraphQL like this:

query GetCharactersWithPaging1(
  $take: Int
  $skip: Int
  $order: [ICharacterSortInput!]
) {
  charactersWithPagingFilteringAndSorting(
    take: $take
    skip: $skip
    where: { name: { containsIgnoreCase: "c" } } # 👈 instead of contains
    order: $order
  ) {
    items {
      ...c
    }
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
    }
  }
}

query GetCharactersWithPaging2(
  $take: Int
  $skip: Int
  $order: [ICharacterSortInput!]
) {
  charactersWithPagingFilteringAndSorting(
    take: $take
    skip: $skip
    where: { name: { eqIgnoreCase: "c-3PO" } } # 👈 instead of eq
    order: $order
  ) {
    items {
      ...c
    }
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
    }
  }
}

fragment c on Character {
  id
  name
  height
  appearsIn
}

About

Contains some "IgnoreCase" String filters for eq, contains, endsWith and startsWith.

Resources

Stars

Watchers

Forks

Packages

No packages published