suweal/node
Types
pub type Node {
DefineTable(
name: String,
schema: SchemaType,
type_: TableType,
permissions: List(Permission),
as_: option.Option(Node),
)
DefineField(
name: Node,
table: String,
type_: surreal_type.SurrealType,
flexible: Bool,
default: option.Option(Node),
assert_: option.Option(Node),
permissions: List(Permission),
)
DefineIndex(
name: String,
table: String,
fields: List(String),
unique: Bool,
)
FunctionCall(
lhs: option.Option(String),
rhs: String,
arguments: List(Node),
)
Self
None
All
Number(Float)
Parameter(String)
Identifier(String)
Value(surreal_ql.SurrealQL)
Object(List(#(String, Node)))
Array(List(Node))
Select(
fields: List(SelectField),
only: Bool,
table: String,
where: option.Option(Node),
order: option.Option(List(#(Node, OrderDirection))),
limit: option.Option(Node),
group_all: Bool,
)
If(
condition: Node,
then_: Node,
else_ifs: List(#(Node, Node)),
else_: Node,
)
BinaryOperator(lhs: Node, operator: Operator, rhs: Node)
WrappedNode(node: Node)
Update(
target: String,
set: List(Node),
where: option.Option(Node),
)
Create(only: Bool, target: String, set: List(Node))
Relate(table: String, from: Node, to: Node, set: List(Node))
Lambda(parameters: List(String), body: Node)
Delete(target: Node, where: option.Option(Node))
}
Constructors
-
DefineTable( name: String, schema: SchemaType, type_: TableType, permissions: List(Permission), as_: option.Option(Node), )https://surrealdb.com/docs/reference/query-language/statements/define/table
-
DefineField( name: Node, table: String, type_: surreal_type.SurrealType, flexible: Bool, default: option.Option(Node), assert_: option.Option(Node), permissions: List(Permission), )https://surrealdb.com/docs/reference/query-language/statements/define/field
-
DefineIndex( name: String, table: String, fields: List(String), unique: Bool, )https://surrealdb.com/docs/reference/query-language/statements/define/indexes
-
FunctionCall( lhs: option.Option(String), rhs: String, arguments: List(Node), ) -
Selfhttps://surrealdb.com/docs/learn/data-models/graph/recursive-traversals
-
Nonehttps://surrealdb.com/docs/reference/query-language/language-primitives/data-types/none-and-null
-
Allhttps://surrealdb.com/docs/learn/data-models/graph/graph-traversal
-
Number(Float)https://surrealdb.com/docs/reference/query-language/language-primitives/data-types/numbers Different from Value(surreal_ql.Float | surreal_ql.Int) as it can be coerced to both types.
-
Parameter(String)https://surrealdb.com/docs/reference/query-language/language-primitives/parameters
-
Identifier(String)Raw Identifier
-
Value(surreal_ql.SurrealQL)https://surrealdb.com/docs/reference/query-language/language-primitives/data-types/values
-
Object(List(#(String, Node)))https://surrealdb.com/docs/reference/query-language/language-primitives/data-types/objects
-
Array(List(Node))https://surrealdb.com/docs/reference/query-language/language-primitives/data-types/arrays
-
Select( fields: List(SelectField), only: Bool, table: String, where: option.Option(Node), order: option.Option(List(#(Node, OrderDirection))), limit: option.Option(Node), group_all: Bool, )https://surrealdb.com/docs/reference/query-language/statements/select
-
https://surrealdb.com/docs/reference/query-language/statements/if-else
-
https://surrealdb.com/docs/reference/query-language/language-primitives/operators
-
WrappedNode(node: Node)Node wrapped in ()
-
Update( target: String, set: List(Node), where: option.Option(Node), )https://surrealdb.com/docs/reference/query-language/statements/update
-
Create(only: Bool, target: String, set: List(Node))https://surrealdb.com/docs/reference/query-language/statements/create
-
https://surrealdb.com/docs/reference/query-language/statements/relate
-
Lambda(parameters: List(String), body: Node)https://surrealdb.com/docs/reference/query-language/language-primitives/data-types/closures
-
Delete(target: Node, where: option.Option(Node))https://surrealdb.com/docs/reference/query-language/statements/delete
pub type OperationType {
OperationCreate
OperationSelect
OperationUpdate
OperationDelete
}
Constructors
-
OperationCreate -
OperationSelect -
OperationUpdate -
OperationDelete
pub type Operator {
Equal
NotEqual
GreaterThan
LessThan
GreaterThanOrEqual
LessThanOrEqual
Access
Inside
RelationTo
RelationFrom
RelationToFrom
Indexing
And
Or
}
Constructors
-
Equal -
NotEqual -
GreaterThan -
LessThan -
GreaterThanOrEqual -
LessThanOrEqual -
Access -
Inside -
RelationTo -
RelationFrom -
RelationToFrom -
Indexing -
And -
Or
pub type OrderDirection {
Ascending
Descending
}
Constructors
-
Ascending -
Descending
pub type Permission {
PermissionFull
PermissionNone
PermissionForFull(targets: List(OperationType))
PermissionForNone(targets: List(OperationType))
PermissionForWhere(
targets: List(OperationType),
expression: Node,
)
}
Constructors
-
PermissionFull -
PermissionNone -
PermissionForFull(targets: List(OperationType)) -
PermissionForNone(targets: List(OperationType)) -
PermissionForWhere( targets: List(OperationType), expression: Node, )
The type of schema of a table in SurrealDB.
pub type SchemaType {
Schemafull
Schemaless
}
Constructors
-
Schemafull -
Schemaless
Represents a field in a SELECT statement in SurrealQL.
pub type SelectField {
SelectField(
field: Node,
alias: option.Option(String),
value: Bool,
)
}
Constructors
-
SelectField( field: Node, alias: option.Option(String), value: Bool, )
Values
pub fn operation_type_to_module(
operation_type: OperationType,
) -> module.Module
pub fn operation_type_to_string(
operation_type: OperationType,
) -> String
pub fn operator_to_module(operator: Operator) -> module.Module
Converts an [Operator] into a module for code generation.
pub fn operator_to_string(operator: Operator) -> String
Converts an [Operator] into its [String] representation in SurrealQL.
pub fn order_direction_to_module(
direction: OrderDirection,
) -> module.Module
Converts an [OrderDirection] into a module for code generation.
pub fn order_direction_to_string(
direction: OrderDirection,
) -> String
Converts an [OrderDirection] into its [String] representation in SurrealQL.
pub fn permission_to_module(
permission: Permission,
) -> module.Module
pub fn permission_to_string(permission: Permission) -> String
pub fn replace_variables(
node: Node,
values: List(#(String, surreal_ql.SurrealQL)),
) -> Node
pub fn schema_type_to_module(
schema_type: SchemaType,
) -> module.Module
Converts a [SchemaType] into a module for code generation.
pub fn schema_type_to_string(schema_type: SchemaType) -> String
Converts a [SchemaType] into its [String] representation in SurrealQL.
pub fn table_type_to_module(
table_type: TableType,
) -> module.Module
pub fn table_type_to_string(table_type: TableType) -> String
pub fn to_module(node: Node) -> module.Module