webql/schema

Copy Markdown

Types

Input

pub type Input {
  Input(name: String, port: String)
}
Input(name: String, port: String)

Operation

pub type Operation(task) {
  Operation(
    inputs: dict.Dict(String, Input),
    resolver: Resolver(task),
    outputs: dict.Dict(String, Output),
  )
}
Operation(
  inputs: dict.Dict(String, Input),
  resolver: Resolver(task),
  outputs: dict.Dict(String, Output),
)

Output

pub type Output {
  Output(name: String, port: String)
}
Output(name: String, port: String)

Port

pub type Port {
  Port(name: String)
}
Port(name: String)

Resolver

pub type Resolver(task) {
  Resolver(resolver: fn(dynamic.Dynamic) -> task)
}
Resolver(resolver: fn(dynamic.Dynamic) -> task)

Schema

pub type Schema(task) {
  Schema(
    operations: dict.Dict(String, Operation(task)),
    ports: List(Port),
  )
}
Schema(
  operations: dict.Dict(String, Operation(task)),
  ports: List(Port),
)