Skip to content
This repository was archived by the owner on Sep 7, 2023. It is now read-only.
This repository was archived by the owner on Sep 7, 2023. It is now read-only.

Optional DateTime always return TRUE for some(myDate) #851

@martinhalford

Description

@martinhalford

Bug Report 🐛

Please see LOOM video for demo of bug.
https://www.loom.com/share/4d628fd1e1ec4afa9d5a50444e69ebe9

In summary, optional variables return unexpected results when interrogated in code blocks within grammar.tem.md files.

An optional DateTime variable myDate is defined as:

 o DateTime myDate optional

A value in the data.json file is set as...

"myDate": "2000-01-01T00:00:00"

A code block is defined in the grammar.tem.md as:

{{%
    match some(myDate)
    with let? completionDate then "YES - Found myDate - " ++ toString(myDate)
    else "NO - myDate not found"
%}}

A draft command is executed as:

cicero draft --template . --data ./data.json  --unquoteVariables

and the following response is returned...

YES - Found myDate - {"$left": 01/01/2000}

When the myDate value is deleted from data.json and the same draft command executed then the following response is returned.

YES - Found myDate - {"$right": null}

Expected Result

If myDate present then expected

YES - Found myDate - 01/01/2000

If myDate not present then expected

NO - myDate not found

Example CTA archive attached:
OptionalDateTime CTA

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions