mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 18:26:35 +00:00
Catch errors when describeTrigger throws an exception (#17022)
This commit is contained in:
parent
82463c2ef6
commit
f77f7b3c36
@ -81,6 +81,26 @@ export const describeTrigger = (
|
|||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
entityRegistry: EntityRegistryEntry[],
|
entityRegistry: EntityRegistryEntry[],
|
||||||
ignoreAlias = false
|
ignoreAlias = false
|
||||||
|
) => {
|
||||||
|
try {
|
||||||
|
return tryDescribeTrigger(trigger, hass, entityRegistry, ignoreAlias);
|
||||||
|
} catch (error: any) {
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.error(error);
|
||||||
|
|
||||||
|
let msg = "Error in describing trigger";
|
||||||
|
if (error.message) {
|
||||||
|
msg += ": " + error.message;
|
||||||
|
}
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const tryDescribeTrigger = (
|
||||||
|
trigger: Trigger,
|
||||||
|
hass: HomeAssistant,
|
||||||
|
entityRegistry: EntityRegistryEntry[],
|
||||||
|
ignoreAlias = false
|
||||||
) => {
|
) => {
|
||||||
if (trigger.alias && !ignoreAlias) {
|
if (trigger.alias && !ignoreAlias) {
|
||||||
return trigger.alias;
|
return trigger.alias;
|
||||||
@ -625,6 +645,26 @@ export const describeCondition = (
|
|||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
entityRegistry: EntityRegistryEntry[],
|
entityRegistry: EntityRegistryEntry[],
|
||||||
ignoreAlias = false
|
ignoreAlias = false
|
||||||
|
) => {
|
||||||
|
try {
|
||||||
|
return tryDescribeCondition(condition, hass, entityRegistry, ignoreAlias);
|
||||||
|
} catch (error: any) {
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.error(error);
|
||||||
|
|
||||||
|
let msg = "Error in describing condition";
|
||||||
|
if (error.message) {
|
||||||
|
msg += ": " + error.message;
|
||||||
|
}
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const tryDescribeCondition = (
|
||||||
|
condition: Condition,
|
||||||
|
hass: HomeAssistant,
|
||||||
|
entityRegistry: EntityRegistryEntry[],
|
||||||
|
ignoreAlias = false
|
||||||
) => {
|
) => {
|
||||||
if (condition.alias && !ignoreAlias) {
|
if (condition.alias && !ignoreAlias) {
|
||||||
return condition.alias;
|
return condition.alias;
|
||||||
|
@ -38,6 +38,32 @@ export const describeAction = <T extends ActionType>(
|
|||||||
action: ActionTypes[T],
|
action: ActionTypes[T],
|
||||||
actionType?: T,
|
actionType?: T,
|
||||||
ignoreAlias = false
|
ignoreAlias = false
|
||||||
|
): string => {
|
||||||
|
try {
|
||||||
|
return tryDescribeAction(
|
||||||
|
hass,
|
||||||
|
entityRegistry,
|
||||||
|
action,
|
||||||
|
actionType,
|
||||||
|
ignoreAlias
|
||||||
|
);
|
||||||
|
} catch (error: any) {
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.error(error);
|
||||||
|
let msg = "Error in describing action";
|
||||||
|
if (error.message) {
|
||||||
|
msg += ": " + error.message;
|
||||||
|
}
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const tryDescribeAction = <T extends ActionType>(
|
||||||
|
hass: HomeAssistant,
|
||||||
|
entityRegistry: EntityRegistryEntry[],
|
||||||
|
action: ActionTypes[T],
|
||||||
|
actionType?: T,
|
||||||
|
ignoreAlias = false
|
||||||
): string => {
|
): string => {
|
||||||
if (action.alias && !ignoreAlias) {
|
if (action.alias && !ignoreAlias) {
|
||||||
return action.alias;
|
return action.alias;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user