If Block
Show and execute alternative content conditional upon an executed expression.
This type is marked as unstable and is subject to change.
Properties
The IfBlock
type has these properties:
Name | Description | Type | Inherited from | JSON-LD @id |
Aliases |
---|---|---|---|---|---|
id |
The identifier for this item. | String |
Entity |
schema:id |
- |
executionMode |
Under which circumstances the node should be executed. | ExecutionMode |
Executable |
stencila:executionMode |
execution-mode , execution_mode |
compilationDigest |
A digest of the content, semantics and dependencies of the node. | CompilationDigest |
Executable |
stencila:compilationDigest |
compilation-digest , compilation_digest |
compilationMessages |
Messages generated while compiling the code. | CompilationMessage * |
Executable |
stencila:compilationMessages |
compilation-messages , compilation_messages , compilationMessage , compilation-message , compilation_message |
executionDigest |
The compilationDigest of the node when it was last executed. |
CompilationDigest |
Executable |
stencila:executionDigest |
execution-digest , execution_digest |
executionDependencies |
The upstream dependencies of this node. | ExecutionDependency * |
Executable |
stencila:executionDependencies |
execution-dependencies , execution_dependencies , executionDependency , execution-dependency , execution_dependency |
executionDependants |
The downstream dependants of this node. | ExecutionDependant * |
Executable |
stencila:executionDependants |
execution-dependants , execution_dependants , executionDependant , execution-dependant , execution_dependant |
executionTags |
Tags in the code which affect its execution. | ExecutionTag * |
Executable |
stencila:executionTags |
execution-tags , execution_tags , executionTag , execution-tag , execution_tag |
executionCount |
A count of the number of times that the node has been executed. | Integer |
Executable |
stencila:executionCount |
execution-count , execution_count |
executionRequired |
Whether, and why, the code requires execution or re-execution. | ExecutionRequired |
Executable |
stencila:executionRequired |
execution-required , execution_required |
executionStatus |
Status of the most recent, including any current, execution. | ExecutionStatus |
Executable |
stencila:executionStatus |
execution-status , execution_status |
executionInstance |
The id of the kernel instance that performed the last execution. | String |
Executable |
stencila:executionInstance |
execution-instance , execution_instance |
executionEnded |
The timestamp when the last execution ended. | Timestamp |
Executable |
stencila:executionEnded |
execution-ended , execution_ended |
executionDuration |
Duration of the last execution. | Duration |
Executable |
stencila:executionDuration |
execution-duration , execution_duration |
executionMessages |
Messages emitted while executing the node. | ExecutionMessage * |
Executable |
stencila:executionMessages |
execution-messages , execution_messages , executionMessage , execution-message , execution_message |
clauses |
The clauses making up the IfBlock node |
IfBlockClause * |
- | stencila:clauses |
clause |
Related
The IfBlock
type is related to these types:
- Parents:
Executable
- Children: none
Formats
The IfBlock
type can be encoded (serialized) to, and/or decoded (deserialized) from, these formats:
Format | Encoding | Decoding | Support | Notes |
---|---|---|---|---|
DOM HTML | 🟢 No loss | |||
HTML | 🔷 Low loss | |||
JATS | ||||
Markdown | ⚠️ High loss | Encoded using implemented function | ||
Stencila Markdown | ⚠️ High loss | |||
Quarto Markdown | ⚠️ High loss | |||
MyST Markdown | ⚠️ High loss | |||
LLM Markdown | ⚠️ High loss | |||
LaTeX | 🔷 Low loss | 🔷 Low loss | ||
🔷 Low loss | ||||
Plain text | ⚠️ High loss | |||
IPYNB | 🔷 Low loss | 🔷 Low loss | ||
Microsoft Word DOCX | 🔷 Low loss | 🔷 Low loss | ||
OpenDocument ODT | 🔷 Low loss | 🔷 Low loss | ||
TeX | 🔷 Low loss | 🔷 Low loss | ||
JSON | 🟢 No loss | 🟢 No loss | ||
JSON+Zip | 🟢 No loss | 🟢 No loss | ||
JSON5 | 🟢 No loss | 🟢 No loss | ||
JSON-LD | 🟢 No loss | 🟢 No loss | ||
CBOR | 🟢 No loss | 🟢 No loss | ||
CBOR+Zstandard | 🟢 No loss | 🟢 No loss | ||
YAML | 🟢 No loss | 🟢 No loss | ||
Lexical JSON | 🔷 Low loss | 🔷 Low loss | ||
Koenig JSON | 🔷 Low loss | 🔷 Low loss | ||
Pandoc AST | 🔷 Low loss | 🔷 Low loss | ||
Directory | ||||
Stencila Web Bundle | ||||
Debug | 🔷 Low loss |
Bindings
The IfBlock
type is represented in:
- JSON-LD
- JSON Schema
- Python class
IfBlock
- Rust struct
IfBlock
- TypeScript class
IfBlock
Testing
During property-based (a.k.a generative) testing, the properties of the IfBlock
type are generated using the following strategies for each complexity level. Any optional properties that are not in this table are set to None
.
Property | Complexity | Description | Strategy |
---|---|---|---|
clauses |
Min+ | A single fixed clause with a single paragraph. | vec![ibc("true", None::<String>, [p([t("If clause")])])] |
Low+ | Generate up to 3 arbitrary if clauses | vec(IfBlockClause::arbitrary(), size_range(1..=3)) |
|
High+ | Generate up to 5 arbitrary if clauses | vec(IfBlockClause::arbitrary(), size_range(1..=10)) |
Source
This documentation was generated from IfBlock.yaml
by docs_types.rs
.