⚡ Remove empty strings from variable parsing when possible
This commit is contained in:
@ -8,9 +8,11 @@ export const parseDateInput =
|
|||||||
const variables = state.typebotsQueue[0].typebot.variables
|
const variables = state.typebotsQueue[0].typebot.variables
|
||||||
if (!block.options) return deepParseVariables(variables)(block)
|
if (!block.options) return deepParseVariables(variables)(block)
|
||||||
return {
|
return {
|
||||||
...deepParseVariables(variables)(block),
|
...block,
|
||||||
options: {
|
options: {
|
||||||
...deepParseVariables(variables)(block.options),
|
...deepParseVariables(variables, { removeEmptyStrings: true })(
|
||||||
|
block.options
|
||||||
|
),
|
||||||
min: parseDateLimit(
|
min: parseDateLimit(
|
||||||
block.options.min,
|
block.options.min,
|
||||||
block.options.hasTime,
|
block.options.hasTime,
|
||||||
|
@ -21,7 +21,7 @@ export const getRow = async (
|
|||||||
const logs: ChatLog[] = []
|
const logs: ChatLog[] = []
|
||||||
const { variables } = state.typebotsQueue[0].typebot
|
const { variables } = state.typebotsQueue[0].typebot
|
||||||
const { sheetId, cellsToExtract, filter, ...parsedOptions } =
|
const { sheetId, cellsToExtract, filter, ...parsedOptions } =
|
||||||
deepParseVariables(variables)(options)
|
deepParseVariables(variables, { removeEmptyStrings: true })(options)
|
||||||
if (!sheetId) return { outgoingEdgeId }
|
if (!sheetId) return { outgoingEdgeId }
|
||||||
|
|
||||||
const doc = await getAuthenticatedGoogleDoc({
|
const doc = await getAuthenticatedGoogleDoc({
|
||||||
|
@ -17,8 +17,9 @@ export const updateRow = async (
|
|||||||
}: { outgoingEdgeId?: string; options: GoogleSheetsUpdateRowOptions }
|
}: { outgoingEdgeId?: string; options: GoogleSheetsUpdateRowOptions }
|
||||||
): Promise<ExecuteIntegrationResponse> => {
|
): Promise<ExecuteIntegrationResponse> => {
|
||||||
const { variables } = state.typebotsQueue[0].typebot
|
const { variables } = state.typebotsQueue[0].typebot
|
||||||
const { sheetId, filter, ...parsedOptions } =
|
const { sheetId, filter, ...parsedOptions } = deepParseVariables(variables, {
|
||||||
deepParseVariables(variables)(options)
|
removeEmptyStrings: true,
|
||||||
|
})(options)
|
||||||
|
|
||||||
const referenceCell =
|
const referenceCell =
|
||||||
'referenceCell' in parsedOptions && parsedOptions.referenceCell
|
'referenceCell' in parsedOptions && parsedOptions.referenceCell
|
||||||
|
@ -226,7 +226,8 @@ export const parseInput =
|
|||||||
}
|
}
|
||||||
case InputBlockType.NUMBER: {
|
case InputBlockType.NUMBER: {
|
||||||
const parsedBlock = deepParseVariables(
|
const parsedBlock = deepParseVariables(
|
||||||
state.typebotsQueue[0].typebot.variables
|
state.typebotsQueue[0].typebot.variables,
|
||||||
|
{ removeEmptyStrings: true }
|
||||||
)({
|
)({
|
||||||
...block,
|
...block,
|
||||||
prefilledValue: getPrefilledInputValue(
|
prefilledValue: getPrefilledInputValue(
|
||||||
@ -254,7 +255,8 @@ export const parseInput =
|
|||||||
}
|
}
|
||||||
case InputBlockType.RATING: {
|
case InputBlockType.RATING: {
|
||||||
const parsedBlock = deepParseVariables(
|
const parsedBlock = deepParseVariables(
|
||||||
state.typebotsQueue[0].typebot.variables
|
state.typebotsQueue[0].typebot.variables,
|
||||||
|
{ removeEmptyStrings: true }
|
||||||
)({
|
)({
|
||||||
...block,
|
...block,
|
||||||
prefilledValue: getPrefilledInputValue(
|
prefilledValue: getPrefilledInputValue(
|
||||||
@ -272,7 +274,9 @@ export const parseInput =
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
return deepParseVariables(state.typebotsQueue[0].typebot.variables)({
|
return deepParseVariables(state.typebotsQueue[0].typebot.variables, {
|
||||||
|
removeEmptyStrings: true,
|
||||||
|
})({
|
||||||
...block,
|
...block,
|
||||||
runtimeOptions: await computeRuntimeOptions(state)(block),
|
runtimeOptions: await computeRuntimeOptions(state)(block),
|
||||||
prefilledValue: getPrefilledInputValue(
|
prefilledValue: getPrefilledInputValue(
|
||||||
|
@ -118,7 +118,8 @@ export const executeForgedBlock = async (
|
|||||||
: undefined
|
: undefined
|
||||||
|
|
||||||
const parsedOptions = deepParseVariables(
|
const parsedOptions = deepParseVariables(
|
||||||
state.typebotsQueue[0].typebot.variables
|
state.typebotsQueue[0].typebot.variables,
|
||||||
|
{ removeEmptyStrings: true }
|
||||||
)(block.options)
|
)(block.options)
|
||||||
await action?.run?.server?.({
|
await action?.run?.server?.({
|
||||||
credentials: credentialsData ?? {},
|
credentials: credentialsData ?? {},
|
||||||
|
@ -55,7 +55,9 @@ export const parseBubbleBlock = (
|
|||||||
}
|
}
|
||||||
|
|
||||||
case BubbleBlockType.EMBED: {
|
case BubbleBlockType.EMBED: {
|
||||||
const message = deepParseVariables(variables)(block)
|
const message = deepParseVariables(variables, {
|
||||||
|
removeEmptyStrings: true,
|
||||||
|
})(block)
|
||||||
return {
|
return {
|
||||||
...message,
|
...message,
|
||||||
content: {
|
content: {
|
||||||
@ -69,7 +71,9 @@ export const parseBubbleBlock = (
|
|||||||
}
|
}
|
||||||
case BubbleBlockType.VIDEO: {
|
case BubbleBlockType.VIDEO: {
|
||||||
const parsedContent = block.content
|
const parsedContent = block.content
|
||||||
? deepParseVariables(variables)(block.content)
|
? deepParseVariables(variables, { removeEmptyStrings: true })(
|
||||||
|
block.content
|
||||||
|
)
|
||||||
: undefined
|
: undefined
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@ -85,7 +89,7 @@ export const parseBubbleBlock = (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return deepParseVariables(variables)(block)
|
return deepParseVariables(variables, { removeEmptyStrings: true })(block)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,7 +154,8 @@ export const startSession = async ({
|
|||||||
typebot: {
|
typebot: {
|
||||||
id: typebot.id,
|
id: typebot.id,
|
||||||
settings: deepParseVariables(
|
settings: deepParseVariables(
|
||||||
initialState.typebotsQueue[0].typebot.variables
|
initialState.typebotsQueue[0].typebot.variables,
|
||||||
|
{ removeEmptyStrings: true }
|
||||||
)(typebot.settings),
|
)(typebot.settings),
|
||||||
theme: sanitizeAndParseTheme(typebot.theme, {
|
theme: sanitizeAndParseTheme(typebot.theme, {
|
||||||
variables: initialState.typebotsQueue[0].typebot.variables,
|
variables: initialState.typebotsQueue[0].typebot.variables,
|
||||||
@ -257,7 +258,8 @@ export const startSession = async ({
|
|||||||
typebot: {
|
typebot: {
|
||||||
id: typebot.id,
|
id: typebot.id,
|
||||||
settings: deepParseVariables(
|
settings: deepParseVariables(
|
||||||
newSessionState.typebotsQueue[0].typebot.variables
|
newSessionState.typebotsQueue[0].typebot.variables,
|
||||||
|
{ removeEmptyStrings: true }
|
||||||
)(typebot.settings),
|
)(typebot.settings),
|
||||||
theme: sanitizeAndParseTheme(typebot.theme, {
|
theme: sanitizeAndParseTheme(typebot.theme, {
|
||||||
variables: initialState.typebotsQueue[0].typebot.variables,
|
variables: initialState.typebotsQueue[0].typebot.variables,
|
||||||
@ -274,7 +276,8 @@ export const startSession = async ({
|
|||||||
typebot: {
|
typebot: {
|
||||||
id: typebot.id,
|
id: typebot.id,
|
||||||
settings: deepParseVariables(
|
settings: deepParseVariables(
|
||||||
newSessionState.typebotsQueue[0].typebot.variables
|
newSessionState.typebotsQueue[0].typebot.variables,
|
||||||
|
{ removeEmptyStrings: true }
|
||||||
)(typebot.settings),
|
)(typebot.settings),
|
||||||
theme: sanitizeAndParseTheme(typebot.theme, {
|
theme: sanitizeAndParseTheme(typebot.theme, {
|
||||||
variables: initialState.typebotsQueue[0].typebot.variables,
|
variables: initialState.typebotsQueue[0].typebot.variables,
|
||||||
@ -451,9 +454,11 @@ const sanitizeAndParseTheme = (
|
|||||||
{ variables }: { variables: Variable[] }
|
{ variables }: { variables: Variable[] }
|
||||||
): Theme => ({
|
): Theme => ({
|
||||||
general: theme.general
|
general: theme.general
|
||||||
? deepParseVariables(variables)(theme.general)
|
? deepParseVariables(variables, { removeEmptyStrings: true })(theme.general)
|
||||||
|
: undefined,
|
||||||
|
chat: theme.chat
|
||||||
|
? deepParseVariables(variables, { removeEmptyStrings: true })(theme.chat)
|
||||||
: undefined,
|
: undefined,
|
||||||
chat: theme.chat ? deepParseVariables(variables)(theme.chat) : undefined,
|
|
||||||
customCss: theme.customCss
|
customCss: theme.customCss
|
||||||
? removeLiteBadgeCss(parseVariables(variables)(theme.customCss))
|
? removeLiteBadgeCss(parseVariables(variables)(theme.customCss))
|
||||||
: undefined,
|
: undefined,
|
||||||
|
Reference in New Issue
Block a user