mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-24 04:04:06 -08:00
fix: Better error message when calling data transformation functions on a null value (#10210)
This commit is contained in:
parent
6f1d4adf05
commit
1718125c6d
|
@ -21,12 +21,8 @@ export const convertToDateTime = (value: string | Date | DateTime): DateTime | u
|
|||
|
||||
export function checkIfValueDefinedOrThrow<T>(value: T, functionName: string): void {
|
||||
if (value === undefined || value === null) {
|
||||
throw new ExpressionExtensionError(
|
||||
`${functionName}() could not be called on "${String(value)}" type`,
|
||||
{
|
||||
description:
|
||||
'You are trying to access a field that does not exist, modify your expression or set a default value',
|
||||
},
|
||||
);
|
||||
throw new ExpressionExtensionError(`${functionName} can't be used on ${String(value)} value`, {
|
||||
description: `To ignore this error, add a ? to the variable before this function, e.g. my_var?.${functionName}`,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -250,10 +250,7 @@ describe('tmpl Expression Parser', () => {
|
|||
extend(undefined, 'toDateTime', []);
|
||||
} catch (error) {
|
||||
expect(error).toBeInstanceOf(ExpressionExtensionError);
|
||||
expect(error).toHaveProperty(
|
||||
'message',
|
||||
'toDateTime() could not be called on "undefined" type',
|
||||
);
|
||||
expect(error).toHaveProperty('message', "toDateTime can't be used on undefined value");
|
||||
}
|
||||
});
|
||||
test('input is null', () => {
|
||||
|
@ -261,7 +258,7 @@ describe('tmpl Expression Parser', () => {
|
|||
extend(null, 'startsWith', []);
|
||||
} catch (error) {
|
||||
expect(error).toBeInstanceOf(ExpressionExtensionError);
|
||||
expect(error).toHaveProperty('message', 'startsWith() could not be called on "null" type');
|
||||
expect(error).toHaveProperty('message', "startsWith can't be used on null value");
|
||||
}
|
||||
});
|
||||
test('input should be converted to upper case', () => {
|
||||
|
|
Loading…
Reference in a new issue