diff --git a/src/models/actionable/raw-actionable.ts b/src/models/actionable/raw-actionable.ts index 7a0117ab9..112e49325 100644 --- a/src/models/actionable/raw-actionable.ts +++ b/src/models/actionable/raw-actionable.ts @@ -37,10 +37,15 @@ export interface RawActionableAction { command: RawActionableCommand; } -export interface RawActionableTrigger { - pattern: string; - hyperlink: boolean; -} +/** + * An Actionable trigger can be a single string or the object below. + */ +export type RawActionableTrigger = + | { + pattern: string; + hyperlink: boolean; + } + | string; export type RawActionableTimeVariable = | { type: 'timestamp'; format: null | string; placeholder: null | string } diff --git a/src/models/actionable/to-actionable.ts b/src/models/actionable/to-actionable.ts index 90759dc0f..219118ac7 100644 --- a/src/models/actionable/to-actionable.ts +++ b/src/models/actionable/to-actionable.ts @@ -35,8 +35,8 @@ export const toActionable = (raw: RawActionable): Actionable => ({ }); export const toActionableTrigger = (raw: RawActionableTrigger): ActionableTrigger => ({ - pattern: toRegex(raw.pattern), - activatesOn: raw.hyperlink ? 'clicks and selection' : 'selection', + pattern: isString(raw) ? toRegex(raw) : toRegex(raw.pattern), + activatesOn: isString(raw) || raw.pattern ? 'clicks and selection' : 'selection', }); export const toActionableAction = (raw: RawActionableAction): ActionableAction => ({