diff --git a/packages/backend/src/apps/formatter/actions/text/index.ts b/packages/backend/src/apps/formatter/actions/text/index.ts index fe1d053f..6c067d02 100644 --- a/packages/backend/src/apps/formatter/actions/text/index.ts +++ b/packages/backend/src/apps/formatter/actions/text/index.ts @@ -7,6 +7,7 @@ import extractEmailAddress from './transformers/extract-email-address'; import extractNumber from './transformers/extract-number'; import lowercase from './transformers/lowercase'; import pluralize from './transformers/pluralize'; +import trimWhitespace from './transformers/trim-whitespace'; const transformers = { capitalize, @@ -17,6 +18,7 @@ const transformers = { extractNumber, lowercase, pluralize, + trimWhitespace, }; export default defineAction({ @@ -41,6 +43,7 @@ export default defineAction({ { label: 'Extract Number', value: 'extractNumber' }, { label: 'Lowercase', value: 'lowercase' }, { label: 'Pluralize', value: 'pluralize' }, + { label: 'Trim Whitespace', value: 'trimWhitespace' }, ], additionalFields: { type: 'query', diff --git a/packages/backend/src/apps/formatter/actions/text/transformers/trim-whitespace.ts b/packages/backend/src/apps/formatter/actions/text/transformers/trim-whitespace.ts new file mode 100644 index 00000000..71b69835 --- /dev/null +++ b/packages/backend/src/apps/formatter/actions/text/transformers/trim-whitespace.ts @@ -0,0 +1,8 @@ +import { IGlobalVariable } from '@automatisch/types'; + +const trimWhitespace = ($: IGlobalVariable) => { + const input = $.step.parameters.input as string; + return input.trim(); +}; + +export default trimWhitespace; diff --git a/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/index.ts b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/index.ts index b4f22751..2359fa5a 100644 --- a/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/index.ts +++ b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/index.ts @@ -7,6 +7,7 @@ import extractEmailAddress from './options/extract-email-address'; import extractNumber from './options/extract-number'; import lowercase from './options/lowercase'; import pluralize from './options/pluralize'; +import trimWhitespace from './options/trim-whitespace'; const options: IJSONObject = { capitalize, @@ -17,6 +18,7 @@ const options: IJSONObject = { extractNumber, lowercase, pluralize, + trimWhitespace, }; export default { diff --git a/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/options/trim-whitespace.ts b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/options/trim-whitespace.ts new file mode 100644 index 00000000..3967320b --- /dev/null +++ b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/options/trim-whitespace.ts @@ -0,0 +1,12 @@ +const trimWhitespace = [ + { + label: 'Input', + key: 'input', + type: 'string' as const, + required: true, + description: 'Text you want to remove leading and trailing spaces.', + variables: true, + }, +]; + +export default trimWhitespace;