src/necsus/compiletime/tools

Procs

proc asTupleType(args: openArray[DirectiveArg]): NimNode {....raises: [], tags: [],
    forbids: [].}
Creates a tuple type from a list of components
proc asTupleType(components: openArray[ComponentDef]): NimNode {....raises: [],
    tags: [], forbids: [].}
Creates a tuple type from a list of components
proc asTupleType(tupleDir: TupleDirective): NimNode {....raises: [], tags: [],
    forbids: [].}
proc emitEntityTrace(args: varargs[NimNode, loggable]): NimNode {....raises: [],
    tags: [], forbids: [].}
Emits function call for logging an entity related event
proc emitEventTrace(args: varargs[NimNode, loggable]): NimNode {....raises: [],
    tags: [], forbids: [].}
Emits code needed to generate an event tracing log
proc emitLog(args: varargs[NimNode, loggable]): NimNode {....raises: [], tags: [],
    forbids: [].}
Generates code to emit a log message
proc emitQueryTrace(args: varargs[NimNode, loggable]): NimNode {....raises: [],
    tags: [], forbids: [].}
Emits code needed to generate query tracing logs
proc emitSaveTrace(args: varargs[NimNode, loggable]): NimNode {....raises: [],
    tags: [], forbids: [].}
Emits code needed to generate save tracing logs
proc joinStrs(args: varargs[NimNode]): NimNode {....raises: [], tags: [],
    forbids: [].}
Joins a set of stringable nim nodes into a string
proc loggable(node: NimNode): NimNode {....raises: [], tags: [], forbids: [].}
proc loggable(str: string): NimNode {....raises: [], tags: [], forbids: [].}

Iterators

iterator archetypeCases(details: GenerateContext): tuple[ofBranch: NimNode,
    archetype: Archetype[ComponentDef]] {....raises: [], tags: [], forbids: [].}
iterator both(a, b: auto): auto
Yields values from one iterator then another