diff --git a/packages/backend/src/apps/formatter/actions/text/index.js b/packages/backend/src/apps/formatter/actions/text/index.js index d3f0980a..f1ab7feb 100644 --- a/packages/backend/src/apps/formatter/actions/text/index.js +++ b/packages/backend/src/apps/formatter/actions/text/index.js @@ -10,6 +10,7 @@ import markdownToHtml from './transformers/markdown-to-html.js'; import pluralize from './transformers/pluralize.js'; import replace from './transformers/replace.js'; import stringToBase64 from './transformers/string-to-base64.js'; +import encodeUri from './transformers/encode-uri.js'; import trimWhitespace from './transformers/trim-whitespace.js'; import useDefaultValue from './transformers/use-default-value.js'; @@ -24,6 +25,7 @@ const transformers = { pluralize, replace, stringToBase64, + encodeUri, trimWhitespace, useDefaultValue, }; @@ -51,6 +53,7 @@ export default defineAction({ { label: 'Pluralize', value: 'pluralize' }, { label: 'Replace', value: 'replace' }, { label: 'String to Base64', value: 'stringToBase64' }, + { label: 'Encode URI', value: 'encodeUri' }, { label: 'Trim Whitespace', value: 'trimWhitespace' }, { label: 'Use Default Value', value: 'useDefaultValue' }, ], diff --git a/packages/backend/src/apps/formatter/actions/text/transformers/encode-uri.js b/packages/backend/src/apps/formatter/actions/text/transformers/encode-uri.js new file mode 100644 index 00000000..06333001 --- /dev/null +++ b/packages/backend/src/apps/formatter/actions/text/transformers/encode-uri.js @@ -0,0 +1,8 @@ +const encodeUri = ($) => { + const input = $.step.parameters.input; + const encodedString = encodeURI(input); + + return encodedString; +}; + +export default encodeUri; diff --git a/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/index.js b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/index.js index f4aab425..63ff54b5 100644 --- a/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/index.js +++ b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/index.js @@ -8,6 +8,7 @@ import markdownToHtml from './text/markdown-to-html.js'; import pluralize from './text/pluralize.js'; import replace from './text/replace.js'; import stringToBase64 from './text/string-to-base64.js'; +import encodeUri from './text/encode-uri.js'; import trimWhitespace from './text/trim-whitespace.js'; import useDefaultValue from './text/use-default-value.js'; import performMathOperation from './numbers/perform-math-operation.js'; @@ -27,6 +28,7 @@ const options = { pluralize, replace, stringToBase64, + encodeUri, trimWhitespace, useDefaultValue, performMathOperation, diff --git a/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/text/encode-uri.js b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/text/encode-uri.js new file mode 100644 index 00000000..ef19f943 --- /dev/null +++ b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/text/encode-uri.js @@ -0,0 +1,12 @@ +const encodeUri = [ + { + label: 'Input', + key: 'input', + type: 'string', + required: true, + description: 'Encode the URI.', + variables: true, + }, +]; + +export default encodeUri;