Types
DirectiveArg = ref object component*: ComponentDef isPointer*: bool kind*: DirectiveArgKind
- Represents a single argument within a directive. For example, in: Query[(Foo, Bar, Baz)] This would just represent Foo or Bar or Baz
DirectiveArgKind = enum Include, Exclude, Optional
- Indicates the behavior of a directive
Procs
proc `$`(arg: DirectiveArg): string {....raises: [], tags: [], forbids: [].}
proc `<`(a, b: DirectiveArg): auto {....raises: [], tags: [], forbids: [].}
- Allow deterministic sorting of directives
proc `==`(a, b: DirectiveArg): auto {....raises: [], tags: [], forbids: [].}
- Compare two Directive instances
proc addSignature(onto: var string; arg: DirectiveArg) {....raises: [], tags: [], forbids: [].}
- Generate a unique ID for a component
proc comps(args: openArray[DirectiveArg]): seq[ComponentDef] {....raises: [], tags: [], forbids: [].}
- Returns all the components from a set of args
proc generateName(args: openArray[DirectiveArg]): string {....raises: [], tags: [], forbids: [].}
- Creates a name to describe the given components
proc hash(arg: DirectiveArg): Hash {....raises: [], tags: [], forbids: [].}
- Generate a unique hash
proc isAccessory(arg: DirectiveArg): bool {....raises: [], tags: [], forbids: [].}
- Whether this arg contains an accessory component
proc newDirectiveArg(component: ComponentDef; isPointer: bool; kind: DirectiveArgKind): DirectiveArg {....raises: [], tags: [], forbids: [].}
- Creates a DirectiveArg
proc `type`(def: DirectiveArg): NimNode {....raises: [], tags: [], forbids: [].}
- The type of this component