From d7990abdd0362acf72a701769d98a18cb104caa7 Mon Sep 17 00:00:00 2001 From: Izzy Deane Date: Wed, 11 Sep 2024 15:08:24 -0500 Subject: [PATCH 1/2] Created `fileName` replace variable --- .../variables/builtin/utility/file-name.ts | 30 +++++++++++++++++++ .../variables/builtin/utility/index.ts | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 src/backend/variables/builtin/utility/file-name.ts diff --git a/src/backend/variables/builtin/utility/file-name.ts b/src/backend/variables/builtin/utility/file-name.ts new file mode 100644 index 000000000..b5bf84bb1 --- /dev/null +++ b/src/backend/variables/builtin/utility/file-name.ts @@ -0,0 +1,30 @@ +import { ReplaceVariable, Trigger } from "../../../../types/variables"; +import { OutputDataType, VariableCategory } from "../../../../shared/variable-constants"; +import { basename } from "path"; + +const model : ReplaceVariable = { + definition: { + handle: "fileName", + usage: 'fileName[path\\to\\file.txt]', + description: "Returns name of file without extension.", + categories: [VariableCategory.ADVANCED], + possibleDataOutput: [OutputDataType.TEXT] + }, + evaluator: ( + trigger: Trigger, + filePath?: string + ) : string => { + if (!filePath) { + return ""; + } + + try { + return basename(filePath); + } catch (err) { + // Probably a directory or invalid filename + return "[Invalid File Path]"; + } + } +}; + +export default model; diff --git a/src/backend/variables/builtin/utility/index.ts b/src/backend/variables/builtin/utility/index.ts index b8b5aa668..82c5e0dfe 100644 --- a/src/backend/variables/builtin/utility/index.ts +++ b/src/backend/variables/builtin/utility/index.ts @@ -7,6 +7,7 @@ import evalJS from './eval-js'; import evalVars from './eval-vars'; import fileExists from './file-exists'; import fileLineCount from './file-line-count'; +import fileName from './file-name'; import fileRead from './file-read'; import filesInDirectory from './files-in-directory'; import getEffectQueueLength from "./get-effect-queue-length"; @@ -27,6 +28,7 @@ export default [ evalVars, fileExists, fileLineCount, + fileName, fileRead, filesInDirectory, getEffectQueueLength, From c6295877285cbb470bf7c797efead524ddaac91c Mon Sep 17 00:00:00 2001 From: Izzy Deane Date: Mon, 23 Sep 2024 12:54:49 -0500 Subject: [PATCH 2/2] Removed ext --- src/backend/variables/builtin/utility/file-name.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/variables/builtin/utility/file-name.ts b/src/backend/variables/builtin/utility/file-name.ts index b5bf84bb1..61aa29562 100644 --- a/src/backend/variables/builtin/utility/file-name.ts +++ b/src/backend/variables/builtin/utility/file-name.ts @@ -1,6 +1,6 @@ import { ReplaceVariable, Trigger } from "../../../../types/variables"; import { OutputDataType, VariableCategory } from "../../../../shared/variable-constants"; -import { basename } from "path"; +import { basename, extname } from "path"; const model : ReplaceVariable = { definition: { @@ -19,7 +19,7 @@ const model : ReplaceVariable = { } try { - return basename(filePath); + return basename(filePath, extname(filePath)); } catch (err) { // Probably a directory or invalid filename return "[Invalid File Path]";