# Introduction Added a no-explicit-any rule to the twenty-server, not applicable to tests and integration tests folder Related to https://github.com/twentyhq/core-team-issues/issues/975 Discussed with Charles ## In case of conflicts Until this is approved I won't rebased and handle conflict, just need to drop two latest commits and re run the scripts etc ## Legacy We decided not to handle the existing lint error occurrences and programmatically ignored them through a disable next line rule comment ## Open question We might wanna activate the [no-explicit-any](https://typescript-eslint.io/rules/no-explicit-any/) `ignoreRestArgs` for our use case ? ``` ignoreRestArgs?: boolean; ``` --------- Co-authored-by: etiennejouan <jouan.etienne@gmail.com>
16 lines
357 B
TypeScript
16 lines
357 B
TypeScript
import { isDefined } from 'twenty-shared/utils';
|
|
export const isArgDefinedIfProvidedOrThrow = ({
|
|
input,
|
|
key,
|
|
value,
|
|
}: {
|
|
input: object;
|
|
key: string;
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
value: any;
|
|
}) => {
|
|
if (key in input && !isDefined(value)) {
|
|
throw new Error(`${key} must be defined when provided`);
|
|
}
|
|
};
|