- {data.node!.template[templateField].show &&
- !data.node!.template[templateField].advanced ? (
+ {data.node!.template[templateField]?.show &&
+ !data.node!.template[templateField]?.advanced ? (
{" "}
diff --git a/src/frontend/src/CustomNodes/helpers/count-handles.ts b/src/frontend/src/CustomNodes/helpers/count-handles.ts
index ebfbfe01b..a7c8697ce 100644
--- a/src/frontend/src/CustomNodes/helpers/count-handles.ts
+++ b/src/frontend/src/CustomNodes/helpers/count-handles.ts
@@ -5,9 +5,9 @@ export function countHandlesFn(data: NodeDataType): number {
.filter((templateField) => templateField.charAt(0) !== "_")
.map((templateCamp) => {
const { template } = data.node!;
- if (template[templateCamp].input_types) return true;
- if (!template[templateCamp].show) return false;
- switch (template[templateCamp].type) {
+ if (template[templateCamp]?.input_types) return true;
+ if (!template[templateCamp]?.show) return false;
+ switch (template[templateCamp]?.type) {
case "str":
case "bool":
case "float":
diff --git a/src/frontend/src/modals/apiModal/utils/get-nodes-with-default-value.ts b/src/frontend/src/modals/apiModal/utils/get-nodes-with-default-value.ts
index fb30a57a1..657526dda 100644
--- a/src/frontend/src/modals/apiModal/utils/get-nodes-with-default-value.ts
+++ b/src/frontend/src/modals/apiModal/utils/get-nodes-with-default-value.ts
@@ -11,10 +11,10 @@ export const getNodesWithDefaultValue = (flow) => {
.filter(
(templateField) =>
templateField.charAt(0) !== "_" &&
- node.data.node.template[templateField].show &&
+ node.data.node.template[templateField]?.show &&
LANGFLOW_SUPPORTED_TYPES.has(
- node.data.node.template[templateField].type,
- ),
+ node.data.node.template[templateField]?.type
+ )
)
.map((n, i) => {
arrNodesWithValues.push(node["id"]);
diff --git a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx
index 1d0716d83..d61a114ed 100644
--- a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx
+++ b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx
@@ -57,17 +57,17 @@ export default function NodeToolbarComponent({
const nodeLength = Object.keys(data.node!.template).filter(
(templateField) =>
templateField.charAt(0) !== "_" &&
- data.node?.template[templateField].show &&
- (data.node.template[templateField].type === "str" ||
- data.node.template[templateField].type === "bool" ||
- data.node.template[templateField].type === "float" ||
- data.node.template[templateField].type === "code" ||
- data.node.template[templateField].type === "prompt" ||
- data.node.template[templateField].type === "file" ||
- data.node.template[templateField].type === "Any" ||
- data.node.template[templateField].type === "int" ||
- data.node.template[templateField].type === "dict" ||
- data.node.template[templateField].type === "NestedDict")
+ data.node?.template[templateField]?.show &&
+ (data.node.template[templateField]?.type === "str" ||
+ data.node.template[templateField]?.type === "bool" ||
+ data.node.template[templateField]?.type === "float" ||
+ data.node.template[templateField]?.type === "code" ||
+ data.node.template[templateField]?.type === "prompt" ||
+ data.node.template[templateField]?.type === "file" ||
+ data.node.template[templateField]?.type === "Any" ||
+ data.node.template[templateField]?.type === "int" ||
+ data.node.template[templateField]?.type === "dict" ||
+ data.node.template[templateField]?.type === "NestedDict")
).length;
const hasStore = useStoreStore((state) => state.hasStore);
diff --git a/src/frontend/src/utils/utils.ts b/src/frontend/src/utils/utils.ts
index 5d99927a5..5a1f6621f 100644
--- a/src/frontend/src/utils/utils.ts
+++ b/src/frontend/src/utils/utils.ts
@@ -56,7 +56,7 @@ export function normalCaseToSnakeCase(str: string): string {
export function toTitleCase(
str: string | undefined,
- isNodeField?: boolean,
+ isNodeField?: boolean
): string {
if (!str) return "";
let result = str
@@ -65,7 +65,7 @@ export function toTitleCase(
if (isNodeField) return word;
if (index === 0) {
return checkUpperWords(
- word[0].toUpperCase() + word.slice(1).toLowerCase(),
+ word[0].toUpperCase() + word.slice(1).toLowerCase()
);
}
return checkUpperWords(word.toLowerCase());
@@ -78,7 +78,7 @@ export function toTitleCase(
if (isNodeField) return word;
if (index === 0) {
return checkUpperWords(
- word[0].toUpperCase() + word.slice(1).toLowerCase(),
+ word[0].toUpperCase() + word.slice(1).toLowerCase()
);
}
return checkUpperWords(word.toLowerCase());
@@ -182,7 +182,7 @@ export function checkLocalStorageKey(key: string): boolean {
export function IncrementObjectKey(
object: object,
- key: string,
+ key: string
): { newKey: string; increment: number } {
let count = 1;
const type = removeCountFromString(key);
@@ -217,7 +217,7 @@ export function groupByFamily(
data: APIDataType,
baseClasses: string,
left: boolean,
- flow?: NodeType[],
+ flow?: NodeType[]
): groupedObjType[] {
const baseClassesSet = new Set(baseClasses.split("\n"));
let arrOfPossibleInputs: Array<{
@@ -237,13 +237,13 @@ export function groupByFamily(
const checkBaseClass = (template: TemplateVariableType) => {
return (
- template.type &&
- template.show &&
+ template?.type &&
+ template?.show &&
((!excludeTypes.has(template.type) &&
baseClassesSet.has(template.type)) ||
- (template.input_types &&
- template.input_types.some((inputType) =>
- baseClassesSet.has(inputType),
+ (template?.input_types &&
+ template?.input_types.some((inputType) =>
+ baseClassesSet.has(inputType)
)))
);
};
@@ -263,7 +263,7 @@ export function groupByFamily(
hasBaseClassInBaseClasses:
foundNode?.hasBaseClassInBaseClasses ||
nodeData.node!.base_classes.some((baseClass) =>
- baseClassesSet.has(baseClass),
+ baseClassesSet.has(baseClass)
), //seta como anterior ou verifica se o node tem base class
displayName: nodeData.node?.display_name,
});
@@ -280,10 +280,10 @@ export function groupByFamily(
if (!foundNode) {
foundNode = {
hasBaseClassInTemplate: Object.values(node!.template).some(
- checkBaseClass,
+ checkBaseClass
),
hasBaseClassInBaseClasses: node!.base_classes.some((baseClass) =>
- baseClassesSet.has(baseClass),
+ baseClassesSet.has(baseClass)
),
displayName: node?.display_name,
};
@@ -355,7 +355,7 @@ export function isTimeStampString(str: string): boolean {
export function extractColumnsFromRows(
rows: object[],
mode: "intersection" | "union",
- excludeColumns?: Array,
+ excludeColumns?: Array
): (ColDef | ColGroupDef)[] {
let columnsKeys: { [key: string]: ColDef | ColGroupDef } = {};
if (rows.length === 0) {