WayrApp Backend & Ecosystem Documentation - v1.0.0
    Preparing search index...

    Variable JsonSchemaConst

    JsonSchema: ZodUnion<[ZodRecord<ZodString, ZodAny>, ZodArray<ZodAny, "many">]> = ...

    JSON data validation schema for flexible structured content

    Flexible validation schema that accepts either JSON objects or arrays, designed for storing structured data such as exercise configurations, content metadata, and dynamic form data. This schema provides type safety for JSON content while maintaining flexibility for various data structures.

    The schema accepts both object and array formats to accommodate different JSON data patterns used throughout the application. This flexibility is essential for exercise data, configuration settings, and other structured content that may vary in format while maintaining JSON compatibility.

    // Exercise data with JSON content
    const ExerciseSchema = z.object({
    title: TextFieldSchema(1, 200),
    type: ExerciseTypeSchema,
    data: JsonSchema, // Flexible JSON structure
    metadata: JsonSchema.optional() // Optional JSON metadata
    });
    // Different JSON data structures
    const validJsonData = [
    { question: 'What is...?', options: ['A', 'B', 'C'], answer: 'A' },
    ['item1', 'item2', 'item3'],
    { config: { difficulty: 'medium', timeLimit: 300 } }
    ];

    validJsonData.forEach(data => {
    const result = JsonSchema.parse(data);
    console.log('Valid JSON data:', result);
    });
    // Configuration storage with JSON validation
    const SettingsSchema = z.object({
    userId: z.string().uuid(),
    preferences: JsonSchema,
    customizations: JsonSchema.optional()
    });