## Description - Enabled the rule `@typescript-eslint/no-explicit-any` - Suppressed errors with comment ``` // TODO: Fix this the next time the file is edited // eslint-disable-next-line @typescript-eslint/no-explicit-any ``` Fixes #35308 ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/10181176984> > Commit: 7fc604e24fa234da7ab2ff56e0b1c715268796ee > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10181176984&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Wed, 31 Jul 2024 15:00:45 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import _ from "lodash";
|
|
|
|
export function getQueryParams() {
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
const keys = urlParams.keys();
|
|
let key = keys.next().value;
|
|
const queryParams: Record<string, string> = {};
|
|
while (key) {
|
|
queryParams[key] = urlParams.get(key) as string;
|
|
key = keys.next().value;
|
|
}
|
|
return queryParams;
|
|
}
|
|
|
|
// TODO: Fix this the next time the file is edited
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
export function convertObjectToQueryParams(object: any): string {
|
|
if (!_.isNil(object)) {
|
|
const paramArray: string[] = _.map(_.keys(object), (key) => {
|
|
return encodeURIComponent(key) + "=" + encodeURIComponent(object[key]);
|
|
});
|
|
return "?" + _.join(paramArray, "&");
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
export function isValidURL(url: string): boolean {
|
|
try {
|
|
new URL(url);
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
export function matchesURLPattern(url: string) {
|
|
return (
|
|
url.match(
|
|
/\(?(?:(http|https|ftp|mailto|tel):\/\/)?(?:((?:[^\W\s]|\.|-|[:]{1})+)@{1})?((?:www.)?(?:[^\W\s]|\.|-)+[\.][^\W\s]{2,4}|localhost(?=\/)|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?::(\d*))?([\/]?[^\s\?]*[\/]{1})*(?:\/?([^\s\n\?\[\]\{\}\#]*(?:(?=\.)){1}|[^\s\n\?\[\]\{\}\.\#]*)?([\.]{1}[^\s\?\#]*)?)?(?:\?{1}([^\s\n\#\[\]]*))?([\#][^\s\n]*)?\)?/g,
|
|
) !== null
|
|
);
|
|
}
|
|
|
|
export const sanitizeString = (str: string): string => {
|
|
return str.toLowerCase().replace(/[^a-z0-9]/g, "_");
|
|
};
|