Domain Model

Visual documentation generated from schema.

Types & Functions

classDiagram

    %% Types
    class `📋 GeneratedFile` {
        <<type>>
        string content
        string filename
    }
    class `📋 GenerationResult` {
        <<type>>
        GeneratedFile[] files
    }
    class `📋 DslDiagnostic` {
        <<type>>
        float column
        float endColumn
        float endLine
        float line
        string message
        "error" | "warning" severity
    }
    class `📋 ParseResult` {
        <<type>>
        DslDiagnostic[] diagnostics
        string schema
    }
    class `📋 DslRange` {
        <<type>>
        float endColumn
        float endLine
        float startColumn
        float startLine
    }
    class `📋 DslSymbol` {
        <<type>>
        DslSymbol[] children
        string kind
        string name
        DslRange range
    }
    class `📋 DslCompletion` {
        <<type>>
        string detail
        string kind
        string label
    }
    class `📋 DslHoverResult` {
        <<type>>
        string content
        DslRange range
    }
    class `📋 DslLocation` {
        <<type>>
        DslRange range
    }
    class `📋 DslFoldingRange` {
        <<type>>
        float endLine
        float startLine
    }

    %% Functions
    class `⚡ generate` {
        <<function>>
        input: name: string, schema: string
        output: GenerationResult
    }
    class `⚡ init` {
        <<function>>
        input: name: string
        output: GenerationResult
    }
    class `⚡ newProject` {
        <<function>>
        input: name: string, schema: string
        output: GenerationResult
    }
    class `⚡ validate` {
        <<function>>
        input: schema: string
        output: void
    }
    class `⚡ decompileSchema` {
        <<function>>
        input: schema: string
        output: string
    }
    class `⚡ formatDsl` {
        <<function>>
        input: source: string
        output: string
    }
    class `⚡ getCompletions` {
        <<function>>
        input: column: float, line: float, source: string
        output: DslCompletion[]
    }
    class `⚡ getDefinition` {
        <<function>>
        input: column: float, line: float, source: string
        output: DslLocation
    }
    class `⚡ getDiagnostics` {
        <<function>>
        input: source: string
        output: DslDiagnostic[]
    }
    class `⚡ getFoldingRanges` {
        <<function>>
        input: source: string
        output: DslFoldingRange[]
    }
    class `⚡ getHover` {
        <<function>>
        input: column: float, line: float, source: string
        output: DslHoverResult
    }
    class `⚡ getSymbols` {
        <<function>>
        input: source: string
        output: DslSymbol[]
    }
    class `⚡ parseMorph` {
        <<function>>
        input: source: string
        output: ParseResult
    }
    class `⚡ validateDsl` {
        <<function>>
        input: source: string
        output: void
    }
    class `⚡ templateSchema` {
        <<function>>
        input: void
        output: string
    }