diff --git a/packages/backend/src/apps/formatter/actions/text/index.ts b/packages/backend/src/apps/formatter/actions/text/index.ts index 9653c6e8..444b5b33 100644 --- a/packages/backend/src/apps/formatter/actions/text/index.ts +++ b/packages/backend/src/apps/formatter/actions/text/index.ts @@ -5,6 +5,7 @@ import markdownToHtml from './transformers/markdown-to-html'; import useDefaultValue from './transformers/use-default-value'; import extractEmailAddress from './transformers/extract-email-address'; import extractNumber from './transformers/extract-number'; +import lowercase from './transformers/lowercase'; const transformers = { capitalize, @@ -13,6 +14,7 @@ const transformers = { useDefaultValue, extractEmailAddress, extractNumber, + lowercase, }; export default defineAction({ @@ -35,6 +37,7 @@ export default defineAction({ { label: 'Use Default Value', value: 'useDefaultValue' }, { label: 'Extract Email Address', value: 'extractEmailAddress' }, { label: 'Extract Number', value: 'extractNumber' }, + { label: 'Lowercase', value: 'lowercase' }, ], additionalFields: { type: 'query', diff --git a/packages/backend/src/apps/formatter/actions/text/transformers/lowercase.ts b/packages/backend/src/apps/formatter/actions/text/transformers/lowercase.ts new file mode 100644 index 00000000..e01c1020 --- /dev/null +++ b/packages/backend/src/apps/formatter/actions/text/transformers/lowercase.ts @@ -0,0 +1,8 @@ +import { IGlobalVariable } from '@automatisch/types'; + +const lowercase = ($: IGlobalVariable) => { + const input = $.step.parameters.input as string; + return input.toLowerCase(); +}; + +export default lowercase; 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 68adbdd5..cd52a266 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 @@ -5,6 +5,7 @@ import markdownToHtml from './options/markdown-to-html'; import useDefaultValue from './options/use-default-value'; import extractEmailAddress from './options/extract-email-address'; import extractNumber from './options/extract-number'; +import lowercase from './options/lowercase'; const options: IJSONObject = { capitalize, @@ -13,6 +14,7 @@ const options: IJSONObject = { useDefaultValue, extractEmailAddress, extractNumber, + lowercase, }; export default { diff --git a/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/options/lowercase.ts b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/options/lowercase.ts new file mode 100644 index 00000000..a3158bf4 --- /dev/null +++ b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/options/lowercase.ts @@ -0,0 +1,12 @@ +const lowercase = [ + { + label: 'Input', + key: 'input', + type: 'string' as const, + required: true, + description: 'Text that will be lowercased.', + variables: true, + }, +]; + +export default lowercase;