Vana SDK - v0.1.0
    Preparing search index...

    Schema validation utility class

    Index

    Methods

    • Validates a data schema against the Vana meta-schema

      Parameters

      • schema: unknown

        The data schema to validate

      Returns asserts schema is DataSchema

      SchemaValidationError if invalid

      const validator = new SchemaValidator();

      const schema = {
      name: "User Profile",
      version: "1.0.0",
      dialect: "json",
      schema: {
      type: "object",
      properties: {
      name: { type: "string" },
      age: { type: "number" }
      }
      }
      };

      validator.validateDataSchema(schema); // throws if invalid
    • Validates data against a JSON Schema from a data schema

      Parameters

      • data: unknown

        The data to validate

      • schema: DataSchema

        The data schema containing the schema

      Returns void

      SchemaValidationError if invalid

      const validator = new SchemaValidator();

      const schema = {
      name: "User Profile",
      version: "1.0.0",
      dialect: "json",
      schema: {
      type: "object",
      properties: {
      name: { type: "string" },
      age: { type: "number" }
      },
      required: ["name"]
      }
      };

      const userData = { name: "Alice", age: 30 };
      validator.validateDataAgainstSchema(userData, schema);
    • Validates a SQLite DDL string for basic syntax Note: This is a basic validation, full SQL parsing would require a proper SQL parser

      Parameters

      • ddl: string

        The DDL string to validate

      • OptionaldialectVersion: string

        Optional SQLite version (e.g., "3" for SQLite v3)

      Returns void

      SchemaValidationError if invalid

    • Fetches and validates a schema from a URL

      Parameters

      • url: string

        The URL to fetch the schema from

      Returns Promise<DataSchema>

      The validated data schema

      SchemaValidationError if invalid or fetch fails

      const validator = new SchemaValidator();
      const schema = await validator.fetchAndValidateSchema("https://example.com/schema.json");