trustfall 0.8.1

The trustfall query engine, empowering you to query everything.
Documentation
schema {
    query: RootSchemaQuery
}
directive @filter(
    """
    Name of the filter operation to perform.
    """
    op: String!
    """
    List of string operands for the operator.
    """
    value: [String!]
) repeatable on FIELD | INLINE_FRAGMENT
directive @tag(
    """
    Name to apply to the given property field.
    """
    name: String
) on FIELD
directive @output(
    """
    What to designate the output field generated from this property field.
    """
    name: String
) on FIELD
directive @optional on FIELD
directive @recurse(
    """
    Recurse up to this many times on this edge. A depth of 1 produces the current
    vertex and its immediate neighbors along the given edge.
    """
    depth: Int!
) on FIELD
directive @fold on FIELD
directive @transform(
    """
    Name of the transformation operation to perform.
    """
    op: String!
) on FIELD

type RootSchemaQuery {
    Feed: [Feed!]!
    FeedAtUrl(url: String!): Feed
}

"""
https://docs.rs/feed-rs/1.0.0/feed_rs/model/struct.Feed.html
"""
type Feed {
    feed_type: String!
    id: String!
    language: String
    ttl: Int # number of minutes that indicates how long a channel can be cached before refreshing from the source.
    title: FeedText
    description: FeedText
    rights: FeedText
    icon: ChannelImage
    logo: ChannelImage
    # generator: Generator
    # rating: MediaRating
    # authors: [Person]
    links: [FeedLink]
    # categories: [Category]
    # contributors: [Person]
    entries: [FeedEntry]
}

"""
https://docs.rs/feed-rs/1.0.0/feed_rs/model/struct.Text.html
"""
type FeedText {
    content_type: String! # TODO: this is actually a proper Mime type object
    content: String!
    src: String
}

"""
https://docs.rs/feed-rs/1.0.0/feed_rs/model/struct.Entry.html
"""
type FeedEntry {
    id: String!
    source: String

    title: FeedText
    # authors: [Person]
    content: FeedContent
    links: [FeedLink]
    summary: FeedText
    # categories: [Category]
    # contributors: [Person]
    rights: FeedText
    # media: [MediaObject]
}

"""
https://docs.rs/feed-rs/1.0.0/feed_rs/model/struct.Content.html
"""
type FeedContent {
    body: String
    content_type: String! # TODO: this is actually a proper Mime type object
    length: Int # length of the content in bytes
    src: FeedLink
}

"""
https://docs.rs/feed-rs/1.0.0/feed_rs/model/struct.Link.html
"""
type FeedLink {
    href: String!
    rel: String
    media_type: String
    href_lang: String
    title: String
    length: Int # The length of the resource, in bytes.
}

"""
https://docs.rs/feed-rs/1.0.0/feed_rs/model/struct.Image.html
"""
type ChannelImage {
    uri: String!
    title: String
    width: Int
    height: Int
    description: String
    link: FeedLink
}