diff --git a/packages/backend/src/apps/formatter/actions/text/index.js b/packages/backend/src/apps/formatter/actions/text/index.js index f1ab7feb..2c059289 100644 --- a/packages/backend/src/apps/formatter/actions/text/index.js +++ b/packages/backend/src/apps/formatter/actions/text/index.js @@ -2,6 +2,7 @@ import defineAction from '../../../../helpers/define-action.js'; import base64ToString from './transformers/base64-to-string.js'; import capitalize from './transformers/capitalize.js'; +import encodeUriComponent from './transformers/encode-uri-component.js'; import extractEmailAddress from './transformers/extract-email-address.js'; import extractNumber from './transformers/extract-number.js'; import htmlToMarkdown from './transformers/html-to-markdown.js'; @@ -17,6 +18,7 @@ import useDefaultValue from './transformers/use-default-value.js'; const transformers = { base64ToString, capitalize, + encodeUriComponent, extractEmailAddress, extractNumber, htmlToMarkdown, @@ -45,6 +47,10 @@ export default defineAction({ options: [ { label: 'Base64 to String', value: 'base64ToString' }, { label: 'Capitalize', value: 'capitalize' }, + { + label: 'Encode URI Component', + value: 'encodeUriComponent', + }, { label: 'Convert HTML to Markdown', value: 'htmlToMarkdown' }, { label: 'Convert Markdown to HTML', value: 'markdownToHtml' }, { label: 'Extract Email Address', value: 'extractEmailAddress' }, diff --git a/packages/backend/src/apps/formatter/actions/text/transformers/encode-uri-component.js b/packages/backend/src/apps/formatter/actions/text/transformers/encode-uri-component.js new file mode 100644 index 00000000..8d211fc5 --- /dev/null +++ b/packages/backend/src/apps/formatter/actions/text/transformers/encode-uri-component.js @@ -0,0 +1,8 @@ +const encodeUriComponent = ($) => { + const input = $.step.parameters.input; + const encodedString = encodeURIComponent(input); + + return encodedString; +}; + +export default encodeUriComponent; 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 63ff54b5..bb38179f 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 @@ -1,5 +1,6 @@ import base64ToString from './text/base64-to-string.js'; import capitalize from './text/capitalize.js'; +import encodeUriComponent from './text/encode-uri-component.js'; import extractEmailAddress from './text/extract-email-address.js'; import extractNumber from './text/extract-number.js'; import htmlToMarkdown from './text/html-to-markdown.js'; @@ -20,6 +21,7 @@ import formatDateTime from './date-time/format-date-time.js'; const options = { base64ToString, capitalize, + encodeUriComponent, extractEmailAddress, extractNumber, htmlToMarkdown, diff --git a/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/text/encode-uri-component.js b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/text/encode-uri-component.js new file mode 100644 index 00000000..3d6a1833 --- /dev/null +++ b/packages/backend/src/apps/formatter/dynamic-fields/list-transform-options/text/encode-uri-component.js @@ -0,0 +1,12 @@ +const encodeUriComponent = [ + { + label: 'Input', + key: 'input', + type: 'string', + required: true, + description: 'URI Component to encode', + variables: true, + }, +]; + +export default encodeUriComponent; 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 index ef19f943..6ee02fc6 100644 --- 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 @@ -4,7 +4,7 @@ const encodeUri = [ key: 'input', type: 'string', required: true, - description: 'Encode the URI.', + description: 'URI to encode', variables: true, }, ];