{
    "source": "core/types/src/index.ts",
    "name": "AssetSwitch",
    "type": "or",
    "or": [
        {
            "source": "core/types/src/index.ts",
            "name": "StaticSwitch<T>",
            "type": "object",
            "properties": {
                "staticSwitch": {
                    "required": true,
                    "node": {
                        "source": "core/types/src/index.ts",
                        "name": "Switch<T>",
                        "type": "array",
                        "elementType": {
                            "source": "core/types/src/index.ts",
                            "name": "SwitchCase<T>",
                            "type": "object",
                            "properties": {
                                "asset": {
                                    "required": true,
                                    "node": {
                                        "type": "ref",
                                        "ref": "T",
                                        "title": "SwitchCase.asset",
                                        "description": "The Asset to use if this case is applicable"
                                    }
                                },
                                "case": {
                                    "required": true,
                                    "node": {
                                        "type": "or",
                                        "or": [
                                            {
                                                "type": "ref",
                                                "ref": "Expression",
                                                "title": "SwitchCase.case"
                                            },
                                            {
                                                "type": "boolean",
                                                "const": true
                                            }
                                        ],
                                        "title": "SwitchCase.case",
                                        "description": "An expression to execute to determine if this case applies"
                                    }
                                }
                            },
                            "additionalProperties": false,
                            "title": "SwitchCase",
                            "description": "A single case statement to use in a switch",
                            "genericTokens": [
                                {
                                    "symbol": "T",
                                    "constraints": {
                                        "type": "ref",
                                        "ref": "Asset"
                                    },
                                    "default": {
                                        "type": "ref",
                                        "ref": "Asset"
                                    }
                                }
                            ]
                        },
                        "title": "StaticSwitch.staticSwitch",
                        "description": "A static switch only evaluates the applicable base on first render of the view",
                        "genericTokens": [
                            {
                                "symbol": "T",
                                "constraints": {
                                    "type": "ref",
                                    "ref": "Asset"
                                },
                                "default": {
                                    "type": "ref",
                                    "ref": "Asset"
                                }
                            }
                        ]
                    }
                }
            },
            "additionalProperties": false,
            "title": "StaticSwitch",
            "genericTokens": [
                {
                    "symbol": "T",
                    "constraints": {
                        "type": "ref",
                        "ref": "Asset"
                    },
                    "default": {
                        "type": "ref",
                        "ref": "Asset"
                    }
                }
            ]
        },
        {
            "source": "core/types/src/index.ts",
            "name": "DynamicSwitch<T>",
            "type": "object",
            "properties": {
                "dynamicSwitch": {
                    "required": true,
                    "node": {
                        "source": "core/types/src/index.ts",
                        "name": "Switch<T>",
                        "type": "array",
                        "elementType": {
                            "source": "core/types/src/index.ts",
                            "name": "SwitchCase<T>",
                            "type": "object",
                            "properties": {
                                "asset": {
                                    "required": true,
                                    "node": {
                                        "type": "ref",
                                        "ref": "T",
                                        "title": "SwitchCase.asset",
                                        "description": "The Asset to use if this case is applicable"
                                    }
                                },
                                "case": {
                                    "required": true,
                                    "node": {
                                        "type": "or",
                                        "or": [
                                            {
                                                "type": "ref",
                                                "ref": "Expression",
                                                "title": "SwitchCase.case"
                                            },
                                            {
                                                "type": "boolean",
                                                "const": true
                                            }
                                        ],
                                        "title": "SwitchCase.case",
                                        "description": "An expression to execute to determine if this case applies"
                                    }
                                }
                            },
                            "additionalProperties": false,
                            "title": "SwitchCase",
                            "description": "A single case statement to use in a switch",
                            "genericTokens": [
                                {
                                    "symbol": "T",
                                    "constraints": {
                                        "type": "ref",
                                        "ref": "Asset"
                                    },
                                    "default": {
                                        "type": "ref",
                                        "ref": "Asset"
                                    }
                                }
                            ]
                        },
                        "title": "DynamicSwitch.dynamicSwitch",
                        "description": "A dynamic switch re-evaluates the applicable case as data changes",
                        "genericTokens": [
                            {
                                "symbol": "T",
                                "constraints": {
                                    "type": "ref",
                                    "ref": "Asset"
                                },
                                "default": {
                                    "type": "ref",
                                    "ref": "Asset"
                                }
                            }
                        ]
                    }
                }
            },
            "additionalProperties": false,
            "title": "DynamicSwitch",
            "genericTokens": [
                {
                    "symbol": "T",
                    "constraints": {
                        "type": "ref",
                        "ref": "Asset"
                    },
                    "default": {
                        "type": "ref",
                        "ref": "Asset"
                    }
                }
            ]
        }
    ],
    "title": "AssetSwitch",
    "genericTokens": [
        {
            "symbol": "T",
            "constraints": {
                "type": "ref",
                "ref": "Asset"
            },
            "default": {
                "type": "ref",
                "ref": "Asset"
            }
        }
    ]
}