feat(core): Expression function $ifEmpty (#7660)

Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: Elias Meire <elias@meire.dev>
This commit is contained in:
Michael Kret
2023-11-13 13:28:41 +02:00
committed by GitHub
parent 14035e1244
commit 1c7225ebdb
7 changed files with 54 additions and 3 deletions

View File

@@ -228,5 +228,18 @@ describe('tmpl Expression Parser', () => {
expect(evaluate('={{ $not("") }}')).toEqual(true);
expect(evaluate('={{ $not("a") }}')).toEqual(false);
});
test('$ifEmpty', () => {
expect(evaluate('={{ $ifEmpty(1, "default") }}')).toEqual(1);
expect(evaluate('={{ $ifEmpty(0, "default") }}')).toEqual(0);
expect(evaluate('={{ $ifEmpty(false, "default") }}')).toEqual(false);
expect(evaluate('={{ $ifEmpty(true, "default") }}')).toEqual(true);
expect(evaluate('={{ $ifEmpty("", "default") }}')).toEqual('default');
expect(evaluate('={{ $ifEmpty(null, "default") }}')).toEqual('default');
expect(evaluate('={{ $ifEmpty(undefined, "default") }}')).toEqual('default');
expect(evaluate('={{ $ifEmpty([], "default") }}')).toEqual('default');
expect(evaluate('={{ $ifEmpty({}, "default") }}')).toEqual('default');
expect(evaluate('={{ $ifEmpty([1], "default") }}')).toEqual([1]);
expect(evaluate('={{ $ifEmpty({a: 1}, "default") }}')).toEqual({ a: 1 });
});
});
});