Skip to content

Conformance Examples 0.1.0 — Transforms: transform-plus

plus-integers

plus adds its integer argument to an integer input via {{ n | plus: 2 }}.

Template

{{ n | plus: 2 }}

Context

{
    "n": 5
}

Output

7

plus-decimals-whole-result

Adding two decimals whose sum is whole collapses to an integer.

Template

{{ n | plus: 2.5 }}

Context

{
    "n": 1.5
}

Output

4

plus-fractional-result

Adding a fraction keeps the fractional part.

Template

{{ n | plus: 0.5 }}

Context

{
    "n": 1
}

Output

1.5

plus-numeric-string-input

A numeric string input is parsed before adding.

Template

{{ n | plus: 2 }}

Context

{
    "n": "5"
}

Output

7

plus-numeric-string-argument

A numeric string argument is parsed before adding.

Template

{{ n | plus: "2" }}

Context

{
    "n": 5
}

Output

7

plus-non-numeric-input-is-null

A non-numeric input is a soft failure, so plus yields null.

Template

{{ n | plus: 2 }}

Context

{
    "n": "foo"
}

Output

null

plus-missing-input-is-null

A missing input resolves to null, so plus yields null.

Template

{{ missing | plus: 2 }}

Context

{}

Output

null

plus-non-numeric-argument-is-null

A non-numeric argument is a soft failure, so plus yields null.

Template

{{ n | plus: "foo" }}

Context

{
    "n": 5
}

Output

null

plus-datetime-adds-days

With DateTime input and a numeric argument, plus adds that many days.

Template

{{ a | as_date_time: 'seconds' | plus: 1 }}

Context

{
    "a": 0
}

Output

1970-01-02T00:00:00Z

plus-datetime-fractional-days

plus accepts a fractional number of days for a DateTime input.

Template

{{ a | as_date_time: 'seconds' | plus: 1.5 }}

Context

{
    "a": 0
}

Output

1970-01-02T12:00:00Z

plus-datetime-non-numeric-argument-is-null

DateTime input with a non-numeric argument is a soft failure, so plus yields null.

Template

{{ a | as_date_time: 'seconds' | plus: ( b | as_date_time: 'seconds' ) }}

Context

{
    "a": 0,
    "b": 100
}

Output

null

Source fixture: transforms/transform-plus.json